DELETE SURTAX WHERE OBJID=#{objId} UPDATE MATERIAL_MASTER_MGMT SET DEL_YN='Y' WHERE MATERIAL_MASTER_OBJID=#{objId}::integer DELETE FROM MATERIAL_DETAIL_MGMT WHERE MATERIAL_MASTER_OBJID=#{objId}::integer MERGE INTO SURTAX USING DUAL ON (OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET ORDER_MGMT_OBJID=#{project_no} ,REGION_CD=#{h_region_cd} ,CUSTOMER_CD=#{h_customer_cd} ,REG_DATE=#{reg_date} ,TITLE=#{title} ,QTY=#{qty} ,PRICE=#{price} ,SUP_PRICE=#{sup_price} ,SUR_PRICE=#{sur_price} ,TOTAL_PRICE=#{total_price} ,REG_USER_ID=#{reg_user_id} WHEN NOT MATCHED THEN INSERT ( OBJID ,ORDER_MGMT_OBJID ,REGION_CD ,CUSTOMER_CD ,REG_DATE ,TITLE ,QTY ,PRICE ,SUP_PRICE ,SUR_PRICE ,TOTAL_PRICE ,REG_USER_ID ) VALUES ( #{objId} ,#{project_no} ,#{h_region_cd} ,#{h_customer_cd} ,#{reg_date} ,#{title} ,#{qty} ,#{price} ,#{sup_price} ,#{sur_price} ,#{total_price} ,#{userId} ) MERGE INTO INVENTORY_MGMT USING DUAL ON (INVENTORY_MGMT_OBJID = #{objId}) WHEN MATCHED THEN UPDATE SET PROJECT_MGMT_OBJID=#{projectno} ,PART_NAME=#{part_name} ,SPEC_CD=#{spec_cd} ,MFA_CD=#{mfa_cd} ,QTY=#{qty} ,UNIT_PRICE=#{unit_price} ,DEPT_CD=#{dept_cd} ,REG_DATE=#{reg_date} ,INV_CD=#{sort_cd} ,INV_REA_CD=#{reason_cd} ,INV_PUR_CD=#{pur_cd} ,INV_LOC_CD=#{local_cd} WHEN NOT MATCHED THEN INSERT ( INVENTORY_MGMT_OBJID ,PROJECT_MGMT_OBJID ,PART_NAME ,SPEC_CD ,MFA_CD ,QTY ,UNIT_PRICE ,DEPT_CD ,REG_DATE ,INV_CD ,INV_REA_CD ,INV_PUR_CD ,INV_LOC_CD ,REG_USER_ID ) VALUES ( #{objId} ,#{projectno} ,#{part_name} ,#{spec_cd} ,#{mfa_cd} ,#{qty} ,#{unit_price} ,#{dept_cd} ,#{reg_date} ,#{sort_cd} ,#{reason_cd} ,#{pur_cd} ,#{local_cd} ,#{userId} ) DELETE FROM MATERIAL_RELEASE WHERE INVENTORY_MGMT_OBJID = #{inventory_mgmt_objid}::integer INSERT INTO MATERIAL_RELEASE ( MATERIAL_RELEASE_OBJID ,INVENTORY_MGMT_OBJID ,PROJECT_MGMT_OBJID ,REL_QTY ,REL_PUR_CD ,REL_DATE ,REL_USER_ID ,REG_DATE ,REG_USER_ID ) VALUES ( #{MATERIAL_RELEASE_OBJID} ,#{INVENTORY_MGMT_OBJID} ,#{PROJECT_MGMT_OBJID} ,#{REL_QTY} ,#{REL_PUR_CD} ,#{REL_DATE} ,#{REL_USER_ID} ,sysdate ,#{USERID} ) UPDATE MATERIAL_MASTER_MGMT SET STATUS_CD =#{status} WHERE MATERIAL_MASTER_OBJID =#{material_master_objid}::numeric UPDATE MATERIAL_MASTER_MGMT SET FINAL_ORDER_AMOUNT = #{total} WHERE MATERIAL_MASTER_OBJID =#{material_master_objid} UPDATE MATERIAL_DETAIL_MGMT SET WARE_DATE =#{WARE_DATE} ,WARE_QTY = #{WARE_QTY} ,RESULT = #{RESULT} ,LOCATION = #{LOCATION} ,INVENTORY_OBJID = #{OBJID}::numeric WHERE MATERIAL_DETAIL_OBJID =#{MATERIAL_DETAIL_OBJID}::numeric UPDATE MATERIAL_DETAIL_MGMT SET INVENTORY_OBJID = #{OBJID}::numeric WHERE MATERIAL_DETAIL_OBJID =#{MATERIAL_DETAIL_OBJID}::numeric INSERT INTO MATERIAL_DETAIL_MGMT ( MATERIAL_DETAIL_OBJID ,MATERIAL_MASTER_OBJID ,RESOURCE_OBJID ,QTY ,PRICE ,UNIT_PRICE ,BIGO ,PART_NAME ,DO_NO ,THICKNESS ,WIDTH ,HEIGHT ,OUT_DIAMETER ,IN_DIAMETER ,LENGTH ) VALUES ( #{MATERIAL_DETAIL_OBJID}::integer ,#{MATERIAL_MASTER_OBJID}::integer ,#{RESOURCE_OBJID}::integer ,#{QTY} ,#{PRICE} ,#{UNIT_PRICE} ,#{BIGO} ,#{PART_NAME } ,#{DO_NO } ,#{THICKNESS } ,#{WIDTH } ,#{HEIGHT } ,#{OUT_DIAMETER } ,#{IN_DIAMETER } ,#{LENGTH } ) INSERT INTO MATERIAL_COMPANY_MGMT ( MATERIAL_COMPANY_OBJID ,PROJECT_MGMT_OBJID ,PART_MGMT_OBJID ,SUP_CD ,REG_DATE ,REG_USER_ID ) VALUES ( #{MATERIAL_COMPANY_OBJID} ,#{PROJECT_MGMT_OBJID} ,#{PART_MGMT_OBJID} ,#{SUP_CD} ,sysdate ,#{connectUserId} ) UPDATE PART_MGMT SET SUP_CD=#{SUP_CD} WHERE PART_MGMT_OBJID =#{PART_MGMT_OBJID} DELETE FROM MATERIAL_COMPANY_MGMT WHERE PROJECT_MGMT_OBJID = #{PROJECT_MGMT_OBJID} INSERT INTO MATERIAL_MASTER_MGMT ( MATERIAL_MASTER_OBJID ,ORDER_NO ,SUP_CD ,TITLE ,FINAL_ORDER_AMOUNT ,REASON ,DELIVERY_PLACE ,RECV_DATE ,REG_USER_ID ,RECV_USERID ,STATUS_CD ,REG_DATE ,DEL_YN ,ORDER_DATE ) VALUES ( #{material_master_objid}::integer ,(SELECT 'PO'||TO_CHAR(NOW(),'yyyy')::VARCHAR ||'-'||LPAD((SELECT (COUNT(1)+1) FROM MATERIAL_MASTER_MGMT AS T)::VARCHAR ,3,'0')) ,#{sup_cd} ,#{title} ,trim(replace(#{final_order_amount},',','')) ,#{reason} ,#{delivery_place} ,#{recv_date} ,#{connectUserId} ,#{recv_userid} ,#{status_cd} ,now() ,'N' ,#{order_date} ) ON CONFLICT (material_master_objid) DO UPDATE SET SUP_CD =#{sup_cd} ,TITLE =#{title} ,RECV_USERID =#{recv_userid} ,RECV_DATE =#{recv_date} ,FINAL_ORDER_AMOUNT =trim(replace(#{final_order_amount},',','')) ,REASON =#{reason} ,STATUS_CD =#{status_cd} ,ORDER_DATE =#{order_date} UPDATE MATERIAL_MASTER_MGMT SET CHANGE_AMOUNT =TRIM(replace(#{change_amount},',','')) ,FINAL_ORDER_AMOUNT =TRIM(replace(#{final_order_amount},',','')) ,STATUS_CD =#{status_cd} WHERE MATERIAL_MASTER_OBJID =#{material_master_objid} DELETE FROM MATERIAL_DETAIL_MGMT WHERE MATERIAL_MASTER_OBJID = #{material_master_objid}::integer UPDATE MATERIAL_MASTER_MGMT SET STATUS_CD = 'PURSTCD00400' WHERE MATERIAL_MASTER_OBJID = #{targetObjId} UPDATE MATERIAL_MASTER_MGMT SET STATUS_CD = 'PURSTCD00700' ,ORDER_DATE = TO_CHAR(now(),'YYYY-MM-DD') WHERE MATERIAL_MASTER_OBJID = #{targetObjId}::integer UPDATE PART_MGMT SET REL_STATUS = 'PRTS00200' WHERE PART_MGMT_OBJID IN(SELECT PART_MGMT_OBJID FROM MATERIAL_DETAIL_MGMT WHERE MATERIAL_MASTER_OBJID = #{targetObjId}) UPDATE PART_MGMT SET REL_STATUS = #{status} WHERE PART_MGMT_OBJID = #{objId} INSERT INTO INVENTORY_MNG ( OBJID ,PARENT_OBJID ,DIVISION ,QTY ,LOCATION ,REMARK ,REGDATE ,EDITDATE ,WRITER ,IS_LAST ) VALUES ( #{OBJID}::numeric ,#{RESOURCE_OBJID}::numeric ,null ,#{WARE_QTY} ,#{LOCATION} ,'자재발주 입고 자동등록' ,now() ,null ,#{WRITER} ,'Y' ) UPDATE INVENTORY_MNG SET IS_LAST='N' WHERE PARENT_OBJID = #{RESOURCE_OBJID}::numeric AND LOCATION = #{LOCATION}