排序工单显示 优化

uat-temp-wj-shenshanorder
王杰 4 months ago
parent 808f999454
commit 07f55b5967

@ -93,17 +93,16 @@ public class MesProductionSortModuleService extends BaseModuleService {
// 获取工单信息
List<List<StationKvBean>> moduleContentContext = productionDispatchContextStepService.getModuleContentContext(reqBean);
// 发送班次班组和工单
StationResultBean resultBean = getStationResultBean(reqBean, moduleContentContext, prodShiftDataContext);
// 获取产成零件信息
List<MesProductionPartContext> productionPartContext = productionDispatchContextStepService.getProductionPartContext(reqBean);
// 排除掉空腔的产成零件
productionPartContext = CollectionUtils.isEmpty(productionPartContext) ? null : productionPartContext.stream().filter(o -> !StringUtils.isEmpty(o.getForeignKey())).collect(Collectors.toList());
// 发送班次班组和工单
StationResultBean resultBean = getStationResultBean(reqBean, moduleContentContext, prodShiftDataContext);
//封装工位展示的客制化信息 (获取当前工位最新修改的完成状态的队列单据数据 并根据其零件生产组代码按生产序号倒序前50条)
StationResultBean resultBeanCustom = getStationResultBean(queryQueueOrderTopFiftyProductSeq(reqBean, getNewPartProdGroupCode(reqBean, productionPartContext)));
StationResultBean resultBeanCustom = getStationResultBean(queryQueueOrderTopFiftyProductSeq(reqBean, getNewPartProdGroupCode(reqBean, moduleContentContext, productionPartContext)));
if (null == resultBeanCustom) this.sendMessage(reqBean, resultBean);
else this.sendMessage(reqBean, new StationResultBean().busiType(MesPcnEnumUtil.STATION_BUSI_TYPE.BUSI_LIST.getValue()).addStationResultBeans(resultBean).addStationResultBeans(resultBeanCustom));
@ -171,11 +170,20 @@ public class MesProductionSortModuleService extends BaseModuleService {
return queueOrderModelList;
}
private List<String> getNewPartProdGroupCode(StationRequestBean reqBean, List<MesProductionPartContext> productionPartContext) {
private List<String> getNewPartProdGroupCode(StationRequestBean reqBean, List<List<StationKvBean>> moduleContentContext, List<MesProductionPartContext> productionPartContext) {
// 获取工单信息
// 扫描验证完加工单才能拿到产成零件信息
if (!CollectionUtils.isEmpty(productionPartContext)) {
return productionPartContext.stream().map(MesProductionPartContext::getPartProdGroupCode).distinct().collect(Collectors.toList());
return (productionPartContext.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartProdGroupCode())))
.map(MesProductionPartContext::getPartProdGroupCode).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
}
//工序开始前可能会拿到页面顶部展示单加工单信息
if (!CollectionUtils.isEmpty(moduleContentContext)) {
return (moduleContentContext.stream()
.filter(o -> (null != o && o.stream().filter(i -> i.getKey().equals(MesPcnExtConstWords.PART_PROD_GROUP_CODE)).findFirst().isPresent()))
.map(o -> o.stream().filter(i -> i.getKey().equals(MesPcnExtConstWords.PART_PROD_GROUP_CODE)).findFirst().get().getValue()).collect(Collectors.toList())
).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
}
MesQueueOrder queueOrder = getNewQueueOrder(reqBean);

@ -251,6 +251,7 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
orderList.forEach(o -> StationKvBeanUtil.addStationKvBeanList(dataList, new ArrayList<>(),
new StationKvBean(MesPcnExtConstWords.WORK_ORDER_NO, "工单号", o.getWorkOrderNo()), new StationKvBean(MesPcnExtConstWords.PART_NO, "零件编码", o.getPartNo()),
new StationKvBean(MesPcnExtConstWords.CAR_MODEL_CODE, "车型配置", o.getCarModelCode()), new StationKvBean(MesPcnExtConstWords.CUST_ORDER_NO, "客户订单号", o.getCustOrderNo()),
new StationKvBean(MesPcnExtConstWords.PART_PROD_GROUP_CODE, "零件生产组代码", o.getPartProdGroupCode()).isDisplay(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()),
productionPartContextList.size() == 1 ? null : new StationKvBean(MesPcnExtConstWords.CAVITY, "腔数", new StringJoiner(MesPcnExtConstWords.SLANT_R).add(String.valueOf(index.updateAndGet(v -> v + 1))).add(String.valueOf(productionPartContextList.size())).toString())));
}

Loading…
Cancel
Save