|
|
@ -449,11 +449,11 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
DdlPackBean ddlPackBean;
|
|
|
|
DdlPackBean ddlPackBean;
|
|
|
|
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
|
|
|
|
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", ddlPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", ddlPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getErpWorkCenter(), "workCenterCode", ddlPackBean);
|
|
|
|
//DdlPreparedPack.getStringEqualPack(item.getErpWorkCenter(), "workCenterCode", ddlPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getProductVersion(), "productVersion", ddlPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getProductVersion(), "productVersion", ddlPackBean);
|
|
|
|
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
|
|
|
|
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
|
|
|
|
if (Objects.isNull(mesProductVersion)) {
|
|
|
|
if (Objects.isNull(mesProductVersion)) {
|
|
|
|
MesException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion());
|
|
|
|
MesException.throwMesBusiException("物料【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getProductVersion());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return mesProductVersion;
|
|
|
|
return mesProductVersion;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -599,7 +599,6 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
//获取生产版本
|
|
|
|
//获取生产版本
|
|
|
|
List<String> partNoList = mesWorkOrderList.stream().map(MesWorkOrder::getPartNo).distinct().collect(Collectors.toList());
|
|
|
|
List<String> partNoList = mesWorkOrderList.stream().map(MesWorkOrder::getPartNo).distinct().collect(Collectors.toList());
|
|
|
|
List<MesProductVersion> mesProductVersionList = BeanMapUtilsExt.getBeanList(mesProductVersionRDao, "partNo", organizeCode, partNoList, "生产版本信息");
|
|
|
|
List<MesProductVersion> mesProductVersionList = BeanMapUtilsExt.getBeanList(mesProductVersionRDao, "partNo", organizeCode, partNoList, "生产版本信息");
|
|
|
|
Map<String, List<MesProductVersion>> mesProductVersionMap = mesProductVersionList.stream().collect(Collectors.groupingBy(t -> t.getWorkCenterCode() + t.getPartNo()));
|
|
|
|
|
|
|
|
//客户物料信息
|
|
|
|
//客户物料信息
|
|
|
|
Map<String, MesCustomerPart> mesCustomerPartMap = null;
|
|
|
|
Map<String, MesCustomerPart> mesCustomerPartMap = null;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
@ -624,11 +623,14 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//生成工单号
|
|
|
|
//生成工单号
|
|
|
|
List<String> orderList=new ArrayList<>();
|
|
|
|
List<String> orderList=new ArrayList<>();
|
|
|
|
|
|
|
|
Map<String, List<MesProductVersion>> mesProductVersionMap =null;
|
|
|
|
if(next.getWorkOrderType() != MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()){
|
|
|
|
if(next.getWorkOrderType() != MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()){
|
|
|
|
|
|
|
|
mesProductVersionMap = mesProductVersionList.stream().collect(Collectors.groupingBy(t -> t.getWorkCenterCode() + t.getPartNo()));
|
|
|
|
GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_CENTER_ORDER_NO);
|
|
|
|
GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_CENTER_ORDER_NO);
|
|
|
|
genSerialNoModel.setPartNo(next.getWorkCenterCode());
|
|
|
|
genSerialNoModel.setPartNo(next.getWorkCenterCode());
|
|
|
|
orderList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(next.getOrganizeCode()), next.getCreateUser(), next.getOrganizeCode(), mesWorkOrderList.size()).getResultList();
|
|
|
|
orderList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(next.getOrganizeCode()), next.getCreateUser(), next.getOrganizeCode(), mesWorkOrderList.size()).getResultList();
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
|
|
|
|
mesProductVersionMap = mesProductVersionList.stream().collect(Collectors.groupingBy(MesProductVersion::getPartNo));
|
|
|
|
GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO);
|
|
|
|
GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO);
|
|
|
|
orderList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(next.getOrganizeCode()), next.getCreateUser(), next.getOrganizeCode(), mesWorkOrderList.size()).getResultList();
|
|
|
|
orderList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(next.getOrganizeCode()), next.getCreateUser(), next.getOrganizeCode(), mesWorkOrderList.size()).getResultList();
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -740,14 +742,13 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())){
|
|
|
|
if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())){
|
|
|
|
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
|
|
|
|
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
|
|
|
|
//校验物料生产版本是否存在
|
|
|
|
//校验物料生产版本是否存在
|
|
|
|
List<MesProductVersion> mesProductVersions = mesProductVersionMap.get(mesWorkCenter.getErpWorkCenter() + item.getPartNo());
|
|
|
|
List<MesProductVersion> mesProductVersions = mesProductVersionMap.get(item.getPartNo());
|
|
|
|
if (CollectionUtils.isEmpty(mesProductVersions)) {
|
|
|
|
if (CollectionUtils.isEmpty(mesProductVersions)) {
|
|
|
|
MesException.throwMesBusiException("物料【%s】工作中心【%s】对应的生产版本信息不存在", item.getPartNo(),
|
|
|
|
MesException.throwMesBusiException("物料【%s】对应的生产版本信息不存在", item.getPartNo());
|
|
|
|
mesWorkCenter.getErpWorkCenter());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<MesProductVersion> versionList = mesProductVersions.stream().filter(t -> Objects.equals(item.getProductVersion(), t.getProductVersion())).collect(Collectors.toList());
|
|
|
|
List<MesProductVersion> versionList = mesProductVersions.stream().filter(t -> Objects.equals(item.getProductVersion(), t.getProductVersion())).collect(Collectors.toList());
|
|
|
|
if (CollectionUtils.isEmpty(versionList)) {
|
|
|
|
if (CollectionUtils.isEmpty(versionList)) {
|
|
|
|
MesException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(), mesWorkCenter.getWorkCenterCode(), item.getProductVersion());
|
|
|
|
MesException.throwMesBusiException("物料【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getProductVersion());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
MesProductVersion mesProductVersion = versionList.iterator().next();
|
|
|
|
MesProductVersion mesProductVersion = versionList.iterator().next();
|
|
|
|
//获取bom信息
|
|
|
|
//获取bom信息
|
|
|
@ -1226,11 +1227,11 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
private MesProductVersion getMesProductVersion(MesWorkOrder mesWorkOrder) {
|
|
|
|
private MesProductVersion getMesProductVersion(MesWorkOrder mesWorkOrder) {
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode());
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode());
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "partNo", ddlPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "partNo", ddlPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesWorkOrder.getErpWorkCenter(), "workCenterCode", ddlPackBean);
|
|
|
|
//DdlPreparedPack.getStringEqualPack(mesWorkOrder.getErpWorkCenter(), "workCenterCode", ddlPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesWorkOrder.getProductVersion(), "productVersion", ddlPackBean);
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesWorkOrder.getProductVersion(), "productVersion", ddlPackBean);
|
|
|
|
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
|
|
|
|
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
|
|
|
|
if (null == mesProductVersion) {
|
|
|
|
if (null == mesProductVersion) {
|
|
|
|
MesException.throwMesBusiException("物料【%s】生产版本信息不存在", mesWorkOrder.getPartNo());
|
|
|
|
MesException.throwMesBusiException("物料【%s】生产版本【%s】信息不存在", mesWorkOrder.getPartNo(),mesWorkOrder.getProductVersion());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return mesProductVersion;
|
|
|
|
return mesProductVersion;
|
|
|
|
}
|
|
|
|
}
|
|
|
|