auto commit
This commit is contained in:
@@ -486,8 +486,57 @@
|
||||
,CODE_NAME(AREA_CD) AS AREA_NAME
|
||||
,MECHANICAL_TYPE
|
||||
,OVERHAUL_ORDER
|
||||
,PAID_TYPE
|
||||
,RECEIPT_DATE
|
||||
,PART_NO
|
||||
,PART_NAME
|
||||
,SERIAL_NO
|
||||
,QUANTITY
|
||||
,CUSTOMER_REQUEST
|
||||
,EXCHANGE_RATE
|
||||
,A.APPR_STATUS
|
||||
,A.APPROVAL_OBJID
|
||||
,A.ROUTE_OBJID
|
||||
FROM
|
||||
CONTRACT_MGMT AS T
|
||||
LEFT OUTER JOIN
|
||||
(
|
||||
SELECT
|
||||
B.OBJID AS ROUTE_OBJID,
|
||||
CASE B.STATUS
|
||||
WHEN 'inProcess' THEN '결재중'
|
||||
WHEN 'complete' THEN '결재완료'
|
||||
WHEN 'reject' THEN '반려'
|
||||
ELSE ''
|
||||
END APPR_STATUS,
|
||||
A.OBJID AS APPROVAL_OBJID,
|
||||
A.TARGET_OBJID,
|
||||
B.ROUTE_SEQ
|
||||
FROM
|
||||
APPROVAL A,
|
||||
(
|
||||
select
|
||||
T1.*
|
||||
from
|
||||
(
|
||||
select
|
||||
TARGET_OBJID,
|
||||
max(T.ROUTE_SEQ) as ROUTE_SEQ
|
||||
from
|
||||
ROUTE T
|
||||
group by
|
||||
T.TARGET_OBJID
|
||||
) T,
|
||||
ROUTE T1
|
||||
where
|
||||
T.TARGET_OBJID = T1.TARGET_OBJID
|
||||
and T.ROUTE_SEQ = T1.ROUTE_SEQ
|
||||
) B
|
||||
WHERE
|
||||
A.OBJID = B.APPROVAL_OBJID
|
||||
AND TARGET_TYPE IN ('CONTRACT_ESTIMATE')
|
||||
) A
|
||||
ON T.OBJID::numeric = A.TARGET_OBJID
|
||||
)
|
||||
</sql>
|
||||
|
||||
@@ -519,21 +568,27 @@
|
||||
<if test="product != null and product !='' ">
|
||||
AND product = #{product}
|
||||
</if>
|
||||
|
||||
|
||||
<if test="status_cd !=null and status_cd !=''">
|
||||
AND status_cd = #{status_cd}
|
||||
</if>
|
||||
|
||||
|
||||
|
||||
<if test="result_cd !=null and result_cd !=''">
|
||||
AND result_cd = #{result_cd}
|
||||
</if>
|
||||
|
||||
<if test="contract_start_date != null and !''.equals(contract_start_date)">
|
||||
AND TO_DATE(CONTRACT_DATE,'YYYY-MM-DD') <![CDATA[ >= ]]> TO_DATE(#{contract_start_date}, 'YYYY-MM-DD')
|
||||
<if test="receipt_start_date != null and !''.equals(receipt_start_date)">
|
||||
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ >= ]]> TO_DATE(#{receipt_start_date}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
<if test="contract_end_date != null and !''.equals(contract_end_date)">
|
||||
AND TO_DATE(CONTRACT_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> TO_DATE(#{contract_end_date}, 'YYYY-MM-DD')
|
||||
<if test="receipt_end_date != null and !''.equals(receipt_end_date)">
|
||||
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> TO_DATE(#{receipt_end_date}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
|
||||
<if test="due_start_date != null and !''.equals(due_start_date)">
|
||||
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ >= ]]> TO_DATE(#{due_start_date}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
<if test="due_end_date != null and !''.equals(due_end_date)">
|
||||
AND TO_DATE(DUE_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> TO_DATE(#{due_end_date}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
|
||||
<if test="pm_user_id !=null and pm_user_id !=''">
|
||||
@@ -600,7 +655,46 @@
|
||||
</if>
|
||||
<if test="contract_month != null and !''.equals(contract_month)">
|
||||
AND TO_DATE(TO_CHAR(TO_DATE(CONTRACT_DATE,'YYYY-MM-DD'),'YYYY-MM-DD'),'YYYY-MM') <![CDATA[ = ]]> TO_DATE(SUBSTRING(#{contract_month} FROM 1 FOR 4) || '-' || SUBSTRING(#{contract_month} FROM 5 FOR 2), 'YYYY-MM')
|
||||
</if>
|
||||
</if>
|
||||
|
||||
<!-- 견적관리 추가 검색조건 -->
|
||||
<if test="appr_status !=null and appr_status != '' ">
|
||||
AND APPR_STATUS = #{appr_status}
|
||||
</if>
|
||||
|
||||
<if test="area_cd != null and area_cd !='' ">
|
||||
AND AREA_CD = #{area_cd}
|
||||
</if>
|
||||
|
||||
<if test="paid_type != null and paid_type !='' ">
|
||||
AND PAID_TYPE = #{paid_type}
|
||||
</if>
|
||||
|
||||
<if test="search_partNo != null and search_partNo != ''">
|
||||
AND UPPER(PART_NO) LIKE UPPER('%${search_partNo}%')
|
||||
</if>
|
||||
|
||||
<if test="search_partName != null and search_partName != ''">
|
||||
AND UPPER(PART_NAME) LIKE UPPER('%${search_partName}%')
|
||||
</if>
|
||||
|
||||
<if test="search_serialNo != null and search_serialNo != ''">
|
||||
AND UPPER(SERIAL_NO) LIKE UPPER('%${search_serialNo}%')
|
||||
</if>
|
||||
|
||||
<if test="receipt_start_date != null and !''.equals(receipt_start_date)">
|
||||
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ >= ]]> TO_DATE(#{receipt_start_date}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
<if test="receipt_end_date != null and !''.equals(receipt_end_date)">
|
||||
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> TO_DATE(#{receipt_end_date}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
|
||||
<if test="due_start_date != null and !''.equals(due_start_date)">
|
||||
AND TO_DATE(RECEIPT_DATE,'YYYY-MM-DD') <![CDATA[ >= ]]> TO_DATE(#{due_start_date}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
<if test="due_end_date != null and !''.equals(due_end_date)">
|
||||
AND TO_DATE(DUE_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> TO_DATE(#{due_end_date}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
ORDER BY REGDATE DESC
|
||||
</select>
|
||||
|
||||
@@ -724,9 +818,193 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<update id="saveContractMgmtInfo" parameterType="map">
|
||||
INSERT INTO CONTRACT_MGMT
|
||||
(
|
||||
OBJID
|
||||
,CATEGORY_CD
|
||||
,CUSTOMER_OBJID
|
||||
,PRODUCT
|
||||
,CUSTOMER_PROJECT_NAME
|
||||
,STATUS_CD
|
||||
,DUE_DATE
|
||||
,LOCATION
|
||||
,SETUP
|
||||
,FACILITY
|
||||
,FACILITY_QTY
|
||||
,FACILITY_TYPE
|
||||
,FACILITY_DEPTH
|
||||
,PRODUCTION_NO
|
||||
,BUS_CAL_CD
|
||||
,CATEGORY1_CD
|
||||
,CHG_USER_ID
|
||||
,PLAN_DATE
|
||||
,COMPLETE_DATE
|
||||
,RESULT_CD
|
||||
,PROJECT_NO
|
||||
,PM_USER_ID
|
||||
,CONTRACT_PRICE
|
||||
,CONTRACT_PRICE_CURRENCY
|
||||
,CONTRACT_CURRENCY
|
||||
,REGDATE
|
||||
,WRITER
|
||||
,CONTRACT_NO
|
||||
,CUSTOMER_EQUIP_NAME
|
||||
,REQ_DEL_DATE
|
||||
,CONTRACT_DEL_DATE
|
||||
,CONTRACT_COMPANY
|
||||
,CONTRACT_DATE
|
||||
,PO_NO
|
||||
,MANUFACTURE_PLANT
|
||||
,CONTRACT_RESULT
|
||||
,PROJECT_NAME
|
||||
,SPEC_USER_ID
|
||||
,SPEC_PLAN_DATE
|
||||
,SPEC_COMP_DATE
|
||||
,SPEC_RESULT_CD
|
||||
,EST_USER_ID
|
||||
,EST_PLAN_DATE
|
||||
,EST_COMP_DATE
|
||||
,EST_RESULT_CD
|
||||
,AREA_CD
|
||||
,TARGET_PROJECT_NO
|
||||
,TARGET_PROJECT_NO_DIRECT
|
||||
,CUSTOMER_PRODUCTION_NO
|
||||
,MECHANICAL_TYPE
|
||||
,OVERHAUL_ORDER
|
||||
,PAID_TYPE
|
||||
,RECEIPT_DATE
|
||||
,PART_NO
|
||||
,PART_NAME
|
||||
,SERIAL_NO
|
||||
,QUANTITY
|
||||
,CUSTOMER_REQUEST
|
||||
,EXCHANGE_RATE
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{objId}
|
||||
,#{category_cd}
|
||||
,#{customer_objid}
|
||||
,#{product}
|
||||
,#{customer_project_name}
|
||||
,#{status_cd}
|
||||
,#{due_date}
|
||||
,#{location}
|
||||
,#{setup}
|
||||
,#{facility}
|
||||
,#{facility_qty}
|
||||
,#{facility_type}
|
||||
,#{facility_depth}
|
||||
,#{production_no}
|
||||
,#{bus_cal_cd}
|
||||
,#{category1_cd}
|
||||
,#{chg_user_id}
|
||||
,#{plan_date}
|
||||
,#{complete_date}
|
||||
,#{result_cd}
|
||||
,#{project_no}
|
||||
,#{pm_user_id}
|
||||
,#{contract_price}
|
||||
,#{contract_price_currency}
|
||||
,#{contract_currency}
|
||||
,NOW()
|
||||
,#{writer}
|
||||
,(SELECT TO_CHAR(NOW(),'yy')::VARCHAR ||'C-'||LPAD((SELECT NEXTVAL('contract_mgmt_seq'))::VARCHAR ,4,'0'))
|
||||
,#{customer_equip_name}
|
||||
,#{req_del_date}
|
||||
,#{contract_del_date}
|
||||
,#{contract_company}
|
||||
,#{contract_date}
|
||||
,#{po_no}
|
||||
,#{manufacture_plant}
|
||||
,#{contract_result}
|
||||
,#{project_name}
|
||||
,#{spec_user_id}
|
||||
,#{spec_plan_date}
|
||||
,#{spec_comp_date}
|
||||
,#{spec_result_cd}
|
||||
,#{est_user_id}
|
||||
,#{est_plan_date}
|
||||
,#{est_comp_date}
|
||||
,#{est_result_cd}
|
||||
,#{area_cd}
|
||||
,#{target_project_no}
|
||||
,#{target_project_no_direct}
|
||||
,#{customer_production_no}
|
||||
,#{mechanical_type}
|
||||
,#{overhaul_order}
|
||||
,#{paid_type}
|
||||
,#{receipt_date}
|
||||
,#{part_no}
|
||||
,#{part_name}
|
||||
,#{serial_no}
|
||||
,#{quantity}
|
||||
,#{customer_request}
|
||||
,#{exchange_rate}
|
||||
)
|
||||
ON CONFLICT (OBJID) DO
|
||||
UPDATE
|
||||
SET
|
||||
CATEGORY_CD = #{category_cd}
|
||||
,CUSTOMER_OBJID = #{customer_objid}
|
||||
,PRODUCT = #{product}
|
||||
,CUSTOMER_PROJECT_NAME = #{customer_project_name}
|
||||
,STATUS_CD = #{status_cd}
|
||||
,DUE_DATE = #{due_date}
|
||||
,LOCATION = #{location}
|
||||
,SETUP = #{setup}
|
||||
,FACILITY = #{facility}
|
||||
,FACILITY_QTY = #{facility_qty}
|
||||
,FACILITY_TYPE = #{facility_type}
|
||||
,FACILITY_DEPTH = #{facility_depth}
|
||||
,PRODUCTION_NO = #{production_no}
|
||||
,BUS_CAL_CD = #{bus_cal_cd}
|
||||
,CATEGORY1_CD = #{category1_cd}
|
||||
,CHG_USER_ID = #{chg_user_id}
|
||||
,PLAN_DATE = #{plan_date}
|
||||
,COMPLETE_DATE = #{complete_date}
|
||||
,RESULT_CD = #{result_cd}
|
||||
,PROJECT_NO = #{project_no}
|
||||
,PM_USER_ID = #{pm_user_id}
|
||||
,CONTRACT_PRICE = #{contract_price}
|
||||
,CONTRACT_PRICE_CURRENCY = #{contract_price_currency}
|
||||
,CONTRACT_CURRENCY = #{contract_currency}
|
||||
,CUSTOMER_EQUIP_NAME = #{customer_equip_name}
|
||||
,REQ_DEL_DATE = #{req_del_date}
|
||||
,CONTRACT_DEL_DATE = #{contract_del_date}
|
||||
,CONTRACT_COMPANY = #{contract_company}
|
||||
,CONTRACT_DATE = #{contract_date}
|
||||
,PO_NO = #{po_no}
|
||||
,MANUFACTURE_PLANT = #{manufacture_plant}
|
||||
,CONTRACT_RESULT = #{contract_result}
|
||||
,PROJECT_NAME = #{project_name}
|
||||
,SPEC_USER_ID = #{spec_user_id}
|
||||
,SPEC_PLAN_DATE = #{spec_plan_date}
|
||||
,SPEC_COMP_DATE = #{spec_comp_date}
|
||||
,SPEC_RESULT_CD = #{spec_result_cd}
|
||||
,EST_USER_ID = #{est_user_id}
|
||||
,EST_PLAN_DATE = #{est_plan_date}
|
||||
,EST_COMP_DATE = #{est_comp_date}
|
||||
,EST_RESULT_CD = #{est_result_cd}
|
||||
,AREA_CD = #{area_cd}
|
||||
,TARGET_PROJECT_NO = #{target_project_no}
|
||||
,TARGET_PROJECT_NO_DIRECT= #{target_project_no_direct}
|
||||
,CUSTOMER_PRODUCTION_NO = #{customer_production_no}
|
||||
,MECHANICAL_TYPE = #{mechanical_type}
|
||||
,OVERHAUL_ORDER = #{overhaul_order}
|
||||
,PAID_TYPE = #{paid_type}
|
||||
,RECEIPT_DATE = #{receipt_date}
|
||||
,PART_NO = #{part_no}
|
||||
,PART_NAME = #{part_name}
|
||||
,SERIAL_NO = #{serial_no}
|
||||
,QUANTITY = #{quantity}
|
||||
,CUSTOMER_REQUEST = #{customer_request}
|
||||
,EXCHANGE_RATE = #{exchange_rate}
|
||||
</update>
|
||||
|
||||
<update id="saveContractMgmtInfo_old" parameterType="map">
|
||||
INSERT INTO CONTRACT_MGMT
|
||||
(
|
||||
OBJID
|
||||
,CATEGORY_CD
|
||||
@@ -1096,6 +1374,14 @@
|
||||
,CUSTOMER_PRODUCTION_NO
|
||||
,MECHANICAL_TYPE
|
||||
,OVERHAUL_ORDER
|
||||
,PAID_TYPE
|
||||
,RECEIPT_DATE
|
||||
,PART_NO
|
||||
,PART_NAME
|
||||
,SERIAL_NO
|
||||
,QUANTITY
|
||||
,CUSTOMER_REQUEST
|
||||
,EXCHANGE_RATE
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt01' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT1
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt02' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT2
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID::VARCHAR = A.OBJID AND DOC_TYPE='contractMgmt03' AND UPPER(STATUS) = 'ACTIVE') AS FILE_CNT3
|
||||
@@ -3376,5 +3662,218 @@ ORDER BY ASM.SUPPLY_NAME
|
||||
-->
|
||||
FROM END_COUNT E, PROJECT_STATS P, ING_COUNT I, DELAY_COUNT D, HOLD_COUNT H, NOPLAN_COUNT N
|
||||
</select>
|
||||
|
||||
<!-- 견적서 템플릿 관련 쿼리 -->
|
||||
|
||||
<!-- 견적서 기본 정보 조회 -->
|
||||
<select id="getEstimateTemplateInfo" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
OBJID,
|
||||
CATEGORY_CD,
|
||||
CODE_NAME(CATEGORY_CD) AS CATEGORY_NAME,
|
||||
CUSTOMER_OBJID,
|
||||
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = T.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME,
|
||||
PRODUCT,
|
||||
CODE_NAME(PRODUCT) AS PRODUCT_NAME,
|
||||
CUSTOMER_PROJECT_NAME,
|
||||
AREA_CD,
|
||||
CODE_NAME(AREA_CD) AS AREA_NAME,
|
||||
PAID_TYPE,
|
||||
RECEIPT_DATE,
|
||||
PART_NO,
|
||||
PART_NAME,
|
||||
SERIAL_NO,
|
||||
QUANTITY,
|
||||
CUSTOMER_REQUEST,
|
||||
CONTRACT_CURRENCY,
|
||||
CODE_NAME(CONTRACT_CURRENCY) AS CONTRACT_CURRENCY_NAME,
|
||||
EXCHANGE_RATE,
|
||||
DUE_DATE,
|
||||
WRITER,
|
||||
(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = T.WRITER) AS WRITER_NAME,
|
||||
REGDATE,
|
||||
TO_CHAR(REGDATE,'YYYY-MM-DD') AS REG_DATE
|
||||
FROM
|
||||
CONTRACT_MGMT AS T
|
||||
WHERE
|
||||
OBJID = #{objId}::NUMERIC
|
||||
</select>
|
||||
|
||||
<!-- 견적서 템플릿 데이터 조회 (ESTIMATE_TEMPLATE 테이블) -->
|
||||
<select id="getEstimateTemplateData" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
OBJID,
|
||||
CONTRACT_OBJID,
|
||||
TEMPLATE_TYPE,
|
||||
EXECUTOR,
|
||||
RECIPIENT,
|
||||
ESTIMATE_NO,
|
||||
CONTACT_PERSON,
|
||||
GREETING_TEXT,
|
||||
MODEL_NAME,
|
||||
MODEL_CODE,
|
||||
EXECUTOR_DATE,
|
||||
NOTE1,
|
||||
NOTE2,
|
||||
NOTE3,
|
||||
NOTE4,
|
||||
WRITER,
|
||||
REGDATE,
|
||||
CHG_USER_ID,
|
||||
CHGDATE
|
||||
FROM
|
||||
ESTIMATE_TEMPLATE
|
||||
WHERE
|
||||
CONTRACT_OBJID = #{objId}::NUMERIC
|
||||
<if test="template_type != null and template_type != ''">
|
||||
AND TEMPLATE_TYPE = #{template_type}
|
||||
</if>
|
||||
ORDER BY REGDATE DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 견적서 템플릿 품목 조회 -->
|
||||
<select id="getEstimateTemplateItems" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
OBJID,
|
||||
TEMPLATE_OBJID,
|
||||
SEQ,
|
||||
CATEGORY,
|
||||
DESCRIPTION,
|
||||
SPECIFICATION,
|
||||
QUANTITY,
|
||||
UNIT,
|
||||
UNIT_PRICE,
|
||||
AMOUNT,
|
||||
NOTE,
|
||||
REMARK
|
||||
FROM
|
||||
ESTIMATE_TEMPLATE_ITEM
|
||||
WHERE
|
||||
TEMPLATE_OBJID IN (
|
||||
SELECT OBJID
|
||||
FROM ESTIMATE_TEMPLATE
|
||||
WHERE CONTRACT_OBJID = #{objId}::NUMERIC
|
||||
)
|
||||
ORDER BY SEQ
|
||||
</select>
|
||||
|
||||
<!-- 견적서 템플릿 저장 -->
|
||||
<insert id="insertEstimateTemplate" parameterType="map">
|
||||
INSERT INTO ESTIMATE_TEMPLATE (
|
||||
CONTRACT_OBJID,
|
||||
TEMPLATE_TYPE,
|
||||
EXECUTOR,
|
||||
RECIPIENT,
|
||||
ESTIMATE_NO,
|
||||
CONTACT_PERSON,
|
||||
GREETING_TEXT,
|
||||
MODEL_NAME,
|
||||
MODEL_CODE,
|
||||
EXECUTOR_DATE,
|
||||
NOTE1,
|
||||
NOTE2,
|
||||
NOTE3,
|
||||
NOTE4,
|
||||
WRITER,
|
||||
REGDATE,
|
||||
CHG_USER_ID,
|
||||
CHGDATE
|
||||
) VALUES (
|
||||
#{objId}::NUMERIC,
|
||||
#{template_type},
|
||||
#{executor},
|
||||
#{recipient},
|
||||
#{estimate_no},
|
||||
#{contact_person},
|
||||
#{greeting_text},
|
||||
#{model_name},
|
||||
#{model_code},
|
||||
#{executor_date},
|
||||
#{note1},
|
||||
#{note2},
|
||||
#{note3},
|
||||
#{note4},
|
||||
#{writer},
|
||||
NOW(),
|
||||
#{chg_user_id},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 견적서 템플릿 수정 -->
|
||||
<update id="updateEstimateTemplate" parameterType="map">
|
||||
UPDATE ESTIMATE_TEMPLATE
|
||||
SET
|
||||
EXECUTOR = #{executor},
|
||||
RECIPIENT = #{recipient},
|
||||
ESTIMATE_NO = #{estimate_no},
|
||||
CONTACT_PERSON = #{contact_person},
|
||||
GREETING_TEXT = #{greeting_text},
|
||||
MODEL_NAME = #{model_name},
|
||||
MODEL_CODE = #{model_code},
|
||||
EXECUTOR_DATE = #{executor_date},
|
||||
NOTE1 = #{note1},
|
||||
NOTE2 = #{note2},
|
||||
NOTE3 = #{note3},
|
||||
NOTE4 = #{note4},
|
||||
CHG_USER_ID = #{chg_user_id},
|
||||
CHGDATE = NOW()
|
||||
WHERE
|
||||
CONTRACT_OBJID = #{objId}::NUMERIC
|
||||
AND TEMPLATE_TYPE = #{template_type}
|
||||
</update>
|
||||
|
||||
<!-- 견적서 템플릿 품목 삭제 -->
|
||||
<delete id="deleteEstimateTemplateItems" parameterType="map">
|
||||
DELETE FROM ESTIMATE_TEMPLATE_ITEM
|
||||
WHERE
|
||||
TEMPLATE_OBJID IN (
|
||||
SELECT OBJID
|
||||
FROM ESTIMATE_TEMPLATE
|
||||
WHERE CONTRACT_OBJID = #{objId}::NUMERIC
|
||||
)
|
||||
</delete>
|
||||
|
||||
<!-- 견적서 템플릿 품목 저장 -->
|
||||
<insert id="insertEstimateTemplateItems" parameterType="map">
|
||||
INSERT INTO ESTIMATE_TEMPLATE_ITEM (
|
||||
TEMPLATE_OBJID,
|
||||
SEQ,
|
||||
CATEGORY,
|
||||
DESCRIPTION,
|
||||
SPECIFICATION,
|
||||
QUANTITY,
|
||||
UNIT,
|
||||
UNIT_PRICE,
|
||||
AMOUNT,
|
||||
NOTE,
|
||||
REMARK
|
||||
)
|
||||
SELECT
|
||||
(SELECT OBJID FROM ESTIMATE_TEMPLATE WHERE CONTRACT_OBJID = #{objId}::NUMERIC AND TEMPLATE_TYPE = #{template_type}),
|
||||
(json_array_elements(#{items_json}::json)->>'seq')::INTEGER,
|
||||
json_array_elements(#{items_json}::json)->>'category',
|
||||
json_array_elements(#{items_json}::json)->>'description',
|
||||
json_array_elements(#{items_json}::json)->>'specification',
|
||||
json_array_elements(#{items_json}::json)->>'quantity',
|
||||
json_array_elements(#{items_json}::json)->>'unit',
|
||||
(json_array_elements(#{items_json}::json)->>'unit_price')::NUMERIC,
|
||||
(json_array_elements(#{items_json}::json)->>'amount')::NUMERIC,
|
||||
json_array_elements(#{items_json}::json)->>'note',
|
||||
json_array_elements(#{items_json}::json)->>'remark'
|
||||
</insert>
|
||||
|
||||
<!-- 견적서 템플릿 카테고리 업데이트 (장비 견적서용) -->
|
||||
<update id="updateEstimateTemplateCategories" parameterType="map">
|
||||
UPDATE ESTIMATE_TEMPLATE
|
||||
SET
|
||||
CATEGORIES_JSON = #{categories_json},
|
||||
CHG_USER_ID = #{chg_user_id},
|
||||
CHGDATE = NOW()
|
||||
WHERE
|
||||
CONTRACT_OBJID = #{objId}::NUMERIC
|
||||
AND TEMPLATE_TYPE = #{template_type}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user