日照智慧社区接口服务
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

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