排序推单

uat-temp-wj-shenshanorder
王杰 3 months ago
parent 07f55b5967
commit a6c556fd17

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import io.swagger.annotations.ApiOperation;
@ -44,12 +45,18 @@ public interface IMesWorkOrderExtService {
@ApiOperation(value = "根据生产工单ID查询生产工单信息")
List<MesWorkOrder> getWorkOrderListByShiftCode(String organizeCode, String workCenterCode, String shiftCode);
@ApiOperation(value = "根据条码集合 查询生产工单/产品条码(排序)")
Map<String, Map<String, Object>> getWorkOrderMapSort(String organizeCode, List<String> snList);
@ApiOperation(value = "根据条码集合 查询生产工单/产品条码/队列数据(排序)")
Map<String, Map<String, Object>> getWorkOrderMapSort(String organizeCode, String workCenterCode, String workCellCode, List<String> snList);
Map<String, Map<String, Object>> getWorkOrderMapSort(String organizeCode, List<String> snList, MesWorkCell workCell);
@ApiOperation(value = "根据工单或者客户条码 查询生产工单/产品条码(排序)")
Map<String, Object> getWorkOrderMapSort(String organizeCode, String sn);
@ApiOperation(value = "根据工单或者客户条码 查询生产工单/产品条码/队列数据(排序)")
Map<String, Object> getWorkOrderMapSort(String organizeCode, String sn, MesWorkCell workCell);
@ApiOperation(value = "根据工单或者客户条码 查询生产工单信息(排序)")
BaseBean getWorkOrderSort(String organizeCode, String sn, Boolean isBackOrder);

@ -201,11 +201,10 @@ public class MesProduceSnExtService implements IMesProduceSnExtService {
//根据零件条码,生产线,工位查询工位队列信息
@Override
public Map<String, List<MesQueueOrder>> getQueueOrderMap(String organizeCode, String workCenterCode, String workCellCode, List<String> productSnList) {
//根据零件条码,生产线,工位查询工位队列信息
List<MesQueueOrder> queueOrderList = getQueueOrderList(organizeCode, workCenterCode, workCellCode, productSnList);
//先排序再分组
return CollectionUtils.isEmpty(queueOrderList) ? null : queueOrderList.stream().filter(o -> null != o).collect(Collectors.groupingBy(MesQueueOrder::getProductSn));
}
private List<MesProduceSn> distinctProduceSnList(List<MesProduceSn> produceSnDataList) {

@ -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.mes.bean.MesProduceSn;
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.repository.MesWorkOrderRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
@ -161,57 +162,20 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService {
}
@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());
Map<String, Map<String, Object>> workOrderMap = new HashMap<>();
for (String sn : snList) {
if (StringUtils.isEmpty(sn)) continue;
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);
workOrderMap.put(sn, getWorkOrderMapSort(organizeCode, sn, workCell));
}
return workOrderMap;
@ -219,30 +183,40 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService {
@Override
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;
Map<String, Object> resultMap = new HashMap<>();
MesProduceSn produceSn;
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));
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 {
MesProduceSn produceSn = produceSnExtService.getProduceSn(organizeCode, sn, sn);
produceSn = produceSnExtService.getProduceSn(organizeCode, sn, sn);
if (null == produceSn) produceSn = produceSnExtService.getProduceSnByCustSn(organizeCode, sn);
if (null == produceSn || StringUtils.isEmpty(produceSn.getWorkOrderNo())) resultMap.put(MesPcnExtConstWords.MESSAGE, String.format("请检查工单及产品条码信息,加工单[%s]不存在产品条码信息!", sn));
else resultMap.put(MesProduceSn.class.getSimpleName(), produceSn);
}
if (null != produceSn) {
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);
}
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;
}

@ -116,6 +116,8 @@ public class MesProductSeqCheckSortStepService extends MesProductSeqCheckStepSer
if (workOrder.getWorkOrderStatus().compareTo(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()) >= 0) return true;
//以下是加工中状态下的验证
//根据生产工单,生产线,工位查询工位队列信息
List<MesQueueOrder> queueOrderList = produceSnExtService.getQueueOrderList(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), workOrder.getWorkOrderNo());
Optional<MesQueueOrder> optional = CollectionUtils.isEmpty(queueOrderList) ? null : queueOrderList.stream().filter(o -> (null != o && o.getStatus().compareTo(MesExtEnumUtil.QUEUE_ORDER_STATUS.CREATE.getValue()) == 0)).findFirst();

@ -60,9 +60,6 @@ public class MesWorkOrderCheckNosortStepService extends MesWorkOrderCheckStepSer
//清除本次已获取得到的加工单信息
productionDispatchContextStepService.removeScanWorkOrderNoContext(reqBean);
//从上下文中取出生产线对象
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
//获取上下文产出零件信息
List<MesProductionPartContext> cachedProductionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
@ -99,7 +96,7 @@ public class MesWorkOrderCheckNosortStepService extends MesWorkOrderCheckStepSer
try {
//验证工单的有效性
if (!checkWorkOrderValid(reqBean, resultBean, stepResult, productionProcessContext, workCenter, equipVariableCollectContextList, productionPartContextList).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
if (!checkWorkOrderValid(reqBean, resultBean, stepResult, productionProcessContext, equipVariableCollectContextList, productionPartContextList).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
//扫描场景下合并历史产出零件信息
if (MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getValue() == equipVariableCollectContextList.get(0).getMessageSource() && !CollectionUtils.isEmpty(cachedProductionPartContextList)) productionPartContextList.addAll(cachedProductionPartContextList);
@ -173,9 +170,12 @@ public class MesWorkOrderCheckNosortStepService extends MesWorkOrderCheckStepSer
}
//验证工单的有效性
private StepResult checkWorkOrderValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesWorkCenter workCenter,
private StepResult checkWorkOrderValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext,
List<MesEquipVariableCollectContext> equipVariableCollectContextList, List<MesProductionPartContext> productionPartContextList) {
//从上下文中取出生产线对象
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
//搜集生产工单号
List<String> filterList = equipVariableCollectContextList.stream().filter(o -> (null != o)).map(MesEquipVariableCollectContext::getEquipVariableValue).collect(Collectors.toList());
List<String> workOrderNoList = filterList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList());

@ -6,10 +6,7 @@ import cn.estsh.i3plus.mes.pcn.util.StationKvBeanUtil;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.StationKvBean;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
@ -55,9 +52,6 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
//清除本次已获取得到的加工单信息
productionDispatchContextStepService.removeScanWorkOrderNoContext(reqBean);
//从上下文中取出生产线对象
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
//获取上下文产出零件信息
List<MesProductionPartContext> cachedProductionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
List<MesProductionPsInContext> cachedProductionPsInContextList = null;
@ -103,8 +97,10 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
List<MesProductionPartContext> productionPartContextList = new ArrayList<>();
List<MesProductionPsInContext> productionPsInContextList = new ArrayList<>();
List<MesProductionPsOutContext> productionPsOutContextList = new ArrayList<>();
if (!checkWorkOrderValid(reqBean, resultBean, stepResult, productionProcessContext, workCenter,
equipVariableCollectContextList, productionPartContextList, productionPsInContextList, productionPsOutContextList).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
if (!checkWorkOrderValid(reqBean, resultBean, stepResult, productionProcessContext,
equipVariableCollectContextList, productionPartContextList, productionPsInContextList, productionPsOutContextList).isCompleted()) {
return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
}
//扫描场景下合并历史产出零件信息/产品条码信息
if (MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getValue() == equipVariableCollectContextList.get(0).getMessageSource() && !CollectionUtils.isEmpty(cachedProductionPartContextList)) {
@ -173,16 +169,22 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
}
//验证工单的有效性
private StepResult checkWorkOrderValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult,
MesProductionProcessContext productionProcessContext, MesWorkCenter workCenter,
private StepResult checkWorkOrderValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext,
List<MesEquipVariableCollectContext> equipVariableCollectContextList, List<MesProductionPartContext> productionPartContextList,
List<MesProductionPsInContext> productionPsInContextList, List<MesProductionPsOutContext> productionPsOutContextList) {
//从上下文中取出生产线与工位对象
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
MesWorkCell workCell = productionProcessContext.getWorkCell();
//搜集生产工单号
List<String> filterList = equipVariableCollectContextList.stream().filter(o -> (null != o)).map(MesEquipVariableCollectContext::getEquipVariableValue).collect(Collectors.toList());
List<String> workOrderNoList = filterList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList());
Map<String, Map<String, Object>> workOrderMap = workOrderExtService.getWorkOrderMapSort(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), workOrderNoList);
Map<String, Map<String, Object>> workOrderMap;
if (StringUtils.isEmpty(workCenter.getIsPushQueue()) || workCenter.getIsPushQueue().compareTo(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) != 0)
workOrderMap = workOrderExtService.getWorkOrderMapSort(reqBean.getOrganizeCode(), workOrderNoList, workCell);
else workOrderMap = workOrderExtService.getWorkOrderMapSort(reqBean.getOrganizeCode(), workOrderNoList);
for (String workOrderNo : workOrderNoList) {
@ -209,7 +211,7 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
return stepResult.isCompleted(false).msg(String.format("请检查工单产品条码信息,产品条码[%s]条码状态[%s]", produceSn.getProductSn(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus())));
MesQueueOrder queueOrder = (MesQueueOrder) itemMap.get(MesQueueOrder.class.getSimpleName());
if (MesExtEnumUtil.QUEUE_ORDER_STATUS.FINISH.getValue() == queueOrder.getStatus())
if (null != queueOrder && MesExtEnumUtil.QUEUE_ORDER_STATUS.FINISH.getValue() == queueOrder.getStatus())
return stepResult.isCompleted(false).msg(String.format("请检查工单工位队列信息,加工单[%s]工位队列状态[%s]", workOrderNo, MesExtEnumUtil.QUEUE_ORDER_STATUS.valueOfDescription(queueOrder.getStatus())));
//封装产成零件
@ -218,7 +220,10 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
productionPartContextList.add(productionPartContext);
//封装产品条码
productionPsInContextList.add(new MesProductionPsInContext(produceSn).isCheck(productionProcessContext.getWorkCell()).messageSource(equipVariableCollectContextList.get(0).getMessageSource()).relateId(queueOrder.getId()));
productionPsInContextList.add(new MesProductionPsInContext(produceSn)
.isCheck(productionProcessContext.getWorkCell()).messageSource(equipVariableCollectContextList.get(0).getMessageSource())
.relateId(null != queueOrder ? queueOrder.getId() : null)
);
//封装产出条码
MesProductionPsOutContext productionPsOutContext = new MesProductionPsOutContext().copy(produceSn);

@ -6,10 +6,7 @@ import cn.estsh.i3plus.mes.pcn.util.StationKvBeanUtil;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.StationKvBean;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
@ -55,9 +52,6 @@ public class MesWorkOrderCheckSortStepServiceBak extends MesWorkOrderCheckStepSe
//清除本次已获取得到的加工单信息
productionDispatchContextStepService.removeScanWorkOrderNoContext(reqBean);
//从上下文中取出生产线对象
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
//获取上下文产出零件信息
List<MesProductionPartContext> cachedProductionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
List<MesProductionPsInContext> cachedProductionPsInContextList = null;
@ -103,8 +97,10 @@ public class MesWorkOrderCheckSortStepServiceBak extends MesWorkOrderCheckStepSe
List<MesProductionPartContext> productionPartContextList = new ArrayList<>();
List<MesProductionPsInContext> productionPsInContextList = new ArrayList<>();
List<MesProductionPsOutContext> productionPsOutContextList = new ArrayList<>();
if (!checkWorkOrderValid(reqBean, resultBean, stepResult, productionProcessContext, workCenter,
equipVariableCollectContextList, productionPartContextList, productionPsInContextList, productionPsOutContextList).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
if (!checkWorkOrderValid(reqBean, resultBean, stepResult, productionProcessContext,
equipVariableCollectContextList, productionPartContextList, productionPsInContextList, productionPsOutContextList).isCompleted()) {
return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
}
//扫描场景下合并历史产出零件信息/产品条码信息
if (MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getValue() == equipVariableCollectContextList.get(0).getMessageSource() && !CollectionUtils.isEmpty(cachedProductionPartContextList)) {
@ -173,16 +169,19 @@ public class MesWorkOrderCheckSortStepServiceBak extends MesWorkOrderCheckStepSe
}
//验证工单的有效性
private StepResult checkWorkOrderValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult,
MesProductionProcessContext productionProcessContext, MesWorkCenter workCenter,
private StepResult checkWorkOrderValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext,
List<MesEquipVariableCollectContext> equipVariableCollectContextList, List<MesProductionPartContext> productionPartContextList,
List<MesProductionPsInContext> productionPsInContextList, List<MesProductionPsOutContext> productionPsOutContextList) {
//从上下文中取出生产线与工位对象
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
MesWorkCell workCell = productionProcessContext.getWorkCell();
//搜集生产工单号
List<String> filterList = equipVariableCollectContextList.stream().filter(o -> (null != o)).map(MesEquipVariableCollectContext::getEquipVariableValue).collect(Collectors.toList());
List<String> workOrderNoList = filterList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList());
Map<String, Map<String, Object>> workOrderMap = workOrderExtService.getWorkOrderMapSort(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), workOrderNoList);
Map<String, Map<String, Object>> workOrderMap = workOrderExtService.getWorkOrderMapSort(reqBean.getOrganizeCode(), workOrderNoList, workCell);
for (String workOrderNo : workOrderNoList) {

@ -127,7 +127,7 @@ public class MesProductionPsInContext implements Serializable {
}
public MesProductionPsInContext relateId(Long relateId) {
this.relateId = relateId;
if (!StringUtils.isEmpty(relateId)) this.relateId = relateId;
return this;
}

Loading…
Cancel
Save