guoshilong
2023-05-18 6cd2da8eb7d7aefecd96a19ebbfe9caba59ea88c
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
117
118
119
120
<?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="cn.gistack.sm.sjztmd.mapper.AttResBaseMapper">
 
 
    <select id="selectAttResBasePage" resultType="cn.gistack.sm.sjztmd.entity.AttResBase">
        SELECT * FROM "SJZT_MD"."att_res_base"
        WHERE "is_deleted"=0
        <if test="attResBase.name !=null and attResBase.name !=''">
            AND "name" LIKE CONCAT('%',#{attResBase.name},'%')
        </if>
    </select>
    <select id="getListByRegion" resultType="cn.gistack.sm.sjztmd.entity.AttResBase">
        SELECT "guid","code","name","ad_guid","eng_scal" FROM "att_res_base"
        WHERE "is_deleted"=0
         AND "ad_guid" LIKE CONCAT('%',#{obj.code},'%')
         <if test="obj.name !=null and obj.name !=''">
             AND "name" LIKE CONCAT('%',#{obj.name},'%')
         </if>
    </select>
    <select id="getDetailByCode" resultType="cn.gistack.sm.sjztmd.entity.AttResBase">
        SELECT "code","name","ad_guid","guid" FROM "att_res_base"
        WHERE "is_deleted"=0 and "code" = #{code}
    </select>
 
    <!--获取水库对应责任人分页数据-->
    <select id="getAttResBaseUserPage" resultType="cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO">
        select
        arb."guid", arb."name", arb."res_loc" as place, arb."res_reg_code" as resRegCode, arb."eng_scal" as engScal,
        aab."ad_name" as adName,
        trmp1."user_unit" areaUnitName,trmp1."user_name" areaUsername,trmp1."user_phone" areaPhone,trmp1."position" areaPosition,
        trmp2."user_unit" customsUnitName,trmp2."user_name" customsUsername,trmp2."user_phone" customsPhone,trmp2."position" customsPosition,
        trmp3."user_unit" manageUnitUnitName,trmp3."user_name" manageUnitUsername,trmp3."user_phone" manageUnitPhone,trmp3."position" manageUnitPosition,
        trmp4."user_unit" technologyUnitName,trmp4."user_name" technologyUsername,trmp4."user_phone" technologyPhone,trmp4."position" technologyPosition,
        trmp5."user_unit" patrolUnitName,trmp5."user_name" patrolUsername,trmp5."user_phone" patrolPhone,trmp5."position" patrolPosition
        from SJZT_MD."att_res_base" arb
        left join "SJZT_MD"."att_ad_base" aab on aab."guid" = concat(arb."ad_guid",'000000')
 
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=1 GROUP BY "res_guid"
        ) trmp1 on arb."guid" = trmp1."res_guid"
 
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=2 GROUP BY "res_guid"
        ) trmp2 on arb."guid" = trmp2."res_guid"
 
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=3 GROUP BY "res_guid"
        ) trmp3 on arb."guid" = trmp3."res_guid"
 
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=4 GROUP BY "res_guid"
        ) trmp4 on arb."guid" = trmp4."res_guid"
 
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=5 GROUP BY "res_guid"
        ) trmp5 on arb."guid" = trmp5."res_guid"
        where 1=1
        <if test="params.name !=null and params.name !=''">
            AND arb."name" LIKE CONCAT('%',#{params.name},'%')
        </if>
        <if test="params.resRegCode !=null and params.resRegCode !=''">
            AND arb."res_reg_code" LIKE CONCAT('%',#{params.resRegCode},'%')
        </if>
        <if test="params.engScal !=null and params.engScal !=''">
            AND arb."eng_scal" LIKE CONCAT('%',#{params.engScal},'%')
        </if>
        <if test="params.isWorkable==1">
            AND (
                (
                (arb."eng_scal" = '大(1)型' or arb."eng_scal" = '大(2)型' or arb."eng_scal" = '中型')
                and
                trmp1."user_unit" is not null and trmp2."user_unit" is not null and trmp3."user_unit" is not null
                )
                or
                (
                (arb."eng_scal" = '小(1)型' or arb."eng_scal" = '小(2)型')
                and
                trmp1."user_unit" is not null and trmp2."user_unit" is not null and trmp3."user_unit" is not null and trmp4."user_unit" is not null and trmp5."user_unit" is not null
                )
            )
        </if>
        <if test="params.isWorkable==2">
            AND (
                (arb."eng_scal" = '大(1)型' or arb."eng_scal" = '大(2)型' or arb."eng_scal" = '中型')
                and
                (trmp1."user_unit" is null or trmp2."user_unit" is null or trmp3."user_unit" is null)
                or
                (
                (arb."eng_scal" = '小(1)型' or arb."eng_scal" = '小(2)型')
                and
                (trmp1."user_unit" is null or trmp2."user_unit" is null or trmp3."user_unit" is null or trmp4."user_unit" is null or trmp5."user_unit" is null)
                )
            )
        </if>
        <if test="list != null and list.size()>0">
            and aab."ad_code" in
            <foreach collection="list" item="adCode" separator ="," open="("  close=")">
                #{adCode}
            </foreach>
        </if>
    </select>
 
    <!--查询各类型责任人-->
    <select id="getUserByResBaseGuid" resultType="cn.gistack.sm.sjztmd.vo.ManagePersonVO">
        select
        trmp."type",
        trmp."user_name" as username,
        trmp."user_unit" as unitName,
        trmp."position",
        trmp."user_phone" as phone
        from "SJZT_MD"."tb_res_manage_person" trmp
        where trmp."res_guid" = #{guid}
    </select>
</mapper>