|
|
|
@ -409,7 +409,9 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
*/
|
|
|
|
|
private void expendBomChild(String organizeCode, String partNo, String bomVersion, List<MesBom> bomData) {
|
|
|
|
|
List<MesBom> bomDetails = findMesBomByPartNoAndBomVersion(partNo, organizeCode, bomVersion);
|
|
|
|
|
|
|
|
|
|
if (org.springframework.util.CollectionUtils.isEmpty(bomDetails)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion);
|
|
|
|
|
}
|
|
|
|
|
for (MesBom item : bomDetails) {
|
|
|
|
|
MesBom newItem = new MesBom();
|
|
|
|
|
BeanUtils.copyProperties(item, newItem);
|
|
|
|
@ -436,7 +438,9 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), ddlPackBean);
|
|
|
|
|
List<MesBom> mesBoms = mesBomRDao.findByHqlWhere(ddlPackBean);
|
|
|
|
|
if (org.springframework.util.CollectionUtils.isEmpty(mesBoms)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion);
|
|
|
|
|
LOGGER.info("物料{}生产版本{}对应bom信息不存在", partNo, bomVersion );
|
|
|
|
|
return mesBoms;
|
|
|
|
|
// MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion);
|
|
|
|
|
}
|
|
|
|
|
MesBom next = mesBoms.iterator().next();
|
|
|
|
|
//如果存在多个bomCode取最新的一个
|
|
|
|
@ -450,7 +454,9 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
// DdlPreparedPack.getStringEqualPack(mesWorkOrder.getProductVersion(), "productVersion", ddlPackBean);
|
|
|
|
|
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
|
|
|
|
|
if (null == mesProductVersion) {
|
|
|
|
|
MesPcnException.throwMesBusiException("物料【%s】生产版本信息不存在", mesWorkOrder.getPartNo());
|
|
|
|
|
LOGGER.info("物料{}生产版本信息不存在", mesWorkOrder.getPartNo());
|
|
|
|
|
return mesProductVersion;
|
|
|
|
|
// MesPcnException.throwMesBusiException("物料【%s】生产版本信息不存在", mesWorkOrder.getPartNo());
|
|
|
|
|
}
|
|
|
|
|
return mesProductVersion;
|
|
|
|
|
}
|
|
|
|
@ -1110,7 +1116,9 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean);
|
|
|
|
|
MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean);
|
|
|
|
|
if (Objects.isNull(mesWorkCenter)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode);
|
|
|
|
|
LOGGER.info("产线【%s】不存在:{}", workCenterCode );
|
|
|
|
|
continue;
|
|
|
|
|
// MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode);
|
|
|
|
|
}
|
|
|
|
|
MesWorkOrder item = new MesWorkOrder();
|
|
|
|
|
item.setOrganizeCode(organizeCode);
|
|
|
|
@ -1138,7 +1146,8 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(orderNo, "workOrderNo", orderPackBean);
|
|
|
|
|
if (mesWorkOrderRDao.isExitByHql(orderPackBean)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("单号流水码生成重复");
|
|
|
|
|
LOGGER.info("产线【%s】单号流水码生成重复:{}", workCenterCode );
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
item.setWorkOrderNo(orderNo);
|
|
|
|
|
item.setPartName(mesProductionRecord.getPartName());
|
|
|
|
@ -1163,10 +1172,15 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
|
|
|
|
|
//校验物料生产版本是否存在
|
|
|
|
|
MesProductVersion mesProductVersion = checkMesProductVersion(item);
|
|
|
|
|
if (Objects.isNull(mesProductVersion)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
item.setProductVersion(mesProductVersion.getProductVersion());
|
|
|
|
|
//获取bom信息
|
|
|
|
|
List<MesBom> bomList = findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
|
|
|
|
|
|
|
|
|
|
if (org.springframework.util.CollectionUtils.isEmpty(bomList)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
//发送工单信息给WMS
|
|
|
|
|
saveMesWorkOrderToWms.addAll(saveMesWorkOrderToWms(item, bomList));
|
|
|
|
|
}
|
|
|
|
@ -1220,7 +1234,8 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getErpWorkCenter(), "workCenterCode", ddlPackBean);
|
|
|
|
|
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
|
|
|
|
|
if (Objects.isNull(mesProductVersion)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion());
|
|
|
|
|
LOGGER.info("物料{}产线{}生产版本{}信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion() );
|
|
|
|
|
// MesPcnException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion());
|
|
|
|
|
}
|
|
|
|
|
return mesProductVersion;
|
|
|
|
|
}
|
|
|
|
|