wuzeyu
2024-07-05 fd2de42e8b0019e660f04c72d0a9d218e032f4e4
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
<?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="com.dy.pipIrrGlobal.daoIr.IrProjectMapper">
    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoIr.IrProject">
        <!--@mbg.generated-->
        <!--@Table ir_project-->
        <id column="id" jdbcType="BIGINT" property="id" />
        <result column="project_name" jdbcType="VARCHAR" property="projectName" />
        <result column="province_id" jdbcType="BIGINT" property="provinceId" />
        <result column="city_id" jdbcType="BIGINT" property="cityId" />
        <result column="county_id" jdbcType="BIGINT" property="countyId" />
        <result column="town_id" jdbcType="BIGINT" property="townId" />
        <result column="village_id" jdbcType="BIGINT" property="villageId" />
        <result column="project_state" jdbcType="TINYINT" property="projectState" />
        <result column="remarks" jdbcType="VARCHAR" property="remarks" />
        <result column="operator" jdbcType="BIGINT" property="operator" />
        <result column="operate_time" jdbcType="TIMESTAMP" property="operateDt" />
        <result column="deleted" jdbcType="TINYINT" property="deleted" />
    </resultMap>
    <sql id="Base_Column_List">
        <!--@mbg.generated-->
        id, project_name, province_id, city_id, county_id, town_id, `village_id`, project_state, remarks, `operator`,
        operate_time, deleted
    </sql>
    <!--添加-->
    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrProject">
        <!--@mbg.generated-->
        insert into ir_project
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">
                id,
            </if>
            <if test="projectName != null">
                project_name,
            </if>
            <if test="provinceId != null">
                province_id,
            </if>
            <if test="cityId != null">
                city_id,
            </if>
            <if test="countyId != null">
                county_id,
            </if>
            <if test="townId != null">
                town_id,
            </if>
            <if test="villageId != null">
                village_id,
            </if>
            <if test="projectState != null">
                project_state,
            </if>
            <if test="remarks != null">
                remarks,
            </if>
            <if test="operator != null">
                `operator`,
            </if>
            <if test="operateDt != null">
                operate_time,
            </if>
            <if test="deleted != null">
                deleted,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">
                #{id,jdbcType=BIGINT},
            </if>
            <if test="projectName != null">
                #{projectName,jdbcType=VARCHAR},
            </if>
            <if test="provinceId != null">
                #{provinceId,jdbcType=BIGINT},
            </if>
            <if test="cityId != null">
                #{cityId,jdbcType=BIGINT},
            </if>
            <if test="countyId != null">
                #{countyId,jdbcType=BIGINT},
            </if>
            <if test="townId != null">
                #{townId,jdbcType=BIGINT},
            </if>
            <if test="villageId != null">
                #{villageId,jdbcType=BIGINT},
            </if>
            <if test="projectState != null">
                #{projectState,jdbcType=TINYINT},
            </if>
            <if test="remarks != null">
                #{remarks,jdbcType=VARCHAR},
            </if>
            <if test="operator != null">
                #{operator,jdbcType=BIGINT},
            </if>
            <if test="operateDt != null">
                #{operateDt,jdbcType=TIMESTAMP},
            </if>
            <if test="deleted != null">
                #{deleted,jdbcType=TINYINT},
            </if>
        </trim>
    </insert>
 
    <!--根据下级获取上一级地址-->
    <select id="getSupperByVillageId" parameterType="_long" resultType="java.lang.Long">
        select dis_tow.*
        from ba_district dis_vil
        inner join
        ba_district dis_tow
        on dis_vil.supperId = dis_tow.id
        where dis_vil.id = #{vaId,jdbcType=BIGINT}
    </select>
    <!--逻辑删除-->
    <delete id="deleteLogicById" parameterType="java.lang.Long">
        <!--@mbg.generated-->
        update ir_project
        set deleted = 1
        where id = #{id,jdbcType=BIGINT}
    </delete>
    <!--修改信息-->
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrProject">
        update ir_project
        <set>
            <if test="projectName != null">
                project_name = #{projectName,jdbcType=VARCHAR},
            </if>
            <if test="provinceId != null">
                province_id = #{provinceId,jdbcType=BIGINT},
            </if>
            <if test="cityId != null">
                city_id = #{cityId,jdbcType=BIGINT},
            </if>
            <if test="countyId != null">
                county_id = #{countyId,jdbcType=BIGINT},
            </if>
            <if test="townId != null">
                town_id = #{townId,jdbcType=BIGINT},
            </if>
            <if test="villageId != null">
                village_id = #{villageId,jdbcType=BIGINT},
            </if>
            <if test="projectState != null">
                project_state = #{projectState,jdbcType=TINYINT},
            </if>
            <if test="remarks != null">
                remarks = #{remarks,jdbcType=VARCHAR},
            </if>
            <if test="operator != null">
                operator = #{operator,jdbcType=BIGINT},
            </if>
            <if test="operateDt != null">
                operate_time = #{operateDt,jdbcType=TIMESTAMP},
            </if>
            <if test="deleted != null">
                deleted = #{deleted,jdbcType=TINYINT},
            </if>
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>
    <!--修改状态-->
    <update id="updateProjectState">
        update ir_project
        set project_state = #{projectState,jdbcType=TINYINT},
            operator = #{operator,jdbcType=BIGINT},
            operate_time = #{operateDt,jdbcType=TIMESTAMP}
        where id = #{id,jdbcType=BIGINT}
    </update>
    <!--查询一个信息-->
    <select id="selectById" resultType="com.dy.pipIrrGlobal.voIr.VoProjectOne">
        select
        CAST(pro.id AS char)AS id,
        CAST(pro.province_id AS char)AS provinceId,
        CAST(pro.city_id AS char)AS cityId,
        CAST(pro.county_id AS char)AS countyId,
        CAST(pro.town_id AS char)AS townId,
        CAST(pro.village_id AS char)AS villageId,
        pro.project_name  AS  projectName,
        pro.project_state  AS  projectState,
        cli.name         AS operatorName,
        pro.remarks,
        pro.operate_time  AS  operateDt
        from ir_project pro
        left join se_client cli on cli.id = pro.operator
        where pro.id = #{id,jdbcType=BIGINT} and pro.deleted = 0
    </select>
    <!--分页查询数量-->
    <select id="getRecordCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM ir_project pro
        <where>
            pro.deleted = 0
            <if test="projectName != null and projectName != ''">
                AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')
            </if>
            <if test = "projectState != null and projectState != ''">
                AND pro.project_state = #{projectState}
            </if>
        </where>
    </select>
    <!--分页查询数据-->
    <select id="getProjects" resultType="com.dy.pipIrrGlobal.voIr.VoProject">
        SELECT
        CAST(pro.id AS char)AS projectId,
        pro.project_name  AS  projectName,
        pro.project_state  AS  projectState,
        CONCAT(province.`name`,city.`name`,country.`name`, town.`name`, village.`name`) AS address,
        pro.remarks,
        pro.operate_time  AS  operateDt
        FROM ir_project pro
        LEFT JOIN ba_district province ON pro.province_id = province.id
        LEFT JOIN ba_district city ON pro.city_id = city.id
        LEFT JOIN ba_district country ON pro.county_id = country.id
        LEFT JOIN ba_district town ON pro.town_id = town.id
        LEFT JOIN ba_district village ON pro.village_id = village.id
        <where>
            pro.deleted = 0
            <if test="projectName != null and projectName != ''">
                AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')
            </if>
            <if test = "projectState != null and projectState != ''">
                AND pro.project_state = #{projectState}
            </if>
        </where>
        ORDER BY pro.operate_time DESC
        <if test="pageCurr != null and pageSize != null">
            LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
        </if>
    </select>
</mapper>