From 493f006d74e7fccdb42cc07410832b893cafe7be Mon Sep 17 00:00:00 2001 From: yscha Date: Fri, 2 Jan 2026 14:21:22 +0900 Subject: [PATCH] estimateMapper.xml --- .../mappers/estimate/estimateMapper.xml | 1910 ++++++++--------- 1 file changed, 954 insertions(+), 956 deletions(-) diff --git a/src/main/resources/mappers/estimate/estimateMapper.xml b/src/main/resources/mappers/estimate/estimateMapper.xml index fa04ea1c..3ea6d81c 100644 --- a/src/main/resources/mappers/estimate/estimateMapper.xml +++ b/src/main/resources/mappers/estimate/estimateMapper.xml @@ -6,84 +6,84 @@ /* sqlid : com.interplug.qcast.biz.estimate.selectPdfEstimateDetail */ SELECT - T.* - , SS1.SALE_STORE_NAME AS CUST_SALE_STORE_NAME - , COALESCE(NULLIF(SS2.DISP_COMPANY_NAME, ''), SS2.SALE_STORE_NAME) AS SALE_STORE_NAME - , COALESCE(NULLIF(SS2.DISP_ZIP_NO, ''), SS2.ZIP_NO) AS ZIP_NO - , COALESCE(NULLIF(SS2.DISP_ADDRESS, ''), SS2.ADDRESS) AS ADDRESS - , COALESCE(NULLIF(SS2.DISP_TEL, ''), SS2.TEL) AS TEL - , COALESCE(NULLIF(SS2.DISP_FAX, ''), SS2.FAX) AS FAX - , SSI2.BIZ_NO + T.* + , SS1.SALE_STORE_NAME AS CUST_SALE_STORE_NAME + , COALESCE(NULLIF(SS2.DISP_COMPANY_NAME, ''), SS2.SALE_STORE_NAME) AS SALE_STORE_NAME + , COALESCE(NULLIF(SS2.DISP_ZIP_NO, ''), SS2.ZIP_NO) AS ZIP_NO + , COALESCE(NULLIF(SS2.DISP_ADDRESS, ''), SS2.ADDRESS) AS ADDRESS + , COALESCE(NULLIF(SS2.DISP_TEL, ''), SS2.TEL) AS TEL + , COALESCE(NULLIF(SS2.DISP_FAX, ''), SS2.FAX) 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) + ( + 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) + 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) + INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK) ON O.OBJECT_NO = OI.OBJECT_NO - LEFT OUTER JOIN T_SIMULATION_PREFECTURE MP WITH (NOLOCK) + LEFT OUTER JOIN T_SIMULATION_PREFECTURE MP WITH (NOLOCK) ON O.PREF_ID = MP.PREF_ID - LEFT OUTER JOIN T_SIMULATION_AREA MPA WITH (NOLOCK) + LEFT OUTER JOIN T_SIMULATION_AREA MPA WITH (NOLOCK) ON O.PREF_ID = MPA.PREF_ID - AND OI.AREA_ID = MPA.AREA_ID - AND MPA.DEL_FLG = 0 - LEFT OUTER JOIN M_COMM_L C1 WITH (NOLOCK) + AND OI.AREA_ID = MPA.AREA_ID + AND MPA.DEL_FLG = 0 + 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 + 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 @@ -248,16 +248,16 @@ @@ -265,270 +265,270 @@ /* 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,'' + 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 + , 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) + 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 + 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 @@ -567,74 +567,74 @@ /* 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} - + 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} @@ -642,19 +642,19 @@ /* sqlid : com.interplug.qcast.biz.estimate.updateObjectInfo */ UPDATE T_OBJECT_INFO SET - OBJECT_NO = #{objectNo} - + OBJECT_NO = #{objectNo} + , STANDARD_WIND_SPEED_ID = #{standardWindSpeedId} - - + + , VERTICAL_SNOW_COVER = #{snowfall} - - + + , SURFACE_TYPE = #{surfaceType} - - + + , INSTALL_HEIGHT = #{setupHeight} - + WHERE OBJECT_NO = #{objectNo} @@ -662,80 +662,80 @@ /* 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} + 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} + 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' - - + 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} + 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} + 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} + AND PLAN_NO = #{planNo} @@ -743,23 +743,23 @@ 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} + ,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} @@ -768,16 +768,16 @@ /* 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} + 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} + AND PLAN_NO = #{planNo} @@ -807,78 +807,78 @@ /* sqlid : com.interplug.qcast.biz.estimate.updateEstimateLock */ UPDATE T_PLAN_INFO SET - LOCK_FLG = #{lockFlg} + LOCK_FLG = #{lockFlg} WHERE OBJECT_NO = #{objectNo} - AND PLAN_NO = #{planNo} + AND PLAN_NO = #{planNo} /* sqlid : com.interplug.qcast.biz.estimate.updateEstimateApi */ UPDATE T_PLAN_INFO SET - DOC_NO = #{docNo} - , SYNC_FLG = #{syncFlg} + DOC_NO = #{docNo} + , SYNC_FLG = #{syncFlg} WHERE OBJECT_NO = #{objectNo} - AND PLAN_NO = #{planNo} + 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 + OBJECT_NO + , PLAN_NO + , DISP_ORDER + , ITEM_ID + , AMOUNT + , LAST_EDIT_DATETIME + , LAST_EDIT_USER ) VALUES ( - #{objectNo} - , #{planNo} - , #{dispOrder} - , #{itemId} - , #{amount} - , GETDATE() - , #{userId} - ) + #{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 - + 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 + + , PART_ADD + , LAST_EDIT_DATETIME + , LAST_EDIT_USER ) VALUES ( - #{objectNo} - , #{planNo} - , #{dispOrder} - , #{itemId} - , #{itemNo} - , #{itemName} - , #{unit} - , #{specification} - , #{amount} - + #{objectNo} + , #{planNo} + , #{dispOrder} + , #{itemId} + , #{itemNo} + , #{itemName} + , #{unit} + , #{specification} + , #{amount} + , #{amountChange} - - , #{partAdd} - , GETDATE() - , #{userId} + + , #{partAdd} + , GETDATE() + , #{userId} ) @@ -886,45 +886,45 @@ /* 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 - + 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 + + , 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} - + #{objectNo} + , #{planNo} + , #{dispOrder} + , #{unitPrice} + , #{salePrice} + , #{bomAmount} + , #{paDispOrder} - - + + , #{specialNoteCd} - - , #{pkgMaterialFlg} - , #{fileUploadFlg} - , #{openFlg} - , #{unitOpenFlg} - , #{itemChangeFlg} - , #{dispCableFlg} - , #{itemTpCd} + + , #{pkgMaterialFlg} + , #{fileUploadFlg} + , #{openFlg} + , #{unitOpenFlg} + , #{itemChangeFlg} + , #{dispCableFlg} + , #{itemTpCd} ) @@ -932,59 +932,59 @@ /* sqlid : com.interplug.qcast.biz.estimate.insertEstimateItemHits */ INSERT INTO T_PART_ESTIMATE_HIS ( - HIS_NO - , OBJECT_NO - , PLAN_NO - , DISP_ORDER - + 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 - + + , 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 + + , PKG_MATERIAL_FLG + , OPEN_FLG + , ITEM_CHANGE_FLG + , FILE_UPLOAD_FLG + , PART_ADD + , DEL_FLG + , CREATE_DATETIME + , CREATE_USER ) VALUES ( - #{hisNo} - , #{objectNo} - , #{planNo} - , #{dispOrder} - + #{hisNo} + , #{objectNo} + , #{planNo} + , #{dispOrder} + , #{paDispOrder} - - , #{itemId} - , #{itemNo} - , #{itemName} - , #{unit} - , #{amount} - , #{bomAmount} - , #{unitPrice} - , #{salePrice} - + + , #{itemId} + , #{itemNo} + , #{itemName} + , #{unit} + , #{amount} + , #{bomAmount} + , #{unitPrice} + , #{salePrice} + , #{specialNoteCd} - - , #{pkgMaterialFlg} - , #{openFlg} - , #{itemChangeFlg} - , #{fileUploadFlg} - , #{partAdd} - , #{delFlg} - , GETDATE() - , #{userId} + + , #{pkgMaterialFlg} + , #{openFlg} + , #{itemChangeFlg} + , #{fileUploadFlg} + , #{partAdd} + , #{delFlg} + , GETDATE() + , #{userId} ) @@ -992,49 +992,49 @@ /* 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 - + 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 + + , CREATE_DATETIME + , CREATE_USER ) VALUES ( - #{roofSurfaceId} - , #{objectNo} - , #{planNo} - , #{roofSurface} - , #{roofMaterialId} - , #{supportMethodId} - , #{constructSpecification} - + #{roofSurfaceId} + , #{objectNo} + , #{planNo} + , #{roofSurface} + , #{roofMaterialId} + , #{supportMethodId} + , #{constructSpecification} + , #{slope} - - + + , #{angle} - - + + , #{classType} - - + + , #{azimuth} - - , GETDATE() - , #{userId} + + , GETDATE() + , #{userId} ) @@ -1046,32 +1046,32 @@ 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 + 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} + #{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} @@ -1084,17 +1084,17 @@ INSERT INTO T_PART_CIRCUIT_ITEM_ESTIMATE ( - CIRCUIT_NO - , OBJECT_NO - , PLAN_NO - , ITEM_ID - , CIRCUIT_CFG + CIRCUIT_NO + , OBJECT_NO + , PLAN_NO + , ITEM_ID + , CIRCUIT_CFG ) VALUES ( - #{circuitNo} - , #{objectNo} - , #{planNo} - , #{itemId} - , #{circuitCfg} + #{circuitNo} + , #{objectNo} + , #{planNo} + , #{itemId} + , #{circuitCfg} ) @@ -1102,21 +1102,21 @@ /* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofList */ DELETE FROM T_PART_ROOF_ESTIMATE WHERE OBJECT_NO = #{objectNo} - AND PLAN_NO = #{planNo} + 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} + 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} + AND PLAN_NO = #{planNo} @@ -1130,7 +1130,7 @@ /* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateItemList */ DELETE FROM T_PART_ESTIMATE WHERE OBJECT_NO = #{objectNo} - AND PLAN_NO = #{planNo} + AND PLAN_NO = #{planNo} @@ -1144,162 +1144,162 @@ /* 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 + 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 + #{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} + 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 + 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 + #{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} + 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 + 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_SURFACE_ID + , #{copyObjectNo} AS OBJECT_NO + , #{copyPlanNo} AS PLAN_NO + , PRE.ROOF_SURFACE , PRE.ROOF_MATERIAL_ID , PRE.SUPPORT_METHOD_ID , PRE.CONSTRUCT_SPECIFICATION @@ -1311,86 +1311,86 @@ , #{userId} AS CREATE_USER FROM T_PART_ROOF_ESTIMATE PRE WITH (NOLOCK) WHERE PRE.OBJECT_NO = #{objectNo} - AND PRE.PLAN_NO = #{planNo} + 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 + 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 + 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} + 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 + 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 + 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} + 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 + 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 + #{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} + AND PDE.PLAN_NO = #{planNo} @@ -1413,11 +1413,9 @@ /* sqlid : com.interplug.qcast.biz.estimate.updatePlanConfirmSync */ - UPDATE T_PLAN + UPDATE T_PLAN_INFO SET - ORDER_FLG = '1' - , LAST_EDIT_DATETIME = GETDATE() - , LAST_EDIT_USER = 'system' + ORDER_FLG = '1' WHERE OBJECT_NO = #{objectNo} AND PLAN_NO = #{planNo} @@ -1428,18 +1426,18 @@ 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 + 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