From ebede85283906f52dd45d0755d22140538038ac3 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 27 十二月 2024 13:27:47 +0800 Subject: [PATCH] 完成6.6供应商模块 --- cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml | 62 ++++++++++++++++++++++++------- 1 files changed, 48 insertions(+), 14 deletions(-) diff --git a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml index 02911c3..57616e4 100644 --- a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml +++ b/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml @@ -44,6 +44,7 @@ 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 @@ -78,20 +79,53 @@ <result property="name" column="subclass"/> </resultMap> <select id="getInsProduction" resultMap="getInsProductions"> - select distinct id, - CASE - WHEN INSTR(sample, ',') > 0 THEN - SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '","', 1), '"', -1) - when sample = '[""]' then '*' - ELSE - TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1)) - END - as sample, - inspection_item, - case - when inspection_item_subclass is null then inspection_item - else inspection_item_subclass end as subclass - from structure_item_parameter + WITH expanded_sample AS ( + SELECT + id, + CASE + WHEN INSTR(sample, '","') > 0 THEN + SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '","', 1), '"', -1) + when sample = '[]' then '*' + WHEN INSTR(sample, '"],["') > 0 THEN + TRIM(BOTH '["]' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '"],["', 1), '"', -1)) + ELSE + TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1)) + END + AS component1, + CASE + WHEN INSTR(sample, '"],["') > 0 THEN + TRIM(BOTH '["]' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '"],["', -1), '"', 1)) + ELSE + NULL + END AS component2, + inspection_item, + CASE + WHEN inspection_item_subclass IS NULL THEN inspection_item + ELSE inspection_item_subclass + END AS subclass + FROM + structure_item_parameter + ) + SELECT + id, + CASE + WHEN component1 IS NOT NULL THEN component1 + ELSE '*' + END AS sample, + inspection_item, + subclass + FROM + expanded_sample + UNION ALL + SELECT + id, + component2 AS sample, + inspection_item, + subclass + FROM + expanded_sample + WHERE + component2 IS NOT NULL; </select> <select id="getItemTree" resultMap="itemDto"> select sto.id sId, sto.specimen_name sName, p.id pId, p.name pName -- Gitblit v1.9.3