|
|
|
|
@ -311,15 +311,16 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
String roamNoText = yieldOrder.getRoamNoNext(); |
|
|
|
|
if (StringUtils.isBlank(roamNoText)) { |
|
|
|
|
// 取工艺路线,并不是下级B号
|
|
|
|
|
String primaryCraft = yieldOrder.getPrimaryCraft(); |
|
|
|
|
if (StringUtils.isBlank(primaryCraft)) { |
|
|
|
|
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode()); |
|
|
|
|
yieldOrder.setValidationTime(DateUtil.now()); |
|
|
|
|
yieldOrder.setValidationMomo("未找到ERP一级B号路线,请核查!"); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
} |
|
|
|
|
// 验证烧结订单的b号描述,如果包含封接字样则验证子件,不包含则不验证
|
|
|
|
|
if (roamNoText.contains(YieldOrderConst.ROAMNO_TEXT_FJ)) { |
|
|
|
|
if (primaryCraft.contains(YieldOrderConst.ROAMNO_TEXT_FJ)) { |
|
|
|
|
try { |
|
|
|
|
this.saveSubYieldOrder(yieldOrder, Boolean.FALSE, yieldOrder.getReceiveUser()); |
|
|
|
|
} catch (BusinessException e) { |
|
|
|
|
@ -1228,10 +1229,11 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
//如果子件类型为空 或者是其他 不生成子件订单 直接跳过
|
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
//非石墨模子件,面积不允许为空
|
|
|
|
|
if (!yieldType.equals(YieldOrderEnum.YIELD_TYPE_6.getCode()) && dsPart.getArea() == null) { |
|
|
|
|
String errMsg = "非石墨模子件面积为空无法创建生产订单!"; |
|
|
|
|
throw new BusinessException(errMsg); |
|
|
|
|
//非石墨模玻璃饼子件,面积不允许为空
|
|
|
|
|
boolean isGraphiteMoldGlassPart = yieldType.equals(YieldOrderEnum.YIELD_TYPE_6.getCode()) |
|
|
|
|
|| yieldType.equals(YieldOrderEnum.YIELD_TYPE_3.getCode()); |
|
|
|
|
if (!isGraphiteMoldGlassPart && dsPart.getArea() == null) { |
|
|
|
|
throw new BusinessException("非石墨模玻璃饼子件面积为空无法创建生产订单!"); |
|
|
|
|
} |
|
|
|
|
//验证子件是否存在二级工艺路线
|
|
|
|
|
dsCraftList = dsCraftService.listByPartId(dsPart.getId()); |
|
|
|
|
@ -1242,7 +1244,10 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
|
|
|
|
|
//获取金属件子件B号,如果未获取到,提示异常
|
|
|
|
|
String roamNo = null; |
|
|
|
|
if (DsPartConstant.SIN_TER_TYPE_KT.equals(dsPartSub.getSinTerType()) || DsPartConstant.SIN_TER_TYPE_CZ.equals(dsPartSub.getSinTerType())) { |
|
|
|
|
if (DsPartConstant.SIN_TER_TYPE_KT.equals(dsPartSub.getSinTerType()) || |
|
|
|
|
DsPartConstant.SIN_TER_TYPE_CZ.equals(dsPartSub.getSinTerType()) || |
|
|
|
|
DsPartConstant.SIN_TER_TYPE_BLB.equals(dsPartSub.getSinTerType()) |
|
|
|
|
) { |
|
|
|
|
roamNo = yieldOrderClient.getChildRoamNoByPartCode(dsPartSub.getPartCode()); |
|
|
|
|
if (StringUtils.isBlank(roamNo)) { |
|
|
|
|
String errMsg = MessageFormat.format("子件{}未找到对应B号,请在ERP核查子件一级路线!", dsPartSub.getPartCode()); |
|
|
|
|
|