PTR逻辑修改

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

@ -44,7 +44,7 @@ public class MesCreatePullOrderOfflineJob extends BaseMesScheduleJob {
@Override
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 {
String organizeCode = (String) paramMap.get("organizeCode");
List<String> pullCodeList = (List<String>) paramMap.get("pullCodeList");

@ -46,7 +46,7 @@ public class MesCreateSortRuleCfgOfflineJob extends BaseMesScheduleJob {
@Override
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 {
String organizeCode = (String) paramMap.get("organizeCode");
List<String> groupCodeList = (List<String>) paramMap.get("partProdCodeList");

@ -196,7 +196,7 @@ public class MesPackageRoundnessService implements IRoundnessStrategy {
return;
}
mesCreateWorkOrder.createWorkOrder(partProdGroup, mesPartProdGroupDetail, mesPart, sortInfo,productSeq);
mesCreateWorkOrder.createWorkOrder(partProdGroup, mesPartProdGroupDetail, mesPart, sortInfo,productSeq);
// doCreateWorkOrder(partProdGroup, mesPartProdGroupDetail, mesPart, sortInfo);
qty -= custQty;
sortInfoList.remove(sortInfo);

@ -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());
}
/**
*
* {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,
@ -357,14 +348,16 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
List<String> custPtrPartList = Arrays.asList(ptrInfo.split("\\|"));
boolean ptrFlag = false;
boolean fOrderFlag = false;
List<MesWorkOrderAssembly> assemblyList = new ArrayList<>();
if (!workOrderPartList.isEmpty()) {
//是否基于排序加工规则--待定
//查询装配目视项
List<MesWorkOrderAssembly> assemblyList = getAssemblyList(mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getCarModelCode(), workOrderPartList, partProdGroup);
assemblyList = getAssemblyList(mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getCarModelCode(), workOrderPartList, partProdGroup);
//ptr信息
List<String> partNoList = workOrderPartList.stream().map(MesWorkOrderPart::getPartNo).collect(Collectors.toList());
List<MesPartPtr> partPtrList = getPartPtrList(organizeCode, mesWorkOrder.getWorkCenterCode(), partNoList);
//遍历workOrderPartList
for (MesWorkOrderPart orderPart : workOrderPartList) {
List<MesPartPtr> ptr = partPtrList.stream().filter(item -> item.getSrcPartNo().equals(orderPart.getPartNo())).collect(Collectors.toList());
if (ptr.isEmpty()) {
@ -378,8 +371,10 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
break;
}
}
MesPartPtr mesPartPtr = null;
MesPartPtrDetail mesPartPtrDetail = null;
if (isCust) {
//查找客户发送的ptr信息
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 {
//获取相同总成的ptrId 在ptr详情中
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);
//查询ptr总成--只有特定总成才会替换
DdlPackBean detailPartPtr = DdlPackBean.getDdlPackBean(organizeCode);
@ -423,15 +418,22 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
ConvertBean.saveOrUpdate(mesPartPtrDetail, "JOB");
partPtrDetailRao.update(mesPartPtrDetail);
}
List<MesWorkOrderAssembly> orderAssemblyList = assemblyList.stream().filter(item -> item.getAssemblyPartNo().equals(orderPart.getPartNo())).collect(Collectors.toList());
MesWorkOrderAssembly orderAssembly = orderAssemblyList.get(0);
orderAssembly.setAssemblyPartNo(mesPartSap.getPartNo());
orderAssembly.setAssemblyPartName(mesPartSap.getPartName());
orderAssembly.setMatchRule(mesPartPtr.getReplacePartSnRule());
ptrInfos.append("INFO|").append(mesPartPtr.getId());
if (mesPartPtrDetail != null) {
ptrInfos.append("PART|").append(mesPartPtrDetail.getId());
MesWorkOrderAssembly orderAssemblyList = null;
for (MesWorkOrderAssembly orderAssembly : assemblyList) {
String assemblyPartNo = orderAssembly.getAssemblyPartNo();
if (StringUtils.isNotBlank(assemblyPartNo) && assemblyPartNo.equals(mesPartPtr.getSrcPartNo())){
orderAssemblyList = orderAssembly;
}
}
if (!Objects.isNull(orderAssemblyList)){
orderAssemblyList.setAssemblyPartNo(mesPartSap.getPartNo());
orderAssemblyList.setAssemblyPartName(mesPartSap.getPartName());
orderAssemblyList.setMatchRule(mesPartPtr.getReplacePartSnRule());
ptrInfos.append("INFO|").append(mesPartPtr.getId());
if (mesPartPtrDetail != null) {
ptrInfos.append("PART|").append(mesPartPtrDetail.getId());
}
}
}
}
@ -442,7 +444,17 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
}else {
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()) {
for (MesWorkOrderPart orderPart : workOrderPartList) {
orderPart.setOrganizeCode(organizeCode);

Loading…
Cancel
Save