1208 lines
45 KiB
XML
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> |