From 9f19d3a24f8474bf6f9eb9401888c44b34b381e6 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 21 十一月 2024 14:29:50 +0800
Subject: [PATCH] 第一次改动(检验任务与样品关联,附件与样品关联,报告与样品关联)

---
 inspect-server/src/main/resources/mapper/StandardTreeMapper.xml |  333 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 295 insertions(+), 38 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
index 1efe402..ddcab1d 100644
--- a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
+++ b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -3,18 +3,17 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.mom.mapper.StandardTreeMapper">
-
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.StandardTree">
-            <id property="id" column="id" jdbcType="INTEGER"/>
-            <result property="factory" column="factory" jdbcType="VARCHAR"/>
-            <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
-            <result property="sampleType" column="sample_type" jdbcType="VARCHAR"/>
-            <result property="sample" column="sample" jdbcType="VARCHAR"/>
-            <result property="model" column="model" jdbcType="VARCHAR"/>
-            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <id property="id" column="id" jdbcType="INTEGER"/>
+        <result property="factory" column="factory" jdbcType="VARCHAR"/>
+        <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
+        <result property="sampleType" column="sample_type" jdbcType="VARCHAR"/>
+        <result property="sample" column="sample" jdbcType="VARCHAR"/>
+        <result property="model" column="model" jdbcType="VARCHAR"/>
+        <result property="createUser" column="create_user" jdbcType="INTEGER"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
     </resultMap>
 
     <resultMap id="FactoryDto" type="com.yuanchu.mom.dto.FactoryDto">
@@ -47,30 +46,37 @@
     </resultMap>
 
     <select id="selectStandardTreeList" resultMap="FactoryDto">
-        select factory,laboratory,sample_type,sample,model from standard_tree
+        select '涓ぉ绉戞妧妫�娴嬩腑蹇�'        factory,
+               l.laboratory_name laboratory,
+               sto.specimen_name sample_type,
+               p.name            sample,
+               st.model,
+               sto.code
+        from laboratory l
+                 left join structure_test_object sto on sto.laboratory_id = l.id
+                 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
     </select>
 
     <select id="selectStandardProductById" resultType="com.yuanchu.mom.pojo.StandardProductList">
-        select
-            inspection_item,
-            inspection_item_classify,
-            inspection_item_subclass,
-            laboratory,
-            son_laboratory,
-            unit,
-            price,
-            man_hour,
-            man_hour_group,
-            inspection_item_type,
-            inspection_value_type,
-            device_group,
-            checkout_number,
-            section,
-            value_type,
-            method,
-            man_day,
-            bsm,
-            template_id
+        select inspection_item,
+               inspection_item_subclass,
+               laboratory,
+               son_laboratory,
+               unit,
+               price,
+               man_hour,
+               man_hour_group,
+               inspection_item_type,
+               inspection_value_type,
+               checkout_number,
+               section,
+               method,
+               man_day,
+               bsm,
+               template_id
         from structure_item_parameter
         where id = #{id}
     </select>
@@ -85,24 +91,275 @@
                man_hour_group,
                inspection_item_type,
                inspection_value_type,
-               device_group,
                checkout_number,
                section,
-               value_type,
                method,
                man_day,
                sample,
                bsm,
                template_id,
-               dic
+               dic,
+               ask,
+               ask_tell as tell
         from structure_item_parameter sp
-        left join structure_test_object sto on sto.id = sp.sample
-        where sto.specimen_name = #{sampleType}
+        where sp.sample = #{sampleType}
+           or sp.sample = ''
+           or sp.sample = '[]'
     </select>
     <select id="getStandardMethodListBySample" resultType="com.yuanchu.mom.pojo.StandardMethodList">
         select sm.code,sm.name,sm.remark from standard_method sm
         left join structure_test_object sto on sm.structure_test_object_id = sto.id
+        where is_use = 1
+        and is_product = 1
+        <if test="sampleType != null">
+            and sto.specimen_name = #{sampleType}
+        </if>
+    </select>
+    <select id="selectStandardTreeList2" resultType="com.yuanchu.mom.pojo.StandardTree">
+        select '涓ぉ绉戞妧妫�娴嬩腑蹇�'        factory,
+               l.laboratory_name laboratory,
+               sto.specimen_name sample_type,
+               p.name            sample
+        from laboratory l
+                 left join structure_test_object sto on sto.laboratory_id = l.id
+                 left join product p on p.object_id = sto.id
+                 left join standard_tree st on st.laboratory = l.laboratory_name
+            and st.sample_type = sto.specimen_name
+            and st.sample = p.name
         where sto.specimen_name = #{sampleType}
-        and is_use = 1
+        group by sto.specimen_name
+    </select>
+    <select id="selectStandardProductListByTree" resultType="com.yuanchu.mom.pojo.StandardProductList">
+        select 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,
+               #{model}  model,
+               #{sample} sample,
+               #{trees}  tree,
+               id        structure_item_parameter_id
+        from structure_item_parameter
+        where (
+                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 -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
+
+                , id asc
+    </select>
+
+    <select id="selectStandardProductListByTree2" resultType="com.yuanchu.mom.pojo.StandardProductList">
+        select 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,
+               #{model}  model,
+               #{sample} sample,
+               #{trees}  tree,
+               id        structure_item_parameter_id
+        from structure_item_parameter
+        where 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 -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
+
+                , id asc
+    </select>
+
+    <select id="getStandardTree2" resultMap="SampleTypeDto">
+        select sto.specimen_name sample_type,
+               p.name            sample,
+               st.model
+        from structure_test_object sto
+                 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
+    </select>
+    <select id="selectStandardProductListByTree3" resultType="com.yuanchu.mom.pojo.StandardProductList">
+        select 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,
+               #{model}  model,
+               #{sample} sample,
+               #{trees}  tree,
+               id        structure_item_parameter_id
+        from structure_item_parameter
+        where (
+                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 -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
+
+                , id asc
+    </select>
+    <select id="getStandardTree3" resultType="com.yuanchu.mom.dto.SampleDto">
+        select model label,
+               model value
+        from standard_tree
+        where sample_type = #{sampleType}
+          and sample is null
+    </select>
+    <select id="getLaboratory" resultType="java.lang.String">
+        select l.laboratory_name
+        from structure_test_object sto
+                 left join laboratory l on sto.laboratory_id = l.id
+        where sto.specimen_name = #{str}
+    </select>
+    <select id="getStructureItemParameterId" resultType="java.lang.Integer">
+        select id from structure_item_parameter
+        where sample like concat('%', #{sampleType}, '%')
+        and inspection_item = #{item}
+        <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>
+    </select>
+    <select id="selectPList" resultType="com.yuanchu.mom.dto.ProductDto">
+        select p.name
+        from structure_test_object sto
+                 left join product p on p.object_id = sto.id
+        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>
+
+    <select id="exportStandTree" resultType="com.yuanchu.mom.dto.standardTreeDto">
+        select
+               inspection_item,
+               inspection_item_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               laboratory,
+               sample_type,
+               sample,
+               model,
+               son_laboratory,
+               unit,
+               price,
+               man_hour,
+               man_hour_group,
+               case when inspection_item_type='1' then '閲囬泦绫诲瀷'
+                        else  '闈為噰闆嗙被鍨�' end  as inspection_item_type ,
+               case when inspection_value_type='1' then '鏁板��'
+                    when inspection_value_type='2' then '鏂囨湰'
+                    when inspection_value_type='5' then '涓嬫媺'
+                    else  '/' end  as inspection_value_type,
+               method_s,
+               man_day,
+               bsm,
+               ask,
+               tell,
+               st.name  templateName,
+               sml.code standardMethodNo
+        from standard_product_list spl
+                 left join standard_template st on spl.template_id = st.id
+                 left join standard_method sml on spl.standard_method_list_id = sml.id
+        where spl.state = 1
+        order by spl.sample_type
     </select>
 </mapper>

--
Gitblit v1.9.3