From 6d910029b6c81db0a2b66caa66952781397b153a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 29 八月 2026 13:45:52 +0800
Subject: [PATCH] feat(mes): 实现H5溯源页面与二维码内容集成
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/MesQcSeedQualityServiceImpl.java | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 46 insertions(+), 1 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/MesQcSeedQualityServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/MesQcSeedQualityServiceImpl.java
index 531c3cf..60b78c1 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/MesQcSeedQualityServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/MesQcSeedQualityServiceImpl.java
@@ -2,20 +2,31 @@
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualitySubmitReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.batch.MesProBatchDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.*;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO;
import cn.iocoder.yudao.module.mes.dal.mysql.qc.seedquality.*;
+import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockStateEnum;
+import cn.iocoder.yudao.module.mes.service.pro.batch.MesProBatchService;
+import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService;
+import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.jdbc.BadSqlGrammarException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.time.LocalDateTime;
import java.util.*;
-@Service @Validated
+@Service @Validated @Slf4j
public class MesQcSeedQualityServiceImpl implements MesQcSeedQualityService {
private static final Set<String> REQUIRED = Set.of("purity", "cleanliness", "germination_rate", "moisture");
@Resource private MesQcSeedQualityMapper qualityMapper;
@Resource private MesQcSeedQualityIndicatorMapper indicatorMapper;
+ @Resource private MesProBatchService proBatchService;
+ @Resource private MesWmBatchService mesWmBatchService;
+ @Resource private MesWmMaterialStockService materialStockService;
@Override @Transactional(rollbackFor = Exception.class)
public Long submit(MesQcSeedQualitySubmitReqVO reqVO) {
@@ -36,7 +47,41 @@
if (!codes.equals(REQUIRED)) throw new IllegalArgumentException("鍥涢」鎸囨爣涓嶅畬鏁�");
quality.setResult(passed ? 1 : 2);
qualityMapper.updateById(quality);
+ // 璐ㄦ鍚堟牸 鈫� 搴撳瓨鏁存壒鐢辨殏瀛樺簱锛堝緟璐ㄦ锛夎浆涓哄悎鏍煎簱锛堟寮忓簱瀛橈級
+ if (passed) {
+ MesProBatchDO proBatch = proBatchService.getBatchByCode(reqVO.getBatchCode());
+ if (proBatch != null) {
+ MesWmBatchDO wmBatch = mesWmBatchService.getOrCreateByProBatch(proBatch);
+ if (wmBatch != null) {
+ int updated = materialStockService.updateStockStateByBatchId(wmBatch.getId(),
+ MesWmStockStateEnum.QUALIFIED.getState(), MesWmStockStateEnum.TEMP.getState());
+ log.info("[submit][璐ㄦ鍚堟牸锛屾壒娆� {} 搴撳瓨鐢辨殏瀛樺簱杞悎鏍煎簱锛屽奖鍝� {} 鏉", reqVO.getBatchCode(), updated);
+ }
+ }
+ }
// 搴撲綅鐢卞悗鍙伴厤缃湇鍔℃帴绠★紝褰撳墠鐗堟湰淇濈暀瀹¤闂幆锛岀姝㈠墠绔紶鍏ュ簱浣嶃��
return quality.getId();
}
+
+ @Override
+ public List<MesQcSeedQualityDO> getQualityByBatchCode(String batchCode) {
+ try {
+ return qualityMapper.selectListByBatchCode(batchCode);
+ } catch (BadSqlGrammarException ex) {
+ // 绉嶅瓙璐ㄦ琛ㄦ湭鍒濆鍖栨椂瀹归敊锛屼笉闃诲鍏紑婧簮
+ log.warn("[getQualityByBatchCode][绉嶅瓙璐ㄦ琛ㄦ湭鍒濆鍖栵紝鎵规 {} 鏌ヨ澶辫触: {}]", batchCode, ex.getMessage());
+ return List.of();
+ }
+ }
+
+ @Override
+ public List<MesQcSeedQualityIndicatorDO> getIndicatorsByQualityId(Long qualityId) {
+ try {
+ return indicatorMapper.selectListByQualityId(qualityId);
+ } catch (BadSqlGrammarException ex) {
+ // 绉嶅瓙璐ㄦ琛ㄦ湭鍒濆鍖栨椂瀹归敊
+ log.warn("[getIndicatorsByQualityId][绉嶅瓙璐ㄦ鎸囨爣琛ㄦ湭鍒濆鍖栵紝璐ㄦ {} 鏌ヨ澶辫触: {}]", qualityId, ex.getMessage());
+ return List.of();
+ }
+ }
}
--
Gitblit v1.9.3