|
|
@ -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) {
|
|
|
|