| | |
| | | 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, |
| | |
| | | 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"> |
| | |
| | | <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"> |
| | |
| | | sample is NULL |
| | | OR sample = '' |
| | | or sample = '[]' |
| | | OR sample LIKE CONCAT('%', #{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> |
| | | |