소스 검색

运维管理-运维统计相关接口上传2

jichaobo 3 년 전
부모
커밋
6aaf993a54

+ 1 - 1
fiveep-controller/src/main/java/com/bizmatics/controller/web/DeviceAttributeController.java

@@ -31,7 +31,7 @@ public class DeviceAttributeController {
      * @param deviceAttribute
      * @return
      */
-    @GetMapping("deviceNewsAdd")
+    @PostMapping("deviceNewsAdd")
     public ApiResult<Void> deviceNewsAdd(@RequestBody DeviceAttribute deviceAttribute) {
         deviceAttributeService.deviceNewsAdd(deviceAttribute);
         return ApiResult.success();

+ 3 - 7
fiveep-controller/src/main/java/com/bizmatics/controller/web/DevopsWorkOrderController.java

@@ -4,10 +4,7 @@ package com.bizmatics.controller.web;
 import com.bizmatics.common.core.bean.ApiResult;
 import com.bizmatics.common.core.bean.CommonPage;
 import com.bizmatics.model.PatrolInspectors;
-import com.bizmatics.model.vo.DevopsWorkOrderDetailsVo;
-import com.bizmatics.model.vo.DevopsWorkOrderListVo;
-import com.bizmatics.model.vo.DevopsWorkOrderVo;
-import com.bizmatics.model.vo.PatrolInspectionTeamOneVo;
+import com.bizmatics.model.vo.*;
 import com.bizmatics.service.DevopsWorkOrderService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -151,10 +148,9 @@ public class DevopsWorkOrderController {
 
 
     @GetMapping("operationCensus")
-    public ApiResult<Void> operationCensus(@RequestParam String type
+    public ApiResult<List<OpexStatisticsVo>> operationCensus(@RequestParam String type
     ) {
-        devopsWorkOrderService.operationCensus(type);
-        return ApiResult.success();
+        return ApiResult.success(devopsWorkOrderService.operationCensus(type));
     }
 
 }

+ 3 - 1
fiveep-model/src/main/java/com/bizmatics/model/vo/GroupingQueryVo.java

@@ -20,7 +20,9 @@ import java.io.Serializable;
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 public class GroupingQueryVo implements Serializable {
-    private Integer work_order_status;
+    private Integer workOrderStatus;
 
     private Integer count;
+
+    private String createTime;
 }

+ 84 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/OpexStatisticsVo.java

@@ -0,0 +1,84 @@
+package com.bizmatics.model.vo;
+
+import com.bizmatics.model.DevopsWorkOrder;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2021-07-07
+ */
+@Builder
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class OpexStatisticsVo {
+    /**
+     * 新建工单数量
+     */
+    private Integer newWorkOrderCount;
+
+    /**
+     * 已完成工单
+     */
+    private Integer completedWorkOrder;
+
+    /**
+     * 平均响应时间
+     */
+    private Double averageResponseTime;
+
+    /**
+     * 日均工单数
+     */
+    private Double workOrderAveCount;
+
+    /**
+     * 待抢单
+     */
+    private Integer stayGrabOrdersCount;
+
+    /**
+     * 待指派
+     */
+    private Integer stayAppointCount;
+
+    /**
+     * 待接单
+     */
+    private Integer stayOrderTakingCount;
+
+    /**
+     * 待处理
+     */
+    private Integer stayManageCount;
+
+    /**
+     * 待关单
+     */
+    private Integer stayCustomsClearanceCount;
+
+    /**
+     * 已完成
+     */
+    private Integer completedCount;
+
+    /**
+     * 各站点各类工单数统计
+     */
+    List<Object> workOrderStatistics;
+
+    /**
+     * 工单数趋势
+     */
+    List<DevopsWorkOrder> workOrderTrend;
+}

+ 4 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/DevopsWorkOrderMapper.java

@@ -2,6 +2,7 @@ package com.bizmatics.persistence.mapper;
 
 import com.bizmatics.common.mvc.base.CrudMapper;
 import com.bizmatics.model.DevopsWorkOrder;
+import com.bizmatics.model.Site;
 import com.bizmatics.model.vo.*;
 import org.apache.ibatis.annotations.Param;
 
@@ -34,4 +35,7 @@ public interface DevopsWorkOrderMapper extends CrudMapper<DevopsWorkOrder> {
                                                           @Param("inspectionSchemeId") Integer inspectionSchemeId);
 
     List<PatrolInspectorsOneVo> patrolInspectorsOneVoList();
+
+    List<Site> SiteList(@Param("userId") Integer userId,
+                        @Param("name") String name);
 }

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

@@ -129,4 +129,21 @@
                 JOIN patrol_team_inspection AS b ON a.id = b.inspectors_id
     </select>
 
+    <select id="SiteList" resultType="com.bizmatics.model.Site">
+        select s.id,s.site_name,s.site_address,s.company_code,s.user_name,s.phone,s.station_area_id,s.route_id,
+        s.installed_capacity,s.rheological_change,s.longitude,s.latitude,s.region,s.create_time,s.creator,s.enable
+        from user_site as us
+        inner join site as s
+        on us.site_id = s.id
+        <where>
+            <if test="userId != null and userId != 0">
+                and us.user_id = #{userId}
+            </if>
+            <if test="name != null and name != ''">
+                and s.site_name LIKE CONCAT(CONCAT('%', #{name}), '%')
+            </if>
+
+        </where>
+    </select>
+
 </mapper>

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

@@ -4,10 +4,7 @@ import com.bizmatics.common.core.bean.CommonPage;
 import com.bizmatics.model.DevopsWorkOrder;
 import com.bizmatics.common.mvc.base.CrudService;
 import com.bizmatics.model.PatrolInspectors;
-import com.bizmatics.model.vo.DevopsWorkOrderDetailsVo;
-import com.bizmatics.model.vo.DevopsWorkOrderListVo;
-import com.bizmatics.model.vo.DevopsWorkOrderVo;
-import com.bizmatics.model.vo.PatrolInspectionTeamOneVo;
+import com.bizmatics.model.vo.*;
 
 import java.util.List;
 
@@ -38,5 +35,5 @@ public interface DevopsWorkOrderService extends CrudService<DevopsWorkOrder> {
 
     List<PatrolInspectionTeamOneVo> PatrolInspectionTeamList();
 
-    void operationCensus(String type);
+    List<OpexStatisticsVo> operationCensus(String type);
 }

+ 103 - 2
fiveep-service/src/main/java/com/bizmatics/service/impl/DevopsWorkOrderServiceImpl.java

@@ -11,6 +11,7 @@ import com.bizmatics.model.vo.*;
 import com.bizmatics.persistence.mapper.DevopsWorkOrderMapper;
 import com.bizmatics.service.*;
 import com.bizmatics.service.util.SecurityUtils;
+import com.bizmatics.service.vo.CommonIcoVO;
 import org.junit.jupiter.api.Order;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -313,7 +314,7 @@ public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOr
     }
 
     @Override
-    public void operationCensus(String type) {
+    public List<OpexStatisticsVo> operationCensus(String type) {
         String firstDay;
         String lastDay;
         Date startDate;
@@ -321,6 +322,7 @@ public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOr
         String startTime;
         String endTime;
         int days = 0;
+        SysUser user = SecurityUtils.getLoginUser().getUser();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         SimpleDateFormat yearFormatter = new SimpleDateFormat("yyyy");
@@ -452,7 +454,7 @@ public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOr
         Integer completedWorkOrder = this.count(queryWrapperOne);
 
         //平均响应时间
-        Double average_ResponseTime = 0.30;
+        Double averageResponseTime = 0.30;
 
         //日均工单数
         double workOrderAveCount = newWorkOrderCount / days;
@@ -460,8 +462,10 @@ public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOr
         //工作状态
         QueryWrapper<DevopsWorkOrder> queryWrapperTwo = new QueryWrapper<>();
         queryWrapperTwo.select("work_order_status", "count(*) as count")
+                .eq("status",1)
                 .between("create_time", startTime, endTime)
                 .groupBy("work_order_status");
+
         List<DevopsWorkOrder> groupingQueryVoList = this.list(queryWrapperTwo);
         for (int i = 0; i < groupingQueryVoList.size(); i++) {
             switch (groupingQueryVoList.get(i).getWorkOrderStatus()) {
@@ -487,6 +491,103 @@ public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOr
             }
         }
 
+        //各站点各类工单数统计
+        QueryWrapper<DevopsWorkOrder> queryWrapperThree = new QueryWrapper<>();
+        queryWrapperThree.select("site_id","work_order_type", "count(*) as count")
+                .eq("status",1)
+                .between("create_time", startTime, endTime)
+                .groupBy("site_id","work_order_type");
+        List<DevopsWorkOrder> WorkOrderStatisticsList = this.list(queryWrapperThree);
+        List<Object> workOrderStatistics = new ArrayList<>();
+        List<Site> siteList = baseMapper.SiteList(user.getUserId().intValue(), null);
+        if (siteList.size()>0){
+            for (int i=0;i<siteList.size();i++){
+                Map<String,Object> map = new HashMap<>();
+                Integer safetyValuationCount = 0;
+                Integer overhaulCount = 0;
+                Integer rushRepairCount = 0;
+                Integer otherCount = 0;
+                Integer maintainCount = 0;
+                Integer outageMaintenanceCount = 0;
+                Integer inspectionCount = 0;
+                if (WorkOrderStatisticsList.size()>0){
+                    for (int j=0;j<WorkOrderStatisticsList.size();j++){
+                        if (siteList.get(i).getId()==WorkOrderStatisticsList.get(j).getSiteId()){
+                            switch (WorkOrderStatisticsList.get(j).getWorkOrderType()) {
+                                case 1:
+                                    safetyValuationCount = WorkOrderStatisticsList.get(j).getCount();
+                                    break;
+                                case 2:
+                                    overhaulCount= WorkOrderStatisticsList.get(j).getCount();
+                                    break;
+                                case 3:
+                                    rushRepairCount= WorkOrderStatisticsList.get(j).getCount();
+                                    break;
+                                case 4:
+                                    otherCount= WorkOrderStatisticsList.get(j).getCount();
+                                    break;
+                                case 5:
+                                    maintainCount= WorkOrderStatisticsList.get(j).getCount();
+                                    break;
+                                case 6:
+                                    outageMaintenanceCount= WorkOrderStatisticsList.get(j).getCount();
+                                    break;
+                                case 7:
+                                    inspectionCount= WorkOrderStatisticsList.get(j).getCount();
+                                    break;
+                                default:
+                            }
+                        }
+                        map.put("siteName",siteList.get(i).getSiteName());
+                        map.put("safetyValuationCount",safetyValuationCount);
+                        map.put("overhaulCount",overhaulCount);
+                        map.put("rushRepairCount",rushRepairCount);
+                        map.put("otherCount",otherCount);
+                        map.put("maintainCount",maintainCount);
+                        map.put("outageMaintenanceCount",outageMaintenanceCount);
+                        map.put("inspectionCount",inspectionCount);
+                    }
+                }else {
+                    map.put("siteName",siteList.get(i).getSiteName());
+                    map.put("safetyValuationCount",safetyValuationCount);
+                    map.put("overhaulCount",overhaulCount);
+                    map.put("rushRepairCount",rushRepairCount);
+                    map.put("otherCount",otherCount);
+                    map.put("maintainCount",maintainCount);
+                    map.put("outageMaintenanceCount",outageMaintenanceCount);
+                    map.put("inspectionCount",inspectionCount);
+                }
+                workOrderStatistics.add(map);
+            }
+        }
+
+
+
+        //工单数趋势
+        QueryWrapper<DevopsWorkOrder> queryWrapperFour = new QueryWrapper<>();
+        queryWrapperFour.select("FROM_UNIXTIME(UNIX_TIMESTAMP(create_time) , '%Y-%m-%d') as create_time", "count(*) as count")
+                .eq("status",1)
+                .between("create_time", startTime, endTime)
+                .groupBy("site_id","work_order_type");
+        List<DevopsWorkOrder> workOrderTrend = this.list(queryWrapperFour);
+
+        List<OpexStatisticsVo> list = new ArrayList<>();
+        list.add(OpexStatisticsVo.builder()
+                .newWorkOrderCount(newWorkOrderCount)
+                .completedWorkOrder(completedWorkOrder)
+                .averageResponseTime(averageResponseTime)
+                .workOrderAveCount(workOrderAveCount)
+                .stayGrabOrdersCount(stayGrabOrdersCount)
+                .stayAppointCount(stayAppointCount)
+                .stayOrderTakingCount(stayOrderTakingCount)
+                .stayManageCount(stayManageCount)
+                .stayCustomsClearanceCount(stayCustomsClearanceCount)
+                .completedCount(completedCount)
+                .workOrderStatistics(workOrderStatistics)
+                .workOrderTrend(workOrderTrend)
+                .build());
+
+        return list;
 
     }