1434 lines
54 KiB
XML
1434 lines
54 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.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.ROOF_MATERIAL_ID_MULTI
|
|
, P.SUPPORT_METHOD_ID_MULTI
|
|
, P.SUPPORT_MEAKER_MULTI
|
|
, P.DIFF_ROOF_ENABLED
|
|
, P.LAST_EDIT_DATETIME
|
|
, PI.CONSTRUCT_SPECIFICATION_MULTI
|
|
, PI.ANGLE
|
|
, PI.SURFACE_TYPE
|
|
, PI.ORDER_FLG
|
|
, PI.ESTIMATE_DATE
|
|
, PI.ESTIMATE_TYPE
|
|
, PI.FILE_FLG
|
|
, PI.ESTIMATE_OPTION
|
|
, PI.PKG_ASP
|
|
, PI.DOC_NO
|
|
, PI.PRICE_CD
|
|
, PI.REMARKS
|
|
, PI.TEMP_FLG
|
|
, PI.LOCK_FLG
|
|
, PI.SYNC_FLG
|
|
, PI.CREATE_DATETIME
|
|
, PI.CREATE_USER
|
|
, PI.SEC_SAP_SALES_STORE_CD
|
|
, O.OBJECT_NAME
|
|
, O.OBJECT_NAME_OMIT
|
|
, O.REMARKS AS OBJECT_REMARKS
|
|
, O.SALE_STORE_ID
|
|
, B.SALE_STORE_ID AS SAP_SALE_STORE_ID
|
|
, B.SAP_SALES_STORE_CD
|
|
, ISNULL(OI.COLD_REGION_FLG, '0') AS COLD_REGION_FLG
|
|
, ISNULL(OI.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_PLAN_INFO PI WITH (NOLOCK)
|
|
ON P.OBJECT_NO = PI.OBJECT_NO
|
|
AND P.PLAN_NO = PI.PLAN_NO
|
|
INNER JOIN T_OBJECT O WITH (NOLOCK)
|
|
ON P.OBJECT_NO = O.OBJECT_NO
|
|
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
|
|
ON O.OBJECT_NO = OI.OBJECT_NO
|
|
INNER JOIN M_SALES_STORE SS WITH(NOLOCK)
|
|
ON O.SALE_STORE_ID = SS.SALE_STORE_ID
|
|
LEFT OUTER JOIN M_SALES_STORE_ID_FOR_SAP B
|
|
ON
|
|
(SS.SALE_STORE_LEVEL = '1' AND O.SALE_STORE_ID = B.SALE_STORE_ID)
|
|
OR
|
|
(SS.SALE_STORE_LEVEL = '2' AND SS.FIRST_AGENT_ID = B.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
|
|
, SSI2.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
|
|
, CONVERT(NVARCHAR(10), P.LAST_EDIT_DATETIME, 121) AS ESTIMATE_DATE
|
|
, PI.ESTIMATE_TYPE
|
|
, PI.ESTIMATE_OPTION
|
|
, PI.PKG_ASP
|
|
, PI.REMARKS
|
|
, O.SALE_STORE_ID
|
|
, O.OBJECT_NAME
|
|
, O.OBJECT_NAME_OMIT
|
|
, (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = OI.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_PLAN_INFO PI WITH (NOLOCK)
|
|
ON P.OBJECT_NO = PI.OBJECT_NO
|
|
AND P.PLAN_NO = PI.PLAN_NO
|
|
INNER JOIN T_OBJECT O WITH (NOLOCK)
|
|
ON P.OBJECT_NO = O.OBJECT_NO
|
|
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
|
|
ON O.OBJECT_NO = OI.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 OI.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
|
|
LEFT OUTER JOIN M_SALES_STORE_INFO SSI2 WITH (NOLOCK)
|
|
ON T.CREATE_SALE_STORE_ID = SSI2.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
|
|
, PI.ESTIMATE_TYPE
|
|
, PI.PKG_ASP
|
|
, P.DEL_FLG
|
|
, CONVERT(NVARCHAR(10), PI.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_PLAN_INFO PI WITH (NOLOCK)
|
|
ON P.OBJECT_NO = PI.OBJECT_NO
|
|
AND P.PLAN_NO = PI.PLAN_NO
|
|
INNER JOIN T_OBJECT O WITH (NOLOCK)
|
|
ON P.OBJECT_NO = O.OBJECT_NO
|
|
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
|
|
ON O.OBJECT_NO = OI.OBJECT_NO
|
|
INNER JOIN M_SALES_STORE SS WITH(NOLOCK)
|
|
ON O.SALE_STORE_ID = SS.SALE_STORE_ID
|
|
WHERE PI.SYNC_FLG = '0'
|
|
AND OI.SOURCE_ORIGIN = 'QCAST_III'
|
|
AND OI.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.DEL_FLG
|
|
, P.LAST_EDIT_DATETIME
|
|
, P.LAST_EDIT_USER
|
|
, PI.ESTIMATE_TYPE
|
|
, PI.PKG_ASP
|
|
, CONVERT(NVARCHAR(10), PI.CREATE_DATETIME, 121) AS ESTIMATE_DETAIL_CREATE_DATE
|
|
, (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_PLAN_INFO PI WITH (NOLOCK)
|
|
ON P.OBJECT_NO = PI.OBJECT_NO
|
|
AND P.PLAN_NO = PI.PLAN_NO
|
|
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.ITEM_ID
|
|
, PE.ITEM_NO
|
|
, PE.ITEM_NAME
|
|
, PE.UNIT
|
|
, PE.SPECIFICATION
|
|
, PE.AMOUNT
|
|
, PEI.UNIT_PRICE
|
|
, PEI.SALE_PRICE
|
|
, PEI.BOM_AMOUNT
|
|
, PEI.PA_DISP_ORDER
|
|
, PEI.SPECIAL_NOTE_CD
|
|
, PEI.PKG_MATERIAL_FLG
|
|
, PEI.FILE_UPLOAD_FLG
|
|
, PEI.OPEN_FLG
|
|
, PEI.UNIT_OPEN_FLG
|
|
, PEI.ITEM_CHANGE_FLG
|
|
, PEI.DISP_CABLE_FLG
|
|
, PEI.ITEM_TP_CD
|
|
, I.PNOW_W
|
|
, CASE WHEN I.POWER_COM_FLG = '1' THEN 'PC_'
|
|
WHEN I.ITEM_GROUP = 'PC_' AND I.POWER_COM_FLG = '0' THEN 'STORAGE_BATTERY'
|
|
ELSE I.ITEM_GROUP END AS 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 T_PART_ESTIMATE_INFO PEI WITH (NOLOCK)
|
|
ON PE.OBJECT_NO = PEI.OBJECT_NO
|
|
AND PE.PLAN_NO = PEI.PLAN_NO
|
|
AND PE.DISP_ORDER = PEI.DISP_ORDER
|
|
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 (PEI.PA_DISP_ORDER IS NULL OR PEI.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
|
|
, CASE WHEN I.POWER_COM_FLG = '1' THEN 'PC_'
|
|
WHEN I.ITEM_GROUP = 'PC_' AND I.POWER_COM_FLG = '0' THEN 'STORAGE_BATTERY'
|
|
ELSE I.ITEM_GROUP END AS ITEM_GROUP
|
|
, II.PKG_MATERIAL_FLG
|
|
, II.FILE_UPLOAD_FLG
|
|
, II.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)
|
|
INNER JOIN M_ITEM_INFO II WITH (NOLOCK)
|
|
ON I.ITEM_ID = II.ITEM_ID
|
|
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
|
|
, CASE WHEN I.POWER_COM_FLG = '1' THEN 'PC_'
|
|
WHEN I.ITEM_GROUP = 'PC_' AND I.POWER_COM_FLG = '0' THEN 'STORAGE_BATTERY'
|
|
ELSE I.ITEM_GROUP END AS ITEM_GROUP
|
|
, II.PKG_MATERIAL_FLG
|
|
, II.FILE_UPLOAD_FLG
|
|
, II.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
|
|
INNER JOIN M_ITEM_INFO II WITH (NOLOCK)
|
|
ON I.ITEM_ID = II.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
|
|
REPLACE(CONVERT(VARCHAR, CAST(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) AS NUMERIC(18, 3)), 1), ',', '') 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.POWER_COM_FLG = '1' /* PCS 아이템만 */
|
|
) 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
|
|
, CASE WHEN ISNUMERIC(P.SETUP_HEIGHT) = 1 THEN CAST(CONVERT(FLOAT, P.SETUP_HEIGHT) AS INT) ELSE 0 END AS SETUP_HEIGHT
|
|
, PI.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_PLAN_INFO PI WITH (NOLOCK)
|
|
ON P.OBJECT_NO = PI.OBJECT_NO
|
|
AND P.PLAN_NO = PI.PLAN_NO
|
|
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
|
|
PCIE.ITEM_ID
|
|
, PCIE.CIRCUIT_CFG
|
|
, I.ITEM_NO
|
|
, I.ITEM_NAME
|
|
FROM T_PART_CIRCUIT_ITEM_ESTIMATE PCIE WITH (NOLOCK)
|
|
INNER JOIN M_ITEM I WITH (NOLOCK)
|
|
ON PCIE.ITEM_ID = I.ITEM_ID
|
|
WHERE PCIE.OBJECT_NO = #{objectNo}
|
|
AND PCIE.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
|
|
, CASE WHEN I.POWER_COM_FLG = '1' THEN 'PC_'
|
|
WHEN I.ITEM_GROUP = 'PC_' AND I.POWER_COM_FLG = '0' THEN 'STORAGE_BATTERY'
|
|
ELSE I.ITEM_GROUP END AS 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 != ""'>
|
|
<choose>
|
|
<when test='schItemGroup == "PC_"'>
|
|
AND I.POWER_COM_FLG = '1'
|
|
</when>
|
|
<otherwise>
|
|
AND I.ITEM_GROUP = #{schItemGroup}
|
|
</otherwise>
|
|
</choose>
|
|
</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}
|
|
, OBJECT_NAME = #{objectName}
|
|
, OBJECT_NAME_OMIT = #{objectNameOmit}
|
|
, ADDRESSEE_COMPANY_NAME = #{objectName} + ' ' + ISNULL(#{objectNameOmit}, '')
|
|
, ADDRESSEE_COMPANY_NAME_OMIT = #{objectNameOmit}
|
|
<if test='charger != null and charger != ""'>
|
|
, RECEIVE_USER = #{charger}
|
|
</if>
|
|
WHERE OBJECT_NO = #{objectNo}
|
|
</update>
|
|
|
|
<update id="updateObjectInfo" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.updateObjectInfo */
|
|
UPDATE T_OBJECT_INFO
|
|
SET
|
|
OBJECT_NO = #{objectNo}
|
|
<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
|
|
LAST_EDIT_DATETIME = GETDATE()
|
|
, LAST_EDIT_USER = #{userId}
|
|
<choose>
|
|
<when test='drawingFlg != null and drawingFlg == "1"'>
|
|
, CONSTRUCT_SPECIFICATION = #{constructSpecification}
|
|
, SETUP_HEIGHT = #{setupHeight}
|
|
, WEATHER_POINT = #{weatherPoint}
|
|
, SLOPE = #{slope}
|
|
, ROOF_MATERIAL_ID = #{roofMaterialId}
|
|
, SUPPORT_METHOD_ID = #{supportMethodId}
|
|
, DRAWING_ESTIMATE_CREATE_DATE = GETDATE()
|
|
, ESTIMATE_VALIDITY_TERM = '発行日より1ヶ月'
|
|
, SNOWFALL = #{snowfall}
|
|
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
|
|
, SUPPORT_MEAKER = #{supportMeaker}
|
|
, NORTH_ARRANGEMENT = #{northArrangement}
|
|
, ROOF_MATERIAL_ID_MULTI = #{roofMaterialIdMulti}
|
|
, SUPPORT_METHOD_ID_MULTI = #{supportMethodIdMulti}
|
|
, SUPPORT_MEAKER_MULTI = #{supportMeaker}
|
|
</when>
|
|
</choose>
|
|
, CHARGER = #{charger}
|
|
, CAPACITY = #{capacity}
|
|
, MODULE_MODEL = #{moduleModel}
|
|
, PC_TYPE_NO = #{pcTypeNo}
|
|
WHERE OBJECT_NO = #{objectNo}
|
|
AND PLAN_NO = #{planNo}
|
|
</update>
|
|
|
|
<update id="updateEstimateInfo" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateInfo */
|
|
UPDATE T_PLAN_INFO
|
|
SET
|
|
ESTIMATE_TYPE = #{estimateType}
|
|
, SEC_SAP_SALES_STORE_CD = #{secSapSalesStoreCd}
|
|
<choose>
|
|
<when test='drawingFlg != null and drawingFlg == "1"'>
|
|
, CONSTRUCT_SPECIFICATION_MULTI = #{constructSpecificationMulti}
|
|
, ANGLE = #{angle}
|
|
, SURFACE_TYPE = #{surfaceType}
|
|
, ESTIMATE_DATE = CONVERT(NVARCHAR(10), GETDATE(), 121)
|
|
, FILE_FLG = '0'
|
|
, ESTIMATE_OPTION = #{estimateOption}
|
|
, PKG_ASP = NULL
|
|
, PRICE_CD = #{priceCd}
|
|
, TEMP_FLG = CASE WHEN TEMP_FLG = '0' THEN '0' ELSE #{tempFlg} END
|
|
, CREATE_DATETIME = GETDATE()
|
|
, CREATE_USER = #{userId}
|
|
</when>
|
|
<otherwise>
|
|
, ESTIMATE_DATE = #{estimateDate}
|
|
, FILE_FLG = #{fileFlg}
|
|
, ESTIMATE_OPTION = #{estimateOption}
|
|
, REMARKS = #{remarks}
|
|
, PKG_ASP = #{pkgAsp}
|
|
, PRICE_CD = #{priceCd}
|
|
, TEMP_FLG = '0'
|
|
</otherwise>
|
|
</choose>
|
|
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
|
|
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="updateEstimateInit" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimate */
|
|
UPDATE T_PLAN
|
|
SET
|
|
CONSTRUCT_SPECIFICATION = NULL
|
|
,SETUP_HEIGHT = NULL
|
|
,WEATHER_POINT = NULL
|
|
,SLOPE = NULL
|
|
,ROOF_MATERIAL_ID = NULL
|
|
,SUPPORT_METHOD_ID = NULL
|
|
,MODULE_MODEL = NULL
|
|
,DRAWING_ESTIMATE_CREATE_DATE = NULL
|
|
,ESTIMATE_VALIDITY_TERM = NULL
|
|
,CAPACITY = NULL
|
|
,SNOWFALL = NULL
|
|
,STANDARD_WIND_SPEED_ID = NULL
|
|
,PC_TYPE_NO = NULL
|
|
,ROOF_MATERIAL_ID_MULTI = NULL
|
|
,SUPPORT_MEAKER_MULTI = NULL
|
|
,SUPPORT_METHOD_ID_MULTI = NULL
|
|
,LAST_EDIT_DATETIME = GETDATE()
|
|
,LAST_EDIT_USER = #{userId}
|
|
WHERE OBJECT_NO = #{objectNo}
|
|
AND PLAN_NO = #{planNo}
|
|
</update>
|
|
|
|
<update id="updateEstimateInfoReset" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateInfoReset */
|
|
UPDATE T_PLAN_INFO
|
|
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
|
|
, SEC_SAP_SALES_STORE_CD = #{secSapSalesStoreCd}
|
|
WHERE OBJECT_NO = #{objectNo}
|
|
AND PLAN_NO = #{planNo}
|
|
</update>
|
|
|
|
<update id="updateEstimateInfoInit" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateInfoReset */
|
|
UPDATE T_PLAN_INFO
|
|
SET
|
|
CONSTRUCT_SPECIFICATION_MULTI = NULL
|
|
, SURFACE_TYPE = NULL
|
|
, ANGLE = NULL
|
|
, ESTIMATE_DATE = NULL
|
|
, ESTIMATE_TYPE = NULL
|
|
, FILE_FLG = 0
|
|
, ESTIMATE_OPTION = NULL
|
|
, PKG_ASP = NULL
|
|
, DOC_NO = NULL
|
|
, PRICE_CD = NULL
|
|
, REMARKS = NULL
|
|
, TEMP_FLG = 1
|
|
, LOCK_FLG = 0
|
|
, SYNC_FLG = NULL
|
|
, SEC_SAP_SALES_STORE_CD = NULL
|
|
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_INFO
|
|
SET
|
|
LOCK_FLG = #{lockFlg}
|
|
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_INFO
|
|
SET
|
|
DOC_NO = #{docNo}
|
|
, SYNC_FLG = #{syncFlg}
|
|
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
|
|
, ITEM_ID
|
|
, ITEM_NO
|
|
, ITEM_NAME
|
|
, UNIT
|
|
, SPECIFICATION
|
|
, AMOUNT
|
|
<if test='amountChange != null and amountChange != ""'>
|
|
, AMOUNT_CHANGE
|
|
</if>
|
|
, PART_ADD
|
|
, LAST_EDIT_DATETIME
|
|
, LAST_EDIT_USER
|
|
) VALUES (
|
|
#{objectNo}
|
|
, #{planNo}
|
|
, #{dispOrder}
|
|
, #{itemId}
|
|
, #{itemNo}
|
|
, #{itemName}
|
|
, #{unit}
|
|
, #{specification}
|
|
, #{amount}
|
|
<if test='amountChange != null and amountChange != ""'>
|
|
, #{amountChange}
|
|
</if>
|
|
, #{partAdd}
|
|
, GETDATE()
|
|
, #{userId}
|
|
)
|
|
</insert>
|
|
|
|
<insert id="insertEstimateInfoItem" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateInfoItem */
|
|
INSERT INTO T_PART_ESTIMATE_INFO
|
|
(
|
|
OBJECT_NO
|
|
, PLAN_NO
|
|
, DISP_ORDER
|
|
, UNIT_PRICE
|
|
, SALE_PRICE
|
|
, BOM_AMOUNT
|
|
<if test='paDispOrder != null and paDispOrder != ""'>
|
|
, PA_DISP_ORDER
|
|
</if>
|
|
<if test='specialNoteCd != null and specialNoteCd != ""'>
|
|
, SPECIAL_NOTE_CD
|
|
</if>
|
|
, PKG_MATERIAL_FLG
|
|
, FILE_UPLOAD_FLG
|
|
, OPEN_FLG
|
|
, UNIT_OPEN_FLG
|
|
, ITEM_CHANGE_FLG
|
|
, DISP_CABLE_FLG
|
|
, ITEM_TP_CD
|
|
) VALUES (
|
|
#{objectNo}
|
|
, #{planNo}
|
|
, #{dispOrder}
|
|
, #{unitPrice}
|
|
, #{salePrice}
|
|
, #{bomAmount}
|
|
<if test='paDispOrder != null and paDispOrder != ""'>
|
|
, #{paDispOrder}
|
|
</if>
|
|
<if test='specialNoteCd != null and specialNoteCd != ""'>
|
|
, #{specialNoteCd}
|
|
</if>
|
|
, #{pkgMaterialFlg}
|
|
, #{fileUploadFlg}
|
|
, #{openFlg}
|
|
, #{unitOpenFlg}
|
|
, #{itemChangeFlg}
|
|
, #{dispCableFlg}
|
|
, #{itemTpCd}
|
|
)
|
|
</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>
|
|
|
|
<delete id="deleteEstimateInfoItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateInfoItemList */
|
|
DELETE FROM T_PART_ESTIMATE_INFO
|
|
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
|
|
)
|
|
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
|
|
, #{copyReceiveUser} AS 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
|
|
FROM T_PLAN P WITH (NOLOCK)
|
|
WHERE P.OBJECT_NO = #{objectNo}
|
|
AND P.PLAN_NO = #{planNo}
|
|
</insert>
|
|
|
|
<insert id="insertEstimateInfoCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateInfoCopy */
|
|
INSERT INTO T_PLAN_INFO
|
|
(
|
|
OBJECT_NO
|
|
, PLAN_NO
|
|
, CONSTRUCT_SPECIFICATION_MULTI
|
|
, ANGLE
|
|
, SURFACE_TYPE
|
|
, ORDER_FLG
|
|
, ESTIMATE_DATE
|
|
, ESTIMATE_TYPE
|
|
, FILE_FLG
|
|
, ESTIMATE_OPTION
|
|
, PKG_ASP
|
|
, PRICE_CD
|
|
, REMARKS
|
|
, TEMP_FLG
|
|
, LOCK_FLG
|
|
, SYNC_FLG
|
|
, CREATE_DATETIME
|
|
, CREATE_USER
|
|
, SEC_SAP_SALES_STORE_CD
|
|
)
|
|
SELECT
|
|
#{copyObjectNo} AS OBJECT_NO
|
|
, #{copyPlanNo} AS PLAN_NO
|
|
, PI.CONSTRUCT_SPECIFICATION_MULTI
|
|
, PI.ANGLE
|
|
, PI.SURFACE_TYPE
|
|
, '0' AS ORDER_FLG
|
|
, PI.ESTIMATE_DATE
|
|
, PI.ESTIMATE_TYPE
|
|
, PI.FILE_FLG
|
|
, PI.ESTIMATE_OPTION
|
|
, PI.PKG_ASP
|
|
, 'UNIT_PRICE' AS PRICE_CD
|
|
, PI.REMARKS
|
|
, '1' AS TEMP_FLG
|
|
, '0' AS LOCK_FLG
|
|
, '0' AS SYNC_FLG
|
|
, GETDATE() AS CREATE_DATETIME
|
|
, #{userId} AS CREATE_USER
|
|
, PI.SEC_SAP_SALES_STORE_CD
|
|
FROM T_PLAN_INFO PI WITH (NOLOCK)
|
|
WHERE PI.OBJECT_NO = #{objectNo}
|
|
AND PI.PLAN_NO = #{planNo}
|
|
</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>
|
|
|
|
<insert id="insertCanvasPopupStatusCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
|
|
INSERT INTO T_CANVAS_POPUP_STATUS
|
|
(
|
|
OBJECT_NO
|
|
, PLAN_NO
|
|
, POPUP_TYPE
|
|
, POPUP_STATUS
|
|
)
|
|
SELECT
|
|
#{copyObjectNo} AS OBJECT_NO
|
|
, #{copyPlanNo} AS PLAN_NO
|
|
, POPUP_TYPE
|
|
, POPUP_STATUS
|
|
FROM T_CANVAS_POPUP_STATUS O WITH (NOLOCK)
|
|
WHERE O.OBJECT_NO = #{objectNo}
|
|
AND 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>
|
|
|
|
<select id="selectEstimateConstructSpecification" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="String">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateConstructSpecification */
|
|
SELECT
|
|
TOP 1
|
|
T.CONSTRUCT_SPECIFICATION
|
|
FROM (
|
|
SELECT
|
|
PRE.CONSTRUCT_SPECIFICATION
|
|
, CASE WHEN LEFT(PRE.ROOF_SURFACE, 1) = '南' THEN 1
|
|
WHEN LEFT(PRE.ROOF_SURFACE, 1) = '東' THEN 2
|
|
WHEN LEFT(PRE.ROOF_SURFACE, 1) = '西' THEN 3
|
|
WHEN LEFT(PRE.ROOF_SURFACE, 1) = '北' THEN 4
|
|
ELSE 5 END ROOF_SURFACE_NUM
|
|
, (SELECT ISNULL(SUM(AMOUNT), 0) FROM T_PART_ROOF_ITEM_ESTIMATE WHERE ROOF_SURFACE_ID = PRE.ROOF_SURFACE_ID AND OBJECT_NO = PRE.OBJECT_NO AND PLAN_NO = PRE.PLAN_NO) AS MODULE_TCNT
|
|
FROM T_PART_ROOF_ESTIMATE PRE WITH (NOLOCK)
|
|
WHERE PRE.OBJECT_NO = #{objectNo}
|
|
AND PRE.PLAN_NO = #{planNo}
|
|
) T
|
|
ORDER BY T.MODULE_TCNT DESC, T.ROOF_SURFACE_NUM ASC
|
|
</select>
|
|
|
|
<update id="updateEstimateLastEditDate" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
|
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateLastEditDate */
|
|
UPDATE T_PLAN
|
|
SET
|
|
LAST_EDIT_DATETIME = GETDATE()
|
|
, LAST_EDIT_USER = #{userId}
|
|
WHERE OBJECT_NO = #{objectNo}
|
|
AND PLAN_NO = #{planNo}
|
|
</update>
|
|
|
|
</mapper> |