diff --git a/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckItemVo.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckItemVo.java index f24f8cc6..24e170e4 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckItemVo.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckItemVo.java @@ -54,4 +54,6 @@ public class WmsCheckItemVo { //定性定量 private Integer qualitativeQuantitative; + private Long checkTaskItemId; + } diff --git a/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskVo.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskVo.java index 63550a4c..e2e85d09 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskVo.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskVo.java @@ -52,6 +52,7 @@ public class WmsCheckTaskVo { */ private String itemNames; + // 校验目标(JSON格式,存储复杂校验规则) private String verifyTarget; @@ -69,4 +70,24 @@ public class WmsCheckTaskVo { // 检验类型 private String inspectionType; + + // 目标上限 + private String targetUppers; + + // 目标下限 + private String targetLowers; + + // 标准目标 + private String standardTargets; + + // 单位 + private String units; + + // 定性定量:0=定性,1=定量 + private String qualitativeQuantitatives; + + // 实测值 + private String actualMeasures; + + private String checkTaskItemIds; } diff --git a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java index adf21441..9efd909d 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java @@ -22,6 +22,7 @@ import com.klp.mes.qc.mapper.WmsCheckTaskMapper; import com.klp.mes.qc.service.IWmsCheckTaskService; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.*; /** @@ -45,16 +46,44 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { public WmsCheckTaskVo queryById(Long taskId) { WmsCheckTaskVo vo = baseMapper.selectVoByIdPlus(taskId); if (vo != null && vo.getItemIds() != null) { - String[] ids = vo.getItemIds().split(","); + // 1. 拆分所有聚合字段(新增 checkTaskItemIds 的处理) + String[] ids = vo.getItemIds().split(","); // 检查项表的 item_id + String[] checkTaskItemIds = vo.getCheckTaskItemIds() != null ? vo.getCheckTaskItemIds().split(",") : new String[ids.length]; // 关联表的 item_id(新增) String[] names = vo.getItemNames() != null ? vo.getItemNames().split(",") : new String[ids.length]; String[] statusArr = vo.getItemStatus() != null ? vo.getItemStatus().split(",") : new String[ids.length]; + String[] targetUppers = vo.getTargetUppers() != null ? vo.getTargetUppers().split(",") : new String[ids.length]; + String[] targetLowers = vo.getTargetLowers() != null ? vo.getTargetLowers().split(",") : new String[ids.length]; + String[] standardTargets = vo.getStandardTargets() != null ? vo.getStandardTargets().split(",") : new String[ids.length]; + String[] units = vo.getUnits() != null ? vo.getUnits().split(",") : new String[ids.length]; + String[] qualitativeQuantitatives = vo.getQualitativeQuantitatives() != null ? vo.getQualitativeQuantitatives().split(",") : new String[ids.length]; + List itemList = new ArrayList<>(); for (int i = 0; i < ids.length; i++) { - if (!ids[i].isEmpty()) { + if (!ids[i].isEmpty()) { // 跳过空字符串(避免拆分后出现空元素) WmsCheckItemVo item = new WmsCheckItemVo(); + // 2. 赋值检查项 ID(原逻辑保留) item.setItemId(Long.valueOf(ids[i])); + // 3. 新增:赋值关联表的 item_id + if (checkTaskItemIds.length > i && !checkTaskItemIds[i].isEmpty()) { + item.setCheckTaskItemId(Long.valueOf(checkTaskItemIds[i])); // 假设 WmsCheckItemVo 有这个字段 + } + // 4. 其他字段赋值(保持原逻辑,补充判空) if (names.length > i) item.setItemName(names[i]); if (statusArr.length > i) item.setStatus(statusArr[i]); + // 处理数值类型时,先判空再转换,避免 NumberFormatException + if (targetUppers.length > i && StringUtils.isNotBlank(targetUppers[i])) { + item.setTargetUpper(new BigDecimal(targetUppers[i])); // 推荐用 new BigDecimal,避免 Double 精度问题 + } + if (targetLowers.length > i && StringUtils.isNotBlank(targetLowers[i])) { + item.setTargetLower(new BigDecimal(targetLowers[i])); + } + if (standardTargets.length > i && StringUtils.isNotBlank(standardTargets[i])) { + item.setStandardTarget(new BigDecimal(standardTargets[i])); + } + if (units.length > i) item.setUnit(units[i]); + if (qualitativeQuantitatives.length > i && StringUtils.isNotBlank(qualitativeQuantitatives[i])) { + item.setQualitativeQuantitative(Integer.parseInt(qualitativeQuantitatives[i])); + } itemList.add(item); } } @@ -63,6 +92,7 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { return vo; } + /** * 查询检查任务列表 */ diff --git a/klp-mes/src/main/resources/mapper/qc/WmsCheckTaskMapper.xml b/klp-mes/src/main/resources/mapper/qc/WmsCheckTaskMapper.xml index 0904914d..f2f611c6 100644 --- a/klp-mes/src/main/resources/mapper/qc/WmsCheckTaskMapper.xml +++ b/klp-mes/src/main/resources/mapper/qc/WmsCheckTaskMapper.xml @@ -32,7 +32,16 @@ GROUP BY t.task_id