결재라인, 만족도추가 , 포틀릿 등 기능 추가

This commit is contained in:
nhj 2025-11-21 09:50:04 +09:00
parent 94059eca28
commit e75bb88f79
19 changed files with 303 additions and 32 deletions

View File

@ -122,11 +122,15 @@ public class PortletManageController {
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
String insPrnslIds = (String)requestMap.get("insPrnslIds");
String userId = (String)requestMap.get("userId");
LinkedHashMap<String, Object> inMap = (LinkedHashMap<String, Object>) requestMap.get("prsnlPortletCreateVO");
// String insPrnslIds = (String)requestMap.get("insPrnslIds");
// String userId = (String)requestMap.get("userId");
// int insPrnslSeq = (int)requestMap.get("insPrnslSeq"); // 2025.11.12 나혁제 Seq 변수 추가
LinkedHashMap<String, Object> inMap = (LinkedHashMap<String, Object>) requestMap.get("prsnlPortletCreateVO");
portletManageService.insertUserPortlet(insPrnslIds,userId,inMap);
// 2025.11.12 나혁제 불푤요한 변수 삭제
portletManageService.insertUserPortlet(inMap);
// portletManageService.insertUserPortlet(insPrnslIds,userId,inMap);
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /potl/insertUserPortlet.do >>>>>>>>>>>>>>>>>>>>>>>>>");

View File

@ -80,23 +80,26 @@ public class PortletManageService {
}
// 사용자 포틀릿 등록
public void insertUserPortlet( String insPrnslIds
/* 2025.11.12 나혁제 불필요한 변수 조정
public void insertUserPortlet(
, String insPrnslIds
, String userId
, LinkedHashMap<String, Object> inMap) throws Exception
*/
public void insertUserPortlet( LinkedHashMap<String, Object> inMap ) throws Exception
{
int maxSeq = prsnlPortletCreateManageDAO.getMaxSeq(inMap);
inMap.put("portletSeq" , maxSeq);
inMap.put("prsnlId" , insPrnslIds);
inMap.put("userId" , userId);
// 2025.11.12 나혁제 입력값으로 순서
// int maxSeq = prsnlPortletCreateManageDAO.getMaxSeq(inMap);
// inMap.put("portletSeq" , maxSeq);
// inMap.put("portletSeq" , insPrnslSeq);
// inMap.put("prsnlId" , insPrnslIds);
// inMap.put("userId" , userId);
portletManageDao.insertUserPortlet(inMap);
}
// 사용자 포틀릿 삭제
public void deleteUserPortlet( String prsnlIdForInsert
, String userId ) throws Exception

View File

@ -134,6 +134,12 @@ public class ReportCheckController
// 보고서 정보 상세조회
LinkedHashMap<String, Object> resultReportCheck = reportCheckService.getReportWithBody(inReportSeq);
// 2025.11.20 나혁제 기본정보가 없는경우 리턴 처리
if(resultReportCheck == null)
{
return ResultData.ok(resBody);
}
int inIncidentSeq = 0;
if (resultReportCheck.get("inIncidentSeq") != null)
{

View File

@ -117,6 +117,12 @@ public class ReportErrorController
// 보고서 정보 상세조회
LinkedHashMap<String, Object> resultReportError = reportErrorService.getReportWithBody(inReportSeq);
// 2025.11.20 나혁제 기본정보가 없는경우 리턴 처리
if(resultReportError == null)
{
return ResultData.ok(resBody);
}
int inIncidentSeq = 0;
if (resultReportError.get("inIncidentSeq") != null)
{

View File

@ -117,6 +117,12 @@ public class ReportIssueController
// 보고서 정보 상세조회
LinkedHashMap<String, Object> resultReportIssue = reportIssueService.getReportWithBody(inReportSeq);
// 2025.11.20 나혁제 기본정보가 없는경우 리턴 처리
if(resultReportIssue == null)
{
return ResultData.ok(resBody);
}
int inIncidentSeq = 0;
if (resultReportIssue.get("inIncidentSeq") != null)
{

View File

@ -117,6 +117,12 @@ public class ReportOtherController
// 보고서 정보 상세조회
LinkedHashMap<String, Object> resultReportOther = reportOtherService.getReportWithBody(inReportSeq);
// 2025.11.20 나혁제 기본정보가 없는경우 리턴 처리
if(resultReportOther == null)
{
return ResultData.ok(resBody);
}
int inIncidentSeq = 0;
if (resultReportOther.get("inIncidentSeq") != null)
{
@ -582,6 +588,39 @@ public class ReportOtherController
return ResultData.ok(resBody);
}
/**
* 월별 보고서 현황 조회
* @author urp 인프라본부 나혁제
* 작성일 : 2025.11.14
*/
@ResponseBody
@RequestMapping(value="/srm/getReportMonStatus.do")
public ResponseEntity<ResultData> getReportMonStatus( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /srm/getReportMonStatus.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
String strSearchMon = (String)requestMap.get("strSearchMon");
log.info("strSearchMon [{}]", strSearchMon );
// 월별 보고서 현황 조회
List<LinkedHashMap<String, Object>> resultList = reportOtherService.getReportMonStatus(strSearchMon);
resBody.put("resultList", resultList );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /srm/getReportMonStatus.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}

View File

@ -621,6 +621,40 @@ public class SvcDeskController
return ResultData.ok(resBody);
}
/**
* 월별 SR 현황 조회
* @author urp 인프라본부 나혁제
* 작성일 : 2025.11.13
*/
@ResponseBody
@RequestMapping(value="/srm/getIncidentMonStatus.do")
public ResponseEntity<ResultData> getIncidentMonStatus( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /srm/getIncidentMonStatus.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
String strSearchMon = (String)requestMap.get("strSearchMon");
log.info("strSearchMon [{}]", strSearchMon );
// 월별 SR 현황 조회
List<LinkedHashMap<String, Object>> resultList = svcDeskService.getIncidentMonStatus(strSearchMon);
resBody.put("resultList", resultList );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /srm/getIncidentMonStatus.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}

View File

@ -111,5 +111,10 @@ public interface ReportOtherDao
// 반려
public int rejectReport(LinkedHashMap<String, Object> inMap) throws Exception;
// 2025.11.14 나혁제 월별 보고서 현황
public List<LinkedHashMap<String, Object>> getReportMonStatus(String strSearchMon) throws Exception;
}

View File

@ -109,8 +109,8 @@ public interface SvcDeskDao
public int deleteSharing(int inInt) throws Exception;
// 2025.11.13 나혁제 월별 SR 현황
public List<LinkedHashMap<String, Object>> getIncidentMonStatus(String strSearchMon) throws Exception;

View File

@ -309,6 +309,13 @@ public class ReportOtherService
return strIncidentId;
}
// 2025.11.14 나혁제 월별 보고서 현황
public List<LinkedHashMap<String, Object>> getReportMonStatus(String strSearchMon) throws Exception
{
return reportOtherDao.getReportMonStatus(strSearchMon);
}

View File

@ -288,6 +288,13 @@ public class SvcDeskService
return strIncidentId;
}
// 2025.11.13 나혁제 월별 SR 현황
public List<LinkedHashMap<String, Object>> getIncidentMonStatus(String strSearchMon) throws Exception
{
return svcDeskDao.getIncidentMonStatus(strSearchMon);
}

View File

@ -53,7 +53,7 @@ public class ResourceStatController
* 작성일 : 2025.11.10
*/
@ResponseBody
@RequestMapping(value="/srm/getResouceTotalStat.do")
@RequestMapping(value="/sta/getResouceTotalStat.do")
public ResponseEntity<ResultData> getMyIncidents( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response

View File

@ -27,7 +27,7 @@
<!-- 2025.11.11. 나혁제 정렬최대순서 추출 -->
<select id="selectPortletMax" parameterType="java.util.LinkedHashMap" resultType="java.lang.Integer" >
/* PortletManageDao.selectPortletMax */
SELECT MAX(A.SCRN_IDCT_SEQ) AS maxSeq
SELECT IFNULL(MAX(A.SCRN_IDCT_SEQ),0) AS maxSeq
FROM
TB_USER_PORTLET_MNG A
WHERE 1=1

View File

@ -106,6 +106,7 @@
)
</insert>
<!-- 2025.11.17 나혁제 보고서유형도 변경가능하게 수정 -->
<update id="updateReportForm" parameterType="java.util.LinkedHashMap">
/* ReportDao.updateReportForm */
UPDATE CM_REPORT_FORM
@ -114,8 +115,8 @@
, TX_REPORT_FORM = "${txReportForm}"
, IN_TASK_USER = #{inTaskUser}
, VC_TASK_USER = #{vcTaskUser}
, VC_TASK_USER = #{vcTaskUser}
, IN_SORT_SN = NULLIF(#{inSortSn}, '')
, IN_TASK = #{inTask}
WHERE IN_REPORT_FORM = #{inReportForm}
</update>

View File

@ -51,6 +51,7 @@
<result column="SELECTED" property="selected"/>
</resultMap>
<!-- 2025.11.17 나혁제 STSFDG_NM(만족도) 추가 -->
<resultMap type="java.util.LinkedHashMap" id="approval">
<result property="vcUserName" column="VC_USER_NAME"/>
<result property="vcStatus" column="VC_STATUS"/>
@ -59,6 +60,7 @@
<result property="inOrder" column="IN_ORDER"/>
<result property="inStatus" column="IN_STATUS"/>
<result property="dtApprovalDatetime" column="DT_APPROVAL_DATETIME"/>
<result property="stsfdgNm" column="STSFDG_NM"/>
</resultMap>
<resultMap type="java.util.LinkedHashMap" id="groupVo">
@ -536,6 +538,7 @@
AND B.IN_DEL_FLAG=0
</select>
<!-- 2025.11.20 나혁제 만족도 추가 -->
<select id="getReportApproval" parameterType="int" resultMap="approval">
/* ReportCheckDao.getReportApproval */
SELECT VC_USER_NAME
@ -547,7 +550,10 @@
, IF( IN_STATUS=3, "승인완료"
, IF(IN_STATUS=2, "반려"
, IF(IN_STATUS=1, "승인중", "대기"))) AS VC_STATUS
FROM CM_REPORT_APPROVAL
, B.CD_NM AS STSFDG_NM
FROM CM_REPORT_APPROVAL A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.STSFDG_CD = B.CD
AND B.CD_ID ='SM_005'
WHERE IN_REPORT_SEQ=#{value}
ORDER BY IN_ORDER
</select>
@ -623,22 +629,26 @@
WHERE IN_REPORT_SEQ = #{inReportSeq}
</delete>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="procApproval" parameterType="java.util.LinkedHashMap" statementType="CALLABLE">
{ call PROC_APPROVAL(
1
, #{inReportSeq}
, #{inUserSeq}
,"${txComment}"
, #{stsfdgCd}
)
}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="rejectReport" parameterType="java.util.LinkedHashMap" statementType="CALLABLE">
{ call PROC_REJECT(
1
, #{inReportSeq}
, #{inUserSeq}
, "${txComment}"
, #{stsfdgCd}
)
}
</update>

View File

@ -51,6 +51,7 @@
<result column="SELECTED" property="selected"/>
</resultMap>
<!-- 2025.11.17 나혁제 STSFDG_NM(만족도) 추가 -->
<resultMap type="java.util.LinkedHashMap" id="approval">
<result property="vcUserName" column="VC_USER_NAME"/>
<result property="vcStatus" column="VC_STATUS"/>
@ -59,6 +60,7 @@
<result property="inOrder" column="IN_ORDER"/>
<result property="inStatus" column="IN_STATUS"/>
<result property="dtApprovalDatetime" column="DT_APPROVAL_DATETIME"/>
<result property="stsfdgNm" column="STSFDG_NM"/>
</resultMap>
<resultMap type="java.util.LinkedHashMap" id="groupVo">
@ -492,7 +494,8 @@
AND A.IN_REPORT_SEQ=#{value}
AND B.IN_DEL_FLAG=0
</select>
<!-- 2025.11.20 나혁제 만족도 추가 -->
<select id="getReportApproval" parameterType="int" resultMap="approval">
/* ReportErrorDao.getReportApproval */
SELECT VC_USER_NAME
@ -504,7 +507,10 @@
, IF( IN_STATUS=3, "승인완료"
, IF(IN_STATUS=2, "반려"
, IF(IN_STATUS=1, "승인중", "대기"))) AS VC_STATUS
FROM CM_REPORT_APPROVAL
, B.CD_NM AS STSFDG_NM
FROM CM_REPORT_APPROVAL A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.STSFDG_CD = B.CD
AND B.CD_ID ='SM_005'
WHERE IN_REPORT_SEQ=#{value}
ORDER BY IN_ORDER
</select>
@ -581,22 +587,26 @@
}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="procApproval" parameterType="java.util.LinkedHashMap" statementType="CALLABLE">
{ call PROC_APPROVAL(
1
, #{inReportSeq}
, #{inUserSeq}
,"${txComment}"
, #{stsfdgCd}
)
}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="rejectReport" parameterType="java.util.LinkedHashMap" statementType="CALLABLE">
{ call PROC_REJECT(
1
, #{inReportSeq}
, #{inUserSeq}
, "${txComment}"
, #{stsfdgCd}
)
}
</update>

View File

@ -51,6 +51,7 @@
<result column="SELECTED" property="selected"/>
</resultMap>
<!-- 2025.11.17 나혁제 STSFDG_NM(만족도) 추가 -->
<resultMap type="java.util.LinkedHashMap" id="approval">
<result property="vcUserName" column="VC_USER_NAME"/>
<result property="vcStatus" column="VC_STATUS"/>
@ -59,6 +60,7 @@
<result property="inOrder" column="IN_ORDER"/>
<result property="inStatus" column="IN_STATUS"/>
<result property="dtApprovalDatetime" column="DT_APPROVAL_DATETIME"/>
<result property="stsfdgNm" column="STSFDG_NM"/>
</resultMap>
<resultMap type="java.util.LinkedHashMap" id="groupVo">
@ -494,6 +496,7 @@
AND B.IN_DEL_FLAG=0
</select>
<!-- 2025.11.20 나혁제 만족도 추가 -->
<select id="getReportApproval" parameterType="int" resultMap="approval">
/* ReportIssueDao.getReportApproval */
SELECT VC_USER_NAME
@ -505,7 +508,10 @@
, IF( IN_STATUS=3, "승인완료"
, IF(IN_STATUS=2, "반려"
, IF(IN_STATUS=1, "승인중", "대기"))) AS VC_STATUS
FROM CM_REPORT_APPROVAL
, B.CD_NM AS STSFDG_NM
FROM CM_REPORT_APPROVAL A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.STSFDG_CD = B.CD
AND B.CD_ID ='SM_005'
WHERE IN_REPORT_SEQ=#{value}
ORDER BY IN_ORDER
</select>
@ -581,22 +587,26 @@
}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="procApproval" parameterType="java.util.LinkedHashMap" statementType="CALLABLE">
{ call PROC_APPROVAL(
1
, #{inReportSeq}
, #{inUserSeq}
,"${txComment}"
, #{stsfdgCd}
)
}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="rejectReport" parameterType="java.util.LinkedHashMap" statementType="CALLABLE">
{ call PROC_REJECT(
1
, #{inReportSeq}
, #{inUserSeq}
, "${txComment}"
, #{stsfdgCd}
)
}
</update>

View File

@ -50,6 +50,7 @@
<result column="SELECTED" property="selected"/>
</resultMap>
<!-- 2025.11.17 나혁제 STSFDG_NM(만족도) 추가 -->
<resultMap type="java.util.LinkedHashMap" id="approval">
<result property="vcUserName" column="VC_USER_NAME"/>
<result property="vcStatus" column="VC_STATUS"/>
@ -58,6 +59,7 @@
<result property="inOrder" column="IN_ORDER"/>
<result property="inStatus" column="IN_STATUS"/>
<result property="dtApprovalDatetime" column="DT_APPROVAL_DATETIME"/>
<result property="stsfdgNm" column="STSFDG_NM"/>
</resultMap>
<resultMap type="java.util.LinkedHashMap" id="groupVo">
@ -483,6 +485,7 @@
AND B.IN_DEL_FLAG=0
</select>
<!-- 2025.11.20 나혁제 만족도 추가 -->
<select id="getReportApproval" parameterType="int" resultMap="approval">
/* ReportOtherDao.getReportApproval */
SELECT VC_USER_NAME
@ -494,7 +497,10 @@
, IF( IN_STATUS=3, "승인완료"
, IF(IN_STATUS=2, "반려"
, IF(IN_STATUS=1, "승인중", "대기"))) AS VC_STATUS
FROM CM_REPORT_APPROVAL
, B.CD_NM AS STSFDG_NM
FROM CM_REPORT_APPROVAL A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.STSFDG_CD = B.CD
AND B.CD_ID ='SM_005'
WHERE IN_REPORT_SEQ=#{value}
ORDER BY IN_ORDER
</select>
@ -570,22 +576,26 @@
}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="procApproval" parameterType="java.util.LinkedHashMap" statementType="CALLABLE">
{ call PROC_APPROVAL(
1
, #{inReportSeq}
, #{inUserSeq}
,"${txComment}"
, #{stsfdgCd}
)
}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="rejectReport" parameterType="java.util.LinkedHashMap" statementType="CALLABLE">
{ call PROC_REJECT(
1
, #{inReportSeq}
, #{inUserSeq}
, "${txComment}"
, #{stsfdgCd}
)
}
</update>
@ -643,6 +653,42 @@
GROUP BY U.ESNTL_ID
</select>
<!-- 2025.11.14 나혁제 월별 SR 현황 데이터 -->
<select id="getReportMonStatus" parameterType="String" resultType="java.util.LinkedHashMap">
/* ReportOtherDao.getReportMonStatus */
SELECT IN_TASK AS inTask
, SUBSTR(B.CD_NM,1,2) AS vcTask
, SUM(CASE WHEN COMPLETED = '0' THEN CNT ELSE 0 END ) AS cnt0
, SUM(CASE WHEN COMPLETED = '1' THEN CNT ELSE 0 END ) AS cnt1
FROM (
SELECT '미승인' AS STATUS
, '0' AS COMPLETED
, IN_TASK AS IN_TASK
, COUNT(1) AS CNT
FROM CM_REPORT
WHERE 1=1
AND DATE_FORMAT(DT_LAST_UPDATE, '%Y-%m') = #{inSearchMon}
AND IN_REPORT_STATUS != '3'
GROUP BY IN_TASK
UNION ALL
SELECT '승인' AS STATUS
, '1' AS COMPLETED
, IN_TASK AS IN_TASK
, COUNT(1) AS CNT
FROM CM_REPORT
WHERE 1=1
AND DATE_FORMAT(DT_LAST_UPDATE, '%Y-%m') = #{inSearchMon}
AND IN_REPORT_STATUS = '3'
GROUP BY IN_TASK
) A
, TB_CMM_DTL_CD_INFO B
WHERE 1=1
AND A.IN_TASK = B.CD
AND B.CD_ID ='SM_002'
GROUP BY IN_TASK
</select>

View File

@ -110,7 +110,8 @@
<result property="vcReportStatus" column="VC_REPORT_STATUS"/>
<result property="vcTask" column="VC_TASK"/>
</resultMap>
<!-- 2025.11.17 나혁제 STSFDG_NM(만족도) 추가 -->
<resultMap type="java.util.LinkedHashMap" id="approval">
<result property="vcUserName" column="VC_USER_NAME"/>
<result property="vcStatus" column="VC_STATUS"/>
@ -119,11 +120,9 @@
<result property="inOrder" column="IN_ORDER"/>
<result property="inStatus" column="IN_STATUS"/>
<result property="dtApprovalDatetime" column="DT_APPROVAL_DATETIME"/>
<result property="stsfdgNm" column="STSFDG_NM"/>
</resultMap>
<select id="searchIncident" parameterType="java.util.HashMap" resultMap="incident">
/* SvcDeskDao.searchIncident */
SELECT A.IN_INCIDENT_SEQ
@ -193,6 +192,7 @@
</select>
<select id="searchIncidentCount" parameterType="java.util.HashMap" resultType="int">
/* SvcDeskDao.searchIncidentCount */
SELECT COUNT(A.IN_INCIDENT_SEQ)
FROM CM_INCIDENT A
, CM_SERVICE B
@ -202,6 +202,7 @@
</select>
<select id="getServiceCombo" parameterType="int" resultMap="selectVo">
/* SvcDeskDao.getServiceCombo */
SELECT A.IN_SERVICE_CODE AS VALUE
, A.VC_SERVICE_NAME AS LABEL
, @I:=@I+1
@ -218,12 +219,14 @@
</select>
<select id="getinIncidentSeq" parameterType="java.util.HashMap" resultType="int">
/* SvcDeskDao.getinIncidentSeq */
SELECT A.IN_INCIDENT_SEQ AS inIncidentSeq
FROM CM_INCIDENT A
WHERE VC_INCIDENT_NUM = #{vcIncidentNum}
</select>
<select id="getIncidentBySeq" parameterType="int" resultMap="incident">
/* SvcDeskDao.getIncidentBySeq */
SELECT A.IN_INCIDENT_SEQ
, A.VC_INCIDENT_NUM
, A.IN_SERVICE_CODE
@ -264,6 +267,7 @@
</select>
<select id="getIncidentSharing" parameterType="int" resultMap="groupVo">
/* SvcDeskDao.getIncidentSharing */
SELECT A.IN_USER_GROUP_SEQ
, A.VC_USER_GROUP
, A.VC_USER_GROUP_DESC
@ -279,6 +283,7 @@
</select>
<select id="getReportByIncident" parameterType="int" resultMap="reportVo">
/* SvcDeskDao.getReportByIncident */
SELECT A.IN_REPORT_SEQ
, A.IN_REPORT_STATUS
, A.VC_REPORT_ID
@ -309,7 +314,9 @@
ORDER BY A.DT_LAST_UPDATE DESC
</select>
<!-- 2025.11.17 나혁제 STSFDG_NM(만족도) 추가 -->
<select id="getApproval" parameterType="int" resultMap="approval">
/* SvcDeskDao.getApproval */
SELECT VC_USER_NAME
, TX_COMMENT
, IN_USER_SEQ
@ -319,12 +326,16 @@
, IF( IN_STATUS=3, "승인완료",
IF(IN_STATUS=2, "반려",
IF(IN_STATUS=1, "승인중", "대기"))) AS VC_STATUS
FROM CM_INCIDENT_APPROVAL
, B.CD_NM AS STSFDG_NM
FROM CM_INCIDENT_APPROVAL A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.STSFDG_CD = B.CD
AND B.CD_ID ='SM_005'
WHERE IN_INCIDENT_SEQ=#{value}
ORDER BY IN_ORDER
</select>
<select id="getTransgerInfo" parameterType="int" resultType="java.util.HashMap">
/* SvcDeskDao.getTransgerInfo */
SELECT IN_INDEX
, IN_PRIV_USER_SEQ
, VC_PRIV_USER_NAME
@ -342,6 +353,7 @@
<insert id="addIncident" parameterType="java.util.HashMap" useGeneratedKeys="true" keyProperty="inIncidentSeq">
/* SvcDeskDao.addIncident */
INSERT INTO CM_INCIDENT
(
VC_INCIDENT_NUM
@ -389,6 +401,7 @@
</insert>
<update id="updateIncidentApprovalInit" parameterType="int">
/* SvcDeskDao.updateIncidentApprovalInit */
UPDATE CM_INCIDENT
SET IN_INCIDENT_STATUS = 0
, DT_REQ_APPROVAL_DATETIME = NULL
@ -396,13 +409,17 @@
WHERE IN_INCIDENT_SEQ=#{value}
</update>
<!-- 2025.11.18 나혁제 처리자는 처리 안함 -->
<!--
, IN_DEV_USER = #{inDevUser}
, VC_DEV_USER = "${vcDevUser}"
-->
<update id="updateIncident" parameterType="java.util.HashMap">
/* SvcDeskDao.updateIncident */
UPDATE CM_INCIDENT
SET IN_SERVICE_CODE = #{inServiceCode}
, IN_CHARGE_USER = #{inChargeUser}
, VC_CHARGE_USER = "${vcChargeUser}"
, IN_DEV_USER = #{inDevUser}
, VC_DEV_USER = "${vcDevUser}"
,
<if test="dtReceiptDatetime !=null and dtReceiptDatetime !=''">
DT_RECEIPT_DATETIME="${dtReceiptDatetime}",
@ -425,6 +442,7 @@
<insert id="addApproval" parameterType="java.util.HashMap">
/* SvcDeskDao.addApproval */
INSERT INTO CM_INCIDENT_APPROVAL
(
IN_INCIDENT_SEQ
@ -448,18 +466,21 @@
</insert>
<delete id="deleteApproval" parameterType="int">
/* SvcDeskDao.deleteApproval */
DELETE FROM CM_INCIDENT_APPROVAL
WHERE IN_INCIDENT_SEQ=#{inIncidentSeq}
</delete>
<delete id="deleteSharing" parameterType="int">
/* SvcDeskDao.deleteSharing */
DELETE FROM CM_SHARING_MEMBER
WHERE IN_TYPE=2
AND IN_TARGET_SEQ=#{value}
</delete>
<insert id="addIncidentSharing" parameterType="java.util.HashMap">
/* SvcDeskDao.addIncidentSharing */
INSERT INTO CM_SHARING_MEMBER
(
IN_TYPE
@ -480,8 +501,9 @@
{ call PROC_REQ_APPROVAL( 2
, #{inIncidentSeq}
, #{inUserSeq}
, "${txComment}")
}
, "${txComment}"
)
}
</update>
<!-- 2025.04.17 나혁제 2.0 조치자 처리 -->
@ -515,20 +537,24 @@
WHERE IN_INCIDENT_SEQ=#{value}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="procApproval" parameterType="java.util.Map" statementType="CALLABLE">
{ call PROC_APPROVAL( 2
, #{inIncidentSeq}
, #{inUserSeq}
, "${txComment}"
, #{stsfdgCd}
)
}
</update>
<!-- 2025.11.17 나혁제 만족도(stsfdgCd) 추가 -->
<update id="rejectIncident" parameterType="java.util.Map" statementType="CALLABLE">
{ call PROC_REJECT( 2
, #{inIncidentSeq}
, #{inUserSeq}
, "${txComment}"
, #{stsfdgCd}
)
}
</update>
@ -630,6 +656,57 @@
GROUP BY U.ESNTL_ID
</select>
<!-- 2025.11.13 나혁제 월별 SR 현황 데이터 -->
<select id="getIncidentMonStatus" parameterType="String" resultType="java.util.LinkedHashMap">
/* SvcDeskDao.getIncidentMonStatus */
SELECT STATUS AS status
, SUM(CASE WHEN COMPLETED = '0' THEN CNT ELSE 0 END ) AS cnt0
, SUM(CASE WHEN COMPLETED = '1' THEN CNT ELSE 0 END ) AS cnt1
FROM (
SELECT '접수' AS STATUS
, IN_INCIDENT_STATUS AS STATUS_1
, IN_COMPLETED AS COMPLETED
, COUNT(1) AS CNT
FROM CM_INCIDENT
WHERE 1=1
AND DATE_FORMAT(DT_REQ_DATETIME, '%Y-%m') = #{inSearchMon}
AND IN_INCIDENT_STATUS ='0'
GROUP BY IN_COMPLETED
UNION ALL
SELECT '승인중' AS STATUS
, IN_INCIDENT_STATUS AS STATUS_1
, IN_COMPLETED AS COMPLETED
, COUNT(1) AS CNT
FROM CM_INCIDENT
WHERE 1=1
AND DATE_FORMAT(DT_REQ_DATETIME, '%Y-%m') = #{inSearchMon}
AND IN_INCIDENT_STATUS ='1'
GROUP BY IN_COMPLETED
UNION ALL
SELECT '반려' AS STATUS
, IN_INCIDENT_STATUS AS STATUS_1
, IN_COMPLETED AS COMPLETED
, COUNT(1) AS CNT
FROM CM_INCIDENT
WHERE 1=1
AND DATE_FORMAT(DT_REQ_DATETIME, '%Y-%m') = #{inSearchMon}
AND IN_INCIDENT_STATUS ='2'
GROUP BY IN_COMPLETED
UNION ALL
SELECT '승인완료' AS STATUS
, IN_INCIDENT_STATUS AS STATUS_1
, IN_COMPLETED AS COMPLETED
, COUNT(1) AS CNT
FROM CM_INCIDENT
WHERE 1=1
AND DATE_FORMAT(DT_REQ_DATETIME, '%Y-%m') = #{inSearchMon}
AND IN_INCIDENT_STATUS ='3'
GROUP BY IN_COMPLETED
) A
GROUP BY STATUS
ORDER BY STATUS_1
</select>