<?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.qianwen.smartman.modules.smis.mapper.WorkstationWorkbenchMapper">
|
|
<resultMap id="workstationOfWorkbenchVO" type="com.qianwen.smartman.modules.smis.vo.WorkstationOfWorkbenchVO">
|
<result column="workstationCode" property="workstationCode"/>
|
<result column="workstationName" property="workstationName"/>
|
<result column="workstationId" property="workstationId"/>
|
<collection property="workstationWorkbenchVOList" ofType="com.qianwen.smartman.modules.smis.vo.WorkstationWorkbenchVO">
|
<id column="id" property="id"/>
|
<result column="name" property="name"/>
|
<result column="sort" property="sort"/>
|
</collection>
|
</resultMap>
|
|
<select id="listByGroupId" resultMap="workstationOfWorkbenchVO">
|
SELECT
|
bww.*,
|
bw.id workstationId,
|
bw.code workstationCode,
|
bw.name workstationName
|
FROM
|
blade_workstation_workbench bww
|
LEFT JOIN blade_workstation bw ON bww.workstation_id = bw.id and bw.status = 1
|
LEFT JOIN blade_common_group_of_item gi ON bw.id = gi.item_id
|
LEFT JOIN blade_common_group cg ON cg.id = gi.group_id
|
WHERE bww.is_deleted = 0
|
AND bw.is_deleted = 0
|
<if test="groupIds != null and groupIds.size > 0">
|
AND cg.id IN
|
<foreach collection="groupIds" item="groupId" open="(" separator="," close=")">
|
#{groupId}
|
</foreach>
|
AND cg.is_deleted = 0
|
</if>
|
<if test="keyWord != null and keyWord != ''">
|
and (bw.code Like concat(#{keyWord},'%') or bw.name Like concat(#{keyWord},'%'))
|
</if>
|
ORDER BY bww.sort
|
</select>
|
<select id="listByGroupIdAndWorkstationNotIn" resultMap="workstationOfWorkbenchVO">
|
SELECT
|
bww.*,
|
bw.id workstationId,
|
bw.code workstationCode,
|
bw.name workstationName
|
FROM
|
blade_workstation_workbench bww
|
LEFT JOIN blade_workstation bw ON bww.workstation_id = bw.id and bw.status = 1
|
LEFT JOIN blade_common_group_of_item gi ON bw.id = gi.item_id
|
LEFT JOIN blade_common_group cg ON cg.id = gi.group_id
|
WHERE bww.is_deleted = 0
|
AND bw.is_deleted = 0
|
AND cg.is_deleted = 0
|
<if test="groupIds != null and groupIds.size > 0">
|
AND cg.id IN
|
<foreach collection="groupIds" item="groupId" open="(" separator="," close=")">
|
#{groupId}
|
</foreach>
|
</if>
|
<if test="workstationIdList != null and workstationIdList.size > 0">
|
AND bww.workstation_id NOT IN
|
<foreach collection="workstationIdList" item="workstationId" open="(" separator="," close=")">
|
#{workstationId}
|
</foreach>
|
</if>
|
<if test="keyWord != null and keyWord != ''">
|
and (bw.code Like concat(#{keyWord},'%') or bw.name Like concat(#{keyWord},'%'))
|
</if>
|
ORDER BY bww.sort
|
</select>
|
</mapper>
|