INSERT INTO order_mgmt (order_mgmt_objid ,region_cd ,customer_cd ,order_title ,order_cd ,start_date ,del_date ,plant_cd ,outc_cd1 ,outc_cd2 ,outc_cd3 ,outc_cd4 ,outc_cd5 ,outc_cd6 ,outi_cd1 ,outi_cd2 ,outi_cd3 ,outi_cd4 ,outi_cd5 ,outi_cd6 ,outc_value1 ,outc_value2 ,outc_value3 ,outc_value4 ,outc_value5 ,outc_value6 ,req_date ,reason ,result_cd ,project_no ,order_price ,order_price_d ,ex_material_cost ,ex_labor_cost ,ex_expense_cost ,ex_material_cost_w ,ex_labor_cost_w ,ex_expense_cost_w ,design_pm ,production_pm ,electro_pm ,se_pm ,purchase_pm ,manager_pm ,reg_id ,reg_date ,project_division ,project_derivation_no ,project_mean ,ponum ,invoice ) VALUES ( #{objId} ,(SELECT TO_CHAR(NOW(),'yyyy')::VARCHAR ||'-'||LPAD((SELECT (COUNT(1)+1) FROM order_mgmt AS T)::VARCHAR ,3,'0')) ,#{customer_cd} ,#{order_title} ,#{order_cd} ,#{start_date} ,#{del_date} ,#{plant_cd} ,#{outc_cd1} ,#{outc_cd2} ,#{outc_cd3} ,#{outc_cd4} ,#{outc_cd5} ,#{outc_cd6} ,#{outi_cd1} ,#{outi_cd2} ,#{outi_cd3} ,#{outi_cd4} ,#{outi_cd5} ,#{outi_cd6} ,#{outc_value1} ,#{outc_value2} ,#{outc_value3} ,#{outc_value4} ,#{outc_value5} ,#{outc_value6} ,#{req_date} ,#{reason} ,#{result_cd} ,#{project_no} ,#{order_price} ,#{order_price_d} ,#{ex_material_cost} ,#{ex_labor_cost} ,#{ex_expense_cost} ,#{ex_material_cost_w} ,#{ex_labor_cost_w} ,#{ex_expense_cost_w} ,#{design_pm} ,#{production_pm} ,#{electro_pm} ,#{se_pm} ,#{purchase_pm} ,#{manager_pm} ,#{userId} ,now() ,#{project_division} ,#{project_derivation_no} ,#{project_mean} ,#{ponum} ,#{invoice} ) ON CONFLICT (order_mgmt_objid) DO UPDATE SET customer_cd=#{customer_cd} ,order_title=#{order_title} ,order_cd=#{order_cd} ,start_date=#{start_date} ,del_date=#{del_date} ,plant_cd=#{plant_cd} ,outc_cd1=#{outc_cd1} ,outc_cd2=#{outc_cd2} ,outc_cd3=#{outc_cd3} ,outc_cd4=#{outc_cd4} ,outc_cd5=#{outc_cd5} ,outc_cd6=#{outc_cd6} ,outi_cd1=#{outi_cd1} ,outi_cd2=#{outi_cd2} ,outi_cd3=#{outi_cd3} ,outi_cd4=#{outi_cd4} ,outi_cd5=#{outi_cd5} ,outi_cd6=#{outi_cd6} ,outc_value1=#{outc_value1} ,outc_value2=#{outc_value2} ,req_date=#{req_date} ,reason=#{reason} ,result_cd=#{result_cd} ,project_no=#{project_no} ,order_price=#{order_price} ,order_price_d=#{order_price_d} ,ex_material_cost=#{ex_material_cost} ,ex_labor_cost=#{ex_labor_cost} ,ex_expense_cost=#{ex_expense_cost} ,ex_material_cost_w=#{ex_material_cost_w} ,ex_labor_cost_w=#{ex_labor_cost_w} ,ex_expense_cost_w=#{ex_expense_cost_w} ,design_pm=#{design_pm} ,production_pm=#{production_pm} ,electro_pm=#{electro_pm} ,se_pm=#{se_pm} ,purchase_pm=#{purchase_pm} ,manager_pm=#{manager_pm} ,project_division=#{project_division} ,project_derivation_no=#{project_derivation_no} ,project_mean=#{project_mean} ,ponum=#{ponum} ,invoice=#{invoice} MERGE INTO PMS_REL_PROD_REF_DEPT T USING DUAL ON (T.TARGET_OBJID = #{targetObjId} AND T.DEPT_CODE = #{deptCode}) WHEN NOT MATCHED THEN INSERT ( OBJID , TARGET_OBJID , DEPT_CODE , REGDATE ) VALUES ( #{objId} , #{targetObjId} , #{deptCode} , SYSDATE ) MERGE INTO PMS_REL_PJT_CONCEPT_PROD USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET PROD_OBJID = #{productObjId} , ESTIMATE_NO = #{estimateNo} , ESTIMATE_REQ_DATE = TO_DATE(#{estimateReqDate}, 'YYYY-MM-DD') , ESTIMATE_SUBMIT_DATE = TO_DATE(#{estimateSubmitDate}, 'YYYY-MM-DD') , ESTIMATE_PIC = #{estimatePICUserId} , YEARLY_AVG_PRODUCTION_CNT = #{productionAvgCnt} , TOTAL_PRODUCTION_CNT = #{productionAllCnt} , IS_DEL = '1' WHEN NOT MATCHED THEN INSERT ( OBJID , TARGET_OBJID , PROD_OBJID , ESTIMATE_NO , ESTIMATE_REQ_DATE , ESTIMATE_SUBMIT_DATE , ESTIMATE_PIC , YEARLY_AVG_PRODUCTION_CNT , TOTAL_PRODUCTION_CNT , IS_DEL , WRITER , REGDATE , STATUS ) VALUES ( #{objId} , #{targetObjId} , #{productObjId} , #{estimateNo} , TO_DATE(#{estimateReqDate}, 'YYYY-MM-DD') , TO_DATE(#{estimateSubmitDate}, 'YYYY-MM-DD') , #{estimatePICUserId} , #{productionAvgCnt} , #{productionAllCnt} , '1' , #{userId} , sysdate , 'create' ) UPDATE PMS_REL_PROD_REF_DEPT SET REPLY_REQ_DATE = #{replyReqDate} WHERE TARGET_OBJID = #{targetObjId} AND DEPT_CODE = #{deptCode} MERGE INTO PMS_PJT_CONCEPT_INFO USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET FOREIGN_TYPE = #{foreignType} , OEM_OBJID = #{oemObjId} , CAR_OBJID = #{carTypeObjId} , PJT_TYPE = #{projectType} , OEM_FACTORY = #{factory} WHEN NOT MATCHED THEN INSERT ( OBJID , FOREIGN_TYPE , OEM_OBJID , CAR_OBJID , PJT_TYPE , OEM_FACTORY , IS_DEL , WRITER , STATUS , REGDATE ) VALUES ( #{objId} , #{foreignType} , #{oemObjId} , #{carTypeObjId} , #{projectType} , #{factory} , '1' , #{userId} , 'create' , sysdate ) MERGE INTO ORDER_MGMT_SUBLIST USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET PARENT_OBJID = #{parentObjId} ,MODEL_NAME = #{model_name} ,SPEC_CD = #{spec_cd} ,CNT = #{count} ,CONTRACT_AMOUNT = #{contract_amount} ,DELIVERY_DATE = #{delivery_date} ,SCH_DATE = #{sch_date} WHEN NOT MATCHED THEN INSERT ( OBJID ,PARENT_OBJID ,MODEL_NAME ,SPEC_CD ,CNT ,CONTRACT_AMOUNT ,DELIVERY_DATE ,SCH_DATE ,REG_DATE ) VALUES ( #{objId} ,#{parentObjId} ,#{model_name} ,#{spec_cd} ,#{count} ,#{contract_amount} ,#{delivery_date} ,#{sch_date} ,sysdate ) DELETE FROM PMS_REL_PJT_CONCEPT_MILESTONE WHERE TARGET_OBJID = #{objId} MERGE INTO PMS_REL_PJT_CONCEPT_MILESTONE USING DUAL ON (TARGET_OBJID = #{targetObjId} AND MILESTONE_OBJID = #{milestoneObjId}) WHEN MATCHED THEN UPDATE SET MILESTONE_DATE = TO_DATE(#{milestoneDate}, 'YYYY-MM-DD') WHEN NOT MATCHED THEN INSERT ( OBJID , TARGET_OBJID , OEM_OBJID , MILESTONE_OBJID , MILESTONE_DATE ) VALUES ( #{objId} , #{targetObjId} , #{oemObjId} , #{milestoneObjId} , #{milestoneDate} ) DELETE FROM PMS_REL_PROD_REF_DEPT WHERE TARGET_OBJID = #{objId} DELETE FROM PMS_REL_PROD_REF_DEPT WHERE OBJID = #{objId} DELETE FROM PMS_REL_PJT_CONCEPT_PROD WHERE OBJID = #{objId} DELETE FROM ORDER_MGMT_SUBLIST WHERE OBJID IN #{objkey} UPDATE PMS_REL_PJT_CONCEPT_PROD SET BIDDING_RESULT = #{biddingResult} WHERE OBJID = #{projectConceptProdObjId} UPDATE PMS_REL_PJT_CONCEPT_PROD SET STATUS = #{changeStatus} WHERE OBJID = #{projectConceptProdObjId} UPDATE PMS_REL_PJT_CONCEPT_PROD SET STATUS = 'complete' WHERE OBJID = #{conceptProdObjId} UPDATE PMS_PJT_CONCEPT_INFO SET STATUS = 'complete' WHERE OBJID = #{targetObjId} MERGE INTO PMS_PJT_CONCEPT_QNA P USING DUAL ON ( P.OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET P.FOREIGN_TYPE = #{region}, P.OEM_OBJID = #{oem}, P.CAR_OBJID = #{carType}, P.PROD_GROUP_OBJID = #{productGroup}, P.PROD_OBJID = #{productType}, P.TITLE = #{qnaTitle}, P.CONTENTS = #{qnaContents} WHEN NOT MATCHED THEN INSERT ( P.OBJID, P.FOREIGN_TYPE, P.OEM_OBJID, P.CAR_OBJID, P.PROD_GROUP_OBJID, P.PROD_OBJID, P.TITLE, P.CONTENTS, P.WRITER, P.REGDATE ) VALUES ( #{objId}, #{region}, #{oem}, #{carType}, #{productGroup}, #{productType}, #{qnaTitle}, #{qnaContents}, #{writer}, SYSDATE ) DELETE FROM ORDER_MGMT WHERE order_mgmt_objid=#{objId}::integer DELETE FROM ORDER_MGMT_EXAMPLE WHERE order_mgmt_objid = #{orderobjId}::integer INSERT INTO ORDER_MGMT_EXAMPLE ( OBJID ,ORDER_MGMT_OBJID ,SORT ,NAME ,PRODUCT_NAME ,STANDARD ,LENGTH ,UNIT ,QTY ,UNIT_PRICE ,PRICE ,ORI_PRICE ,REGDATE ) VALUES ( #{OBJID}::integer ,#{ORDER_MGMT_OBJID}::integer ,#{SORT} ,#{NAME} ,#{PRODUCT_NAME} ,#{STANDARD} ,#{LENGTH} ,#{UNIT} ,REPLACE(#{QTY},',','') ,REPLACE(#{UNIT_PRICE},',','') ,REPLACE(#{PRICE},',','') ,REPLACE(#{ORI_PRICE},',','') ,now() )