/* 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}
, RECEIVE_USER = #{charger}
WHERE OBJECT_NO = #{objectNo}
/* sqlid : com.interplug.qcast.biz.estimate.updateObjectInfo */
UPDATE T_OBJECT_INFO
SET
OBJECT_NO = #{objectNo}
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
, VERTICAL_SNOW_COVER = #{snowfall}
, SURFACE_TYPE = #{surfaceType}
, INSTALL_HEIGHT = #{setupHeight}
WHERE OBJECT_NO = #{objectNo}
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimate */
UPDATE T_PLAN
SET
LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
, 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}
, CHARGER = #{charger}
, CAPACITY = #{capacity}
, MODULE_MODEL = #{moduleModel}
, PC_TYPE_NO = #{pcTypeNo}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateInfo */
UPDATE T_PLAN_INFO
SET
ESTIMATE_TYPE = #{estimateType}
, SEC_SAP_SALES_STORE_CD = #{secSapSalesStoreCd}
, 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}
, ESTIMATE_DATE = #{estimateDate}
, FILE_FLG = #{fileFlg}
, ESTIMATE_OPTION = #{estimateOption}
, REMARKS = #{remarks}
, PKG_ASP = #{pkgAsp}
, PRICE_CD = #{priceCd}
, TEMP_FLG = '0'
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* 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}
/* 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}
/* 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}
/* 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}
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateLock */
UPDATE T_PLAN_INFO
SET
LOCK_FLG = #{lockFlg}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* 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}
/* 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}
)
/* 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
, AMOUNT_CHANGE
, PART_ADD
, LAST_EDIT_DATETIME
, LAST_EDIT_USER
) VALUES (
#{objectNo}
, #{planNo}
, #{dispOrder}
, #{itemId}
, #{itemNo}
, #{itemName}
, #{unit}
, #{specification}
, #{amount}
, #{amountChange}
, #{partAdd}
, GETDATE()
, #{userId}
)
/* 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
, PA_DISP_ORDER
, SPECIAL_NOTE_CD
, 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}
, #{paDispOrder}
, #{specialNoteCd}
, #{pkgMaterialFlg}
, #{fileUploadFlg}
, #{openFlg}
, #{unitOpenFlg}
, #{itemChangeFlg}
, #{dispCableFlg}
, #{itemTpCd}
)
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateItemHits */
INSERT INTO T_PART_ESTIMATE_HIS
(
HIS_NO
, OBJECT_NO
, PLAN_NO
, DISP_ORDER
, PA_DISP_ORDER
, ITEM_ID
, ITEM_NO
, ITEM_NAME
, UNIT
, AMOUNT
, BOM_AMOUNT
, UNIT_PRICE
, SALE_PRICE
, SPECIAL_NOTE_CD
, PKG_MATERIAL_FLG
, OPEN_FLG
, ITEM_CHANGE_FLG
, FILE_UPLOAD_FLG
, PART_ADD
, DEL_FLG
, CREATE_DATETIME
, CREATE_USER
) VALUES (
#{hisNo}
, #{objectNo}
, #{planNo}
, #{dispOrder}
, #{paDispOrder}
, #{itemId}
, #{itemNo}
, #{itemName}
, #{unit}
, #{amount}
, #{bomAmount}
, #{unitPrice}
, #{salePrice}
, #{specialNoteCd}
, #{pkgMaterialFlg}
, #{openFlg}
, #{itemChangeFlg}
, #{fileUploadFlg}
, #{partAdd}
, #{delFlg}
, GETDATE()
, #{userId}
)
/* 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
, SLOPE
, ANGLE
, CLASS_TYPE
, AZIMUTH
, CREATE_DATETIME
, CREATE_USER
) VALUES (
#{roofSurfaceId}
, #{objectNo}
, #{planNo}
, #{roofSurface}
, #{roofMaterialId}
, #{supportMethodId}
, #{constructSpecification}
, #{slope}
, #{angle}
, #{classType}
, #{azimuth}
, GETDATE()
, #{userId}
)
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateRoofItem */
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}
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
, QCAST_CUST_PRD_ID
, NORTH_MODULE_YN
)
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}
, #{qcastCustPrdId}
, #{northModuleYn}
FROM M_ITEM I WITH (NOLOCK)
WHERE I.ITEM_ID = #{itemId}
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateCircuitItem */
SELECT CAST(ISNULL(MAX(CIRCUIT_NO), 0) + 1 AS NVARCHAR) FROM T_PART_CIRCUIT_ITEM_ESTIMATE WHERE OBJECT_NO = #{objectNo} AND PLAN_NO = #{planNo}
INSERT INTO T_PART_CIRCUIT_ITEM_ESTIMATE
(
CIRCUIT_NO
, OBJECT_NO
, PLAN_NO
, ITEM_ID
, CIRCUIT_CFG
) VALUES (
#{circuitNo}
, #{objectNo}
, #{planNo}
, #{itemId}
, #{circuitCfg}
)
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofList */
DELETE FROM T_PART_ROOF_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofItemList */
DELETE FROM T_PART_ROOF_ITEM_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateCircuitItemList */
DELETE FROM T_PART_CIRCUIT_ITEM_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateDrawingItemList */
DELETE FROM T_PART_DRAWING_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateItemList */
DELETE FROM T_PART_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateInfoItemList */
DELETE FROM T_PART_ESTIMATE_INFO
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
/* 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.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}
/* 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}
/* 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}
/* 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
, NORTH_MODULE_YN
)
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
, PRIE.NORTH_MODULE_YN
FROM T_PART_ROOF_ITEM_ESTIMATE PRIE WITH (NOLOCK)
WHERE PRIE.OBJECT_NO = #{objectNo}
AND PRIE.PLAN_NO = #{planNo}
/* 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}
/* 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}
/* 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}
/* 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}