<?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>
|