From 7a681887e5a8e1aab49acc886974d354c69a280e Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 17 九月 2026 13:10:38 +0800
Subject: [PATCH] feat(mes): 新增质检指标分组树和平行测量功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcIndicatorResultServiceImpl.java | 37 ++++++++++++++++++++++++++++++++++++-
1 files changed, 36 insertions(+), 1 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcIndicatorResultServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcIndicatorResultServiceImpl.java
index 860ac64..fd74f59 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcIndicatorResultServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcIndicatorResultServiceImpl.java
@@ -14,6 +14,7 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.rqc.MesQcRqcDO;
import cn.iocoder.yudao.module.mes.dal.mysql.qc.indicatorresult.MesQcIndicatorResultMapper;
+import cn.iocoder.yudao.module.mes.enums.qc.MesQcIndicatorItemTypeEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcResultValueTypeEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum;
import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService;
@@ -82,7 +83,8 @@
// 2.2 鎵归噺鎻掑叆鏄庣粏
List<MesQcIndicatorResultDetailDO> details = BeanUtils.toBean(createReqVO.getItems(),
MesQcIndicatorResultDetailDO.class);
- details.forEach(detail -> detail.setResultId(result.getId()));
+ details.forEach(detail -> detail.setResultId(result.getId())
+ .setMeasureNo(Objects.requireNonNullElse(detail.getMeasureNo(), 1)));
resultDetailService.createDetailList(details);
return result.getId();
}
@@ -102,6 +104,7 @@
// 2.2 鎵归噺鏇存柊鏄庣粏
List<MesQcIndicatorResultDetailDO> details = BeanUtils.toBean(updateReqVO.getItems(),
MesQcIndicatorResultDetailDO.class);
+ details.forEach(detail -> detail.setMeasureNo(Objects.requireNonNullElse(detail.getMeasureNo(), 1)));
resultDetailService.createOrUpdateDetailList(details);
}
@@ -135,6 +138,34 @@
@Override
public Long getIndicatorResultCountByQcIdAndType(Long qcId, Integer qcType) {
return resultMapper.selectCountByQcIdAndType(qcId, qcType);
+ }
+
+ /**
+ * 鑾峰彇鎸囧畾璐ㄦ鍗曚笅鐨勬楠岀粨鏋滃垪琛�
+ *
+ * @param qcId 璐ㄦ鍗� ID
+ * @param qcType 璐ㄦ绫诲瀷
+ * @return 缁撴灉鍒楄〃
+ */
+ @Override
+ public List<MesQcIndicatorResultDO> getIndicatorResultListByQcIdAndType(Long qcId, Integer qcType) {
+ return resultMapper.selectListByQcIdAndType(qcId, qcType);
+ }
+
+ @Override
+ public List<MesQcIndicatorResultDO> getIndicatorResultListByQcIdsAndType(List<Long> qcIds, Integer qcType) {
+ if (CollUtil.isEmpty(qcIds)) {
+ return Collections.emptyList();
+ }
+ return resultMapper.selectListByQcIdsAndType(qcIds, qcType);
+ }
+
+ @Override
+ public List<MesQcIndicatorResultDetailDO> getIndicatorResultDetailListByResultIds(List<Long> resultIds) {
+ if (CollUtil.isEmpty(resultIds)) {
+ return Collections.emptyList();
+ }
+ return resultDetailService.getDetailListByResultIds(resultIds);
}
@Override
@@ -197,6 +228,10 @@
if (indicator == null || indicator.getResultType() == null) {
continue;
}
+ // 鍒嗙粍椤癸紙GROUP锛変粎鎵胯浇灞傜骇/鍏紡鏂囨湰锛屼笉褰曞叆鍊硷紝璺宠繃鏍煎紡鏍¢獙
+ if (Objects.equals(indicator.getItemType(), MesQcIndicatorItemTypeEnum.GROUP.getType())) {
+ continue;
+ }
Integer resultType = indicator.getResultType();
if (Objects.equals(resultType, MesQcResultValueTypeEnum.FLOAT.getType())) {
try {
--
Gitblit v1.9.3