|
|
|
|
@ -52,6 +52,7 @@ import org.springblade.desk.order.service.IYieldOrderService; |
|
|
|
|
import org.springblade.desk.produce.mapper.WorkOrderMapper; |
|
|
|
|
import org.springblade.desk.produce.pojo.entity.WorkOrder; |
|
|
|
|
import org.springblade.erpdata.feign.IErpYieldOrderClient; |
|
|
|
|
import org.springblade.scheduling.pojo.entity.PartRelationEntity; |
|
|
|
|
import org.springblade.scheduling.pojo.entity.QualityGradeEntity; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
@ -562,33 +563,36 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
List<DsPartEntity> subPartList = dsPartService.getPartSubList(yieldOrder.getPartCode(), yieldOrder.getPartVersion()); |
|
|
|
|
if (CollectionUtils.isNotEmpty(subPartList)) { |
|
|
|
|
for (DsPartEntity subPart : subPartList) { |
|
|
|
|
if (DsPartConstant.SIN_TER_TYPE_SMM == subPart.getSinTerType() && subPart.getQuota() != 0) { |
|
|
|
|
MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode, subPart.getPartCode()).eq(MoldDemand::getMafStatus, MoldDemandEnum.MAF_STATUS_CREATE.getCode())); |
|
|
|
|
if (moldDemand == null) { |
|
|
|
|
moldDemand = new MoldDemand(); |
|
|
|
|
moldDemand.setMoCode(null); |
|
|
|
|
moldDemand.setPartCode(yieldOrder.getPartCode()); |
|
|
|
|
moldDemand.setPartName(yieldOrder.getPartName()); |
|
|
|
|
moldDemand.setToolCode(subPart.getPartCode()); |
|
|
|
|
moldDemand.setToolName(subPart.getPartName()); |
|
|
|
|
moldDemand.setDemandNum(subPart.getQuota() * yieldOrder.getYpQty()); |
|
|
|
|
moldDemand.setLinkOrderIds(yieldOrder.getId().toString()); |
|
|
|
|
DsPartRelationEntity partRelation = partRelationService.selectByPartCodeAndSubCode(yieldOrder.getPartCode(), subPart.getPartCode()); |
|
|
|
|
if(null != partRelation){ |
|
|
|
|
if (DsPartConstant.SIN_TER_TYPE_SMM == subPart.getSinTerType() && partRelation.getQuota() != 0) { |
|
|
|
|
MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode, subPart.getPartCode()).eq(MoldDemand::getMafStatus, MoldDemandEnum.MAF_STATUS_CREATE.getCode())); |
|
|
|
|
if (moldDemand == null) { |
|
|
|
|
moldDemand = new MoldDemand(); |
|
|
|
|
moldDemand.setMoCode(null); |
|
|
|
|
moldDemand.setPartCode(yieldOrder.getPartCode()); |
|
|
|
|
moldDemand.setPartName(yieldOrder.getPartName()); |
|
|
|
|
moldDemand.setToolCode(subPart.getPartCode()); |
|
|
|
|
moldDemand.setToolName(subPart.getPartName()); |
|
|
|
|
moldDemand.setDemandNum(partRelation.getQuota() * yieldOrder.getYpQty()); |
|
|
|
|
moldDemand.setLinkOrderIds(yieldOrder.getId().toString()); |
|
|
|
|
// moldDemand.setStatus(MoldDemandEnum.STATUS_WAITING.getCode());
|
|
|
|
|
moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode()); |
|
|
|
|
moldDemand.setMafType(MoldDemandEnum.MAF_TYPE_RB.getCode()); |
|
|
|
|
moldDemand.setNeedDate(yieldOrder.getDemandDate()); |
|
|
|
|
moldDemand.setQuaLevel(yieldOrder.getProductIdent()); |
|
|
|
|
moldDemand.setMdCode(generateMdCode()); |
|
|
|
|
moldDemand.setIsDeleted(0); |
|
|
|
|
moldDemandMapper.insert(moldDemand); |
|
|
|
|
} else { |
|
|
|
|
moldDemand.setDemandNum(moldDemand.getDemandNum() + subPart.getQuota() * yieldOrder.getYpQty()); |
|
|
|
|
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString())); |
|
|
|
|
moldDemandMapper.updateById(moldDemand); |
|
|
|
|
} |
|
|
|
|
yieldOrder.setToolsDemand(BigDecimal.valueOf(moldDemand.getDemandNum())); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode()); |
|
|
|
|
moldDemand.setMafType(MoldDemandEnum.MAF_TYPE_RB.getCode()); |
|
|
|
|
moldDemand.setNeedDate(yieldOrder.getDemandDate()); |
|
|
|
|
moldDemand.setQuaLevel(yieldOrder.getProductIdent()); |
|
|
|
|
moldDemand.setMdCode(generateMdCode()); |
|
|
|
|
moldDemand.setIsDeleted(0); |
|
|
|
|
moldDemandMapper.insert(moldDemand); |
|
|
|
|
} else { |
|
|
|
|
moldDemand.setDemandNum(moldDemand.getDemandNum() + partRelation.getQuota() * yieldOrder.getYpQty()); |
|
|
|
|
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString())); |
|
|
|
|
moldDemandMapper.updateById(moldDemand); |
|
|
|
|
} |
|
|
|
|
yieldOrder.setToolsDemand(BigDecimal.valueOf(moldDemand.getDemandNum())); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -629,6 +633,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
if (CollectionUtils.isNotEmpty(subPartList)) { |
|
|
|
|
for (DsPartEntity subPart : subPartList) { |
|
|
|
|
MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode, subPart.getPartCode()).eq(MoldDemand::getMafStatus, MoldDemandEnum.MAF_STATUS_CREATE.getCode())); |
|
|
|
|
DsPartRelationEntity partRelation = partRelationService.selectByPartCodeAndSubCode(yieldOrder.getPartCode(), subPart.getPartCode()); |
|
|
|
|
|
|
|
|
|
if (moldDemand == null) { |
|
|
|
|
moldDemand = new MoldDemand(); |
|
|
|
|
moldDemand.setMoCode(null); |
|
|
|
|
@ -636,7 +642,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
moldDemand.setPartName(yieldOrder.getPartName()); |
|
|
|
|
moldDemand.setToolCode(subPart.getPartCode()); |
|
|
|
|
moldDemand.setToolName(subPart.getPartName()); |
|
|
|
|
moldDemand.setDemandNum(subPart.getQuota() * yieldOrder.getYpQty()); |
|
|
|
|
moldDemand.setDemandNum(partRelation.getQuota() * yieldOrder.getYpQty()); |
|
|
|
|
moldDemand.setLinkOrderIds(yieldOrder.getId().toString()); |
|
|
|
|
moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode()); |
|
|
|
|
moldDemand.setMafType(MoldDemandEnum.MAF_TYPE_RB.getCode()); |
|
|
|
|
@ -646,7 +652,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
moldDemand.setIsDeleted(0); |
|
|
|
|
moldDemandMapper.insert(moldDemand); |
|
|
|
|
} else { |
|
|
|
|
moldDemand.setDemandNum(moldDemand.getDemandNum() + subPart.getQuota() * yieldOrder.getYpQty()); |
|
|
|
|
moldDemand.setDemandNum(moldDemand.getDemandNum() + partRelation.getQuota() * yieldOrder.getYpQty()); |
|
|
|
|
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString())); |
|
|
|
|
moldDemandMapper.updateById(moldDemand); |
|
|
|
|
} |
|
|
|
|
@ -1335,6 +1341,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
List<DsCraftEntity> dsCraftList; |
|
|
|
|
List<Long> idList = new ArrayList<>(); |
|
|
|
|
for (DsPartEntity dsPartSub : subList) { |
|
|
|
|
DsPartRelationEntity dsPartRelation = partRelationService.selectByPartCodeAndSubCode(yieldOrder.getPartCode(), dsPartSub.getPartCode()); |
|
|
|
|
//如果子件号为空或者是无,则跳过
|
|
|
|
|
if (StringUtils.isBlank(dsPartSub.getPartCode()) || dsPartSub.getPartCode().equals("无")) { |
|
|
|
|
continue; |
|
|
|
|
@ -1400,7 +1407,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
subYield.setCardNo(nextCardNo()); |
|
|
|
|
subYield.setBatchNo(nextBatchNo()); |
|
|
|
|
subYield.setSiteWork(Boolean.TRUE); |
|
|
|
|
subYield.setYpQty(yieldOrder.getYpQty() * dsPartSub.getQuota()); |
|
|
|
|
subYield.setYpQty(yieldOrder.getYpQty() * dsPartRelation.getQuota()); |
|
|
|
|
subYield.setPrimaryCraft(dsPart.getCraftWay()); |
|
|
|
|
subYield.setRoamNo(roamNo); |
|
|
|
|
subYield.setStatus(YieldOrderEnum.STATUS_NORMAL.getCode()); |
|
|
|
|
|