zhubaomin
2025-04-11 9f3c4a33279f10ed420d604765487558ab0744f0
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
<?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.IrUnitClientMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoIr.IrUnitClient">
    <!--@mbg.generated-->
    <!--@Table ir_unit_client-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="unit_id" jdbcType="BIGINT" property="unitId" />
    <result column="client_id" jdbcType="BIGINT" property="clientId" />
    <result column="operator" jdbcType="BIGINT" property="operator" />
    <result column="operate_time" jdbcType="TIMESTAMP" property="operateTime" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, unit_id, client_id, `operator`, operate_time
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select 
    <include refid="Base_Column_List" />
    from ir_unit_client
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from ir_unit_client
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoIr.IrUnitClient">
    <!--@mbg.generated-->
    insert into ir_unit_client (id, unit_id, client_id, 
      `operator`, operate_time)
    values (#{id,jdbcType=BIGINT}, #{unitId,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, 
      #{operator,jdbcType=BIGINT}, #{operateTime,jdbcType=TIMESTAMP})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrUnitClient">
    <!--@mbg.generated-->
    insert into ir_unit_client
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="unitId != null">
        unit_id,
      </if>
      <if test="clientId != null">
        client_id,
      </if>
      <if test="operator != null">
        `operator`,
      </if>
      <if test="operateTime != null">
        operate_time,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="unitId != null">
        #{unitId,jdbcType=BIGINT},
      </if>
      <if test="clientId != null">
        #{clientId,jdbcType=BIGINT},
      </if>
      <if test="operator != null">
        #{operator,jdbcType=BIGINT},
      </if>
      <if test="operateTime != null">
        #{operateTime,jdbcType=TIMESTAMP},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrUnitClient">
    <!--@mbg.generated-->
    update ir_unit_client
    <set>
      <if test="unitId != null">
        unit_id = #{unitId,jdbcType=BIGINT},
      </if>
      <if test="clientId != null">
        client_id = #{clientId,jdbcType=BIGINT},
      </if>
      <if test="operator != null">
        `operator` = #{operator,jdbcType=BIGINT},
      </if>
      <if test="operateTime != null">
        operate_time = #{operateTime,jdbcType=TIMESTAMP},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoIr.IrUnitClient">
    <!--@mbg.generated-->
    update ir_unit_client
    set unit_id = #{unitId,jdbcType=BIGINT},
      client_id = #{clientId,jdbcType=BIGINT},
      `operator` = #{operator,jdbcType=BIGINT},
      operate_time = #{operateTime,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=BIGINT}
  </update>
 
  <!--根据农户编号获取灌溉单元数量-->
  <select id="getUnitCountByClientId" resultType="java.lang.Long">
    SELECT
        count(*)
    FROM ir_irrigate_unit uni
        INNER JOIN pr_intake inta ON inta.id = uni.intake_id
        INNER JOIN ir_unit_client uc ON uc.unit_id = uni.id
    WHERE uni.deleted = 0 AND uc.client_id = #{clientId}
  </select>
 
  <!--根据农户编号获取灌溉单元列表-->
  <select id="getUnitsByClientId" resultType="com.dy.pipIrrGlobal.voIr.VoUnitSimple">
    SELECT
      uni.id AS unitId,
      inta.`name` AS intakeNo,
      uni.remarks
    FROM ir_irrigate_unit uni
           INNER JOIN pr_intake inta ON inta.id = uni.intake_id
           INNER JOIN ir_unit_client uc ON uc.unit_id = uni.id
    WHERE uni.deleted = 0 AND uc.client_id = #{clientId}
    ORDER BY uni.id
    <trim prefix="limit ">
      <if test="start != null and count != null">
        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
      </if>
    </trim>
  </select>
</mapper>