- 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
1214 lines
44 KiB
XML
1214 lines
44 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="devInfoMng">
|
|
<select id="getDevMasterListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM (
|
|
SELECT COUNT(*) AS TOTAL_CNT
|
|
FROM
|
|
(
|
|
SELECT PART_MST.*
|
|
,DEV_MST.ASSAY_PART_NO
|
|
FROM PMS_DEV_MASTER DEV_MST,
|
|
(
|
|
SELECT
|
|
PART_MST.OBJID
|
|
,PART_MST.OEM_OBJID
|
|
,(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = PART_MST.OEM_OBJID) AS OEM_NAME
|
|
,PART_MST.CAR_OBJID
|
|
,(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = PART_MST.CAR_OBJID) AS CAR_NAME
|
|
,PART_MST.PROD_GROUP_OBJID
|
|
,(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = PART_MST.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME
|
|
,PART_MST.PROD_OBJID
|
|
,(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = PART_MST.PROD_OBJID) AS PRODUCT_NAME
|
|
FROM PMS_PART_MASTER PART_MST
|
|
)PART_MST
|
|
WHERE 1=1
|
|
AND PART_MST.OBJID(+)=DEV_MST.TARGET_OBJID
|
|
<if test="search_oem != null and search_oem !='' ">
|
|
AND PART_MST.OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND PART_MST.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !=''">
|
|
AND PART_MST.PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_productType !=null and search_productType !='' ">
|
|
AND PART_MST.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
) A WHERE 1=1
|
|
<if test="search_partNo !=null and search_partNo !='' ">
|
|
AND UPPER(ASSAY_PART_NO) LIKE UPPER('%${search_partNo}%')
|
|
</if>
|
|
|
|
)
|
|
</select>
|
|
<select id="getDevMasterList" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM (
|
|
SELECT A.*,ROW_NUMBER() OVER (ORDER BY REGDATE DESC) AS RNUM
|
|
FROM (
|
|
SELECT A.*
|
|
FROM (
|
|
SELECT
|
|
DEV_MST.OBJID
|
|
,DEV_MST.TARGET_OBJID
|
|
,DEV_MST.ASSAY_PART_NO
|
|
,PART_MST.OEM_NAME
|
|
,PART_MST.CAR_NAME
|
|
,PART_MST.CAR_CODE
|
|
,PART_MST.PRODUCT_GROUP_NAME
|
|
,PART_MST.PRODUCT_NAME
|
|
,(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = DEV_MST.WRITER) AS DEPT_NAME
|
|
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = DEV_MST.WRITER) AS USER_NAME
|
|
,DEV_MST.REGDATE
|
|
,TO_CHAR(DEV_MST.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
,(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 = DEV_MST.OBJID) AS REL_TASK_CNT
|
|
, (SELECT COUNT(*) FROM PMS_DEV_MASTER_REL_PART_INFO WHERE TARGET_OBJID = DEV_MST.OBJID) AS PART_LIST_CNT
|
|
FROM PMS_DEV_MASTER DEV_MST,
|
|
(
|
|
SELECT
|
|
PART_MST.OBJID
|
|
,PART_MST.OEM_OBJID
|
|
,(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = PART_MST.OEM_OBJID) AS OEM_NAME
|
|
,PART_MST.CAR_OBJID
|
|
,(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = PART_MST.CAR_OBJID) AS CAR_NAME
|
|
,(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = PART_MST.CAR_OBJID) AS CAR_CODE
|
|
,PART_MST.PROD_GROUP_OBJID
|
|
,(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = PART_MST.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME
|
|
,PART_MST.PROD_OBJID
|
|
,(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = PART_MST.PROD_OBJID) AS PRODUCT_NAME
|
|
FROM PMS_PART_MASTER PART_MST
|
|
) PART_MST
|
|
WHERE 1=1
|
|
AND PART_MST.OBJID(+)=DEV_MST.TARGET_OBJID
|
|
<if test="search_oem != null and search_oem !='' ">
|
|
AND PART_MST.OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_carType != null and search_carType != ''">
|
|
AND PART_MST.CAR_OBJID = #{search_carType}
|
|
</if>
|
|
<if test="search_productGroup != null and search_productGroup !=''">
|
|
AND PART_MST.PROD_GROUP_OBJID = #{search_productGroup}
|
|
</if>
|
|
<if test="search_productType !=null and search_productType !='' ">
|
|
AND PART_MST.PROD_OBJID = #{search_productType}
|
|
</if>
|
|
) A WHERE 1=1
|
|
<if test="search_partNo !=null and search_partNo !='' ">
|
|
AND UPPER(ASSAY_PART_NO) LIKE UPPER('%${search_partNo}%')
|
|
</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>
|
|
|
|
<!-- 개발 마스터(Part 정보 포함 X) 정보를 가져온다. -->
|
|
<select id="getDevMasterInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
DEV_MST.OBJID
|
|
,DEV_MST.TARGET_OBJID
|
|
,DEV_MST.ASSAY_PART_NO
|
|
,DEV_MST.OEM_OBJID
|
|
,DEV_MST.CAR_OBJID
|
|
,DEV_MST.PROD_GROUP_OBJID
|
|
,DEV_MST.PROD_OBJID
|
|
,(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = DEV_MST.OEM_OBJID) AS OEM_NAME
|
|
,(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = DEV_MST.CAR_OBJID) AS CAR_NAME
|
|
,(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = DEV_MST.CAR_OBJID) AS CAR_CODE
|
|
,(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = DEV_MST.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME
|
|
,(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = DEV_MST.PROD_OBJID) AS PRODUCT_NAME
|
|
,(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = DEV_MST.WRITER) AS DEPT_NAME
|
|
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = DEV_MST.WRITER) AS USER_NAME
|
|
,DEV_MST.REGDATE
|
|
,TO_CHAR(DEV_MST.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
,PART_MST.OEM_NAME||'-'||PART_MST.CAR_NAME||'-'||PART_MST.PRODUCT_GROUP_NAME||'-'||PART_MST.PRODUCT_NAME AS PART_MASTER_TITLE
|
|
FROM PMS_DEV_MASTER DEV_MST,
|
|
(
|
|
SELECT
|
|
PART_MST.OBJID
|
|
,PART_MST.OEM_OBJID
|
|
,(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = PART_MST.OEM_OBJID) AS OEM_NAME
|
|
,PART_MST.CAR_OBJID
|
|
,(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = PART_MST.CAR_OBJID) AS CAR_NAME
|
|
,PART_MST.PROD_GROUP_OBJID
|
|
,(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = PART_MST.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME
|
|
,PART_MST.PROD_OBJID
|
|
,(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = PART_MST.PROD_OBJID) AS PRODUCT_NAME
|
|
,PART_MST.TITLE
|
|
,PART_MST.WRITER
|
|
,(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = PART_MST.WRITER) AS DEPT_NAME
|
|
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = PART_MST.WRITER) AS USER_NAME
|
|
,PART_MST.REGDATE
|
|
,TO_CHAR(PART_MST.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
FROM PMS_PART_MASTER PART_MST
|
|
WHERE 1=1
|
|
) PART_MST
|
|
WHERE 1=1
|
|
AND PART_MST.OBJID(+)=DEV_MST.TARGET_OBJID
|
|
AND DEV_MST.OBJID = #{objId}
|
|
</select>
|
|
|
|
<!-- 등록된 Part Master의 목록을 가져온다. -->
|
|
<select id="getPartMasterList" parameterType="map" resultType="map">
|
|
SELECT
|
|
PART_MST.OBJID
|
|
,PART_MST.OEM_OBJID
|
|
,(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = PART_MST.OEM_OBJID) AS OEM_NAME
|
|
,PART_MST.CAR_OBJID
|
|
,(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = PART_MST.CAR_OBJID) AS CAR_NAME
|
|
,PART_MST.PROD_GROUP_OBJID
|
|
,(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = PART_MST.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME
|
|
,PART_MST.PROD_OBJID
|
|
,(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = PART_MST.PROD_OBJID) AS PRODUCT_NAME
|
|
,PART_MST.TITLE
|
|
,PART_MST.WRITER
|
|
,(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = PART_MST.WRITER) AS DEPT_NAME
|
|
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = PART_MST.WRITER) AS USER_NAME
|
|
,PART_MST.REGDATE
|
|
,TO_CHAR(PART_MST.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
FROM PMS_PART_MASTER PART_MST
|
|
WHERE 1=1
|
|
<if test="oemObjId != null and oemObjId !='' ">
|
|
AND PART_MST.OEM_OBJID = #{oemObjId}
|
|
</if>
|
|
<if test="carTypeObjId != null and carTypeObjId != ''">
|
|
AND PART_MST.CAR_OBJID = #{carTypeObjId}
|
|
</if>
|
|
<if test="productGroupObjId != null and productGroupObjId !=''">
|
|
AND PART_MST.PROD_GROUP_OBJID = #{productGroupObjId}
|
|
</if>
|
|
<if test="productObjId !=null and productObjId !='' ">
|
|
AND PART_MST.PROD_OBJID = #{productObjId}
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 개발 마스터를 저장한다. -->
|
|
<update id="saveDevMasterInfo" parameterType="map">
|
|
MERGE INTO PMS_DEV_MASTER P USING DUAL ON (P.OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
P.TARGET_OBJID = #{partMasterObjId},
|
|
P.ASSAY_PART_NO = #{assayPartNo},
|
|
P.OEM_OBJID =#{oemObjId},
|
|
P.CAR_OBJID =#{carTypeObjId},
|
|
P.PROD_GROUP_OBJID =#{productGroupObjId},
|
|
P.PROD_OBJID =#{productObjId}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
P.OBJID,
|
|
P.TARGET_OBJID,
|
|
P.ASSAY_PART_NO,
|
|
P.OEM_OBJID,
|
|
P.CAR_OBJID,
|
|
P.PROD_GROUP_OBJID,
|
|
P.PROD_OBJID,
|
|
P.WRITER,
|
|
P.REGDATE
|
|
)VALUES(
|
|
#{objId},
|
|
#{partMasterObjId},
|
|
#{assayPartNo},
|
|
#{oemObjId},
|
|
#{carTypeObjId},
|
|
#{productGroupObjId},
|
|
#{productObjId},
|
|
#{writer},
|
|
SYSDATE
|
|
)
|
|
</update>
|
|
|
|
<!-- 해당 내용에 대한 중복여부를 확인한다. -->
|
|
<select id="checkDevMasterDuplicate" parameterType="map" resultType="map">
|
|
SELECT
|
|
COUNT(1) CNT
|
|
FROM PMS_DEV_MASTER
|
|
WHERE OBJID != #{objId}
|
|
AND OEM_OBJID = #{oemObjId}
|
|
AND CAR_OBJID = #{carTypeObjId}
|
|
AND PROD_GROUP_OBJID = #{productGroupObjId}
|
|
AND PROD_OBJID = #{productObjId}
|
|
</select>
|
|
|
|
<!-- 개발 마스터에 연결된 Part들의 개발마스터 내용을 가져온다. -->
|
|
<select id="getDevMasterConnectPartInfoList" parameterType="map" resultType="map">
|
|
SELECT
|
|
DEV_MST.*,
|
|
ROWNUM RNUM
|
|
FROM(
|
|
SELECT
|
|
DEV_PART.OBJID,
|
|
DEV_PART.TARGET_OBJID,
|
|
DEV_PART.PART_NO,
|
|
(SELECT PART_NAME FROM PART_INFO WHERE PART_NO = DEV_PART.PART_NO AND IS_LAST = 1) AS PART_NAME,
|
|
(SELECT OBJID FROM PART_INFO WHERE PART_NO = DEV_PART.PART_NO AND IS_LAST = 1) AS PART_OBJID,
|
|
(SELECT DRAWING_NO_OBJID FROM PART_INFO WHERE PART_NO = DEV_PART.PART_NO AND IS_LAST = 1) AS DRAWING_NO_OBJID,
|
|
DEV_PART.DEV_POINT,
|
|
DEV_PART.EO_OBJID,
|
|
(SELECT EO_NO FROM EO_INFO WHERE OBJID = DEV_PART.EO_OBJID) AS EO_NO,
|
|
UPPER(DEV_PART.RATE) AS RATE,
|
|
DEV_PART.COMMON_TYPE,
|
|
CASE UPPER(DEV_PART.COMMON_TYPE)
|
|
WHEN 'UQ' THEN 'U/Q'
|
|
WHEN 'CO' THEN 'C/O'
|
|
ELSE ''
|
|
END AS COMMON_TYPE_TITLE,
|
|
DEV_PART.PROD_CNT,
|
|
TO_CHAR(DEV_PART.PROD_CNT,'999,999,999') AS PROD_CNT_TITLE,
|
|
DEV_PART.NET_WEIGHT,
|
|
TO_CHAR(DEV_PART.NET_WEIGHT,'999,999,999') AS NET_WEIGHT_TITLE,
|
|
DEV_PART.WIDTH_PITCH,
|
|
CASE UPPER(DEV_PART.WIDTH_PITCH)
|
|
WHEN 'WIDTH' THEN '폭'
|
|
WHEN 'PITCH' THEN '피치'
|
|
WHEN 'WIDTHANDPITCH' THEN '폭<![CDATA[&]]>피치'
|
|
ELSE ''
|
|
END AS WIDTH_PITCH_TITLE,
|
|
DEV_PART.SOURCING_MAKE,
|
|
DECODE(UPPER(DEV_PART.SOURCING_MAKE),'D','국내','F','中國') AS SOURCING_MAKE_TITLE,
|
|
DEV_PART.SOURCING_PRODUCE,
|
|
DECODE(UPPER(DEV_PART.SOURCING_PRODUCE),'D','국내','F','中國') AS SOURCING_PRODUCE_TITLE,
|
|
DEV_PART.PROD_SIZE_HORIZON,
|
|
DEV_PART.PROD_SIZE_VERTICAL,
|
|
DEV_PART.PROD_SIZE_HEIGHT,
|
|
DEV_PART.BLANK_EXPAND_SIZE_WIDTH,
|
|
TO_CHAR(DEV_PART.BLANK_EXPAND_SIZE_WIDTH,'999,999,999') AS BLANK_EXPAND_SIZE_WIDTH_TITLE,
|
|
DEV_PART.BLANK_EXPAND_SIZE_PITCH,
|
|
TO_CHAR(DEV_PART.BLANK_EXPAND_SIZE_PITCH,'999,999,999') AS BLANK_EXPAND_SIZE_PITCH_TITLE,
|
|
DEV_PART.BLANK_MARGIN_SIZE_WIDTH,
|
|
TO_CHAR(DEV_PART.BLANK_MARGIN_SIZE_WIDTH,'999,999,999') AS BLANK_MARGIN_SIZE_WIDTH_TITLE,
|
|
DEV_PART.BLANK_MARGIN_SIZE_PITCH,
|
|
TO_CHAR(DEV_PART.BLANK_MARGIN_SIZE_PITCH,'999,999,999') AS BLANK_MARGIN_SIZE_PITCH_TITLE,
|
|
DEV_PART.BLANK_SIZE_REAL_WIDTH,
|
|
DEV_PART.BLANK_SIZE_VIEW_WIDTH,
|
|
DEV_PART.BLANK_SIZE_REAL_PITCH,
|
|
DEV_PART.BLANK_SIZE_VIEW_PITCH,
|
|
DEV_PART.BLANK_ARRAY_TYPE,
|
|
CASE UPPER(DEV_PART.BLANK_ARRAY_TYPE)
|
|
WHEN 'SINGLE' THEN '싱글'
|
|
WHEN 'DOUBLE' THEN '더블'
|
|
WHEN 'TURNOVER' THEN '돌려따기'
|
|
WHEN 'DOUBLEANDTURNOVER' THEN '더블<![CDATA[&]]>돌려따기'
|
|
ELSE ''
|
|
END AS BLANK_ARRAY_TYPE_TITLE,
|
|
DEV_PART.BLANK_BLK_CVT,
|
|
DEV_PART.INPUT_WEIGHT_REAL_VALUE,
|
|
DEV_PART.INPUT_WEIGHT_VIEW_VALUE,
|
|
DEV_PART.YIELD,
|
|
DEV_PART.TARGET_YIELD,
|
|
DEV_PART.PLASTIC_THEORY_TON,
|
|
DEV_PART.PRODUCT_TON,
|
|
DEV_PART.MOLD_PLASTIC_TYPE,
|
|
DEV_PART.MOLD_PRODUCT_TYPE,
|
|
DEV_PART.MOLD_SUB_MOLD_TYPE1,
|
|
CASE UPPER(DEV_PART.MOLD_SUB_MOLD_TYPE1)
|
|
WHEN 'MOLD' THEN '주물'
|
|
WHEN 'STEEL' THEN '스틸'
|
|
ELSE ''
|
|
END AS MOLD_SUB_MOLD_TYPE1_TITLE,
|
|
DEV_PART.MOLD_SUB_MOLD_TYPE2,
|
|
CASE UPPER(DEV_PART.MOLD_SUB_MOLD_TYPE2)
|
|
WHEN 'SINGLE' THEN '싱글'
|
|
WHEN 'DOUBLE' THEN '더블'
|
|
ELSE ''
|
|
END AS MOLD_SUB_MOLD_TYPE2_TITLE,
|
|
CASE WHEN OPERATION_OP05 IS NULL THEN 0
|
|
WHEN OPERATION_OP05 = 'BL' THEN 1
|
|
WHEN OPERATION_OP05 = 'BL_COMMON' THEN 0
|
|
WHEN OPERATION_OP05 = 'PI_BL' THEN 1
|
|
ELSE 0 END
|
|
+ CASE WHEN OPERATION_OP10 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP20 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP30 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP40 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP50 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP60 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP70 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP80 IS NULL THEN 0 ELSE 1 END
|
|
AS TOTAL_OP_CNT,
|
|
DEV_PART.OPERATION_OP05,
|
|
CASE UPPER(DEV_PART.OPERATION_OP05)
|
|
WHEN 'BL' THEN 'BL'
|
|
WHEN 'BL_COMMON' THEN 'BL(공용)'
|
|
WHEN 'PI_BL' THEN 'PI/BL'
|
|
ELSE ''
|
|
END AS OPERATION_OP05_TITLE,
|
|
DEV_PART.OPERATION_OP10,
|
|
DEV_PART.OPERATION_OP20,
|
|
DEV_PART.OPERATION_OP30,
|
|
DEV_PART.OPERATION_OP40,
|
|
DEV_PART.OPERATION_OP50,
|
|
DEV_PART.OPERATION_OP60,
|
|
DEV_PART.OPERATION_OP70,
|
|
DEV_PART.OPERATION_OP80,
|
|
DEV_PART.MOLD_MAKE_COMPANY,
|
|
DEV_PART.PRODUCING_COMPANY,
|
|
DEV_PART.REMARKS,
|
|
DEV_PART.WRITER,
|
|
PART_EO_INFO.MATERIAL_NAME,
|
|
PART_EO_INFO.THICKNESS,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = DEV_PART.WRITER) AS DEPT_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = DEV_PART.WRITER) AS USER_NAME,
|
|
DEV_PART.REGDATE,
|
|
TO_CHAR(DEV_PART.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
(SELECT TARGET_OBJID FROM PMS_DEV_MASTER WHERE OBJID = DEV_PART.TARGET_OBJID) AS PART_MASTER_OBJID,
|
|
(SELECT SEQ FROM PMS_PART_MASTER_CONNECT_PART WHERE PART_NO = DEV_PART.PART_NO AND TARGET_OBJID = (SELECT TARGET_OBJID FROM PMS_DEV_MASTER WHERE OBJID = DEV_PART.TARGET_OBJID)) AS PART_SEQ,
|
|
CASE UPPER(DEV_PART.DEV_POINT)
|
|
WHEN '1METHODACCEPT' THEN '공법승인'
|
|
WHEN '2REALISTICPRODUCE' THEN '제작'
|
|
WHEN '3HMCNEGO' THEN 'HMC Nego'
|
|
ELSE ''
|
|
END AS DEV_POINT_TITLE,
|
|
EO_HISTORY.EO_NO AS CURRENT_APPLY_EO_NO,
|
|
EO_HISTORY.EXPECT_REQUEST_SIZE_THICKNESS,
|
|
EO_HISTORY.EXPECT_REQUEST_SIZE_HORIZONTAL,
|
|
EO_HISTORY.EXPECT_REQUEST_SIZE_VERTICAL,
|
|
EO_HISTORY.REAL_WORK_SIZE_THICKNESS,
|
|
EO_HISTORY.REAL_WORK_SIZE_HORIZONTAL,
|
|
EO_HISTORY.REAL_WORK_SIZE_VERTICAL,
|
|
EO_HISTORY.NET_WEIGHT AS CURRENT_APPLY_NET_WEIGHT,
|
|
EO_HISTORY.CHARGE_DEPT_CONFIRM_TITLE
|
|
FROM PMS_DEV_MASTER_REL_PART_INFO DEV_PART,
|
|
(
|
|
SELECT
|
|
PART.OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_OBJID,
|
|
PART.EO_ISSUE_DATE,
|
|
PART.REV,
|
|
PART.MATERIAL_OBJID,
|
|
(SELECT MATERIAL_NAME FROM MATERIAL_MNG WHERE OBJID = PART.MATERIAL_OBJID) AS MATERIAL_NAME,
|
|
PART.THICKNESS,
|
|
PART.IS_START_DEV_PART,
|
|
PART.REMARKS,
|
|
EO.EO_NO
|
|
FROM EO_INFO EO,
|
|
REL_EO_PART REL,
|
|
PART_INFO PART
|
|
WHERE REL.MASTER_OBJID = EO.OBJID
|
|
AND REL.SUB_OBJID = PART.OBJID
|
|
) PART_EO_INFO,
|
|
(
|
|
SELECT * FROM(
|
|
SELECT
|
|
ROW_NUMBER() OVER(PARTITION BY TARGET_OBJID ORDER BY REGDATE DESC) RNUM,
|
|
OBJID,
|
|
TARGET_OBJID,
|
|
EO_NO,
|
|
EXPECT_REQUEST_SIZE_THICKNESS,
|
|
EXPECT_REQUEST_SIZE_HORIZONTAL,
|
|
EXPECT_REQUEST_SIZE_VERTICAL,
|
|
REAL_WORK_SIZE_THICKNESS,
|
|
REAL_WORK_SIZE_HORIZONTAL,
|
|
REAL_WORK_SIZE_VERTICAL,
|
|
NET_WEIGHT,
|
|
UPPER(CHARGE_DEPT_CONFIRM) AS CHARGE_DEPT_CONFIRM,
|
|
CASE UPPER(CHARGE_DEPT_CONFIRM)
|
|
WHEN 'UNKNOWN' THEN '미확인'
|
|
WHEN 'CONFIRM' THEN '확인완료'
|
|
ELSE '미확인'
|
|
END AS CHARGE_DEPT_CONFIRM_TITLE,
|
|
REGDATE
|
|
FROM PMS_DEV_MASTER_EO_HISTORY
|
|
)WHERE 1=1 AND RNUM = 1
|
|
)EO_HISTORY WHERE 1=1
|
|
AND DEV_PART.TARGET_OBJID = #{objId}
|
|
AND PART_EO_INFO.PART_NO (+)= DEV_PART.PART_NO
|
|
AND PART_EO_INFO.EO_OBJID (+)= DEV_PART.EO_OBJID
|
|
AND EO_HISTORY.TARGET_OBJID(+)=DEV_PART.OBJID
|
|
) DEV_MST WHERE 1=1 ORDER BY DEV_MST.PART_SEQ,DEV_MST.PART_NO,DEV_MST.DEV_POINT
|
|
</select>
|
|
|
|
<!-- 개발 마스터에 EO 변경이력을 가져온다. -->
|
|
<select id="getDevMasterPartEOHistoryList" parameterType="map" resultType="map">
|
|
SELECT
|
|
DEV_MST.*,
|
|
ROWNUM RNUM
|
|
FROM(
|
|
SELECT
|
|
DEV_PART.OBJID,
|
|
DEV_PART.TARGET_OBJID,
|
|
DEV_PART.PART_NO,
|
|
(SELECT PART_NAME FROM PART_INFO WHERE PART_NO = DEV_PART.PART_NO AND IS_LAST = 1) AS PART_NAME,
|
|
(SELECT OBJID FROM PART_INFO WHERE PART_NO = DEV_PART.PART_NO AND IS_LAST = 1) AS PART_OBJID,
|
|
(SELECT DRAWING_NO_OBJID FROM PART_INFO WHERE PART_NO = DEV_PART.PART_NO AND IS_LAST = 1) AS DRAWING_NO_OBJID,
|
|
DEV_PART.DEV_POINT,
|
|
DEV_PART.EO_OBJID,
|
|
(SELECT EO_NO FROM EO_INFO WHERE OBJID = DEV_PART.EO_OBJID) AS EO_NO,
|
|
UPPER(DEV_PART.RATE) AS RATE,
|
|
DEV_PART.COMMON_TYPE,
|
|
CASE UPPER(DEV_PART.COMMON_TYPE)
|
|
WHEN 'UQ' THEN 'U/Q'
|
|
WHEN 'CO' THEN 'C/O'
|
|
ELSE ''
|
|
END AS COMMON_TYPE_TITLE,
|
|
DEV_PART.PROD_CNT,
|
|
TO_CHAR(DEV_PART.PROD_CNT,'999,999,999') AS PROD_CNT_TITLE,
|
|
DEV_PART.NET_WEIGHT,
|
|
TO_CHAR(DEV_PART.NET_WEIGHT,'999,999,999') AS NET_WEIGHT_TITLE,
|
|
DEV_PART.WIDTH_PITCH,
|
|
CASE UPPER(DEV_PART.WIDTH_PITCH)
|
|
WHEN 'WIDTH' THEN '폭'
|
|
WHEN 'PITCH' THEN '피치'
|
|
WHEN 'WIDTHANDPITCH' THEN '폭<![CDATA[&]]>피치'
|
|
ELSE ''
|
|
END AS WIDTH_PITCH_TITLE,
|
|
DEV_PART.SOURCING_MAKE,
|
|
DECODE(UPPER(DEV_PART.SOURCING_MAKE),'D','국내','F','中國') AS SOURCING_MAKE_TITLE,
|
|
DEV_PART.SOURCING_PRODUCE,
|
|
DECODE(UPPER(DEV_PART.SOURCING_PRODUCE),'D','국내','F','中國') AS SOURCING_PRODUCE_TITLE,
|
|
DEV_PART.PROD_SIZE_HORIZON,
|
|
DEV_PART.PROD_SIZE_VERTICAL,
|
|
DEV_PART.PROD_SIZE_HEIGHT,
|
|
DEV_PART.BLANK_EXPAND_SIZE_WIDTH,
|
|
TO_CHAR(DEV_PART.BLANK_EXPAND_SIZE_WIDTH,'999,999,999') AS BLANK_EXPAND_SIZE_WIDTH_TITLE,
|
|
DEV_PART.BLANK_EXPAND_SIZE_PITCH,
|
|
TO_CHAR(DEV_PART.BLANK_EXPAND_SIZE_PITCH,'999,999,999') AS BLANK_EXPAND_SIZE_PITCH_TITLE,
|
|
DEV_PART.BLANK_MARGIN_SIZE_WIDTH,
|
|
TO_CHAR(DEV_PART.BLANK_MARGIN_SIZE_WIDTH,'999,999,999') AS BLANK_MARGIN_SIZE_WIDTH_TITLE,
|
|
DEV_PART.BLANK_MARGIN_SIZE_PITCH,
|
|
TO_CHAR(DEV_PART.BLANK_MARGIN_SIZE_PITCH,'999,999,999') AS BLANK_MARGIN_SIZE_PITCH_TITLE,
|
|
DEV_PART.BLANK_SIZE_REAL_WIDTH,
|
|
DEV_PART.BLANK_SIZE_VIEW_WIDTH,
|
|
DEV_PART.BLANK_SIZE_REAL_PITCH,
|
|
DEV_PART.BLANK_SIZE_VIEW_PITCH,
|
|
DEV_PART.BLANK_ARRAY_TYPE,
|
|
CASE UPPER(DEV_PART.BLANK_ARRAY_TYPE)
|
|
WHEN 'SINGLE' THEN '싱글'
|
|
WHEN 'DOUBLE' THEN '더블'
|
|
WHEN 'TURNOVER' THEN '돌려따기'
|
|
WHEN 'DOUBLEANDTURNOVER' THEN '더블<![CDATA[&]]>돌려따기'
|
|
ELSE ''
|
|
END AS BLANK_ARRAY_TYPE_TITLE,
|
|
DEV_PART.BLANK_BLK_CVT,
|
|
DEV_PART.INPUT_WEIGHT_REAL_VALUE,
|
|
DEV_PART.INPUT_WEIGHT_VIEW_VALUE,
|
|
DEV_PART.YIELD,
|
|
DEV_PART.TARGET_YIELD,
|
|
DEV_PART.PLASTIC_THEORY_TON,
|
|
DEV_PART.PRODUCT_TON,
|
|
DEV_PART.MOLD_PLASTIC_TYPE,
|
|
DEV_PART.MOLD_PRODUCT_TYPE,
|
|
DEV_PART.MOLD_SUB_MOLD_TYPE1,
|
|
CASE UPPER(DEV_PART.MOLD_SUB_MOLD_TYPE1)
|
|
WHEN 'MOLD' THEN '주물'
|
|
WHEN 'STEEL' THEN '스틸'
|
|
ELSE ''
|
|
END AS MOLD_SUB_MOLD_TYPE1_TITLE,
|
|
DEV_PART.MOLD_SUB_MOLD_TYPE2,
|
|
CASE UPPER(DEV_PART.MOLD_SUB_MOLD_TYPE2)
|
|
WHEN 'SINGLE' THEN '싱글'
|
|
WHEN 'DOUBLE' THEN '더블'
|
|
ELSE ''
|
|
END AS MOLD_SUB_MOLD_TYPE2_TITLE,
|
|
CASE WHEN OPERATION_OP05 IS NULL THEN 0
|
|
WHEN OPERATION_OP05 = 'BL' THEN 1
|
|
WHEN OPERATION_OP05 = 'BL_COMMON' THEN 0
|
|
WHEN OPERATION_OP05 = 'PI_BL' THEN 1
|
|
ELSE 0 END
|
|
+ CASE WHEN OPERATION_OP10 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP20 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP30 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP40 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP50 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP60 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP70 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP80 IS NULL THEN 0 ELSE 1 END
|
|
AS TOTAL_OP_CNT,
|
|
DEV_PART.OPERATION_OP05,
|
|
CASE UPPER(DEV_PART.OPERATION_OP05)
|
|
WHEN 'BL' THEN 'BL'
|
|
WHEN 'BL_COMMON' THEN 'BL(공용)'
|
|
WHEN 'PI_BL' THEN 'PI/BL'
|
|
ELSE ''
|
|
END AS OPERATION_OP05_TITLE,
|
|
DEV_PART.OPERATION_OP10,
|
|
DEV_PART.OPERATION_OP20,
|
|
DEV_PART.OPERATION_OP30,
|
|
DEV_PART.OPERATION_OP40,
|
|
DEV_PART.OPERATION_OP50,
|
|
DEV_PART.OPERATION_OP60,
|
|
DEV_PART.OPERATION_OP70,
|
|
DEV_PART.OPERATION_OP80,
|
|
DEV_PART.MOLD_MAKE_COMPANY,
|
|
DEV_PART.PRODUCING_COMPANY,
|
|
DEV_PART.REMARKS,
|
|
DEV_PART.WRITER,
|
|
PART_EO_INFO.MATERIAL_NAME,
|
|
PART_EO_INFO.THICKNESS,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = DEV_PART.WRITER) AS DEPT_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = DEV_PART.WRITER) AS USER_NAME,
|
|
DEV_PART.REGDATE,
|
|
TO_CHAR(DEV_PART.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
(SELECT TARGET_OBJID FROM PMS_DEV_MASTER WHERE OBJID = DEV_PART.TARGET_OBJID) AS PART_MASTER_OBJID,
|
|
(SELECT SEQ FROM PMS_PART_MASTER_CONNECT_PART WHERE PART_NO = DEV_PART.PART_NO AND TARGET_OBJID = (SELECT TARGET_OBJID FROM PMS_DEV_MASTER WHERE OBJID = DEV_PART.TARGET_OBJID)) AS PART_SEQ,
|
|
CASE UPPER(DEV_PART.DEV_POINT)
|
|
WHEN '1METHODACCEPT' THEN '공법승인'
|
|
WHEN '2REALISTICPRODUCE' THEN '제작'
|
|
WHEN '3HMCNEGO' THEN 'HMC Nego'
|
|
ELSE ''
|
|
END AS DEV_POINT_TITLE
|
|
FROM PMS_DEV_MASTER_HISTORY DEV_PART,
|
|
(
|
|
SELECT
|
|
PART.OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_OBJID,
|
|
PART.EO_ISSUE_DATE,
|
|
PART.REV,
|
|
PART.MATERIAL_OBJID,
|
|
(SELECT MATERIAL_NAME FROM MATERIAL_MNG WHERE OBJID = PART.MATERIAL_OBJID) AS MATERIAL_NAME,
|
|
PART.THICKNESS,
|
|
PART.IS_START_DEV_PART,
|
|
PART.REMARKS,
|
|
EO.EO_NO
|
|
FROM EO_INFO EO,
|
|
REL_EO_PART REL,
|
|
PART_INFO PART
|
|
WHERE REL.MASTER_OBJID = EO.OBJID
|
|
AND REL.SUB_OBJID = PART.OBJID
|
|
) PART_EO_INFO
|
|
where DEV_PART.TARGET_OBJID = #{targetObjId}
|
|
AND PART_EO_INFO.PART_NO (+)= DEV_PART.PART_NO
|
|
AND PART_EO_INFO.EO_OBJID (+)= DEV_PART.EO_OBJID
|
|
) DEV_MST WHERE 1=1 ORDER BY DEV_MST.PART_SEQ,DEV_MST.PART_NO,DEV_MST.DEV_POINT
|
|
</select>
|
|
|
|
<!-- 개발 마스터에 연결된 Part의 연결된 EO List를 가져온다. -->
|
|
<select id="getConnectPartEOList" parameterType="map" resultType="map">
|
|
SELECT * FROM(
|
|
SELECT
|
|
EO.OBJID,
|
|
EO.EO_NO
|
|
FROM
|
|
EO_INFO EO,
|
|
REL_EO_PART REL,
|
|
PART_INFO PART
|
|
WHERE UPPER(PART.STATUS) != 'CREATE'
|
|
AND PART.PART_NO = #{partNo}
|
|
AND REL.MASTER_OBJID = EO.OBJID
|
|
AND REL.SUB_OBJID = PART.OBJID
|
|
)EO WHERE 1=1 GROUP BY EO.EO_NO,EO.OBJID
|
|
</select>
|
|
|
|
<!-- Part Master에 연결된 Part의 목록을 가져온다. -->
|
|
<select id="getPartMasterConnectedPartList" parameterType="map" resultType="map">
|
|
SELECT
|
|
OBJID,
|
|
TARGET_OBJID,
|
|
PART_NO,
|
|
(SELECT PART_NAME FROM PART_INFO WHERE IS_LAST=1 AND PART_NO = PART.PART_NO) AS CONNECT_PART_NAME,
|
|
SEQ,
|
|
IS_DEL,
|
|
WRITER,
|
|
REGDATE
|
|
FROM PMS_PART_MASTER_CONNECT_PART PART
|
|
WHERE PART.TARGET_OBJID = ${partMasterObjId}
|
|
</select>
|
|
|
|
<!-- 개발 마스터와 연결되지 않은 Part Master Part List를 가져온다. -->
|
|
<select id="getDevMasterNotConnectPartList" parameterType="map" resultType="map">
|
|
SELECT
|
|
PART_MASTER_PART.*
|
|
FROM PMS_PART_MASTER_CONNECT_PART PART_MASTER_PART
|
|
WHERE 1=1
|
|
AND PART_MASTER_PART.TARGET_OBJID = ${partMasterObjId}
|
|
AND NOT EXISTS(
|
|
SELECT DEV_PART.* FROM(
|
|
SELECT
|
|
PART_NO,
|
|
PART_MASTER_OBJID
|
|
FROM (
|
|
SELECT
|
|
(SELECT TARGET_OBJID FROM PMS_DEV_MASTER WHERE OBJID = DEV_REL_PART.TARGET_OBJID) AS PART_MASTER_OBJID,
|
|
DEV_REL_PART.PART_NO
|
|
FROM PMS_DEV_MASTER_REL_PART_INFO DEV_REL_PART
|
|
WHERE 1=1
|
|
AND DEV_REL_PART.TARGET_OBJID = #{objId}
|
|
)WHERE 1=1
|
|
GROUP BY PART_NO,PART_MASTER_OBJID
|
|
)DEV_PART WHERE 1=1
|
|
AND DEV_PART.PART_MASTER_OBJID = ${partMasterObjId}
|
|
AND PART_MASTER_PART.PART_NO = DEV_PART.PART_NO
|
|
)
|
|
</select>
|
|
|
|
<!-- 개발 마스터와 연결되지 않은 Part Master Part를 저장한다. -->
|
|
<insert id="saveDevMasterNotConnectPartInfo" parameterType="map">
|
|
INSERT INTO PMS_DEV_MASTER_REL_PART_INFO
|
|
(
|
|
OBJID,
|
|
TARGET_OBJID,
|
|
PART_NO,
|
|
DEV_POINT,
|
|
WRITER,
|
|
REGDATE
|
|
)VALUES(
|
|
#{objId},
|
|
#{targetObjId},
|
|
#{partNo},
|
|
#{devPoint},
|
|
#{writer},
|
|
SYSDATE
|
|
)
|
|
</insert>
|
|
|
|
<!-- 개발마스터 저장 전 해당 개발마스터 데이터의 정보를 가져온다. -->
|
|
<select id="checkDevMasterEOInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
OBJID,
|
|
TARGET_OBJID,
|
|
EO_OBJID
|
|
FROM PMS_DEV_MASTER_REL_PART_INFO
|
|
WHERE OBJID = #{objId}
|
|
and target_objid = #{targetObjId}
|
|
and eo_objid = #{eoObjId}
|
|
</select>
|
|
|
|
<!-- 개발 마스터 EO 변경정보를 저장한다. -->
|
|
<update id="saveDevMasterChangeEOInfo" parameterType="map">
|
|
INSERT INTO
|
|
PMS_DEV_MASTER_HISTORY (
|
|
OBJID,
|
|
TARGET_OBJID,
|
|
PART_NO,
|
|
DEV_POINT,
|
|
EO_OBJID,
|
|
RATE,
|
|
COMMON_TYPE,
|
|
PROD_CNT,
|
|
NET_WEIGHT,
|
|
WIDTH_PITCH,
|
|
SOURCING_MAKE,
|
|
SOURCING_PRODUCE,
|
|
PROD_SIZE_HORIZON,
|
|
PROD_SIZE_VERTICAL,
|
|
PROD_SIZE_HEIGHT,
|
|
BLANK_EXPAND_SIZE_WIDTH,
|
|
BLANK_EXPAND_SIZE_PITCH,
|
|
BLANK_MARGIN_SIZE_WIDTH,
|
|
BLANK_MARGIN_SIZE_PITCH,
|
|
BLANK_SIZE_REAL_WIDTH,
|
|
BLANK_SIZE_VIEW_WIDTH,
|
|
BLANK_SIZE_REAL_PITCH,
|
|
BLANK_SIZE_VIEW_PITCH,
|
|
BLANK_ARRAY_TYPE,
|
|
BLANK_BLK_CVT,
|
|
INPUT_WEIGHT_REAL_VALUE,
|
|
INPUT_WEIGHT_VIEW_VALUE,
|
|
YIELD,
|
|
TARGET_YIELD,
|
|
PLASTIC_THEORY_TON,
|
|
PRODUCT_TON,
|
|
MOLD_PLASTIC_TYPE,
|
|
MOLD_PRODUCT_TYPE,
|
|
MOLD_SUB_MOLD_TYPE1,
|
|
MOLD_SUB_MOLD_TYPE2,
|
|
OPERATION_OP05,
|
|
OPERATION_OP10,
|
|
OPERATION_OP20,
|
|
OPERATION_OP30,
|
|
OPERATION_OP40,
|
|
OPERATION_OP50,
|
|
OPERATION_OP60,
|
|
OPERATION_OP70,
|
|
OPERATION_OP80,
|
|
MOLD_MAKE_COMPANY,
|
|
PRODUCING_COMPANY,
|
|
REMARKS,
|
|
WRITER,
|
|
REGDATE
|
|
)
|
|
VALUES
|
|
(
|
|
#{objId},
|
|
#{targetObjId},
|
|
#{partNo},
|
|
#{devPoint},
|
|
#{eoObjId},
|
|
#{rate},
|
|
#{commonType},
|
|
#{prodCount},
|
|
#{netWeight},
|
|
#{widthPitch},
|
|
#{sourcingMake},
|
|
#{sourcingProd},
|
|
#{prodSizeHorizon},
|
|
#{prodSizeVertical},
|
|
#{prodSizeHeight},
|
|
#{blkExpandSizeWidth},
|
|
#{blkExpandSizePitch},
|
|
#{blkMarginSizeWidth},
|
|
#{blkMarginSizePitch},
|
|
#{blkSizeRealWidth},
|
|
#{blkSizeViewWidth},
|
|
#{blkSizeRealPitch},
|
|
#{blkSizeViewPitch},
|
|
#{blkArrayType},
|
|
#{blkCVT},
|
|
#{inputWeightRealValue},
|
|
#{inputWeightViewValue},
|
|
#{yield},
|
|
#{targetYield},
|
|
#{plasticTheoryTon},
|
|
#{prodTon},
|
|
#{moldPlasticType},
|
|
#{moldProdType},
|
|
#{moldSubType1},
|
|
#{moldSubType2},
|
|
#{op05},
|
|
#{op10},
|
|
#{op20},
|
|
#{op30},
|
|
#{op40},
|
|
#{op50},
|
|
#{op60},
|
|
#{op70},
|
|
#{op80},
|
|
#{moldMakeCompany},
|
|
#{prodCompany},
|
|
#{remarks},
|
|
#{writer},
|
|
SYSDATE
|
|
)
|
|
</update>
|
|
|
|
<!-- 개발 마스터에 연결된 정보를 저장한다. -->
|
|
<update id="saveDevMasterConnectPartInfo" parameterType="map">
|
|
UPDATE PMS_DEV_MASTER_REL_PART_INFO P
|
|
SET
|
|
P.EO_OBJID =#{eoObjId}
|
|
,P.RATE =#{rate}
|
|
,P.COMMON_TYPE =#{commonType}
|
|
,P.PROD_CNT =#{prodCount}
|
|
,P.NET_WEIGHT =#{netWeight}
|
|
,P.WIDTH_PITCH =#{widthPitch}
|
|
,P.SOURCING_MAKE =#{sourcingMake}
|
|
,P.SOURCING_PRODUCE =#{sourcingProd}
|
|
,P.PROD_SIZE_HORIZON =#{prodSizeHorizon}
|
|
,P.PROD_SIZE_VERTICAL =#{prodSizeVertical}
|
|
,P.PROD_SIZE_HEIGHT =#{prodSizeHeight}
|
|
,P.BLANK_EXPAND_SIZE_WIDTH =#{blkExpandSizeWidth}
|
|
,P.BLANK_EXPAND_SIZE_PITCH =#{blkExpandSizePitch}
|
|
,P.BLANK_MARGIN_SIZE_WIDTH =#{blkMarginSizeWidth}
|
|
,P.BLANK_MARGIN_SIZE_PITCH =#{blkMarginSizePitch}
|
|
,P.BLANK_SIZE_REAL_WIDTH =#{blkSizeRealWidth}
|
|
,P.BLANK_SIZE_VIEW_WIDTH =#{blkSizeViewWidth}
|
|
,P.BLANK_SIZE_REAL_PITCH =#{blkSizeRealPitch}
|
|
,P.BLANK_SIZE_VIEW_PITCH =#{blkSizeViewPitch}
|
|
,P.BLANK_ARRAY_TYPE =#{blkArrayType}
|
|
,P.BLANK_BLK_CVT =#{blkCVT}
|
|
,P.INPUT_WEIGHT_REAL_VALUE =#{inputWeightRealValue}
|
|
,P.INPUT_WEIGHT_VIEW_VALUE =#{inputWeightViewValue}
|
|
,P.YIELD =#{yield}
|
|
,P.TARGET_YIELD =#{targetYield}
|
|
,P.PLASTIC_THEORY_TON =#{plasticTheoryTon}
|
|
,P.PRODUCT_TON =#{prodTon}
|
|
,P.MOLD_PLASTIC_TYPE =#{moldPlasticType}
|
|
,P.MOLD_PRODUCT_TYPE =#{moldProdType}
|
|
,P.MOLD_SUB_MOLD_TYPE1 =#{moldSubType1}
|
|
,P.MOLD_SUB_MOLD_TYPE2 =#{moldSubType2}
|
|
,P.OPERATION_OP05 =#{op05}
|
|
,P.OPERATION_OP10 =#{op10}
|
|
,P.OPERATION_OP20 =#{op20}
|
|
,P.OPERATION_OP30 =#{op30}
|
|
,P.OPERATION_OP40 =#{op40}
|
|
,P.OPERATION_OP50 =#{op50}
|
|
,P.OPERATION_OP60 =#{op60}
|
|
,P.OPERATION_OP70 =#{op70}
|
|
,P.OPERATION_OP80 =#{op80}
|
|
,P.MOLD_MAKE_COMPANY =#{moldMakeCompany}
|
|
,P.PRODUCING_COMPANY =#{prodCompany}
|
|
,P.REMARKS =#{remarks}
|
|
WHERE P.OBJID = #{objId} AND P.TARGET_OBJID = #{targetObjId} AND P.PART_NO = #{partNo} AND P.DEV_POINT = #{devPoint}
|
|
</update>
|
|
|
|
<!-- 개발 Master에 해당하는 Part에 적용 EO를 저장한다. -->
|
|
<update id="mregeDevMasterPartApplyEOInfo" parameterType="map">
|
|
MERGE INTO PMS_DEV_MASTER_EO_HISTORY P USING DUAL ON (P.OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
P.TARGET_OBJID =#{targetObjId},
|
|
P.EO_NO =#{eoNo},
|
|
<!-- PART_NO, --> <!-- #{partNo}, -->
|
|
P.EXPECT_REQUEST_SIZE_THICKNESS =#{requestSizeThickness},
|
|
P.EXPECT_REQUEST_SIZE_HORIZONTAL =#{requestSizeHorizontal},
|
|
P.EXPECT_REQUEST_SIZE_VERTICAL =#{requestSizeVertical},
|
|
P.REAL_WORK_SIZE_THICKNESS =#{realSizeThickness},
|
|
P.REAL_WORK_SIZE_HORIZONTAL =#{realSizeHorizontal},
|
|
P.REAL_WORK_SIZE_VERTICAL =#{realSizeVertical},
|
|
P.NET_WEIGHT =#{netWeight},
|
|
P.CHARGE_DEPT_CONFIRM =#{chargeDeptConfirm}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
P.OBJID,
|
|
P.TARGET_OBJID,
|
|
P.EO_NO,
|
|
<!-- PART_NO, -->
|
|
P.EXPECT_REQUEST_SIZE_THICKNESS,
|
|
P.EXPECT_REQUEST_SIZE_HORIZONTAL,
|
|
P.EXPECT_REQUEST_SIZE_VERTICAL,
|
|
P.REAL_WORK_SIZE_THICKNESS,
|
|
P.REAL_WORK_SIZE_HORIZONTAL,
|
|
P.REAL_WORK_SIZE_VERTICAL,
|
|
P.NET_WEIGHT,
|
|
P.CHARGE_DEPT_CONFIRM,
|
|
<!-- STATUS, -->
|
|
P.WRITER,
|
|
P.REGDATE
|
|
)VALUES(
|
|
#{objId},
|
|
#{targetObjId},
|
|
#{eoNo},
|
|
<!-- #{partNo}, -->
|
|
#{requestSizeThickness},
|
|
#{requestSizeHorizontal},
|
|
#{requestSizeVertical},
|
|
#{realSizeThickness},
|
|
#{realSizeHorizontal},
|
|
#{realSizeVertical},
|
|
#{netWeight},
|
|
#{chargeDeptConfirm},
|
|
<!-- #{status}, -->
|
|
#{writer},
|
|
SYSDATE
|
|
)
|
|
</update>
|
|
|
|
<!-- 개발 Master의 Part의 EO 적용목록을 가져온다. -->
|
|
<select id="getDevMasterPartEOInfoList" parameterType="map" resultType="map">
|
|
SELECT PART_APPLY_EO.*,ROWNUM RNUM FROM(
|
|
SELECT
|
|
OBJID,
|
|
TARGET_OBJID,
|
|
EO_NO,
|
|
PART_NO,
|
|
EXPECT_REQUEST_SIZE_THICKNESS,
|
|
EXPECT_REQUEST_SIZE_HORIZONTAL,
|
|
EXPECT_REQUEST_SIZE_VERTICAL,
|
|
REAL_WORK_SIZE_THICKNESS,
|
|
REAL_WORK_SIZE_HORIZONTAL,
|
|
REAL_WORK_SIZE_VERTICAL,
|
|
NET_WEIGHT,
|
|
UPPER(CHARGE_DEPT_CONFIRM) AS CHARGE_DEPT_CONFIRM,
|
|
CASE UPPER(CHARGE_DEPT_CONFIRM)
|
|
WHEN 'UNKNOWN' THEN '미확인'
|
|
WHEN 'CONFIRM' THEN '확인완료'
|
|
ELSE '미확인'
|
|
END AS CHARGE_DEPT_CONFIRM_TITLE,
|
|
STATUS,
|
|
WRITER,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = WRITER) AS DEPT_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = WRITER) AS USER_NAME,
|
|
REGDATE
|
|
FROM PMS_DEV_MASTER_EO_HISTORY
|
|
WHERE TARGET_OBJID = #{targetObjId}
|
|
ORDER BY REGDATE DESC
|
|
)PART_APPLY_EO
|
|
</select>
|
|
|
|
<!-- 개발 Master의 Part의 EO 적용목록을 가져온다(단건). -->
|
|
<select id="getDevMasterPartEOInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
OBJID,
|
|
TARGET_OBJID,
|
|
EO_NO,
|
|
PART_NO,
|
|
EXPECT_REQUEST_SIZE_THICKNESS,
|
|
EXPECT_REQUEST_SIZE_HORIZONTAL,
|
|
EXPECT_REQUEST_SIZE_VERTICAL,
|
|
REAL_WORK_SIZE_THICKNESS,
|
|
REAL_WORK_SIZE_HORIZONTAL,
|
|
REAL_WORK_SIZE_VERTICAL,
|
|
NET_WEIGHT,
|
|
UPPER(CHARGE_DEPT_CONFIRM) AS CHARGE_DEPT_CONFIRM,
|
|
CASE UPPER(CHARGE_DEPT_CONFIRM)
|
|
WHEN 'UNKNOWN' THEN '미확인'
|
|
WHEN 'CONFIRM' THEN '확인완료'
|
|
ELSE '미확인'
|
|
END AS CHARGE_DEPT_CONFIRM_TITLE,
|
|
STATUS,
|
|
WRITER,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = WRITER) AS DEPT_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = WRITER) AS USER_NAME,
|
|
REGDATE,
|
|
TO_CHAR(REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
FROM PMS_DEV_MASTER_EO_HISTORY
|
|
WHERE TARGET_OBJID = #{targetObjId}
|
|
AND OBJID = #{objId}
|
|
</select>
|
|
|
|
<!-- 개발 Master의 연결Part 정보를 가져온다. -->
|
|
<select id="getDevMasterPartInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
DEV_MST.*
|
|
FROM(
|
|
SELECT
|
|
DEV_PART.OBJID,
|
|
DEV_PART.TARGET_OBJID,
|
|
DEV_PART.PART_NO,
|
|
(SELECT PART_NAME FROM PART_INFO WHERE PART_NO = DEV_PART.PART_NO AND IS_LAST = 1) AS PART_NAME,
|
|
(SELECT OBJID FROM PART_INFO WHERE PART_NO = DEV_PART.PART_NO AND IS_LAST = 1) AS PART_OBJID,
|
|
DEV_PART.DEV_POINT,
|
|
DEV_PART.EO_OBJID,
|
|
(SELECT EO_NO FROM EO_INFO WHERE OBJID = DEV_PART.EO_OBJID) AS EO_NO
|
|
UPPER(DEV_PART.RATE) AS RATE,
|
|
DEV_PART.COMMON_TYPE,
|
|
CASE UPPER(DEV_PART.COMMON_TYPE)
|
|
WHEN 'UQ' THEN 'U/Q'
|
|
WHEN 'CO' THEN 'C/O'
|
|
ELSE ''
|
|
END AS COMMON_TYPE_TITLE,
|
|
DEV_PART.PROD_CNT,
|
|
TO_CHAR(DEV_PART.PROD_CNT,'999,999,999') AS PROD_CNT_TITLE,
|
|
DEV_PART.NET_WEIGHT,
|
|
TO_CHAR(DEV_PART.NET_WEIGHT,'999,999,999') AS NET_WEIGHT_TITLE,
|
|
DEV_PART.WIDTH_PITCH,
|
|
CASE UPPER(DEV_PART.WIDTH_PITCH)
|
|
WHEN 'WIDTH' THEN '폭'
|
|
WHEN 'PITCH' THEN '피치'
|
|
WHEN 'WIDTHANDPITCH' THEN '폭<![CDATA[&]]>피치'
|
|
ELSE ''
|
|
END AS WIDTH_PITCH_TITLE,
|
|
DEV_PART.SOURCING_MAKE,
|
|
DECODE(UPPER(DEV_PART.SOURCING_MAKE),'D','국내','F','中國') AS SOURCING_MAKE_TITLE,
|
|
DEV_PART.SOURCING_PRODUCE,
|
|
DECODE(UPPER(DEV_PART.SOURCING_PRODUCE),'D','국내','F','中國') AS SOURCING_PRODUCE_TITLE,
|
|
DEV_PART.PROD_SIZE_HORIZON,
|
|
DEV_PART.PROD_SIZE_VERTICAL,
|
|
DEV_PART.PROD_SIZE_HEIGHT,
|
|
DEV_PART.BLANK_EXPAND_SIZE_WIDTH,
|
|
TO_CHAR(DEV_PART.BLANK_EXPAND_SIZE_WIDTH,'999,999,999') AS BLANK_EXPAND_SIZE_WIDTH_TITLE,
|
|
DEV_PART.BLANK_EXPAND_SIZE_PITCH,
|
|
TO_CHAR(DEV_PART.BLANK_EXPAND_SIZE_PITCH,'999,999,999') AS BLANK_EXPAND_SIZE_PITCH_TITLE,
|
|
DEV_PART.BLANK_MARGIN_SIZE_WIDTH,
|
|
TO_CHAR(DEV_PART.BLANK_MARGIN_SIZE_WIDTH,'999,999,999') AS BLANK_MARGIN_SIZE_WIDTH_TITLE,
|
|
DEV_PART.BLANK_MARGIN_SIZE_PITCH,
|
|
TO_CHAR(DEV_PART.BLANK_MARGIN_SIZE_PITCH,'999,999,999') AS BLANK_MARGIN_SIZE_PITCH_TITLE,
|
|
DEV_PART.BLANK_SIZE_REAL_WIDTH,
|
|
DEV_PART.BLANK_SIZE_VIEW_WIDTH,
|
|
DEV_PART.BLANK_SIZE_REAL_PITCH,
|
|
DEV_PART.BLANK_SIZE_VIEW_PITCH,
|
|
UPPER(DEV_PART.BLANK_ARRAY_TYPE) AS BLANK_ARRAY_TYPE,
|
|
CASE UPPER(DEV_PART.BLANK_ARRAY_TYPE)
|
|
WHEN 'SINGLE' THEN '싱글'
|
|
WHEN 'DOUBLE' THEN '더블'
|
|
WHEN 'TURNOVER' THEN '돌려따기'
|
|
WHEN 'DOUBLEANDTURNOVER' THEN '더블<![CDATA[&]]>돌려따기'
|
|
ELSE ''
|
|
END AS BLANK_ARRAY_TYPE_TITLE,
|
|
DEV_PART.BLANK_BLK_CVT,
|
|
DEV_PART.INPUT_WEIGHT_REAL_VALUE,
|
|
DEV_PART.INPUT_WEIGHT_VIEW_VALUE,
|
|
DEV_PART.YIELD,
|
|
DEV_PART.TARGET_YIELD,
|
|
DEV_PART.PLASTIC_THEORY_TON,
|
|
DEV_PART.PRODUCT_TON,
|
|
DEV_PART.MOLD_PLASTIC_TYPE,
|
|
DEV_PART.MOLD_PRODUCT_TYPE,
|
|
DEV_PART.MOLD_SUB_MOLD_TYPE1,
|
|
CASE UPPER(DEV_PART.MOLD_SUB_MOLD_TYPE1)
|
|
WHEN 'MOLD' THEN '주물'
|
|
WHEN 'STEEL' THEN '스틸'
|
|
ELSE ''
|
|
END AS MOLD_SUB_MOLD_TYPE1_TITLE,
|
|
DEV_PART.MOLD_SUB_MOLD_TYPE2,
|
|
CASE UPPER(DEV_PART.MOLD_SUB_MOLD_TYPE2)
|
|
WHEN 'SINGLE' THEN '싱글'
|
|
WHEN 'DOUBLE' THEN '더블'
|
|
ELSE ''
|
|
END AS MOLD_SUB_MOLD_TYPE2_TITLE,
|
|
CASE WHEN OPERATION_OP05 IS NULL OR OPERATION_OP05 = 'BL' THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP10 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP20 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP30 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP40 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP50 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP60 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP70 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP80 IS NULL THEN 0 ELSE 1 END
|
|
AS TOTAL_OP_CNT,
|
|
DEV_PART.OPERATION_OP05,
|
|
CASE UPPER(DEV_PART.OPERATION_OP05)
|
|
WHEN 'BL' THEN 'BL'
|
|
WHEN 'BL_COMMON' THEN 'BL(공용)'
|
|
WHEN 'PI_BL' THEN 'PI/BL'
|
|
ELSE ''
|
|
END AS OPERATION_OP05_TITLE,
|
|
DEV_PART.OPERATION_OP10,
|
|
DEV_PART.OPERATION_OP20,
|
|
DEV_PART.OPERATION_OP30,
|
|
DEV_PART.OPERATION_OP40,
|
|
DEV_PART.OPERATION_OP50,
|
|
DEV_PART.OPERATION_OP60,
|
|
DEV_PART.OPERATION_OP70,
|
|
DEV_PART.OPERATION_OP80,
|
|
DEV_PART.MOLD_MAKE_COMPANY,
|
|
DEV_PART.PRODUCING_COMPANY,
|
|
DEV_PART.REMARKS,
|
|
DEV_PART.WRITER,
|
|
PART_EO_INFO.MATERIAL_NAME,
|
|
PART_EO_INFO.THICKNESS,
|
|
(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = DEV_PART.WRITER) AS DEPT_NAME,
|
|
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = DEV_PART.WRITER) AS USER_NAME,
|
|
DEV_PART.REGDATE,
|
|
TO_CHAR(DEV_PART.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
|
(SELECT TARGET_OBJID FROM PMS_DEV_MASTER WHERE OBJID = DEV_PART.TARGET_OBJID) AS PART_MASTER_OBJID
|
|
FROM PMS_DEV_MASTER_REL_PART_INFO DEV_PART,
|
|
(
|
|
SELECT
|
|
PART.OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_OBJID,
|
|
PART.EO_ISSUE_DATE,
|
|
PART.REV,
|
|
PART.MATERIAL_OBJID,
|
|
(SELECT MATERIAL_NAME FROM MATERIAL_MNG WHERE OBJID = PART.MATERIAL_OBJID) AS MATERIAL_NAME,
|
|
PART.THICKNESS,
|
|
PART.IS_START_DEV_PART,
|
|
PART.REMARKS,
|
|
EO.EO_NO
|
|
FROM EO_INFO EO,
|
|
REL_EO_PART REL,
|
|
PART_INFO PART
|
|
WHERE REL.MASTER_OBJID = EO.OBJID
|
|
AND REL.SUB_OBJID = PART.OBJID
|
|
) PART_EO_INFO
|
|
WHERE 1=1
|
|
AND DEV_PART.OBJID = #{objId}
|
|
AND PART_EO_INFO.PART_NO (+)= DEV_PART.PART_NO
|
|
AND PART_EO_INFO.EO_OBJID (+)= DEV_PART.EO_OBJID
|
|
) DEV_MST WHERE 1=1
|
|
</select>
|
|
|
|
<!-- 개발마스터 Part 시점별 조회(사전원가시스템 연동시 비교용) -->
|
|
<select id="getDevMasterPartDetailByDevPoint" parameterType="map" resultType="map">
|
|
SELECT A.OBJID AS MASTER_OBJID
|
|
, B.OBJID AS SUB_OBJID
|
|
, A.OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = A.OEM_OBJID) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, A.PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = A.PROD_GROUP_OBJID) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, B.PART_NO
|
|
, B.DEV_POINT
|
|
, UPPER(B.RATE) AS RATE
|
|
, B.COMMON_TYPE
|
|
, TO_CHAR(B.PROD_CNT,'999,999,999') AS PROD_CNT_TITLE
|
|
, TO_CHAR(B.NET_WEIGHT,'999,999,999') AS NET_WEIGHT_TITLE
|
|
, B.WIDTH_PITCH
|
|
, B.SOURCING_MAKE
|
|
, B.SOURCING_PRODUCE
|
|
, B.PROD_SIZE_HORIZON
|
|
, B.PROD_SIZE_VERTICAL
|
|
, B.PROD_SIZE_HEIGHT
|
|
, B.BLANK_EXPAND_SIZE_WIDTH
|
|
, B.BLANK_EXPAND_SIZE_PITCH
|
|
, B.BLANK_MARGIN_SIZE_WIDTH
|
|
, B.BLANK_MARGIN_SIZE_PITCH
|
|
, B.BLANK_SIZE_REAL_WIDTH
|
|
, B.BLANK_SIZE_VIEW_WIDTH
|
|
, B.BLANK_SIZE_REAL_PITCH
|
|
, B.BLANK_SIZE_VIEW_PITCH
|
|
, B.BLANK_ARRAY_TYPE
|
|
, B.BLANK_BLK_CVT
|
|
, B.INPUT_WEIGHT_REAL_VALUE
|
|
, B.INPUT_WEIGHT_VIEW_VALUE
|
|
, B.YIELD
|
|
, B.TARGET_YIELD
|
|
, B.PLASTIC_THEORY_TON
|
|
, B.PRODUCT_TON
|
|
, B.MOLD_PLASTIC_TYPE
|
|
, B.MOLD_PRODUCT_TYPE
|
|
, B.MOLD_SUB_MOLD_TYPE1
|
|
, B.MOLD_SUB_MOLD_TYPE2
|
|
, B.OPERATION_OP05
|
|
, CASE UPPER(B.OPERATION_OP05)
|
|
WHEN 'BL' THEN 'BL'
|
|
WHEN 'BL_COMMON' THEN 'BL(공용)'
|
|
WHEN 'PI_BL' THEN 'PI/BL'
|
|
ELSE ''
|
|
END AS OPERATION_OP05_TITLE
|
|
, B.OPERATION_OP10
|
|
, B.OPERATION_OP20
|
|
, B.OPERATION_OP30
|
|
, B.OPERATION_OP40
|
|
, B.OPERATION_OP50
|
|
, B.OPERATION_OP60
|
|
, B.OPERATION_OP70
|
|
, B.OPERATION_OP80
|
|
, B.MOLD_MAKE_COMPANY
|
|
, B.PRODUCING_COMPANY
|
|
, B.REMARKS
|
|
, PART_EO_INFO.MATERIAL_NAME
|
|
, PART_EO_INFO.THICKNESS
|
|
, CASE UPPER(B.COMMON_TYPE)
|
|
WHEN 'UQ' THEN 'U/Q'
|
|
WHEN 'CO' THEN 'C/O'
|
|
ELSE ''
|
|
END AS COMMON_TYPE_TITLE
|
|
,CASE WHEN OPERATION_OP05 IS NULL OR OPERATION_OP05 = 'BL' THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP10 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP20 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP30 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP40 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP50 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP60 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP70 IS NULL THEN 0 ELSE 1 END
|
|
+ CASE WHEN OPERATION_OP80 IS NULL THEN 0 ELSE 1 END
|
|
AS TOTAL_OP_CNT
|
|
FROM
|
|
PMS_DEV_MASTER A,
|
|
PMS_DEV_MASTER_REL_PART_INFO B,
|
|
(
|
|
SELECT
|
|
PART.OBJID,
|
|
PART.PART_NO,
|
|
PART.PART_NAME,
|
|
PART.EO_OBJID,
|
|
PART.EO_ISSUE_DATE,
|
|
PART.REV,
|
|
PART.MATERIAL_OBJID,
|
|
(SELECT MATERIAL_NAME FROM MATERIAL_MNG WHERE OBJID = PART.MATERIAL_OBJID) AS MATERIAL_NAME,
|
|
PART.THICKNESS,
|
|
PART.IS_START_DEV_PART,
|
|
PART.REMARKS,
|
|
PART.IS_LAST,
|
|
EO.EO_NO
|
|
FROM EO_INFO EO,
|
|
REL_EO_PART REL,
|
|
PART_INFO PART
|
|
WHERE REL.MASTER_OBJID = EO.OBJID
|
|
AND REL.SUB_OBJID = PART.OBJID
|
|
AND PART.IS_LAST = '1'
|
|
) PART_EO_INFO
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND A.OBJID = #{masterObjId}
|
|
<!-- AND B.OBJID = #{subObjId} -->
|
|
AND UPPER(B.PART_NO) = UPPER(#{partNo})
|
|
<if test="devPoint != null and !''.equals(devPoint)">
|
|
AND B.DEV_POINT = #{devPoint}
|
|
</if>
|
|
AND PART_EO_INFO.PART_NO(+) = B.PART_NO
|
|
</select>
|
|
</mapper> |