- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
1689 lines
74 KiB
XML
1689 lines
74 KiB
XML
<?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="problem">
|
|
<!-- ******************************************************************************************* -->
|
|
<!-- //jmpark start -->
|
|
|
|
<!-- //통합문제점 검사명 그룹 제기 목록 count -->
|
|
<select id="getProblemGroupRequestListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT A.OBJID
|
|
, A.REGION
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, A.TITLE
|
|
, A.RES_PIC
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, A.DISTRIBUTE_DATE AS DISTRIBUTE_DATE_ORG
|
|
, TO_CHAR(A.DISTRIBUTE_DATE, 'YYYY-MM-DD') AS DISTRIBUTE_DATE
|
|
, TO_CHAR(A.RES_DISTRIBUTE_DATE, 'YYYY-MM-DD') AS RES_DISTRIBUTE_DATE
|
|
, A.APPROVAL_STATUS
|
|
, A.CURRENT_ROUTE_OBJID AS ROUTE_OBJID
|
|
, (SELECT APPROVAL_OBJID FROM ROUTE WHERE OBJID = A.CURRENT_ROUTE_OBJID) AS APPROVAL_OBJID
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, DECODE(A.STATUS, 'create', '진행중', 'complete', '확정', 'A.STATUS') AS STATUS
|
|
, A.STATUS AS STATUS_ORG
|
|
, ROUND(CASE WHEN (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') + (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) = 0 THEN 0
|
|
ELSE ((SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') / (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID)) *100
|
|
END) AS COMPLETE_RATIO
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) AS ALL_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'CREATE') AS UNCOMPLETE_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') AS COMPLETE_CNT
|
|
|
|
FROM PMS_PROBLEM_GROUP A
|
|
WHERE 1=1
|
|
AND A.WRITER = #{connectedUserId}
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND A.REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND A.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND A.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND A.STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND A.TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
) PMS_PROBLEM_GROUP_INFO
|
|
WHERE 1=1
|
|
<if test="search_oem !=null and search_oem !=''">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !=''">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_resDeptName != null and !''.equals(search_resDeptName)">
|
|
AND UPPER(RES_PIC_DEPT_NAME) LIKE UPPER('%${search_resDeptName}%')
|
|
</if>
|
|
<if test="search_resUserName != null and !''.equals(search_resUserName)">
|
|
AND UPPER(RES_PIC_USER_NAME) LIKE UPPER('%${search_resUserName}%')
|
|
</if>
|
|
<if test="search_reqDeptName != null and !''.equals(search_reqDeptName)">
|
|
AND UPPER(WRITER_DEPT_NAME) LIKE UPPER('%${search_reqDeptName}%')
|
|
</if>
|
|
<if test="search_reqUserName != null and !''.equals(search_reqUserName)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%${search_reqUserName}%')
|
|
</if>
|
|
)WHERE 1=1
|
|
</select>
|
|
|
|
<!-- //통합문제점 검사명 그룹 제기 목록 조회 -->
|
|
<select id="getProblemGroupRequestList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM (
|
|
SELECT PMS_PROBLEM_REQUEST_INFO.*,ROW_NUMBER() OVER (ORDER BY REGDATE_ORG DESC) AS RNUM
|
|
FROM(
|
|
SELECT PMS_PROBLEM_GROUP_INFO.*
|
|
FROM(
|
|
SELECT A.OBJID
|
|
, A.REGION
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, A.TITLE
|
|
, A.RES_PIC
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, A.DISTRIBUTE_DATE AS DISTRIBUTE_DATE_ORG
|
|
, TO_CHAR(A.DISTRIBUTE_DATE, 'YYYY-MM-DD') AS DISTRIBUTE_DATE
|
|
, TO_CHAR(A.RES_DISTRIBUTE_DATE, 'YYYY-MM-DD') AS RES_DISTRIBUTE_DATE
|
|
, A.APPROVAL_STATUS
|
|
, A.CURRENT_ROUTE_OBJID AS ROUTE_OBJID
|
|
, (SELECT APPROVAL_OBJID FROM ROUTE WHERE OBJID = A.CURRENT_ROUTE_OBJID) AS APPROVAL_OBJID
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, DECODE(A.STATUS, 'create', '진행중', 'complete', '확정', 'A.STATUS') AS STATUS
|
|
, A.STATUS AS STATUS_ORG
|
|
, ROUND(CASE WHEN (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') + (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) = 0 THEN 0
|
|
ELSE ((SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') / (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID)) *100
|
|
END) AS COMPLETE_RATIO
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) AS ALL_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'CREATE') AS UNCOMPLETE_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') AS COMPLETE_CNT
|
|
, DECODE(A.APPROVAL_STATUS, null, '미결재', 'approval', '결재중', 'reject', '반려', 'release', '결재완료', A.APPROVAL_STATUS) AS APPROVAL_STATUS_TITLE
|
|
FROM PMS_PROBLEM_GROUP A
|
|
WHERE 1=1
|
|
AND A.WRITER = #{connectedUserId}
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND A.REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND A.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND A.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND A.STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND A.TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
) PMS_PROBLEM_GROUP_INFO
|
|
WHERE 1=1
|
|
<if test="search_oem !=null and search_oem !=''">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !=''">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_resDeptName != null and !''.equals(search_resDeptName)">
|
|
AND UPPER(RES_PIC_DEPT_NAME) LIKE UPPER('%${search_resDeptName}%')
|
|
</if>
|
|
<if test="search_resUserName != null and !''.equals(search_resUserName)">
|
|
AND UPPER(RES_PIC_USER_NAME) LIKE UPPER('%${search_resUserName}%')
|
|
</if>
|
|
<if test="search_reqDeptName != null and !''.equals(search_reqDeptName)">
|
|
AND UPPER(WRITER_DEPT_NAME) LIKE UPPER('%${search_reqDeptName}%')
|
|
</if>
|
|
<if test="search_reqUserName != null and !''.equals(search_reqUserName)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%${search_reqUserName}%')
|
|
</if>
|
|
)PMS_PROBLEM_REQUEST_INFO
|
|
WHERE 1=1
|
|
)WHERE 1=1
|
|
<if test="PAGE_END != null and PAGE_END !=''">
|
|
<![CDATA[ AND RNUM <= #{PAGE_END} ]]>
|
|
</if>
|
|
<if test="PAGE_START != null and PAGE_STRART!=''">
|
|
<![CDATA[ AND RNUM >= #{PAGE_START} ]]>
|
|
</if>
|
|
</select>
|
|
<!-- //통합문제점 검사명 그룹 조치 목록 조회 count -->
|
|
<select id="getProblemGroupResponseListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT A.OBJID
|
|
, A.REGION
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, A.TITLE
|
|
, A.RES_PIC
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, A.DISTRIBUTE_DATE AS DISTRIBUTE_DATE_ORG
|
|
, TO_CHAR(A.DISTRIBUTE_DATE, 'YYYY-MM-DD') AS DISTRIBUTE_DATE
|
|
, TO_CHAR(A.RES_DISTRIBUTE_DATE, 'YYYY-MM-DD') AS RES_DISTRIBUTE_DATE
|
|
, A.APPROVAL_STATUS
|
|
, A.CURRENT_ROUTE_OBJID AS ROUTE_OBJID
|
|
, (SELECT APPROVAL_OBJID FROM ROUTE WHERE OBJID = A.CURRENT_ROUTE_OBJID) AS APPROVAL_OBJID
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, DECODE(A.STATUS, 'create', '진행중', 'complete', '확정', 'A.STATUS') AS STATUS
|
|
, A.STATUS AS STATUS_ORG
|
|
, ROUND(CASE WHEN (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') + (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) = 0 THEN 0
|
|
ELSE ((SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') / (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID)) *100
|
|
END) AS COMPLETE_RATIO
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) AS ALL_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'CREATE') AS UNCOMPLETE_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') AS COMPLETE_CNT
|
|
FROM PMS_PROBLEM_GROUP A
|
|
WHERE 1=1
|
|
AND A.RES_PIC = #{connectedUserId}
|
|
AND A.DISTRIBUTE_DATE IS NOT NULL
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND A.REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND A.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND A.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND A.STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND A.TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
) PMS_PROBLEM_GROUP_INFO
|
|
WHERE 1=1
|
|
<if test="search_oem !=null and search_oem !=''">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !=''">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_resDeptName != null and !''.equals(search_resDeptName)">
|
|
AND UPPER(RES_PIC_DEPT_NAME) LIKE UPPER('%${search_resDeptName}%')
|
|
</if>
|
|
<if test="search_resUserName != null and !''.equals(search_resUserName)">
|
|
AND UPPER(RES_PIC_USER_NAME) LIKE UPPER('%${search_resUserName}%')
|
|
</if>
|
|
<if test="search_reqDeptName != null and !''.equals(search_reqDeptName)">
|
|
AND UPPER(WRITER_DEPT_NAME) LIKE UPPER('%${search_reqDeptName}%')
|
|
</if>
|
|
<if test="search_reqUserName != null and !''.equals(search_reqUserName)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%${search_reqUserName}%')
|
|
</if>
|
|
)WHERE 1=1
|
|
</select>
|
|
<!-- //통합문제점 검사명 그룹 조치 목록 조회 -->
|
|
<select id="getProblemGroupResponseList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM (
|
|
SELECT PMS_PROBLEM_RESPONSE_INFO.*,ROW_NUMBER() OVER (ORDER BY REGDATE_ORG DESC) AS RNUM
|
|
FROM(
|
|
SELECT PMS_PROBLEM_GROUP_INFO.*
|
|
FROM(
|
|
SELECT A.OBJID
|
|
, A.REGION
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, A.TITLE
|
|
, A.RES_PIC
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, A.DISTRIBUTE_DATE AS DISTRIBUTE_DATE_ORG
|
|
, TO_CHAR(A.DISTRIBUTE_DATE, 'YYYY-MM-DD') AS DISTRIBUTE_DATE
|
|
, TO_CHAR(A.RES_DISTRIBUTE_DATE, 'YYYY-MM-DD') AS RES_DISTRIBUTE_DATE
|
|
, A.APPROVAL_STATUS
|
|
, A.CURRENT_ROUTE_OBJID AS ROUTE_OBJID
|
|
, (SELECT APPROVAL_OBJID FROM ROUTE WHERE OBJID = A.CURRENT_ROUTE_OBJID) AS APPROVAL_OBJID
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, DECODE(A.STATUS, 'create', '진행중', 'complete', '확정', 'A.STATUS') AS STATUS
|
|
, A.STATUS AS STATUS_ORG
|
|
, ROUND(CASE WHEN (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') + (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) = 0 THEN 0
|
|
ELSE ((SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') / (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID)) *100
|
|
END) AS COMPLETE_RATIO
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) AS ALL_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'CREATE') AS UNCOMPLETE_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') AS COMPLETE_CNT
|
|
FROM PMS_PROBLEM_GROUP A
|
|
WHERE 1=1
|
|
AND A.RES_PIC = #{connectedUserId}
|
|
AND A.DISTRIBUTE_DATE IS NOT NULL
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND A.REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND A.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND A.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND A.STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND A.TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
) PMS_PROBLEM_GROUP_INFO
|
|
WHERE 1=1
|
|
<if test="search_oem !=null and search_oem !=''">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !=''">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_resDeptName != null and !''.equals(search_resDeptName)">
|
|
AND UPPER(RES_PIC_DEPT_NAME) LIKE UPPER('%${search_resDeptName}%')
|
|
</if>
|
|
<if test="search_resUserName != null and !''.equals(search_resUserName)">
|
|
AND UPPER(RES_PIC_USER_NAME) LIKE UPPER('%${search_resUserName}%')
|
|
</if>
|
|
<if test="search_reqDeptName != null and !''.equals(search_reqDeptName)">
|
|
AND UPPER(WRITER_DEPT_NAME) LIKE UPPER('%${search_reqDeptName}%')
|
|
</if>
|
|
<if test="search_reqUserName != null and !''.equals(search_reqUserName)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%${search_reqUserName}%')
|
|
</if>
|
|
)PMS_PROBLEM_RESPONSE_INFO
|
|
WHERE 1=1
|
|
)WHERE 1=1
|
|
<if test="PAGE_END != null and PAGE_END !=''">
|
|
<![CDATA[ AND RNUM <= #{PAGE_END} ]]>
|
|
</if>
|
|
<if test="PAGE_START != null and PAGE_STRART!=''">
|
|
<![CDATA[ AND RNUM >= #{PAGE_START} ]]>
|
|
</if>
|
|
</select>
|
|
<!-- //통합문제점 검사명 그룹 목록 조회 count -->
|
|
<select id="getProblemGroupListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT A.OBJID
|
|
, A.REGION
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, A.TITLE
|
|
, A.RES_PIC
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, A.DISTRIBUTE_DATE AS DISTRIBUTE_DATE_ORG
|
|
, TO_CHAR(A.DISTRIBUTE_DATE, 'YYYY-MM-DD') AS DISTRIBUTE_DATE
|
|
, TO_CHAR(A.RES_DISTRIBUTE_DATE, 'YYYY-MM-DD') AS RES_DISTRIBUTE_DATE
|
|
, A.APPROVAL_STATUS
|
|
, A.CURRENT_ROUTE_OBJID AS ROUTE_OBJID
|
|
, (SELECT APPROVAL_OBJID FROM ROUTE WHERE OBJID = A.CURRENT_ROUTE_OBJID) AS APPROVAL_OBJID
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, DECODE(A.STATUS, 'create', '진행중', 'complete', '확정', 'A.STATUS') AS STATUS
|
|
, A.STATUS AS STATUS_ORG
|
|
, ROUND(CASE WHEN (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') + (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) = 0 THEN 0
|
|
ELSE ((SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') / (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID)) *100
|
|
END) AS COMPLETE_RATIO
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) AS ALL_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'CREATE') AS UNCOMPLETE_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') AS COMPLETE_CNT
|
|
FROM PMS_PROBLEM_GROUP A
|
|
WHERE 1=1
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND A.REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND A.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND A.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND A.STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND A.TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
) PMS_PROBLEM_GROUP_INFO
|
|
WHERE 1=1
|
|
<if test="search_oem !=null and search_oem !=''">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !=''">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_resDeptName != null and !''.equals(search_resDeptName)">
|
|
AND UPPER(RES_PIC_DEPT_NAME) LIKE UPPER('%${search_resDeptName}%')
|
|
</if>
|
|
<if test="search_resUserName != null and !''.equals(search_resUserName)">
|
|
AND UPPER(RES_PIC_USER_NAME) LIKE UPPER('%${search_resUserName}%')
|
|
</if>
|
|
<if test="search_reqDeptName != null and !''.equals(search_reqDeptName)">
|
|
AND UPPER(WRITER_DEPT_NAME) LIKE UPPER('%${search_reqDeptName}%')
|
|
</if>
|
|
<if test="search_reqUserName != null and !''.equals(search_reqUserName)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%${search_reqUserName}%')
|
|
</if>
|
|
)WHERE 1=1
|
|
</select>
|
|
<!-- //통합문제점 검사명 그룹 목록 조회 -->
|
|
<select id="getProblemGroupList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM (
|
|
SELECT PMS_PROBLEM_LIST_INFO.*,ROW_NUMBER() OVER (ORDER BY REGDATE_ORG DESC) AS RNUM
|
|
FROM(
|
|
SELECT PMS_PROBLEM_GROUP_INFO.*
|
|
FROM(
|
|
SELECT A.OBJID
|
|
, A.REGION
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, A.TITLE
|
|
, A.RES_PIC
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, A.DISTRIBUTE_DATE AS DISTRIBUTE_DATE_ORG
|
|
, TO_CHAR(A.DISTRIBUTE_DATE, 'YYYY-MM-DD') AS DISTRIBUTE_DATE
|
|
, TO_CHAR(A.RES_DISTRIBUTE_DATE, 'YYYY-MM-DD') AS RES_DISTRIBUTE_DATE
|
|
, A.APPROVAL_STATUS
|
|
, A.CURRENT_ROUTE_OBJID AS ROUTE_OBJID
|
|
, (SELECT APPROVAL_OBJID FROM ROUTE WHERE OBJID = A.CURRENT_ROUTE_OBJID) AS APPROVAL_OBJID
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, DECODE(A.STATUS, 'create', '진행중', 'complete', '확정', 'A.STATUS') AS STATUS
|
|
, A.STATUS AS STATUS_ORG
|
|
, ROUND(CASE WHEN (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') + (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) = 0 THEN 0
|
|
ELSE ((SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') / (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID)) *100
|
|
END) AS COMPLETE_RATIO
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) AS ALL_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'CREATE') AS UNCOMPLETE_CNT
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID AND UPPER(STATUS) = 'COMPLETE') AS COMPLETE_CNT
|
|
, (SELECT COUNT(WBS_TASK.OBJID) AS TASK_CNT FROM PMS_WBS_TASK WBS_TASK,PMS_REL_WBS_TASK_FNC_TASK REL WHERE REL.TARGET_OBJID = WBS_TASK.OBJID AND REL.SUB_OBJID = A.OBJID) AS REL_TASK_CNT
|
|
FROM PMS_PROBLEM_GROUP A
|
|
WHERE 1=1
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND A.REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND A.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND A.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND A.STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND A.TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
) PMS_PROBLEM_GROUP_INFO
|
|
WHERE 1=1
|
|
<if test="search_oem !=null and search_oem !=''">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !=''">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_resDeptName != null and !''.equals(search_resDeptName)">
|
|
AND UPPER(RES_PIC_DEPT_NAME) LIKE UPPER('%${search_resDeptName}%')
|
|
</if>
|
|
<if test="search_resUserName != null and !''.equals(search_resUserName)">
|
|
AND UPPER(RES_PIC_USER_NAME) LIKE UPPER('%${search_resUserName}%')
|
|
</if>
|
|
<if test="search_reqDeptName != null and !''.equals(search_reqDeptName)">
|
|
AND UPPER(WRITER_DEPT_NAME) LIKE UPPER('%${search_reqDeptName}%')
|
|
</if>
|
|
<if test="search_reqUserName != null and !''.equals(search_reqUserName)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%${search_reqUserName}%')
|
|
</if>
|
|
)PMS_PROBLEM_LIST_INFO
|
|
WHERE 1=1
|
|
)WHERE 1=1
|
|
<if test="PAGE_END != null and PAGE_END !=''">
|
|
<![CDATA[ AND RNUM <= #{PAGE_END} ]]>
|
|
</if>
|
|
<if test="PAGE_START != null and PAGE_STRART!=''">
|
|
<![CDATA[ AND RNUM >= #{PAGE_START} ]]>
|
|
</if>
|
|
</select>
|
|
|
|
<!-- //통합문제점 검사 그룹 저장 -->
|
|
<update id="saveProblemGroupInfo" parameterType="map">
|
|
MERGE INTO PMS_PROBLEM_GROUP USING DUAL ON (OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE SET
|
|
REGION = #{region}
|
|
, STEP1 = #{step1}
|
|
, STEP2 = #{step2}
|
|
, CAR_OBJID = #{carObjId}
|
|
, PROD_OBJID = #{prodObjId}
|
|
, TEST_TYPE_OBJID = #{testTypeObjId}
|
|
, TITLE = #{title}
|
|
, RES_PIC = #{resPIC}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
OBJID
|
|
, REGION
|
|
, STEP1
|
|
, STEP2
|
|
, CAR_OBJID
|
|
, PROD_OBJID
|
|
, TEST_TYPE_OBJID
|
|
, TITLE
|
|
, RES_PIC
|
|
, WRITER
|
|
, REGDATE
|
|
, STATUS
|
|
) VALUES (
|
|
#{objId}
|
|
, #{region}
|
|
, #{step1}
|
|
, #{step2}
|
|
, #{carObjId}
|
|
, #{prodObjId}
|
|
, #{testTypeObjId}
|
|
, #{title}
|
|
, #{resPIC}
|
|
, #{writer}
|
|
, SYSDATE
|
|
, 'create'
|
|
)
|
|
</update>
|
|
|
|
<!-- //통합문제점 검사 그룹 상세 -->
|
|
<select id="getProblemGroupInfo" parameterType="map" resultType="map">
|
|
SELECT A.OBJID
|
|
, A.REGION
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, A.TITLE
|
|
, A.RES_PIC
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_NAME
|
|
, (SELECT EMAIL FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_EMAIL
|
|
, (SELECT USER_TYPE_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_TYPE_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, (SELECT EMAIL FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_EMAIL
|
|
, (SELECT USER_TYPE_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_TYPE_NAME
|
|
, A.DISTRIBUTE_DATE AS DISTRIBUTE_DATE_ORG
|
|
, TO_CHAR(A.DISTRIBUTE_DATE, 'YYYY-MM-DD') AS DISTRIBUTE_DATE
|
|
, TO_CHAR(A.RES_DISTRIBUTE_DATE, 'YYYY-MM-DD') AS RES_DISTRIBUTE_DATE
|
|
, A.APPROVAL_STATUS
|
|
, A.CURRENT_ROUTE_OBJID AS ROUTE_OBJID
|
|
, (SELECT APPROVAL_OBJID FROM ROUTE WHERE OBJID = A.CURRENT_ROUTE_OBJID) AS APPROVAL_OBJID
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, A.STATUS
|
|
, DECODE(A.STEP1, 'design', '설계', 'develop', '개발', 'production', '양산', A.STEP1) AS STEP1_TITLE
|
|
FROM PMS_PROBLEM_GROUP A
|
|
WHERE 1=1
|
|
<choose>
|
|
<when test="objId != null and !''.equals(objId)">
|
|
AND OBJID = #{objId}
|
|
</when>
|
|
<when test="targetObjId != null and !''.equals(targetObjId)">
|
|
AND OBJID = #{targetObjId}
|
|
</when>
|
|
<otherwise>
|
|
AND 1=2
|
|
</otherwise>
|
|
</choose>
|
|
</select>
|
|
|
|
<!-- //통합문제점 검사 제기자 메일배포 -->
|
|
<update id="distributeProblemGroupInfo" parameterType="map">
|
|
UPDATE PMS_PROBLEM_GROUP SET DISTRIBUTE_DATE = SYSDATE WHERE OBJID = #{targetObjId}
|
|
</update>
|
|
|
|
<!-- //통합문제점 검사 조치자 메일배포 -->
|
|
<update id="resDistributeProblemGroupInfo" parameterType="map">
|
|
UPDATE PMS_PROBLEM_GROUP SET RES_DISTRIBUTE_DATE = SYSDATE WHERE OBJID = #{targetObjId}
|
|
</update>
|
|
|
|
<!-- //통합문제점관리 문제점 저장 -->
|
|
<update id="saveProblemInfo" parameterType="map">
|
|
MERGE INTO PMS_PROBLEM_INFO USING DUAL ON (OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE SET
|
|
TYPE1 = #{type1}
|
|
, TYPE2 = #{type2}
|
|
, IMPUTATION = #{imputation}
|
|
, PART_NO = #{partNo}
|
|
, REQ_DATE = TO_DATE(#{reqDate}, 'YYYY-MM-DD')
|
|
, RES_PLAN_DATE = TO_DATE(#{resPlanDate}, 'YYYY-MM-DD')
|
|
, SUBJECT = #{subject}
|
|
, PROBLEM_CONTENTS = #{problemContents}
|
|
, PROBLEM_REASON_CONTENTS = #{problemReasonContents}
|
|
, UNMANAGE_TYPE = #{unManageType}
|
|
, RESPONSE_CONTENTS = #{responseContents}
|
|
, RES_MODIFY_DATE = TO_DATE(#{resModifyDate}, 'YYYY-MM-DD')
|
|
, REFLECT_PLAN_DATE = TO_DATE(#{reflectPlanDate}, 'YYYY-MM-DD')
|
|
, REFLECT_RESULT = #{reflectResult}
|
|
, CONTINUAL_MNG_TYPE = #{continualMngType}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
OBJID
|
|
, TARGET_OBJID
|
|
, TYPE1
|
|
, TYPE2
|
|
, IMPUTATION
|
|
, REQ_DATE
|
|
, PART_NO
|
|
, RES_PLAN_DATE
|
|
, SUBJECT
|
|
, PROBLEM_CONTENTS
|
|
, PROBLEM_REASON_CONTENTS
|
|
, UNMANAGE_TYPE
|
|
, RESPONSE_CONTENTS
|
|
, RES_MODIFY_DATE
|
|
, REFLECT_PLAN_DATE
|
|
, REFLECT_RESULT
|
|
, CONTINUAL_MNG_TYPE
|
|
, WRITER
|
|
, REGDATE
|
|
, STATUS
|
|
) VALUES (
|
|
#{objId}
|
|
, #{targetObjId}
|
|
, #{type1}
|
|
, #{type2}
|
|
, #{imputation}
|
|
, TO_DATE(#{reqDate}, 'YYYY-MM-DD')
|
|
, #{partNo}
|
|
, TO_DATE(#{resPlanDate}, 'YYYY-MM-DD')
|
|
, #{subject}
|
|
, #{problemContents}
|
|
, #{problemReasonContents}
|
|
, #{unManageType}
|
|
, #{responseContents}
|
|
, #{resModifyDate}
|
|
, #{reflectPlanDate}
|
|
, #{reflectResult}
|
|
, #{continualMngType}
|
|
, #{writer}
|
|
, SYSDATE
|
|
, 'create'
|
|
)
|
|
</update>
|
|
<!-- //통합문제점관리 검사별 문제점 목록 count -->
|
|
<select id="getProblemListCnt" parameterType="map" resultType="map">
|
|
SELECT
|
|
CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(*) AS TOTAL_CNT
|
|
FROM PMS_PROBLEM_INFO A
|
|
WHERE 1=1
|
|
AND A.TARGET_OBJID = #{targetObjId}
|
|
)
|
|
</select>
|
|
|
|
<!-- //통합문제점관리 검사별 문제점 목록 -->
|
|
<select id="getProblemList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM(
|
|
SELECT
|
|
A.*,ROWNUM AS RNUM
|
|
FROM (
|
|
SELECT A.OBJID
|
|
, A.TARGET_OBJID
|
|
, A.TYPE1
|
|
, A.TYPE2
|
|
, A.IMPUTATION
|
|
, A.REQ_DATE AS REQ_DATE_ORG
|
|
, TO_CHAR(A.REQ_DATE, 'YYYY-MM-DD') AS REQ_DATE
|
|
, A.PART_NO
|
|
, (SELECT PART_NAME FROM PART_INFO WHERE PART_NO = A.PART_NO AND IS_LAST = 1) AS PART_NAME
|
|
, A.RES_PLAN_DATE AS RES_PLAN_DATE_ORG
|
|
, TO_CHAR(A.RES_PLAN_DATE, 'YYYY-MM-DD') AS RES_PLAN_DATE
|
|
, A.SUBJECT
|
|
, A.PROBLEM_CONTENTS
|
|
, A.PROBLEM_REASON_CONTENTS
|
|
, A.UNMANAGE_TYPE
|
|
, A.RESPONSE_CONTENTS
|
|
, A.RES_MODIFY_DATE AS RES_MODIFY_DATE_ORG
|
|
, TO_CHAR(A.RES_MODIFY_DATE, 'YYYY-MM-DD') AS RES_MODIFY_DATE
|
|
, A.REFLECT_PLAN_DATE AS REFLECT_PLAN_DATE_ORG
|
|
, TO_CHAR(A.REFLECT_PLAN_DATE, 'YYYY-MM-DD') AS REFLECT_PLAN_DATE
|
|
, A.REFLECT_RESULT
|
|
, A.CONTINUAL_MNG_TYPE
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') REGDATE
|
|
, A.STATUS
|
|
, DECODE(A.CONTINUAL_MNG_TYPE, 'Y', '대상', 'N', '비대상', A.CONTINUAL_MNG_TYPE) AS CONTINUAL_MNG_TYPE_TITLE
|
|
, DECODE(A.TYPE1, 'design', '설계', 'mold', '금형', 'quality', '품질', 'facilities', '설비', A.TYPE1) AS TYPE1_TITLE
|
|
FROM PMS_PROBLEM_INFO A
|
|
WHERE 1=1
|
|
AND A.TARGET_OBJID = #{targetObjId}
|
|
) A
|
|
WHERE 1=1
|
|
)WHERE 1=1
|
|
<if test="PAGE_END != null and PAGE_END !=''">
|
|
<![CDATA[ AND RNUM <= #{PAGE_END} ]]>
|
|
</if>
|
|
<if test="PAGE_START != null and PAGE_STRART!=''">
|
|
<![CDATA[ AND RNUM >= #{PAGE_START} ]]>
|
|
</if>
|
|
</select>
|
|
|
|
<!-- //통합문제점관리 문제점 상세 -->
|
|
<select id="getProblemInfo" parameterType="map" resultType="map">
|
|
SELECT A.OBJID
|
|
, A.TARGET_OBJID
|
|
, A.TYPE1
|
|
, A.TYPE2
|
|
, A.IMPUTATION
|
|
, A.REQ_DATE AS REQ_DATE_ORG
|
|
, TO_CHAR(A.REQ_DATE, 'YYYY-MM-DD') AS REQ_DATE
|
|
, A.PART_NO
|
|
, (SELECT PART_NAME FROM PART_INFO WHERE PART_NO = A.PART_NO AND IS_LAST = 1) AS PART_NAME
|
|
, A.RES_PLAN_DATE AS RES_PLAN_DATE_ORG
|
|
, TO_CHAR(A.RES_PLAN_DATE, 'YYYY-MM-DD') AS RES_PLAN_DATE
|
|
, A.SUBJECT
|
|
, A.PROBLEM_CONTENTS
|
|
, A.PROBLEM_REASON_CONTENTS
|
|
, A.UNMANAGE_TYPE
|
|
, A.RESPONSE_CONTENTS
|
|
, A.RES_MODIFY_DATE AS RES_MODIFY_DATE_ORG
|
|
, TO_CHAR(A.RES_MODIFY_DATE, 'YYYY-MM-DD') AS RES_MODIFY_DATE
|
|
, A.REFLECT_PLAN_DATE AS REFLECT_PLAN_DATE_ORG
|
|
, TO_CHAR(A.REFLECT_PLAN_DATE, 'YYYY-MM-DD') AS REFLECT_PLAN_DATE
|
|
, A.REFLECT_RESULT
|
|
, A.CONTINUAL_MNG_TYPE
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') REGDATE
|
|
, A.STATUS
|
|
FROM PMS_PROBLEM_INFO A
|
|
WHERE 1=1
|
|
AND OBJID = #{objId}
|
|
</select>
|
|
|
|
<!-- //통합문제점관리 문제점 상태변경(확인결과 반영) -->
|
|
<update id="changeProblemStatusInfo" parameterType="map">
|
|
UPDATE PMS_PROBLEM_INFO SET STATUS = #{status} WHERE OBJID = #{objId}
|
|
</update>
|
|
|
|
<!-- //통합문제점관리 미완료된 count 조회 -->
|
|
<select id="getUnCompleteProblemCnt" parameterType="map" resultType="int">
|
|
SELECT COUNT(*) AS CNT
|
|
FROM PMS_PROBLEM_INFO
|
|
WHERE 1=1
|
|
AND TARGET_OBJID = #{targetObjId}
|
|
AND UPPER(STATUS) = 'CREATE'
|
|
</select>
|
|
|
|
<!-- //문제점 검사 (group)의 상태를 완료로 바꾼다. -->
|
|
<update id="updateProblemGroupComplete" parameterType="map">
|
|
UPDATE PMS_PROBLEM_GROUP SET STATUS = 'complete' WHERE OBJID = #{targetObjId}
|
|
</update>
|
|
|
|
<!-- //통합문제점관리 문제점의 과거차 대상여부 변경 -->
|
|
<update id="changeProblemContinualMngTypeInfo" parameterType="map">
|
|
UPDATE PMS_PROBLEM_INFO SET CONTINUAL_MNG_TYPE = #{type} WHERE OBJID = #{objId}
|
|
</update>
|
|
|
|
<!-- //통합문제점관리 문제점의 과거차 대상여부를 대상으로 변경시 최종 승인여부를 다시 초기화 시킨다. -->
|
|
<update id="initializeProblemContinualMngTypeResultInfo" parameterType="map">
|
|
UPDATE PMS_PROBLEM_INFO SET CONTINUAL_MNG_TYPE_RESULT = '' WHERE OBJID = #{objId}
|
|
</update>
|
|
|
|
<!-- //과거차 문제점 승인요청 목록 -->
|
|
<select id="getProblemContinualMngApplyReqList" parameterType="map" resultType="map">
|
|
SELECT PMS_STRUCTURE_REVIEW_REPORT.*, ROW_NUMBER() OVER(ORDER BY REGDATE DESC NULLS LAST) RNUM
|
|
FROM(
|
|
SELECT PMS_STRUCTURE_REVIEW_REPORT.*
|
|
FROM(
|
|
SELECT B.OBJID
|
|
, B.TARGET_OBJID
|
|
, 'problem' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, B.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, B.TYPE1
|
|
, B.TYPE2
|
|
, A.STATUS
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, B.SUBJECT
|
|
, B.REGDATE
|
|
, B.PROBLEM_CONTENTS
|
|
, B.RESPONSE_CONTENTS AS SUGGEST_CONTENTS
|
|
FROM PMS_PROBLEM_GROUP A, PMS_PROBLEM_INFO B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND B.CONTINUAL_MNG_TYPE = 'Y'
|
|
AND B.CONTINUAL_MNG_TYPE_RESULT IS NULL
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND UPPER(B.STATUS) = 'COMPLETE'
|
|
UNION ALL
|
|
SELECT A.OBJID
|
|
, TO_NUMBER('') AS TARGET_OBJID
|
|
, 'structure' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, A.TYPE1
|
|
, A.TYPE2
|
|
, A.STATUS
|
|
, TO_NUMBER('') AS TEST_TYPE_OBJID
|
|
, '' AS TEST_TYPE_NAME
|
|
, A.SUBJECT
|
|
, A.REGDATE
|
|
, A.PROBLEM_CONTENTS
|
|
, A.SUGGEST_CONTENTS
|
|
FROM PMS_STRUCTURE_REVIEW_REPORT A
|
|
WHERE 1=1
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND A.CONTINUAL_MNG_TYPE = 'Y'
|
|
AND A.CONTINUAL_MNG_TYPE_RESULT IS NULL
|
|
)PMS_STRUCTURE_REVIEW_REPORT
|
|
WHERE 1=1
|
|
<if test="search_dataType != null and search_dataType !='' ">
|
|
AND DATA_TYPE = #{search_dataType}
|
|
</if>
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType !='' ">
|
|
AND CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !='' ">
|
|
AND PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="step1 != null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 != null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
<if test="search_action_result != null and search_action_result !='' ">
|
|
AND ACTION_RESULT = #{search_action_result}
|
|
</if>
|
|
<if test="search_oem != null and search_oem !='' ">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !='' ">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_subject != null and search_subject != '' ">
|
|
AND UPPER(SUBJECT) LIKE UPPER('%${search_subject}%')
|
|
</if>
|
|
<if test="search_partNo != null and search_partNo != '' ">
|
|
AND PART_NO LIKE '%${search_partNo}%'
|
|
</if>
|
|
)PMS_STRUCTURE_REVIEW_REPORT
|
|
WHERE 1=1
|
|
</select>
|
|
|
|
<!-- //과거차 문제점 승인요청 COUNT -->
|
|
<select id="getProblemContinualMngApplyReqListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT B.OBJID
|
|
, B.TARGET_OBJID
|
|
, 'problem' as DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, B.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, B.TYPE1
|
|
, B.TYPE2
|
|
, A.STATUS
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, B.SUBJECT
|
|
FROM PMS_PROBLEM_GROUP A, PMS_PROBLEM_INFO B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND B.CONTINUAL_MNG_TYPE = 'Y'
|
|
AND B.CONTINUAL_MNG_TYPE_RESULT IS NULL
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND UPPER(B.STATUS) = 'COMPLETE'
|
|
UNION ALL
|
|
SELECT A.OBJID
|
|
, TO_NUMBER('') AS TARGET_OBJID
|
|
, 'structure' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, A.TYPE1
|
|
, A.TYPE2
|
|
, A.STATUS
|
|
, TO_NUMBER('') AS TEST_TYPE_OBJID
|
|
, '' AS TEST_TYPE_NAME
|
|
, A.SUBJECT
|
|
FROM PMS_STRUCTURE_REVIEW_REPORT A
|
|
WHERE 1=1
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND A.CONTINUAL_MNG_TYPE = 'Y'
|
|
AND A.CONTINUAL_MNG_TYPE_RESULT IS NULL
|
|
) PMS_PROBLEM_GROUP_INFO
|
|
WHERE 1=1
|
|
)WHERE 1=1
|
|
</select>
|
|
|
|
<!-- //과거차 문제점 승인처리 -->
|
|
<insert id="insertProblemContinualMngApplyResult" parameterType="map">
|
|
INSERT INTO PMS_PROBLEM_CONTINUAL_HISTORY(
|
|
OBJID
|
|
, TARGET_OBJID
|
|
, RESULT_COMMENT
|
|
, RESULT
|
|
, WRITER
|
|
, REGDATE
|
|
, TARGET_TYPE
|
|
) VALUES (
|
|
#{objId}
|
|
, #{targetObjId}
|
|
, #{resultComment}
|
|
, #{result}
|
|
, #{writer}
|
|
, SYSDATE
|
|
, #{targetType}
|
|
)
|
|
</insert>
|
|
|
|
<!-- //과거차 문제점 승인처리 후, 해당 문제점의 과거차문제점 대상여부 및 최종 관리대상여부 처리 -->
|
|
<update id="updateProblemInfoContinualMngType" parameterType="map">
|
|
UPDATE PMS_PROBLEM_INFO A SET
|
|
A.CONTINUAL_MNG_TYPE = #{result}
|
|
, A.CONTINUAL_MNG_TYPE_RESULT = #{result}
|
|
, A.CONTINUAL_MNG_REVIEW_TYPE = #{continualMngReviewType}
|
|
, A.CONTINUAL_MNG_RECHOICE_TYPE = #{continualMngRechoiceType}
|
|
<if test='continualMngRechoiceType != null and "Y".equals(continualMngRechoiceType)'>
|
|
, A.CONTINUAL_MNG_TYPE1 = #{continualMngType1}
|
|
, A.CONTINUAL_MNG_TYPE2 = #{continualMngType2}
|
|
</if>
|
|
<if test='continualMngRechoiceType != null and "N".equals(continualMngRechoiceType)'>
|
|
, A.CONTINUAL_MNG_TYPE1 = A.TYPE1
|
|
, A.CONTINUAL_MNG_TYPE2 = A.TYPE2
|
|
</if>
|
|
WHERE OBJID = #{targetObjId}
|
|
</update>
|
|
|
|
<!-- //과거차 문제점 승인결과 목록 -->
|
|
<select id="getProblemContinualMngApplyResultList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM(
|
|
SELECT PMS_STRUCTURE_REVIEW.* , ROW_NUMBER() OVER(ORDER BY REGDATE DESC NULLS LAST) RNUM
|
|
FROM(
|
|
SELECT PMS_STRUCTURE_REVIEW_REPORT.*
|
|
FROM(
|
|
SELECT A.*
|
|
, B.WRITER AS APPLY_USER_ID
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = B.WRITER) AS APPLY_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = B.WRITER) AS APPLY_USER_NAME
|
|
, B.REGDATE AS APPLY_DATE_ORG
|
|
, TO_CHAR(B.REGDATE, 'YYYY-MM-DD') AS APPLY_DATE
|
|
, B.RESULT
|
|
, B.RESULT_COMMENT
|
|
, DECODE(B.RESULT, 'Y', '승인', 'N', '반려', B.RESULT) AS RESULT_TITLE
|
|
, DECODE(A.DATA_TYPE, 'problem', '문제점', 'structure', '구조검토 제안서', A.DATA_TYPE) AS DATA_TYPE_TITLE
|
|
, DECODE(A.REGION, 'D', '국내', 'F', '해외', A.REGION) AS REGION_TITLE
|
|
, DECODE(A.STEP1, 'design', '설계', 'develop', '개발', 'production', '양산', A.STEP1) AS STEP1_TITLE
|
|
, DECODE(A.CONTINUAL_MNG_TYPE1, 'design', '설계', 'mold', '금형/단품', 'facilities', '조립/설비', 'etc', '부자재/기타', A.CONTINUAL_MNG_TYPE1) AS CONTINUAL_MNG_TYPE1_TITLE
|
|
FROM (
|
|
SELECT B.OBJID
|
|
, B.TARGET_OBJID
|
|
, 'problem' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, B.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, B.TYPE1
|
|
, B.TYPE2
|
|
, A.STATUS
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, B.SUBJECT
|
|
, B.CONTINUAL_MNG_REVIEW_TYPE
|
|
, B.CONTINUAL_MNG_RECHOICE_TYPE
|
|
, B.CONTINUAL_MNG_TYPE1
|
|
, B.CONTINUAL_MNG_TYPE2
|
|
, B.REGDATE
|
|
FROM PMS_PROBLEM_GROUP A, PMS_PROBLEM_INFO B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND UPPER(B.STATUS) = 'COMPLETE'
|
|
UNION ALL
|
|
SELECT A.OBJID
|
|
, TO_NUMBER('') AS TARGET_OBJID
|
|
, 'structure' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, A.TYPE1
|
|
, A.TYPE2
|
|
, A.STATUS
|
|
, TO_NUMBER('') AS TEST_TYPE_OBJID
|
|
, '' AS TEST_TYPE_NAME
|
|
, A.SUBJECT
|
|
, A.CONTINUAL_MNG_REVIEW_TYPE
|
|
, A.CONTINUAL_MNG_RECHOICE_TYPE
|
|
, A.CONTINUAL_MNG_TYPE1
|
|
, A.CONTINUAL_MNG_TYPE2
|
|
, A.REGDATE
|
|
FROM PMS_STRUCTURE_REVIEW_REPORT A
|
|
WHERE 1=1
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
) A, PMS_PROBLEM_CONTINUAL_HISTORY B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND B.RESULT IS NOT NULL
|
|
)PMS_STRUCTURE_REVIEW_REPORT
|
|
WHERE 1=1
|
|
<if test="search_dataType != null and search_dataType !='' ">
|
|
AND DATA_TYPE = #{search_dataType}
|
|
</if>
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType !='' ">
|
|
AND CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !='' ">
|
|
AND PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="step1 != null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 != null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
<if test="search_action_result != null and search_action_result !='' ">
|
|
AND ACTION_RESULT = #{search_action_result}
|
|
</if>
|
|
<if test="search_oem != null and search_oem !='' ">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !='' ">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_subject != null and search_subject != '' ">
|
|
AND UPPER(SUBJECT) LIKE UPPER('%${search_subject}%')
|
|
</if>
|
|
<if test="search_partNo != null and search_partNo != '' ">
|
|
AND PART_NO LIKE '%${search_partNo}%'
|
|
</if>
|
|
<if test="search_result != null and search_result != '' ">
|
|
AND RESULT = #{search_result}
|
|
</if>
|
|
)PMS_STRUCTURE_REVIEW
|
|
WHERE 1=1
|
|
)WHERE 1=1
|
|
<if test="PAGE_END != null and PAGE_END !=''">
|
|
<![CDATA[ AND RNUM <= #{PAGE_END} ]]>
|
|
</if>
|
|
<if test="PAGE_START != null and PAGE_STRART!=''">
|
|
<![CDATA[ AND RNUM >= #{PAGE_START} ]]>
|
|
</if>
|
|
</select>
|
|
|
|
<!-- //과거차 문제점 승인결과 목록 COUNT -->
|
|
<select id="getProblemContinualMngApplyResultListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT *
|
|
FROM(
|
|
SELECT PMS_STRUCTURE_REVIEW_REPORT.*
|
|
FROM(
|
|
SELECT A.*
|
|
, B.WRITER AS APPLY_USER_ID
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = B.WRITER) AS APPLY_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = B.WRITER) AS APPLY_USER_NAME
|
|
, B.REGDATE AS APPLY_DATE_ORG
|
|
, TO_CHAR(B.REGDATE, 'YYYY-MM-DD') AS APPLY_DATE
|
|
, B.RESULT
|
|
, B.RESULT_COMMENT
|
|
FROM (
|
|
SELECT B.OBJID
|
|
, B.TARGET_OBJID
|
|
, 'problem' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, B.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, B.TYPE1
|
|
, B.TYPE2
|
|
, A.STATUS
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, B.CONTINUAL_MNG_REVIEW_TYPE
|
|
, B.CONTINUAL_MNG_RECHOICE_TYPE
|
|
, B.CONTINUAL_MNG_TYPE1
|
|
, B.CONTINUAL_MNG_TYPE2
|
|
, B.SUBJECT
|
|
FROM PMS_PROBLEM_GROUP A, PMS_PROBLEM_INFO B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND UPPER(B.STATUS) = 'COMPLETE'
|
|
UNION ALL
|
|
SELECT A.OBJID
|
|
, TO_NUMBER('') AS TARGET_OBJID
|
|
, 'structure' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, A.TYPE1
|
|
, A.TYPE2
|
|
, A.STATUS
|
|
, TO_NUMBER('') AS TEST_TYPE_OBJID
|
|
, '' AS TEST_TYPE_NAME
|
|
, A.CONTINUAL_MNG_REVIEW_TYPE
|
|
, A.CONTINUAL_MNG_RECHOICE_TYPE
|
|
, A.CONTINUAL_MNG_TYPE1
|
|
, A.CONTINUAL_MNG_TYPE2
|
|
, A.SUBJECT
|
|
FROM PMS_STRUCTURE_REVIEW_REPORT A
|
|
WHERE 1=1
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
) A, PMS_PROBLEM_CONTINUAL_HISTORY B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND B.RESULT IS NOT NULL
|
|
)PMS_STRUCTURE_REVIEW_REPORT
|
|
WHERE 1=1
|
|
<if test="search_dataType != null and search_dataType !='' ">
|
|
AND DATA_TYPE = #{search_dataType}
|
|
</if>
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType !='' ">
|
|
AND CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !='' ">
|
|
AND PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="step1 != null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 != null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
<if test="search_action_result != null and search_action_result !='' ">
|
|
AND ACTION_RESULT = #{search_action_result}
|
|
</if>
|
|
<if test="search_oem != null and search_oem !='' ">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !='' ">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_subject != null and search_subject != '' ">
|
|
AND UPPER(SUBJECT) LIKE UPPER('%${search_subject}%')
|
|
</if>
|
|
<if test="search_partNo != null and search_partNo != '' ">
|
|
AND PART_NO LIKE '%${search_partNo}%'
|
|
</if>
|
|
<if test="search_result != null and search_result != '' ">
|
|
AND RESULT = #{search_result}
|
|
</if>
|
|
|
|
)WHERE 1=1
|
|
)WHERE 1=1
|
|
)WHERE 1=1
|
|
</select>
|
|
|
|
<!-- //과거차 문제점 목록 -->
|
|
<select id="getProblemContinualMngList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM (
|
|
SELECT PMS_STRUCTURE_REVIEW_REPORT.*, ROW_NUMBER() OVER(ORDER BY REGDATE DESC NULLS LAST) RNUM
|
|
FROM(
|
|
SELECT PMS_STRUCTURE_REVIEW_REPORT.*
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_CONTINUAL_REFLECT WHERE TARGET_OBJID = PMS_STRUCTURE_REVIEW_REPORT.OBJID) AS REFLECT_CNT
|
|
FROM(
|
|
SELECT B.OBJID
|
|
, B.TARGET_OBJID
|
|
, 'problem' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, B.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, B.TYPE1
|
|
, B.TYPE2
|
|
, A.STATUS
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, B.SUBJECT
|
|
, B.CONTINUAL_MNG_REVIEW_TYPE
|
|
, B.CONTINUAL_MNG_RECHOICE_TYPE
|
|
, B.CONTINUAL_MNG_TYPE1
|
|
, B.CONTINUAL_MNG_TYPE2
|
|
, B.REGDATE
|
|
, B.PROBLEM_CONTENTS
|
|
, B.RESPONSE_CONTENTS AS SUGGEST_CONTENTS
|
|
FROM PMS_PROBLEM_GROUP A, PMS_PROBLEM_INFO B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND UPPER(B.CONTINUAL_MNG_TYPE) = 'Y'
|
|
AND UPPER(B.CONTINUAL_MNG_TYPE_RESULT) = 'Y'
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND UPPER(B.STATUS) = 'COMPLETE'
|
|
UNION ALL
|
|
SELECT A.OBJID
|
|
, TO_NUMBER('') AS TARGET_OBJID
|
|
, 'structure' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, A.TYPE1
|
|
, A.TYPE2
|
|
, A.STATUS
|
|
, TO_NUMBER('') AS TEST_TYPE_OBJID
|
|
, '' AS TEST_TYPE_NAME
|
|
, A.SUBJECT
|
|
, A.CONTINUAL_MNG_REVIEW_TYPE
|
|
, A.CONTINUAL_MNG_RECHOICE_TYPE
|
|
, A.CONTINUAL_MNG_TYPE1
|
|
, A.CONTINUAL_MNG_TYPE2
|
|
, A.REGDATE
|
|
, A.PROBLEM_CONTENTS
|
|
, A.SUGGEST_CONTENTS
|
|
FROM PMS_STRUCTURE_REVIEW_REPORT A
|
|
WHERE 1=1
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND UPPER(A.CONTINUAL_MNG_TYPE) = 'Y'
|
|
AND UPPER(A.CONTINUAL_MNG_TYPE_RESULT) = 'Y'
|
|
)PMS_STRUCTURE_REVIEW_REPORT
|
|
WHERE 1=1
|
|
<if test="search_dataType != null and search_dataType !='' ">
|
|
AND DATA_TYPE = #{search_dataType}
|
|
</if>
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType !='' ">
|
|
AND CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !='' ">
|
|
AND PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="step1 != null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 != null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
<if test="search_action_result != null and search_action_result !='' ">
|
|
AND ACTION_RESULT = #{search_action_result}
|
|
</if>
|
|
<if test="search_oem != null and search_oem !='' ">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !='' ">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_subject != null and search_subject != '' ">
|
|
AND UPPER(SUBJECT) LIKE UPPER('%${search_subject}%')
|
|
</if>
|
|
<if test="search_partNo != null and search_partNo != '' ">
|
|
AND PART_NO LIKE '%${search_partNo}%'
|
|
</if>
|
|
)PMS_STRUCTURE_REVIEW_REPORT
|
|
WHERE 1=1
|
|
) WHERE 1=1
|
|
</select>
|
|
<!-- //과거차 문제점 목록 Count-->
|
|
<select id="getProblemContinualMngListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT B.OBJID
|
|
, B.TARGET_OBJID
|
|
, 'problem' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, B.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, B.TYPE1
|
|
, B.TYPE2
|
|
, A.STATUS
|
|
, A.TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, B.SUBJECT
|
|
, B.CONTINUAL_MNG_REVIEW_TYPE
|
|
, B.CONTINUAL_MNG_RECHOICE_TYPE
|
|
, B.CONTINUAL_MNG_TYPE1
|
|
, B.CONTINUAL_MNG_TYPE2
|
|
, B.REGDATE
|
|
FROM PMS_PROBLEM_GROUP A, PMS_PROBLEM_INFO B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND UPPER(B.CONTINUAL_MNG_TYPE) = 'Y'
|
|
AND UPPER(B.CONTINUAL_MNG_TYPE_RESULT) = 'Y'
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND UPPER(B.STATUS) = 'COMPLETE'
|
|
UNION ALL
|
|
SELECT A.OBJID
|
|
, TO_NUMBER('') AS TARGET_OBJID
|
|
, 'structure' AS DATA_TYPE
|
|
, A.REGION
|
|
, A.CAR_OBJID
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = A.CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.PART_NO
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, A.TYPE1
|
|
, A.TYPE2
|
|
, A.STATUS
|
|
, TO_NUMBER('') AS TEST_TYPE_OBJID
|
|
, '' AS TEST_TYPE_NAME
|
|
, A.SUBJECT
|
|
, A.CONTINUAL_MNG_REVIEW_TYPE
|
|
, A.CONTINUAL_MNG_RECHOICE_TYPE
|
|
, A.CONTINUAL_MNG_TYPE1
|
|
, A.CONTINUAL_MNG_TYPE2
|
|
, A.REGDATE
|
|
FROM PMS_STRUCTURE_REVIEW_REPORT A
|
|
WHERE 1=1
|
|
AND UPPER(A.STATUS) = 'COMPLETE'
|
|
AND UPPER(A.CONTINUAL_MNG_TYPE) = 'Y'
|
|
AND UPPER(A.CONTINUAL_MNG_TYPE_RESULT) = 'Y'
|
|
)PMS_STRUCTURE_REVIEW_REPORT
|
|
WHERE 1=1
|
|
<if test="search_dataType != null and search_dataType !='' ">
|
|
AND DATA_TYPE = #{search_dataType}
|
|
</if>
|
|
<if test="search_region != null and search_region !='' ">
|
|
AND REGION = #{search_region}
|
|
</if>
|
|
<if test="search_carType != null and search_carType !='' ">
|
|
AND CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !='' ">
|
|
AND PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="step1 != null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 != null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
<if test="search_action_result != null and search_action_result !='' ">
|
|
AND ACTION_RESULT = #{search_action_result}
|
|
</if>
|
|
<if test="search_oem != null and search_oem !='' ">
|
|
AND OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !='' ">
|
|
AND PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_subject != null and search_subject != '' ">
|
|
AND UPPER(SUBJECT) LIKE UPPER('%${search_subject}%')
|
|
</if>
|
|
<if test="search_partNo != null and search_partNo != '' ">
|
|
AND PART_NO LIKE '%${search_partNo}%'
|
|
</if>
|
|
)WHERE 1=1
|
|
</select>
|
|
|
|
<!-- //과거차반영 이력 목록조회 -->
|
|
<select id="getProblemContinualReflectList" parameterType="map" resultType="map">
|
|
SELECT ROW_NUMBER() OVER(ORDER BY REFLECT_T.REGDATE_ORG DESC) AS RNUM
|
|
, REFLECT_T.*
|
|
FROM (
|
|
SELECT A.OBJID
|
|
, A.TARGET_OBJID
|
|
, A.OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = A.OEM_OBJID) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, A.PART_NO
|
|
, (SELECT PART_NAME FROM PART_INFO WHERE PART_NO = A.PART_NO AND UPPER(STATUS) = 'COMPLETE' AND IS_LAST = 1) AS PART_NAME
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, TO_CHAR(A.REFLECT_DATE, 'YYYY-MM-DD') AS REFLECT_DATE
|
|
, A.REFLECT_RESULT
|
|
, A.REFLECT_CONTENTS
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, A.REGDATE AS REGDATE_ORG
|
|
, (SELECT COUNT(WBS_TASK.OBJID) AS TASK_CNT FROM PMS_WBS_TASK WBS_TASK,PMS_REL_WBS_TASK_FNC_TASK REL WHERE REL.TARGET_OBJID = WBS_TASK.OBJID AND REL.SUB_OBJID = A.OBJID) AS REL_TASK_CNT
|
|
FROM PMS_PROBLEM_CONTINUAL_REFLECT A
|
|
WHERE 1=1
|
|
AND A.TARGET_OBJID = #{targetObjId}
|
|
) REFLECT_T
|
|
WHERE 1=1
|
|
</select>
|
|
|
|
<!-- //과거차 반영이력 상세조회 -->
|
|
<select id="getProblemContinualRelfectInfo" parameterType="map" resultType="map">
|
|
SELECT A.OBJID
|
|
, A.TARGET_OBJID
|
|
, A.OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = A.OEM_OBJID) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, A.PART_NO
|
|
, (SELECT PART_NAME FROM PART_INFO WHERE PART_NO = A.PART_NO AND UPPER(STATUS) = 'COMPLETE' AND IS_LAST = 1) AS PART_NAME
|
|
, A.STEP1
|
|
, A.STEP2
|
|
, TO_CHAR(A.REFLECT_DATE, 'YYYY-MM-DD') AS REFLECT_DATE
|
|
, A.REFLECT_RESULT
|
|
, A.REFLECT_CONTENTS
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, TO_CHAR(A.REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, A.REGDATE AS REGDATE_ORG
|
|
FROM PMS_PROBLEM_CONTINUAL_REFLECT A
|
|
WHERE 1=1
|
|
AND A.OBJID = #{objId}
|
|
ORDER BY A.REGDATE DESC
|
|
</select>
|
|
|
|
<!-- //과거차 반영이력 저장 -->
|
|
<update id="saveProblemContinualReflectHistoryInfo" parameterType="map">
|
|
MERGE INTO PMS_PROBLEM_CONTINUAL_REFLECT USING DUAL ON (OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
OEM_OBJID = #{oemObjId}
|
|
, CAR_OBJID = #{carObjId}
|
|
, PART_NO = #{partNo}
|
|
, STEP1 = #{step1}
|
|
, STEP2 = #{step2}
|
|
, REFLECT_DATE = TO_DATE(#{reflectDate}, 'yyyy-mm-dd')
|
|
, REFLECT_RESULT = #{reflectResult}
|
|
, REFLECT_CONTENTS = #{reflectContents}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
OBJID
|
|
, TARGET_OBJID
|
|
, OEM_OBJID
|
|
, CAR_OBJID
|
|
, PART_NO
|
|
, STEP1
|
|
, STEP2
|
|
, REFLECT_DATE
|
|
, REFLECT_RESULT
|
|
, REFLECT_CONTENTS
|
|
, WRITER
|
|
, REGDATE
|
|
) VALUES (
|
|
#{objId}
|
|
, #{targetObjId}
|
|
, #{oemObjId}
|
|
, #{carObjId}
|
|
, #{partNo}
|
|
, #{step1}
|
|
, #{step2}
|
|
, TO_DATE(#{reflectDate}, 'YYYY-MM-DD')
|
|
, #{reflectResult}
|
|
, #{reflectContents}
|
|
, #{writer}
|
|
, sysdate
|
|
)
|
|
</update>
|
|
|
|
|
|
<!-- //jmpark end -->
|
|
<!-- ******************************************************************************************* -->
|
|
|
|
<!-- ******************************************************************************************* -->
|
|
<!-- //edhwang start -->
|
|
|
|
<!-- //edhwang end -->
|
|
<!-- ******************************************************************************************* -->
|
|
|
|
<!-- ******************************************************************************************* -->
|
|
<!-- //dhchoi start -->
|
|
|
|
<!-- //dhchoi end -->
|
|
<!-- ******************************************************************************************* -->
|
|
</mapper> |