zss
2024-08-08 e07e8d4ccd220af0cb6d51cde68bff6434a6e623
inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -57,7 +57,7 @@
                 left join product p on p.object_id = sto.id
                 left join standard_tree st on st.sample_type = sto.specimen_name
            and st.sample = p.name
        order by l.id, CAST(sto.code AS DECIMAL), p.id, ISNULL (st.id), st.id
        order by l.id, CAST(sto.code AS DECIMAL), p.id, ISNULL(st.id), st.id
    </select>
    <select id="selectStandardProductById" resultType="com.yuanchu.mom.pojo.StandardProductList">
@@ -161,18 +161,24 @@
               id        structure_item_parameter_id
        from structure_item_parameter
        where (
                      sample is NULL
                      OR sample = ''
                      or sample = '[]'
                      OR sample LIKE CONCAT('%[', #{tree}, ']%')
                  )
        order by case when man_hour_group is NULL then 1
                      when man_hour_group ='' then 1  else 0 end,
                sample is NULL
                OR sample = ''
                or sample = '[]'
                OR sample LIKE CONCAT('%[', #{tree}, ']%')
            )
          and (laboratory is null
            or laboratory = ''
            or laboratory = #{laboratory})
        order by case
                     when man_hour_group is NULL then 1
                     when 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) END -- 提取字母后面的数字部分
                     WHEN man_hour_group REGEXP '[0-9]+'
                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 提取字母后面的数字部分
                ,id asc
                , id asc
    </select>
    <select id="selectStandardProductListByTree2" resultType="com.yuanchu.mom.pojo.StandardProductList">
@@ -207,13 +213,19 @@
               id        structure_item_parameter_id
        from structure_item_parameter
        where sample LIKE CONCAT('%[', #{tree}, ']%')
        order by case when man_hour_group is NULL then 1
                      when man_hour_group ='' then 1  else 0 end,
          and (laboratory is null
            or laboratory = ''
            or laboratory = #{laboratory})
        order by case
                     when man_hour_group is NULL then 1
                     when 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) END -- 提取字母后面的数字部分
                     WHEN man_hour_group REGEXP '[0-9]+'
                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 提取字母后面的数字部分
                ,id asc
                , id asc
    </select>
    <select id="getStandardTree2" resultMap="SampleTypeDto">
@@ -257,18 +269,24 @@
               id        structure_item_parameter_id
        from structure_item_parameter
        where (
                      sample is NULL
                      OR sample = ''
                      or sample = '[]'
                      OR sample LIKE CONCAT('%', #{tree}, '%')
                  )
        order by case when man_hour_group is NULL then 1
                      when man_hour_group ='' then 1  else 0 end,
                sample is NULL
                OR sample = ''
                or sample = '[]'
                OR sample LIKE CONCAT('%', #{tree}, '%')
            )
          and (laboratory is null
            or laboratory = ''
            or laboratory = #{laboratory})
        order by case
                     when man_hour_group is NULL then 1
                     when 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) END -- 提取字母后面的数字部分
                     WHEN man_hour_group REGEXP '[0-9]+'
                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 提取字母后面的数字部分
                ,id asc
                , id asc
    </select>
    <select id="getStandardTree3" resultType="com.yuanchu.mom.dto.SampleDto">
        select model label,
@@ -290,6 +308,9 @@
        <if test="itemChild != null and itemChild != ''">
            and inspection_item_subclass = #{itemChild}
        </if>
        <if test="inspectionItemClass != null and inspectionItemClass != ''">
            and inspection_item_class = #{inspectionItemClass}
        </if>
        <if test="itemChild == null or itemChild == ''">
            and (inspection_item_subclass is null or inspection_item_subclass = '')
        </if>
@@ -301,4 +322,9 @@
        where sto.specimen_name = #{name}
        order by p.id
    </select>
    <select id="selSample" resultType="java.lang.String">
        select name
        from product
        where name = #{name}
    </select>
</mapper>