diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/partMng.xml b/WebContent/WEB-INF/classes/com/pms/mapper/partMng.xml deleted file mode 100644 index 12b2a0a..0000000 --- a/WebContent/WEB-INF/classes/com/pms/mapper/partMng.xml +++ /dev/null @@ -1,7720 +0,0 @@ - - - - - - WITH RECURSIVE VIEW_BOM AS ( - SELECT - A.BOM_REPORT_OBJID, - A.OBJID, - A.PARENT_OBJID, - A.CHILD_OBJID, - A.PARENT_PART_NO, - A.PART_NO, - A.QTY, - A.QTY_TEMP, - A.REGDATE, - A.SEQ, - 1, - ARRAY [A.CHILD_OBJID::TEXT], - ARRAY [A.SEQ::TEXT], - FALSE - FROM - BOM_PART_QTY A - WHERE 1=1 - AND (A.PARENT_OBJID IS NULL OR A.PARENT_OBJID = '') - - - - AND STATUS NOT IN ('deleting', 'deleted') - - - - AND STATUS IN ('beforeEdit', 'editing','deleting', 'deploy') - - - UNION ALL - SELECT - B.BOM_REPORT_OBJID, - B.OBJID, - B.PARENT_OBJID, - B.CHILD_OBJID, - B.PARENT_PART_NO, - B.PART_NO, - B.QTY, - B.QTY_TEMP, - B.REGDATE, - B.SEQ, - LEV + 1, - PATH||B.CHILD_OBJID::TEXT, - PATH2||B.SEQ::TEXT, - B.PARENT_OBJID = ANY(PATH) - FROM - BOM_PART_QTY B - JOIN - VIEW_BOM - ON B.PARENT_OBJID = VIEW_BOM.CHILD_OBJID - AND VIEW_BOM.BOM_REPORT_OBJID = B.BOM_REPORT_OBJID - - - AND STATUS NOT IN ('deleting', 'deleted') - - - - AND B.STATUS IN ('beforeEdit', 'editing','deleting', 'deploy') - - - ) - - - - ( - - SELECT - P.EXCEL_UPLOAD_SEQ, - p.PARENT_PART_NO, - p.DESIGN_DATE, - p.DEPLOY_DATE, - p.SUB_MATERIAL, - P.OBJID, - P.PRODUCT_MGMT_OBJID, - P.UPG_NO, - P.PART_NO, - P.PART_NAME, - P.UNIT, - (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.UNIT) AS UNIT_TITLE, - NVL((SELECT QTY FROM BOM_PART_QTY Q WHERE Q.LAST_PART_OBJID = P.OBJID AND STATUS = 'deploy' ORDER BY DEPLOY_DATE DESC LIMIT 1), P.QTY) QTY, - P.QTY QTY_P, - P.SPEC, - P.POST_PROCESSING, - P.MATERIAL, - P.WEIGHT, - P.PART_TYPE, - P.IS_LONGD, - (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.PART_TYPE) AS PART_TYPE_TITLE, - P.REMARK, - P.ES_SPEC, - P.MS_SPEC, - P.CHANGE_TYPE, - P.DESIGN_APPLY_POINT, - P.CHANGE_OPTION, - (SELECT ARRAY_TO_STRING(ARRAY_AGG(CODE_NAME),',') - FROM COMM_CODE AS CC - WHERE CC.CODE_ID IN (SELECT UNNEST(STRING_TO_ARRAY(CHANGE_OPTION, ',')) AS CHANGE_OPTION - FROM PART_MNG AS T - WHERE T.OBJID = P.OBJID) - ) CHANGE_OPTION_NAME, - - P.MANAGEMENT_FLAG, - P.REVISION, - P.STATUS, - - P.REG_DATE, - TO_CHAR(P.REG_DATE,'YYYY-MM-DD') AS PART_REGDATE_TITLE, - - P.EDIT_DATE, - P.WRITER, - P.IS_LAST, - P.EO_DATE, - P.EO_NO, - P.EO_TEMP, - P.MAKER, - P.CONTRACT_OBJID, - P.THICKNESS, - P.WIDTH, - P.HEIGHT, - P.OUT_DIAMETER, - P.IN_DIAMETER, - P.LENGTH, - P.SOURCING_CODE, - P.MAJOR_CATEGORY, - P.SUB_CATEGORY, - P.CODE1, - P.CODE2, - P.CODE3, - P.CODE4, - P.CODE5, - P.IS_NEW, - P.IS_LONGD, - - P.SUPPLY_CODE, - (SELECT SUPPLY_NAME FROM admin_supply_mng O WHERE O.objid::varchar = P.SUPPLY_CODE) AS SUPPLY_NAME, - P.HEAT_TREATMENT_HARDNESS, - P.HEAT_TREATMENT_METHOD, - P.SURFACE_TREATMENT - ,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.DOC_TYPE IN ('3D_CAD')) CU01_CNT - ,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.DOC_TYPE IN ('2D_DRAWING_CAD')) CU02_CNT - ,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.DOC_TYPE IN ('2D_PDF_CAD')) CU03_CNT - ,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID AND F.DOC_TYPE IN ('2D_PDF_CAD','2D_DRAWING_CAD')) CU_TOTAL_CNT - FROM PART_MNG P - - - - ) - - - - - ( - WITH V_FILE AS ( - SELECT - TARGET_OBJID - , SAVED_FILE_NAME - , REAL_FILE_NAME - , FILE_PATH - , DOC_TYPE - , STATUS - FROM ATTACH_FILE_INFO - WHERE 1 = 1 - AND DOC_TYPE IN ('PART_SHAPE_IMG','ECD_DOC','3D_CAD','2D_DRAWING_CAD','2D_PDF_CAD') - AND STATUS = 'Active' - ) - - SELECT DISTINCT - P.EXCEL_UPLOAD_SEQ, - p.PARENT_PART_NO, - p.DESIGN_DATE, - p.DEPLOY_DATE, - p.SUB_MATERIAL, - P.OBJID, - P.PRODUCT_MGMT_OBJID, - P.UPG_NO, - P.PART_NO, - P.PART_NAME, - P.UNIT, - (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.UNIT) AS UNIT_TITLE, - P.QTY, - P.SPEC, - P.POST_PROCESSING, - P.MATERIAL, - P.WEIGHT, - P.PART_TYPE, - (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.PART_TYPE) AS PART_TYPE_TITLE, - P.REMARK, - P.ES_SPEC, - P.MS_SPEC, - P.CHANGE_TYPE, - P.CHANGE_OPTION, - T3.CHANGE_OPTION_NAME, - P.DESIGN_APPLY_POINT, - (SELECT CODE_NAME FROM COMM_CODE CC WHERE 1=1 AND CODE_ID = P.DESIGN_APPLY_POINT) AS DESIGN_APPLY_POINT_TITLE, - P.MANAGEMENT_FLAG, - P.REVISION, - P.STATUS, - - P.REG_DATE, - TO_CHAR(P.REG_DATE,'YYYY-MM-DD') AS PART_REGDATE_TITLE, - - P.EDIT_DATE, - P.WRITER, - P.IS_LAST, - P.EO_DATE, - P.EO_NO, - P.EO_TEMP, - P.MAKER, - P.CONTRACT_OBJID, - - P.SOURCING_CODE, - (SELECT CC.CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = P.SOURCING_CODE) AS SOURCING_NAME, - - AF.SAVED_FILE_NAME, - AF.REAL_FILE_NAME, - REPLACE(AF.FILE_PATH, '\', '\\') AS FILE_PATH, - case when CAD.SAVED_FILE_NAME is NOT NULL - then 1 - else 0 end as CU01_CNT, - - case when DRAWING.SAVED_FILE_NAME is NOT NULL - then 1 - else 0 end as CU02_CNT, - - case when PDF.SAVED_FILE_NAME is NOT NULL - then 1 - else 0 end as CU03_CNT, - - case when PDFDRA.SAVED_FILE_NAME is NOT NULL - then 1 - else 0 end as CU_TOTAL_CNT, - AF_ECD.SAVED_FILE_NAME AS ECD_SAVED_FILE_NAME, - AF_ECD.REAL_FILE_NAME AS ECD_REAL_FILE_NAME, - REPLACE(AF_ECD.FILE_PATH, '\', '\\') AS ECD_FILE_PATH, - CASE - WHEN AF_ECD.SAVED_FILE_NAME IS NOT NULL THEN 'Y' - ELSE 'N' - END ECD_FLAG, - THICKNESS, - WIDTH, - HEIGHT, - OUT_DIAMETER, - IN_DIAMETER, - LENGTH, - SUPPLY_CODE, - (SELECT SUPPLY_NAME FROM admin_supply_mng O WHERE O.objid::varchar = P.SUPPLY_CODE) AS SUPPLY_NAME - FROM - PART_MNG P - - LEFT OUTER JOIN V_FILE AF - ON P.OBJID = AF.TARGET_OBJID - AND AF.DOC_TYPE IN ('PART_SHAPE_IMG') - - LEFT OUTER JOIN V_FILE AF_ECD - ON P.OBJID = AF_ECD.TARGET_OBJID - AND AF_ECD.DOC_TYPE IN ('ECD_DOC') - - LEFT OUTER JOIN V_FILE CAD - ON P.OBJID = CAD.TARGET_OBJID - AND CAD.DOC_TYPE IN ('3D_CAD') - - LEFT OUTER JOIN V_FILE DRAWING - ON P.OBJID = DRAWING.TARGET_OBJID - AND DRAWING.DOC_TYPE IN ('2D_DRAWING_CAD') - - LEFT OUTER JOIN V_FILE PDF - ON P.OBJID = PDF.TARGET_OBJID - AND PDF.DOC_TYPE IN ('2D_PDF_CAD') - - LEFT OUTER JOIN V_FILE PDFDRA - ON P.OBJID = PDFDRA.TARGET_OBJID - AND PDFDRA.DOC_TYPE IN ('2D_PDF_CAD', '2D_DRAWING_CAD') - - - - LEFT OUTER JOIN( - SELECT - TT.OBJID, - ARRAY_TO_STRING(ARRAY_AGG((SELECT CODE_NAME FROM COMM_CODE AS CC WHERE CC.CODE_ID IN(TT.CHANGE_OPTION))),',') AS CHANGE_OPTION_NAME - FROM ( - SELECT - T.OBJID, - UNNEST(STRING_TO_ARRAY(CHANGE_OPTION, ',')) AS CHANGE_OPTION - FROM PART_MNG AS T - ) AS TT - GROUP BY TT.OBJID - ) AS T3 - ON T3.OBJID = P.OBJID - ) - - - - ( - SELECT - P.*, - E.EO_NO, - E.EO_DATE, - TO_CHAR(E.EO_DATE,'YYYY-MM-DD') AS EO_DATE_TITLE - FROM( - SELECT - P.OBJID, - CASE - WHEN P.CUSTOMER = '' THEN '0' - WHEN P.CUSTOMER IS NULL THEN '0' - ELSE P.CUSTOMER - END CUSTOMER, - CASE - WHEN P.CAR_TYPE = '' THEN '0' - WHEN P.CAR_TYPE IS NULL THEN '0' - ELSE P.CAR_TYPE - END CAR_TYPE, - P.PRODUCT_GROUP, - P.PRODUCT, - P.PART_NO, - P.MY_PART_NO, - P.PART_NAME, - CASE - WHEN P.EO = '' THEN '0' - WHEN P.EO IS NULL THEN '0' - ELSE P.EO - END EO, - P.REVISION, - P.RH_PART, - P.RELEASE_TYPE, - P.PART_TYPE, - P.DRAWING_TYPE, - P.SHOW_ON, - P.QTY, - P.MATERIAL, - P.WEIGHT, - P.SIZE, - P.SURFACE_TREATMENT, - P.SPEC_NO, - P.MOLD_DEV, - case P.MOLD_DEV - when 'new' then '신작' - when 'carryOver' then 'C/O' - ELSE '' - END MOLD_DEV_TITLE, - P.CARRY_OVER_CAR, - P.CHANGE_OPTION, - case P.CHANGE_OPTION - when 'changeModel' then '형상변경' - when 'changeMaterial' then '재질변경' - when 'changeAdd' then '추가변경' - when 'changePakege' then '구성변경' - when 'first' then '초도' - when 'etc' then '기타' - ELSE '' - END CHANGE_OPTION_TITLE, - P.DESIGN_APPLY_POINT, - P.MANAGEMENT_ITEM, - CASE P.MANAGEMENT_ITEM - WHEN 'exist' THEN '유' - WHEN 'notExist' THEN '무' - ELSE '' - END MANAGEMENT_ITEM_TITLE, - P.STATUS, - P.REG_DATE, - TO_CHAR(P.REG_DATE,'YYYY-MM-DD') AS REG_DATE_TITLE, - TO_CHAR(P.REG_DATE,'YYYY') AS REG_DATE_YEAR_TITLE, - P.EDIT_DATE, - P.WRITER, - P.IS_LAST, - AF.SAVED_FILE_NAME, - AF.REAL_FILE_NAME, - REPLACE(AF.FILE_PATH, '\', '\\') AS FILE_PATH, - - AF_ECD.SAVED_FILE_NAME AS ECD_SAVED_FILE_NAME, - AF_ECD.REAL_FILE_NAME AS ECD_REAL_FILE_NAME, - REPLACE(AF_ECD.FILE_PATH, '\', '\\') AS ECD_FILE_PATH, - CASE - WHEN AF_ECD.SAVED_FILE_NAME IS NOT NULL THEN 'Y' - ELSE 'N' - END ECD_FLAG, - THICKNESS, - WIDTH, - HEIGHT, - OUT_DIAMETER, - IN_DIAMETER, - LENGTH - FROM - PART_MNG P - LEFT OUTER JOIN - ( - SELECT - TARGET_OBJID, - SAVED_FILE_NAME, - REAL_FILE_NAME, - FILE_PATH, - DOC_TYPE - FROM ATTACH_FILE_INFO - WHERE 1 = 1 - AND DOC_TYPE IN ('PART_SHAPE_IMG') - AND UPPER(STATUS) = 'ACTIVE' - ) AF - ON P.OBJID::NUMERIC = AF.TARGET_OBJID - LEFT OUTER JOIN - ( - SELECT - TARGET_OBJID, - SAVED_FILE_NAME, - REAL_FILE_NAME, - FILE_PATH, - DOC_TYPE - FROM ATTACH_FILE_INFO - WHERE 1 = 1 - AND DOC_TYPE IN ('ECD_DOC') - AND UPPER(STATUS) = 'ACTIVE' - ) AF_ECD - ON P.OBJID::NUMERIC = AF_ECD.TARGET_OBJID - ) P - LEFT OUTER JOIN EO_MNG E - ON P.EO::NUMERIC = E.OBJID - ) - - - - - INSERT INTO PART_MNG - ( - OBJID, - PRODUCT_MGMT_OBJID, - UPG_NO, - PART_NO, - PART_NAME, - UNIT, - QTY, - SPEC, - MATERIAL, - WEIGHT, - PART_TYPE, - REMARK, - ES_SPEC, - MS_SPEC, - CHANGE_TYPE, - CHANGE_OPTION, - DESIGN_APPLY_POINT, - MANAGEMENT_FLAG, - REVISION, - STATUS, - REG_DATE, - WRITER, - IS_LAST, - PARENT_PART_NO, - SUB_MATERIAL, - EO_DATE, - DESIGN_DATE, - THICKNESS, - WIDTH, - HEIGHT, - OUT_DIAMETER, - IN_DIAMETER, - LENGTH, - SUPPLY_CODE, - MAKER, - POST_PROCESSING, - MAJOR_CATEGORY, - SUB_CATEGORY, - HEAT_TREATMENT_HARDNESS, - HEAT_TREATMENT_METHOD, - SURFACE_TREATMENT - ) VALUES ( - #{OBJID}::NUMERIC, - #{PRODUCT_MGMT_OBJID}, - #{UPG_NO}, - #{PART_NO}, - #{PART_NAME}, - #{UNIT}, - #{QTY}, - #{SPEC}, - #{MATERIAL}, - #{WEIGHT}, - #{PART_TYPE}, - #{REMARK}, - #{ES_SPEC}, - #{MS_SPEC}, - #{CHANGE_TYPE}, - #{CHANGE_OPTION}, - - #{DESIGN_APPLY_POINT}, - #{MANAGEMENT_FLAG}, - #{REVISION}, - - 'create', - NOW(), - #{WRITER}, - '1', - #{PARENT_PART_NO}, - #{SUB_MATERIAL}, - #{EO_DATE}, - #{DESIGN_DATE}, - #{THICKNESS}, - #{WIDTH}, - #{HEIGHT}, - #{OUT_DIAMETER}, - #{IN_DIAMETER}, - #{LENGTH}, - #{SUPPLY_CODE}, - #{MAKER}, - #{POST_PROCESSING}, - #{MAJOR_CATEGORY}, - #{SUB_CATEGORY}, - #{HEAT_TREATMENT_HARDNESS}, - #{HEAT_TREATMENT_METHOD}, - #{SURFACE_TREATMENT} - ) ON - CONFLICT (OBJID) DO - UPDATE - SET - PRODUCT_MGMT_OBJID = #{PRODUCT_MGMT_OBJID}, - UPG_NO = #{UPG_NO}, - PART_NO = #{PART_NO}, - PART_NAME = #{PART_NAME}, - UNIT = #{UNIT}, - QTY = #{QTY}, - SPEC = #{SPEC}, - MATERIAL = #{MATERIAL}, - WEIGHT = #{WEIGHT}, - PART_TYPE = #{PART_TYPE}, - REMARK = #{REMARK}, - ES_SPEC = #{ES_SPEC}, - MS_SPEC = #{MS_SPEC}, - CHANGE_TYPE = #{CHANGE_TYPE}, - CHANGE_OPTION = #{CHANGE_OPTION}, - - DESIGN_APPLY_POINT = #{DESIGN_APPLY_POINT}, - MANAGEMENT_FLAG = #{MANAGEMENT_FLAG}, - REVISION = #{REVISION}, - STATUS = #{STATUS}, - EDIT_DATE = NOW(), - WRITER = #{WRITER}, - PARENT_PART_NO = #{PARENT_PART_NO}, - SUB_MATERIAL = #{SUB_MATERIAL}, - EO_DATE = #{EO_DATE}, - DESIGN_DATE = #{DESIGN_DATE}, - THICKNESS = #{THICKNESS}, - WIDTH = #{WIDTH}, - HEIGHT = #{HEIGHT}, - OUT_DIAMETER = #{OUT_DIAMETER}, - IN_DIAMETER = #{IN_DIAMETER}, - LENGTH = #{LENGTH}, - SUPPLY_CODE = #{SUPPLY_CODE}, - MAKER = #{MAKER}, - POST_PROCESSING = #{POST_PROCESSING}, - MAJOR_CATEGORY = #{MAJOR_CATEGORY}, - SUB_CATEGORY = #{SUB_CATEGORY}, - HEAT_TREATMENT_HARDNESS = #{HEAT_TREATMENT_HARDNESS}, - HEAT_TREATMENT_METHOD = #{HEAT_TREATMENT_METHOD}, - SURFACE_TREATMENT = #{SURFACE_TREATMENT} - - - - - - INSERT INTO PART_MNG - ( - OBJID, - PRODUCT_MGMT_OBJID, - CONTRACT_OBJID, - UPG_NO, - PART_NO, - PART_NAME, - UNIT, - QTY, - SPEC, - MATERIAL, - WEIGHT, - PART_TYPE, - REMARK, - ES_SPEC, - MS_SPEC, - CHANGE_TYPE, - CHANGE_OPTION, - DESIGN_APPLY_POINT, - MANAGEMENT_FLAG, - REVISION, - STATUS, - REG_DATE, - WRITER, - IS_LAST, - PARENT_PART_NO, - SUB_MATERIAL, - EO_NO, - EO_DATE, - DESIGN_DATE, - THICKNESS, - WIDTH, - HEIGHT, - OUT_DIAMETER, - IN_DIAMETER, - LENGTH, - MAKER, - POST_PROCESSING, - MAJOR_CATEGORY, - SUB_CATEGORY, - CODE1, - CODE2, - CODE3, - CODE4, - CODE5, - IS_NEW, - IS_LONGD, - HEAT_TREATMENT_HARDNESS, - HEAT_TREATMENT_METHOD, - SURFACE_TREATMENT, - SUPPLY_CODE - ) VALUES ( - #{OBJID}::NUMERIC, - #{PRODUCT_MGMT_OBJID}, - #{CONTRACT_OBJID}, - #{UPG_NO}, - #{PART_NO}, - #{PART_NAME}, - #{UNIT}, - #{QTY}, - #{SPEC}, - #{MATERIAL}, - #{WEIGHT}, - #{PART_TYPE}, - #{REMARK}, - #{ES_SPEC}, - #{MS_SPEC}, - #{CHANGE_TYPE}, - #{CHANGE_OPTION}, - - #{DESIGN_APPLY_POINT}, - #{MANAGEMENT_FLAG}, - UPPER(#{REVISION}), - #{STATUS}, - NOW(), - #{WRITER}, - - COALESCE(#{IS_LAST}, '0'), - #{PARENT_PART_NO}, - #{SUB_MATERIAL}, - #{EO_NO}, - - #{EO_DATE}, - #{DESIGN_DATE}, - #{THICKNESS}, - #{WIDTH}, - #{HEIGHT}, - #{OUT_DIAMETER}, - #{IN_DIAMETER}, - #{LENGTH}, - #{MAKER}, - #{POST_PROCESSING}, - #{MAJOR_CATEGORY}, - #{SUB_CATEGORY}, - #{CODE1}, - #{CODE2}, - #{CODE3}, - #{CODE4}, - #{CODE5}, - #{IS_NEW}, - #{IS_LONGD}, - #{HEAT_TREATMENT_HARDNESS}, - #{HEAT_TREATMENT_METHOD}, - #{SURFACE_TREATMENT}, - #{SUPPLY_CODE} - ) ON - CONFLICT (OBJID) DO - UPDATE - SET - PRODUCT_MGMT_OBJID = #{PRODUCT_MGMT_OBJID}, - UPG_NO = #{UPG_NO}, - PART_NO = #{PART_NO}, - PART_NAME = #{PART_NAME}, - UNIT = #{UNIT}, - QTY = #{QTY}, - SPEC = #{SPEC}, - MATERIAL = #{MATERIAL}, - WEIGHT = #{WEIGHT}, - PART_TYPE = #{PART_TYPE}, - REMARK = #{REMARK}, - ES_SPEC = #{ES_SPEC}, - MS_SPEC = #{MS_SPEC}, - CHANGE_TYPE = #{CHANGE_TYPE}, - CHANGE_OPTION = #{CHANGE_OPTION}, - - DESIGN_APPLY_POINT = #{DESIGN_APPLY_POINT}, - MANAGEMENT_FLAG = #{MANAGEMENT_FLAG}, - REVISION = #{REVISION}, - STATUS = #{STATUS}, - EDIT_DATE = NOW(), - WRITER = #{WRITER}, - PARENT_PART_NO = #{PARENT_PART_NO}, - SUB_MATERIAL = #{SUB_MATERIAL}, - EO_DATE = #{EO_DATE}, - DESIGN_DATE = #{DESIGN_DATE}, - THICKNESS = #{THICKNESS}, - WIDTH = #{WIDTH}, - HEIGHT = #{HEIGHT}, - OUT_DIAMETER = #{OUT_DIAMETER}, - IN_DIAMETER = #{IN_DIAMETER}, - LENGTH = #{LENGTH}, - MAKER = #{MAKER}, - POST_PROCESSING = #{POST_PROCESSING}, - MAJOR_CATEGORY = #{MAJOR_CATEGORY}, - SUB_CATEGORY = #{SUB_CATEGORY}, - CODE1 = #{CODE1}, - CODE2 = #{CODE2}, - CODE3 = #{CODE3}, - CODE4 = #{CODE4}, - CODE5 = #{CODE5}, - IS_NEW = #{IS_NEW}, - IS_LONGD = #{IS_LONGD}, - HEAT_TREATMENT_HARDNESS = #{HEAT_TREATMENT_HARDNESS}, - HEAT_TREATMENT_METHOD = #{HEAT_TREATMENT_METHOD}, - SURFACE_TREATMENT = #{SURFACE_TREATMENT}, - SUPPLY_CODE = #{SUPPLY_CODE} - - - INSERT INTO PART_MNG_HISTORY - ( - OBJID, - PRODUCT_MGMT_OBJID, - UPG_NO, - PART_NO, - PART_NAME, - UNIT, - QTY, - SPEC, - MATERIAL, - WEIGHT, - PART_TYPE, - REMARK, - ES_SPEC, - MS_SPEC, - CHANGE_TYPE, - CHANGE_OPTION, - DESIGN_APPLY_POINT, - MANAGEMENT_FLAG, - REVISION, - STATUS, - REG_DATE, - WRITER, - IS_LAST, - PARENT_PART_NO, - SUB_MATERIAL, - EO_NO, - EO_DATE, - DESIGN_DATE, - THICKNESS, - WIDTH, - HEIGHT, - OUT_DIAMETER, - IN_DIAMETER, - LENGTH, - CONTRACT_OBJID, - MAKER, - HEAT_TREATMENT_HARDNESS, - HEAT_TREATMENT_METHOD, - SURFACE_TREATMENT, - SUPPLY_CODE - ) VALUES ( - #{OBJID}::NUMERIC, - #{PRODUCT_MGMT_OBJID}, - #{UPG_NO}, - #{PART_NO}, - #{PART_NAME}, - #{UNIT}, - #{QTY}, - #{SPEC}, - #{MATERIAL}, - #{WEIGHT}, - #{PART_TYPE}, - #{REMARK}, - #{ES_SPEC}, - #{MS_SPEC}, - #{CHANGE_TYPE}, - #{CHANGE_OPTION}, - #{DESIGN_APPLY_POINT}, - #{MANAGEMENT_FLAG}, - UPPER(#{REVISION}), - #{STATUS}, - NOW(), - #{WRITER}, - '0', - #{PARENT_PART_NO}, - #{SUB_MATERIAL}, - (SELECT EO_NO FROM PART_MNG WHERE OBJID = #{OBJID}), - #{EO_DATE}, - #{DESIGN_DATE}, - #{THICKNESS}, - #{WIDTH}, - #{HEIGHT}, - #{OUT_DIAMETER}, - #{IN_DIAMETER}, - #{LENGTH}, - #{CONTRACT_OBJID}, - #{MAKER}, - #{HEAT_TREATMENT_HARDNESS}, - #{HEAT_TREATMENT_METHOD}, - #{SURFACE_TREATMENT}, - #{SUPPLY_CODE} - - ) ON - CONFLICT (OBJID) DO - UPDATE - SET - PRODUCT_MGMT_OBJID = #{PRODUCT_MGMT_OBJID}, - UPG_NO = #{UPG_NO}, - PART_NO = #{PART_NO}, - PART_NAME = #{PART_NAME}, - UNIT = #{UNIT}, - QTY = #{QTY}, - SPEC = #{SPEC}, - MATERIAL = #{MATERIAL}, - WEIGHT = #{WEIGHT}, - PART_TYPE = #{PART_TYPE}, - REMARK = #{REMARK}, - ES_SPEC = #{ES_SPEC}, - MS_SPEC = #{MS_SPEC}, - CHANGE_TYPE = #{CHANGE_TYPE}, - CHANGE_OPTION = #{CHANGE_OPTION}, - DESIGN_APPLY_POINT = #{DESIGN_APPLY_POINT}, - MANAGEMENT_FLAG = #{MANAGEMENT_FLAG}, - REVISION = #{REVISION}, - STATUS = #{STATUS}, - EDIT_DATE = NOW(), - WRITER = #{WRITER}, - PARENT_PART_NO = #{PARENT_PART_NO}, - SUB_MATERIAL = #{SUB_MATERIAL}, - EO_DATE = #{EO_DATE}, - DESIGN_DATE = #{DESIGN_DATE}, - THICKNESS = #{THICKNESS}, - WIDTH = #{WIDTH}, - HEIGHT = #{HEIGHT}, - OUT_DIAMETER = #{OUT_DIAMETER}, - IN_DIAMETER = #{IN_DIAMETER}, - LENGTH = #{LENGTH}, - CONTRACT_OBJID = (SELECT CONTRACT_OBJID FROM PART_MNG WHERE OBJID = #{OBJID}), - MAKER =#{MAKER}, - HEAT_TREATMENT_HARDNESS = #{HEAT_TREATMENT_HARDNESS}, - HEAT_TREATMENT_METHOD = #{HEAT_TREATMENT_METHOD}, - SURFACE_TREATMENT = #{SURFACE_TREATMENT}, - SUPPLY_CODE = #{SUPPLY_CODE} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UPDATE PART_MNG - SET - PART_NAME = #{PART_NAME}, - MATERIAL = #{MATERIAL}, - HEAT_TREATMENT_HARDNESS = #{HEAT_TREATMENT_HARDNESS}, - HEAT_TREATMENT_METHOD = #{HEAT_TREATMENT_METHOD}, - SURFACE_TREATMENT = #{SURFACE_TREATMENT}, - SUPPLY_CODE = #{SUPPLY_CODE}, - PART_TYPE = #{PART_TYPE}, - REMARK = #{REMARK}, - EDIT_DATE = NOW() - WHERE OBJID = #{OBJID} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INSERT INTO PART_BOM_REPORT ( - OBJID - , CUSTOMER_OBJID - , CONTRACT_OBJID - , UNIT_CODE - , STATUS - , WRITER - , REGDATE - , MULTI_YN - , MULTI_MASTER_YN - , MULTI_BREAK_YN - , MULTI_MASTER_OBJID - , PRODUCT_CD - , PART_NO - , PART_NAME - , REVISION - ) VALUES ( - #{OBJID} - , #{CUSTOMER_OBJID} - , #{CONTRACT_OBJID} - , #{UNIT_CODE} - , 'N' - , #{WRITER} - , NOW() - , #{MULTI_YN} - , #{MULTI_MASTER_YN} - , #{MULTI_BREAK_YN} - , #{MULTI_MASTER_OBJID} - , #{PRODUCT_CD} - , #{PART_NO} - , #{PART_NAME} - , #{REVISION} - ) ON - CONFLICT (OBJID) DO - UPDATE - SET WRITER = #{WRITER} - , PRODUCT_CD = #{PRODUCT_CD} - , PART_NO = #{PART_NO} - , PART_NAME = #{PART_NAME} - , REVISION = #{REVISION} - - - - - DELETE FROM BOM_PART_QTY - WHERE BOM_REPORT_OBJID = #{BOM_REPORT_OBJID} - - - - - UPDATE PART_BOM_REPORT - SET STATUS = 'N' - WHERE OBJID = #{OBJID} - - - - INSERT INTO PART_BOM_REPORT ( - OBJID - , OEM_OBJID - , CAR_OBJID - , PRODUCT_GROUP_OBJID - , PRODUCT_OBJID - , REGION_OBJID - , WRITER - , REGDATE - ) VALUES ( - ${bomObjId}::NUMERIC - , ${oemObjId}::NUMERIC - , ${carObjId}::NUMERIC - , #{productGroupObjId} - , #{productObjId} - , '' - , #{writer} - , NOW() - ) - - - - - - - - - WITH RECURSIVE VIEW_BOM( - OBJID, - PART_NO, - BOM_REPORT_OBJID, - PARENT_PART_NO, - PARENT_OBJID, - CHILD_OBJID, - QTY, - LEV, - PATH, - CYCLE - ) AS ( - SELECT - A.OBJID, - A.PART_NO, - A.BOM_REPORT_OBJID, - A.PARENT_PART_NO, - A.PARENT_OBJID, - A.CHILD_OBJID, - A.QTY, - 1, - ARRAY [A.CHILD_OBJID], - FALSE - FROM - BOM_PART_QTY A - WHERE 1=1 - AND CHILD_OBJID = #{leftObjId} - AND A.BOM_REPORT_OBJID = #{OBJID} - - UNION ALL - - SELECT - B.OBJID, - B.PART_NO, - B.BOM_REPORT_OBJID, - B.PARENT_PART_NO, - B.PARENT_OBJID, - B.CHILD_OBJID, - B.QTY, - LEV + 1, - PATH, - B.PARENT_OBJID = ANY(PATH) - FROM - BOM_PART_QTY B - JOIN - VIEW_BOM - ON B.PARENT_OBJID = VIEW_BOM.CHILD_OBJID - AND VIEW_BOM.BOM_REPORT_OBJID = B.BOM_REPORT_OBJID - AND B.BOM_REPORT_OBJID = #{OBJID} - ) - DELETE FROM BOM_PART_QTY - WHERE OBJID IN - ( - SELECT OBJID FROM VIEW_BOM - ) - - - - - - - WITH RECURSIVE VIEW_BOM( - OBJID, - PART_NO, - BOM_REPORT_OBJID, - PARENT_PART_NO, - PARENT_OBJID, - CHILD_OBJID, - QTY, - LEV, - PATH, - CYCLE - ) AS ( - SELECT - A.OBJID, - A.PART_NO, - A.BOM_REPORT_OBJID, - A.PARENT_PART_NO, - A.PARENT_OBJID, - A.CHILD_OBJID, - A.QTY, - 1, - ARRAY [A.CHILD_OBJID], - FALSE - FROM - BOM_PART_QTY A - WHERE 1=1 - AND CHILD_OBJID = #{leftObjId} - AND A.BOM_REPORT_OBJID = #{OBJID} - - UNION ALL - - SELECT - B.OBJID, - B.PART_NO, - B.BOM_REPORT_OBJID, - B.PARENT_PART_NO, - B.PARENT_OBJID, - B.CHILD_OBJID, - B.QTY, - LEV + 1, - PATH, - B.PARENT_OBJID = ANY(PATH) - FROM - BOM_PART_QTY B - JOIN - VIEW_BOM - ON B.PARENT_OBJID = VIEW_BOM.CHILD_OBJID - AND VIEW_BOM.BOM_REPORT_OBJID = B.BOM_REPORT_OBJID - AND B.BOM_REPORT_OBJID = #{OBJID} - AND B.STATUS NOT IN ('deleting', 'deleted') - ) - UPDATE BOM_PART_QTY - SET EDIT_DATE = NOW(), - STATUS = 'deleting' - WHERE OBJID IN - ( - SELECT OBJID FROM VIEW_BOM - ) - - - - WITH RECURSIVE VIEW_BOM( - OBJID, - PART_NO, - BOM_REPORT_OBJID, - PARENT_PART_NO, - PARENT_OBJID, - CHILD_OBJID, - STATUS, - QTY, - LEV, - PATH, - CYCLE - ) AS ( - SELECT - A.OBJID, - A.PART_NO, - A.BOM_REPORT_OBJID, - A.PARENT_PART_NO, - A.PARENT_OBJID, - A.CHILD_OBJID, - A.STATUS, - A.QTY, - 1, - ARRAY [A.CHILD_OBJID], - FALSE - FROM - BOM_PART_QTY A - WHERE 1=1 - AND CHILD_OBJID = #{leftObjId} - AND A.BOM_REPORT_OBJID = #{OBJID} - - UNION ALL - - SELECT - B.OBJID, - B.PART_NO, - B.BOM_REPORT_OBJID, - B.PARENT_PART_NO, - B.PARENT_OBJID, - B.CHILD_OBJID, - B.STATUS, - B.QTY, - LEV + 1, - PATH, - B.PARENT_OBJID = ANY(PATH) - FROM - BOM_PART_QTY B - JOIN - VIEW_BOM - ON B.PARENT_OBJID = VIEW_BOM.CHILD_OBJID - AND VIEW_BOM.BOM_REPORT_OBJID = B.BOM_REPORT_OBJID - AND B.BOM_REPORT_OBJID = #{OBJID} - ) - DELETE FROM PART_MNG_HISTORY - WHERE QTY_CHILD_OBJID IN - ( - SELECT CHILD_OBJID FROM VIEW_BOM V - WHERE V.STATUS = 'adding' - ) - - - - - - INSERT INTO PART_MNG_TEMP - ( - PART_REPORT_OBJID, - OBJID, - PART_NO, - PART_NAME, - UNIT, - QTY, - SPEC, - MATERIAL, - WEIGHT, - PART_TYPE, - REMARK, - SEQ, - SUB_MATERIAL, - PARENT_PART_NO - - ) VALUES - ( - #{PART_REPORT_OBJID}::integer, - #{OBJID}::integer, - #{PART_NO}, - #{PART_NAME}, - #{UNIT}, - #{QTY}, - #{SPEC}, - #{MATERIAL}, - #{WEIGHT}, - #{PART_TYPE}, - #{REMARK}, - nextval('part_mng_temp_seq'), - #{SUB_MATERIAL}, - #{PARENT_PART_NO} - - - ) - - - - - - - - - - - - INSERT INTO BOM_PART_QTY_TEMP - ( - BOM_REPORT_OBJID, - OBJID, - PARENT_OBJID, - CHILD_OBJID, - PARENT_PART_NO, - PART_NO, - QTY, - REGDATE, - SEQ - ) VALUES - ( - #{BOM_REPORT_OBJID}, - #{OBJID}, - (SELECT PART_NO FROM BOM_PART_QTY_TEMP WHERE 1=1 AND PART_NO = PARENT_PART_NO), - #{CHILD_OBJID}, - (SELECT OBJID FROM PART_MNG WHERE PART_NO = #{PARENT_PART_NO} AND REVISION = #{REVISION_}), - (SELECT OBJID FROM PART_MNG WHERE PART_NO = #{PART_NO} AND REVISION = #{REVISION}), - #{QTY}::INTEGER, - NOW(), - nextval('seq_bom_qty') - ) - - - - - - INSERT INTO BOM_PART_QTY - ( - BOM_REPORT_OBJID, - OBJID, - PARENT_OBJID, - CHILD_OBJID, - PARENT_PART_NO, - PART_NO, - QTY, - QTY_TEMP, - REGDATE, - WRITER, - SEQ, - STATUS, - LAST_PART_OBJID - - ,DEPLOY_USER_ID - - - ,DEPLOY_DATE - - ) VALUES - ( - #{BOM_REPORT_OBJID}, - #{OBJID}, - #{PARENT_OBJID}, - #{CHILD_OBJID}, - #{PARENT_PART_NO}, - #{PART_NO}, - - #{QTY}, - #{QTY_TEMP}, - NOW(), - #{WRITER}, - nextval('seq_bom_qty'), - #{STATUS}, - #{LAST_PART_OBJID} - - ,#{DEPLOY_USER_ID} - - - ,NOW() - - ) - - - - - - INSERT INTO BOM_PART_QTY - ( - SELECT - BOM_REPORT_OBJID, - OBJID, - (SELECT O.CHILD_OBJID FROM BOM_PART_QTY_TEMP AS O WHERE O.PART_NO =T.PARENT_PART_NO AND O.BOM_REPORT_OBJID = #{OBJID} AND T.seq > O.seq ORDER BY o.seq DESC LIMIT 1) AS PARENT_OBJID, - CHILD_OBJID, - PARENT_PART_NO, - PART_NO, - QTY, - now(), - seq - FROM BOM_PART_QTY_TEMP AS t - WHERE T.BOM_REPORT_OBJID = #{OBJID} - ) - - - - UPDATE BOM_PART_QTY - SET - - STATUS = (CASE WHEN COALESCE(#{STATUS},'') = '' THEN STATUS ELSE #{STATUS} END) - ,QTY_TEMP = (CASE WHEN COALESCE(#{QTY_TEMP}::VARCHAR,'') = '' THEN QTY_TEMP ELSE #{QTY_TEMP}::VARCHAR END) - WHERE CHILD_OBJID = #{CHILD_OBJID} - - - - - UPDATE PART_MNG_HISTORY - SET - - QTY_TEMP = (CASE WHEN COALESCE(#{QTY_TEMP}::VARCHAR,'') = '' THEN QTY_TEMP ELSE #{QTY_TEMP}::VARCHAR END) - WHERE QTY_CHILD_OBJID = #{CHILD_OBJID} - AND BOM_REPORT_OBJID = #{BOM_REPORT_OBJID} - - - - - UPDATE PART_BOM_QTY SET QTY = #{qty}::numeric WHERE PART_NO = #{partNo} - - - AND PARENT_PART_NO = #{parentPartNo} - - - AND (PARENT_PART_NO IS NULL OR PARENT_PART_NO = '') - AND BOM_REPORT_OBJID = #{bomReportObjId}::numeric - - - - - - UPDATE PART_MNG P - SET - - IS_LAST = '1', - EDIT_DATE = NOW(), - DEPLOY_DATE = NOW(), - STATUS = 'release', - REVISION = (CASE WHEN COALESCE(REVISION,'') = '' THEN 'RE' ELSE REVISION END), - - EO_DATE = TO_CHAR(NOW(),'YYYY-MM-DD'), - EO_NO = CASE - WHEN P.IS_LONGD = '1' THEN - (SELECT 'EOB'||TO_CHAR(NOW(),'yy')::VARCHAR ||'-'||LPAD((SELECT COALESCE(SUBSTR(MAX(EO_NO),7,8)::INTEGER+1,1) - FROM PART_MNG SP - WHERE SP.EO_NO IS NOT NULL - AND SP.EO_NO LIKE 'EOB' || TO_CHAR(NOW(),'yy') || '-%' - AND SP.PART_NO != P.PART_NO - AND SP.REVISION != P.REVISION - )||'', 4,'0')) - ELSE - (SELECT 'EO'||TO_CHAR(NOW(),'yy')::VARCHAR ||'-'||LPAD((SELECT COALESCE(SUBSTR(MAX(EO_NO),6,8)::INTEGER+1,1) - FROM PART_MNG SP - WHERE SP.EO_NO IS NOT NULL - AND SP.EO_NO LIKE 'EO' || TO_CHAR(NOW(),'yy') || '-%' - AND SP.PART_NO != P.PART_NO - AND SP.REVISION != P.REVISION - )||'', 4,'0')) - END - - WHERE OBJID = #{OBJID} - - - - - UPDATE PART_MNG - SET - IS_LAST = '0', - EDIT_DATE = NOW() - WHERE PART_NO = ( - SELECT - PART_NO - FROM PART_MNG - WHERE OBJID = #{OBJID} - ) - - - - - INSERT INTO PART_MNG_HISTORY - ( - SELECT - P.OBJID::numeric, - P.PRODUCT_MGMT_OBJID, - P.UPG_NO, - P.PART_NO, - P.PART_NAME, - P.UNIT, - - Q.QTY, - P.SPEC, - P.MATERIAL, - P.WEIGHT, - P.PART_TYPE, - P.REMARK, - P.ES_SPEC, - P.MS_SPEC, - (CASE WHEN (#{CHANGE_OPTION} IS NULL OR #{CHANGE_OPTION} = '') THEN P.CHANGE_OPTION ELSE #{CHANGE_OPTION} END), - - P.DESIGN_APPLY_POINT, - P.MANAGEMENT_FLAG, - P.REVISION, - P.STATUS, - P.REG_DATE, - NOW(), - #{WRITER}, - P.IS_LAST, - P.EO_NO, - P.EO_TEMP, - P.EXCEL_UPLOAD_SEQ, - P.SOURCING_CODE, - P.SUB_MATERIAL, - - (CASE WHEN (#{PARENT_PART_NO} IS NULL OR #{PARENT_PART_NO} = '') THEN Q.PARENT_PART_NO ELSE #{PARENT_PART_NO} END), - P.DESIGN_DATE, - P.EO_DATE, - P.DEPLOY_DATE - ,P.THICKNESS - ,P.WIDTH - ,P.HEIGHT - ,P.OUT_DIAMETER - ,P.IN_DIAMETER - ,P.LENGTH - ,P.SUPPLY_CODE - ,(CASE WHEN (#{CHANGE_TYPE} IS NULL OR #{CHANGE_TYPE} = '') THEN P.CHANGE_TYPE ELSE #{CHANGE_TYPE} END) - - ,P.CONTRACT_OBJID - ,P.MAKER - ,Q.QTY_TEMP - ,(CASE WHEN (#{BOM_REPORT_OBJID} IS NULL OR #{BOM_REPORT_OBJID} = '') THEN Q.BOM_REPORT_OBJID ELSE #{BOM_REPORT_OBJID} END) - ,(CASE WHEN (#{PARENT_PART_OBJID} IS NULL OR #{PARENT_PART_OBJID} = '') THEN Q.PARENT_PART_NO ELSE #{PARENT_PART_OBJID} END) - ,(CASE WHEN (#{PARENT_QTY_CHILD_OBJID} IS NULL OR #{PARENT_QTY_CHILD_OBJID} = '') THEN Q.PARENT_OBJID ELSE #{PARENT_QTY_CHILD_OBJID} END) - - ,Q.STATUS - ,NOW() - ,#{WRITER} - ,#{HIS_STATUS} - ,#{CHILD_OBJID} - ,'' - ,NULL - ,#{CHG_PART_OBJID} - ,#{CHG_PART_NO} - ,#{CHG_PART_REV} - FROM - PART_MNG P - LEFT OUTER JOIN BOM_PART_QTY Q - ON Q.CHILD_OBJID = #{CHILD_OBJID} - AND P.PART_NO IN (SELECT PM2.PART_NO - FROM PART_MNG PM2 - - WHERE PM2.OBJID = Q.PART_NO - - ) - - - - AND Q.STATUS = 'beforeEdit' - - - - - - - - - - - WHERE P.OBJID = #{OBJID} - ) - - - - - WITH RECURSIVE VIEW_BOM( - OBJID, - PART_NO, - BOM_REPORT_OBJID, - PARENT_PART_NO, - PARENT_OBJID, - CHILD_OBJID, - QTY, - LEV, - PATH, - CYCLE - ) AS ( - SELECT - A.OBJID, - A.PART_NO, - A.BOM_REPORT_OBJID, - A.PARENT_PART_NO, - A.PARENT_OBJID, - A.CHILD_OBJID, - A.QTY, - 1, - ARRAY [A.CHILD_OBJID], - FALSE - FROM - BOM_PART_QTY A - WHERE 1=1 - AND CHILD_OBJID = #{leftObjId} - AND A.BOM_REPORT_OBJID = #{OBJID} - - UNION ALL - - SELECT - B.OBJID, - B.PART_NO, - B.BOM_REPORT_OBJID, - B.PARENT_PART_NO, - B.PARENT_OBJID, - B.CHILD_OBJID, - B.QTY, - LEV + 1, - PATH, - B.PARENT_OBJID = ANY(PATH) - FROM - BOM_PART_QTY B - JOIN - VIEW_BOM - ON B.PARENT_OBJID = VIEW_BOM.CHILD_OBJID - AND VIEW_BOM.BOM_REPORT_OBJID = B.BOM_REPORT_OBJID - AND B.BOM_REPORT_OBJID = #{OBJID} - AND B.STATUS NOT IN ('deleting', 'deleted') - ) - INSERT INTO PART_MNG_HISTORY - ( - SELECT - P.OBJID::numeric, - P.PRODUCT_MGMT_OBJID, - P.UPG_NO, - P.PART_NO, - P.PART_NAME, - P.UNIT, - - Q.QTY, - P.SPEC, - P.MATERIAL, - P.WEIGHT, - P.PART_TYPE, - P.REMARK, - P.ES_SPEC, - P.MS_SPEC, - (CASE WHEN (#{CHANGE_OPTION} IS NULL OR #{CHANGE_OPTION} = '') THEN P.CHANGE_OPTION ELSE #{CHANGE_OPTION} END), - P.DESIGN_APPLY_POINT, - P.MANAGEMENT_FLAG, - P.REVISION, - P.STATUS, - P.REG_DATE, - NOW(), - #{WRITER}, - P.IS_LAST, - P.EO_NO, - P.EO_TEMP, - P.EXCEL_UPLOAD_SEQ, - P.SOURCING_CODE, - P.SUB_MATERIAL, - - (CASE WHEN (#{PARENT_PART_NO} IS NULL OR #{PARENT_PART_NO} = '') THEN Q.PARENT_PART_NO ELSE #{PARENT_PART_NO} END), - P.DESIGN_DATE, - P.EO_DATE, - P.DEPLOY_DATE - ,P.THICKNESS - ,P.WIDTH - ,P.HEIGHT - ,P.OUT_DIAMETER - ,P.IN_DIAMETER - ,P.LENGTH - ,P.SUPPLY_CODE - ,(CASE WHEN (#{CHANGE_TYPE} IS NULL OR #{CHANGE_TYPE} = '') THEN P.CHANGE_TYPE ELSE #{CHANGE_TYPE} END) - ,P.CONTRACT_OBJID - ,P.MAKER - ,Q.QTY_TEMP - ,(CASE WHEN (#{BOM_REPORT_OBJID} IS NULL OR #{BOM_REPORT_OBJID} = '') THEN Q.BOM_REPORT_OBJID ELSE #{BOM_REPORT_OBJID} END) - ,(CASE WHEN (#{PARENT_PART_OBJID} IS NULL OR #{PARENT_PART_OBJID} = '') THEN Q.PARENT_PART_NO ELSE #{PARENT_PART_OBJID} END) - ,(CASE WHEN (#{PARENT_QTY_CHILD_OBJID} IS NULL OR #{PARENT_QTY_CHILD_OBJID} = '') THEN Q.PARENT_OBJID ELSE #{PARENT_QTY_CHILD_OBJID} END) - ,Q.STATUS - ,NOW() - ,#{WRITER} - ,#{HIS_STATUS} - ,Q.CHILD_OBJID - ,'' - FROM - BOM_PART_QTY Q - INNER JOIN PART_MNG P - ON Q.LAST_PART_OBJID = P.OBJID - WHERE Q.OBJID IN - ( - SELECT OBJID FROM VIEW_BOM - ) - ) - - - - - - - DELETE FROM PART_MNG - WHERE 1=1 - 0 ]]> - - - DELETE FROM PART_MNG - WHERE OBJID = #{OBJID} - - - - UPDATE BOM_PART_QTY - SET STATUS = 'deploy' - ,EDIT_DATE = NOW() - ,EDITER = #{WRITER} - WHERE CHILD_OBJID = #{CHILD_OBJID} - AND STATUS = 'beforeEdit' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETE FROM PART_BOM_REPORT - WHERE OBJID IN - - #{objkey} - - - - - - - DELETE FROM BOM_PART_QTY - WHERE BOM_REPORT_OBJID IN - - #{objkey} - - - - - - UPDATE PART_BOM_REPORT - SET - DEPLOY_DATE = TO_CHAR(NOW(),'YYYY-MM-DD') - - ,STATUS = 'deploy' - ,REVISION = #{REVISION} - WHERE OBJID = #{checkArr} - - - - - UPDATE part_mng - SET status='release' - WHERE OBJID IN (SELECT part_no FROM bom_part_qty as t - WHERE t.bom_report_objid=#{checkArr}) - AND status='create' - - - - - - DELETE FROM PART_MNG - WHERE STATUS='create' - AND OBJID IN(SELECT PART_NO FROM BOM_PART_QTY AS T - WHERE T.BOM_REPORT_OBJID IN - - #{objkey} - - ) - - - - - - UPDATE PART_BOM_REPORT - SET - STATUS = (CASE WHEN STATUS != 'create' THEN 'changeDesign' ELSE STATUS END) - WHERE OBJID = #{BOM_REPORT_OBJID} - - - - - UPDATE PART_BOM_REPORT - SET - STATUS = 'changeDesign' - ,EDIT_DATE = NOW() - ,EDITER = #{WRITER} - WHERE OBJID IN (SELECT Q.BOM_REPORT_OBJID - FROM BOM_PART_QTY Q - ,PART_MNG P - WHERE P.PART_NO = #{PART_NO} - AND P.OBJID = Q.PART_NO) - AND STATUS != 'changeDesign' - - - - - UPDATE PART_BOM_REPORT - SET - STATUS = 'changeDesign' - ,EDIT_DATE = NOW() - ,EDITER = #{WRITER} - WHERE OBJID IN (SELECT Q.BOM_REPORT_OBJID - FROM BOM_PART_QTY Q - ,PART_MNG P - ,PART_MNG P2 - WHERE P.OBJID = #{OBJID} - AND P.PART_NO = P2.PART_NO - AND P2.OBJID = Q.PART_NO) - AND STATUS != 'changeDesign' - - - - - - - UPDATE BOM_PART_QTY Q - SET STATUS = (CASE WHEN STATUS = 'deleting' THEN 'deleted' - ELSE 'deploy' - END - ) - ,DEPLOY_DATE = NOW() - ,DEPLOY_USER_ID = #{WRITER} - ,QTY = COALESCE(QTY_TEMP, QTY) - ,QTY_TEMP = NULL - ,LAST_PART_OBJID = (SELECT PM1.OBJID - FROM PART_MNG PM1 - ,PART_MNG PM2 - WHERE PM1.IS_LAST = '1' - AND PM2.OBJID = Q.PART_NO - AND PM1.PART_NO = PM2.PART_NO) - WHERE BOM_REPORT_OBJID = #{checkArr} - AND COALESCE(STATUS, '') IN ('', 'beforeEdit', 'adding', 'deleting', 'editing') - - - - DELETE FROM BOM_PART_QTY - WHERE BOM_REPORT_OBJID = #{checkArr} - AND COALESCE(STATUS, '') = 'deleting' - - - - - UPDATE PART_MNG P - SET - EO_DATE = TO_CHAR(NOW(),'YYYY-MM-DD'), - EO_NO = CASE - WHEN P.IS_LONGD = '1' THEN - (SELECT 'EOB'||TO_CHAR(NOW(),'yy')::VARCHAR ||'-'||LPAD((SELECT COALESCE(SUBSTR(MAX(EO_NO),7,8)::INTEGER+1,1) - FROM PART_MNG SP - WHERE SP.EO_NO IS NOT NULL - AND SP.EO_NO LIKE 'EOB' || TO_CHAR(NOW(),'yy') || '-%' - )||'', 4,'0')) - ELSE - (SELECT 'EO'||TO_CHAR(NOW(),'yy')::VARCHAR ||'-'||LPAD((SELECT COALESCE(SUBSTR(MAX(EO_NO),6,8)::INTEGER+1,1) - FROM PART_MNG SP - WHERE SP.EO_NO IS NOT NULL - AND SP.EO_NO LIKE 'EO' || TO_CHAR(NOW(),'yy') || '-%' - )||'', 4,'0')) - END, - - REVISION ='RE', - STATUS = 'release' - WHERE OBJID IN - (SELECT PM.OBJID FROM BOM_PART_QTY AS BP LEFT JOIN - PART_MNG AS PM - ON BP.PART_NO = PM.OBJID::VARCHAR - WHERE 1=1 - - AND COALESCE(PM.EO_NO, '') = '' - AND BOM_REPORT_OBJID = #{checkArr} - ) - - - - UPDATE PART_MNG_HISTORY - SET - BOM_STATUS = 'deploy' - ,BOM_DEPLOY_DATE = NOW() - WHERE BOM_REPORT_OBJID = #{checkArr} - - - - - UPDATE PART_MNG_HISTORY - SET - CONTRACT_OBJID = #{CONTRACT_OBJID}, - CHANGE_TYPE = #{CHANGE_TYPE} - WHERE OBJID IN - (SELECT - PM.OBJID - FROM - part_mng_history AS PM - LEFT JOIN BOM_PART_QTY AS BP - ON BP.PART_NO = PM.OBJID::VARCHAR - WHERE 1=1 - AND COALESCE(PM.CONTRACT_OBJID, '') = '' - AND BP.BOM_REPORT_OBJID = #{checkArr} - ) - - - - - INSERT INTO ATTACH_FILE_INFO - ( - OBJID, - TARGET_OBJID, - SAVED_FILE_NAME, - REAL_FILE_NAME, - DOC_TYPE, - DOC_TYPE_NAME, - FILE_SIZE, - FILE_EXT, - FILE_PATH, - WRITER, - REGDATE, - STATUS - ) - SELECT - #{NEW_FILE_OBJID}::INTEGER, - #{NEW_PART_OBJID}::INTEGER, - SAVED_FILE_NAME, - REAL_FILE_NAME, - DOC_TYPE, - DOC_TYPE_NAME, - FILE_SIZE, - FILE_EXT, - FILE_PATH, - WRITER, - REGDATE, - STATUS - FROM - ATTACH_FILE_INFO - WHERE OBJID = #{BEFORE_FILE_OBJID}::INTEGER - - - - - - - - - - - - - - - - - DELETE FROM BOM_PART_QTY WHERE BOM_REPORT_OBJID = #{TARGET_REV} - - - - - INSERT INTO BOM_PART_QTY - ( - BOM_REPORT_OBJID - ,OBJID - ,PARENT_OBJID - ,CHILD_OBJID - ,PARENT_PART_NO - ,PART_NO - ,QTY - ,REGDATE - ,SEQ - ) VALUES ( - #{BOM_REPORT_OBJID} - ,#{OBJID} - ,#{PARENT_OBJID} - ,#{CHILD_OBJID} - ,#{PARENT_PART_NO} - ,#{PART_NO} - ,#{QTY}::integer - ,now() - ,#{SEQ}::integer - ) - - - - - INSERT INTO PART_BOM_REPORT - ( - OBJID - ,PRODUCT_MGMT_OBJID - ,WRITER - ,REGDATE - ,STATUS - ,REV - ,SPEC_NAME - ) VALUES ( - #{OBJID}::integer - ,#{product_code}::integer - ,#{WRITER} - ,now() - ,'create' - ,#{TARGET_REV} - ,#{TARGET_SPEC_NAME} - ) - - - - - - - UPDATE BOM_PART_QTY SET SEQ = #{SEQ}::numeric WHERE CHILD_OBJID = #{CHILD_OBJID} - - - - - - - - - - - - - - - - INSERT INTO PART_MNG - ( - OBJID - ,PART_NO - ,PART_NAME - ,UNIT - ,QTY - ,SPEC - ,MATERIAL - ,THICKNESS - ,WIDTH - ,HEIGHT - ,OUT_DIAMETER - ,IN_DIAMETER - ,LENGTH - ,REMARK - ,STATUS - ,REG_DATE - ,WRITER - ,IS_LAST - ,PART_TYPE - ,PRODUCT_MGMT_OBJID - ,SUPPLY_CODE - ,MAKER - ,CONTRACT_OBJID - ,POST_PROCESSING - ) VALUES ( - #{PART_OBJID}::NUMERIC - ,#{PART_NO} - ,#{PART_NAME} - ,#{UNIT} - ,#{QTY} - ,#{SPEC} - ,#{MATERIAL} - ,#{THICKNESS} - ,#{WIDTH} - ,#{HEIGHT} - ,#{OUT_DIAMETER} - ,#{IN_DIAMETER} - ,#{LENGTH} - ,#{REMARK} - ,'create' - ,now() - ,#{CONNECTUSERID} - ,'1' - ,#{PART_TYPE} - ,#{PRODUCT_MGMT_OBJID} - ,#{SUPPLY_CODE} - ,#{MAKER} - ,#{CONTRACT_OBJID} - ,#{POST_PROCESSING} - ) - - - - - - - - - - - - - - - INSERT INTO ATTACH_FILE_INFO - ( - OBJID - ,TARGET_OBJID - ,SAVED_FILE_NAME - ,REAL_FILE_NAME - ,DOC_TYPE - ,DOC_TYPE_NAME - ,FILE_SIZE - ,FILE_EXT - ,FILE_PATH - ,WRITER - ,REGDATE - ,STATUS - - ) VALUES ( - #{OBJID}::integer - ,#{TARGET_OBJID}::integer - ,#{SAVED_FILE_NAME} - ,#{REAL_FILE_NAME} - ,#{DOC_TYPE} - ,#{DOC_TYPE_NAME} - ,#{FILE_SIZE}::integer - ,#{FILE_EXT} - ,#{FILE_PATH} - ,#{WRITER} - ,now() - ,'Active' - ) - - - - - UPDATE - PART_MNG - SET - IS_LAST = '0' - WHERE PART_NO = #{PART_NO} - - - UPDATE - PART_MNG - SET - IS_LAST = '0' - WHERE OBJID IN (SELECT Q.PART_NO - FROM BOM_PART_QTY Q - ,PART_MNG P - WHERE BOM_REPORT_OBJID = #{BOM_REPORT_OBJID} - - AND P.OBJID = Q.PART_NO - AND P.STATUS IN ('changeDesign') - ) - - - - - - - - - - - - UPDATE PART_BOM_REPORT SET NOTE = #{NOTE} - - WHERE 0 ]]> - - - - - - - - UPDATE PART_BOM_REPORT - SET - PRODUCT_CD = #{product_cd}, - PART_NO = #{part_no}, - PART_NAME = #{part_name}, - REVISION = #{version}, - STATUS = #{status}, - EDITER = #{EDITER}, - EDIT_DATE = NOW() - WHERE - OBJID = #{objId} - - - - - - - - - - - INSERT INTO PART_BOM_REPORT_DEL - SELECT * FROM PART_BOM_REPORT - - WHERE 1=2 - - - WHERE OBJID = #{OBJID} - - - WHERE OBJID IN - - '${fobjid}' - - - - - INSERT INTO PART_MNG_DEL - SELECT * FROM PART_MNG P - WHERE EXISTS ( - SELECT 'E' FROM BOM_PART_QTY Q - - WHERE 1=2 - - - WHERE Q.BOM_REPORT_OBJID = #{OBJID} - - - WHERE Q.BOM_REPORT_OBJID IN - - '${fobjid}' - - - AND NVL(Q.LAST_PART_OBJID, Q.PART_NO) = P.OBJID - ) - AND NOT EXISTS ( - SELECT 'E' FROM BOM_PART_QTY Q - - WHERE Q.BOM_REPORT_OBJID != #{OBJID} - - - WHERE Q.BOM_REPORT_OBJID NOT IN - - '${fobjid}' - - - AND (Q.LAST_PART_OBJID = P.OBJID OR Q.PART_NO = P.OBJID) - - ) - - - INSERT INTO BOM_PART_QTY_DEL - SELECT * FROM BOM_PART_QTY - - WHERE 1=2 - - - WHERE BOM_REPORT_OBJID = #{OBJID} - - - WHERE BOM_REPORT_OBJID IN - - '${fobjid}' - - - - - - DELETE FROM PART_BOM_REPORT - - WHERE 1=2 - - - WHERE OBJID = #{OBJID} - - - WHERE OBJID IN - - '${fobjid}' - - - - - DELETE FROM PART_MNG P - WHERE EXISTS ( - SELECT 'E' FROM BOM_PART_QTY Q - - WHERE 1=2 - - - WHERE Q.BOM_REPORT_OBJID = #{OBJID} - - - WHERE Q.BOM_REPORT_OBJID IN - - '${fobjid}' - - - AND NVL(Q.LAST_PART_OBJID, Q.PART_NO) = P.OBJID - ) - AND NOT EXISTS ( - SELECT 'E' FROM BOM_PART_QTY Q - - WHERE Q.BOM_REPORT_OBJID != #{OBJID} - - - WHERE Q.BOM_REPORT_OBJID NOT IN - - '${fobjid}' - - - AND (Q.LAST_PART_OBJID = P.OBJID OR Q.PART_NO = P.OBJID) - - ) - - - DELETE FROM BOM_PART_QTY - - WHERE 1=2 - - - WHERE BOM_REPORT_OBJID = #{OBJID} - - - WHERE BOM_REPORT_OBJID IN - - '${fobjid}' - - - - - - INSERT INTO PART_BOM_REPORT - SELECT * FROM PART_BOM_REPORT_DEL - - WHERE 1=2 - - - WHERE BOM_REPORT_OBJID = #{OBJID} - - - WHERE BOM_REPORT_OBJID IN - - '${fobjid}' - - - - - INSERT INTO PART_MNG - SELECT * FROM PART_MNG_DEL P - WHERE EXISTS ( - SELECT 'E' FROM BOM_PART_QTY_DEL Q - - WHERE 1=2 - - - WHERE Q.BOM_REPORT_OBJID = #{OBJID} - - - WHERE Q.BOM_REPORT_OBJID IN - - '${fobjid}' - - - AND NVL(Q.LAST_PART_OBJID, Q.PART_NO) = P.OBJID - ) - AND NOT EXISTS ( - SELECT 'E' FROM BOM_PART_QTY_DEL Q - ,PART_MNG SP - - WHERE 1=2 - - - WHERE Q.BOM_REPORT_OBJID = #{OBJID} - - - WHERE Q.BOM_REPORT_OBJID IN - - '${fobjid}' - - - AND NVL(Q.LAST_PART_OBJID, Q.PART_NO) = P.OBJID - AND SP.OBJID = NVL(Q.LAST_PART_OBJID, Q.PART_NO) - ) - - - INSERT INTO BOM_PART_QTY - SELECT * FROM BOM_PART_QTY_DEL - - WHERE 1=2 - - - WHERE BOM_REPORT_OBJID = #{OBJID} - - - WHERE BOM_REPORT_OBJID IN - - '${fobjid}' - - - - - - - - UPDATE BOM_PART_QTY - SET LAST_PART_OBJID = #{RIGHT_OBJID} - WHERE BOM_REPORT_OBJID = #{BOM_REPORT_OBJID} - AND OBJID = #{B_OBJID} - - - - INSERT INTO PART_MNG_HISTORY - ( - SELECT - P.OBJID::numeric, - P.PRODUCT_MGMT_OBJID, - P.UPG_NO, - P.PART_NO, - P.PART_NAME, - P.UNIT, - - Q.QTY, - P.SPEC, - P.MATERIAL, - P.WEIGHT, - P.PART_TYPE, - P.REMARK, - P.ES_SPEC, - P.MS_SPEC, - (CASE WHEN (#{CHANGE_OPTION} IS NULL OR #{CHANGE_OPTION} = '') THEN P.CHANGE_OPTION ELSE #{CHANGE_OPTION} END), - - P.DESIGN_APPLY_POINT, - P.MANAGEMENT_FLAG, - P.REVISION, - P.STATUS, - P.REG_DATE, - NOW(), - #{WRITER}, - P.IS_LAST, - P.EO_NO, - P.EO_TEMP, - P.EXCEL_UPLOAD_SEQ, - P.SOURCING_CODE, - P.SUB_MATERIAL, - - (CASE WHEN (#{PARENT_PART_NO} IS NULL OR #{PARENT_PART_NO} = '') THEN Q.PARENT_PART_NO ELSE #{PARENT_PART_NO} END), - P.DESIGN_DATE, - P.EO_DATE, - P.DEPLOY_DATE - ,P.THICKNESS - ,P.WIDTH - ,P.HEIGHT - ,P.OUT_DIAMETER - ,P.IN_DIAMETER - ,P.LENGTH - ,P.SUPPLY_CODE - ,(CASE WHEN (#{CHANGE_TYPE} IS NULL OR #{CHANGE_TYPE} = '') THEN P.CHANGE_TYPE ELSE #{CHANGE_TYPE} END) - - ,P.CONTRACT_OBJID - ,P.MAKER - ,Q.QTY_TEMP - ,(CASE WHEN (#{BOM_REPORT_OBJID} IS NULL OR #{BOM_REPORT_OBJID} = '') THEN Q.BOM_REPORT_OBJID ELSE #{BOM_REPORT_OBJID} END) - ,(CASE WHEN (#{PARENT_PART_OBJID} IS NULL OR #{PARENT_PART_OBJID} = '') THEN Q.PARENT_PART_NO ELSE #{PARENT_PART_OBJID} END) - ,(CASE WHEN (#{PARENT_QTY_CHILD_OBJID} IS NULL OR #{PARENT_QTY_CHILD_OBJID} = '') THEN Q.PARENT_OBJID ELSE #{PARENT_QTY_CHILD_OBJID} END) - - ,Q.STATUS - ,NOW() - ,#{WRITER} - ,#{HIS_STATUS} - ,#{CHILD_OBJID} - ,'' - FROM - PART_MNG P - LEFT OUTER JOIN BOM_PART_QTY Q - ON P.PART_NO IN (SELECT PM2.PART_NO - FROM PART_MNG PM2 - - WHERE PM2.OBJID = Q.PART_NO - - ) - AND BOM_REPORT_OBJID = '801248820' - - - - AND Q.STATUS = 'beforeEdit' - - - - - - - - - - - WHERE P.OBJID = #{BOM_REPORT_OBJID} - ) - - - \ No newline at end of file