diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java index ebedd80..a7b1395 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java @@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; +import java.util.Objects; @Service @Slf4j @@ -21,6 +22,11 @@ public class MesPartSapService extends BaseMesService implements IMe @Override protected void setPackQueryBean(MesPartSap bean, DdlPackBean packBean) { + if (Objects.isNull(bean.getIsTestPiece())) { + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.FALSE, "isTestPiece", packBean); + } else { + DdlPreparedPack.getNumEqualPack(bean.getIsTestPiece(), "isTestPiece", packBean); + } DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringLikeEqualPack(bean.getPartName(), "partName", packBean); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index ef05ca0..e8505a5 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -358,6 +358,10 @@ public class MesWorkOrderService extends BaseMesService implements MesPartSap mesPart = iMesPartSapService.getMesPartSapByPartNo(item.getPartNo(), item.getOrganizeCode()); item.setPartName(mesPart.getPartName()); item.setUnit(mesPart.getUnit()); + //试制单,只能选择试制零件 + if(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag()) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() != mesPart.getIsTestPiece()){ + MesException.throwMesBusiException("物料【%s】不为试制件",item.getPartNo()); + } //生产时间新增取当天 if (StringUtil.isEmpty(item.getProduceTime())) { item.setProduceTime(TimeTool.getToday()); @@ -702,6 +706,10 @@ public class MesWorkOrderService extends BaseMesService implements item.setQty(1d); //是否自动发布 isAuto(mesPartProdGroupMap, mesWorkOrderToWmsList, item, mesBomList); + //试制单,只能选择试制零件 + if(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag()) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() != mesPart.getIsTestPiece()){ + MesException.throwMesBusiException("物料【%s】不为试制件",item.getPartNo()); + } } else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) { ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空"); @@ -746,7 +754,10 @@ public class MesWorkOrderService extends BaseMesService implements item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()); //发送工单信息给WMS mesWorkOrderToWmsList.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, mesBomList)); - + //试制单,只能选择试制零件 + if(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag()) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() != mesPart.getIsTestPiece()){ + MesException.throwMesBusiException("物料【%s】不为试制件",item.getPartNo()); + } } else { ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空"); ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空"); @@ -818,6 +829,10 @@ public class MesWorkOrderService extends BaseMesService implements if (Objects.isNull(mesWorkOrderDb)) { MesException.throwMesBusiException("工单id为【%s】工单信息不存在", mesWorkOrder.getId()); } + //试制单不允许报工 + if(!Objects.isNull(mesWorkOrderDb.getOrderFlag()) && MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(mesWorkOrderDb.getOrderFlag())){ + MesException.throwMesBusiException("工单【%s】为试制单,不允许报工", mesWorkOrder.getWorkOrderNo()); + } //查询物料信息 MesPart mesPart = iMesPartService.getPartByPartNo(mesWorkOrderDb.getPartNo(), mesWorkOrderDb.getOrganizeCode()); //查询产线信息 @@ -873,6 +888,10 @@ public class MesWorkOrderService extends BaseMesService implements if (Objects.isNull(mesWorkOrder)) { MesException.throwMesBusiException("工单id为【%s】工单信息不存在", mesWorkOrderNew.getId()); } + //试制单不允许报工 + if(!Objects.isNull(mesWorkOrder.getOrderFlag()) && MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(mesWorkOrder.getOrderFlag())){ + MesException.throwMesBusiException("工单【%s】为试制单,不允许报工", mesWorkOrder.getWorkOrderNo()); + } //查询物料信息 MesPart mesPart = iMesPartService.getPartByPartNo(mesWorkOrder.getPartNo(), mesWorkOrder.getOrganizeCode()); if (mesWorkOrderNew.getNum() <= 0) {