Procházet zdrojové kódy

用料统计查询问题

wang_xy před 1 rokem
rodič
revize
c6e18a7ed9

+ 16 - 26
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZMaterialStatisticsMapper.xml

@@ -51,42 +51,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 </select>
     <select id="getZMaterialStatistics" resultType="com.ruoyi.zdsz.domain.vo.MaterialStatisticsListVo" >
         SELECT
-        a.area_id,
-        e.`name` AS areaName,
-        e.district AS district,
-        c.NAME AS reality_specifications,
-        d.NAME AS reality_quality,
-        sum(a.reality_size) reality_size,
-        b.estimated_size,
-        g.dict_label AS engin_classification,
+        area.NAME as areaName,
         CASE
         a.engin_type
         WHEN 'old_renovation' THEN
         '旧改' ELSE '新建'
-        END AS engin_type
+        END AS engin_type,
+        dd.dict_label as engin_classification,
+        mq.NAME as reality_quality,
+        s.NAME as reality_specifications,
+        IF
+        ( ISNULL( mr.estimated_size ), 0, mr.estimated_size ) as estimated_size,
+        sum( a.reality_size ) reality_size
         FROM
         z_material_statistics a
-        LEFT JOIN z_engineering_materials_resets b ON a.reality_specifications = b.estimated_specifications
-        AND b.area_id LIKE CONCAT( "%", a.area_id, "%" )
-        AND a.engin_cycle = b.engin_cycle
-        AND a.del_flag = '0'
-        LEFT JOIN z_engin_specifications c ON b.estimated_specifications = c.id
-        LEFT JOIN z_engin_material_quality d ON d.id = b.material_quality
-        LEFT JOIN z_area e ON e.id = a.area_id
-        LEFT JOIN sys_dict_data f ON f.dict_type = 'engin_cycle'
-        AND f.dict_value = a.engin_cycle
-        LEFT JOIN sys_dict_data g ON g.dict_type = a. engin_type
-        AND g.dict_value = a.engin_classification
+        LEFT JOIN sys_dict_data dd ON a.engin_classification = dd.dict_value
+        LEFT JOIN z_engin_material_quality mq ON mq.id = a.reality_quality
+        LEFT JOIN z_engin_specifications s ON s.id = a.reality_specifications
+        LEFT JOIN z_engineering_materials_resets mr ON (mr.material_quality = a.reality_quality
+        AND mr.estimated_specifications = a.reality_specifications AND mr.del_flag=0)
+        LEFT JOIN z_area area ON area.id = a.area_id
         WHERE
         1=1
         <if test="areaId != null  and areaId != ''">
             and a.area_id = #{areaId}
         </if>
         <if test="realityQuality != null  and realityQuality != ''">
-            and b.material_quality = #{realityQuality}
+            and a.reality_quality = #{realityQuality}
         </if>
         <if test="realitySpecifications != null  and realitySpecifications != ''">
-            and b.estimated_specifications = #{realitySpecifications}
+            and a.reality_specifications = #{realitySpecifications}
         </if>
         <if test="enginCycle != null  and enginCycle != ''">
             and a.engin_cycle = #{enginCycle}
@@ -94,13 +88,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="enginClassification != null  and enginClassification != ''">
             and a.engin_classification = #{enginClassification}
         </if>
-        <if test="nodeType != null  and nodeType != ''">
-            and a.node_type = #{nodeType}
-        </if>
         <if test="enginType != null  and enginType != ''">
             and a.engin_type = #{enginType}
         </if>
-        AND  !ISNULL(b.material_quality)
         group by reality_quality,reality_specifications
     </select>