From de0494d7a6f99f50fa33b9487dd2ffefca82e8b6 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 08 四月 2025 17:44:47 +0800
Subject: [PATCH] 标准库功能修改
---
basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml | 184 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 144 insertions(+), 40 deletions(-)
diff --git a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml
index fd67dfc..9b3ec8a 100644
--- a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml
+++ b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml
@@ -3,13 +3,65 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.basic.mapper.StructureItemParameterMapper">
+ <sql id="selectStandardTree">
+ sample sample2,
+ inspection_item,
+ inspection_item_en,
+ inspection_item_subclass,
+ inspection_item_subclass_en,
+ inspection_item_class,
+ inspection_item_class_en,
+ method,
+ son_laboratory,
+ unit,
+ ask_tell tell,
+ ask,
+ price,
+ man_hour,
+ man_hour_group,
+ man_day,
+ inspection_item_type,
+ inspection_value_type,
+ bsm,
+ template_id,
+ laboratory,
+ checkout_number,
+ section,
+ dic,
+ 0 state,
+ #{trees}
+ tree,
+ id
+ structure_item_parameter_id,
+ radius_list,
+ rates
+ </sql>
+
<delete id="removeNoSample">
delete
from structure_item_parameter
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,
@@ -40,32 +92,41 @@
inspection_item_class_en,
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
+ rates,
+ delegate_request_flag
+ 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">
@@ -85,37 +146,80 @@
<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 or inspection_item_subclass = '' then inspection_item
- else inspection_item_subclass end as subclass,
- case
- when inspection_item_class is null or inspection_item_class = '' then inspection_item
- else inspection_item_class end as item_class
- from structure_item_parameter
+ SELECT DISTINCT
+ id,
+ CASE
+ WHEN INSTR(sample, ',') > 0 THEN
+ TRIM(BOTH '"' FROM 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
+ OR TRIM(inspection_item_subclass) = '' THEN
+ inspection_item
+ ELSE
+ inspection_item_subclass
+ END AS subclass,
+ CASE
+ WHEN inspection_item_class IS NULL
+ OR TRIM(inspection_item_class) = '' THEN
+ inspection_item
+ ELSE
+ inspection_item_class
+ END AS item_class
+ FROM
+ structure_item_parameter;
</select>
<select id="getItemTree" resultMap="itemDto">
- select sto.id sId, sto.specimen_name sName, p.id pId, p.name pName
- from structure_test_object sto
- left join product p on p.object_id = sto.id
+ SELECT
+ sto.id AS sId,
+ sto.specimen_name AS labelName,
+ CONCAT(sto.specimen_name, ' (', sto.object_type, ')') AS sName,
+ p.id AS pId,
+ p.name AS pName,
+ sto.object_type
+ FROM
+ structure_test_object sto
+ LEFT JOIN
+ product p
+ ON p.object_id = sto.id;
</select>
<resultMap id="itemDto" type="com.ruoyi.basic.dto.TestItemDto">
<result column="sId" property="id"/>
<result column="sName" property="name"/>
+ <result column="labelName" property="labelName"/>
<collection property="children" resultMap="productDto"/>
</resultMap>
<resultMap id="productDto" type="com.ruoyi.basic.dto.ProductDto">
<result column="pId" property="id"/>
<result column="pName" property="name"/>
</resultMap>
+
+ <select id="selectItemParameterBySample" resultType="com.ruoyi.basic.pojo.StructureItemParameter">
+ select *
+ from structure_item_parameter
+ where (
+ sample is NULL
+ OR sample = ''
+ or sample = '[]'
+ OR sample LIKE CONCAT('%', #{structureItemParameterDto.tree}, '%')
+ )
+ <if test="structureItemParameterDto.delegateRequestFlag != null and structureItemParameterDto.delegateRequestFlag !='' ">
+ AND delegate_request_flag = #{structureItemParameterDto.delegateRequestFlag}
+ </if>
+
+ order by id asc
+ </select>
+
+ <select id="getItemTreeProduct" resultMap="itemDto">
+ select sto.id sId, sto.specimen_name sName, p.id pId, p.name pName
+ from structure_test_object sto
+ left join product p on p.object_id = sto.id
+ WHERE sto.object_type = #{objectType}
+ </select>
</mapper>
--
Gitblit v1.9.3