Przeglądaj źródła

信息统计-出入库统计问题修改

liujh 3 lat temu
rodzic
commit
d9775a16d1

+ 20 - 3
zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/UseRecordMapper.xml

@@ -75,15 +75,15 @@
                      GROUP BY user_id)
                      GROUP BY user_id)
     </select>
     </select>
     <select id="calcRepertory" resultType="com.zd.bottle.vo.AirAmount" parameterType="java.lang.String">
     <select id="calcRepertory" resultType="com.zd.bottle.vo.AirAmount" parameterType="java.lang.String">
+        select date,sum(t.inNum) inNum ,sum(outNum) outNum from (
         SELECT
         SELECT
         DATE_FORMAT( S.create_time, '%Y年-%m月' ) date,
         DATE_FORMAT( S.create_time, '%Y年-%m月' ) date,
         COUNT( s.id ) inNum,
         COUNT( s.id ) inNum,
-        COUNT( o.id ) outNum
+        0 outNum
         FROM
         FROM
         ab_bottle_storage s
         ab_bottle_storage s
-        LEFT JOIN ab_bottle_storage_out o ON s.id = o.storage_id
         WHERE
         WHERE
-         DATE_FORMAT( s.create_time, '%Y-%m' )> DATE_FORMAT( date_sub( curdate(), INTERVAL 12 MONTH ),
+        DATE_FORMAT( s.create_time, '%Y-%m' )> DATE_FORMAT( date_sub( curdate(), INTERVAL 12 MONTH ),
         '%Y-%m' )
         '%Y-%m' )
         <if test="airName != null and airName!=''">
         <if test="airName != null and airName!=''">
             and s.air_name LIKE concat( '%', #{airName}, '%' )
             and s.air_name LIKE concat( '%', #{airName}, '%' )
@@ -91,6 +91,23 @@
         GROUP BY
         GROUP BY
         MONTH (s.create_time
         MONTH (s.create_time
         )
         )
+
+        UNION ALL
+        SELECT
+        DATE_FORMAT( o.create_time, '%Y年-%m月' ) date,
+        0 inNum,
+        COUNT( o.id ) outNum
+        FROM ab_bottle_storage_out o LEFT JOIN ab_bottle_storage s ON s.id = o.storage_id
+        WHERE
+        DATE_FORMAT( o.create_time, '%Y-%m' )> DATE_FORMAT( date_sub( curdate(), INTERVAL 12 MONTH ),
+        '%Y-%m' )
+        <if test="airName != null and airName!=''">
+            and s.air_name LIKE concat( '%', #{airName}, '%' )
+        </if>
+        GROUP BY
+        MONTH (o.create_time
+        )
+        ) t GROUP BY date
     </select>
     </select>
     <select id="calcAmount" resultType="com.zd.bottle.vo.AirAmount" parameterType="java.lang.String">
     <select id="calcAmount" resultType="com.zd.bottle.vo.AirAmount" parameterType="java.lang.String">
         SELECT
         SELECT