Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/20210223' into 20210223

wangyangyang 3 gadi atpakaļ
vecāks
revīzija
af52ddf04b

+ 7 - 11
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderStatisticsController.java

@@ -261,7 +261,8 @@ public class WorkOrderStatisticsController {
     @RequestMapping(value = "dispatchTimesStatistics", method = RequestMethod.GET)
     @ApiOperation(value = "派单次数统计")
     public AjaxMessage<List<Map<String,Object>>> dispatchTimesStatistics(
-            @ApiParam(value = "设备或场景ID", required = true) @RequestParam(required = true) int id,
+            @ApiParam(value = "场景ID", required = true) @RequestParam(required = true) int scenesId,
+            @ApiParam(value = "设备ID", required = true) @RequestParam(required = true) int id,
             @ApiParam(value = "设备或场景标识(1:设备;2:场景)", required = true) @RequestParam(required = true) int sort,
             @ApiParam(value = "统计类型:0-按月统计,1-按年统计,2-自定义统计", required = true) @RequestParam(required = true) int statsType,
             @ApiParam(value = "统计时间:月格式(yyyy-MM),年格式(yyyy),自定义统计时间开始日期", required = true) @RequestParam(required = true) String startDate,
@@ -286,22 +287,17 @@ public class WorkOrderStatisticsController {
                 endDate = subMonth(endDate,1);
                 break;
         }
+        workOrderManageDto.setScenesId(scenesId);
         workOrderManageDto.setStartDate(startDate);
         workOrderManageDto.setEndDate(endDate);
-        if(sort == 2){
-            AjaxMessage<List<Map<String, Object>>> ajaxMessage = smsWaterClient.selectAlarmDeviceIdBySenceId(id);
-             for(Map<String,Object> map : ajaxMessage.getData()) {
-                 int deviceId = Integer.parseInt(map.get("device_id").toString());
-                 idList.add(deviceId);
-             }
-        }else if(sort==1){
-            idList.add(id);
+         if(sort==1){
+           workOrderManageDto.setDeviceId(id);
         }
         if(statsType ==0 || statsType ==2){
-            statistics =  workOrderManageService.dispatchTimesMonthStatistics(workOrderManageDto,idList);
+            statistics =  workOrderManageService.dispatchTimesMonthStatistics(workOrderManageDto);
         }
         else if(statsType == 1){
-            statistics =  workOrderManageService.dispatchTimesYearStatistics(workOrderManageDto,idList);
+            statistics =  workOrderManageService.dispatchTimesYearStatistics(workOrderManageDto);
         }
         return new AjaxMessage<>(ResultStatus.OK, statistics);
     }

+ 4 - 4
operation_manager/src/main/java/com/huaxu/order/dao/WorkOrderManageMapper.java

@@ -95,14 +95,14 @@ public interface WorkOrderManageMapper {
 
 
     /**
-     * 单次数月统计
+     * 单次数月统计
      */
-    List<Map<String,Object>> dispatchTimesMonthStatistics(@Param("order") WorkOrderManageDto workOrderManageDto,@Param("idList") List<Integer> idList);
+    List<Map<String,Object>> dispatchTimesMonthStatistics(@Param("order") WorkOrderManageDto workOrderManageDto);
 
     /**
-     * 单次数年统计
+     * 单次数年统计
      */
-    List<Map<String,Object>> dispatchTimesYearStatistics(@Param("order") WorkOrderManageDto workOrderManageDto,@Param("idList") List<Integer> idList);
+    List<Map<String,Object>> dispatchTimesYearStatistics(@Param("order") WorkOrderManageDto workOrderManageDto);
 
     /**
      * 待处理权限

+ 2 - 2
operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java

@@ -134,12 +134,12 @@ public interface WorkOrderManageService {
     /**
      * 判单次数月统计
      */
-    List<Map<String,Object>> dispatchTimesMonthStatistics(@Param("order") WorkOrderManageDto workOrderManageDto,@Param("idList") List<Integer> idList) throws ParseException;
+    List<Map<String,Object>> dispatchTimesMonthStatistics(@Param("order") WorkOrderManageDto workOrderManageDto) throws ParseException;
 
     /**
      * 判单次数年统计
      */
-    List<Map<String,Object>> dispatchTimesYearStatistics(@Param("order") WorkOrderManageDto workOrderManageDto,@Param("idList") List<Integer> idList);
+    List<Map<String,Object>> dispatchTimesYearStatistics(@Param("order") WorkOrderManageDto workOrderManageDto);
 
 
     /**

+ 5 - 4
operation_manager/src/main/java/com/huaxu/order/service/impl/WorkOrderManageServiceImpl.java

@@ -10,6 +10,7 @@ import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.service.WorkOrderManageService;
 import com.huaxu.util.UserUtil;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -252,10 +253,10 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
     }
 
     @Override
-    public List<Map<String, Object>> dispatchTimesMonthStatistics(WorkOrderManageDto workOrderManageDto,List<Integer> idList) throws ParseException {
+    public List<Map<String, Object>> dispatchTimesMonthStatistics(WorkOrderManageDto workOrderManageDto) throws ParseException {
         int days = differentDaysByMillisecond(workOrderManageDto.getStartDate(),workOrderManageDto.getEndDate());
         List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
-        List<Map<String,Object>> list = workOrderManageMapper.dispatchTimesMonthStatistics(workOrderManageDto,idList);
+        List<Map<String,Object>> list = workOrderManageMapper.dispatchTimesMonthStatistics(workOrderManageDto);
         for(int i=0; i<days; i++) {
             String strDate =  subDay(workOrderManageDto.getStartDate(),i);
             Map<String, Object> data = new HashMap<>();
@@ -273,8 +274,8 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
     }
 
     @Override
-    public List<Map<String, Object>> dispatchTimesYearStatistics(WorkOrderManageDto workOrderManageDto, List<Integer> idList) {
-        List<Map<String,Object>> list = workOrderManageMapper.dispatchTimesYearStatistics(workOrderManageDto,idList);
+    public List<Map<String, Object>> dispatchTimesYearStatistics(WorkOrderManageDto workOrderManageDto) {
+        List<Map<String,Object>> list = workOrderManageMapper.dispatchTimesYearStatistics(workOrderManageDto);
         List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
         for(int i=0; i<12; i++) {
             String strDate = workOrderManageDto.getStartDate().substring(0, 4) + String.format("-%02d", i + 1);

+ 8 - 9
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -1197,17 +1197,16 @@
       and date_create between #{startTime} and #{endTime}
     order by send_time desc
   </select>
-
   <!--派单次数月统计-->
   <select id="dispatchTimesMonthStatistics" resultType="map">
       select count(1) 数量, DATE_FORMAT(send_time,'%Y-%m-%d') 日期
       from sc_work_order_manage t1
       where t1.send_time &gt;= date_format(#{order.startDate,jdbcType=VARCHAR},'%Y-%m-%d')
       and t1.send_time &lt; date_format(#{order.endDate,jdbcType=VARCHAR},'%Y-%m-%d')
-      and device_id in
-      <foreach collection="idList" item="item" open="(" close=")" separator=",">
-        #{item,jdbcType=INTEGER}
-      </foreach>
+      and t1.scenes_id= #{order.scenesId,jdbcType=INTEGER}
+      <if test="order.deviceId != null">
+        and device_id = #{order.deviceId,jdbcType=INTEGER}
+      </if>
       group by DATE_FORMAT(send_time,'%Y-%m-%d')
   </select>
   <!--派单次数年统计-->
@@ -1216,10 +1215,10 @@
     from sc_work_order_manage t1
     where t1.send_time &gt;= date_format(#{order.startDate,jdbcType=VARCHAR},'%Y-%m-%d')
     and t1.send_time &lt; date_format(#{order.endDate,jdbcType=VARCHAR},'%Y-%m-%d')
-    and device_id in
-    <foreach collection="idList" item="item" open="(" close=")" separator=",">
-      #{item,jdbcType=INTEGER}
-    </foreach>
+    and t1.scenes_id= #{order.scenesId,jdbcType=INTEGER}
+    <if test="order.deviceId != null">
+      and device_id = #{order.deviceId,jdbcType=INTEGER}
+    </if>
     group by DATE_FORMAT(send_time,'%Y-%m')
   </select>
 

+ 6 - 7
sms_water/src/main/resources/mapper/SceneMapper.xml

@@ -430,8 +430,8 @@
     </select>
     <!--报警场景及报警设备查询-->
     <select id="selectAlarmSceneAndDevice" resultType="map">
-       select amount, id, name, sort from(
-        select count(1) amount, a.id, a.SCENE_NAME name,2 sort
+       select amount, id, scene_id, name, sort from(
+        select count(1) amount, a.id,a.id scene_id, a.SCENE_NAME name,2 sort
         from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
         INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID
         <where>
@@ -470,11 +470,11 @@
             and c.date_create &lt; date_format(#{endDate,jdbcType=VARCHAR},'%Y-%m-%d')
             and SCENE_TYPE_NAME in('水源','水厂','泵站')
         </where>
-        group by a.SCENE_NAME, a.ID, sort
+        group by a.scene_name, a.id, sort
 
         union all
 
-        select count(1) amount, d.id, d.DEVICE_NAME name,1 sort
+        select count(1) amount, d.id,c.scene_id, d.device_name name,1 sort
         from sms_alarm_details c
         INNER JOIN sms_device d on c.DEVICE_ID=d.ID
         INNER JOIN sms_scene a on  c.SCENE_ID=a.ID
@@ -515,7 +515,7 @@
             and c.date_create &lt; date_format(#{endDate,jdbcType=VARCHAR},'%Y-%m-%d')
             and SCENE_TYPE_NAME='管网'
         </where>
-        group by d.DEVICE_NAME, d.ID, sort) t
+        group by d.device_name, d.id, c.scene_id, sort) t
         order by amount desc
     </select>
 
@@ -558,8 +558,7 @@
                     (
                         select if(d.REMARK is null,e.NAME,d.REMARK) label,CASE WHEN ALARM_CONDITION='&gt;' OR ALARM_CONDITION='&gt;=' then '高'
                         WHEN ALARM_CONDITION='&lt;' OR ALARM_CONDITION='&lt;=' then '低'
-                        WHEN ALARM_CONDITION='=' then '等于'
-                        end op
+                        ELSE '' END op
                         <if test="sort == 2">
                             from sms_scene a INNER JOIN sms_scene_type b on a.SCENE_TYPE_ID=b.ID
                             INNER JOIN sms_alarm_details c on c.PARENT_SCENE_ID=a.ID