From 9075785a9e14f6220783d052d231f915c6930b87 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期三, 04 十一月 2026 10:21:45 +0800
Subject: [PATCH] revert(collect): 撤销 collect 数采模块(新高设备管理已有自己的采集方式)
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderParamRecordServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 35 insertions(+), 22 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderParamRecordServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderParamRecordServiceImpl.java
index c202af7..c1792b6 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderParamRecordServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderParamRecordServiceImpl.java
@@ -69,18 +69,9 @@
.collect(Collectors.toMap(MesPdProcessParamTemplateDetailDO::getId, d -> d));
// 4. 鏍¢獙蹇呭~鍙傛暟閮芥湁鍊�
- for (MesProWorkOrderParamRecordSaveReqVO.DetailItem item : createReqVO.getDetails()) {
- MesPdProcessParamTemplateDetailDO templateDetail = detailMap.get(item.getTemplateDetailId());
- if (templateDetail == null) {
- throw exception(PRO_WORK_ORDER_PARAM_RECORD_DETAIL_NOT_IN_TEMPLATE);
- }
- if (Boolean.TRUE.equals(templateDetail.getRequired())
- && (item.getParamValue() == null || item.getParamValue().isBlank())) {
- throw exception(PRO_WORK_ORDER_PARAM_RECORD_REQUIRED_PARAM_MISSING, templateDetail.getParamName());
- }
- }
- MesProTaskDO task = mesProTaskService.getTask(taskId);
- MesProWorkOrderDO workOrder = mesProWorkOrderService.getWorkOrder(task.getWorkOrderId());
+ validateParamDetails(templateDetails, createReqVO.getDetails());
+ MesProTaskDO task = mesProTaskService.validateTaskExists(taskId);
+ MesProWorkOrderDO workOrder = mesProWorkOrderService.validateWorkOrderExists(task.getWorkOrderId());
// 5. 鎻掑叆涓昏〃锛堝揩鐓фā鏉跨紪鐮併�佸悕绉帮級
MesProWorkOrderParamRecordDO record = MesProWorkOrderParamRecordDO.builder()
.workOrderId(workOrder.getId())
@@ -112,6 +103,37 @@
return record.getId();
}
+ /** 鏍¢獙妯℃澘涓殑鍏ㄩ儴蹇呭~椤癸紝涓嶈兘閫氳繃鐪佺暐鏄庣粏缁曡繃鏍¢獙銆� */
+ private void validateParamDetails(List<MesPdProcessParamTemplateDetailDO> templateDetails,
+ List<MesProWorkOrderParamRecordSaveReqVO.DetailItem> values) {
+ if (CollUtil.isEmpty(templateDetails)) {
+ throw exception(PRO_WORK_ORDER_PARAM_RECORD_TEMPLATE_NO_DETAIL);
+ }
+ Map<Long, MesPdProcessParamTemplateDetailDO> expected = templateDetails.stream()
+ .collect(Collectors.toMap(MesPdProcessParamTemplateDetailDO::getId, d -> d));
+ if (CollUtil.isEmpty(values)) {
+ throw exception(PRO_WORK_ORDER_PARAM_RECORD_DETAIL_NOT_IN_TEMPLATE);
+ }
+ Map<Long, String> submitted = new java.util.HashMap<>();
+ if (values != null) {
+ for (MesProWorkOrderParamRecordSaveReqVO.DetailItem item : values) {
+ if (item == null || item.getTemplateDetailId() == null || !expected.containsKey(item.getTemplateDetailId())) {
+ throw exception(PRO_WORK_ORDER_PARAM_RECORD_DETAIL_NOT_IN_TEMPLATE);
+ }
+ if (submitted.containsKey(item.getTemplateDetailId())) {
+ throw exception(PRO_WORK_ORDER_PARAM_RECORD_DUPLICATE_DETAIL);
+ }
+ submitted.put(item.getTemplateDetailId(), item.getParamValue());
+ }
+ }
+ for (MesPdProcessParamTemplateDetailDO detail : templateDetails) {
+ String value = submitted.get(detail.getId());
+ if (Boolean.TRUE.equals(detail.getRequired()) && (value == null || value.isBlank())) {
+ throw exception(PRO_WORK_ORDER_PARAM_RECORD_REQUIRED_PARAM_MISSING, detail.getParamName());
+ }
+ }
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
public void updateParamRecord(MesProWorkOrderParamRecordSaveReqVO updateReqVO) {
@@ -129,16 +151,7 @@
Map<Long, MesPdProcessParamTemplateDetailDO> detailMap = templateDetails.stream()
.collect(Collectors.toMap(MesPdProcessParamTemplateDetailDO::getId, d -> d));
- for (MesProWorkOrderParamRecordSaveReqVO.DetailItem item : updateReqVO.getDetails()) {
- MesPdProcessParamTemplateDetailDO templateDetail = detailMap.get(item.getTemplateDetailId());
- if (templateDetail == null) {
- throw exception(PRO_WORK_ORDER_PARAM_RECORD_DETAIL_NOT_IN_TEMPLATE);
- }
- if (Boolean.TRUE.equals(templateDetail.getRequired())
- && (item.getParamValue() == null || item.getParamValue().isBlank())) {
- throw exception(PRO_WORK_ORDER_PARAM_RECORD_REQUIRED_PARAM_MISSING, templateDetail.getParamName());
- }
- }
+ validateParamDetails(templateDetails, updateReqVO.getDetails());
// 4. 鏇存柊涓昏〃
MesProWorkOrderParamRecordDO updateObj = new MesProWorkOrderParamRecordDO();
--
Gitblit v1.9.3