tags/yfai-pcn-ext-v1.0
王杰 11 months ago
parent 41126d8e2b
commit 93eee6bb0e

@ -29,7 +29,7 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService {
if (StringUtils.isEmpty(organizeCode) || CollectionUtils.isEmpty(workOrderNoList)) return null; if (StringUtils.isEmpty(organizeCode) || CollectionUtils.isEmpty(workOrderNoList)) return null;
workOrderNoList = workOrderNoList.size() == 1 ? workOrderNoList : workOrderNoList.stream().filter(o -> StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); workOrderNoList = workOrderNoList.size() == 1 ? workOrderNoList : workOrderNoList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
if (workOrderNoList.size() == 1) DdlPreparedPack.getStringEqualPack(workOrderNoList.get(0), MesPcnExtConstWords.WORK_ORDER_NO, packBean); if (workOrderNoList.size() == 1) DdlPreparedPack.getStringEqualPack(workOrderNoList.get(0), MesPcnExtConstWords.WORK_ORDER_NO, packBean);

@ -53,7 +53,7 @@ public class MesEquipByPassReadStepService extends BaseStepService {
//获取上下文信息 //获取上下文信息
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getProductionProcessContext(reqBean); MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getProductionProcessContext(reqBean);
if (productionProcessContext.getSuccess()) return stepResult.isCompleted(false); if (!productionProcessContext.getSuccess()) return stepResult.isCompleted(false);
//当前工位使用的设备 //当前工位使用的设备
MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip(); MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip();

@ -77,7 +77,7 @@ public class MesProductSnCheckNosortStepService extends BaseStepService {
//验证上下文中主条码的有效性 封装 读/扫主条件信息到进料主条码数据信息中 //验证上下文中主条码的有效性 封装 读/扫主条件信息到进料主条码数据信息中
List<MesProductionPsInContext> productionPsInContextList = new ArrayList<>(); List<MesProductionPsInContext> productionPsInContextList = new ArrayList<>();
if (!checkProduceSnValid(reqBean, resultBean, stepResult, productionProcessContext, workCell, productSnList, productionPsInContextList).isCompleted()) if (!checkProduceSnValid(reqBean, resultBean, stepResult, productionProcessContext, workCell, productSnList, equipVariableCollectContextList, productionPsInContextList).isCompleted())
return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("验证失败!原因:%s!", stepResult.getMsg())); return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("验证失败!原因:%s!", stepResult.getMsg()));
//获取进料主条码数据信息 //获取进料主条码数据信息
@ -96,20 +96,21 @@ public class MesProductSnCheckNosortStepService extends BaseStepService {
} }
//获取进料主条码数据信息 //获取进料主条码数据信息
private StepResult checkProduceSnValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, private StepResult checkProduceSnValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesWorkCell workCell,
MesProductionProcessContext productionProcessContext, MesWorkCell workCell, List<String> productSnList, List<MesProductionPsInContext> productionPsInContextList) { List<String> productSnList, List<MesEquipVariableCollectContext> equipVariableCollectContextList, List<MesProductionPsInContext> productionPsInContextList) {
//根据零件条码查询零件条码信息 //根据零件条码查询零件条码信息
Map<String, List<MesProduceSn>> produceSnMap = produceSnExtService.getProduceSnMap(reqBean.getOrganizeCode(), productSnList); Map<String, List<MesProduceSn>> produceSnMap = produceSnExtService.getProduceSnMap(reqBean.getOrganizeCode(), productSnList);
for (String productSn : productSnList) { for (MesEquipVariableCollectContext equipVariableCollectContext : equipVariableCollectContextList) {
if (StringUtils.isEmpty(productSn)) continue; if (null == equipVariableCollectContext || StringUtils.isEmpty(equipVariableCollectContext.getEquipVariableValue())) continue;
if (CollectionUtils.isEmpty(produceSnMap) || !produceSnMap.containsKey(productSn)) productionPsInContextList.add(new MesProductionPsInContext(reqBean.getOrganizeCode(), productSn)); if (CollectionUtils.isEmpty(produceSnMap) || !produceSnMap.containsKey(equipVariableCollectContext.getEquipVariableValue()))
else createProductionPsInContext(reqBean, resultBean, stepResult, workCell, productSn, produceSnMap.get(productSn), productionPsInContextList); productionPsInContextList.add(new MesProductionPsInContext(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue()).messageSource(equipVariableCollectContext.getMessageSource()));
else createProductionPsInContext(reqBean, resultBean, stepResult, workCell, equipVariableCollectContext, produceSnMap.get(equipVariableCollectContext.getEquipVariableValue()), productionPsInContextList);
} }
return stepResult; return stepResult;
} }
private StepResult createProductionPsInContext(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, private StepResult createProductionPsInContext(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult,
MesWorkCell workCell, String productSn, List<MesProduceSn> produceSnList, List<MesProductionPsInContext> productionPsInContextList) { MesWorkCell workCell, MesEquipVariableCollectContext equipVariableCollectContext, List<MesProduceSn> produceSnList, List<MesProductionPsInContext> productionPsInContextList) {
String suffixMsg = !StringUtils.isEmpty(stepResult.getMsg()) ? stepResult.getMsg() + MesPcnExtConstWords.SEMICOLON : MesPcnExtConstWords.EMPTY; String suffixMsg = !StringUtils.isEmpty(stepResult.getMsg()) ? stepResult.getMsg() + MesPcnExtConstWords.SEMICOLON : MesPcnExtConstWords.EMPTY;
@ -118,19 +119,20 @@ public class MesProductSnCheckNosortStepService extends BaseStepService {
List<MesProduceSn> unknowList = produceSnList.stream().filter(o -> (null != o && o.getSnStatus().compareTo(MesExtEnumUtil.PRODUCE_SN_STATUS.UNKNOW.getValue()) == 0)).collect(Collectors.toList()); List<MesProduceSn> unknowList = produceSnList.stream().filter(o -> (null != o && o.getSnStatus().compareTo(MesExtEnumUtil.PRODUCE_SN_STATUS.UNKNOW.getValue()) == 0)).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(unknowList) && (unknowList.size() > 1 || (!unknowList.get(0).getWorkCenterCode().equals(reqBean.getWorkCenterCode()) || !unknowList.get(0).getWorkCellCode().equals(reqBean.getWorkCellCode())))) if (!CollectionUtils.isEmpty(unknowList) && (unknowList.size() > 1 || (!unknowList.get(0).getWorkCenterCode().equals(reqBean.getWorkCenterCode()) || !unknowList.get(0).getWorkCellCode().equals(reqBean.getWorkCellCode()))))
return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]信息条码状态已被%s标记[未知]", suffixMsg, productSn, return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]信息条码状态已被%s标记[未知]", suffixMsg, equipVariableCollectContext.getEquipVariableValue(),
unknowList.stream().filter(o -> null != o).map(o -> new StringJoiner(MesPcnExtConstWords.AND).add(o.getWorkCenterCode()).add(o.getWorkCellCode()).toString()).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)))); unknowList.stream().filter(o -> null != o).map(o -> new StringJoiner(MesPcnExtConstWords.AND).add(o.getWorkCenterCode()).add(o.getWorkCellCode()).toString()).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON))));
if (CollectionUtils.isEmpty(standardList)) productionPsInContextList.add(new MesProductionPsInContext(reqBean.getOrganizeCode(), productSn).relateId(unknowList.get(0).getId())); if (CollectionUtils.isEmpty(standardList))
productionPsInContextList.add(new MesProductionPsInContext(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue()).messageSource(equipVariableCollectContext.getMessageSource()).relateId(unknowList.get(0).getId()));
else { else {
if (MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue() != standardList.get(0).getQcStatus()) if (MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue() != standardList.get(0).getQcStatus())
return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]质量状态[%s]", suffixMsg, productSn, MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(standardList.get(0).getQcStatus()))); return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]质量状态[%s]", suffixMsg, equipVariableCollectContext.getEquipVariableValue(), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(standardList.get(0).getQcStatus())));
if (MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue() < standardList.get(0).getSnStatus()) if (MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue() < standardList.get(0).getSnStatus())
return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]条码状态[%s]", suffixMsg, productSn, MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(standardList.get(0).getSnStatus()))); return stepResult.isCompleted(false).msg(String.format("%s主条码[%s]条码状态[%s]", suffixMsg, equipVariableCollectContext.getEquipVariableValue(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(standardList.get(0).getSnStatus())));
productionPsInContextList.add(new MesProductionPsInContext(workCell, standardList.get(0)).relateId(CollectionUtils.isEmpty(unknowList) ? null : unknowList.get(0).getId())); productionPsInContextList.add(new MesProductionPsInContext(workCell, standardList.get(0)).messageSource(equipVariableCollectContext.getMessageSource()).relateId(CollectionUtils.isEmpty(unknowList) ? null : unknowList.get(0).getId()));
} }

@ -90,7 +90,7 @@ public class MesProductSnCheckSortStepService extends BaseStepService {
//封装 读/扫主条件信息到进料主条码数据信息中 //封装 读/扫主条件信息到进料主条码数据信息中
List<MesProductionPsInContext> productionPsInContextList = new ArrayList<>(); List<MesProductionPsInContext> productionPsInContextList = new ArrayList<>();
if (!CollectionUtils.isEmpty(productSnList)) productSnList.stream().filter(o -> null != o).forEach(o -> productionPsInContextList.add(new MesProductionPsInContext(workCell, produceSnMap.get(o).get(0)).relateId(queueOrderMap.get(o).get(0).getId()))); if (!CollectionUtils.isEmpty(productSnList)) equipVariableCollectContextList.stream().filter(o -> null != o).forEach(o -> productionPsInContextList.add(new MesProductionPsInContext(workCell, produceSnMap.get(o.getEquipVariableValue()).get(0)).messageSource(o.getMessageSource()).relateId(queueOrderMap.get(o).get(0).getId())));
//获取进料主条码数据信息 //获取进料主条码数据信息
List<MesProductionPsInContext> productionPsInContext = productionDispatchContextStepService.getProductionPsInContext(reqBean); List<MesProductionPsInContext> productionPsInContext = productionDispatchContextStepService.getProductionPsInContext(reqBean);

Loading…
Cancel
Save