mes-ptr完善逻辑

tags/yfai-mes-ext-v2.3
臧学普 6 months ago
parent 548113c995
commit ac38ee8ec3

@ -295,10 +295,19 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
/**
* bom,
*
*
* PTR 3
* 1.PTRPTR info
* 2.PTRF
* 3.PTR, P
*
* isCustomerSendPrtInfo 1ptr
* isInterPrt 1ptr
*/
Map<String,String> ptrRuleListMap = new HashMap<>();
//是否修改为P单
boolean isModifyPOrder = false;
boolean isFOrder = false;
//查询mes_part_ptr表根据物料清单查找ptr替换信息
if (!workOrderPartList.isEmpty()){
Map<String, MesWorkOrderPart> orderPartMap = workOrderPartList.stream().collect(Collectors.toMap(MesWorkOrderPart::getPartNo, Function.identity()));
@ -308,6 +317,8 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
List<String> ptrInfoList = Arrays.asList(ptrInfo.replace("_", "").split("\\|"));
if (!ptrInfoList.isEmpty()){
List<MesPartPtr> custPartPtrList = getCustPartPtrList(ptrInfoList, organizeCode);
long count = custPartPtrList.stream().filter(item -> item.getIsCustomerSendPrtInfo() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()).count();
if (count > 0){
for (MesPartPtr mesPartPtr : custPartPtrList) {
//根据mesPartPtr的目标零件号找到零件信息
String destPartNo = mesPartPtr.getDestPartNo();
@ -325,11 +336,21 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
}
}
}
}
List<String> partNoList = workOrderPartList.stream().map(MesWorkOrderPart::getPartNo).collect(Collectors.toList());
List<MesPartPtr> partPtrList = getPartPtrList(organizeCode, mesWorkOrder.getWorkCenterCode(), partNoList);
//装配件规则如果进行了零件替换 则使用ptr的规则 key 零件号value 是规则
long count = partPtrList.stream().filter(item -> item.getIsInterPrt() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()).count();
if (count > 0){
isFOrder = true;
}
for (MesPartPtr mesPartPtr : partPtrList) {
//查询ptr总成
DdlPackBean detailPartPtr = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesPartPtr.getId(),"ptrId",detailPartPtr);
DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(),"partNo",detailPartPtr);
int detailPtrPartCount = partPtrDetailRao.findByHqlWhereCount(detailPartPtr);
if (detailPtrPartCount > 0){
//根据mesPartPtr的目标零件号找到零件信息
String destPartNo = mesPartPtr.getDestPartNo();
String srcPartNo = mesPartPtr.getSrcPartNo();
@ -362,13 +383,18 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
}
}
}
}
// 生成装配件清单
if (!isFOrder){
if (isModifyPOrder){
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.PTR.getValue());
}else {
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue());
}
}else {
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.F.getValue());
}
/**
*
* {ORG}{dynamicRule}{dynamicRule}{dynamicrule}{serialNo}

Loading…
Cancel
Save