1208 lines
45 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="com.interplug.qcast.biz.estimate.EstimateMapper">
<select id="selectEstimateDetail" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.EstimateResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateDetail */
SELECT
P.OBJECT_NO
, P.PLAN_NO
, P.CONSTRUCT_SPECIFICATION
, P.SETUP_HEIGHT
, P.WEATHER_POINT
, P.ROOF_KIND_ID
, P.SLOPE
, P.ANGLE
, P.ROOF_MATERIAL_CLASS_ID
, P.ROOF_MATERIAL_ID
, P.SUPPORT_METHOD_ID
, P.MODULE_MODEL
, P.DRAWING_ESTIMATE_CREATE_DATE
, P.CHARGER
, P.ESTIMATE_VALIDITY_TERM
, P.DECISION_PLAN
, P.NUMBER
, P.CAPACITY
, P.SNOWFALL
, P.STANDARD_WIND_SPEED_CHECK
, P.OPTION_COVER
, P.HANWFA_FLG
, P.STAND_KIND_ID
, P.STANDARD_WIND_SPEED_ID
, P.SUPPORT_MEAKER
, P.CONSUMPTION_TAX_ID
, P.STATUS
, P.PC_TYPE_NO
, P.NORTH_ARRANGEMENT
, P.CONSTRUCT_SPECIFICATION_MULTI
, P.ROOF_MATERIAL_ID_MULTI
, P.SUPPORT_METHOD_ID_MULTI
, P.SUPPORT_MEAKER_MULTI
, P.DIFF_ROOF_ENABLED
, P.ORDER_FLG
, P.ESTIMATE_DATE
, P.DOC_NO
, P.ESTIMATE_TYPE
, P.FILE_FLG
, P.ESTIMATE_OPTION
, P.PKG_ASP
, P.PRICE_CD
, P.REMARKS
, P.LOCK_FLG
, P.TEMP_FLG
, P.LAST_EDIT_DATETIME
, P.CREATE_DATETIME
, P.CREATE_USER
, O.OBJECT_NAME
, O.OBJECT_NAME_OMIT
, O.REMARKS AS OBJECT_REMARKS
, O.SALE_STORE_ID
, ISNULL(O.COLD_REGION_FLG, '0') AS COLD_REGION_FLG
, ISNULL(O.SALT_AREA_FLG, '0') AS SALT_AREA_FLG
, SS.FIRST_AGENT_ID
, SS.SALE_STORE_LEVEL
, CASE WHEN ISNULL(SS.FIRST_AGENT_ID, '') = '' THEN SS.SALE_STORE_NAME ELSE (SELECT SALE_STORE_NAME FROM M_SALES_STORE WHERE SALE_STORE_ID = SS.FIRST_AGENT_ID) END AS FIRST_SALE_STORE_NAME
, CASE WHEN ISNULL(SS.FIRST_AGENT_ID, '') = '' THEN NULL ELSE SS.SALE_STORE_NAME END AS AGENCY_SALE_STORE_NAME
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO
INNER JOIN M_SALES_STORE SS WITH(NOLOCK)
ON O.SALE_STORE_ID = SS.SALE_STORE_ID
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
AND P.DEL_FLG = '0'
</select>
<select id="selectEstimatePdfDetail" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.EstimateResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectPdfEstimateDetail */
SELECT
T.*
, SS1.SALE_STORE_NAME AS CUST_SALE_STORE_NAME
, CASE WHEN SS2.DISP_COMPANY_NAME IS NOT NULL THEN SS2.DISP_COMPANY_NAME ELSE SS2.SALE_STORE_NAME END AS SALE_STORE_NAME
, CASE WHEN SS2.DISP_ZIP_NO IS NOT NULL THEN SS2.DISP_ZIP_NO ELSE SS2.ZIP_NO END AS ZIP_NO
, CASE WHEN SS2.DISP_ADDRESS IS NOT NULL THEN SS2.DISP_ADDRESS ELSE SS2.ADDRESS END AS ADDRESS
, CASE WHEN SS2.DISP_TEL IS NOT NULL THEN SS2.DISP_TEL ELSE SS2.TEL END AS TEL
, CASE WHEN SS2.DISP_FAX IS NOT NULL THEN SS2.DISP_FAX ELSE SS2.FAX END AS FAX
, SS2.BIZ_NO
FROM
(
SELECT
P.OBJECT_NO
, P.PLAN_NO
, CONVERT(VARCHAR(10), P.DRAWING_ESTIMATE_CREATE_DATE, 121) AS DRAWING_ESTIMATE_CREATE_DATE
, P.ESTIMATE_VALIDITY_TERM
, P.SNOWFALL
, P.ESTIMATE_TYPE
, P.ESTIMATE_OPTION
, P.PKG_ASP
, P.REMARKS
, CONVERT(NVARCHAR(10), P.LAST_EDIT_DATETIME, 121) AS ESTIMATE_DATE
, O.SALE_STORE_ID
, O.OBJECT_NAME
, O.OBJECT_NAME_OMIT
, (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = O.CREATE_USER) AS CREATE_SALE_STORE_ID
, ISNULL(MP.PREF_NAME, '') AS PREF_NAME
, ISNULL(MPA.AREA_NAME, '') AS AREA_NAME
, ISNULL(C1.CODE_NM, '') AS STANDARD_WIND_SPEED_NAME
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO
LEFT OUTER JOIN M_PREFECTURE MP WITH (NOLOCK)
ON O.PREF_ID = MP.PREF_ID
LEFT OUTER JOIN M_PREFECTURE_AREA MPA WITH (NOLOCK)
ON O.PREF_ID = MPA.PREF_ID
AND O.AREA_ID = MPA.AREA_ID
LEFT OUTER JOIN M_COMM_L C1 WITH (NOLOCK)
ON C1.HEAD_CD = '202000'
AND P.STANDARD_WIND_SPEED_ID = C1.CODE
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
) T
LEFT OUTER JOIN M_SALES_STORE SS1 WITH (NOLOCK)
ON T.SALE_STORE_ID = SS1.SALE_STORE_ID
LEFT OUTER JOIN M_SALES_STORE SS2 WITH (NOLOCK)
ON T.CREATE_SALE_STORE_ID = SS2.SALE_STORE_ID
</select>
<select id="selectEstimateApiFailList" resultType="com.interplug.qcast.biz.estimate.dto.EstimateSendResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateApiFailList */
SELECT
O.OBJECT_NO
, O.SALE_STORE_ID
, O.OBJECT_NAME
, O.OBJECT_NAME_OMIT
, O.RECEIVE_COMPANY_NAME
, O.RECEIVE_USER
, O.DELIVERY_ZIP_NO
, O.DELIVERY_TARGET
, O.DELIVERY_TEL
, O.DELIVERY_HOPE_DATE
, O.SPECIFICATION_CONFIRM_DATE
, O.PAYMENT_TERMS
, O.CAR_KIND_CD
, O.TRACK_KAIND AS TRACK_KIND
, O.TRACK_10T_DELIVERY
, O.TRACK_WEIGHT
, O.TRACK_TIME_SPECIFY
, O.TRACK_TIME
, O.FORKLIFT
, O.HOUSE_CLASS_CD
, O.BUSINESS_CHARGER_CD
, O.BUSINESS_GROUP_CD
, P.PLAN_NO
, P.CONSTRUCT_SPECIFICATION
, P.NORTH_ARRANGEMENT
, P.ESTIMATE_TYPE
, P.PKG_ASP
, P.DEL_FLG
, CONVERT(NVARCHAR(10), P.CREATE_DATETIME, 121) AS ESTIMATE_DETAIL_CREATE_DATE
, P.LAST_EDIT_DATETIME
, P.LAST_EDIT_USER
, (SELECT CODE FROM M_COMM_L WHERE HEAD_CD = '200800' AND CODE_NM = O.OBJECT_NAME_OMIT) AS OBJECT_NAME_OMIT_CD
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO
INNER JOIN M_SALES_STORE SS WITH(NOLOCK)
ON O.SALE_STORE_ID = SS.SALE_STORE_ID
WHERE P.SYNC_FLG = '0'
AND O.SOURCE_ORIGIN = 'QCAST_III'
AND O.ORG_DEL_FLG = '0'
</select>
<select id="selectEstimateApiDetail" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.EstimateSendResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateApiDetail */
SELECT
O.OBJECT_NO
, O.SALE_STORE_ID
, O.OBJECT_NAME
, O.OBJECT_NAME_OMIT
, O.RECEIVE_COMPANY_NAME
, O.RECEIVE_USER
, O.DELIVERY_ZIP_NO
, O.DELIVERY_TARGET
, O.DELIVERY_TEL
, O.DELIVERY_HOPE_DATE
, O.SPECIFICATION_CONFIRM_DATE
, O.PAYMENT_TERMS
, O.CAR_KIND_CD
, O.TRACK_KAIND AS TRACK_KIND
, O.TRACK_10T_DELIVERY
, O.TRACK_WEIGHT
, O.TRACK_TIME_SPECIFY
, O.TRACK_TIME
, O.FORKLIFT
, O.HOUSE_CLASS_CD
, O.BUSINESS_CHARGER_CD
, O.BUSINESS_GROUP_CD
, P.PLAN_NO
, P.CONSTRUCT_SPECIFICATION
, P.NORTH_ARRANGEMENT
, P.ESTIMATE_TYPE
, P.PKG_ASP
, P.DEL_FLG
, CONVERT(NVARCHAR(10), P.CREATE_DATETIME, 121) AS ESTIMATE_DETAIL_CREATE_DATE
, P.LAST_EDIT_DATETIME
, P.LAST_EDIT_USER
, (SELECT CODE FROM M_COMM_L WHERE HEAD_CD = '200800' AND CODE_NM = O.OBJECT_NAME_OMIT) AS OBJECT_NAME_OMIT_CD
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO
INNER JOIN M_SALES_STORE SS WITH(NOLOCK)
ON O.SALE_STORE_ID = SS.SALE_STORE_ID
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
</select>
<select id="selectEstimateDrawingItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.ItemResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateDrawingItemList */
SELECT
PDE.OBJECT_NO
, PDE.PLAN_NO
, PDE.DISP_ORDER
, PDE.ITEM_ID
, PDE.AMOUNT
FROM T_PART_DRAWING_ESTIMATE PDE WITH (NOLOCK)
INNER JOIN M_ITEM I WITH (NOLOCK)
ON PDE.ITEM_ID = I.ITEM_ID
WHERE PDE.OBJECT_NO = #{objectNo}
AND PDE.PLAN_NO = #{planNo}
ORDER BY
PDE.DISP_ORDER ASC
</select>
<select id="selectEstimateItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.ItemResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateItemList */
SELECT
PE.OBJECT_NO
, PE.PLAN_NO
, PE.DISP_ORDER
, PE.PA_DISP_ORDER
, PE.ITEM_ID
, PE.ITEM_NO
, PE.ITEM_NAME
, PE.UNIT
, PE.SPECIFICATION
, PE.AMOUNT
, PE.BOM_AMOUNT
, PE.UNIT_PRICE
, PE.SALE_PRICE
, PE.FILE_UPLOAD_FLG
, PE.PKG_MATERIAL_FLG
, PE.SPECIAL_NOTE_CD
, PE.OPEN_FLG
, PE.ITEM_CHANGE_FLG
, I.PNOW_W
, I.ITEM_GROUP
, CASE WHEN I.ITEM_GROUP = 'MODULE_' THEN '1' ELSE '0' END AS MODULE_FLG
FROM T_PART_ESTIMATE PE WITH (NOLOCK)
INNER JOIN M_ITEM I WITH (NOLOCK)
ON PE.ITEM_ID = I.ITEM_ID
WHERE PE.OBJECT_NO = #{objectNo}
AND PE.PLAN_NO = #{planNo}
<if test='schBomNotExist != null and schBomNotExist == "1"'>
AND (PE.PA_DISP_ORDER IS NULL OR PE.PA_DISP_ORDER = '')
</if>
ORDER BY
PE.DISP_ORDER ASC
</select>
<select id="selectItemMasterList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.ItemResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectItemMasterList */
SELECT
I.ITEM_ID
, I.ITEM_NO
, I.ITEM_NAME
, I.UNIT
, I.PNOW_W
, I.ITEM_GROUP
, I.PKG_MATERIAL_FLG
, I.FILE_UPLOAD_FLG
, I.ITEM_CTG_GR
, ISNULL(PPM.SALE_PRICE, '0') AS SALE_PRICE
, CASE WHEN PPM.SALE_PRICE = 0 THEN '1' ELSE '0' END AS OPEN_FLG
FROM M_ITEM I WITH (NOLOCK)
LEFT OUTER JOIN M_PRICE_PATTERN_MONEY PPM
ON PPM.PRICE_PATTERN = '510'
AND I.ITEM_ID = PPM.ITEM_ID
WHERE I.ITEM_ID IN
<foreach collection="arrItemId" item="itemId" index="index" separator="," open="(" close=")">
#{itemId}
</foreach>
</select>
<select id="selectItemMasterBomList" parameterType="String" resultType="com.interplug.qcast.biz.estimate.dto.ItemResponse">
/* sqlid : com.interplug.qcast.displayItem.selectItemBomList */
SELECT
PI.ITEM_ID
, PI.AMOUNT AS BOM_AMOUNT
, I.ITEM_NO
, I.ITEM_NAME
, I.UNIT
, I.PNOW_W
, I.ITEM_GROUP
, I.PKG_MATERIAL_FLG
, I.FILE_UPLOAD_FLG
, I.ITEM_CTG_GR
, '0' AS SALE_PRICE
FROM M_PACKAGE_ITEM PI WITH (NOLOCK)
INNER JOIN M_ITEM I WITH (NOLOCK)
ON PI.ITEM_ID = I.ITEM_ID
WHERE PI.PACKAGE_ITEM_ID = #{itemId}
AND I.DEL_FLG = 0
</select>
<select id="selectEstimateRoofCertVolKw" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="String">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofCertVolKw */
SELECT
FORMAT(ISNULL(SUM(CASE WHEN T.MODULE_VOL_KW <![CDATA[ <= ]]> T.PC_VOL_KW THEN T.MODULE_VOL_KW ELSE T.PC_VOL_KW END), 0), '#,##0.000') AS CERT_VOL_KW
FROM
(
SELECT
P.OBJECT_NO
, P.PLAN_NO
, PE.ITEM_ID
, PE.AMOUNT
, PE.SPECIFICATION
, I.ITEM_NAME
, ROUND((PE.AMOUNT * CAST(ISNULL(PE.SPECIFICATION, 0) AS FLOAT) / 1000), 4) AS PC_VOL_KW
, ISNULL((
SELECT
SUM((AMOUNT * CAST(ISNULL(SPECIFICATION, 0) AS FLOAT) / 1000))
FROM T_PART_ROOF_ITEM_ESTIMATE (NOLOCK)
WHERE OBJECT_NO = PE.OBJECT_NO
AND PLAN_NO = PE.PLAN_NO
AND PC_ITEM_ID = PE.ITEM_ID
), 0) AS MODULE_VOL_KW
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PART_ESTIMATE PE WITH (NOLOCK)
ON P.OBJECT_NO = PE.OBJECT_NO
AND P.PLAN_NO = PE.PLAN_NO
INNER JOIN M_ITEM I WITH (NOLOCK)
ON PE.ITEM_ID = I.ITEM_ID
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
AND I.ITEM_GROUP = 'PC_'
) T
</select>
<select id="selectEstimateRoofList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.RoofResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofList */
SELECT
P.OBJECT_NO
, P.PLAN_NO
, ROUND(CAST(P.SETUP_HEIGHT AS FLOAT), 2) AS SETUP_HEIGHT
, P.SURFACE_TYPE
, RE.ROOF_SURFACE_ID
, RE.ROOF_SURFACE
, RE.ROOF_MATERIAL_ID
, RE.SUPPORT_METHOD_ID
, RE.CONSTRUCT_SPECIFICATION
, ROUND(CAST(RE.SLOPE AS FLOAT), 2) AS SLOPE
, RE.ANGLE
, RE.AZIMUTH
, RE.CLASS_TYPE
, ISNULL(C1.CODE_NM, '') AS ROOF_MATERIAL_NAME
, ISNULL(C2.CODE_NM, '') AS SUPPORT_METHOD_NAME
, ISNULL(C3.CODE_NM, '') AS CONSTRUCT_SPECIFICATION_NAME
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PART_ROOF_ESTIMATE RE WITH (NOLOCK)
ON P.OBJECT_NO = RE.OBJECT_NO
AND P.PLAN_NO = RE.PLAN_NO
LEFT OUTER JOIN M_COMM_L C1 WITH (NOLOCK)
ON C1.HEAD_CD = '201900'
AND RE.ROOF_MATERIAL_ID = C1.CODE
LEFT OUTER JOIN M_COMM_L C2 WITH (NOLOCK)
ON C2.HEAD_CD = '203400'
AND RE.SUPPORT_METHOD_ID = C2.CODE
LEFT OUTER JOIN M_COMM_L C3 WITH (NOLOCK)
ON C3.HEAD_CD = '201300'
AND RE.CONSTRUCT_SPECIFICATION = C3.CODE
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
</select>
<select id="selectEstimateRoofItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.RoofResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofList */
SELECT
PIE.ROOF_SURFACE_ID
, PIE.OBJECT_NO
, PIE.PLAN_NO
, PIE.ITEM_ID
, PIE.ITEM_NO
, PIE.ITEM_NAME
, ISNULL(PIE.SPECIFICATION, '') AS SPECIFICATION
, PIE.AMOUNT
, PIE.PC_ITEM_ID
FROM T_PART_ROOF_ITEM_ESTIMATE PIE WITH (NOLOCK)
WHERE PIE.OBJECT_NO = #{objectNo}
AND PIE.PLAN_NO = #{planNo}
ORDER BY PIE.ROOF_SURFACE_ID
</select>
<select id="selectEstimateCircuitItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.ItemResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateCircuitItemList */
SELECT
PE.ITEM_ID
, PE.ITEM_NO
, PE.ITEM_NAME
, PCIE.CIRCUIT_CFG
FROM T_PART_ESTIMATE PE WITH (NOLOCK)
INNER JOIN T_PART_CIRCUIT_ITEM_ESTIMATE PCIE WITH (NOLOCK)
ON PE.OBJECT_NO = PCIE.OBJECT_NO
AND PE.PLAN_NO = PCIE.PLAN_NO
AND PE.ITEM_ID = PCIE.ITEM_ID
WHERE PE.OBJECT_NO = #{objectNo}
AND PE.PLAN_NO = #{planNo}
</select>
<select id="selectEstimateRoofVolList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.RoofResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofVolList */
SELECT
T.OBJECT_NO
, T.PLAN_NO
, T.ROOF_SURFACE_ID
, T.ROOF_SURFACE
, T.SLOPE
, T.ANGLE
, T.CLASS_TYPE
, T.ITEM_ID
, SUM(T.AMOUNT) AS AMOUNT
, ROUND(SUM(T.AMOUNT * T.SPECIFICATION / 1000), 4) AS VOL_KW
FROM
(
SELECT
P.OBJECT_NO
, P.PLAN_NO
, RE.ROOF_SURFACE_ID
, RE.ROOF_SURFACE
, ROUND(CAST(RE.SLOPE AS FLOAT), 2) AS SLOPE
, ROUND(CAST(RE.ANGLE AS FLOAT), 2) AS ANGLE
, RE.CLASS_TYPE
, RIE.AMOUNT
, CAST(RIE.SPECIFICATION AS FLOAT) SPECIFICATION
, I.ITEM_ID
, I.ITEM_GROUP
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PART_ROOF_ESTIMATE RE WITH (NOLOCK)
ON P.OBJECT_NO = RE.OBJECT_NO
AND P.PLAN_NO = RE.PLAN_NO
INNER JOIN T_PART_ROOF_ITEM_ESTIMATE RIE WITH (NOLOCK)
ON RE.ROOF_SURFACE_ID = RIE.ROOF_SURFACE_ID
AND RE.OBJECT_NO = RIE.OBJECT_NO
AND RE.PLAN_NO = RIE.PLAN_NO
INNER JOIN M_ITEM I WITH (NOLOCK)
ON RIE.ITEM_ID = I.ITEM_ID
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
<if test='schItemGroup != null and schItemGroup != ""'>
AND I.ITEM_GROUP = #{schItemGroup}
</if>
) T
GROUP BY T.OBJECT_NO, T.PLAN_NO, T.ROOF_SURFACE_ID, T.ROOF_SURFACE, T.SLOPE, T.ANGLE, T.CLASS_TYPE, T.ITEM_ID
ORDER BY T.ROOF_SURFACE_ID, T.ITEM_ID
</select>
<select id="selectEstimateNoteTitleList" parameterType="com.interplug.qcast.biz.estimate.dto.NoteRequest" resultType="com.interplug.qcast.biz.estimate.dto.NoteResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateNoteTitleList */
SELECT
MAX(T.CODE_NM) AS CODE_NM
, STUFF((
SELECT '、' + CODE FROM M_COMM_L T2
WHERE T2.HEAD_CD = '202400' AND T.REF_CHR3 = T2.REF_CHR3
FOR XML PATH('')),1,1,''
) AS CODE
, CASE WHEN T.REF_CHR1 = 'PROD' AND COUNT(1) > 1 THEN '1' ELSE '0' END AS PKG_YN
FROM (
SELECT
CL.CODE
, CL.CODE_NM
, CL.REF_CHR1
, CAST(CL.REF_CHR3 AS INT) AS REF_CHR3
, CL.PRIORITY
, OSN.REMARKS
FROM M_COMM_L CL WITH (NOLOCK)
INNER JOIN T_OBJECT_SPECIAL_NOTE OSN WITH (NOLOCK)
ON CL.CODE = OSN.SPN_ATTR_CD
WHERE CL.HEAD_CD = '202400'
AND CL.DEL_FLG = '0'
AND OSN.USE_FLG = '1'
AND OSN.DEL_FLG = '0'
) T
GROUP BY T.REF_CHR1, T.REF_CHR3
ORDER BY T.REF_CHR3 ASC
</select>
<select id="selectEstimateNoteList" parameterType="com.interplug.qcast.biz.estimate.dto.NoteRequest" resultType="com.interplug.qcast.biz.estimate.dto.NoteResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateNoteList */
SELECT
CL.CODE
, CL.CODE_NM
, OSN.REMARKS
FROM M_COMM_L CL WITH (NOLOCK)
INNER JOIN T_OBJECT_SPECIAL_NOTE OSN WITH (NOLOCK)
ON CL.CODE = OSN.SPN_ATTR_CD
WHERE CL.HEAD_CD = '202400'
AND CL.DEL_FLG = '0'
AND OSN.USE_FLG = '1'
AND OSN.DEL_FLG = '0'
<if test='schSpnTypeCd != null and schSpnTypeCd != ""'>
AND OSN.SPN_TYPE_CD = #{schSpnTypeCd}
</if>
<if test='arrSpnAttrCd != null'>
AND CL.CODE IN
<foreach collection="arrSpnAttrCd" item="code" index="index" separator="," open="(" close=")">
#{code}
</foreach>
</if>
</select>
<select id="selectEstimateNoteItemList" parameterType="com.interplug.qcast.biz.estimate.dto.NoteRequest" resultType="com.interplug.qcast.biz.estimate.dto.NoteResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateNoteItemList */
SELECT
CL.CODE
, OSNI.ITEM_ID
FROM M_COMM_L CL WITH (NOLOCK)
INNER JOIN T_OBJECT_SPECIAL_NOTE OSN WITH (NOLOCK)
ON CL.CODE = OSN.SPN_ATTR_CD
INNER JOIN T_OBJECT_SPECIAL_NOTE_ITEM OSNI WITH (NOLOCK)
ON OSN.SPN_ATTR_CD = OSNI.SPN_ATTR_CD
AND OSN.SPN_TYPE_CD = OSNI.SPN_TYPE_CD
WHERE CL.HEAD_CD = '202400'
AND CL.DEL_FLG = '0'
AND OSN.USE_FLG = '1'
AND OSN.DEL_FLG = '0'
AND OSNI.DEL_FLG = '0'
<if test='schSpnTypeCd != null and schSpnTypeCd != ""'>
AND OSN.SPN_TYPE_CD = #{schSpnTypeCd}
</if>
AND OSNI.ITEM_ID IN
<foreach collection="arrItemId" item="itemId" index="index" separator="," open="(" close=")">
#{itemId}
</foreach>
</select>
<select id="selectEstimateItemHisNo" parameterType="com.interplug.qcast.biz.estimate.dto.NoteRequest" resultType="String">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateItemHisNo */
SELECT
ISNULL(MAX(PEH.HIS_NO), 0) + 1 AS HIS_NO
FROM T_PART_ESTIMATE_HIS PEH WITH (NOLOCK)
WHERE PEH.OBJECT_NO = #{objectNo}
AND PEH.PLAN_NO = #{planNo}
</select>
<update id="updateObject" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateObject */
UPDATE T_OBJECT
SET
LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
<if test='objectName != null and objectName != "" and objectNameOmit != null and objectNameOmit != ""'>
, OBJECT_NAME = #{objectName}
, OBJECT_NAME_OMIT = #{objectNameOmit}
, ADDRESSEE_COMPANY_NAME = #{objectName} + ' ' + #{objectNameOmit}
, ADDRESSEE_COMPANY_NAME_OMIT = #{objectNameOmit}
</if>
<if test='charger != null and charger != ""'>
, RECEIVE_USER = #{charger}
</if>
<if test='standardWindSpeedId != null and standardWindSpeedId != ""'>
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
</if>
<if test='snowfall != null and snowfall != ""'>
, VERTICAL_SNOW_COVER = #{snowfall}
</if>
<if test='surfaceType != null and surfaceType != ""'>
, SURFACE_TYPE = #{surfaceType}
</if>
<if test='setupHeight != null and setupHeight != ""'>
, INSTALL_HEIGHT = #{setupHeight}
</if>
WHERE OBJECT_NO = #{objectNo}
</update>
<update id="updateEstimate" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimate */
UPDATE T_PLAN
SET
ESTIMATE_TYPE = #{estimateType}
<choose>
<when test='drawingFlg != null and drawingFlg == "1"'>
, CONSTRUCT_SPECIFICATION = #{constructSpecification}
, SETUP_HEIGHT = #{setupHeight}
, WEATHER_POINT = #{weatherPoint}
, SLOPE = #{slope}
, ANGLE = #{angle}
, ROOF_MATERIAL_ID = #{roofMaterialId}
, SUPPORT_METHOD_ID = #{supportMethodId}
, DRAWING_ESTIMATE_CREATE_DATE = GETDATE()
, CHARGER = #{charger}
, ESTIMATE_VALIDITY_TERM = '発行日より1ヶ月'
, SNOWFALL = #{snowfall}
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
, SUPPORT_MEAKER = #{supportMeaker}
, NORTH_ARRANGEMENT = #{northArrangement}
, CONSTRUCT_SPECIFICATION_MULTI = #{constructSpecificationMulti}
, ROOF_MATERIAL_ID_MULTI = #{roofMaterialIdMulti}
, SUPPORT_METHOD_ID_MULTI = #{supportMethodIdMulti}
, SUPPORT_MEAKER_MULTI = #{supportMeaker}
, ESTIMATE_DATE = CONVERT(NVARCHAR(10), GETDATE(), 121)
, FILE_FLG = '0'
, ESTIMATE_OPTION = #{estimateOption}
, PKG_ASP = NULL
, PRICE_CD = #{priceCd}
, SURFACE_TYPE = #{surfaceType}
, TEMP_FLG = CASE WHEN TEMP_FLG = '0' THEN '0' ELSE #{tempFlg} END
, CREATE_DATETIME = GETDATE()
, CREATE_USER = #{userId}
</when>
<otherwise>
, CHARGER = #{charger}
, ESTIMATE_DATE = #{estimateDate}
, FILE_FLG = #{fileFlg}
, ESTIMATE_OPTION = #{estimateOption}
, REMARKS = #{remarks}
, PKG_ASP = #{pkgAsp}
, PRICE_CD = #{priceCd}
, TEMP_FLG = '0'
</otherwise>
</choose>
, CAPACITY = #{capacity}
, MODULE_MODEL = #{moduleModel}
, PC_TYPE_NO = #{pcTypeNo}
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
<update id="updateEstimateReset" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimate */
UPDATE T_PLAN
SET
ESTIMATE_TYPE = #{estimateType}
, FILE_FLG = '0'
, ESTIMATE_OPTION = #{estimateOption}
, REMARKS = NULL
, PKG_ASP = NULL
, PRICE_CD = #{priceCd}
, TEMP_FLG = CASE WHEN TEMP_FLG = '0' THEN '0' ELSE #{tempFlg} END
, CAPACITY = #{capacity}
, MODULE_MODEL = #{moduleModel}
, PC_TYPE_NO = #{pcTypeNo}
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
<update id="updateEstimateLock" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateLock */
UPDATE T_PLAN
SET
LOCK_FLG = #{lockFlg}
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
<update id="updateEstimateApi" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateApi */
UPDATE T_PLAN
SET
DOC_NO = #{docNo}
, SYNC_FLG = #{syncFlg}
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
<insert id="insertEstimateDrawingItem" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateDrawingItem */
INSERT INTO T_PART_DRAWING_ESTIMATE
(
OBJECT_NO
, PLAN_NO
, DISP_ORDER
, ITEM_ID
, AMOUNT
, LAST_EDIT_DATETIME
, LAST_EDIT_USER
) VALUES (
#{objectNo}
, #{planNo}
, #{dispOrder}
, #{itemId}
, #{amount}
, GETDATE()
, #{userId}
)
</insert>
<insert id="insertEstimateItem" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateItem */
INSERT INTO T_PART_ESTIMATE
(
OBJECT_NO
, PLAN_NO
, DISP_ORDER
<if test='paDispOrder != null and paDispOrder != ""'>
, PA_DISP_ORDER
</if>
, ITEM_ID
, ITEM_NO
, ITEM_NAME
, UNIT
, SPECIFICATION
, AMOUNT
, BOM_AMOUNT
<if test='amountChange != null and amountChange != ""'>
, AMOUNT_CHANGE
</if>
, PART_ADD
, LAST_EDIT_DATETIME
, LAST_EDIT_USER
, UNIT_PRICE
, SALE_PRICE
<if test='specialNoteCd != null and specialNoteCd != ""'>
, SPECIAL_NOTE_CD
</if>
, FILE_UPLOAD_FLG
, PKG_MATERIAL_FLG
, OPEN_FLG
, ITEM_CHANGE_FLG
) VALUES (
#{objectNo}
, #{planNo}
, #{dispOrder}
<if test='paDispOrder != null and paDispOrder != ""'>
, #{paDispOrder}
</if>
, #{itemId}
, #{itemNo}
, #{itemName}
, #{unit}
, #{specification}
, #{amount}
, #{bomAmount}
<if test='amountChange != null and amountChange != ""'>
, #{amountChange}
</if>
, #{partAdd}
, GETDATE()
, #{userId}
, #{unitPrice}
, #{salePrice}
<if test='specialNoteCd != null and specialNoteCd != ""'>
, #{specialNoteCd}
</if>
, #{fileUploadFlg}
, #{pkgMaterialFlg}
, #{openFlg}
, #{itemChangeFlg}
)
</insert>
<insert id="insertEstimateItemHis" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateItemHits */
INSERT INTO T_PART_ESTIMATE_HIS
(
HIS_NO
, OBJECT_NO
, PLAN_NO
, DISP_ORDER
<if test='paDispOrder != null and paDispOrder != ""'>
, PA_DISP_ORDER
</if>
, ITEM_ID
, ITEM_NO
, ITEM_NAME
, UNIT
, AMOUNT
, BOM_AMOUNT
, UNIT_PRICE
, SALE_PRICE
<if test='specialNoteCd != null and specialNoteCd != ""'>
, SPECIAL_NOTE_CD
</if>
, PKG_MATERIAL_FLG
, OPEN_FLG
, ITEM_CHANGE_FLG
, FILE_UPLOAD_FLG
, PART_ADD
, DEL_FLG
, CREATE_DATETIME
, CREATE_USER
) VALUES (
#{hisNo}
, #{objectNo}
, #{planNo}
, #{dispOrder}
<if test='paDispOrder != null and paDispOrder != ""'>
, #{paDispOrder}
</if>
, #{itemId}
, #{itemNo}
, #{itemName}
, #{unit}
, #{amount}
, #{bomAmount}
, #{unitPrice}
, #{salePrice}
<if test='specialNoteCd != null and specialNoteCd != ""'>
, #{specialNoteCd}
</if>
, #{pkgMaterialFlg}
, #{openFlg}
, #{itemChangeFlg}
, #{fileUploadFlg}
, #{partAdd}
, #{delFlg}
, GETDATE()
, #{userId}
)
</insert>
<insert id="insertEstimateRoof" parameterType="com.interplug.qcast.biz.estimate.dto.RoofRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateRoof */
INSERT INTO T_PART_ROOF_ESTIMATE
(
ROOF_SURFACE_ID
, OBJECT_NO
, PLAN_NO
, ROOF_SURFACE
, ROOF_MATERIAL_ID
, SUPPORT_METHOD_ID
, CONSTRUCT_SPECIFICATION
<if test='slope != null and slope != ""'>
, SLOPE
</if>
<if test='angle != null and angle != ""'>
, ANGLE
</if>
<if test='classType != null and classType != ""'>
, CLASS_TYPE
</if>
<if test='azimuth != null and azimuth != ""'>
, AZIMUTH
</if>
, CREATE_DATETIME
, CREATE_USER
) VALUES (
#{roofSurfaceId}
, #{objectNo}
, #{planNo}
, #{roofSurface}
, #{roofMaterialId}
, #{supportMethodId}
, #{constructSpecification}
<if test='slope != null and slope != ""'>
, #{slope}
</if>
<if test='angle != null and angle != ""'>
, #{angle}
</if>
<if test='classType != null and classType != ""'>
, #{classType}
</if>
<if test='azimuth != null and azimuth != ""'>
, #{azimuth}
</if>
, GETDATE()
, #{userId}
)
</insert>
<insert id="insertEstimateRoofItem" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateRoofItem */
<selectKey resultType="String" keyProperty="roofItemNo" order="BEFORE">
SELECT CAST(ISNULL(MAX(ROOF_ITEM_NO), 0) + 1 AS NVARCHAR) FROM T_PART_ROOF_ITEM_ESTIMATE WHERE OBJECT_NO = #{objectNo} AND PLAN_NO = #{planNo}
</selectKey>
INSERT INTO T_PART_ROOF_ITEM_ESTIMATE
(
ROOF_ITEM_NO
, ROOF_SURFACE_ID
, OBJECT_NO
, PLAN_NO
, ITEM_ID
, ITEM_NO
, ITEM_NAME
, SPECIFICATION
, AMOUNT
, PC_ITEM_ID
)
SELECT
#{roofItemNo} AS ROOF_ITEM_NO
, #{roofSurfaceId} AS ROOF_SURFACE_ID
, #{objectNo} AS OBJECT_NO
, #{planNo} AS PLAN_NO
, I.ITEM_ID
, I.ITEM_NO
, I.ITEM_NAME
, I.PNOW_W
, #{amount}
, #{pcItemId}
FROM M_ITEM I WITH (NOLOCK)
WHERE I.ITEM_ID = #{itemId}
</insert>
<insert id="insertEstimateCircuitItem" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateCircuitItem */
<selectKey resultType="String" keyProperty="circuitNo" order="BEFORE">
SELECT CAST(ISNULL(MAX(CIRCUIT_NO), 0) + 1 AS NVARCHAR) FROM T_PART_CIRCUIT_ITEM_ESTIMATE WHERE OBJECT_NO = #{objectNo} AND PLAN_NO = #{planNo}
</selectKey>
INSERT INTO T_PART_CIRCUIT_ITEM_ESTIMATE
(
CIRCUIT_NO
, OBJECT_NO
, PLAN_NO
, ITEM_ID
, CIRCUIT_CFG
) VALUES (
#{circuitNo}
, #{objectNo}
, #{planNo}
, #{itemId}
, #{circuitCfg}
)
</insert>
<delete id="deleteEstimateRoofList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofList */
DELETE FROM T_PART_ROOF_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</delete>
<delete id="deleteEstimateRoofItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofItemList */
DELETE FROM T_PART_ROOF_ITEM_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</delete>
<delete id="deleteEstimateCircuitItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateCircuitItemList */
DELETE FROM T_PART_CIRCUIT_ITEM_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</delete>
<delete id="deleteEstimateDrawingItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateDrawingItemList */
DELETE FROM T_PART_DRAWING_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</delete>
<delete id="deleteEstimateItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateItemList */
DELETE FROM T_PART_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</delete>
<insert id="insertEstimateCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateCopy */
INSERT INTO T_PLAN
(
OBJECT_NO
, PLAN_NO
, CONSTRUCT_SPECIFICATION
, SETUP_HEIGHT
, WEATHER_POINT
, ROOF_KIND_ID
, SLOPE
, ROOF_MATERIAL_CLASS_ID
, ROOF_MATERIAL_ID
, SUPPORT_METHOD_ID
, MODULE_MODEL
, DRAWING_ESTIMATE_CREATE_DATE
, CHARGER
, ESTIMATE_VALIDITY_TERM
, DECISION_PLAN
, NUMBER
, CAPACITY
, SNOWFALL
, STANDARD_WIND_SPEED_CHECK
, OPTION_COVER
, HANWFA_FLG
, STAND_KIND_ID
, STANDARD_WIND_SPEED_ID
, SUPPORT_MEAKER
, CONSUMPTION_TAX_ID
, STATUS
, LAST_EDIT_DATETIME
, LAST_EDIT_USER
, DEL_FLG
, PC_TYPE_NO
, NORTH_ARRANGEMENT
, ROOF_MATERIAL_ID_MULTI
, SUPPORT_METHOD_ID_MULTI
, SUPPORT_MEAKER_MULTI
, DIFF_ROOF_ENABLED
, ORDER_FLG
, ESTIMATE_DATE
, ESTIMATE_TYPE
, FILE_FLG
, ESTIMATE_OPTION
, PKG_ASP
, PRICE_CD
, REMARKS
, CONSTRUCT_SPECIFICATION_MULTI
, SURFACE_TYPE
, ANGLE
, TEMP_FLG
, LOCK_FLG
, SYNC_FLG
, CREATE_DATETIME
, CREATE_USER
)
SELECT
#{copyObjectNo} AS OBJECT_NO
, #{copyPlanNo} AS PLAN_NO
, P.CONSTRUCT_SPECIFICATION
, P.SETUP_HEIGHT
, P.WEATHER_POINT
, P.ROOF_KIND_ID
, P.SLOPE
, P.ROOF_MATERIAL_CLASS_ID
, P.ROOF_MATERIAL_ID
, P.SUPPORT_METHOD_ID
, P.MODULE_MODEL
, GETDATE() AS DRAWING_ESTIMATE_CREATE_DATE
, P.CHARGER
, P.ESTIMATE_VALIDITY_TERM
, P.DECISION_PLAN
, P.NUMBER
, P.CAPACITY
, P.SNOWFALL
, P.STANDARD_WIND_SPEED_CHECK
, P.OPTION_COVER
, P.HANWFA_FLG
, P.STAND_KIND_ID
, P.STANDARD_WIND_SPEED_ID
, P.SUPPORT_MEAKER
, P.CONSUMPTION_TAX_ID
, '1' AS STATUS
, GETDATE() AS LAST_EDIT_DATETIME
, #{userId} AS LAST_EDIT_USER
, P.DEL_FLG
, P.PC_TYPE_NO
, P.NORTH_ARRANGEMENT
, P.ROOF_MATERIAL_ID_MULTI
, P.SUPPORT_METHOD_ID_MULTI
, P.SUPPORT_MEAKER_MULTI
, P.DIFF_ROOF_ENABLED
, '0' AS ORDER_FLG
, P.ESTIMATE_DATE
, P.ESTIMATE_TYPE
, P.FILE_FLG
, P.ESTIMATE_OPTION
, P.PKG_ASP
, 'UNIT_PRICE' AS PRICE_CD
, P.REMARKS
, P.CONSTRUCT_SPECIFICATION_MULTI
, P.SURFACE_TYPE
, P.ANGLE
, '1' AS TEMP_FLG
, '0' AS LOCK_FLG
, '0' AS SYNC_FLG
, GETDATE() AS CREATE_DATETIME
, #{userId} AS CREATE_USER
FROM T_PLAN P WITH (NOLOCK)
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
AND P.DEL_FLG = '0'
</insert>
<insert id="insertEstimateRoofCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateRoofCopy */
INSERT INTO T_PART_ROOF_ESTIMATE
(
ROOF_SURFACE_ID
, OBJECT_NO
, PLAN_NO
, ROOF_SURFACE
, ROOF_MATERIAL_ID
, SUPPORT_METHOD_ID
, CONSTRUCT_SPECIFICATION
, SLOPE
, ANGLE
, CLASS_TYPE
, AZIMUTH
, CREATE_DATETIME
, CREATE_USER
)
SELECT
PRE.ROOF_SURFACE_ID
, #{copyObjectNo} AS OBJECT_NO
, #{copyPlanNo} AS PLAN_NO
, PRE.ROOF_SURFACE
, PRE.ROOF_MATERIAL_ID
, PRE.SUPPORT_METHOD_ID
, PRE.CONSTRUCT_SPECIFICATION
, PRE.SLOPE
, PRE.ANGLE
, PRE.CLASS_TYPE
, PRE.AZIMUTH
, GETDATE()
, #{userId} AS CREATE_USER
FROM T_PART_ROOF_ESTIMATE PRE WITH (NOLOCK)
WHERE PRE.OBJECT_NO = #{objectNo}
AND PRE.PLAN_NO = #{planNo}
</insert>
<insert id="insertEstimateRoofItemCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateRoofItemCopy */
INSERT INTO T_PART_ROOF_ITEM_ESTIMATE
(
ROOF_ITEM_NO
, ROOF_SURFACE_ID
, OBJECT_NO
, PLAN_NO
, ITEM_ID
, ITEM_NO
, ITEM_NAME
, SPECIFICATION
, AMOUNT
, PC_ITEM_ID
)
SELECT
PRIE.ROOF_ITEM_NO
, PRIE.ROOF_SURFACE_ID
, #{copyObjectNo} AS OBJECT_NO
, #{copyPlanNo} AS PLAN_NO
, PRIE.ITEM_ID
, PRIE.ITEM_NO
, PRIE.ITEM_NAME
, PRIE.SPECIFICATION
, PRIE.AMOUNT
, PRIE.PC_ITEM_ID
FROM T_PART_ROOF_ITEM_ESTIMATE PRIE WITH (NOLOCK)
WHERE PRIE.OBJECT_NO = #{objectNo}
AND PRIE.PLAN_NO = #{planNo}
</insert>
<insert id="insertEstimateCircuitItemCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateCircuitItemCopy */
INSERT INTO T_PART_CIRCUIT_ITEM_ESTIMATE
(
CIRCUIT_NO
, OBJECT_NO
, PLAN_NO
, ITEM_ID
, CIRCUIT_CFG
)
SELECT
PCIE.CIRCUIT_NO
, #{copyObjectNo} AS OBJECT_NO
, #{copyPlanNo} AS PLAN_NO
, PCIE.ITEM_ID
, PCIE.CIRCUIT_CFG
FROM T_PART_CIRCUIT_ITEM_ESTIMATE PCIE WITH (NOLOCK)
WHERE PCIE.OBJECT_NO = #{objectNo}
AND PCIE.PLAN_NO = #{planNo}
</insert>
<insert id="insertEstimateDrawingItemCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateDrawingItemCopy */
INSERT INTO T_PART_DRAWING_ESTIMATE
(
OBJECT_NO
, PLAN_NO
, DISP_ORDER
, ITEM_ID
, AMOUNT
, LAST_EDIT_DATETIME
, LAST_EDIT_USER
)
SELECT
#{copyObjectNo} AS OBJECT_NO
, #{copyPlanNo} AS PLAN_NO
, PDE.DISP_ORDER
, PDE.ITEM_ID
, PDE.AMOUNT
, GETDATE() AS LAST_EDIT_DATETIME
, #{userId} AS LAST_EDIT_USER
FROM T_PART_DRAWING_ESTIMATE PDE WITH (NOLOCK)
WHERE PDE.OBJECT_NO = #{objectNo}
AND PDE.PLAN_NO = #{planNo}
</insert>
<update id="updatePlanConfirmSync" parameterType="com.interplug.qcast.biz.estimate.dto.PlanSyncResponse">
/* sqlid : com.interplug.qcast.biz.estimate.updatePlanConfirmSync */
UPDATE T_PLAN
SET
ORDER_FLG = '1'
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = 'system'
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
</mapper>