烟台政务云平台
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
5.0 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.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>