刘光辉
14 小时以前 34981c30a78e8bbd7791131059a9210f9928b62c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.limsMapper.LimsSxtQushiMapper">
 
    <resultMap id="optionMap" type="jnpf.limsEntity.LimsSxtQushiOptionVo">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
    </resultMap>
 
    <resultMap id="samplingPointMap" type="jnpf.limsEntity.LimsSxtQushiQuyangdianVo">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="quyangdianBianhao" column="quyangdian_bianhao"/>
        <result property="quyangDidian" column="quyang_didian"/>
        <result property="chejianId" column="chejian_id"/>
        <result property="yangpinLeixingId" column="yangpin_leixing_id"/>
    </resultMap>
 
    <resultMap id="inspectionItemMap" type="jnpf.limsEntity.LimsSxtQushiJianyanXiangmuVo">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="jianyanXiangmuBianma" column="jianyan_xiangmu_bianma"/>
        <result property="lilunShangxian" column="lilun_shangxian"/>
        <result property="lilunXiaxian" column="lilun_xiaxian"/>
        <result property="biaozhunShangxian" column="biaozhun_shangxian"/>
        <result property="biaozhunXiaxian" column="biaozhun_xiaxian"/>
        <result property="unit" column="unit"/>
        <result property="shujuLeixing" column="shuju_leixing"/>
    </resultMap>
 
    <sql id="activePointJoins">
        FROM lims_sxt_quyangdian p
        INNER JOIN yangpin_guanli y
                ON y.f_id = p.leixing
               AND y.f_tenant_id = p.f_tenant_id
               AND (y.f_delete_mark IS NULL OR y.f_delete_mark &lt;&gt; 1)
        INNER JOIN lims_sxt_chejian c
                ON c.f_id = p.chejian_mingcheng
               AND c.f_tenant_id = p.f_tenant_id
               AND (c.f_delete_mark IS NULL OR c.f_delete_mark &lt;&gt; 1)
        WHERE p.f_tenant_id = #{tenantId}
          AND p.biz_enabled = 'enabled'
          AND (p.f_delete_mark IS NULL OR p.f_delete_mark &lt;&gt; 1)
    </sql>
 
    <select id="selectSampleTypes" resultMap="optionMap">
        SELECT DISTINCT y.f_id AS id,
               y.mingcheng AS name
        FROM yangpin_guanli y
        INNER JOIN qingyan_leixing ql
                ON ql.fenlei_bianma = y.leixin
               AND ql.f_tenant_id = y.f_tenant_id
               AND ql.biz_enabled = 'enabled'
               AND (ql.f_delete_mark IS NULL OR ql.f_delete_mark &lt;&gt; 1)
        WHERE y.f_tenant_id = #{tenantId}
          AND y.biz_enabled = 'enabled'
          AND (y.f_delete_mark IS NULL OR y.f_delete_mark &lt;&gt; 1)
          AND ql.fenlei_mingcheng = '水系统'
        ORDER BY name, id
    </select>
 
    <select id="selectWorkshops" resultMap="optionMap">
        SELECT DISTINCT p.chejian_mingcheng AS id,
               COALESCE(NULLIF(c.mingcheng, ''), p.chejian_mingcheng) AS name
        <include refid="activePointJoins"/>
          AND p.leixing = #{yangpinLeixingId}
        ORDER BY name, id
    </select>
 
    <select id="selectSamplingPoints" resultMap="samplingPointMap">
        SELECT DISTINCT p.f_id AS id,
               COALESCE(NULLIF(p.quyangdian_bianhao, ''), p.quyang_didian) AS name,
               p.quyangdian_bianhao AS quyangdian_bianhao,
               p.quyang_didian AS quyang_didian,
               p.chejian_mingcheng AS chejian_id,
               p.leixing AS yangpin_leixing_id
        <include refid="activePointJoins"/>
          AND p.leixing = #{yangpinLeixingId}
          AND p.chejian_mingcheng = #{chejianId}
        ORDER BY p.quyangdian_bianhao, p.f_id
    </select>
 
    <select id="selectInspectionItems" resultMap="inspectionItemMap">
        SELECT DISTINCT COALESCE(i.f_id, qz.f_id) AS id,
               COALESCE(NULLIF(qz.xiangmu_mingcheng, ''),
                        NULLIF(s.jianyan_xiangmu_mingcheng, ''),
                        i.mingcheng) AS name,
               COALESCE(NULLIF(qz.xiangmu_bianhao, ''),
                        NULLIF(s.jianyan_xiangmu_bianma, ''),
                        i.bianma) AS jianyan_xiangmu_bianma,
               i.lilun_shangxian AS lilun_shangxian,
               i.lilun_xiaxian AS lilun_xiaxian,
               s.biaozhun_shangxian AS biaozhun_shangxian,
               s.biaozhun_xiaxian AS biaozhun_xiaxian,
               COALESCE(NULLIF(s.jianyan_danwei, ''), i.moren_danwei) AS unit,
               COALESCE(NULLIF(s.shuju_leixing, ''), i.jieguo_leixing) AS shuju_leixing
        FROM lims_sxt_qingyan_xiangmu q
        INNER JOIN lims_sxt_qingyan_xiangmu_zixiang qz
                ON qz.f_foreign_id = q.f_id
               AND qz.f_tenant_id = q.f_tenant_id
               AND (qz.f_delete_mark IS NULL OR qz.f_delete_mark &lt;&gt; 1)
        LEFT JOIN jianyan_xiangmu_guanli i
               ON i.bianma = qz.xiangmu_bianhao
               AND i.f_tenant_id = qz.f_tenant_id
               AND (i.f_delete_mark IS NULL OR i.f_delete_mark &lt;&gt; 1)
        LEFT JOIN zhiliang_biaozhun_guanli_zixiang s
               ON s.f_id = qz.xiangmu_id
              AND s.f_tenant_id = qz.f_tenant_id
              AND (s.f_delete_mark IS NULL OR s.f_delete_mark &lt;&gt; 1)
        WHERE q.f_tenant_id = #{tenantId}
          AND q.yangpin_leixing = #{yangpinLeixingId}
          AND (q.f_delete_mark IS NULL OR q.f_delete_mark &lt;&gt; 1)
          AND TRIM(COALESCE(NULLIF(s.shuju_leixing, ''), i.jieguo_leixing)) = '数值'
        ORDER BY name, id
    </select>
</mapper>