Merge remote-tracking branch 'origin/feature/DM/nflg-bom' into feature/DM/nflg-bom
This commit is contained in:
commit
4ad663fe6f
|
|
@ -1,29 +1,277 @@
|
|||
package com.nflg.product.bomnew.service.domain.OptionalEBom;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.crypto.digest.MD5;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.nflg.product.base.core.conmon.util.SessionUtil;
|
||||
import com.nflg.product.base.core.exception.NflgBusinessException;
|
||||
import com.nflg.product.bomnew.constant.OptionalBomConstant;
|
||||
import com.nflg.product.bomnew.pojo.dto.AddVirtrualMaterialDTO;
|
||||
import com.nflg.product.bomnew.pojo.dto.OptionalEbomPublishAddDTO;
|
||||
import com.nflg.product.bomnew.pojo.entity.OptionalEbomMainEntity;
|
||||
import com.nflg.product.bomnew.pojo.entity.OptionalMbomCompareEntity;
|
||||
import com.nflg.product.bomnew.pojo.entity.OptionalMbomMaterialEntity;
|
||||
import com.nflg.product.bomnew.pojo.vo.OptionalEbomImportChildVO;
|
||||
import com.nflg.product.bomnew.service.OptionalEbomMainService;
|
||||
import com.nflg.product.bomnew.service.OptionalMbomCompareService;
|
||||
import com.nflg.product.bomnew.util.OrderNoUtil;
|
||||
import lombok.Getter;
|
||||
import nflg.product.common.constant.STATE;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class PublisMaterial {
|
||||
|
||||
private OptionalEbomPublishAddDTO publishAddDTO;
|
||||
public PublisMaterial(OptionalEbomPublishAddDTO dto){
|
||||
@Getter
|
||||
private List<OptionalMbomMaterialEntity> materialList ;
|
||||
|
||||
private Long deviceRowId;
|
||||
public PublisMaterial(OptionalEbomPublishAddDTO dto,Long deviceRowId){
|
||||
this.publishAddDTO=dto;
|
||||
materialList = new ArrayList<>();
|
||||
this.deviceRowId=deviceRowId;
|
||||
}
|
||||
|
||||
|
||||
OptionalMbomMaterialEntity genVirtualPackLevelSend1( List<AddVirtrualMaterialDTO> oaList){
|
||||
//21机型发货
|
||||
OptionalMbomMaterialEntity sendPack = new OptionalMbomMaterialEntity();
|
||||
String sendMaterialName = publishAddDTO.getGoodsDesc().concat("(发货)");
|
||||
sendPack.setRowId(IdWorker.getId());
|
||||
sendPack.setCreatedBy(SessionUtil.getUserCode());
|
||||
sendPack.setRealName(SessionUtil.getRealName());
|
||||
sendPack.setDeptName(SessionUtil.getDepartName());
|
||||
sendPack.setCreatedTime(DateUtil.now());
|
||||
sendPack.setMaterialName(sendMaterialName);
|
||||
sendPack.setMaterialDesc(sendMaterialName);
|
||||
sendPack.setDrawingNo(sendMaterialName);
|
||||
sendPack.setRootRowId(publishAddDTO.getRowId());
|
||||
sendPack.setMaterialNo("");//申请物料号
|
||||
sendPack.setCategoryType(OptionalBomConstant.CategoryTypeEnum.TYPE_1.getValue());
|
||||
|
||||
|
||||
|
||||
AddVirtrualMaterialDTO toM =new AddVirtrualMaterialDTO();
|
||||
String key=String.valueOf(sendPack.getRowId());
|
||||
toM.setKey(key);
|
||||
toM.setMaterialName(sendPack.getMaterialName() );
|
||||
toM.setDrawingNo(sendPack.getMaterialName() );
|
||||
toM.setMaterialDesc(sendPack.getMaterialName() );
|
||||
toM.setMaterialCategoryCode(OptionalBomConstant.PublishMaterialEnum.OTHER.getCategory());
|
||||
toM.setProjectType(OptionalBomConstant.PublishMaterialEnum.OTHER.getProjectType());
|
||||
|
||||
oaList.add(toM);
|
||||
|
||||
return sendPack;
|
||||
|
||||
}
|
||||
OptionalMbomMaterialEntity genVirtualPackLevelMake1(Long parentRowId,List<AddVirtrualMaterialDTO> oaList){
|
||||
//21机型制作
|
||||
OptionalMbomMaterialEntity makePack = new OptionalMbomMaterialEntity();
|
||||
String makeMaterialName = publishAddDTO.getGoodsDesc().concat("(制作)");
|
||||
makePack.setRowId(IdWorker.getId());
|
||||
makePack.setCreatedBy(SessionUtil.getUserCode());
|
||||
makePack.setRealName(SessionUtil.getRealName());
|
||||
makePack.setDeptName(SessionUtil.getDepartName());
|
||||
makePack.setMaterialName(makeMaterialName);
|
||||
makePack.setMaterialDesc(makeMaterialName);
|
||||
makePack.setDrawingNo(makeMaterialName);
|
||||
makePack.setParentRowId(parentRowId); //父级
|
||||
makePack.setRootRowId(publishAddDTO.getRowId());
|
||||
makePack.setCreatedTime(DateUtil.now());
|
||||
makePack.setMaterialNo("");//申请物料号
|
||||
makePack.setCategoryType(OptionalBomConstant.CategoryTypeEnum.TYPE_2.getValue());
|
||||
|
||||
AddVirtrualMaterialDTO toM =new AddVirtrualMaterialDTO();
|
||||
String key=String.valueOf(makePack.getRowId()) ;
|
||||
toM.setKey(key);
|
||||
toM.setMaterialName(makePack.getMaterialName());
|
||||
toM.setDrawingNo(makePack.getMaterialName());
|
||||
toM.setMaterialDesc(makePack.getMaterialName());
|
||||
toM.setMaterialCategoryCode(OptionalBomConstant.PublishMaterialEnum.OTHER.getCategory());
|
||||
toM.setProjectType(OptionalBomConstant.PublishMaterialEnum.OTHER.getProjectType());
|
||||
oaList.add(toM);
|
||||
return makePack;
|
||||
}
|
||||
|
||||
/**
|
||||
* 电控制作
|
||||
*/
|
||||
void genVirtualPackElectricLevelMake2(Long parentRowId,List<AddVirtrualMaterialDTO> oaList){
|
||||
OptionalMbomMaterialEntity makePack = new OptionalMbomMaterialEntity();
|
||||
String makeMaterialName = StrUtil.format("({})", publishAddDTO.getElectricDesc()).concat("(电控系统)").concat("(制作)");
|
||||
makePack.setRowId(IdWorker.getId());
|
||||
makePack.setParentRowId(parentRowId);
|
||||
makePack.setCreatedBy(SessionUtil.getUserCode());
|
||||
makePack .setRealName(SessionUtil.getRealName());
|
||||
makePack .setDeptName(SessionUtil.getDepartName());
|
||||
makePack.setCreatedTime(DateUtil.now());
|
||||
makePack.setMaterialName(makeMaterialName);
|
||||
makePack.setMaterialDesc(makeMaterialName);
|
||||
makePack.setDrawingNo(makeMaterialName);
|
||||
makePack.setRootRowId(publishAddDTO.getRowId());
|
||||
makePack.setMaterialNo("");//申请物料号
|
||||
makePack.setCategoryType(OptionalBomConstant.CategoryTypeEnum.TYPE_4.getValue());
|
||||
|
||||
AddVirtrualMaterialDTO toM =new AddVirtrualMaterialDTO();
|
||||
String key=String.valueOf(makePack.getRowId()) ;
|
||||
toM.setKey(key);
|
||||
toM.setMaterialName(makePack.getMaterialName());
|
||||
toM.setDrawingNo(makePack.getMaterialName());
|
||||
toM.setMaterialDesc(makePack.getMaterialName());
|
||||
toM.setMaterialCategoryCode(OptionalBomConstant.PublishMaterialEnum.OTHER.getCategory());
|
||||
toM.setProjectType(OptionalBomConstant.PublishMaterialEnum.OTHER.getProjectType());
|
||||
|
||||
oaList.add(toM);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 电控发货
|
||||
*/
|
||||
void genVirtualPackElectricLevelSend2(Long parentRowId,List<AddVirtrualMaterialDTO> oaList){
|
||||
|
||||
OptionalMbomMaterialEntity sendPack = new OptionalMbomMaterialEntity();
|
||||
String sendMaterialName = StrUtil.format("({})", publishAddDTO.getElectricDesc()).concat("(电控系统)").concat("(发货)");
|
||||
sendPack.setRowId(IdWorker.getId());
|
||||
sendPack.setParentRowId(parentRowId);
|
||||
sendPack.setCreatedBy(SessionUtil.getUserCode());
|
||||
sendPack .setRealName(SessionUtil.getRealName());
|
||||
sendPack.setDeptName(SessionUtil.getDepartName());
|
||||
sendPack.setCreatedTime(DateUtil.now());
|
||||
sendPack.setMaterialName(sendMaterialName);
|
||||
sendPack.setMaterialDesc(sendMaterialName);
|
||||
sendPack.setDrawingNo(sendMaterialName);
|
||||
sendPack.setRootRowId(publishAddDTO.getRowId());
|
||||
sendPack.setMaterialNo("");//申请物料号
|
||||
sendPack.setCategoryType(OptionalBomConstant.CategoryTypeEnum.TYPE_3.getValue());
|
||||
|
||||
AddVirtrualMaterialDTO toM =new AddVirtrualMaterialDTO();
|
||||
String key=String.valueOf(sendPack.getRowId()) ;
|
||||
toM.setKey(key);
|
||||
toM.setMaterialName(sendPack.getMaterialName());
|
||||
toM.setDrawingNo(sendPack.getMaterialName());
|
||||
toM.setMaterialDesc(sendPack.getMaterialName());
|
||||
toM.setMaterialCategoryCode(OptionalBomConstant.PublishMaterialEnum.OTHER.getCategory());
|
||||
toM.setProjectType(OptionalBomConstant.PublishMaterialEnum.OTHER.getProjectType());
|
||||
oaList.add(toM);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void genVirtualPackMachineLevel2(Long parentRowId , List<OptionalEbomImportChildVO> optionList,List<AddVirtrualMaterialDTO> oaList){
|
||||
// List<Long> materialNoList = optionList.stream().filter(u-> u.getPartType().equals(OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue()) ).map(OptionalEbomImportChildVO::getMaterialNo).map(Long::parseLong).collect(Collectors.toList());
|
||||
// Collections.sort(materialNoList);
|
||||
// String result = materialNoList.stream().map(String::valueOf).collect(Collectors.joining(","));
|
||||
//
|
||||
// String signMd5 = MD5.create().digestHex(result);
|
||||
// QueryWrapper<OptionalMbomCompareEntity> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.lambda().eq(OptionalMbomCompareEntity::getSignMd5, signMd5);
|
||||
// OptionalMbomCompareEntity optionalMbomCompareEntity= SpringUtil.getBean(OptionalMbomCompareService.class).getOne(queryWrapper);
|
||||
// OptionalMbomMaterialEntity material;
|
||||
// if (optionalMbomCompareEntity == null) {
|
||||
// material = new OptionalMbomMaterialEntity();
|
||||
// OptionalEbomMainEntity desc= SpringUtil.getBean(OptionalEbomMainService.class).getById(deviceRowId);
|
||||
//
|
||||
// //物料名称和物料描述=机型+流水号+NF(机械部分)
|
||||
// //图号=机型+流水号+NF
|
||||
// String drawingNo =StrUtil.format("{}-{}",desc.getDeviceNo(), OrderNoUtil.orderNo2Str(desc.getSerialNo())).concat("-NF");
|
||||
// String materialName=drawingNo.concat("(机械部分)");
|
||||
// material.setRowId(IdWorker.getId());
|
||||
//
|
||||
// material.setParentRowId(parentRowId);
|
||||
// material.setRootRowId(publishAddDTO.getRowId());
|
||||
// material.setCreatedBy(SessionUtil.getUserCode());
|
||||
// material.setRealName(SessionUtil.getRealName());
|
||||
// material.setDeptName(SessionUtil.getDepartName());
|
||||
// material.setCreatedTime(DateUtil.now());
|
||||
// material.setMaterialName(materialName);
|
||||
// material.setMaterialDesc(materialName);
|
||||
// material.setDrawingNo(drawingNo);
|
||||
// material.setMaterialNo("");//申请物料号
|
||||
// material.setCategoryType(OptionalBomConstant.CategoryTypeEnum.TYPE_5.getValue());
|
||||
//
|
||||
//
|
||||
// AddVirtrualMaterialDTO toM =new AddVirtrualMaterialDTO();
|
||||
// String key=String.valueOf(material.getRowId()) ;
|
||||
// toM.setKey(key);
|
||||
// toM.setMaterialName(material.getMaterialName());
|
||||
// toM.setDrawingNo(drawingNo);
|
||||
// toM.setMaterialDesc(material.getMaterialName());
|
||||
// toM.setMaterialCategoryCode(OptionalBomConstant.PublishMaterialEnum.MACHINE.getCategory());
|
||||
// toM.setProjectType(OptionalBomConstant.PublishMaterialEnum.MACHINE.getProjectType());
|
||||
// oaList.add(toM);
|
||||
//
|
||||
//
|
||||
//
|
||||
// try {
|
||||
// //数据不存在保存
|
||||
// if (StrUtil.isNotEmpty(material.getMaterialNo())) {
|
||||
// optionalMbomCompareEntity = Convert.convert(new TypeReference<OptionalMbomCompareEntity>() {
|
||||
// }, material);
|
||||
// optionalMbomCompareEntity.setParentRowId(rootRowId);
|
||||
// optionalMbomCompareEntity.setSignMd5(signMd5);
|
||||
// optionalMbomCompareEntity.setCreatedTime(DateUtil.now());
|
||||
// optionalMbomCompareEntity.setChildRowIds(result);
|
||||
// optionalMbomCompareService.save(optionalMbomCompareEntity);
|
||||
//
|
||||
// //更新序列号
|
||||
// OptionalEbomMainEntity updateDevice=new OptionalEbomMainEntity();
|
||||
// updateDevice.setRowId(desc.getRowId());
|
||||
// updateDevice.setSerialNo(desc.getSerialNo()+1);
|
||||
// SpringUtil.getBean(OptionalEbomMainService.class).updateById(updateDevice);
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// } else { //同物料号
|
||||
// material = Convert.convert(new TypeReference<OptionalMbomMaterialEntity>() {
|
||||
// }, optionalMbomCompareEntity);
|
||||
// material.setRowId(IdWorker.getId());
|
||||
// material.setParentRowId(parentRowId);
|
||||
// material.setRootRowId(publishAddDTO.getRowId());
|
||||
// material.setCreatedBy(SessionUtil.getUserCode());
|
||||
// material.setRealName(SessionUtil.getRealName());
|
||||
// material.setDeptName(SessionUtil.getDepartName());
|
||||
// material.setCategoryType(OptionalBomConstant.CategoryTypeEnum.TYPE_5.getValue());
|
||||
// material.setCreatedTime(DateUtil.now());
|
||||
// }
|
||||
//
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public List<OptionalMbomMaterialEntity> buildMaterialList( List<OptionalEbomImportChildVO> optionList ){
|
||||
|
||||
List<OptionalMbomMaterialEntity> materialList = new ArrayList<>();
|
||||
|
||||
|
||||
List<AddVirtrualMaterialDTO> oaList=new ArrayList<>();
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue