|
|
@ -12,6 +12,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrder;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrder;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
|
|
@ -161,57 +162,20 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Map<String, Map<String, Object>> getWorkOrderMapSort(String organizeCode, String workCenterCode, String workCellCode, List<String> snList) {
|
|
|
|
public Map<String, Map<String, Object>> getWorkOrderMapSort(String organizeCode, List<String> snList) {
|
|
|
|
|
|
|
|
return getWorkOrderMapSort(organizeCode, snList, null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode) || StringUtils.isEmpty(workCellCode) || CollectionUtils.isEmpty(snList)) return null;
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public Map<String, Map<String, Object>> getWorkOrderMapSort(String organizeCode, List<String> snList, MesWorkCell workCell) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(organizeCode) || CollectionUtils.isEmpty(snList)) return null;
|
|
|
|
snList = snList.size() == 1 ? snList : snList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
|
|
|
|
snList = snList.size() == 1 ? snList : snList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Map<String, Object>> workOrderMap = new HashMap<>();
|
|
|
|
Map<String, Map<String, Object>> workOrderMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
|
|
for (String sn : snList) {
|
|
|
|
for (String sn : snList) {
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(sn)) continue;
|
|
|
|
if (StringUtils.isEmpty(sn)) continue;
|
|
|
|
|
|
|
|
workOrderMap.put(sn, getWorkOrderMapSort(organizeCode, sn, workCell));
|
|
|
|
Map<String, Object> itemMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (sn.length() == MesPcnExtConstWords.CUSTOMER_SN_LENGTH_GM) {
|
|
|
|
|
|
|
|
MesProduceSn produceSn = produceSnExtService.getProduceSnByCustSn(organizeCode, customerSnTransformService.transformBarCodeGm(sn));
|
|
|
|
|
|
|
|
if (null == produceSn || StringUtils.isEmpty(produceSn.getWorkOrderNo())) {
|
|
|
|
|
|
|
|
itemMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单及客户条码信息,客户条码[%s]信息无效!", sn));
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
} else itemMap.put(MesProduceSn.class.getSimpleName(), produceSn);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MesWorkOrder workOrder = getWorkOrder(organizeCode, produceSn.getWorkOrderNo());
|
|
|
|
|
|
|
|
if (null == workOrder) {
|
|
|
|
|
|
|
|
itemMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单信息,客户条码[%s]对应的加工单[%s]信息不存在!", sn, produceSn.getWorkOrderNo()));
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
} else itemMap.put(MesWorkOrder.class.getSimpleName(), workOrder);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MesQueueOrder queueOrder = produceSnExtService.getQueueOrder(organizeCode, workCenterCode, workCellCode, produceSn.getProductSn());
|
|
|
|
|
|
|
|
if (null == queueOrder) itemMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工位队列信息,客户条码[%s]工位队列信息不存在!", sn));
|
|
|
|
|
|
|
|
else itemMap.put(MesQueueOrder.class.getSimpleName(), queueOrder);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
MesProduceSn produceSn = produceSnExtService.getProduceSn(organizeCode, sn, sn);
|
|
|
|
|
|
|
|
if (null == produceSn) produceSn = produceSnExtService.getProduceSnByCustSn(organizeCode, sn);
|
|
|
|
|
|
|
|
if (null == produceSn || StringUtils.isEmpty(produceSn.getWorkOrderNo())) {
|
|
|
|
|
|
|
|
itemMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单及产品条码信息,加工单[%s]不存在产品条码信息!", sn));
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
} else itemMap.put(MesProduceSn.class.getSimpleName(), produceSn);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MesWorkOrder workOrder = getWorkOrder(organizeCode, produceSn.getWorkOrderNo());
|
|
|
|
|
|
|
|
if (null == workOrder) {
|
|
|
|
|
|
|
|
itemMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单信息,加工单[%s]信息无效!", produceSn.getWorkOrderNo()));
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
} else itemMap.put(MesWorkOrder.class.getSimpleName(), workOrder);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MesQueueOrder queueOrder = produceSnExtService.getQueueOrder(organizeCode, workCenterCode, workCellCode, produceSn.getProductSn());
|
|
|
|
|
|
|
|
if (null == queueOrder) itemMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工位队列信息,加工单[%s]工位队列信息不存在!", produceSn.getWorkOrderNo()));
|
|
|
|
|
|
|
|
else itemMap.put(MesQueueOrder.class.getSimpleName(), queueOrder);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
workOrderMap.put(sn, itemMap);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return workOrderMap;
|
|
|
|
return workOrderMap;
|
|
|
@ -219,30 +183,40 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Map<String, Object> getWorkOrderMapSort(String organizeCode, String sn) {
|
|
|
|
public Map<String, Object> getWorkOrderMapSort(String organizeCode, String sn) {
|
|
|
|
|
|
|
|
return getWorkOrderMapSort(organizeCode, sn, null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public Map<String, Object> getWorkOrderMapSort(String organizeCode, String sn, MesWorkCell workCell) {
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(sn)) return null;
|
|
|
|
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(sn)) return null;
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MesProduceSn produceSn;
|
|
|
|
if (sn.length() == MesPcnExtConstWords.CUSTOMER_SN_LENGTH_GM) {
|
|
|
|
if (sn.length() == MesPcnExtConstWords.CUSTOMER_SN_LENGTH_GM) {
|
|
|
|
MesProduceSn produceSn = produceSnExtService.getProduceSnByCustSn(organizeCode, customerSnTransformService.transformBarCodeGm(sn));
|
|
|
|
produceSn = produceSnExtService.getProduceSnByCustSn(organizeCode, customerSnTransformService.transformBarCodeGm(sn));
|
|
|
|
if (null == produceSn || StringUtils.isEmpty(produceSn.getWorkOrderNo())) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单及客户条码信息,客户条码[%s]信息无效!", sn));
|
|
|
|
if (null == produceSn || StringUtils.isEmpty(produceSn.getWorkOrderNo())) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单及客户条码信息,客户条码[%s]信息无效!", sn));
|
|
|
|
else resultMap.put(MesProduceSn.class.getSimpleName(), produceSn);
|
|
|
|
else resultMap.put(MesProduceSn.class.getSimpleName(), produceSn);
|
|
|
|
|
|
|
|
|
|
|
|
MesWorkOrder workOrder = getWorkOrder(organizeCode, produceSn.getWorkOrderNo());
|
|
|
|
|
|
|
|
if (null == workOrder) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单信息,客户条码[%s]对应的加工单[%s]信息不存在!", sn, produceSn.getWorkOrderNo()));
|
|
|
|
|
|
|
|
else resultMap.put(MesWorkOrder.class.getSimpleName(), workOrder);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
MesProduceSn produceSn = produceSnExtService.getProduceSn(organizeCode, sn, sn);
|
|
|
|
produceSn = produceSnExtService.getProduceSn(organizeCode, sn, sn);
|
|
|
|
if (null == produceSn) produceSn = produceSnExtService.getProduceSnByCustSn(organizeCode, sn);
|
|
|
|
if (null == produceSn) produceSn = produceSnExtService.getProduceSnByCustSn(organizeCode, sn);
|
|
|
|
if (null == produceSn || StringUtils.isEmpty(produceSn.getWorkOrderNo())) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单及产品条码信息,加工单[%s]不存在产品条码信息!", sn));
|
|
|
|
if (null == produceSn || StringUtils.isEmpty(produceSn.getWorkOrderNo())) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单及产品条码信息,加工单[%s]不存在产品条码信息!", sn));
|
|
|
|
else resultMap.put(MesProduceSn.class.getSimpleName(), produceSn);
|
|
|
|
else resultMap.put(MesProduceSn.class.getSimpleName(), produceSn);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (null != produceSn) {
|
|
|
|
MesWorkOrder workOrder = getWorkOrder(organizeCode, produceSn.getWorkOrderNo());
|
|
|
|
MesWorkOrder workOrder = getWorkOrder(organizeCode, produceSn.getWorkOrderNo());
|
|
|
|
if (null == workOrder) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单信息,加工单[%s]信息无效!", produceSn.getWorkOrderNo()));
|
|
|
|
if (null == workOrder) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单信息,客户条码[%s]对应的加工单[%s]信息不存在!", produceSn.getCustSn(), produceSn.getWorkOrderNo()));
|
|
|
|
else resultMap.put(MesWorkOrder.class.getSimpleName(), workOrder);
|
|
|
|
else resultMap.put(MesWorkOrder.class.getSimpleName(), workOrder);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (null != produceSn && null != workCell) {
|
|
|
|
|
|
|
|
MesQueueOrder queueOrder = produceSnExtService.getQueueOrder(organizeCode, workCell.getWorkCenterCode(), workCell.getWorkCellCode(), produceSn.getProductSn());
|
|
|
|
|
|
|
|
if (null == queueOrder) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工位队列信息,客户条码[%s]加工单[%s]工位队列信息不存在!", produceSn.getCustSn(), produceSn.getWorkOrderNo()));
|
|
|
|
|
|
|
|
else resultMap.put(MesQueueOrder.class.getSimpleName(), queueOrder);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
return resultMap;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|