- 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
471 lines
19 KiB
XML
471 lines
19 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="quality">
|
|
<!-- //품질검사 중복 count 반환 -->
|
|
<select id="getDuplicateQualityTestCnt" parameterType="map" resultType="map">
|
|
SELECT COUNT(*) AS CNT
|
|
FROM PMS_QUALITY_TEST_INFO
|
|
WHERE 1=1
|
|
AND CAR_OBJID = #{carObjId}
|
|
AND PROD_OBJID = #{prodObjId}
|
|
AND TEST_TYPE_OBJID = #{testTypeObjId}
|
|
AND STEP1 = #{step1}
|
|
AND STEP2 = #{step2}
|
|
</select>
|
|
|
|
<!-- 품질검사 갑지등록 -->
|
|
<insert id="insertQualityTestInfo" parameterType="map">
|
|
MERGE INTO PMS_QUALITY_TEST_INFO USING DUAL ON (OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE SET
|
|
CAR_OBJID = #{carObjId}
|
|
, PROD_OBJID = #{prodObjId}
|
|
, TEST_TYPE_OBJID = #{testTypeObjId}
|
|
, STEP1 = #{step1}
|
|
, STEP2 = #{step2}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
OBJID
|
|
, CAR_OBJID
|
|
, PROD_OBJID
|
|
, TEST_TYPE_OBJID
|
|
, STEP1
|
|
, STEP2
|
|
, WRITER
|
|
, REGDATE
|
|
, STATUS
|
|
) VALUES (
|
|
#{objId}
|
|
, #{carObjId}
|
|
, #{prodObjId}
|
|
, #{testTypeObjId}
|
|
, #{step1}
|
|
, #{step2}
|
|
, #{writer}
|
|
, SYSDATE
|
|
, 'create'
|
|
)
|
|
</insert>
|
|
|
|
<!-- //품질결과 임시목록 -->
|
|
<select id="getQualityTestTempList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM(
|
|
SELECT A.*, ROW_NUMBER() OVER (ORDER BY REGDATE_ORG DESC) RNUM
|
|
FROM(
|
|
SELECT A.*
|
|
FROM(
|
|
SELECT A.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
|
|
, 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.STEP1
|
|
, A.STEP2
|
|
, 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') AS REGDATE
|
|
, A.STATUS
|
|
FROM PMS_QUALITY_TEST_INFO A
|
|
WHERE 1=1
|
|
AND UPPER(STATUS) = 'CREATE'
|
|
)A 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_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="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%${search_writer}%')
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
<if test="step1 !=null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 !=null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
)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>
|
|
|
|
<!-- //품질결과 임시목록 Count -->
|
|
<select id="getQualityTestTempListCnt" 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.*
|
|
FROM(
|
|
SELECT A.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
|
|
, 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.STEP1
|
|
, A.STEP2
|
|
, 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') AS REGDATE
|
|
, A.STATUS
|
|
FROM PMS_QUALITY_TEST_INFO A
|
|
WHERE 1=1
|
|
AND UPPER(STATUS) = 'CREATE'
|
|
)A 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_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="search_resDeptName != null and !''.equals(search_resDeptName)">
|
|
AND UPPER(RES_PIC_DEPT_NAME) LIKE UPPER('%${search_resDeptName}%')
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
<if test="step1 !=null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 !=null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
)A WHERE 1=1
|
|
)WHERE 1=1
|
|
</select>
|
|
|
|
<!-- //품질결과 확정목록 -->
|
|
<select id="getQualityTestList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM(
|
|
SELECT A.*, ROW_NUMBER() OVER (ORDER BY REGDATE_ORG DESC) RNUM
|
|
FROM(
|
|
SELECT A.*
|
|
FROM(
|
|
SELECT A.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
|
|
, 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.STEP1
|
|
, A.STEP2
|
|
, 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') AS REGDATE
|
|
, A.STATUS
|
|
, (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_QUALITY_TEST_INFO A
|
|
WHERE 1=1
|
|
AND UPPER(STATUS) = 'COMPLETE'
|
|
)A 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_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="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%${search_writer}%')
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
<if test="step1 !=null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 !=null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
<if test="search_fromMonthRegDate != null and search_fromMonthRegDate !='' ">
|
|
AND TO_DATE(TO_CHAR(A.REGDATE, 'YYYY-MM'),'YYYY-MM') <![CDATA[ >= ]]> TO_DATE(#{search_fromMonthRegDate},'YYYY-MM')
|
|
</if>
|
|
<if test="search_toMonthRegDate != null and search_toMonthRegDate !='' ">
|
|
AND TO_DATE(TO_CHAR(A.REGDATE, 'YYYY-MM'),'YYYY-MM') <![CDATA[ <= ]]> TO_DATE(#{search_toMonthRegDate},'YYYY-MM')
|
|
</if>
|
|
)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>
|
|
|
|
<!-- //품질결과 확정목록 Count -->
|
|
<select id="getQualityTestListCnt" 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.*
|
|
FROM(
|
|
SELECT A.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
|
|
, 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.STEP1
|
|
, A.STEP2
|
|
, 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') AS REGDATE
|
|
, A.STATUS
|
|
FROM PMS_QUALITY_TEST_INFO A
|
|
WHERE 1=1
|
|
AND UPPER(STATUS) = 'COMPLETE'
|
|
)A 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_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="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(WRITER_USER_NAME) LIKE UPPER('%search_writer%')
|
|
</if>
|
|
<if test="search_status !=null and search_status !='' ">
|
|
AND STATUS = #{search_status}
|
|
</if>
|
|
<if test="search_testType !=null and search_testType !='' ">
|
|
AND TEST_TYPE_OBJID = #{search_testType}
|
|
</if>
|
|
<if test="step1 !=null and step1 !='' ">
|
|
AND STEP1 = #{step1}
|
|
</if>
|
|
<if test="step2 !=null and step2 !='' ">
|
|
AND STEP2 = #{step2}
|
|
</if>
|
|
<if test="search_fromMonthRegDate != null and search_fromMonthRegDate !='' ">
|
|
AND TO_DATE(TO_CHAR(A.REGDATE, 'YYYY-MM'),'YYYY-MM') <![CDATA[ >= ]]> TO_DATE(#{search_fromMonthRegDate},'YYYY-MM')
|
|
</if>
|
|
<if test="search_toMonthRegDate != null and search_toMonthRegDate !='' ">
|
|
AND TO_DATE(TO_CHAR(A.REGDATE, 'YYYY-MM'),'YYYY-MM') <![CDATA[ <= ]]> TO_DATE(#{search_toMonthRegDate},'YYYY-MM')
|
|
</if>
|
|
)A WHERE 1=1
|
|
)WHERE 1=1
|
|
</select>
|
|
|
|
<!-- //품질검사 상세 part목록 -->
|
|
<select id="getQualityTestDetailPartList" parameterType="map" resultType="map">
|
|
SELECT ROW_NUMBER() OVER(ORDER BY SEQ) AS RNUM
|
|
, QUALITY_MASTER.PART_MASTER_OBJID
|
|
, QUALITY_MASTER.OEM_OBJID
|
|
, QUALITY_MASTER.CAR_OBJID
|
|
, QUALITY_MASTER.PROD_GROUP_OBJID
|
|
, QUALITY_MASTER.PROD_OBJID
|
|
, QUALITY_MASTER.PART_NO
|
|
, QUALITY_MASTER.PART_NAME
|
|
, QUALITY_MASTER.SEQ
|
|
, QUALITY_MASTER.RATE
|
|
, QUALITY_MASTER.MOLD_MAKE_COMPANY
|
|
, QUALITY_MASTER.PROBLEM_CNT
|
|
, QUALITY_MASTER.QUALITY_MASTER_OBJID
|
|
, QUALITY_MASTER.TEST_TYPE_OBJID
|
|
, QUALITY_MASTER.STEP1
|
|
, QUALITY_MASTER.STEP2
|
|
, QUALITY_MASTER.STATUS AS QUALITY_MASTER_STATUS
|
|
, QUALITY_SLAVE.OBJID AS QUALITY_SLAVE_OBJID
|
|
, QUALITY_SLAVE.SCORE
|
|
, QUALITY_SLAVE.RESULT
|
|
, QUALITY_SLAVE.TYPE1
|
|
, QUALITY_SLAVE.TYPE2
|
|
FROM (
|
|
SELECT PART.PART_MASTER_OBJID
|
|
, PART.OEM_OBJID
|
|
, PART.CAR_OBJID
|
|
, PART.PROD_GROUP_OBJID
|
|
, PART.PROD_OBJID
|
|
, PART.PART_NO
|
|
, PART.PART_NAME
|
|
, PART.SEQ
|
|
, UPPER(PART.RATE) AS RATE
|
|
, MOLD_MAKE_COMPANY
|
|
, PART.PROBLEM_CNT
|
|
, Q_M.OBJID AS QUALITY_MASTER_OBJID
|
|
, Q_M.TEST_TYPE_OBJID
|
|
, Q_M.STEP1
|
|
, Q_M.STEP2
|
|
, Q_M.STATUS
|
|
FROM (
|
|
SELECT M.OBJID AS PART_MASTER_OBJID
|
|
, M.OEM_OBJID
|
|
, M.CAR_OBJID
|
|
, M.PROD_GROUP_OBJID
|
|
, M.PROD_OBJID
|
|
, S.PART_NO
|
|
, (SELECT PART_NAME FROM PART_INFO WHERE PART_NO = S.PART_NO AND UPPER(STATUS) = 'COMPLETE' AND IS_LAST = 1) AS PART_NAME
|
|
, S.SEQ
|
|
<!--
|
|
, (SELECT RATE FROM (SELECT TARGET_OBJID, RATE, PART_NO FROM PMS_DEV_MASTER_REL_PART_INFO WHERE RATE IS NOT NULL ORDER BY DEV_POINT DESC) A, PMS_DEV_MASTER B WHERE A.TARGET_OBJID = B.OBJID AND B.TARGET_OBJID = M.OBJID AND A.PART_NO = S.PART_NO AND ROWNUM = 1) AS RATE
|
|
, (SELECT MOLD_MAKE_COMPANY FROM (SELECT TARGET_OBJID, MOLD_MAKE_COMPANY, PART_NO FROM PMS_DEV_MASTER_REL_PART_INFO WHERE MOLD_MAKE_COMPANY IS NOT NULL ORDER BY DEV_POINT DESC) A, PMS_DEV_MASTER B WHERE A.TARGET_OBJID = B.OBJID AND B.TARGET_OBJID = M.OBJID AND A.PART_NO = S.PART_NO AND ROWNUM = 1) AS MOLD_MAKE_COMPANY
|
|
-->
|
|
, (SELECT RATE FROM (SELECT B.RATE, B.PART_NO FROM PMS_DEV_MASTER A, PMS_DEV_MASTER_REL_PART_INFO B WHERE A.OBJID = B.TARGET_OBJID AND B.RATE IS NOT NULL ORDER BY DEV_POINT DESC) A WHERE A.PART_NO = S.PART_NO AND ROWNUM = 1) AS RATE
|
|
, (SELECT MOLD_MAKE_COMPANY FROM (SELECT B.MOLD_MAKE_COMPANY, B.PART_NO FROM PMS_DEV_MASTER A, PMS_DEV_MASTER_REL_PART_INFO B WHERE A.OBJID = B.TARGET_OBJID AND B.MOLD_MAKE_COMPANY IS NOT NULL ORDER BY DEV_POINT DESC) A WHERE A.PART_NO = S.PART_NO AND ROWNUM = 1) AS MOLD_MAKE_COMPANY
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE PART_NO = S.PART_NO AND UNMANAGE_TYPE IS NULL) PROBLEM_CNT
|
|
FROM PMS_PART_MASTER M, PMS_PART_MASTER_CONNECT_PART S
|
|
WHERE 1=1
|
|
AND M.OBJID = S.TARGET_OBJID
|
|
AND UPPER(S.IS_DEL) IS NULL
|
|
ORDER BY S.SEQ) PART, PMS_QUALITY_TEST_INFO Q_M
|
|
WHERE 1=1
|
|
AND PART.CAR_OBJID = Q_M.CAR_OBJID
|
|
AND PART.PROD_OBJID = Q_M.PROD_OBJID
|
|
AND Q_M.OBJID = ${targetObjId}
|
|
) QUALITY_MASTER, PMS_QUALITY_TEST_REL_PART_ATTR QUALITY_SLAVE
|
|
WHERE 1=1
|
|
AND QUALITY_MASTER.QUALITY_MASTER_OBJID = QUALITY_SLAVE.TARGET_OBJID(+)
|
|
AND QUALITY_MASTER.PART_NO = QUALITY_SLAVE.PART_NO(+)
|
|
</select>
|
|
|
|
<!-- //품질검사 part별 정보 저장 -->
|
|
<update id="saveQualityTestPartInfo" parameterType="map">
|
|
MERGE INTO PMS_QUALITY_TEST_REL_PART_ATTR USING DUAL ON (OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE SET
|
|
SCORE = #{score}
|
|
, RESULT = #{result}
|
|
, TYPE1 = #{type1}
|
|
, TYPE2 = #{type2}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
OBJID
|
|
, TARGET_OBJID
|
|
, PART_NO
|
|
, SCORE
|
|
, RESULT
|
|
, TYPE1
|
|
, TYPE2
|
|
, WRITER
|
|
, REGDATE
|
|
, STATUS
|
|
) VALUES (
|
|
#{objId}
|
|
, #{targetObjId}
|
|
, #{partNo}
|
|
, #{score}
|
|
, #{result}
|
|
, #{type1}
|
|
, #{type2}
|
|
, #{writer}
|
|
, SYSDATE
|
|
, 'create'
|
|
)
|
|
</update>
|
|
|
|
<!-- //품질검사 갑지 확정 -->
|
|
<update id="completeQualityTestInfo" parameterType="map">
|
|
UPDATE PMS_QUALITY_TEST_INFO SET STATUS = 'complete' WHERE OBJID = #{targetObjId}
|
|
</update>
|
|
|
|
<!-- //품질검사 갑지조회 -->
|
|
<select id="getQualityTestInfo" parameterType="map" resultType="map">
|
|
SELECT OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = CAR_OBJID)) AS OEM_NAME
|
|
, (SELECT OEM_OBJID FROM CAR_MNG WHERE OBJID = CAR_OBJID) AS OEM_OBJID
|
|
, CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = PROD_OBJID)) AS PRODUCT_GROUP_NAME
|
|
, (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = PROD_OBJID) AS PROD_GROUP_OBJID
|
|
, PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = PROD_OBJID) AS PRODUCT_NAME
|
|
, TEST_TYPE_OBJID
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, STEP1
|
|
, DECODE(STEP1, 'design', '설계', 'develop', '개발', 'production', '양산', '') AS STEP1_NAME
|
|
, STEP2
|
|
, WRITER
|
|
, REGDATE
|
|
, STATUS
|
|
FROM PMS_QUALITY_TEST_INFO
|
|
WHERE 1=1
|
|
AND OBJID = #{targetObjId}
|
|
</select>
|
|
</mapper> |