|
|
|
@ -305,11 +305,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue(),
|
|
|
|
|
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()));
|
|
|
|
|
}
|
|
|
|
|
//获取生产版本
|
|
|
|
|
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
|
|
|
|
|
item.setProductVersion(mesProductVersion.getProductVersion());
|
|
|
|
|
//获取bom信息
|
|
|
|
|
List<MesBom> bomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
|
|
|
|
|
//校验VIN号是否重复
|
|
|
|
|
if (!StringUtil.isEmpty(item.getVinCode())) {
|
|
|
|
|
//校验vin号是否重复
|
|
|
|
|
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
|
|
|
|
@ -320,11 +316,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
}
|
|
|
|
|
//排序工单数量为1
|
|
|
|
|
item.setQty(1d);
|
|
|
|
|
//是否自动发布
|
|
|
|
|
isAuto(item, saveMesWorkOrderToWms, bomList);
|
|
|
|
|
//发送工单给WMS
|
|
|
|
|
sendToWms(item, mesWorkCenter, saveMesWorkOrderToWms);
|
|
|
|
|
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
|
|
|
|
|
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
|
|
|
|
|
if (Objects.isNull(item.getQty()) || item.getQty() <= 0d) {
|
|
|
|
|
MesException.throwMesBusiException("生产数量不能小于等于0");
|
|
|
|
|
}
|
|
|
|
@ -341,26 +336,25 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
, MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue(),
|
|
|
|
|
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()));
|
|
|
|
|
}
|
|
|
|
|
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
|
|
|
|
|
//非试制单
|
|
|
|
|
if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())) {
|
|
|
|
|
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
|
|
|
|
|
//校验物料生产版本是否存在
|
|
|
|
|
MesProductVersion mesProductVersion = checkMesProductVersion(item);
|
|
|
|
|
//获取bom信息
|
|
|
|
|
List<MesBom> bomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
|
|
|
|
|
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
|
|
|
|
|
//发送工单信息给WMS
|
|
|
|
|
saveMesWorkOrderToWms.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, bomList));
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空");
|
|
|
|
|
if (Objects.isNull(item.getQty()) || item.getQty() <= 0d) {
|
|
|
|
|
MesException.throwMesBusiException("生产数量不能小于等于0");
|
|
|
|
|
}
|
|
|
|
|
//获取生产版本
|
|
|
|
|
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
|
|
|
|
|
item.setProductVersion(mesProductVersion.getProductVersion());
|
|
|
|
|
//获取bom信息
|
|
|
|
|
List<MesBom> bomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
|
|
|
|
|
//是否自动发布
|
|
|
|
|
isAuto(item, saveMesWorkOrderToWms, bomList);
|
|
|
|
|
//发送工单给WMS
|
|
|
|
|
sendToWms(item, mesWorkCenter, saveMesWorkOrderToWms);
|
|
|
|
|
}
|
|
|
|
|
//物料名称不存在,从物料信息中获取
|
|
|
|
|
MesPartSap mesPart = iMesPartSapService.getMesPartSapByPartNo(item.getPartNo(), item.getOrganizeCode());
|
|
|
|
@ -381,6 +375,20 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void sendToWms(MesWorkOrder item, MesWorkCenter mesWorkCenter, List<MesWorkOrderToWms> saveMesWorkOrderToWms) {
|
|
|
|
|
//非试制单
|
|
|
|
|
List<MesBom> bomList = null;
|
|
|
|
|
if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())) {
|
|
|
|
|
//获取生产版本
|
|
|
|
|
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
|
|
|
|
|
item.setProductVersion(mesProductVersion.getProductVersion());
|
|
|
|
|
//获取bom信息
|
|
|
|
|
bomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
|
|
|
|
|
}
|
|
|
|
|
//是否自动发布
|
|
|
|
|
isAuto(item, saveMesWorkOrderToWms, bomList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void isAuto(MesWorkOrder item, List<MesWorkOrderToWms> saveMesWorkOrderToWms, List<MesBom> bomList) {
|
|
|
|
|
MesPartProdGroup mesPartProdGroup = null;
|
|
|
|
|
if(StringUtil.isEmpty(item.getPartProdGroupCode())){
|
|
|
|
@ -400,7 +408,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
if (CommonEnumUtil.VALID == mesPartProdGroup.getIsAutoRelease()) {
|
|
|
|
|
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
|
|
|
|
|
//发送工单信息给WMS
|
|
|
|
|
if(!Objects.isNull(bomList)){
|
|
|
|
|
saveMesWorkOrderToWms.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, bomList));
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
|
|
|
|
|
}
|
|
|
|
|