新增试制件逻辑

tags/yfai-mes-ext-v1.0
jun 10 months ago
parent 095716d731
commit 2d9e5bd025

@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.List; import java.util.List;
import java.util.Objects;
@Service @Service
@Slf4j @Slf4j
@ -21,6 +22,11 @@ public class MesPartSapService extends BaseMesService<MesPartSap> implements IMe
@Override @Override
protected void setPackQueryBean(MesPartSap bean, DdlPackBean packBean) { 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.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringLikeEqualPack(bean.getPartName(), "partName", packBean); DdlPreparedPack.getStringLikeEqualPack(bean.getPartName(), "partName", packBean);
} }

@ -358,6 +358,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesPartSap mesPart = iMesPartSapService.getMesPartSapByPartNo(item.getPartNo(), item.getOrganizeCode()); MesPartSap mesPart = iMesPartSapService.getMesPartSapByPartNo(item.getPartNo(), item.getOrganizeCode());
item.setPartName(mesPart.getPartName()); item.setPartName(mesPart.getPartName());
item.setUnit(mesPart.getUnit()); 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())) { if (StringUtil.isEmpty(item.getProduceTime())) {
item.setProduceTime(TimeTool.getToday()); item.setProduceTime(TimeTool.getToday());
@ -702,6 +706,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
item.setQty(1d); item.setQty(1d);
//是否自动发布 //是否自动发布
isAuto(mesPartProdGroupMap, mesWorkOrderToWmsList, item, mesBomList); 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()) { } else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空"); ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
@ -746,7 +754,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()); item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//发送工单信息给WMS //发送工单信息给WMS
mesWorkOrderToWmsList.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, mesBomList)); 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 { } else {
ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空"); ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空");
ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空"); ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空");
@ -818,6 +829,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (Objects.isNull(mesWorkOrderDb)) { if (Objects.isNull(mesWorkOrderDb)) {
MesException.throwMesBusiException("工单id为【%s】工单信息不存在", mesWorkOrder.getId()); 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()); MesPart mesPart = iMesPartService.getPartByPartNo(mesWorkOrderDb.getPartNo(), mesWorkOrderDb.getOrganizeCode());
//查询产线信息 //查询产线信息
@ -873,6 +888,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (Objects.isNull(mesWorkOrder)) { if (Objects.isNull(mesWorkOrder)) {
MesException.throwMesBusiException("工单id为【%s】工单信息不存在", mesWorkOrderNew.getId()); 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()); MesPart mesPart = iMesPartService.getPartByPartNo(mesWorkOrder.getPartNo(), mesWorkOrder.getOrganizeCode());
if (mesWorkOrderNew.getNum() <= 0) { if (mesWorkOrderNew.getNum() <= 0) {

Loading…
Cancel
Save