|
|
|
|
@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
import org.springblade.common.constant.CommonConstant; |
|
|
|
|
import org.springblade.common.constant.YieldOrderConst; |
|
|
|
|
import org.springblade.common.exception.BusinessException; |
|
|
|
|
import org.springblade.common.utils.StringPrefixUtils; |
|
|
|
|
@ -17,11 +18,14 @@ import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
|
import org.springblade.core.tool.utils.DateUtil; |
|
|
|
|
import org.springblade.core.tool.utils.ObjectUtil; |
|
|
|
|
import org.springblade.core.tool.utils.StringPool; |
|
|
|
|
import org.springblade.desk.dashboard.constant.DsCraftConstant; |
|
|
|
|
import org.springblade.desk.dashboard.constant.DsPartConst; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.DsProcessEntity; |
|
|
|
|
import org.springblade.desk.dashboard.service.IDsCraftService; |
|
|
|
|
import org.springblade.desk.dashboard.service.IDsPartService; |
|
|
|
|
import org.springblade.desk.dashboard.service.IDsProcessService; |
|
|
|
|
import org.springblade.desk.order.entity.YieldOrder; |
|
|
|
|
import org.springblade.desk.order.entity.YieldOrderCraft; |
|
|
|
|
import org.springblade.desk.order.mapper.YieldOrderMapper; |
|
|
|
|
@ -29,6 +33,7 @@ import org.springblade.desk.order.service.IYieldOrderCraftService; |
|
|
|
|
import org.springblade.desk.order.service.IYieldOrderService; |
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
import java.text.MessageFormat; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
@ -49,6 +54,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
private final IDsPartService dsPartService; |
|
|
|
|
|
|
|
|
|
private final IDsCraftService dsCraftService; |
|
|
|
|
private final IDsProcessService dsProcessService; |
|
|
|
|
|
|
|
|
|
@Value("${business.oldMes.url}") |
|
|
|
|
private String oldMesUrl; |
|
|
|
|
@ -172,13 +178,97 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public Boolean verifyYieldOrderCraft(YieldOrder yieldOrder) { |
|
|
|
|
//TODO 匹配工艺
|
|
|
|
|
if (StringUtils.isBlank(yieldOrder.getReworkCode())) { |
|
|
|
|
// pjYieldCraftService.renewYieldCraft(yieldOrder);
|
|
|
|
|
if (StringUtils.isNotBlank(yieldOrder.getReworkCode())) { |
|
|
|
|
return Boolean.TRUE; |
|
|
|
|
} |
|
|
|
|
return null; |
|
|
|
|
|
|
|
|
|
String roamNo = yieldOrder.getRoamNo(); |
|
|
|
|
String productIdent = yieldOrder.getProductIdent(); |
|
|
|
|
String partCode = yieldOrder.getPartCode(); |
|
|
|
|
|
|
|
|
|
DsCraftEntity craft = null; |
|
|
|
|
//石墨模零件不考虑B号匹配因素
|
|
|
|
|
// if (YieldOrderConst.YIELD_TYPE_6.equals(yieldOrder.getYieldType())) {
|
|
|
|
|
// craft = dsCraftService.getCraft(partCode, null, prodIdent, DsCraft.RANK_TWO);
|
|
|
|
|
// } else {
|
|
|
|
|
// Short rank = judgeRank(yieldOrder);
|
|
|
|
|
// if (rank == null) {
|
|
|
|
|
// craft = dsCraftService.getCraft(partCode, roamNo, prodIdent, DsCraft.RANK_TWO);
|
|
|
|
|
// if (craft == null) {
|
|
|
|
|
// craft = dsCraftService.getCraft(partCode, roamNo, prodIdent, DsCraft.RANK_ONE);
|
|
|
|
|
// }
|
|
|
|
|
// if (craft == null) {
|
|
|
|
|
// craft = dsCraftService.getCraft(partCode, roamNo, prodIdent, DsCraft.RANK_THREE);
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// craft = dsCraftService.getCraft(partCode, roamNo, prodIdent, rank);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isEmpty(craft)) { |
|
|
|
|
String errMsg = StringUtils.isNotBlank(roamNo) ? "订单流转单号匹配失败,请联系工艺员!" : "未找到B号工艺,请核实订单是否存在B号!"; |
|
|
|
|
yieldOrder.setValidationResult(YieldOrderConst.VALIDATION_RESULT_LESS_CRAFT); |
|
|
|
|
yieldOrder.setValidationTime(DateUtil.now()); |
|
|
|
|
yieldOrder.setValidationMomo(errMsg); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
return Boolean.FALSE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
DsPartEntity part = dsPartService.getById(craft.getPartId()); |
|
|
|
|
//验证零件是否已经被删除
|
|
|
|
|
if (CommonConstant.DELETE_TRUE.equals(part.getIsDeleted())) { |
|
|
|
|
yieldOrder.setValidationResult(YieldOrderConst.VALIDATION_RESULT_LESS_CRAFT); |
|
|
|
|
yieldOrder.setValidationTime(DateUtil.now()); |
|
|
|
|
yieldOrder.setValidationMomo("零件信息已删除,工艺匹配失败,请联系工艺员!"); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
return Boolean.FALSE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//石墨模不参与验证
|
|
|
|
|
if (!YieldOrderConst.YIELD_TYPE_2.equals(yieldOrder.getYieldType()) |
|
|
|
|
&& !YieldOrderConst.YIELD_TYPE_6.equals(yieldOrder.getYieldType()) |
|
|
|
|
&& ObjectUtil.isEmpty(part.getArea())) { |
|
|
|
|
yieldOrder.setValidationResult(YieldOrderConst.VALIDATION_RESULT_LESS_CRAFT); |
|
|
|
|
yieldOrder.setValidationTime(DateUtil.now()); |
|
|
|
|
yieldOrder.setValidationMomo("零件面积为空,工艺匹配失败,请联系工艺员!"); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
return Boolean.FALSE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
yieldOrder.setYpArea(part.getArea() == null ? 0D : part.getArea()); |
|
|
|
|
yieldOrder.setPlate(part.getPlate()); |
|
|
|
|
// yieldOrder.setCraftId(craft.getCraftId());
|
|
|
|
|
// yieldOrder.setPdmUrl(craft.getPdmUrl());
|
|
|
|
|
|
|
|
|
|
List<DsProcessEntity> dsProcessEntityList = dsProcessService.selectDsProcessByCraftId(craft.getId()); |
|
|
|
|
//删除之前的
|
|
|
|
|
yieldOrderCraftService.deleteByYoId(yieldOrder.getId()); |
|
|
|
|
List<YieldOrderCraft> yieldOrderCraftList = new ArrayList<>(); |
|
|
|
|
if (dsProcessEntityList != null && dsProcessEntityList.size() > 0) { |
|
|
|
|
if (DsCraftConstant.PRIORITY_THIS_USE.equals(craft.getRank())) { |
|
|
|
|
craft.setPrority(DsCraftConstant.PRIORITY_TEMPORARY); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (DsProcessEntity processEntity : dsProcessEntityList) { |
|
|
|
|
YieldOrderCraft yieldOrderCraft = new YieldOrderCraft(); |
|
|
|
|
yieldOrderCraft.setYoId(yieldOrder.getId()); |
|
|
|
|
yieldOrderCraft.setProcessNo(processEntity.getProcessNo()); |
|
|
|
|
yieldOrderCraft.setMakeMemo(processEntity.getRemarks()); |
|
|
|
|
yieldOrderCraft.setHourQuota(processEntity.getProHours()); |
|
|
|
|
// yieldOrderCraft.setPpsId(processEntity.getBsProcedureSet());
|
|
|
|
|
// yieldOrderCraft.setCraftNo(processEntity.getDsCraft().getCraftNo());
|
|
|
|
|
// yieldOrderCraft.setPid(processEntity.getPid());
|
|
|
|
|
// yieldOrderCraft.setCaId(processEntity.getBsCraftAbility());
|
|
|
|
|
yieldOrderCraftList.add(yieldOrderCraft); |
|
|
|
|
} |
|
|
|
|
yieldOrderCraftService.saveBatch(yieldOrderCraftList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return Boolean.TRUE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|