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