|
|
|
<?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.ProjectDao">
|
|
|
|
|
|
|
|
<resultMap type="com.epmet.entity.ProjectEntity" id="projectMap">
|
|
|
|
<result property="id" column="ID"/>
|
|
|
|
<result property="agencyId" column="AGENCY_ID"/>
|
|
|
|
<result property="origin" column="ORIGIN"/>
|
|
|
|
<result property="originId" column="ORIGIN_ID"/>
|
|
|
|
<result property="title" column="TITLE"/>
|
|
|
|
<result property="status" column="STATUS"/>
|
|
|
|
<result property="closedStatus" column="CLOSED_STATUS"/>
|
|
|
|
<result property="orgIdPath" column="ORG_ID_PATH"/>
|
|
|
|
<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="selectPendList" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ProjectListFromDTO">
|
|
|
|
SELECT distinct
|
|
|
|
p.ID,
|
|
|
|
p.TITLE,
|
|
|
|
psp.CREATED_TIME
|
|
|
|
FROM project p
|
|
|
|
INNER JOIN (SELECT
|
|
|
|
ps.PROJECT_ID,
|
|
|
|
MAX(ps.CREATED_TIME) AS CREATED_TIME
|
|
|
|
FROM
|
|
|
|
project_staff ps
|
|
|
|
WHERE
|
|
|
|
ps.DEL_FLAG = '0'
|
|
|
|
AND ps.IS_HANDLE = 'unhandled'
|
|
|
|
AND ps.STAFF_ID = #{userId}
|
|
|
|
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
|
|
|
|
WHERE p.DEL_FLAG = '0'
|
|
|
|
AND p.status = 'pending'
|
|
|
|
ORDER BY psp.CREATED_TIME ASC
|
|
|
|
</select>
|
|
|
|
<select id="selectCreatedList" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ProjectListFromDTO">
|
|
|
|
SELECT distinct
|
|
|
|
p.ID,
|
|
|
|
p.TITLE,
|
|
|
|
p.STATUS,
|
|
|
|
psp.CREATED_TIME
|
|
|
|
FROM project p
|
|
|
|
INNER JOIN (SELECT
|
|
|
|
ps.PROJECT_ID,
|
|
|
|
MAX(ps.CREATED_TIME) AS CREATED_TIME
|
|
|
|
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.IS_HANDLE = 'handle'
|
|
|
|
AND ps.STAFF_ID = #{userId}
|
|
|
|
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
|
|
|
|
WHERE p.DEL_FLAG = '0'
|
|
|
|
ORDER BY psp.CREATED_TIME ASC
|
|
|
|
</select>
|
|
|
|
<select id="selectInvolvedList" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ProjectListFromDTO">
|
|
|
|
SELECT distinct
|
|
|
|
p.ID,
|
|
|
|
p.TITLE,
|
|
|
|
p.STATUS,
|
|
|
|
psp.CREATED_TIME
|
|
|
|
FROM project p
|
|
|
|
INNER JOIN (SELECT
|
|
|
|
ps.PROJECT_ID,
|
|
|
|
MAX(ps.CREATED_TIME) AS CREATED_TIME
|
|
|
|
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.IS_HANDLE = 'handle'
|
|
|
|
AND ps.STAFF_ID = #{userId}
|
|
|
|
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
|
|
|
|
WHERE p.DEL_FLAG = '0'
|
|
|
|
ORDER BY psp.CREATED_TIME ASC
|
|
|
|
</select>
|
|
|
|
<select id="selectDepartmentNameList" resultType="java.lang.String" parameterType="com.epmet.dto.ProjectDTO">
|
|
|
|
SELECT DISTINCT
|
|
|
|
DEPARTMENT_NAME
|
|
|
|
FROM
|
|
|
|
project p
|
|
|
|
INNER JOIN project_staff ps ON p.ID = ps.PROJECT_ID
|
|
|
|
WHERE p.DEL_FLAG = '0'
|
|
|
|
AND ps.DEL_FLAG = '0'
|
|
|
|
AND p.ID = #{id}
|
|
|
|
AND ps.IS_HANDLE = 'unhandled'
|
|
|
|
</select>
|
|
|
|
<select id="selectProjectDetail" resultType="com.epmet.dto.result.ProjectDetailResultDTO">
|
|
|
|
SELECT
|
|
|
|
p.ID AS "projectId",
|
|
|
|
p.TITLE AS "projectTitle",
|
|
|
|
p.ORIGIN AS "origin",
|
|
|
|
p.ORIGIN_ID AS "originId",
|
|
|
|
p.STATUS AS "projectStatus",
|
|
|
|
IFNULL(pp.PUBLIC_REPLY, '无') AS "publicReply",
|
|
|
|
IFNULL(pp.INTERNAL_REMARK, '无') AS "internalRemark"
|
|
|
|
FROM project p
|
|
|
|
INNER JOIN project_process pp ON p.ID = pp.PROJECT_ID AND pp.DEL_FLAG = '0' AND pp.OPERATION = 'created'
|
|
|
|
WHERE p.DEL_FLAG = '0'
|
|
|
|
AND p.ID = #{id}
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
</mapper>
|