From 5ac3cab3bc6a877c59719cc4b4de758444ea4dd8 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期一, 07 四月 2025 15:12:12 +0800 Subject: [PATCH] Merge branch 'radio_frequency' of http://114.132.189.42:9002/r/lims-ruoyi-after into radio_frequency --- basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml | 64 ++++++++++++++++++++++--------- basic-server/src/main/java/com/ruoyi/basic/excel/MultiSheetImportListener.java | 6 -- 2 files changed, 46 insertions(+), 24 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/excel/MultiSheetImportListener.java b/basic-server/src/main/java/com/ruoyi/basic/excel/MultiSheetImportListener.java index 281061c..298b820 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/excel/MultiSheetImportListener.java +++ b/basic-server/src/main/java/com/ruoyi/basic/excel/MultiSheetImportListener.java @@ -78,8 +78,7 @@ // 鏌ヨ鏁版嵁搴撲腑鏄惁瀛樺湪鐩稿悓璁板綍 LambdaQueryWrapper<StructureItemParameter> wrapper = Wrappers.lambdaQuery(StructureItemParameter.class) .eq(StructureItemParameter::getInspectionItem, data.getInspectionItem()) - .eq(StructureItemParameter::getSample, data.getSample()) - .last("limit 1"); + .eq(StructureItemParameter::getSample, data.getSample()); // 鍒ゆ柇鏄惁鏈夋楠岄」绫诲瀷 if (ObjectUtils.isNotEmpty(data.getInspectionItemClass())) { @@ -169,9 +168,6 @@ if (data.getManDay() == null) { data.setManDay(null); } - - // 璁剧疆褰撳墠Sheet鍚嶄负鍒嗙被鏍囪瘑 - data.setInspectionItemClass(currentSheetName); // 娣诲姞鍒扮紦瀛樺垪琛� cachedList.add(data); diff --git a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml index c8c4ea8..ae4ba83 100644 --- a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml +++ b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml @@ -43,7 +43,25 @@ where sample like concat('%', #{sample}, '%') </delete> <select id="selectItemParameterList" resultType="com.ruoyi.basic.pojo.StructureItemParameter"> - select * from (select A.id, + WITH temp_sample AS ( + SELECT + *, + CASE + WHEN INSTR(sample, ',') > 0 THEN + SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '","', 1), '"', -1) + WHEN sample = '[""]' THEN + NULL + WHEN sample = '[]' THEN + NULL + ELSE + TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1)) + END AS samples + FROM + structure_item_parameter + ), + temp_join AS ( + SELECT DISTINCT + A.id, inspection_item, inspection_item_en, inspection_item_subclass, @@ -75,31 +93,39 @@ code, radius_list, rates - from (select *, - CASE - WHEN INSTR(sample, ',') > 0 THEN - SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '","', 1), '"', -1) - when sample = '[""]' then null - when sample = '[]' then null - ELSE - TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1)) - END AS samples - from structure_item_parameter) A - left join structure_test_object sto on samples = specimen_name + FROM + temp_sample A + LEFT JOIN + structure_test_object sto ON A.samples = sto.specimen_name <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} - </if>)B - order by CASE + </if> + ) + SELECT + * + FROM + temp_join + ORDER BY + -- 澶勭悊 code 瀛楁鐨勬帓搴� + CASE WHEN code IS NULL THEN 1 ELSE 0 END, CAST(code AS UNSIGNED), - case when man_hour_group is NULL then 1 - when man_hour_group ='' then 1 else 0 end, + -- 澶勭悊 man_hour_group 瀛楁鐨勬帓搴� CASE - WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴� - WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒� - ,id asc + WHEN man_hour_group IS NULL OR man_hour_group = '' THEN 1 + ELSE 0 + END, + CASE + WHEN man_hour_group REGEXP '^[0-9]' THEN + CAST(man_hour_group AS UNSIGNED) + WHEN man_hour_group REGEXP '[0-9]+' THEN + CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) + ELSE + NULL + END, + id ASC </select> <resultMap id="getInsProductions" type="map"> -- Gitblit v1.9.3