PTR逻辑修改

tags/yfai-mes-ext-v2.3
臧学普 6 months ago
parent 66dcc038b2
commit e1e8106db7

@ -44,7 +44,7 @@ public class MesCreatePullOrderOfflineJob extends BaseMesScheduleJob {
@Override @Override
public void executeMesJob(JobExecutionContext context, ApplicationProperties applicationProperties) { public void executeMesJob(JobExecutionContext context, ApplicationProperties applicationProperties) {
Map<String,Object> paramMap = (Map<String, Object>) JSONObject.parse(jobParam); Map<String,Object> paramMap = (Map<String, Object>) JSONObject.parse(this.getJobParam());
try { try {
String organizeCode = (String) paramMap.get("organizeCode"); String organizeCode = (String) paramMap.get("organizeCode");
List<String> pullCodeList = (List<String>) paramMap.get("pullCodeList"); List<String> pullCodeList = (List<String>) paramMap.get("pullCodeList");

@ -46,7 +46,7 @@ public class MesCreateSortRuleCfgOfflineJob extends BaseMesScheduleJob {
@Override @Override
public void executeMesJob(JobExecutionContext context, ApplicationProperties applicationProperties) { public void executeMesJob(JobExecutionContext context, ApplicationProperties applicationProperties) {
Map<String,Object> paramMap = (Map<String, Object>) JSONObject.parse(jobParam); Map<String,Object> paramMap = (Map<String, Object>) JSONObject.parse(this.getJobParam());
try { try {
String organizeCode = (String) paramMap.get("organizeCode"); String organizeCode = (String) paramMap.get("organizeCode");
List<String> groupCodeList = (List<String>) paramMap.get("partProdCodeList"); List<String> groupCodeList = (List<String>) paramMap.get("partProdCodeList");

@ -302,16 +302,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
workOrderPartList = dismantleBom(mesPartProdGroupDetail.getProductPartNo(), mesWorkOrder.getQty(), sortInfo.getMatchTime(), bom.getBomCode(), sortInfo.getOrganizeCode(), mesPartProdGroupDetail.getWorkCellCode(), mesWorkOrder.getWorkOrderNo()); workOrderPartList = dismantleBom(mesPartProdGroupDetail.getProductPartNo(), mesWorkOrder.getQty(), sortInfo.getMatchTime(), bom.getBomCode(), sortInfo.getOrganizeCode(), mesPartProdGroupDetail.getWorkCellCode(), mesWorkOrder.getWorkOrderNo());
} }
/**
*
* {ORG}{dynamicRule}{dynamicRule}{dynamicrule}{serialNo}
* + +++
*/
GenSerialNoModel genSerialNoModel = new GenSerialNoModel("MES_WORK_ORDER_NO_WU_HAN");
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(organizeCode), "edi", mesPartProdGroupDetail.getOrganizeCode(), 1).getResultList();
String serialNo = resultList.get(0).replace("MES_WORK_ORDER_NO_WU_HAN", "");
String orderNoWuHan = organizeCode + mesWorkOrder.getOrderFlag() + sortInfo.getCustOrderCode() + mesWorkOrder.getShiftCode() + serialNo;
mesWorkOrder.setWorkOrderNo(orderNoWuHan);
/** /**
* bom, * bom,
@ -357,14 +348,16 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
List<String> custPtrPartList = Arrays.asList(ptrInfo.split("\\|")); List<String> custPtrPartList = Arrays.asList(ptrInfo.split("\\|"));
boolean ptrFlag = false; boolean ptrFlag = false;
boolean fOrderFlag = false; boolean fOrderFlag = false;
List<MesWorkOrderAssembly> assemblyList = new ArrayList<>();
if (!workOrderPartList.isEmpty()) { if (!workOrderPartList.isEmpty()) {
//是否基于排序加工规则--待定 //是否基于排序加工规则--待定
//查询装配目视项 //查询装配目视项
List<MesWorkOrderAssembly> assemblyList = getAssemblyList(mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getCarModelCode(), workOrderPartList, partProdGroup); assemblyList = getAssemblyList(mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getCarModelCode(), workOrderPartList, partProdGroup);
//ptr信息 //ptr信息
List<String> partNoList = workOrderPartList.stream().map(MesWorkOrderPart::getPartNo).collect(Collectors.toList()); List<String> partNoList = workOrderPartList.stream().map(MesWorkOrderPart::getPartNo).collect(Collectors.toList());
List<MesPartPtr> partPtrList = getPartPtrList(organizeCode, mesWorkOrder.getWorkCenterCode(), partNoList); List<MesPartPtr> partPtrList = getPartPtrList(organizeCode, mesWorkOrder.getWorkCenterCode(), partNoList);
//遍历workOrderPartList //遍历workOrderPartList
for (MesWorkOrderPart orderPart : workOrderPartList) { for (MesWorkOrderPart orderPart : workOrderPartList) {
List<MesPartPtr> ptr = partPtrList.stream().filter(item -> item.getSrcPartNo().equals(orderPart.getPartNo())).collect(Collectors.toList()); List<MesPartPtr> ptr = partPtrList.stream().filter(item -> item.getSrcPartNo().equals(orderPart.getPartNo())).collect(Collectors.toList());
if (ptr.isEmpty()) { if (ptr.isEmpty()) {
@ -378,8 +371,10 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
break; break;
} }
} }
MesPartPtr mesPartPtr = null; MesPartPtr mesPartPtr = null;
MesPartPtrDetail mesPartPtrDetail = null; MesPartPtrDetail mesPartPtrDetail = null;
if (isCust) { if (isCust) {
//查找客户发送的ptr信息 //查找客户发送的ptr信息
List<MesPartPtr> custPartPtrList = ptr.stream().filter(item -> item.getIsCustomerSendPrtInfo() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() && custPtrPartList.contains(item.getSrcPartNo())).collect(Collectors.toList()); List<MesPartPtr> custPartPtrList = ptr.stream().filter(item -> item.getIsCustomerSendPrtInfo() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() && custPtrPartList.contains(item.getSrcPartNo())).collect(Collectors.toList());
@ -389,7 +384,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
} else { } else {
//获取相同总成的ptrId 在ptr详情中 //获取相同总成的ptrId 在ptr详情中
List<MesPartPtr> custPartPtrList = ptr.stream().filter(item -> item.getIsCustomerSendPrtInfo() == null || item.getIsCustomerSendPrtInfo() != CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()).collect(Collectors.toList()); List<MesPartPtr> custPartPtrList = ptr.stream().filter(item -> item.getIsCustomerSendPrtInfo() == null || item.getIsCustomerSendPrtInfo() != CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()).collect(Collectors.toList());
if (!custPtrPartList.isEmpty()) { if (!custPartPtrList.isEmpty()) {
mesPartPtr = custPartPtrList.get(0); mesPartPtr = custPartPtrList.get(0);
//查询ptr总成--只有特定总成才会替换 //查询ptr总成--只有特定总成才会替换
DdlPackBean detailPartPtr = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean detailPartPtr = DdlPackBean.getDdlPackBean(organizeCode);
@ -423,16 +418,23 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
ConvertBean.saveOrUpdate(mesPartPtrDetail, "JOB"); ConvertBean.saveOrUpdate(mesPartPtrDetail, "JOB");
partPtrDetailRao.update(mesPartPtrDetail); partPtrDetailRao.update(mesPartPtrDetail);
} }
List<MesWorkOrderAssembly> orderAssemblyList = assemblyList.stream().filter(item -> item.getAssemblyPartNo().equals(orderPart.getPartNo())).collect(Collectors.toList()); MesWorkOrderAssembly orderAssemblyList = null;
MesWorkOrderAssembly orderAssembly = orderAssemblyList.get(0); for (MesWorkOrderAssembly orderAssembly : assemblyList) {
orderAssembly.setAssemblyPartNo(mesPartSap.getPartNo()); String assemblyPartNo = orderAssembly.getAssemblyPartNo();
orderAssembly.setAssemblyPartName(mesPartSap.getPartName()); if (StringUtils.isNotBlank(assemblyPartNo) && assemblyPartNo.equals(mesPartPtr.getSrcPartNo())){
orderAssembly.setMatchRule(mesPartPtr.getReplacePartSnRule()); orderAssemblyList = orderAssembly;
}
}
if (!Objects.isNull(orderAssemblyList)){
orderAssemblyList.setAssemblyPartNo(mesPartSap.getPartNo());
orderAssemblyList.setAssemblyPartName(mesPartSap.getPartName());
orderAssemblyList.setMatchRule(mesPartPtr.getReplacePartSnRule());
ptrInfos.append("INFO|").append(mesPartPtr.getId()); ptrInfos.append("INFO|").append(mesPartPtr.getId());
if (mesPartPtrDetail != null) { if (mesPartPtrDetail != null) {
ptrInfos.append("PART|").append(mesPartPtrDetail.getId()); ptrInfos.append("PART|").append(mesPartPtrDetail.getId());
} }
} }
}
} }
if (ptrFlag && !fOrderFlag){ if (ptrFlag && !fOrderFlag){
@ -442,7 +444,17 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
}else { }else {
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue()); mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue());
} }
List<MesWorkOrderAssembly> assemblyList = new ArrayList<>(); /**
*
* {ORG}{dynamicRule}{dynamicRule}{dynamicrule}{serialNo}
* + +++
*/
GenSerialNoModel genSerialNoModel = new GenSerialNoModel("MES_WORK_ORDER_NO_WU_HAN");
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(organizeCode), "edi", mesPartProdGroupDetail.getOrganizeCode(), 1).getResultList();
String serialNo = resultList.get(0).replace("MES_WORK_ORDER_NO_WU_HAN", "");
String orderNoWuHan = organizeCode + mesWorkOrder.getOrderFlag() + sortInfo.getCustOrderCode() + mesWorkOrder.getShiftCode() + serialNo;
mesWorkOrder.setWorkOrderNo(orderNoWuHan);
if (!workOrderPartList.isEmpty()) { if (!workOrderPartList.isEmpty()) {
for (MesWorkOrderPart orderPart : workOrderPartList) { for (MesWorkOrderPart orderPart : workOrderPartList) {
orderPart.setOrganizeCode(organizeCode); orderPart.setOrganizeCode(organizeCode);

Loading…
Cancel
Save