- 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
1438 lines
60 KiB
XML
1438 lines
60 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="protoDevMng">
|
|
|
|
<!-- 입고관리 갑지 목록을 가져온다. -->
|
|
<select id="getProtoStockMngList" parameterType="map" resultType="map">
|
|
<if test="'excel' != actionType">
|
|
SELECT *
|
|
FROM(
|
|
</if>
|
|
SELECT
|
|
INFO.*,
|
|
ROW_NUMBER() OVER (ORDER BY REGDATE DESC) AS RNUM, ROUND(((NVL(SUM_STOCK_CNT,0)/DECODE(NVL(SUM_TOTAL_CNT,1),0,1,NVL(SUM_TOTAL_CNT,1))))*100,1) AS SUM_RATIO
|
|
FROM (
|
|
SELECT INFO.*
|
|
FROM(
|
|
SELECT INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_CODE,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_TYPE_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_USER_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
(SELECT SUM(TOTAL_REQUIRED) FROM PMS_PROTO_STOCK_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) AS SUM_TOTAL_CNT,
|
|
(SELECT SUM(RECEIVE_COUNT) FROM PMS_PROTO_STOCK_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) AS SUM_STOCK_CNT,
|
|
(SELECT SUM(DELAY_RECEIVE_COUNT) FROM PMS_PROTO_STOCK_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) AS SUM_DELAY_CNT,
|
|
(SELECT COUNT(1) FROM PMS_PROTO_STOCK_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) SHAPE_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 = INFO.OBJID) AS REL_TASK_CNT
|
|
FROM PMS_PROTO_STOCK_INFO INFO
|
|
WHERE 1=1
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND INFO.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND INFO.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="partnerId != null and partnerId !=''">
|
|
AND PARTNER_ID = #{partnerId}
|
|
</if>
|
|
) 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_dept != null and !''.equals(search_dept)">
|
|
AND UPPER(DEPT_NAME) LIKE UPPER('%${search_dept}%')
|
|
</if>
|
|
<if test="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(USER_NAME) LIKE UPPER('%${search_writer}%')
|
|
</if>
|
|
<if test="search_partner != null and !''.equals(search_partner)">
|
|
AND UPPER(PARTNER_USER_NAME) LIKE UPPER('%${search_partner}%')
|
|
</if>
|
|
) INFO
|
|
WHERE 1=1
|
|
<if test="'excel' != actionType">
|
|
) 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>
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 입고관리 갑지 목록 CNT -->
|
|
<select id="getProtoStockMngListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT INFO.*
|
|
FROM(
|
|
SELECT INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_TYPE_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_USER_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
(SELECT SUM(TOTAL_REQUIRED) FROM PMS_PROTO_STOCK_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) AS SUM_TOTAL_CNT,
|
|
(SELECT SUM(RECEIVE_COUNT) FROM PMS_PROTO_STOCK_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) AS SUM_STOCK_CNT,
|
|
(SELECT SUM(DELAY_RECEIVE_COUNT) FROM PMS_PROTO_STOCK_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) AS SUM_DELAY_CNT,
|
|
(SELECT COUNT(1) FROM PMS_PROTO_STOCK_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) SHAPE_CNT
|
|
FROM PMS_PROTO_STOCK_INFO INFO
|
|
WHERE 1=1
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND INFO.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND INFO.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="partnerId != null and partnerId !=''">
|
|
AND PARTNER_ID = #{partnerId}
|
|
</if>
|
|
ORDER BY REGDATE DESC
|
|
) 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_dept != null and !''.equals(search_dept)">
|
|
AND UPPER(DEPT_NAME) LIKE UPPER('%${search_dept}%')
|
|
</if>
|
|
<if test="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(USER_NAME) LIKE UPPER('%${search_writer}%')
|
|
</if>
|
|
<if test="search_partner != null and !''.equals(search_partner)">
|
|
AND UPPER(PARTNER_USER_NAME) LIKE UPPER('%${search_partner}%')
|
|
</if>
|
|
)WHERE 1=1
|
|
)WHERE 1=1
|
|
|
|
</select>
|
|
|
|
<!-- 입고관리 갑지 상세 내용을 가져온다. -->
|
|
<select id="getProtoStockBaseInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_CODE,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_DEPT_NAME
|
|
FROM PMS_PROTO_STOCK_INFO INFO
|
|
WHERE INFO.OBJID = #{objId}
|
|
ORDER BY REGDATE DESC
|
|
|
|
</select>
|
|
|
|
<!-- 입고관리 갑지의 중복여부를 확인한다. -->
|
|
<select id="checkDuplicateStockBaseInfo" parameterType="map" resultType="map">
|
|
SELECT COUNT(1) CNT FROM(
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
INFO.CAR_OBJID,
|
|
INFO.PROD_GROUP_OBJID,
|
|
INFO.PROD_OBJID
|
|
FROM PMS_PROTO_STOCK_INFO INFO
|
|
WHERE INFO.OBJID != #{objId}
|
|
<if test="oemObjId != null and oemObjId !='' ">
|
|
AND INFO.OEM_OBJID = #{oemObjId}
|
|
</if>
|
|
<if test="carTypeObjId != null and carTypeObjId !='' ">
|
|
AND INFO.CAR_OBJID = #{carTypeObjId}
|
|
</if>
|
|
<if test="productGroupObjId != null and productGroupObjId != '' ">
|
|
AND INFO.PROD_GROUP_OBJID = #{productGroupObjId}
|
|
</if>
|
|
<if test="productObjId != null and productObjId != '' ">
|
|
AND PROD_OBJID = #{productObjId}
|
|
</if>
|
|
)
|
|
</select>
|
|
|
|
<!-- 시작품 검사 관리 갑지의 중복여부를 확인한다. -->
|
|
<select id="checkDuplicateTestBaseInfo" parameterType="map" resultType="map">
|
|
SELECT COUNT(1) CNT FROM(
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
INFO.CAR_OBJID,
|
|
INFO.PROD_GROUP_OBJID,
|
|
INFO.PROD_OBJID
|
|
FROM PMS_PROTO_TEST_INFO INFO
|
|
WHERE INFO.OBJID != #{objId}
|
|
<if test="oemObjId != null and oemObjId !='' ">
|
|
AND INFO.OEM_OBJID = #{oemObjId}
|
|
</if>
|
|
<if test="carTypeObjId != null and carTypeObjId !='' ">
|
|
AND INFO.CAR_OBJID = #{carTypeObjId}
|
|
</if>
|
|
<if test="productGroupObjId != null and productGroupObjId != '' ">
|
|
AND INFO.PROD_GROUP_OBJID = #{productGroupObjId}
|
|
</if>
|
|
<if test="productObjId != null and productObjId != '' ">
|
|
AND PROD_OBJID = #{productObjId}
|
|
</if>
|
|
)
|
|
</select>
|
|
|
|
<!-- 시작품 개발일정 관리 갑지의 중복여부를 확인한다. -->
|
|
<select id="checkDuplicatePlanBaseInfo" parameterType="map" resultType="map">
|
|
SELECT COUNT(1) CNT FROM(
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
INFO.CAR_OBJID,
|
|
INFO.PROD_GROUP_OBJID,
|
|
INFO.PROD_OBJID
|
|
FROM PMS_PROTO_TEST_INFO INFO
|
|
WHERE INFO.OBJID != #{objId}
|
|
<if test="oemObjId != null and oemObjId !='' ">
|
|
AND INFO.OEM_OBJID = #{oemObjId}
|
|
</if>
|
|
<if test="carTypeObjId != null and carTypeObjId !='' ">
|
|
AND INFO.CAR_OBJID = #{carTypeObjId}
|
|
</if>
|
|
<if test="productGroupObjId != null and productGroupObjId != '' ">
|
|
AND INFO.PROD_GROUP_OBJID = #{productGroupObjId}
|
|
</if>
|
|
<if test="productObjId != null and productObjId != '' ">
|
|
AND PROD_OBJID = #{productObjId}
|
|
</if>
|
|
)
|
|
</select>
|
|
|
|
<!-- 입고관리 갑지 정보를 저장한다. -->
|
|
<update id="saveStockBaseInfo" parameterType="map">
|
|
MERGE INTO PMS_PROTO_STOCK_INFO P USING DUAL ON (P.OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
P.OEM_OBJID = #{oemObjId}
|
|
,P.CAR_OBJID = #{carTypeObjId}
|
|
,P.PROD_GROUP_OBJID = #{productGroupObjId}
|
|
,P.PROD_OBJID = #{productObjId}
|
|
,P.PARTNER_ID = #{partnerId}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
P.OBJID,
|
|
P.OEM_OBJID,
|
|
P.CAR_OBJID,
|
|
P.PROD_GROUP_OBJID,
|
|
P.PROD_OBJID,
|
|
P.REGDATE,
|
|
P.STATUS,
|
|
P.PARTNER_ID,
|
|
P.WRITER
|
|
)VALUES(
|
|
#{objId},
|
|
#{oemObjId},
|
|
#{carTypeObjId},
|
|
#{productGroupObjId},
|
|
#{productObjId},
|
|
SYSDATE,
|
|
#{status},
|
|
#{partnerId},
|
|
#{writer}
|
|
)
|
|
</update>
|
|
|
|
<!-- 시작품 검사 갑지 정보를 저장한다. -->
|
|
<update id="saveTestBaseInfo" parameterType="map">
|
|
MERGE INTO PMS_PROTO_TEST_INFO P USING DUAL ON (P.OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
P.OEM_OBJID = #{oemObjId}
|
|
,P.CAR_OBJID = #{carTypeObjId}
|
|
,P.PROD_GROUP_OBJID = #{productGroupObjId}
|
|
,P.PROD_OBJID = #{productObjId}
|
|
,P.PARTNER_ID = #{partnerId}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
P.OBJID,
|
|
P.OEM_OBJID,
|
|
P.CAR_OBJID,
|
|
P.PROD_GROUP_OBJID,
|
|
P.PROD_OBJID,
|
|
P.REGDATE,
|
|
P.STATUS,
|
|
P.PARTNER_ID,
|
|
P.WRITER
|
|
)VALUES(
|
|
#{objId},
|
|
#{oemObjId},
|
|
#{carTypeObjId},
|
|
#{productGroupObjId},
|
|
#{productObjId},
|
|
SYSDATE,
|
|
#{status},
|
|
#{partnerId},
|
|
#{writer}
|
|
)
|
|
</update>
|
|
|
|
<!-- 시작품 개발일정 갑지 정보를 저장한다. -->
|
|
<update id="savePlanBaseInfo" parameterType="map">
|
|
MERGE INTO PMS_PROTO_PLAN_INFO P USING DUAL ON (P.OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
P.OEM_OBJID = #{oemObjId}
|
|
,P.CAR_OBJID = #{carTypeObjId}
|
|
,P.PROD_GROUP_OBJID = #{productGroupObjId}
|
|
,P.PROD_OBJID = #{productObjId}
|
|
,P.PARTNER_ID = #{partnerId}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
P.OBJID,
|
|
P.OEM_OBJID,
|
|
P.CAR_OBJID,
|
|
P.PROD_GROUP_OBJID,
|
|
P.PROD_OBJID,
|
|
P.REGDATE,
|
|
P.STATUS,
|
|
P.PARTNER_ID,
|
|
P.WRITER
|
|
)VALUES(
|
|
#{objId},
|
|
#{oemObjId},
|
|
#{carTypeObjId},
|
|
#{productGroupObjId},
|
|
#{productObjId},
|
|
SYSDATE,
|
|
#{status},
|
|
#{partnerId},
|
|
#{writer}
|
|
)
|
|
</update>
|
|
|
|
<!-- 시작품 입고현황 갑지에 연결된 파트별 입고 내용 목록을 가져온다. -->
|
|
<select id="getStockConnectPartInfoList" parameterType="map" resultType="map">
|
|
SELECT
|
|
ROWNUM RNUM,
|
|
PART.*,
|
|
(SELECT OBJID FROM PART_INFO WHERE PART_NO = PART.PART_NO AND IS_START_DEV_PART = '0') AS PART_OBJID,
|
|
ROUND(((NVL(PART.RECEIVE_COUNT,0)/DECODE(NVL(PART.TOTAL_REQUIRED,1),0,1,NVL(PART.TOTAL_REQUIRED,1))))*100,1) AS STOCK_RATIO
|
|
FROM(
|
|
SELECT
|
|
PART.STOCK_OBJID AS TARGET_OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_NO,
|
|
PART.EO_ISSUE_DATE,
|
|
TO_CHAR(PART.EO_ISSUE_DATE,'YYYY-MM-DD') AS EO_ISSUE_DATE_TITLE,
|
|
PART.REV,
|
|
NVL2(STOCK_REL.OBJID,STOCK_REL.OBJID,ORA_HASH(DBMS_RANDOM.VALUE(1, 100000))) AS STOCK_REL_OBJID,
|
|
STOCK_REL.TOTAL_REQUIRED,
|
|
STOCK_REL.RECEIVE_COUNT,
|
|
STOCK_REL.DELAY_RECEIVE_COUNT,
|
|
STOCK_REL.WRITER,
|
|
STOCK_REL.REGDATE,
|
|
TO_CHAR(STOCK_REL.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
FROM
|
|
(
|
|
SELECT
|
|
STOCK.OBJID AS STOCK_OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_NO,
|
|
PART.EO_ISSUE_DATE,
|
|
PART.REV
|
|
FROM
|
|
PMS_PROTO_STOCK_INFO STOCK,
|
|
PART_INFO PART
|
|
WHERE 1 = 1
|
|
AND PART.IS_START_DEV_PART = '0'
|
|
AND STOCK.OBJID = #{objId}
|
|
AND STOCK.OEM_OBJID = PART.OEM_OBJID
|
|
AND STOCK.CAR_OBJID = PART.CAR_OBJID
|
|
AND STOCK.PROD_GROUP_OBJID = PART.PRODUCT_GROUP_OBJID
|
|
AND STOCK.PROD_OBJID = PART.PRODUCT_OBJID
|
|
) PART,
|
|
PMS_PROTO_STOCK_REL_PART_INFO STOCK_REL
|
|
WHERE 1 = 1
|
|
AND PART.STOCK_OBJID = STOCK_REL.TARGET_OBJID(+)
|
|
AND PART.PART_NO = STOCK_REL.PART_NO(+)
|
|
ORDER BY REGDATE DESC
|
|
) PART
|
|
</select>
|
|
|
|
<!-- 시작품 검사 갑지에 연결된 파트별 입고 내용 목록을 가져온다. -->
|
|
<select id="getTestConnectPartInfoList" parameterType="map" resultType="map">
|
|
SELECT
|
|
ROWNUM RNUM,
|
|
PART_INFO.*
|
|
FROM(
|
|
SELECT
|
|
TEST_INFO.OBJID AS TEST_OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_NO,
|
|
PART.EO_ISSUE_DATE,
|
|
PART.REV,
|
|
(SELECT OBJID FROM PART_INFO WHERE PART_NO = PART.PART_NO AND IS_START_DEV_PART = '0') AS PART_OBJID,
|
|
(
|
|
SELECT
|
|
TEST_ROUND
|
|
FROM(
|
|
SELECT
|
|
ROW_NUMBER() OVER(PARTITION BY INFO.PART_NO ORDER BY INFO.REGDATE DESC) RNUM,
|
|
INFO.PART_NO,
|
|
INFO.TEST_ROUND,
|
|
INFO.REGDATE
|
|
FROM PMS_PROTO_TEST_RESULT_INFO INFO
|
|
WHERE UPPER(INFO.RESULT_TYPE) = 'WELD'
|
|
)WHERE RNUM = 1 AND PART_NO = PART.PART_NO
|
|
) AS WELD_CURRENT_ROUND,
|
|
(
|
|
SELECT
|
|
DECODE(TEST_RESULT,0,'OK','NG') AS TEST_RESULT
|
|
FROM(
|
|
SELECT
|
|
ROW_NUMBER() OVER(PARTITION BY INFO.PART_NO ORDER BY INFO.REGDATE DESC) RNUM,
|
|
INFO.PART_NO,
|
|
INFO.TEST_RESULT,
|
|
INFO.REGDATE
|
|
FROM PMS_PROTO_TEST_RESULT_INFO INFO
|
|
WHERE UPPER(INFO.RESULT_TYPE) = 'WELD'
|
|
)WHERE RNUM = 1 AND PART_NO = PART.PART_NO
|
|
) AS WELD_CURRENT_RESULT,
|
|
(
|
|
SELECT
|
|
TEST_ROUND
|
|
FROM(
|
|
SELECT
|
|
ROW_NUMBER() OVER(PARTITION BY INFO.PART_NO ORDER BY INFO.REGDATE DESC) RNUM,
|
|
INFO.PART_NO,
|
|
INFO.TEST_ROUND,
|
|
INFO.REGDATE
|
|
FROM PMS_PROTO_TEST_RESULT_INFO INFO
|
|
WHERE UPPER(INFO.RESULT_TYPE) = 'FRAME'
|
|
)WHERE RNUM = 1 AND PART_NO = PART.PART_NO
|
|
) AS FRAME_CURRENT_ROUND,
|
|
(
|
|
SELECT
|
|
SCORE
|
|
FROM(
|
|
SELECT
|
|
ROW_NUMBER() OVER(PARTITION BY INFO.PART_NO ORDER BY INFO.REGDATE DESC) RNUM,
|
|
INFO.PART_NO,
|
|
INFO.SCORE,
|
|
INFO.REGDATE
|
|
FROM PMS_PROTO_TEST_RESULT_INFO INFO
|
|
WHERE UPPER(INFO.RESULT_TYPE) = 'FRAME'
|
|
)WHERE RNUM = 1 AND PART_NO = PART.PART_NO
|
|
) AS FRAME_CURRENT_SCORE,
|
|
(SELECT COUNT(1) FROM PMS_PROTO_TEST_RESULT_INFO WHERE TARGET_OBJID = TEST_INFO.OBJID AND PART_NO = PART.PART_NO) HISTORY_CNT
|
|
FROM
|
|
PMS_PROTO_TEST_INFO TEST_INFO,
|
|
(
|
|
SELECT
|
|
PART.OEM_OBJID,
|
|
PART.CAR_OBJID,
|
|
PART.PRODUCT_GROUP_OBJID,
|
|
PART.PRODUCT_OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_NO,
|
|
PART.EO_ISSUE_DATE,
|
|
PART.REV,
|
|
PART.IS_START_DEV_PART,
|
|
(SELECT MATERIAL_TYPE_NAME FROM MATERIAL_TYPE_MNG WHERE OBJID = PART.MATERIAL_TYPE_OBJID) AS MATERIAL_TYPE_NAME
|
|
FROM PART_INFO PART
|
|
WHERE PART.IS_START_DEV_PART = '0'
|
|
)PART
|
|
WHERE 1 = 1
|
|
AND PART.MATERIAL_TYPE_NAME = '제품'
|
|
AND TEST_INFO.OBJID = #{objId}
|
|
AND TEST_INFO.OEM_OBJID = PART.OEM_OBJID
|
|
AND TEST_INFO.CAR_OBJID = PART.CAR_OBJID
|
|
AND TEST_INFO.PROD_GROUP_OBJID = PART.PRODUCT_GROUP_OBJID
|
|
AND TEST_INFO.PROD_OBJID = PART.PRODUCT_OBJID
|
|
)PART_INFO
|
|
</select>
|
|
|
|
<!-- 시작품 개발일정 갑지에 연결된 파트별 개발일정 내용 목록을 가져온다. -->
|
|
<select id="getPlanConnectPartInfoList" parameterType="map" resultType="map">
|
|
SELECT
|
|
ROWNUM RNUM,
|
|
PART_INFO.*,
|
|
NVL2(PLAN_REL.OBJID,PLAN_REL.OBJID,ORA_HASH(DBMS_RANDOM.VALUE(1, 100000))) AS PLAN_REL_OBJID,
|
|
PLAN_REL.QUANTITY,
|
|
PLAN_REL.METHOD,
|
|
PLAN_REL.TARGET_OBJID,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_FROM_DATE_LOT1,'YYYY-MM-DD') AS PLAN_JIG_FROM_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TO_DATE_LOT1,'YYYY-MM-DD') AS PLAN_JIG_TO_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.JIG_ACTUAL_DATE_LOT1,'YYYY-MM-DD') AS JIG_ACTUAL_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_MOLD_FROM_DATE_LOT1,'YYYY-MM-DD') AS PLAN_MOLD_FROM_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_MOLD_TO_DATE_LOT1,'YYYY-MM-DD') AS PLAN_MOLD_TO_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.MOLD_ACTUAL_DATE_LOT1,'YYYY-MM-DD') AS MOLD_ACTUAL_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT1,'YYYY-MM-DD') AS PLAN_CRAFT_FROM_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_CRAFT_TO_DATE_LOT1,'YYYY-MM-DD') AS PLAN_CRAFT_TO_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.CRAFT_ACTUAL_DATE_LOT1,'YYYY-MM-DD') AS CRAFT_ACTUAL_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT1,'YYYY-MM-DD') AS PLAN_TRY_OUT_FROM_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT1,'YYYY-MM-DD') AS PLAN_TRY_OUT_TO_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT1,'YYYY-MM-DD') AS TRY_OUT_ACTUAL_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_LASER_FROM_DATE_LOT1,'YYYY-MM-DD') AS PLAN_LASER_FROM_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_LASER_TO_DATE_LOT1,'YYYY-MM-DD') AS PLAN_LASER_TO_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.LASER_ACTUAL_DATE_LOT1,'YYYY-MM-DD') AS LASER_ACTUAL_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT1,'YYYY-MM-DD') AS PLAN_JIG_TEST_FROM_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT1,'YYYY-MM-DD') AS PLAN_JIG_TEST_TO_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT1,'YYYY-MM-DD') AS JIG_TEST_ACTUAL_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT1,'YYYY-MM-DD') AS PLAN_INIT_PROD_FROM_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT1,'YYYY-MM-DD') AS PLAN_INIT_PROD_TO_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT1,'YYYY-MM-DD') AS INIT_PROD_ACTUAL_DATE_LOT1,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_FROM_DATE_LOT2,'YYYY-MM-DD') AS PLAN_JIG_FROM_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TO_DATE_LOT2,'YYYY-MM-DD') AS PLAN_JIG_TO_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.JIG_ACTUAL_DATE_LOT2,'YYYY-MM-DD') AS JIG_ACTUAL_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_MOLD_FROM_DATE_LOT2,'YYYY-MM-DD') AS PLAN_MOLD_FROM_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_MOLD_TO_DATE_LOT2,'YYYY-MM-DD') AS PLAN_MOLD_TO_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.MOLD_ACTUAL_DATE_LOT2,'YYYY-MM-DD') AS MOLD_ACTUAL_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT2,'YYYY-MM-DD') AS PLAN_CRAFT_FROM_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_CRAFT_TO_DATE_LOT2,'YYYY-MM-DD') AS PLAN_CRAFT_TO_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.CRAFT_ACTUAL_DATE_LOT2,'YYYY-MM-DD') AS CRAFT_ACTUAL_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT2,'YYYY-MM-DD') AS PLAN_TRY_OUT_FROM_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT2,'YYYY-MM-DD') AS PLAN_TRY_OUT_TO_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT2,'YYYY-MM-DD') AS TRY_OUT_ACTUAL_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_LASER_FROM_DATE_LOT2,'YYYY-MM-DD') AS PLAN_LASER_FROM_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_LASER_TO_DATE_LOT2,'YYYY-MM-DD') AS PLAN_LASER_TO_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.LASER_ACTUAL_DATE_LOT2,'YYYY-MM-DD') AS LASER_ACTUAL_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT2,'YYYY-MM-DD') AS PLAN_JIG_TEST_FROM_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT2,'YYYY-MM-DD') AS PLAN_JIG_TEST_TO_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT2,'YYYY-MM-DD') AS JIG_TEST_ACTUAL_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT2,'YYYY-MM-DD') AS PLAN_INIT_PROD_FROM_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT2,'YYYY-MM-DD') AS PLAN_INIT_PROD_TO_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT2,'YYYY-MM-DD') AS INIT_PROD_ACTUAL_DATE_LOT2,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_FROM_DATE_LOT3,'YYYY-MM-DD') AS PLAN_JIG_FROM_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TO_DATE_LOT3,'YYYY-MM-DD') AS PLAN_JIG_TO_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.JIG_ACTUAL_DATE_LOT3,'YYYY-MM-DD') AS JIG_ACTUAL_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_MOLD_FROM_DATE_LOT3,'YYYY-MM-DD') AS PLAN_MOLD_FROM_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_MOLD_TO_DATE_LOT3,'YYYY-MM-DD') AS PLAN_MOLD_TO_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.MOLD_ACTUAL_DATE_LOT3,'YYYY-MM-DD') AS MOLD_ACTUAL_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT3,'YYYY-MM-DD') AS PLAN_CRAFT_FROM_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_CRAFT_TO_DATE_LOT3,'YYYY-MM-DD') AS PLAN_CRAFT_TO_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.CRAFT_ACTUAL_DATE_LOT3,'YYYY-MM-DD') AS CRAFT_ACTUAL_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT3,'YYYY-MM-DD') AS PLAN_TRY_OUT_FROM_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT3,'YYYY-MM-DD') AS PLAN_TRY_OUT_TO_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT3,'YYYY-MM-DD') AS TRY_OUT_ACTUAL_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_LASER_FROM_DATE_LOT3,'YYYY-MM-DD') AS PLAN_LASER_FROM_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_LASER_TO_DATE_LOT3,'YYYY-MM-DD') AS PLAN_LASER_TO_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.LASER_ACTUAL_DATE_LOT3,'YYYY-MM-DD') AS LASER_ACTUAL_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT3,'YYYY-MM-DD') AS PLAN_JIG_TEST_FROM_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT3,'YYYY-MM-DD') AS PLAN_JIG_TEST_TO_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT3,'YYYY-MM-DD') AS JIG_TEST_ACTUAL_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT3,'YYYY-MM-DD') AS PLAN_INIT_PROD_FROM_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT3,'YYYY-MM-DD') AS PLAN_INIT_PROD_TO_DATE_LOT3,
|
|
TO_CHAR(PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT3,'YYYY-MM-DD') AS INIT_PROD_ACTUAL_DATE_LOT3,
|
|
PLAN_REL.WRITER,
|
|
PLAN_REL.REGDATE,
|
|
TO_CHAR(PLAN_REL.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
<!-- LOT1 -->
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_JIG_FROM_DATE_LOT1 AND PLAN_REL.PLAN_JIG_TO_DATE_LOT1 AND PLAN_REL.JIG_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_JIG_FROM_DATE_LOT1 AND SYSDATE > PLAN_REL.PLAN_JIG_TO_DATE_LOT1 AND PLAN_REL.JIG_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_JIG_LOT1,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_MOLD_FROM_DATE_LOT1 AND PLAN_REL.PLAN_MOLD_TO_DATE_LOT1 AND PLAN_REL.MOLD_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_MOLD_FROM_DATE_LOT1 AND SYSDATE > PLAN_REL.PLAN_MOLD_TO_DATE_LOT1 AND PLAN_REL.MOLD_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_MOLD_LOT1,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT1 AND PLAN_REL.PLAN_CRAFT_TO_DATE_LOT1 AND PLAN_REL.CRAFT_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT1 AND SYSDATE > PLAN_REL.PLAN_CRAFT_TO_DATE_LOT1 AND PLAN_REL.CRAFT_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_CRAFT_LOT1,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT1 AND PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT1 AND PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT1 AND SYSDATE > PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT1 AND PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_TRY_OUT_LOT1,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_LASER_FROM_DATE_LOT1 AND PLAN_REL.PLAN_LASER_TO_DATE_LOT1 AND PLAN_REL.LASER_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_LASER_FROM_DATE_LOT1 AND SYSDATE > PLAN_REL.PLAN_LASER_TO_DATE_LOT1 AND PLAN_REL.LASER_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_LASER_LOT1,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT1 AND PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT1 AND PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT1 AND SYSDATE > PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT1 AND PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_JIG_TEST_LOT1,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT1 AND PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT1 AND PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT1 AND SYSDATE > PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT1 AND PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT1 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_INIT_PROD_LOT1,
|
|
<!-- LOT2 -->
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_JIG_FROM_DATE_LOT2 AND PLAN_REL.PLAN_JIG_TO_DATE_LOT2 AND PLAN_REL.JIG_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_JIG_FROM_DATE_LOT2 AND SYSDATE > PLAN_REL.PLAN_JIG_TO_DATE_LOT2 AND PLAN_REL.JIG_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_JIG_LOT2,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_MOLD_FROM_DATE_LOT2 AND PLAN_REL.PLAN_MOLD_TO_DATE_LOT2 AND PLAN_REL.MOLD_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_MOLD_FROM_DATE_LOT2 AND SYSDATE > PLAN_REL.PLAN_MOLD_TO_DATE_LOT2 AND PLAN_REL.MOLD_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_MOLD_LOT2,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT2 AND PLAN_REL.PLAN_CRAFT_TO_DATE_LOT2 AND PLAN_REL.CRAFT_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT2 AND SYSDATE > PLAN_REL.PLAN_CRAFT_TO_DATE_LOT2 AND PLAN_REL.CRAFT_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_CRAFT_LOT2,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT2 AND PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT2 AND PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT2 AND SYSDATE > PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT2 AND PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_TRY_OUT_LOT2,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_LASER_FROM_DATE_LOT2 AND PLAN_REL.PLAN_LASER_TO_DATE_LOT2 AND PLAN_REL.LASER_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_LASER_FROM_DATE_LOT2 AND SYSDATE > PLAN_REL.PLAN_LASER_TO_DATE_LOT2 AND PLAN_REL.LASER_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_LASER_LOT2,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT2 AND PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT2 AND PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT2 AND SYSDATE > PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT2 AND PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_JIG_TEST_LOT2,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT2 AND PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT2 AND PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT2 AND SYSDATE > PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT2 AND PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT2 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_INIT_PROD_LOT2,
|
|
<!-- LOT3 -->
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_JIG_FROM_DATE_LOT3 AND PLAN_REL.PLAN_JIG_TO_DATE_LOT3 AND PLAN_REL.JIG_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_JIG_FROM_DATE_LOT3 AND SYSDATE > PLAN_REL.PLAN_JIG_TO_DATE_LOT3 AND PLAN_REL.JIG_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_JIG_LOT3,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_MOLD_FROM_DATE_LOT3 AND PLAN_REL.PLAN_MOLD_TO_DATE_LOT3 AND PLAN_REL.MOLD_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_MOLD_FROM_DATE_LOT3 AND SYSDATE > PLAN_REL.PLAN_MOLD_TO_DATE_LOT3 AND PLAN_REL.MOLD_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_MOLD_LOT3,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT3 AND PLAN_REL.PLAN_CRAFT_TO_DATE_LOT3 AND PLAN_REL.CRAFT_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_CRAFT_FROM_DATE_LOT3 AND SYSDATE > PLAN_REL.PLAN_CRAFT_TO_DATE_LOT3 AND PLAN_REL.CRAFT_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_CRAFT_LOT3,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT3 AND PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT3 AND PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_TRY_OUT_FROM_DATE_LOT3 AND SYSDATE > PLAN_REL.PLAN_TRY_OUT_TO_DATE_LOT3 AND PLAN_REL.TRY_OUT_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_TRY_OUT_LOT3,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_LASER_FROM_DATE_LOT3 AND PLAN_REL.PLAN_LASER_TO_DATE_LOT3 AND PLAN_REL.LASER_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_LASER_FROM_DATE_LOT3 AND SYSDATE > PLAN_REL.PLAN_LASER_TO_DATE_LOT3 AND PLAN_REL.LASER_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_LASER_LOT3,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT3 AND PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT3 AND PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_JIG_TEST_FROM_DATE_LOT3 AND SYSDATE > PLAN_REL.PLAN_JIG_TEST_TO_DATE_LOT3 AND PLAN_REL.JIG_TEST_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_JIG_TEST_LOT3,
|
|
CASE
|
|
WHEN SYSDATE BETWEEN PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT3 AND PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT3 AND PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
WHEN SYSDATE > PLAN_REL.PLAN_INIT_PROD_FROM_DATE_LOT3 AND SYSDATE > PLAN_REL.PLAN_INIT_PROD_TO_DATE_LOT3 AND PLAN_REL.INIT_PROD_ACTUAL_DATE_LOT3 IS NULL
|
|
THEN 'warning'
|
|
ELSE ''
|
|
END AS BLINK_ACTUAL_INIT_PROD_LOT3
|
|
FROM(
|
|
SELECT
|
|
PLAN_INFO.OBJID AS PLAN_OBJID,
|
|
PART.OBJID AS PART_OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_NO,
|
|
PART.EO_ISSUE_DATE,
|
|
PART.REV,
|
|
(SELECT MATERIAL_NAME FROM MATERIAL_MNG WHERE OBJID = PART.MATERIAL_OBJID) AS MATERIAL_NAME,
|
|
PART.THICKNESS
|
|
FROM
|
|
PMS_PROTO_PLAN_INFO PLAN_INFO,
|
|
PART_INFO PART
|
|
WHERE 1 = 1
|
|
AND PART.IS_START_DEV_PART = '0'
|
|
AND PLAN_INFO.OBJID = #{objId}
|
|
AND PLAN_INFO.OEM_OBJID = PART.OEM_OBJID
|
|
AND PLAN_INFO.CAR_OBJID = PART.CAR_OBJID
|
|
AND PLAN_INFO.PROD_GROUP_OBJID = PART.PRODUCT_GROUP_OBJID
|
|
AND PLAN_INFO.PROD_OBJID = PART.PRODUCT_OBJID
|
|
)PART_INFO,
|
|
PMS_PROTO_PLAN_REL_PART_INFO PLAN_REL
|
|
WHERE 1 = 1
|
|
AND PART_INFO.PLAN_OBJID = PLAN_REL.TARGET_OBJID(+)
|
|
AND PART_INFO.PART_NO = PLAN_REL.PART_NO(+)
|
|
ORDER BY REGDATE DESC
|
|
</select>
|
|
|
|
<!-- 시작품 개발일정 파트 정보를 저장한다. -->
|
|
<update id="saveProtoPlanPartInfo" parameterType="map">
|
|
MERGE INTO PMS_PROTO_PLAN_REL_PART_INFO P USING DUAL ON (P.OBJID = #{objId} AND P.TARGET_OBJID= #{targetObjId} AND P.PART_NO = #{partNo})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
P.QUANTITY =#{quantity},
|
|
P.METHOD =#{method},
|
|
P.PLAN_JIG_FROM_DATE_LOT1 =#{planFromDate_jig_lot1},
|
|
P.PLAN_JIG_TO_DATE_LOT1 =#{planToDate_jig_lot1},
|
|
P.JIG_ACTUAL_DATE_LOT1 =#{actualDate_jig_lot1},
|
|
P.PLAN_MOLD_FROM_DATE_LOT1 =#{planFromDate_mold_lot1},
|
|
P.PLAN_MOLD_TO_DATE_LOT1 =#{planToDate_mold_lot1},
|
|
P.MOLD_ACTUAL_DATE_LOT1 =#{actualDate_mold_lot1},
|
|
P.PLAN_CRAFT_FROM_DATE_LOT1 =#{planFromDate_craft_lot1},
|
|
P.PLAN_CRAFT_TO_DATE_LOT1 =#{planToDate_craft_lot1},
|
|
P.CRAFT_ACTUAL_DATE_LOT1 =#{actualDate_craft_lot1},
|
|
P.PLAN_TRY_OUT_FROM_DATE_LOT1 =#{planFromDate_try_out_lot1},
|
|
P.PLAN_TRY_OUT_TO_DATE_LOT1 =#{planToDate_try_out_lot1},
|
|
P.TRY_OUT_ACTUAL_DATE_LOT1 =#{actualDate_try_out_lot1},
|
|
P.PLAN_LASER_FROM_DATE_LOT1 =#{planFromDate_laser_lot1},
|
|
P.PLAN_LASER_TO_DATE_LOT1 =#{planToDate_laser_lot1},
|
|
P.LASER_ACTUAL_DATE_LOT1 =#{actualDate_laser_lot1},
|
|
P.PLAN_JIG_TEST_FROM_DATE_LOT1 =#{planFromDate_jig_test_lot1},
|
|
P.PLAN_JIG_TEST_TO_DATE_LOT1 =#{planToDate_jig_test_lot1},
|
|
P.JIG_TEST_ACTUAL_DATE_LOT1 =#{actualDate_jig_test_lot1},
|
|
P.PLAN_INIT_PROD_FROM_DATE_LOT1 =#{planFromDate_init_prod_lot1},
|
|
P.PLAN_INIT_PROD_TO_DATE_LOT1 =#{planToDate_init_prod_lot1},
|
|
P.INIT_PROD_ACTUAL_DATE_LOT1 =#{actualDate_init_prod_lot1},
|
|
P.PLAN_JIG_FROM_DATE_LOT2 =#{planFromDate_jig_lot2},
|
|
P.PLAN_JIG_TO_DATE_LOT2 =#{planToDate_jig_lot2},
|
|
P.JIG_ACTUAL_DATE_LOT2 =#{actualDate_jig_lot2},
|
|
P.PLAN_MOLD_FROM_DATE_LOT2 =#{planFromDate_mold_lot2},
|
|
P.PLAN_MOLD_TO_DATE_LOT2 =#{planToDate_mold_lot2},
|
|
P.MOLD_ACTUAL_DATE_LOT2 =#{actualDate_mold_lot2},
|
|
P.PLAN_CRAFT_FROM_DATE_LOT2 =#{planFromDate_craft_lot2},
|
|
P.PLAN_CRAFT_TO_DATE_LOT2 =#{planToDate_craft_lot2},
|
|
P.CRAFT_ACTUAL_DATE_LOT2 =#{actualDate_craft_lot2},
|
|
P.PLAN_TRY_OUT_FROM_DATE_LOT2 =#{planFromDate_try_out_lot2},
|
|
P.PLAN_TRY_OUT_TO_DATE_LOT2 =#{planToDate_try_out_lot2},
|
|
P.TRY_OUT_ACTUAL_DATE_LOT2 =#{actualDate_try_out_lot2},
|
|
P.PLAN_LASER_FROM_DATE_LOT2 =#{planFromDate_laser_lot2},
|
|
P.PLAN_LASER_TO_DATE_LOT2 =#{planToDate_laser_lot2},
|
|
P.LASER_ACTUAL_DATE_LOT2 =#{actualDate_laser_lot2},
|
|
P.PLAN_JIG_TEST_FROM_DATE_LOT2 =#{planFromDate_jig_test_lot2},
|
|
P.PLAN_JIG_TEST_TO_DATE_LOT2 =#{planToDate_jig_test_lot2},
|
|
P.JIG_TEST_ACTUAL_DATE_LOT2 =#{actualDate_jig_test_lot2},
|
|
P.PLAN_INIT_PROD_FROM_DATE_LOT2 =#{planFromDate_init_prod_lot2},
|
|
P.PLAN_INIT_PROD_TO_DATE_LOT2 =#{planToDate_init_prod_lot2},
|
|
P.INIT_PROD_ACTUAL_DATE_LOT2 =#{actualDate_init_prod_lot2},
|
|
P.PLAN_JIG_FROM_DATE_LOT3 =#{planFromDate_jig_lot3},
|
|
P.PLAN_JIG_TO_DATE_LOT3 =#{planToDate_jig_lot3},
|
|
P.JIG_ACTUAL_DATE_LOT3 =#{actualDate_jig_lot3},
|
|
P.PLAN_MOLD_FROM_DATE_LOT3 =#{planFromDate_mold_lot3},
|
|
P.PLAN_MOLD_TO_DATE_LOT3 =#{planToDate_mold_lot3},
|
|
P.MOLD_ACTUAL_DATE_LOT3 =#{actualDate_mold_lot3},
|
|
P.PLAN_CRAFT_FROM_DATE_LOT3 =#{planFromDate_craft_lot3},
|
|
P.PLAN_CRAFT_TO_DATE_LOT3 =#{planToDate_craft_lot3},
|
|
P.CRAFT_ACTUAL_DATE_LOT3 =#{actualDate_craft_lot3},
|
|
P.PLAN_TRY_OUT_FROM_DATE_LOT3 =#{planFromDate_try_out_lot3},
|
|
P.PLAN_TRY_OUT_TO_DATE_LOT3 =#{planToDate_try_out_lot3},
|
|
P.TRY_OUT_ACTUAL_DATE_LOT3 =#{actualDate_try_out_lot3},
|
|
P.PLAN_LASER_FROM_DATE_LOT3 =#{planFromDate_laser_lot3},
|
|
P.PLAN_LASER_TO_DATE_LOT3 =#{planToDate_laser_lot3},
|
|
P.LASER_ACTUAL_DATE_LOT3 =#{actualDate_laser_lot3},
|
|
P.PLAN_JIG_TEST_FROM_DATE_LOT3 =#{planFromDate_jig_test_lot3},
|
|
P.PLAN_JIG_TEST_TO_DATE_LOT3 =#{planToDate_jig_test_lot3},
|
|
P.JIG_TEST_ACTUAL_DATE_LOT3 =#{actualDate_jig_test_lot3},
|
|
P.PLAN_INIT_PROD_FROM_DATE_LOT3 =#{planFromDate_init_prod_lot3},
|
|
P.PLAN_INIT_PROD_TO_DATE_LOT3 =#{planToDate_init_prod_lot3},
|
|
P.INIT_PROD_ACTUAL_DATE_LOT3 =#{actualDate_init_prod_lot3}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
P.OBJID,
|
|
P.TARGET_OBJID,
|
|
P.PART_NO,
|
|
P.QUANTITY,
|
|
P.METHOD,
|
|
P.PLAN_JIG_FROM_DATE_LOT1,
|
|
P.PLAN_JIG_TO_DATE_LOT1,
|
|
P.JIG_ACTUAL_DATE_LOT1,
|
|
P.PLAN_MOLD_FROM_DATE_LOT1,
|
|
P.PLAN_MOLD_TO_DATE_LOT1,
|
|
P.MOLD_ACTUAL_DATE_LOT1,
|
|
P.PLAN_CRAFT_FROM_DATE_LOT1,
|
|
P.PLAN_CRAFT_TO_DATE_LOT1,
|
|
P.CRAFT_ACTUAL_DATE_LOT1,
|
|
P.PLAN_TRY_OUT_FROM_DATE_LOT1,
|
|
P.PLAN_TRY_OUT_TO_DATE_LOT1,
|
|
P.TRY_OUT_ACTUAL_DATE_LOT1,
|
|
P.PLAN_LASER_FROM_DATE_LOT1,
|
|
P.PLAN_LASER_TO_DATE_LOT1,
|
|
P.LASER_ACTUAL_DATE_LOT1,
|
|
P.PLAN_JIG_TEST_FROM_DATE_LOT1,
|
|
P.PLAN_JIG_TEST_TO_DATE_LOT1,
|
|
P.JIG_TEST_ACTUAL_DATE_LOT1,
|
|
P.PLAN_INIT_PROD_FROM_DATE_LOT1,
|
|
P.PLAN_INIT_PROD_TO_DATE_LOT1,
|
|
P.INIT_PROD_ACTUAL_DATE_LOT1,
|
|
P.PLAN_JIG_FROM_DATE_LOT2,
|
|
P.PLAN_JIG_TO_DATE_LOT2,
|
|
P.JIG_ACTUAL_DATE_LOT2,
|
|
P.PLAN_MOLD_FROM_DATE_LOT2,
|
|
P.PLAN_MOLD_TO_DATE_LOT2,
|
|
P.MOLD_ACTUAL_DATE_LOT2,
|
|
P.PLAN_CRAFT_FROM_DATE_LOT2,
|
|
P.PLAN_CRAFT_TO_DATE_LOT2,
|
|
P.CRAFT_ACTUAL_DATE_LOT2,
|
|
P.PLAN_TRY_OUT_FROM_DATE_LOT2,
|
|
P.PLAN_TRY_OUT_TO_DATE_LOT2,
|
|
P.TRY_OUT_ACTUAL_DATE_LOT2,
|
|
P.PLAN_LASER_FROM_DATE_LOT2,
|
|
P.PLAN_LASER_TO_DATE_LOT2,
|
|
P.LASER_ACTUAL_DATE_LOT2,
|
|
P.PLAN_JIG_TEST_FROM_DATE_LOT2,
|
|
P.PLAN_JIG_TEST_TO_DATE_LOT2,
|
|
P.JIG_TEST_ACTUAL_DATE_LOT2,
|
|
P.PLAN_INIT_PROD_FROM_DATE_LOT2,
|
|
P.PLAN_INIT_PROD_TO_DATE_LOT2,
|
|
P.INIT_PROD_ACTUAL_DATE_LOT2,
|
|
P.PLAN_JIG_FROM_DATE_LOT3,
|
|
P.PLAN_JIG_TO_DATE_LOT3,
|
|
P.JIG_ACTUAL_DATE_LOT3,
|
|
P.PLAN_MOLD_FROM_DATE_LOT3,
|
|
P.PLAN_MOLD_TO_DATE_LOT3,
|
|
P.MOLD_ACTUAL_DATE_LOT3,
|
|
P.PLAN_CRAFT_FROM_DATE_LOT3,
|
|
P.PLAN_CRAFT_TO_DATE_LOT3,
|
|
P.CRAFT_ACTUAL_DATE_LOT3,
|
|
P.PLAN_TRY_OUT_FROM_DATE_LOT3,
|
|
P.PLAN_TRY_OUT_TO_DATE_LOT3,
|
|
P.TRY_OUT_ACTUAL_DATE_LOT3,
|
|
P.PLAN_LASER_FROM_DATE_LOT3,
|
|
P.PLAN_LASER_TO_DATE_LOT3,
|
|
P.LASER_ACTUAL_DATE_LOT3,
|
|
P.PLAN_JIG_TEST_FROM_DATE_LOT3,
|
|
P.PLAN_JIG_TEST_TO_DATE_LOT3,
|
|
P.JIG_TEST_ACTUAL_DATE_LOT3,
|
|
P.PLAN_INIT_PROD_FROM_DATE_LOT3,
|
|
P.PLAN_INIT_PROD_TO_DATE_LOT3,
|
|
P.INIT_PROD_ACTUAL_DATE_LOT3,
|
|
P.WRITER,
|
|
P.REGDATE
|
|
)VALUES(
|
|
#{objId},
|
|
#{targetObjId},
|
|
#{partNo},
|
|
#{quantity},
|
|
#{method},
|
|
#{planFromDate_jig_lot1},
|
|
#{planToDate_jig_lot1},
|
|
#{actualDate_jig_lot1},
|
|
#{planFromDate_mold_lot1},
|
|
#{planToDate_mold_lot1},
|
|
#{actualDate_mold_lot1},
|
|
#{planFromDate_craft_lot1},
|
|
#{planToDate_craft_lot1},
|
|
#{actualDate_craft_lot1},
|
|
#{planFromDate_try_out_lot1},
|
|
#{planToDate_try_out_lot1},
|
|
#{actualDate_try_out_lot1},
|
|
#{planFromDate_laser_lot1},
|
|
#{planToDate_laser_lot1},
|
|
#{actualDate_laser_lot1},
|
|
#{planFromDate_jig_test_lot1},
|
|
#{planToDate_jig_test_lot1},
|
|
#{actualDate_jig_test_lot1},
|
|
#{planFromDate_init_prod_lot1},
|
|
#{planToDate_init_prod_lot1},
|
|
#{actualDate_init_prod_lot1},
|
|
#{planFromDate_jig_lot2},
|
|
#{planToDate_jig_lot2},
|
|
#{actualDate_jig_lot2},
|
|
#{planFromDate_mold_lot2},
|
|
#{planToDate_mold_lot2},
|
|
#{actualDate_mold_lot2},
|
|
#{planFromDate_craft_lot2},
|
|
#{planToDate_craft_lot2},
|
|
#{actualDate_craft_lot2},
|
|
#{planFromDate_try_out_lot2},
|
|
#{planToDate_try_out_lot2},
|
|
#{actualDate_try_out_lot2},
|
|
#{planFromDate_laser_lot2},
|
|
#{planToDate_laser_lot2},
|
|
#{actualDate_laser_lot2},
|
|
#{planFromDate_jig_test_lot2},
|
|
#{planToDate_jig_test_lot2},
|
|
#{actualDate_jig_test_lot2},
|
|
#{planFromDate_init_prod_lot2},
|
|
#{planToDate_init_prod_lot2},
|
|
#{actualDate_init_prod_lot2},
|
|
#{planFromDate_jig_lot3},
|
|
#{planToDate_jig_lot3},
|
|
#{actualDate_jig_lot3},
|
|
#{planFromDate_mold_lot3},
|
|
#{planToDate_mold_lot3},
|
|
#{actualDate_mold_lot3},
|
|
#{planFromDate_craft_lot3},
|
|
#{planToDate_craft_lot3},
|
|
#{actualDate_craft_lot3},
|
|
#{planFromDate_try_out_lot3},
|
|
#{planToDate_try_out_lot3},
|
|
#{actualDate_try_out_lot3},
|
|
#{planFromDate_laser_lot3},
|
|
#{planToDate_laser_lot3},
|
|
#{actualDate_laser_lot3},
|
|
#{planFromDate_jig_test_lot3},
|
|
#{planToDate_jig_test_lot3},
|
|
#{actualDate_jig_test_lot3},
|
|
#{planFromDate_init_prod_lot3},
|
|
#{planToDate_init_prod_lot3},
|
|
#{actualDate_init_prod_lot3},
|
|
#{writer},
|
|
SYSDATE
|
|
)
|
|
</update>
|
|
|
|
<!-- 입고관리 파트 정보를 저장한다. -->
|
|
<update id="saveProtoStockPartInfo" parameterType="map">
|
|
MERGE INTO PMS_PROTO_STOCK_REL_PART_INFO P USING DUAL ON (P.OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
P.TOTAL_REQUIRED = #{totalRequired},
|
|
P.RECEIVE_COUNT = #{receiveCount},
|
|
P.DELAY_RECEIVE_COUNT = #{delayReceiveCount}
|
|
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
P.OBJID,
|
|
P.TARGET_OBJID,
|
|
P.PART_NO,
|
|
P.TOTAL_REQUIRED,
|
|
P.RECEIVE_COUNT,
|
|
P.DELAY_RECEIVE_COUNT,
|
|
P.WRITER,
|
|
P.REGDATE
|
|
)VALUES(
|
|
#{objId},
|
|
#{targetObjId},
|
|
#{partNo},
|
|
#{totalRequired},
|
|
#{receiveCount},
|
|
#{delayReceiveCount},
|
|
#{writer},
|
|
SYSDATE
|
|
)
|
|
</update>
|
|
|
|
<!-- 시작품 검사 결과를 저장한다.. -->
|
|
<update id="saveProtoTestResult" parameterType="map">
|
|
MERGE INTO PMS_PROTO_TEST_RESULT_INFO P USING DUAL ON (P.OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
P.TEST_ROUND = #{round},
|
|
P.TEST_RESULT = #{result},
|
|
P.SCORE = #{score},
|
|
P.RESULT_TYPE = #{resultType}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT(
|
|
P.OBJID,
|
|
P.TARGET_OBJID,
|
|
P.PART_NO,
|
|
P.TEST_ROUND,
|
|
P.SCORE,
|
|
P.TEST_RESULT,
|
|
P.RESULT_TYPE,
|
|
P.WRITER,
|
|
P.REGDATE
|
|
)VALUES(
|
|
#{objId},
|
|
#{targetObjId},
|
|
#{partNo},
|
|
#{round},
|
|
#{score},
|
|
#{result},
|
|
#{resultType},
|
|
#{writer},
|
|
SYSDATE
|
|
)
|
|
</update>
|
|
|
|
<!-- 시작품 검사 결과 목록을 가져온다. -->
|
|
<select id="getTestResultHistory" parameterType="map" resultType="map">
|
|
SELECT
|
|
ROW_NUMBER() OVER (ORDER BY REGDATE DESC) RNUM,
|
|
INFO.OBJID,
|
|
INFO.TARGET_OBJID,
|
|
INFO.PART_NO,
|
|
INFO.TEST_ROUND,
|
|
INFO.TEST_RESULT,
|
|
CASE
|
|
WHEN UPPER(INFO.RESULT_TYPE) = 'FRAME'
|
|
THEN TO_CHAR(INFO.SCORE)
|
|
WHEN UPPER(INFO.RESULT_TYPE) = 'WELD'
|
|
THEN DECODE(INFO.TEST_RESULT,0,'OK',1,'NG')
|
|
ELSE ''
|
|
END AS TEST_RESULT_TITLE,
|
|
INFO.SCORE,
|
|
INFO.WRITER,
|
|
INFO.REGDATE,
|
|
INFO.RESULT_TYPE,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = INFO.OBJID AND DOC_TYPE='PROTO_RESULT_ATTACH' AND UPPER(STATUS) = 'ACTIVE') AS START_FILE_CNT
|
|
FROM PMS_PROTO_TEST_RESULT_INFO INFO
|
|
WHERE 1=1
|
|
AND INFO.TARGET_OBJID = #{targetObjId}
|
|
AND INFO.PART_NO = #{partNo}
|
|
</select>
|
|
|
|
<!-- 시작품 검사 결과 단건을 가져온다. -->
|
|
<select id="getTestResultHistoryInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.TARGET_OBJID,
|
|
INFO.PART_NO,
|
|
INFO.TEST_ROUND,
|
|
INFO.TEST_RESULT,
|
|
DECODE(INFO.TEST_RESULT,'0','OK','1','NG') AS TEST_RESULT_TITLE,
|
|
INFO.SCORE,
|
|
INFO.WRITER,
|
|
INFO.REGDATE,
|
|
INFO.RESULT_TYPE,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
FROM PMS_PROTO_TEST_RESULT_INFO INFO
|
|
WHERE INFO.OBJID = #{objId}
|
|
</select>
|
|
|
|
<!-- 시작품 검사관리 갑지 목록을 가져온다. -->
|
|
<select id="getProtoTestMngList" parameterType="map" resultType="map">
|
|
<if test="'excel' != actionType">
|
|
SELECT *
|
|
FROM(
|
|
</if>
|
|
SELECT INFO.*, ROW_NUMBER () OVER (ORDER BY REGDATE DESC) AS RNUM
|
|
FROM (
|
|
SELECT INFO.*
|
|
FROM(
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_CODE,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
(SELECT COUNT(1) FROM (SELECT PART.OEM_OBJID, PART.CAR_OBJID,PART.PRODUCT_GROUP_OBJID,PART.PRODUCT_OBJID,PART.PART_NO, PART.IS_START_DEV_PART,(SELECT MATERIAL_TYPE_NAME FROM MATERIAL_TYPE_MNG WHERE OBJID = PART.MATERIAL_TYPE_OBJID) AS MATERIAL_TYPE_NAME FROM PART_INFO PART)PART WHERE 1=1 AND PART.MATERIAL_TYPE_NAME = '제품' AND PART.IS_START_DEV_PART = '0' AND PART.OEM_OBJID = INFO.OEM_OBJID AND PART.CAR_OBJID = INFO.CAR_OBJID AND PART.PRODUCT_GROUP_OBJID = INFO.PROD_GROUP_OBJID AND PART.PRODUCT_OBJID = INFO.PROD_OBJID) AS PART_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 = INFO.OBJID) AS REL_TASK_CNT
|
|
FROM PMS_PROTO_TEST_INFO INFO
|
|
WHERE 1=1
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND INFO.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND INFO.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="partnerId != null and partnerId !=''">
|
|
AND PARTNER_ID = #{partnerId}
|
|
</if>
|
|
) 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_writer != null and search_writer !=''">
|
|
AND USER_NAME IN (SELECT USER_NAME FROM USER_INFO WHERE UPPER(USER_NAME) LIKE UPPER('%${search_writer}%'))
|
|
</if>
|
|
<if test="search_dept != null and !''.equals(search_dept)">
|
|
AND UPPER(DEPT_NAME) LIKE UPPER('%${search_dept}%')
|
|
</if>
|
|
<if test="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(USER_NAME) LIKE UPPER('%${search_writer}%')
|
|
</if>
|
|
) INFO
|
|
WHERE 1=1
|
|
<if test="'excel' != actionType">
|
|
)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>
|
|
</if>
|
|
</select>
|
|
<!-- 시작품 검사관리 갑지 목록CNT -->
|
|
<select id="getProtoTestMngListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
(SELECT COUNT(1) FROM (SELECT PART.OEM_OBJID, PART.CAR_OBJID,PART.PRODUCT_GROUP_OBJID,PART.PRODUCT_OBJID,PART.PART_NO, PART.IS_START_DEV_PART,(SELECT MATERIAL_TYPE_NAME FROM MATERIAL_TYPE_MNG WHERE OBJID = PART.MATERIAL_TYPE_OBJID) AS MATERIAL_TYPE_NAME FROM PART_INFO PART)PART WHERE 1=1 AND PART.MATERIAL_TYPE_NAME = '제품' AND PART.IS_START_DEV_PART = '0' AND PART.OEM_OBJID = INFO.OEM_OBJID AND PART.CAR_OBJID = INFO.CAR_OBJID AND PART.PRODUCT_GROUP_OBJID = INFO.PROD_GROUP_OBJID AND PART.PRODUCT_OBJID = INFO.PROD_OBJID) AS PART_CNT
|
|
FROM PMS_PROTO_TEST_INFO INFO
|
|
WHERE 1=1
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND INFO.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productType != null and search_productType !=''">
|
|
AND INFO.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
<if test="partnerId != null and partnerId !=''">
|
|
AND PARTNER_ID = #{partnerId}
|
|
</if>
|
|
) 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_writer != null and search_writer !=''">
|
|
AND USER_NAME IN (SELECT USER_NAME FROM USER_INFO WHERE UPPER(USER_NAME) LIKE UPPER('%${search_writer}%'))
|
|
</if>
|
|
<if test="search_dept != null and !''.equals(search_dept)">
|
|
AND UPPER(DEPT_NAME) LIKE UPPER('%${search_dept}%')
|
|
</if>
|
|
<if test="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(USER_NAME) LIKE UPPER('%${search_writer}%')
|
|
</if>
|
|
) INFO
|
|
WHERE 1=1
|
|
</select>
|
|
|
|
<!-- 시작품 개발일정 갑지 목록을 가져온다. -->
|
|
<select id="getProtoPlanMngList" parameterType="map" resultType="map">
|
|
<if test="'excel' != actionType">
|
|
SELECT *
|
|
FROM (
|
|
</if>
|
|
SELECT INFO.* , ROW_NUMBER() OVER (ORDER BY REGDATE DESC) RNUM
|
|
FROM (
|
|
SELECT INFO.*
|
|
FROM (
|
|
SELECT INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_CODE,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_TYPE_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_USER_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
(SELECT COUNT(1) FROM PMS_PROTO_PLAN_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) SHAPE_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 = INFO.OBJID) AS REL_TASK_CNT
|
|
FROM PMS_PROTO_PLAN_INFO INFO
|
|
)INFO WHERE 1=1
|
|
<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_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_partner != null and !''.equals(search_partner)">
|
|
AND UPPER(PARTNER_USER_NAME) LIKE UPPER('%${search_partner}%')
|
|
</if>
|
|
<if test="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(USER_NAME) LIKE UPPER('%${search_writer}%')
|
|
</if>
|
|
)INFO
|
|
<if test="'excel' != actionType">
|
|
) 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>
|
|
</if>
|
|
</select>
|
|
<!-- 시작품 개발일정 갑지 목록을 가져온다. -->
|
|
<select id="getProtoPlanMngListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT INFO.*
|
|
FROM (
|
|
SELECT INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_TYPE_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_USER_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
(SELECT COUNT(1) FROM PMS_PROTO_PLAN_REL_PART_INFO WHERE TARGET_OBJID = INFO.OBJID) SHAPE_CNT
|
|
FROM PMS_PROTO_PLAN_INFO INFO
|
|
)INFO WHERE 1=1
|
|
<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_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_partner != null and !''.equals(search_partner)">
|
|
AND UPPER(PARTNER_USER_NAME) LIKE UPPER('%${search_partner}%')
|
|
</if>
|
|
<if test="search_writer != null and !''.equals(search_writer)">
|
|
AND UPPER(USER_NAME) LIKE UPPER('%${search_writer}%')
|
|
</if>
|
|
)
|
|
)
|
|
</select>
|
|
|
|
<!-- 입고관리 갑지 상세 내용을 가져온다. -->
|
|
<select id="getProtoTestBaseInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_CODE,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_DEPT_NAME
|
|
FROM PMS_PROTO_TEST_INFO INFO
|
|
WHERE INFO.OBJID = #{objId}
|
|
ORDER BY REGDATE DESC
|
|
</select>
|
|
|
|
<!-- 시작품 개발일정 갑지 상세 내용을 가져온다. -->
|
|
<select id="getProtoPlanBaseInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
INFO.OBJID,
|
|
INFO.OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = INFO.OEM_OBJID) AS OEM_NAME,
|
|
INFO.CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = INFO.CAR_OBJID) AS CAR_CODE,
|
|
INFO.PROD_GROUP_OBJID,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = INFO.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME,
|
|
INFO.PROD_OBJID,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = INFO.PROD_OBJID) AS PRODUCT_NAME,
|
|
INFO.REGDATE,
|
|
TO_CHAR(INFO.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
INFO.STATUS,
|
|
INFO.WRITER,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.WRITER) AS DEPT_NAME,
|
|
INFO.PARTNER_ID,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_USER_NAME,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INFO.PARTNER_ID) AS PARTNER_DEPT_NAME
|
|
FROM PMS_PROTO_PLAN_INFO INFO
|
|
WHERE INFO.OBJID = #{objId}
|
|
ORDER BY REGDATE DESC
|
|
</select>
|
|
|
|
<!--
|
|
시작제품 검사결과 현황 최초 화면에서 사용될 고객사, 차종, 제품군 정보를 가져온다.
|
|
갑지를 기준으로 하여 데이터(상세X)가 있으며 SOP가 가장 먼 차종으로 등록된 정보를 가져온다.
|
|
-->
|
|
<select id="getProtoDevTestStatusBaseParamInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
OEM_OBJID,
|
|
CAR_OBJID,
|
|
PRODUCT_GROUP_OBJID
|
|
FROM(
|
|
SELECT
|
|
INFO.*,
|
|
MILE.MILESTONE_DATE
|
|
FROM CAR_MILESTONE_MNG MILE,
|
|
(
|
|
SELECT
|
|
OEM_OBJID,
|
|
CAR_OBJID,
|
|
PROD_GROUP_OBJID AS PRODUCT_GROUP_OBJID
|
|
FROM PMS_PROTO_TEST_INFO
|
|
)INFO
|
|
WHERE MILESTONE_OBJID = (SELECT OBJID FROM OEM_MILESTONE_MNG WHERE UPPER(MILESTONE_NAME) = 'SOP' AND OEM_OBJID = INFO.OEM_OBJID AND ROWNUM = 1)
|
|
AND MILE.CAR_OBJID = INFO.CAR_OBJID
|
|
ORDER BY MILESTONE_DATE DESC NULLS LAST
|
|
) WHERE ROWNUM=1
|
|
</select>
|
|
|
|
<!--
|
|
시작제품 입고결과 현황 최초 화면에서 사용될 고객사, 차종, 제품군 정보를 가져온다.
|
|
갑지를 기준으로 하여 데이터(상세X)가 있으며 SOP가 가장 먼 차종으로 등록된 정보를 가져온다.
|
|
-->
|
|
<select id="getProtoDevStockStatusBaseParamInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
OEM_OBJID,
|
|
CAR_OBJID,
|
|
PRODUCT_GROUP_OBJID
|
|
FROM(
|
|
SELECT
|
|
INFO.*,
|
|
MILE.MILESTONE_DATE
|
|
FROM CAR_MILESTONE_MNG MILE,
|
|
(
|
|
SELECT
|
|
OEM_OBJID,
|
|
CAR_OBJID,
|
|
PROD_GROUP_OBJID AS PRODUCT_GROUP_OBJID
|
|
FROM PMS_PROTO_STOCK_INFO
|
|
)INFO
|
|
WHERE MILESTONE_OBJID = (SELECT OBJID FROM OEM_MILESTONE_MNG WHERE UPPER(MILESTONE_NAME) = 'SOP' AND OEM_OBJID = INFO.OEM_OBJID AND ROWNUM = 1)
|
|
AND MILE.CAR_OBJID = INFO.CAR_OBJID
|
|
ORDER BY MILESTONE_DATE DESC NULLS LAST
|
|
) WHERE ROWNUM=1
|
|
</select>
|
|
|
|
</mapper> |