41583 BTO创建工单基于生产组配置,现在配置成发布,实际工单生产状态是未处理

tags/yfai-mes-ext-v1.0
jun 1 year ago
parent 6d7e2c40d0
commit fe60829f79

@ -281,26 +281,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
//排序工单数量为1
item.setQty(1d);
//校验零件生产组信息
MesPartProdGroup mesPartProdGroup = null;
if(StringUtil.isEmpty(item.getPartProdGroupCode())){
mesPartProdGroup = getMesPartProdGroup(item);
item.setPartProdGroupCode(mesPartProdGroup.getPartProdGroupCode());
item.setPartProdGroupName(mesPartProdGroup.getPartProdGroupName());
}else{
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getPartProdGroupCode(), "partProdGroupCode", ddlPackBean);
mesPartProdGroup = mesPartProdGroupRDao.getByProperty(ddlPackBean);
}
//自动发布
if (CommonEnumUtil.VALID == mesPartProdGroup.getIsAutoRelease()) {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//发送工单信息给WMS
saveMesWorkOrderToWms.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, bomList));
} else {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
}
//是否自动发布
isAuto(item, saveMesWorkOrderToWms, bomList);
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
@ -338,9 +320,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
item.setProductVersion(mesProductVersion.getProductVersion());
//获取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));
//是否自动发布
isAuto(item, saveMesWorkOrderToWms, bomList);
}
//物料名称不存在,从物料信息中获取
MesPartSap mesPart = iMesPartSapService.getMesPartSapByPartNo(item.getPartNo(), item.getOrganizeCode());
@ -357,6 +338,31 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
}
private void isAuto(MesWorkOrder item, List<MesWorkOrderToWms> saveMesWorkOrderToWms, List<MesBom> bomList) {
MesPartProdGroup mesPartProdGroup = null;
if(StringUtil.isEmpty(item.getPartProdGroupCode())){
mesPartProdGroup = getMesPartProdGroup(item);
item.setPartProdGroupCode(mesPartProdGroup.getPartProdGroupCode());
item.setPartProdGroupName(mesPartProdGroup.getPartProdGroupName());
}else{
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getPartProdGroupCode(), "partProdGroupCode", ddlPackBean);
mesPartProdGroup = mesPartProdGroupRDao.getByProperty(ddlPackBean);
if(Objects.isNull(mesPartProdGroup)){
MesException.throwMesBusiException("生产线组【%s】信息不存在",item.getPartProdGroupCode());
}
}
//自动发布
if (CommonEnumUtil.VALID == mesPartProdGroup.getIsAutoRelease()) {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//发送工单信息给WMS
saveMesWorkOrderToWms.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, bomList));
} else {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
}
}
private MesPartProdGroup getMesPartProdGroup(MesWorkOrder item) {
MesPartProdGroupDetail mesPartProdGroupDetail = new MesPartProdGroupDetail();
mesPartProdGroupDetail.setWorkCenterCode(item.getWorkCenterCode());
@ -638,27 +644,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
vinCodeMap.put(item.getVinCode(), item.getVinCode());
}
}
//校验零件生产组信息
MesPartProdGroup mesPartProdGroup;
if (mesPartProdGroupMap.containsKey(item.getWorkCenterCode() + item.getPartNo())) {
mesPartProdGroup = mesPartProdGroupMap.get(item.getWorkCenterCode() + item.getPartNo());
} else {
mesPartProdGroup = getMesPartProdGroup(item);
mesPartProdGroupMap.put(item.getWorkCenterCode() + item.getPartNo(), mesPartProdGroup);
}
item.setPartProdGroupCode(mesPartProdGroup.getPartProdGroupCode());
item.setPartProdGroupName(mesPartProdGroup.getPartProdGroupName());
//排序工单数量为1
item.setQty(1d);
//自动发布
if (CommonEnumUtil.VALID == mesPartProdGroup.getIsAutoRelease()) {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//发送工单信息给WMS
mesWorkOrderToWmsList.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, mesBomList));
} else {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
}
//是否自动发布
isAuto(mesPartProdGroupMap, mesWorkOrderToWmsList, item, mesBomList);
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
@ -727,9 +716,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
mesBomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
mesBomMap.put(item.getPartNo() + mesProductVersion.getAlternativePartList(), mesBomList);
}
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//发送工单信息给WMS
mesWorkOrderToWmsList.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, mesBomList));
//是否自动发布
isAuto(mesPartProdGroupMap, mesWorkOrderToWmsList, item, mesBomList);
}
item.setUnCompleteQty(item.getQty());
index++;
@ -737,6 +725,27 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
return mesWorkOrderToWmsList;
}
private void isAuto(Map<String, MesPartProdGroup> mesPartProdGroupMap, List<MesWorkOrderToWms> mesWorkOrderToWmsList, MesWorkOrder item, List<MesBom> mesBomList) {
//校验零件生产组信息
MesPartProdGroup mesPartProdGroup;
if (mesPartProdGroupMap.containsKey(item.getWorkCenterCode() + item.getPartNo())) {
mesPartProdGroup = mesPartProdGroupMap.get(item.getWorkCenterCode() + item.getPartNo());
} else {
mesPartProdGroup = getMesPartProdGroup(item);
mesPartProdGroupMap.put(item.getWorkCenterCode() + item.getPartNo(), mesPartProdGroup);
}
item.setPartProdGroupCode(mesPartProdGroup.getPartProdGroupCode());
item.setPartProdGroupName(mesPartProdGroup.getPartProdGroupName());
//自动发布
if (CommonEnumUtil.VALID == mesPartProdGroup.getIsAutoRelease()) {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//发送工单信息给WMS
mesWorkOrderToWmsList.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, mesBomList));
} else {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
}
}
private List<MesShift> getMesShifts(String organizeCode, String nowDate, List<String> workCenterCodeList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(workCenterCodeList, "workCenterCode", packBean);

Loading…
Cancel
Save