253 lines
10 KiB
XML
253 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:39 KST 2016-->
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
<mapper namespace="com.urpsys.itmsapi.srm.dao.HomeDao">
|
|
|
|
<resultMap type="java.util.LinkedHashMap" id="incident">
|
|
<result property="inIncidentSeq" column="IN_INCIDENT_SEQ"/>
|
|
<result property="vcIncidentNum" column="VC_INCIDENT_NUM"/>
|
|
<result property="inServiceCode" column="IN_SERVICE_CODE"/>
|
|
<result property="vcServiceName" column="VC_SERVICE_NAME"/>
|
|
<result property="inChargeUser" column="IN_CHARGE_USER"/>
|
|
<result property="vcChargeUser" column="VC_CHARGE_USER"/>
|
|
<result property="dtReceiptDatetime" column="DT_RECEIPT_DATETIME"/>
|
|
<result property="dtReqDatetime" column="DT_REQ_DATETIME"/>
|
|
<result property="dtCompleteDatetime" column="DT_COMPLETE_DATETIME"/>
|
|
<result property="vcIncidentTitle" column="VC_INCIDENT_TITLE"/>
|
|
<result property="txIncidentBody" column="TX_INCIDENT_BODY"/>
|
|
<result property="vcIncidentStatus" column="VC_INCIDENT_STATUS"/>
|
|
<result property="inRegUser" column="IN_REG_USER"/>
|
|
<result property="vcRegUser" column="VC_REG_USER"/>
|
|
</resultMap>
|
|
|
|
<resultMap type="java.util.LinkedHashMap" id="reportVo">
|
|
<result property="inReportSeq" column="IN_REPORT_SEQ"/>
|
|
<result property="inReportStatus" column="IN_REPORT_STATUS"/>
|
|
<result property="vcReportId" column="VC_REPORT_ID"/>
|
|
<result property="inIncidentSeq" column="IN_INCIDENT_SEQ"/>
|
|
<result property="inServiceCode" column="IN_SERVICE_CODE"/>
|
|
<result property="vcServiceName" column="VC_SERVICE_NAME"/>
|
|
<result property="dtStartDatetime" column="DT_START_DATETIME"/>
|
|
<result property="dtFinishDatetime" column="DT_FINISH_DATETIME"/>
|
|
<result property="inTaskUser" column="IN_TASK_USER"/>
|
|
<result property="vcTaskUser" column="VC_TASK_USER"/>
|
|
<result property="inRegUser" column="IN_REG_USER"/>
|
|
<result property="vcRegUser" column="VC_REG_USER"/>
|
|
<result property="dtLastUpdate" column="DT_LAST_UPDATE"/>
|
|
<result property="inTask" column="IN_TASK"/>
|
|
<result property="inDowntime" column="IN_DOWNTIME"/>
|
|
<result property="dtDownstartDatetime" column="DT_DOWNSTART_DATETIME"/>
|
|
<result property="dtDownfinishDatetime" column="DT_DOWNFINISH_DATETIME"/>
|
|
<result property="vcReportTitle" column="VC_REPORT_TITLE"/>
|
|
<result property="vcReportStatus" column="VC_REPORT_STATUS"/>
|
|
<result property="txReportBody" column="TX_REPORT_BODY"/>
|
|
<result property="vcTask" column="VC_TASK"/>
|
|
</resultMap>
|
|
|
|
<resultMap type="java.util.LinkedHashMap" id="todoVo">
|
|
<result property="inSeq" column="IN_SEQ"/>
|
|
<result property="inType" column="IN_TYPE"/>
|
|
<result property="vcType" column="VC_TYPE"/>
|
|
<result property="vcTitle" column="VC_TITLE"/>
|
|
<result property="vcRegUser" column="VC_REG_USER"/>
|
|
<result property="dtRegDatetime" column="DT_REG_DATETIME"/>
|
|
<result property="inTask" column="IN_TASK" />
|
|
</resultMap>
|
|
|
|
|
|
<!-- 엔지니어 권한 사용자가 보고서 검색시 본인 회사 소속인 작성글만 조회되도록. inPrivTemplateSeq 는 사이트마다 다를 수 있음. 신정원요구사항-->
|
|
<sql id="customizing">
|
|
<if test="customizing == 'kcredit' and inPrivTemplateSeq == 5">
|
|
AND (
|
|
A.IN_REG_USER IN (SELECT IN_USER_SEQ
|
|
FROM CM_USER
|
|
WHERE IN_COMPANY_SEQ=${reqUserCompany})
|
|
)
|
|
</if>
|
|
</sql>
|
|
|
|
<select id="getMyUserGroups" parameterType="String" resultType="java.lang.String">
|
|
SELECT IN_USER_GROUP_SEQ
|
|
FROM CM_USER_GROUP_MAP
|
|
WHERE IN_USER_SEQ=#{value}
|
|
</select>
|
|
|
|
<select id="getMyIncidents" parameterType="java.util.LinkedHashMap" resultMap="incident">
|
|
<![CDATA[
|
|
SELECT A.IN_INCIDENT_SEQ
|
|
, A.VC_INCIDENT_NUM
|
|
, A.IN_SERVICE_CODE
|
|
, A.IN_CHARGE_USER
|
|
, A.VC_CHARGE_USER
|
|
, DATE_FORMAT(A.DT_RECEIPT_DATETIME, '%Y-%m-%d %H:%i') AS DT_RECEIPT_DATETIME
|
|
, DATE_FORMAT(A.DT_REQ_DATETIME, '%Y-%m-%d %H:%i') AS DT_REQ_DATETIME
|
|
, IFNULL(A.DT_COMPLETE_DATETIME, "") AS DT_COMPLETE_DATETIME
|
|
, A.VC_INCIDENT_TITLE
|
|
, '' AS TX_INCIDENT_BODY
|
|
, A.IN_REG_USER
|
|
, A.VC_REG_USER
|
|
, IF(IN_INCIDENT_STATUS=0 , IF(UNIX_TIMESTAMP(DT_REQ_DATETIME) > UNIX_TIMESTAMP() , "접수", "지연")
|
|
, IF(IN_INCIDENT_STATUS=1, "승인요청"
|
|
, IF(IN_INCIDENT_STATUS=2, "반려"
|
|
, "완료"))) AS VC_INCIDENT_STATUS
|
|
, B.VC_SERVICE_NAME
|
|
FROM CM_INCIDENT A
|
|
, CM_SERVICE B
|
|
WHERE 1=1
|
|
AND A.IN_SERVICE_CODE=B.IN_SERVICE_CODE
|
|
]]>
|
|
<if test="inUserSeq != 'USRCNFRM_00000000000'">
|
|
<if test="groups != null">
|
|
AND (
|
|
A.IN_INCIDENT_SEQ IN ( SELECT IN_TARGET_SEQ
|
|
FROM CM_SHARING_MEMBER
|
|
WHERE IN_TYPE=2 AND IN_USER_GROUP_SEQ IN (#{groups}) )
|
|
OR A.IN_INCIDENT_SEQ NOT IN (SELECT IN_TARGET_SEQ FROM CM_SHARING_MEMBER WHERE IN_TYPE=2)
|
|
)
|
|
</if>
|
|
</if>
|
|
|
|
<!-- 현재월에 등록된 건 전부 + 현재월 기준 미완료 건(현재월보다 미래 등로된 건 제외.). -->
|
|
<![CDATA[
|
|
AND (
|
|
( A.IN_INCIDENT_STATUS < 3
|
|
AND UNIX_TIMESTAMP(DT_RECEIPT_DATETIME) <= UNIX_TIMESTAMP(CONCAT(LAST_DAY("${ym}-01"), " 23:59:59")) AND IN_COMPLETED=0)
|
|
OR (DT_RECEIPT_DATETIME LIKE "${ym}%")
|
|
)
|
|
]]>
|
|
AND
|
|
(IN_INCIDENT_STATUS=0 OR IN_INCIDENT_STATUS=1)
|
|
ORDER BY A.IN_RECEIPT_TIMESTAMP DESC
|
|
</select>
|
|
|
|
<select id="getMyReports" parameterType="java.lang.String" resultMap="reportVo">
|
|
<![CDATA[
|
|
SELECT A.IN_REPORT_SEQ
|
|
, A.IN_REPORT_STATUS
|
|
, A.VC_REPORT_ID
|
|
, A.IN_INCIDENT_SEQ
|
|
, DATE_FORMAT(A.DT_START_DATETIME, '%Y-%m-%d %H:%i') AS DT_START_DATETIME
|
|
, DATE_FORMAT(A.DT_FINISH_DATETIME, '%Y-%m-%d %H:%i') AS DT_FINISH_DATETIME
|
|
, A.IN_TASK_USER
|
|
, A.VC_TASK_USER
|
|
, A.IN_REG_USER
|
|
, A.VC_REG_USER
|
|
, A.DT_LAST_UPDATE
|
|
, A.IN_TASK
|
|
, A.IN_DOWNTIME
|
|
, A.VC_REPORT_TITLE
|
|
, DATE_FORMAT(A.DT_DOWNSTART_DATETIME, '%Y-%m-%d %H:%i') AS DT_DOWNSTART_DATETIME
|
|
, DATE_FORMAT(A.DT_DOWNFINISH_DATETIME, '%Y-%m-%d %H:%i') AS DT_DOWNFINISH_DATETIME
|
|
, A.IN_SERVICE_CODE
|
|
, '' AS TX_REPORT_BODY
|
|
, B.CD_NM AS VC_TASK
|
|
, D.VC_SERVICE_NAME
|
|
, IF(A.IN_REPORT_STATUS=3, "완료", IF(A.IN_REPORT_STATUS=2, "반려"
|
|
, IF(A.IN_REPORT_STATUS=1, "승인요청"
|
|
, "접수"))) AS VC_REPORT_STATUS
|
|
FROM CM_REPORT A
|
|
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.IN_TASK=B.CD
|
|
AND B.CD_ID ='SM_002'
|
|
LEFT OUTER JOIN CM_SERVICE D ON A.IN_SERVICE_CODE=D.IN_SERVICE_CODE
|
|
WHERE 1=1
|
|
|
|
]]>
|
|
<include refid="customizing"/>
|
|
<if test="inUserSeq != 'USRCNFRM_00000000000'">
|
|
<if test="groups != null ">
|
|
AND (
|
|
A.IN_REPORT_SEQ IN ( SELECT IN_TARGET_SEQ
|
|
FROM CM_SHARING_MEMBER
|
|
WHERE IN_TYPE=1 AND IN_USER_GROUP_SEQ IN (${groups}) )
|
|
OR A.IN_REPORT_SEQ NOT IN (SELECT IN_TARGET_SEQ FROM CM_SHARING_MEMBER WHERE IN_TYPE=1)
|
|
)
|
|
</if>
|
|
</if>
|
|
<!-- 현재월에 등록된 건 전부 + 현재월 기준 미완료 건(현재월보다 미래 등로된 건 제외.). -->
|
|
<![CDATA[
|
|
AND (
|
|
( A.IN_REPORT_STATUS<2
|
|
AND UNIX_TIMESTAMP(A.DT_LAST_UPDATE) <= UNIX_TIMESTAMP(CONCAT(LAST_DAY("${ym}-01"), " 23:59:59")))
|
|
OR
|
|
(A.DT_LAST_UPDATE LIKE "${ym}%" )
|
|
)
|
|
]]>
|
|
AND
|
|
(IN_REPORT_STATUS=0 OR IN_REPORT_STATUS=1)
|
|
ORDER BY A.IN_REPORT_SEQ DESC
|
|
</select>
|
|
|
|
<select id="getMyTodo" parameterType="java.util.LinkedHashMap" resultMap="todoVo">
|
|
<![CDATA[
|
|
/* HomeDao.getMyTodo */
|
|
SELECT A.IN_TYPE
|
|
, A.VC_TYPE
|
|
, A.VC_TITLE
|
|
, A.VC_REG_USER
|
|
, A.DT_REG_DATETIME
|
|
, A.IN_SEQ
|
|
, A.IN_TASK
|
|
FROM (
|
|
SELECT IN_REPORT_SEQ AS IN_SEQ
|
|
, 1 AS IN_TYPE
|
|
, "보고서" AS VC_TYPE
|
|
, VC_REPORT_TITLE AS VC_TITLE
|
|
, VC_REG_USER
|
|
, DATE_FORMAT(DT_LAST_UPDATE, '%Y-%m-%d %H:%i') AS DT_REG_DATETIME
|
|
, IN_TASK AS IN_TASK
|
|
FROM CM_REPORT
|
|
WHERE IN_REPORT_STATUS < 2 AND IN_TASK_USER=#{inUserSeq}
|
|
UNION
|
|
SELECT IN_INCIDENT_SEQ AS IN_SEQ
|
|
, 2 AS IN_TYPE
|
|
, "서비스데스크" AS VC_TYPE
|
|
, VC_INCIDENT_TITLE AS VC_TITLE
|
|
, VC_REG_USER
|
|
, DATE_FORMAT(DT_RECEIPT_DATETIME, '%Y-%m-%d %H:%i') AS DT_REG_DATETIME
|
|
, '' AS IN_TASK
|
|
FROM CM_INCIDENT
|
|
WHERE IN_COMPLETED=0
|
|
AND (IN_REG_USER=#{inUserSeq} OR IN_DEV_USER=#{inUserSeq})
|
|
UNION
|
|
SELECT A.IN_REPORT_SEQ AS IN_SEQ
|
|
, 1 AS IN_TYPE
|
|
, "결재요청" AS VC_TYPE
|
|
, B.VC_REPORT_TITLE AS VC_TITLE
|
|
, B.VC_REQ_APPROVAL_USER AS VC_REG_USER
|
|
, DATE_FORMAT(B.DT_REQ_APPROVAL_DATETIME, '%Y-%m-%d %H:%i') AS DT_REG_DATETIME
|
|
, IN_TASK AS IN_TASK
|
|
FROM CM_REPORT_APPROVAL A
|
|
, CM_REPORT B
|
|
WHERE A.IN_REPORT_SEQ=B.IN_REPORT_SEQ
|
|
AND A.IN_USER_SEQ=#{inUserSeq}
|
|
AND A.IN_STATUS=1
|
|
UNION
|
|
SELECT A.IN_INCIDENT_SEQ AS IN_SEQ
|
|
, 2 AS IN_TYPE, "결재요청" AS VC_TYPE
|
|
, B.VC_INCIDENT_TITLE AS VC_TITLE
|
|
, B.VC_REQ_APPROVAL_USER AS VC_REG_USER
|
|
, DATE_FORMAT(B.DT_REQ_APPROVAL_DATETIME, '%Y-%m-%d %H:%i') AS DT_REG_DATETIME
|
|
, '' AS IN_TASK
|
|
FROM CM_INCIDENT_APPROVAL A
|
|
, CM_INCIDENT B
|
|
WHERE A.IN_INCIDENT_SEQ=B.IN_INCIDENT_SEQ
|
|
AND A.IN_USER_SEQ=#{inUserSeq}
|
|
AND A.IN_STATUS=1
|
|
) A
|
|
ORDER BY A.DT_REG_DATETIME
|
|
]]>
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</mapper>
|
|
|
|
|