فهرست منبع

运维管理-工作量统计-列表查询

jichaobo 3 سال پیش
والد
کامیت
3722de7e4d

+ 19 - 0
fiveep-controller/src/main/java/com/bizmatics/controller/web/DevopsWorkOrderController.java

@@ -159,5 +159,24 @@ public class DevopsWorkOrderController {
         return ApiResult.success(devopsWorkOrderService.operationCensus(type));
     }
 
+
+    /**
+     * 运维管理-工作量统计-列表查询
+     * @param siteId 站点ID
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @param size 条数
+     * @param current 页数
+     * @return
+     */
+    @GetMapping("workloadStatisticsLits")
+    public ApiResult<CommonPage<Object>> workloadStatisticsLits(@RequestParam(required = false) Integer siteId,
+                                                          @RequestParam(required = false) String startTime,
+                                                          @RequestParam(required = false) String endTime,
+                                                          @RequestParam(value = "size", required = false, defaultValue = "15") Integer size,
+                                                          @RequestParam(value = "current", required = false, defaultValue = "1") Integer current
+    ) {
+        return ApiResult.success(devopsWorkOrderService.workloadStatisticsLits(siteId,startTime,endTime,size , current));
+    }
 }
 

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
fiveep-controller/src/main/resources/static/doc/rpc/rpc-index.html


+ 3 - 0
fiveep-model/src/main/java/com/bizmatics/model/Device.java

@@ -42,6 +42,9 @@ public class Device implements Serializable {
      */
     private String deviceName;
 
+    /**
+     * 楼层
+     */
     private String floor;
     /**
      * 所属站点

+ 15 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/CorrespondDeviceVO.java

@@ -68,5 +68,20 @@ public class CorrespondDeviceVO{
      */
     private Integer onlineDuration;
 
+    /**
+     * sim卡号
+     */
+    private String sim;
+
+    /**
+     * 楼层
+     */
+    private Integer floor;
+
+    /**
+     * 设备类型
+     */
+    private Integer deviceType;
+
 
 }

+ 5 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/ProcessingTime.java

@@ -45,6 +45,11 @@ public class ProcessingTime {
      */
     private Integer siteId;
 
+    /**
+     * 接单数量
+     */
+    private Integer count;
+
     /**
      * 处理时间/小时
      */

+ 2 - 1
fiveep-persistence/src/main/resources/mapper/mysql/DeviceMapper.xml

@@ -116,7 +116,8 @@
         HOUR,
         a.install_time,
         now()
-        ),null) as onlineDuration
+        ),null) as onlineDuration,
+        a.sim,a.floor,a.device_type
         FROM
         device AS a
         JOIN device_status AS b ON a.device_code = b.device_code

+ 1 - 1
fiveep-persistence/src/main/resources/mapper/mysql/DevopsWorkOrderMapper.xml

@@ -152,7 +152,7 @@
         a.inspectors_name,
         c.work_order_status,
         c.site_id,
-        COUNT(c.id),
+        COUNT(c.id) as count,
         SUM(
 
         IF (

+ 2 - 0
fiveep-service/src/main/java/com/bizmatics/service/DevopsWorkOrderService.java

@@ -34,4 +34,6 @@ public interface DevopsWorkOrderService extends CrudService<DevopsWorkOrder> {
     List<PatrolInspectionTeamOneVo> PatrolInspectionTeamList();
 
     List<OpexStatisticsVo> operationCensus(String type);
+
+    CommonPage<Object> workloadStatisticsLits(Integer siteId, String startTime, String endTime,Integer size , Integer current);
 }

+ 43 - 5
fiveep-service/src/main/java/com/bizmatics/service/impl/DevopsWorkOrderServiceImpl.java

@@ -626,12 +626,15 @@ public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOr
         return cal.getTime();
     }
 
-    public void workloadStatisticsLits(Integer siteId,String startTime,String endTime){
+    @Override
+    public CommonPage<Object> workloadStatisticsLits(Integer siteId,String startTime,String endTime,Integer size , Integer current){
         List<ProcessingTime> processingTimeList = baseMapper.workloadStatisticsLits(siteId, startTime, endTime);
 
         LambdaQueryWrapper<PatrolInspectors> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(PatrolInspectors::getStatus, 1);
         List<PatrolInspectors> patrolInspectorsList =  patrolInspectorsService.list(queryWrapper);
+        List<Object> processingTimeVoList = new ArrayList<>();
+        List<Object> Active = new ArrayList<Object>(); // 存放页面需要展示的数据
 
         if (patrolInspectorsList.size()>0){
             for (int i = 0; i < patrolInspectorsList.size(); i++) {
@@ -641,17 +644,52 @@ public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOr
                 Integer incomplete = 0;
                 Integer responseTime = 0;
                 Integer processingTime = 0;
-                Integer testimonials = 0;
                 if (processingTimeList.size()>0){
                     for (Integer j = 0; j < processingTimeList.size(); j++) {
-
+                        if (patrolInspectorsList.get(i).getId()==processingTimeList.get(j).getId()){
+                            switch (processingTimeList.get(j).getWorkOrderStatus()) {
+                                case 4:
+                                    orderQuantity += processingTimeList.get(j).getCount();
+                                    incomplete += processingTimeList.get(j).getCount();
+                                    break;
+                                case 5:
+                                    incomplete += processingTimeList.get(j).getCount();
+                                    orderQuantity += processingTimeList.get(j).getCount();
+                                    break;
+                                case 6:
+                                    orderQuantity += processingTimeList.get(j).getCount();
+                                    completedQuantity += processingTimeList.get(j).getCount();
+                                    processingTime=processingTimeList.get(j).getProcessingTime();
+                                    break;
+                                default:
+                            }
+                        }
                     }
+                    map.put("inspectorsName", patrolInspectorsList.get(i).getInspectorsName());
+                    map.put("orderQuantity", orderQuantity);
+                    map.put("completedQuantity", completedQuantity);
+                    map.put("incomplete", incomplete);
+                    map.put("responseTime", responseTime);
+                    map.put("processingTime", processingTime);
+                    map.put("testimonials", "");
                 }else {
-
+                    map.put("inspectorsName", patrolInspectorsList.get(i).getInspectorsName());
+                    map.put("orderQuantity", orderQuantity);
+                    map.put("completedQuantity", completedQuantity);
+                    map.put("incomplete", incomplete);
+                    map.put("responseTime", responseTime);
+                    map.put("processingTime", processingTime);
+                    map.put("testimonials", "");
                 }
+                processingTimeVoList.add(map);
+            }
+            int currIdx = (current > 1 ? (current -1) * size: 0);
+            for (int i = 0; i < size && i < processingTimeVoList.size() - currIdx; i++) { // 判断条件十分巧妙,防止List取值越界
+                Object active = processingTimeVoList.get(currIdx + i);
+                Active.add(active);
             }
         }
-
+        return new CommonPage<>(Active, processingTimeVoList.size(), size, current);
     }
 
 }

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است