Files
wace_plm/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- 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
2025-08-29 15:46:08 +09:00

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>