刘光辉
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
<?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.LimsSxtKanbanMapper">
 
    <resultMap id="optionMap" type="jnpf.limsEntity.LimsSxtKanbanOptionVo">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
    </resultMap>
 
    <resultMap id="rowMap" type="jnpf.limsEntity.LimsSxtKanbanRowVo">
        <id property="quyangdianId" column="quyangdian_id"/>
        <result property="yangpinLeixing" column="yangpin_leixing"/>
        <result property="yangpinLeixingMingcheng" column="yangpin_leixing_mingcheng"/>
        <result property="suoshuChejian" column="suoshu_chejian"/>
        <result property="quyangDidian" column="quyang_didian"/>
        <result property="quyangdianBianhao" column="quyangdian_bianhao"/>
    </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 = #{sampleTypeId}
        ORDER BY name, id
    </select>
 
    <select id="selectPlaces" resultMap="optionMap">
        SELECT DISTINCT p.quyang_didian AS id,
               p.quyang_didian AS name
        <include refid="activePointJoins"/>
          AND p.leixing = #{sampleTypeId}
          AND p.chejian_mingcheng = #{workshopId}
          AND p.quyang_didian IS NOT NULL
          AND p.quyang_didian &lt;&gt; ''
        ORDER BY name
    </select>
 
    <select id="selectPoints" resultMap="optionMap">
        SELECT DISTINCT p.quyangdian_bianhao AS id,
               p.quyangdian_bianhao AS name
        <include refid="activePointJoins"/>
          AND p.leixing = #{sampleTypeId}
          AND p.chejian_mingcheng = #{workshopId}
          AND p.quyang_didian = #{place}
          AND p.quyangdian_bianhao IS NOT NULL
          AND p.quyangdian_bianhao &lt;&gt; ''
        ORDER BY name
    </select>
 
    <select id="selectRows" resultMap="rowMap">
        SELECT p.f_id AS quyangdian_id,
               p.leixing AS yangpin_leixing,
               COALESCE(NULLIF(y.mingcheng, ''), p.leixing) AS yangpin_leixing_mingcheng,
               COALESCE(NULLIF(c.mingcheng, ''), p.chejian_mingcheng) AS suoshu_chejian,
               p.quyang_didian,
               p.quyangdian_bianhao
        <include refid="activePointJoins"/>
        <if test="sampleTypeId != null and sampleTypeId != ''">
            AND p.leixing = #{sampleTypeId}
        </if>
        <if test="workshopId != null and workshopId != ''">
            AND p.chejian_mingcheng = #{workshopId}
        </if>
        <if test="place != null and place != ''">
            AND p.quyang_didian = #{place}
        </if>
        <if test="pointCode != null and pointCode != ''">
            AND p.quyangdian_bianhao = #{pointCode}
        </if>
        ORDER BY yangpin_leixing_mingcheng, suoshu_chejian, p.quyang_didian, p.quyangdian_bianhao, p.f_id
    </select>
 
</mapper>