From 87733eb3623593da247c051593d64b8ff9e1d3a4 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 06 十一月 2026 19:00:39 +0800
Subject: [PATCH] feat(crm,mes): 扩展客户字段与重构批次号生成逻辑
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java
index 98da11f..62969d0 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java
@@ -22,6 +22,7 @@
import cn.iocoder.yudao.module.mes.enums.pro.MesProPalletStatusEnum;
import cn.iocoder.yudao.module.mes.enums.trace.MesTraceCodeStatusEnum;
import cn.iocoder.yudao.module.mes.framework.qrcode.MesProQrLabelBuilder;
+import cn.iocoder.yudao.module.mes.framework.config.MesProperties;
import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
import cn.iocoder.yudao.module.mes.service.pro.bagcode.MesProBagCodeService;
import cn.iocoder.yudao.module.mes.service.pro.batch.MesProBatchService;
@@ -100,6 +101,8 @@
private MesTraceIntegrityService integrityService;
@Resource
private MesTraceConsumerScanEventMapper consumerScanEventMapper;
+ @Resource
+ private MesProperties mesProperties;
@Override
public MesProTracePublicRespVO queryTrace(String code) {
@@ -132,7 +135,9 @@
MesProTracePublicConfigRespVO respVO = new MesProTracePublicConfigRespVO();
respVO.setOperatorName(MesProQrLabelBuilder.resolveOperatorName());
respVO.setTraceUrl(MesProQrLabelBuilder.resolveTraceUrl());
+ respVO.setTraceLocationUrl(mesProperties.getTraceLocationUrl());
respVO.setImported(MesProQrLabelBuilder.isImported());
+ respVO.setTraceLocationRequired(mesProperties.isTraceLocationRequired());
return respVO;
}
@@ -367,14 +372,22 @@
}
private MesProTracePublicRespVO.QualityVO buildQuality(MesProBatchDO batch) {
- List<MesQcSeedQualityDO> list = qcSeedQualityService.getQualityByBatchCode(batch.getCode());
+ // 鍙岀嚎璐ㄦ锛氬悓涓�琚嬪瓨鍦ㄥ姞宸ラ儴銆侀攢鍞儴涓ゆ潯璁板綍锛屽叏閮ㄦ斁琛屾墠绠楀悎鏍硷紝浠讳竴鏉℃姤搴熷嵆涓嶅悎鏍�
+ List<MesQcSeedQualityDO> list = qcSeedQualityService.getQualityByBatchCode(batch.getCode()).stream()
+ .filter(quality -> quality.getBizType() == null || Integer.valueOf(1).equals(quality.getBizType()))
+ .toList();
if (CollUtil.isEmpty(list)) {
return null;
}
MesQcSeedQualityDO quality = list.get(0);
+ boolean released = list.stream().allMatch(item -> Integer.valueOf(40).equals(item.getWorkflowStatus()));
+ boolean scrapped = list.stream().anyMatch(item -> Integer.valueOf(70).equals(item.getWorkflowStatus()));
MesProTracePublicRespVO.QualityVO vo = new MesProTracePublicRespVO.QualityVO();
- vo.setResult(quality.getResult()).setResultName(qualityResultName(quality.getResult()))
- .setReason(quality.getReason()).setInspectorName(userName(quality.getInspectorId()))
+ Integer finalResult = scrapped ? 2 : released ? 1 : 0;
+ String reason = list.stream().map(MesQcSeedQualityDO::getReason)
+ .filter(StrUtil::isNotBlank).findFirst().orElse(quality.getReason());
+ vo.setResult(finalResult).setResultName(finalResult == 0 ? "澶嶆鎴栧鎵逛腑" : qualityResultName(finalResult))
+ .setReason(reason).setInspectorName(userName(quality.getInspectorId()))
.setInspectedAt(quality.getInspectedAt());
List<MesQcSeedQualityIndicatorDO> indicators = qcSeedQualityService.getIndicatorsByQualityId(quality.getId());
vo.setIndicators(convertList(indicators, ind -> {
--
Gitblit v1.9.3