- 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
327 lines
11 KiB
XML
327 lines
11 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="fundMgmt">
|
|
<sql id="fundMgmtBase">
|
|
(
|
|
SELECT
|
|
CM.*
|
|
|
|
,FM.OBJID AS FUND_OBJID
|
|
,FM.PARENT_OBJID
|
|
|
|
,FM.CONTRACT_COST
|
|
,FM.CONTRACT_COST_DUE_DATE
|
|
|
|
,FM.CONTRACT_COST_RESULT
|
|
,FM.CONTRACT_COST_RESULT_DATE
|
|
|
|
,FM.MID_PAY_COST1
|
|
,FM.MID_PAY_COST1_DUE_DATE
|
|
|
|
,FM.MID_PAY_COST1_RESULT
|
|
,FM.MID_PAY_COST1_RESULT_DATE
|
|
|
|
,FM.MID_PAY_COST2
|
|
,FM.MID_PAY_COST2_DUE_DATE
|
|
|
|
,FM.MID_PAY_COST2_RESULT
|
|
,FM.MID_PAY_COST2_RESULT_DATE
|
|
|
|
,FM.BALANCE_COST
|
|
,FM.BALANCE_COST_DUE_DATE
|
|
|
|
,FM.BALANCE_COST_RESULT
|
|
,FM.BALANCE_COST_RESULT_DATE
|
|
|
|
,FM.STATUS AS FUND_STATUS
|
|
,(SELECT CODE_NAME FROM COMM_CODE WHERE 1=1 AND CODE_ID = FM.STATUS) AS FUND_STATUS_NAME
|
|
,FM.REGDATE AS FUND_REGDATE
|
|
,FM.WRITER AS FUND_WRITER
|
|
|
|
,CASE
|
|
WHEN FM.BALANCE_COST_RESULT_DATE IS NOT NULL AND FM.BALANCE_COST_RESULT_DATE != '' THEN '잔금입금'
|
|
WHEN FM.MID_PAY_COST2_RESULT_DATE IS NOT NULL AND FM.MID_PAY_COST2_RESULT_DATE != '' THEN '중도금(2차)입금'
|
|
WHEN FM.MID_PAY_COST1_RESULT_DATE IS NOT NULL AND FM.MID_PAY_COST1_RESULT_DATE != '' THEN '중도금(1차)입금'
|
|
WHEN FM.CONTRACT_COST_RESULT_DATE IS NOT NULL AND FM.CONTRACT_COST_RESULT_DATE != '' THEN '계약금입금'
|
|
WHEN FM.CONTRACT_COST_RESULT_DATE IS NULL OR FM.CONTRACT_COST_RESULT_DATE = '' THEN '미입금'
|
|
ELSE '미입금'
|
|
END FUND_STATUS_TITLE
|
|
FROM (
|
|
SELECT
|
|
OBJID
|
|
,CONTRACT_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
|
|
,(SELECT O.CUSTOMER_PROJECT_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CUSTOMER_PROJECT_NAME
|
|
,STATUS_CD
|
|
,CODE_NAME(STATUS_CD) AS STATUS_NAME
|
|
,(SELECT O.DUE_DATE FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS DUE_DATE
|
|
,LOCATION
|
|
,SETUP
|
|
,FACILITY
|
|
,CODE_NAME(FACILITY) AS FACILITY_NAME
|
|
,FACILITY_QTY
|
|
,FACILITY_TYPE
|
|
,FACILITY_DEPTH
|
|
,PRODUCTION_NO
|
|
,BUS_CAL_CD
|
|
,CODE_NAME(BUS_CAL_CD) AS BUS_CAL_NAME
|
|
,CATEGORY1_CD
|
|
,CODE_NAME(CATEGORY1_CD) AS CATEGORY1_NAME
|
|
,CHG_USER_ID
|
|
,(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = T.CHG_USER_ID ) AS CHG_USER_NAME
|
|
,PLAN_DATE
|
|
,COMPLETE_DATE
|
|
,RESULT_CD
|
|
,CODE_NAME(RESULT_CD) AS RESULT_NAME
|
|
,PROJECT_NO
|
|
,PM_USER_ID
|
|
,(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = T.PM_USER_ID ) AS PM_USER_NAME
|
|
,CONTRACT_PRICE
|
|
,CONTRACT_CURRENCY
|
|
,CODE_NAME(CONTRACT_CURRENCY) AS CONTRACT_CURRENCY_NAME
|
|
,CONTRACT_PRICE_CURRENCY
|
|
,REGDATE
|
|
,TO_CHAR(REGDATE,'YYYY-MM-DD') AS REG_DATE
|
|
,WRITER
|
|
,(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = T.WRITER ) AS WRITER_NAME
|
|
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = T.OBJID AND DOC_TYPE='contractMgmt01' AND UPPER(STATUS) = 'ACTIVE') AS CU01_CNT
|
|
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = T.OBJID AND DOC_TYPE='contractMgmt02' AND UPPER(STATUS) = 'ACTIVE') AS CU02_CNT
|
|
,CONTRACT_NO
|
|
,CUSTOMER_EQUIP_NAME
|
|
,(SELECT O.REQ_DEL_DATE FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS REQ_DEL_DATE
|
|
,CONTRACT_DEL_DATE
|
|
,CONTRACT_COMPANY
|
|
,CODE_NAME(CONTRACT_COMPANY) AS CONTRACT_COMPANY_NAME
|
|
,(SELECT O.CONTRACT_DATE FROM CONTRACT_MGMT AS O WHERE O.OBJID = CONTRACT_OBJID) AS CONTRACT_DATE
|
|
,PO_NO
|
|
,MANUFACTURE_PLANT
|
|
,CODE_NAME(MANUFACTURE_PLANT) AS MANUFACTURE_PLANT_NAME
|
|
,CONTRACT_RESULT
|
|
,CODE_NAME(CONTRACT_RESULT) AS CONTRACT_RESULT_NAME
|
|
,CODE_NAME(AREA_CD) AS AREA_NAME
|
|
,PROJECT_NAME
|
|
,MECHANICAL_TYPE
|
|
,OVERHAUL_ORDER
|
|
FROM PROJECT_MGMT AS T
|
|
) CM
|
|
|
|
LEFT OUTER JOIN FUND_MGMT FM
|
|
ON CM.OBJID::VARCHAR = FM.PARENT_OBJID
|
|
WHERE 1=1
|
|
)
|
|
</sql>
|
|
|
|
<sql id="fundMgmtBase2">
|
|
(
|
|
SELECT
|
|
CM.OBJID
|
|
|
|
,CM.CONTRACT_NO
|
|
,CM.CUSTOMER_OBJID
|
|
|
|
,(SELECT SUPPLY_CODE FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS SUPPLY_CODE
|
|
,(SELECT CODE_NAME(SUPPLY_CODE) FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS SUPPLY_CODE_NAME
|
|
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS SUPPLY_NAME
|
|
|
|
,(SELECT AREA_CD FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS AREA_CD
|
|
,(SELECT CODE_NAME(AREA_CD) FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS AREA_CD_NAME
|
|
|
|
,(SELECT CHARGE_USER_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS CHARGE_USER_NAME
|
|
,(SELECT REG_ID FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS REG_ID
|
|
,(SELECT BUS_REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS BUS_REG_NO
|
|
,(SELECT REG_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS REG_NO
|
|
,(SELECT SUPPLY_BUSNAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS SUPPLY_BUSNAME
|
|
,(SELECT SUPPLY_STOCKNAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS SUPPLY_STOCKNAME
|
|
,(SELECT SUPPLY_ADDRESS FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS SUPPLY_ADDRESS
|
|
,(SELECT SUPPLY_TEL_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS SUPPLY_TEL_NO
|
|
,(SELECT EMAIL FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS EMAIL
|
|
,(SELECT OFFICE_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS OFFICE_NO
|
|
,(SELECT SUPPLY_FAX_NO FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS SUPPLY_FAX_NO
|
|
|
|
,CM.CATEGORY_CD
|
|
,CODE_NAME(CM.CATEGORY_CD) AS CATEGORY_CD_NAME
|
|
,CM.PRODUCT
|
|
,(SELECT PRODUCT_CODE FROM PRODUCT_MGMT AS O WHERE O.OBJID::VARCHAR = CM.PRODUCT) AS PRODUCT_CODE
|
|
,(SELECT PRODUCT_NAME FROM PRODUCT_MGMT AS O WHERE O.OBJID::VARCHAR = CM.PRODUCT) AS PRODUCT_NAME
|
|
|
|
,FM.OBJID AS FUND_OBJID
|
|
,FM.PARENT_OBJID
|
|
,FM.CONTRACT_COST
|
|
,FM.CONTRACT_COST_DUE_DATE
|
|
,FM.CONTRACT_COST_RESULT
|
|
,FM.CONTRACT_COST_RESULT_DATE
|
|
,FM.MID_PAY_COST1
|
|
,FM.MID_PAY_COST1_DUE_DATE
|
|
,FM.MID_PAY_COST1_RESULT
|
|
,FM.MID_PAY_COST1_RESULT_DATE
|
|
,FM.MID_PAY_COST2
|
|
,FM.MID_PAY_COST2_DUE_DATE
|
|
,FM.MID_PAY_COST2_RESULT
|
|
,FM.MID_PAY_COST2_RESULT_DATE
|
|
,FM.BALANCE_COST
|
|
,FM.BALANCE_COST_DUE_DATE
|
|
,FM.BALANCE_COST_RESULT
|
|
,FM.BALANCE_COST_RESULT_DATE
|
|
,FM.STATUS AS FUND_STATUS
|
|
,(SELECT CODE_NAME FROM COMM_CODE WHERE 1=1 AND CODE_ID = FM.STATUS) AS FUND_STATUS_NAME
|
|
,FM.REGDATE
|
|
,FM.WRITER AS FUND_WRITER
|
|
|
|
,CASE
|
|
WHEN BALANCE_COST_RESULT_DATE IS NOT NULL THEN '잔금입금'
|
|
WHEN MID_PAY_COST2_RESULT_DATE IS NOT NULL THEN '중도금(2차)입금'
|
|
WHEN MID_PAY_COST1_RESULT_DATE IS NOT NULL THEN '중도금(1차)입금'
|
|
WHEN CONTRACT_COST_RESULT_DATE IS NOT NULL THEN '계약금입금'
|
|
ELSE '미입금'
|
|
END FUND_STATUS_TITLE
|
|
|
|
FROM PROJECT_MGMT CM
|
|
LEFT OUTER JOIN FUND_MGMT FM
|
|
ON CM.OBJID::VARCHAR = FM.PARENT_OBJID
|
|
WHERE 1=1
|
|
)
|
|
</sql>
|
|
|
|
<!-- //자금관리 리스트 -->
|
|
<select id="getFundMgmtList" parameterType="map" resultType="map">
|
|
SELECT
|
|
T.*
|
|
,ROW_NUMBER() OVER (PARTITION BY CONTRACT_NO ORDER BY CONTRACT_NO DESC) AS RSEQ
|
|
FROM
|
|
<include refid="fundMgmtBase"/> T
|
|
WHERE 1=1
|
|
<if test="Year !=null and Year != '' ">
|
|
AND TO_CHAR(REGDATE,'YYYY') = #{Year}
|
|
</if>
|
|
|
|
<if test="project_no !=null and project_no != '' ">
|
|
AND OBJID = #{project_no}
|
|
</if>
|
|
|
|
<if test="category_cd !=null and category_cd != '' ">
|
|
AND category_cd = #{category_cd}
|
|
</if>
|
|
|
|
<if test="customer_objid !=null and customer_objid != '' ">
|
|
AND customer_objid = #{customer_objid}
|
|
</if>
|
|
|
|
<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>
|
|
<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>
|
|
|
|
<if test="fund_status !=null and fund_status !=''">
|
|
AND fund_status = #{fund_status}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="getFundMgmtInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
*
|
|
FROM
|
|
<include refid="fundMgmtBase2"/> FMB
|
|
WHERE 1=1
|
|
AND OBJID::VARCHAR = #{PARENT_OBJID}
|
|
</select>
|
|
|
|
<update id="saveFundMgmtInfo" parameterType="map">
|
|
INSERT INTO
|
|
FUND_MGMT
|
|
(
|
|
OBJID
|
|
,PARENT_OBJID
|
|
,CONTRACT_COST
|
|
,CONTRACT_COST_DUE_DATE
|
|
,CONTRACT_COST_RESULT
|
|
,CONTRACT_COST_RESULT_DATE
|
|
,MID_PAY_COST1
|
|
,MID_PAY_COST1_DUE_DATE
|
|
,MID_PAY_COST1_RESULT
|
|
,MID_PAY_COST1_RESULT_DATE
|
|
,MID_PAY_COST2
|
|
,MID_PAY_COST2_DUE_DATE
|
|
,MID_PAY_COST2_RESULT
|
|
,MID_PAY_COST2_RESULT_DATE
|
|
,BALANCE_COST
|
|
,BALANCE_COST_DUE_DATE
|
|
,BALANCE_COST_RESULT
|
|
,BALANCE_COST_RESULT_DATE
|
|
,STATUS
|
|
,REGDATE
|
|
,WRITER
|
|
)VALUES(
|
|
#{FUND_OBJID}
|
|
,#{PARENT_OBJID}
|
|
,#{CONTRACT_COST}
|
|
,#{CONTRACT_COST_DUE_DATE}
|
|
,#{CONTRACT_COST_RESULT}
|
|
,#{CONTRACT_COST_RESULT_DATE}
|
|
,#{MID_PAY_COST1}
|
|
,#{MID_PAY_COST1_DUE_DATE}
|
|
,#{MID_PAY_COST1_RESULT}
|
|
,#{MID_PAY_COST1_RESULT_DATE}
|
|
,#{MID_PAY_COST2}
|
|
,#{MID_PAY_COST2_DUE_DATE}
|
|
,#{MID_PAY_COST2_RESULT}
|
|
,#{MID_PAY_COST2_RESULT_DATE}
|
|
,#{BALANCE_COST}
|
|
,#{BALANCE_COST_DUE_DATE}
|
|
,#{BALANCE_COST_RESULT}
|
|
,#{BALANCE_COST_RESULT_DATE}
|
|
,#{STATUS}
|
|
,NOW()
|
|
,#{WRITER}
|
|
)ON CONFLICT (OBJID) DO
|
|
UPDATE
|
|
SET
|
|
PARENT_OBJID = #{PARENT_OBJID}
|
|
,CONTRACT_COST = #{CONTRACT_COST}
|
|
,CONTRACT_COST_DUE_DATE = #{CONTRACT_COST_DUE_DATE}
|
|
,CONTRACT_COST_RESULT = #{CONTRACT_COST_RESULT}
|
|
,CONTRACT_COST_RESULT_DATE = #{CONTRACT_COST_RESULT_DATE}
|
|
,MID_PAY_COST1 = #{MID_PAY_COST1}
|
|
,MID_PAY_COST1_DUE_DATE = #{MID_PAY_COST1_DUE_DATE}
|
|
,MID_PAY_COST1_RESULT = #{MID_PAY_COST1_RESULT}
|
|
,MID_PAY_COST1_RESULT_DATE = #{MID_PAY_COST1_RESULT_DATE}
|
|
,MID_PAY_COST2 = #{MID_PAY_COST2}
|
|
,MID_PAY_COST2_DUE_DATE = #{MID_PAY_COST2_DUE_DATE}
|
|
,MID_PAY_COST2_RESULT = #{MID_PAY_COST2_RESULT}
|
|
,MID_PAY_COST2_RESULT_DATE = #{MID_PAY_COST2_RESULT_DATE}
|
|
,BALANCE_COST = #{BALANCE_COST}
|
|
,BALANCE_COST_DUE_DATE = #{BALANCE_COST_DUE_DATE}
|
|
,BALANCE_COST_RESULT = #{BALANCE_COST_RESULT}
|
|
,BALANCE_COST_RESULT_DATE = #{BALANCE_COST_RESULT_DATE}
|
|
,STATUS = #{STATUS}
|
|
</update>
|
|
|
|
<delete id="deleteFundMgmtInfo" parameterType="map">
|
|
DELETE FROM FUND_MGMT WHERE 1=1
|
|
<if test="checkArr != null and checkArr !=''">
|
|
<![CDATA[ AND 0 < POSITION(PARENT_OBJID::TEXT || ',' IN #{checkArr}||',') ]]>
|
|
</if>
|
|
</delete>
|
|
|
|
</mapper>
|
|
|