You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
4.5 KiB
113 lines
4.5 KiB
<?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.epmet.dao.ProjectStaffDao">
|
|
|
|
<resultMap type="com.epmet.entity.ProjectStaffEntity" id="projectStaffMap">
|
|
<result property="id" column="ID"/>
|
|
<result property="projectId" column="PROJECT_ID"/>
|
|
<result property="customerId" column="CUSTOMER_ID"/>
|
|
<result property="orgId" column="ORG_ID"/>
|
|
<result property="departmentId" column="DEPARTMENT_ID"/>
|
|
<result property="gridId" column="GRID_ID"/>
|
|
<result property="orgIdPath" column="ORG_ID_PATH"/>
|
|
<result property="staffId" column="STAFF_ID"/>
|
|
<result property="isHandle" column="IS_HANDLE"/>
|
|
<result property="delFlag" column="DEL_FLAG"/>
|
|
<result property="revision" column="REVISION"/>
|
|
<result property="createdBy" column="CREATED_BY"/>
|
|
<result property="createdTime" column="CREATED_TIME"/>
|
|
<result property="updatedBy" column="UPDATED_BY"/>
|
|
<result property="updatedTime" column="UPDATED_TIME"/>
|
|
</resultMap>
|
|
<select id="selectDepartmentNameList" resultType="com.epmet.dto.result.DepartmentResultDTO" parameterType="com.epmet.dto.ProjectStaffDTO">
|
|
SELECT
|
|
ID AS projectStaffId,
|
|
DEPARTMENT_NAME
|
|
FROM
|
|
project_staff
|
|
WHERE DEL_FLAG = '0'
|
|
AND PROJECT_ID = #{projectId}
|
|
AND STAFF_ID = #{staffId}
|
|
AND IS_HANDLE = 'unhandled'
|
|
|
|
</select>
|
|
<select id="selectProjectStaffInfo" resultType="com.epmet.dto.ProjectStaffDTO">
|
|
SELECT ps.* FROM project_staff ps
|
|
INNER JOIN project_process pp ON ps.DEPARTMENT_NAME = pp.DEPARTMENT_NAME AND ps.STAFF_ID = pp.STAFF_ID AND ps.PROJECT_ID = pp.PROJECT_ID
|
|
WHERE ps.DEL_FLAG = '0'
|
|
AND pp.DEL_FLAG = '0'
|
|
AND pp.ID = #{processId}
|
|
LIMIT 1
|
|
</select>
|
|
<select id="selectStaffsByProjectId" resultType="java.lang.String">
|
|
SELECT DISTINCT STAFF_ID FROM project_staff WHERE PROJECT_ID = #{projectId}
|
|
</select>
|
|
|
|
<select id="selectProjectTransferStaffList" resultType="com.epmet.dto.ProjectStaffDTO">
|
|
SELECT
|
|
*
|
|
FROM
|
|
project_staff
|
|
WHERE del_flag = '0'
|
|
AND project_id = #{projectId}
|
|
AND is_handle = #{isHandle}
|
|
</select>
|
|
<select id="selectCreatedProcess" resultType="java.lang.String" parameterType="com.epmet.dto.ProjectStaffDTO">
|
|
SELECT
|
|
pp.ID
|
|
FROM
|
|
project_staff ps
|
|
INNER JOIN project_process pp ON ps.PROCESS_ID = pp.ID AND pp.DEL_FLAG = '0' AND pp.OPERATION = 'created'
|
|
WHERE
|
|
ps.DEL_FLAG = '0'
|
|
AND ps.PROJECT_ID = #{projectId}
|
|
AND ps.STAFF_ID = #{staffId}
|
|
AND IS_HANDLE = 'unhandled'
|
|
</select>
|
|
<select id="getStaffUnHandledList" resultType="com.epmet.dto.result.StaffUnHandledDTO">
|
|
SELECT DISTINCT
|
|
ps.ID,
|
|
ps.PROJECT_ID,
|
|
p.TITLE,
|
|
ps.STAFF_ID,
|
|
ps.CREATED_TIME,
|
|
pp.UPDATED_TIME
|
|
FROM
|
|
project_staff ps
|
|
INNER JOIN project p ON ps.PROJECT_ID = p.ID
|
|
AND p.`STATUS` != "closed"
|
|
LEFT JOIN (
|
|
SELECT
|
|
pp.AGENCY_ID,
|
|
pp.GRID_ID,
|
|
pp.DEPARTMENT_ID,
|
|
pp.DEPARTMENT_NAME,
|
|
pp.STAFF_ID,
|
|
pp.PROJECT_ID,
|
|
MAX( pp.CREATED_TIME ) AS "UPDATED_TIME"
|
|
FROM
|
|
project_process pp
|
|
INNER JOIN project p ON pp.PROJECT_ID = p.ID
|
|
AND p.`STATUS` != "closed"
|
|
WHERE
|
|
OPERATION = 'response'
|
|
GROUP BY
|
|
pp.AGENCY_ID,
|
|
pp.GRID_ID,
|
|
pp.DEPARTMENT_ID,
|
|
pp.DEPARTMENT_NAME,
|
|
pp.STAFF_ID,
|
|
pp.PROJECT_ID
|
|
) pp ON ps.ORG_ID = pp.AGENCY_ID
|
|
AND ps.GRID_ID = pp.GRID_ID
|
|
AND ps.DEPARTMENT_ID = pp.DEPARTMENT_ID
|
|
AND ps.STAFF_ID = pp.STAFF_ID
|
|
AND ps.PROJECT_ID = pp.PROJECT_ID
|
|
AND ps.DEPARTMENT_NAME = pp.DEPARTMENT_NAME
|
|
WHERE
|
|
ps.IS_HANDLE = 'unhandled'
|
|
AND ps.CUSTOMER_ID = #{customerId}
|
|
</select>
|
|
|
|
</mapper>
|