<?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="operateTime" /> 
 | 
    <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> 
 | 
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
    <!--@mbg.generated--> 
 | 
    select  
 | 
    <include refid="Base_Column_List" /> 
 | 
    from ir_project 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </select> 
 | 
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
    <!--@mbg.generated--> 
 | 
    delete from ir_project 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </delete> 
 | 
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoIr.IrProject"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into ir_project (id, project_name, province_id,  
 | 
      city_id, county_id, town_id,  
 | 
      village_id, project_state, remarks,  
 | 
      `operator`, operate_time, deleted 
 | 
      ) 
 | 
    values (#{id,jdbcType=BIGINT}, #{projectName,jdbcType=VARCHAR}, #{provinceId,jdbcType=BIGINT},  
 | 
      #{cityId,jdbcType=BIGINT}, #{countyId,jdbcType=BIGINT}, #{townId,jdbcType=BIGINT},  
 | 
      #{villageId,jdbcType=BIGINT}, #{projectState,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR},  
 | 
      #{operator,jdbcType=BIGINT}, #{operateTime,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT} 
 | 
      ) 
 | 
  </insert> 
 | 
  <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="operateTime != 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="operateTime != null"> 
 | 
        #{operateTime,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="deleted != null"> 
 | 
        #{deleted,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
    </trim> 
 | 
  </insert> 
 | 
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrProject"> 
 | 
    <!--@mbg.generated--> 
 | 
    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="operateTime != null"> 
 | 
        operate_time = #{operateTime,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="deleted != null"> 
 | 
        deleted = #{deleted,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
    </set> 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoIr.IrProject"> 
 | 
    <!--@mbg.generated--> 
 | 
    update ir_project 
 | 
    set project_name = #{projectName,jdbcType=VARCHAR}, 
 | 
      province_id = #{provinceId,jdbcType=BIGINT}, 
 | 
      city_id = #{cityId,jdbcType=BIGINT}, 
 | 
      county_id = #{countyId,jdbcType=BIGINT}, 
 | 
      town_id = #{townId,jdbcType=BIGINT}, 
 | 
      village_id = #{villageId,jdbcType=BIGINT}, 
 | 
      project_state = #{projectState,jdbcType=TINYINT}, 
 | 
      remarks = #{remarks,jdbcType=VARCHAR}, 
 | 
      `operator` = #{operator,jdbcType=BIGINT}, 
 | 
      operate_time = #{operateTime,jdbcType=TIMESTAMP}, 
 | 
      deleted = #{deleted,jdbcType=TINYINT} 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  
 | 
  <!--根据下级获取上一级地址--> 
 | 
  <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="updateProjectState"> 
 | 
    update ir_project 
 | 
    set project_state = #{projectState,jdbcType=TINYINT}, 
 | 
    operator = #{operator,jdbcType=BIGINT}, 
 | 
    operate_time = #{operateTime,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> 
 | 
  
 | 
  <!--根据指定条件获取项目记录(精简)数量--> 
 | 
  <select id="getSimpleProjectsCount" resultType="java.lang.Long"> 
 | 
    SELECT COUNT(*) AS recordCount 
 | 
    FROM ir_project pr 
 | 
    <where> 
 | 
      AND pr.project_state = 1 
 | 
      AND pr.deleted = 0 
 | 
      <if test="projectName != null and projectName != ''"> 
 | 
        AND pr.project_name LIKE CONCAT('%', #{projectName}, '%') 
 | 
      </if> 
 | 
    </where> 
 | 
  </select> 
 | 
  
 | 
  <!--根据指定条件获取项目记录(精简)--> 
 | 
  <select id="getSimpleProjects" resultType="com.dy.pipIrrGlobal.voIr.VoProjectSimple"> 
 | 
    SELECT 
 | 
        pr.id AS projectId, 
 | 
        pr.project_name AS projectName, 
 | 
        (SELECT COUNT(*) FROM ir_project_group pg WHERE pg.project_id = pr.id) AS groupCount 
 | 
    FROM ir_project pr 
 | 
    <where> 
 | 
      AND pr.project_state = 1 
 | 
      AND pr.deleted = 0 
 | 
      <if test="projectName != null and projectName != ''"> 
 | 
        AND pr.project_name LIKE CONCAT('%', #{projectName}, '%') 
 | 
      </if> 
 | 
    </where> 
 | 
    ORDER BY pr.operate_time DESC 
 | 
    <trim prefix="limit "> 
 | 
      <if test="start != null and count != null"> 
 | 
        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
      </if> 
 | 
    </trim> 
 | 
  </select> 
 | 
  
 | 
  <!--根据项目Id获取项目详情,编辑项目信息使用--> 
 | 
  <select id="getProjectDetail" resultType="com.dy.pipIrrGlobal.voIr.VoProjectDetail"> 
 | 
    SELECT 
 | 
        projectName, 
 | 
        GROUP_CONCAT(groupId) AS irrigateGroups 
 | 
    FROM 
 | 
      ( 
 | 
        SELECT 
 | 
          pro.project_name AS projectName, 
 | 
          grp.id AS groupId 
 | 
        FROM ir_project pro 
 | 
               INNER JOIN ir_project_group pg ON pg.project_id = pro.id 
 | 
               INNER JOIN ir_irrigate_group grp ON grp.id = pg.group_id 
 | 
        WHERE pro.deleted = 0 AND pro.id = #{projectId} 
 | 
      ) project 
 | 
    GROUP BY projectName 
 | 
  </select> 
 | 
</mapper> 
 |