|
|
@ -357,7 +357,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
//客户ptr信息
|
|
|
|
//客户ptr信息
|
|
|
|
StringBuilder ptrInfos = new StringBuilder();
|
|
|
|
StringBuilder ptrInfos = new StringBuilder();
|
|
|
|
String ptrInfo = mesWorkOrder.getPtrInfo();
|
|
|
|
String ptrInfo = mesWorkOrder.getPtrInfo();
|
|
|
|
List<String> custPtrPartList = Arrays.asList(ptrInfo.split("\\|"));
|
|
|
|
List<String> custPtrPartList = Arrays.asList(ptrInfo.replaceAll("_","").split("\\|"));
|
|
|
|
boolean ptrFlag = false;
|
|
|
|
boolean ptrFlag = false;
|
|
|
|
boolean custFlag = false;
|
|
|
|
boolean custFlag = false;
|
|
|
|
boolean fOrderFlag = false;
|
|
|
|
boolean fOrderFlag = false;
|
|
|
@ -369,8 +369,22 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
//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);
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* ptr 拆分成两种情况
|
|
|
|
|
|
|
|
* 1.客户ptr - PTR单
|
|
|
|
|
|
|
|
* 1.1 客户报文中给的是目标零件号
|
|
|
|
|
|
|
|
* 1.2 客户ptr时,ptr详情一定要为空
|
|
|
|
|
|
|
|
* 1.3 客户ptr时,ptr主表中是否卫客户发送ptr信息为选中
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* 2.内部ptr - PTR单
|
|
|
|
|
|
|
|
* 2.1 拆分bom,有替换就替换
|
|
|
|
|
|
|
|
* 2.2 是否内部PTR 不看
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* 3.内部PTR - F单
|
|
|
|
|
|
|
|
* 2.1 拆分bom,有替换就替换
|
|
|
|
|
|
|
|
* 2.2 如果选择了内部ptr 就是F单
|
|
|
|
|
|
|
|
*/
|
|
|
|
//遍历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()) {
|
|
|
@ -379,7 +393,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
//判断是否是客户替换
|
|
|
|
//判断是否是客户替换
|
|
|
|
boolean isCust = false;
|
|
|
|
boolean isCust = false;
|
|
|
|
for (MesPartPtr mesPartPtr : ptr) {
|
|
|
|
for (MesPartPtr mesPartPtr : ptr) {
|
|
|
|
if (custPtrPartList.contains(mesPartPtr.getSrcPartNo())) {
|
|
|
|
if (custPtrPartList.contains(mesPartPtr.getSeqInfoPrtPart()) && mesPartPtr.getIsCustomerSendPrtInfo() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) {
|
|
|
|
isCust = true;
|
|
|
|
isCust = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -390,7 +404,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
|
|
|
|
|
|
|
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.getSeqInfoPrtPart())).collect(Collectors.toList());
|
|
|
|
if (!custPartPtrList.isEmpty()) {
|
|
|
|
if (!custPartPtrList.isEmpty()) {
|
|
|
|
mesPartPtr = custPartPtrList.get(0);
|
|
|
|
mesPartPtr = custPartPtrList.get(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -479,9 +493,12 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (ptrFlag && custFlag){
|
|
|
|
if (ptrFlag && custFlag){
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.PTR.getValue());
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.PTR.getValue());
|
|
|
|
}else if (ptrFlag){
|
|
|
|
}else if (ptrFlag && fOrderFlag){
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.F.getValue());
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.F.getValue());
|
|
|
|
}else {
|
|
|
|
}else if (ptrFlag){
|
|
|
|
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.PTR.getValue());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue());
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|