You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-wms-java/src/main/resources/mybatis/mapper/auth/SysWorkplaceDao.xml

116 lines
5.8 KiB
XML

<?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.glxp.api.dao.auth.SysWorkplaceDao">
<select id="selectMaxWorkplaceId" resultType="java.lang.Long">
SELECT MAX(workplaceId)
FROM sys_workplace
</select>
<select id="filterList" resultType="com.glxp.api.res.basic.SysWorkplaceResponse">
select sw.*, aw.name invName,auth_user.employeeName as employeeName,scps.name as categoryName,
ad.name as deptCodeName
from sys_workplace sw
left join auth_dept ad on sw.deptCode = ad.code
left join auth_warehouse aw on sw.invCode = aw.code
left join auth_user on sw.chargeUser = auth_user.id
left join basic_collect_point_category scps on sw.constituencies = scps.code
<where>
<if test="request.key != null and request.key != ''">
AND (sw.workplaceName like concat('%', #{request.key}, '%')
or sw.workplaceId like concat('%', #{request.key}, '%')
or auth_user.employeeName like concat('%', #{request.key}, '%')
or sw.remake like concat('%', #{request.key}, '%')
)
</if>
<if test=" request.invCode != null and request.invCode != ''">
AND sw.invCode = #{request.invCode}
</if>
<if test=" request.deptCode != null and request.deptCode != ''">
AND sw.deptCode = #{request.deptCode}
</if>
<if test=" request.workplaceStatus != null">
AND sw.workplaceStatus = #{request.workplaceStatus}
</if>
<if test=" request.chargeUser != null and request.chargeUser != ''">
AND sw.chargeUser = #{request.chargeUser}
</if>
<if test=" request.code != null and request.code != ''">
AND scps.code = #{request.code}
</if>
<if test=" request.workPlaceClass != null and request.workPlaceClass != ''">
AND sw.workPlaceClass = #{request.workPlaceClass}
</if>
<if test=" request.workPlaceIds != null and request.workPlaceIds.size > 0">
AND sw.workplaceId IN
<foreach collection="request.workPlaceIds" item="workplaceId" index="index" open="(" close=")" separator=",">
#{workplaceId}
</foreach>
</if>
</where>
ORDER BY sw.deptCode, sw.chargeUser ,sw.workplaceId
</select>
<select id="getAllByBusType" resultType="com.glxp.api.res.basic.SysWorkplaceResponse">
select sys_workplace.* from sys_workplace_document INNER JOIN sys_workplace on
sys_workplace_document.workplaceCode = sys_workplace.workplaceId
<where>
<if test=" busTypeCode != null and busTypeCode != ''">
AND sys_workplace_document.documentTypeCode = #{busTypeCode}
</if>
</where>
GROUP BY sys_workplace.workplaceId
</select>
<select id="getListByBusType" resultType="com.glxp.api.res.basic.SysWorkplaceResponse">
select sw.*, aw.name invName,auth_user.employeeName as employeeName,scps.name as categoryName,
ad.name as deptCodeName
from sys_workplace sw
left join auth_dept ad on sw.deptCode = ad.code
left join auth_warehouse aw on sw.invCode = aw.code
left join auth_user on sw.chargeUser = auth_user.id
left join basic_collect_point_category scps on sw.constituencies = scps.code
left join sys_workplace_bus swb on sw.workplaceId = swb.workplaceCode
left join sys_workplace_document swd on swb.busTypeCode = swd.documentTypeCode
left join basic_collect_user bcu on bcu.workplaceCode = sw.workplaceId
<where>
<if test="request.key != null and request.key != ''">
AND (sw.workplaceName like concat('%', #{request.key}, '%')
or sw.workplaceId like concat('%', #{request.key}, '%')
or auth_user.employeeName like concat('%', #{request.key}, '%')
or sw.remake like concat('%', #{request.key}, '%')
)
</if>
<if test=" request.invCode != null and request.invCode != ''">
AND sw.invCode = #{request.invCode}
</if>
<if test=" request.deptCode != null and request.deptCode != ''">
AND sw.deptCode = #{request.deptCode}
</if>
<if test=" request.workplaceStatus != null">
AND sw.workplaceStatus = #{request.workplaceStatus}
</if>
<if test=" request.chargeUser != null and request.chargeUser != ''">
AND sw.chargeUser = #{request.chargeUser}
</if>
<if test=" request.userId != null and request.userId != ''">
AND bcu.userId = #{request.userId}
</if>
<if test=" request.code != null and request.code != ''">
AND scps.code = #{request.code}
</if>
<if test=" request.workPlaceClass != null and request.workPlaceClass != ''">
AND sw.workPlaceClass = #{request.workPlaceClass}
</if>
<if test=" request.busType != null and request.busType != ''">
AND swd.documentTypeCode = #{request.busType}
</if>
<if test=" request.workPlaceIds != null and request.workPlaceIds.size > 0">
AND sw.workplaceId IN
<foreach collection="request.workPlaceIds" item="workplaceId" index="index" open="(" close=")" separator=",">
#{workplaceId}
</foreach>
</if>
</where>
ORDER BY sw.deptCode, sw.chargeUser ,sw.workplaceId
</select>
</mapper>