lyhzzz 2 سال پیش
والد
کامیت
dff843621c

+ 5 - 0
src/main/java/com/fdkankan/manage/mapper/IDataMapper.java

@@ -33,4 +33,9 @@ public interface IDataMapper {
 
     List<DataGroupByCount> sceneGroupByWeek(@Param("tb") String tb,@Param("startTime")String startTime,@Param("endTime")String endTime);
 
+    List<DataGroupByCount> sceneOutTimeGroupBy(@Param("tb") String tb, @Param("dateFormat")String dateFormat,
+                                        @Param("startTime")String startTime,@Param("endTime")String endTime);
+
+    List<DataGroupByCount> sceneOutTimeGroupByWeek(@Param("tb") String tb,@Param("startTime")String startTime,@Param("endTime")String endTime);
+
 }

+ 3 - 3
src/main/java/com/fdkankan/manage/service/impl/DataService.java

@@ -334,15 +334,15 @@ public class DataService implements IDataService {
         int rule = Dateutils.DAY;
         switch (type){
             case 0 :
-                allList = dataMapper.sceneGroupBy("t_camera_detail",dayFormat,startTime,endTime);
+                allList = dataMapper.sceneOutTimeGroupBy("t_camera_detail",dayFormat,startTime,endTime);
                 break;
             case 1 :
                 rule = Dateutils.WEEK;
-                allList = dataMapper.sceneGroupByWeek("t_camera_detail",startTime,endTime);
+                allList = dataMapper.sceneOutTimeGroupByWeek("t_camera_detail",startTime,endTime);
                 break;
             case 2 :
                 rule = Dateutils.MONTH;
-                allList = dataMapper.sceneGroupBy("t_camera_detail",mouthFormat,startTime,endTime);
+                allList = dataMapper.sceneOutTimeGroupBy("t_camera_detail",mouthFormat,startTime,endTime);
                 break;
         }
         HashMap<String, Long> kkMap = new HashMap<>();

+ 42 - 0
src/main/resources/mapper/manage/DataMapper.xml

@@ -116,4 +116,46 @@
 
 
 
+    <select id="sceneOutTimeGroupBy" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
+        SELECT DATE_FORMAT(out_time,#{dateFormat}) AS groupKey, count(id) AS count ,
+        <if test="tb == 't_scene_pro' or tb == 't_scene_plus' ">
+            scene_source as groupKey2
+        </if>
+        <if test="tb == 't_camera_detail'">
+            type as groupKey2
+        </if>
+        FROM ${tb}
+        WHERE rec_status = 'A'
+        <if test="tb == 't_scene_pro'">
+            AND is_upgrade = 0
+        </if>
+        and out_time between #{startTime} and #{endTime}
+        GROUP BY groupKey ,groupKey2
+    </select>
+
+    <select id="sceneOutTimeGroupByWeek" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
+        SELECT groupKey ,count(1) as count,
+        <if test="tb == 't_scene_pro' or tb == 't_scene_plus' ">
+            scene_source as groupKey2
+        </if>
+        <if test="tb == 't_camera_detail'">
+            type as groupKey2
+        </if>
+        FROM (
+        select date_format(date_add(out_time,interval-(weekday(out_time ))day),'%Y-%m-%d')  as groupKey,
+        <if test="tb == 't_scene_pro' or tb == 't_scene_plus' ">
+            scene_source
+        </if>
+        <if test="tb == 't_camera_detail'">
+            type
+        </if>
+        from ${tb}
+        WHERE rec_status = 'A'
+        <if test="tb == 't_scene_pro'">
+            AND is_upgrade = 0
+        </if>
+        and out_time between #{startTime} and #{endTime}
+        ) as tb GROUP BY groupKey,groupKey2
+    </select>
+
 </mapper>