<?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="doumeemes.dao.ext.EndcheckExtMapper"> 
 | 
  
 | 
  <!-- 管理页面查询 --> 
 | 
  <resultMap id="EndcheckExtListVO" type="doumeemes.dao.ext.vo.EndcheckExtListVO" autoMapping="true"> 
 | 
    <id column="ID" jdbcType="INTEGER" property="id"/> 
 | 
  </resultMap> 
 | 
  <select id="selectList" parameterType="doumeemes.dao.ext.dto.QueryEndcheckExtDTO" resultMap="EndcheckExtListVO"> 
 | 
    SELECT 
 | 
    `endcheck`.`ID`, 
 | 
    `endcheck`.`DELETED`, 
 | 
    `endcheck`.`CREATE_USER`, 
 | 
    `endcheck`.`CREATE_TIME`, 
 | 
    `endcheck`.`UPDATE_USER`, 
 | 
    `endcheck`.`UPDATE_TIME`, 
 | 
    `endcheck`.`REMARK`, 
 | 
    `endcheck`.`ROOT_DEPART_ID`, 
 | 
    `endcheck`.`DEPART_ID`, 
 | 
    `endcheck`.`PLAN_ID`, 
 | 
    `endcheck`.`OBJ_ID`, 
 | 
    `endcheck`.`OBJ_TYPE`, 
 | 
    `endcheck`.`FACTORY_ID`, 
 | 
    `endcheck`.`PRO_ROUTE_ID`, 
 | 
    `endcheck`.`PRO_DEVICE_ID`, 
 | 
    `endcheck`.`MATERIAL_ID`, 
 | 
    `endcheck`.`UNIT_ID`, 
 | 
    `endcheck`.`PRO_DATE`, 
 | 
    `endcheck`.`TYPE`, 
 | 
    `endcheck`.`NUM`, 
 | 
    `endcheck`.`DONE_TYPE`, 
 | 
    `endcheck`.`CHECK_INFO`, 
 | 
    `endcheck`.`CHECK_TYPE`, 
 | 
    `endcheck`.`CODE`, 
 | 
    w.code as workOrderCode , 
 | 
    m.NAME as materialName  , 
 | 
    m.CODE as materialCode , 
 | 
    s.REALNAME as userName , 
 | 
    d.`NAME` as departmentName , 
 | 
    u.name as unitName 
 | 
    FROM `endcheck` `endcheck` 
 | 
    left join material_distribute md on `endcheck`.MATERIAL_ID = md.id 
 | 
    left join material  m on md.MATERIAL_ID = m.ID 
 | 
    left join unit u on m.unit_id = u.id 
 | 
    left join workorder w on `endcheck`.OBJ_ID = w.id 
 | 
    left join system_user s on endcheck.CREATE_USER = s.id 
 | 
    left join company_user c on  endcheck.CREATE_USER = c.USER_ID and endcheck.ROOT_DEPART_ID = c.ROOT_DEPART_ID  AND C.DELETED = 0 
 | 
    left join department d on c.DEPARTMENT_ID = d.id 
 | 
    <where> 
 | 
      <if test="mixParam != null and mixParam != ''"> 
 | 
        AND ( w.CODE  like concat('%',#{mixParam},'%') or m.code like concat('%',#{mixParam},'%') ) 
 | 
      </if> 
 | 
      <if test="code != null and code != ''"> 
 | 
        AND `endcheck`.`CODE`  like concat('%',#{code},'%') 
 | 
      </if> 
 | 
      <if test="workOrderCode != null and workOrderCode != ''"> 
 | 
        AND w.`CODE` like concat('%',#{workOrderCode},'%') 
 | 
      </if> 
 | 
      <if test="materialCode != null and materialCode != ''"> 
 | 
        and m.CODE   like concat('%',#{materialCode},'%') 
 | 
      </if> 
 | 
      <if test="materialName != null and materialName != ''"> 
 | 
        and m.NAME   like concat('%',#{materialName},'%') 
 | 
      </if> 
 | 
      <if test="downType != null"> 
 | 
        AND `endcheck`.`DONE_TYPE` = #{downType} 
 | 
      </if> 
 | 
      <if test="checkType != null"> 
 | 
        AND `endcheck`.`CHECK_TYPE` = #{checkType} 
 | 
      </if> 
 | 
      <if test="checkTimeStart != null and checkTimeStart != ''"> 
 | 
        AND `endcheck`.`CREATE_TIME` >= concat(#{checkTimeStart},' 00:00:00') 
 | 
      </if> 
 | 
      <if test="checkTimeEnd != null and checkTimeEnd != ''"> 
 | 
        AND   concat(#{checkTimeEnd},' 23:59:59') >= `endcheck`.`CREATE_TIME` 
 | 
      </if> 
 | 
      <if test="rootDepartId != null"> 
 | 
        AND `endcheck`.`ROOT_DEPART_ID` = #{rootDepartId} 
 | 
      </if> 
 | 
      <if test="departId != null"> 
 | 
        AND `endcheck`.`DEPART_ID` = #{departId} 
 | 
      </if> 
 | 
    <choose> 
 | 
      <when test="departIds != null and departIds.size()>0"> 
 | 
        and ( 
 | 
        endcheck.CREATE_USER=#{createUser} 
 | 
        or exists (select d.id from company_user d where d.user_id= `endcheck`.CREATE_USER and d.department_id 
 | 
        in <foreach collection="departIds" item="item" separator="," open="(" close=")">#{item}</foreach>) 
 | 
        <if test="procedureIds != null and procedureIds.size()>0"> 
 | 
          or endcheck.`PRO_ROUTE_ID` in 
 | 
          <foreach collection="procedureIds" item="item" separator="," open="(" close=")">#{item}</foreach> 
 | 
  
 | 
        </if> 
 | 
  
 | 
        ) 
 | 
      </when> 
 | 
       <when test="(departIds==null or departIds.size()==0) and procedureIds != null and procedureIds.size()>0"> 
 | 
        and( endcheck.`PRO_ROUTE_ID` in 
 | 
         <foreach collection="procedureIds" item="item" separator="," open="(" close=")">#{item}</foreach> 
 | 
         <if test="createUser!=null"> 
 | 
           or endcheck.CREATE_USER=#{createUser} 
 | 
         </if> 
 | 
         ) 
 | 
       </when> 
 | 
       <otherwise> 
 | 
         <if test="createUser!=null"> 
 | 
           and endcheck.CREATE_USER=#{createUser} 
 | 
         </if> 
 | 
       </otherwise> 
 | 
    </choose> 
 | 
    </where> 
 | 
     order by `endcheck`.`CREATE_TIME` desc 
 | 
  </select> 
 | 
  
 | 
  
 | 
  <select id="selectOneById"  resultMap="EndcheckExtListVO"> 
 | 
    SELECT 
 | 
    `endcheck`.`ID`, 
 | 
    `endcheck`.`DELETED`, 
 | 
    `endcheck`.`CREATE_USER`, 
 | 
    `endcheck`.`CREATE_TIME`, 
 | 
    `endcheck`.`UPDATE_USER`, 
 | 
    `endcheck`.`UPDATE_TIME`, 
 | 
    `endcheck`.`REMARK`, 
 | 
    `endcheck`.`ROOT_DEPART_ID`, 
 | 
    `endcheck`.`DEPART_ID`, 
 | 
    `endcheck`.`PLAN_ID`, 
 | 
    `endcheck`.`OBJ_ID`, 
 | 
    `endcheck`.`OBJ_TYPE`, 
 | 
    `endcheck`.`FACTORY_ID`, 
 | 
    `endcheck`.`PRO_ROUTE_ID`, 
 | 
    `endcheck`.`PRO_DEVICE_ID`, 
 | 
    `endcheck`.`MATERIAL_ID`, 
 | 
    `endcheck`.`UNIT_ID`, 
 | 
    `endcheck`.`PRO_DATE`, 
 | 
    `endcheck`.`TYPE`, 
 | 
    `endcheck`.`NUM`, 
 | 
    `endcheck`.`DONE_TYPE`, 
 | 
    `endcheck`.`CHECK_INFO`, 
 | 
    `endcheck`.`CHECK_TYPE`, 
 | 
    `endcheck`.`CODE`, 
 | 
    w.code as workOrderCode , 
 | 
    m.NAME as materialName  , 
 | 
    m.CODE as materialCode , 
 | 
    s.REALNAME as userName , 
 | 
    d.`NAME` as departmentName , 
 | 
    u.name as unitName 
 | 
    FROM `endcheck` `endcheck` 
 | 
    left join material_distribute md on `endcheck`.MATERIAL_ID = md.id 
 | 
    left join material  m on md.MATERIAL_ID = m.ID 
 | 
    left join unit u on m.unit_id = u.id 
 | 
    left join workorder w on `endcheck`.OBJ_ID = w.id 
 | 
    left join system_user s on endcheck.CREATE_USER = s.id 
 | 
    left join company_user c on  endcheck.CREATE_USER = c.USER_ID and endcheck.ROOT_DEPART_ID = c.ROOT_DEPART_ID  AND C.DELETED = 0 
 | 
    left join department d on c.DEPARTMENT_ID = d.id 
 | 
    <where> 
 | 
      <if test="id != null "> 
 | 
        AND `endcheck`.`id` = #{id} 
 | 
      </if> 
 | 
    </where> 
 | 
  </select> 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
</mapper> 
 |