Переглянути джерело

监控设备查询添加分页

jichaobo 3 роки тому
батько
коміт
92f978d2db

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

@@ -2,6 +2,7 @@ package com.bizmatics.controller.web;
 
 
 import com.bizmatics.common.core.bean.ApiResult;
+import com.bizmatics.common.core.bean.CommonPage;
 import com.bizmatics.model.DeviceAttribute;
 import com.bizmatics.model.vo.MonitorDeviceListVO;
 import com.bizmatics.service.DeviceAttributeService;
@@ -52,13 +53,17 @@ public class DeviceAttributeController {
      *
      * @param id     device_attribute表主键ID
      * @param siteId 点位ID
+     * @param size 页数
+     * @param current 条数
      * @return
      */
     @GetMapping("deviceNewsList")
-    public ApiResult<List<DeviceAttribute>> deviceNewsList(@RequestParam int siteId,
-                                                           @RequestParam(value = "id", required = false, defaultValue = "0") int id
+    public ApiResult<CommonPage<DeviceAttribute>> deviceNewsList(@RequestParam int siteId,
+                                                                 @RequestParam(value = "id", required = false, defaultValue = "0") int id,
+                                                                 @RequestParam(value = "size", required = false, defaultValue = "1") int size,
+                                                                 @RequestParam(value = "current", required = false, defaultValue = "15") int current
     ) {
-        return ApiResult.success(deviceAttributeService.deviceNewsList(id, siteId));
+        return ApiResult.success(deviceAttributeService.deviceNewsList(id, siteId, size, current));
     }
 
     /**

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
fiveep-controller/src/main/resources/static/doc/rpc/rpc-index.html


+ 19 - 4
fiveep-model/src/main/java/com/bizmatics/model/vo/DeviceAnalogVariableListVo.java

@@ -1,13 +1,10 @@
 package com.bizmatics.model.vo;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
-import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -20,17 +17,35 @@ import java.time.LocalDateTime;
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-public class DeviceAnalogVariableListVo  implements Serializable {
+public class DeviceAnalogVariableListVo implements Serializable {
 
+    /**
+     * 变量ID
+     */
     private Integer id;
 
+    /**
+     * 站点ID
+     */
     private Integer siteId;
 
+    /**
+     * 变量名称
+     */
     private String variableName;
 
+    /**
+     * 页数
+     */
     private Integer size;
 
+    /**
+     * 条数
+     */
     private Integer current;
 
+    /**
+     * 1.模拟量 2.状态量 3.参数量
+     */
     private Integer dataArea;
 }

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

@@ -0,0 +1,57 @@
+package com.bizmatics.model.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2021-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ProcessingTime {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 人员表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 人员名称
+     */
+    private String inspectorsName;
+
+    /**
+     * 工单状态(1 待抢单,2 待指派,3 待接单,4 待处理,5 待关单,6 已完成)
+     */
+    private Integer workOrderStatus;
+
+    /**
+     * 站点ID
+     */
+    private Integer siteId;
+
+    /**
+     * 处理时间/小时
+     */
+    private Integer processingTime;
+
+    /**
+     * 响应时间/小时
+     */
+    private Integer responseTime;
+}

+ 64 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/ProcessingTimeVo.java

@@ -0,0 +1,64 @@
+package com.bizmatics.model.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2021-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ProcessingTimeVo {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 人员表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 人员名称
+     */
+    private String inspectorsName;
+
+    /**
+     * 接单量
+     */
+    private Integer orderQuantity;
+
+    /**
+     * 完单量
+     */
+    private Integer completedQuantity;
+
+    /**
+     * 未完成
+     */
+    private Integer incomplete;
+
+    /**
+     * 响应时间/小时
+     */
+    private Integer responseTime;
+
+    /**
+     * 处理时间/小时
+     */
+    private Integer processingTime;
+
+    /**
+     * 客户评价
+     */
+    private String testimonials;
+}

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

@@ -38,4 +38,9 @@ public interface DevopsWorkOrderMapper extends CrudMapper<DevopsWorkOrder> {
 
     List<Site> SiteList(@Param("userId") Integer userId,
                         @Param("name") String name);
+
+    List<ProcessingTime> workloadStatisticsLits(@Param("siteId") Integer siteId,
+                                                @Param("startTime") String startTime,
+                                                @Param("endTime") String endTime);
+
 }

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

@@ -146,4 +146,40 @@
         </where>
     </select>
 
+    <select id="workloadStatisticsLits" resultType="com.bizmatics.model.vo.ProcessingTime">
+        SELECT
+        a.id,
+        a.inspectors_name,
+        c.work_order_status,
+        c.site_id,
+        COUNT(c.id),
+        SUM(
+
+        IF (
+        c.work_order_status = 6,
+        timestampdiff(HOUR, c.create_time, now()),
+        0
+        )
+        ) as processing_time
+        FROM
+        patrol_inspectors AS a
+        JOIN devops_order_inspectors AS b ON a.id = b.inspectors_id
+        JOIN devops_work_order AS c ON b.work_order_id = c.id
+        <where>
+            a.status = 1
+            AND b.status = 1
+            AND c.status = 1
+            <if test="siteId != null and siteId != 0">
+                AND c.site_id = #{siteId}
+            </if>
+            <if test="endTime != null and startTime != null">
+                and c.create_time BETWEEN #{startTime} and #{endTime}
+            </if>
+        </where>
+        GROUP BY
+        a.id,
+        c.site_id,
+        c.work_order_status
+    </select>
+
 </mapper>

+ 2 - 1
fiveep-service/src/main/java/com/bizmatics/service/DeviceAttributeService.java

@@ -1,5 +1,6 @@
 package com.bizmatics.service;
 
+import com.bizmatics.common.core.bean.CommonPage;
 import com.bizmatics.common.mvc.base.CrudService;
 import com.bizmatics.model.DeviceAttribute;
 import com.bizmatics.model.vo.MonitorDeviceListVO;
@@ -18,7 +19,7 @@ public interface DeviceAttributeService extends CrudService<DeviceAttribute> {
 
     void deviceNewsUpdate(DeviceAttribute deviceAttribute);
 
-    List<DeviceAttribute> deviceNewsList(int id, int siteId);
+    CommonPage<DeviceAttribute> deviceNewsList(Integer id, Integer siteId,Integer size,Integer current);
 
     void deviceNewsDel(int id);
 

+ 19 - 3
fiveep-service/src/main/java/com/bizmatics/service/impl/DeviceAttributeServiceImpl.java

@@ -1,8 +1,12 @@
 package com.bizmatics.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.bizmatics.common.core.bean.CommonPage;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
+import com.bizmatics.model.DeviceAnalogVariableList;
 import com.bizmatics.model.DeviceAttribute;
 import com.bizmatics.model.system.SysUser;
 import com.bizmatics.model.vo.MonitorDeviceListVO;
@@ -44,14 +48,26 @@ public class DeviceAttributeServiceImpl extends AbstractCrudService<DeviceAttrib
     }
 
     @Override
-    public List<DeviceAttribute> deviceNewsList(int id, int siteId) {
+    public  CommonPage<DeviceAttribute> deviceNewsList(Integer id, Integer siteId,Integer size,Integer current) {
+        IPage<DeviceAttribute> page = new Page<DeviceAttribute>(size, current);
         LambdaQueryWrapper<DeviceAttribute> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(DeviceAttribute::getStatus, 1).eq(DeviceAttribute::getSiteId, siteId);
         if (id != 0) {
             queryWrapper.eq(DeviceAttribute::getId, id);
         }
-        List<DeviceAttribute> deviceAttributeList = this.list(queryWrapper);
-        return deviceAttributeList;
+        page = this.page(page, queryWrapper);
+        this.ToCommonPage(page);
+        return new CommonPage<>(page.getRecords(), page.getTotal(), page.getCurrent(), page.getSize());
+
+
+
+//        LambdaQueryWrapper<DeviceAttribute> queryWrapper = Wrappers.lambdaQuery();
+//        queryWrapper.eq(DeviceAttribute::getStatus, 1).eq(DeviceAttribute::getSiteId, siteId);
+//        if (id != 0) {
+//            queryWrapper.eq(DeviceAttribute::getId, id);
+//        }
+//        List<DeviceAttribute> deviceAttributeList = this.list(queryWrapper);
+//        return deviceAttributeList;
     }
 
     @Override

+ 25 - 14
fiveep-service/src/main/java/com/bizmatics/service/impl/DevopsWorkOrderServiceImpl.java

@@ -626,21 +626,32 @@ public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOr
         return cal.getTime();
     }
 
-    public static String getQuarter() {
-        Calendar c = Calendar.getInstance();
-        int month = c.get(c.MONTH) + 1;
-        int quarter = 0;
-        if (month >= 1 && month <= 3) {
-            quarter = 1;
-        } else if (month >= 4 && month <= 6) {
-            quarter = 2;
-        } else if (month >= 7 && month <= 9) {
-            quarter = 3;
-        } else {
-            quarter = 4;
+    public void workloadStatisticsLits(Integer siteId,String startTime,String endTime){
+        List<ProcessingTime> processingTimeList = baseMapper.workloadStatisticsLits(siteId, startTime, endTime);
+
+        LambdaQueryWrapper<PatrolInspectors> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(PatrolInspectors::getStatus, 1);
+        List<PatrolInspectors> patrolInspectorsList =  patrolInspectorsService.list(queryWrapper);
+
+        if (patrolInspectorsList.size()>0){
+            for (int i = 0; i < patrolInspectorsList.size(); i++) {
+                Map<String, Object> map = new HashMap<>();
+                Integer orderQuantity = 0;
+                Integer completedQuantity = 0;
+                Integer incomplete = 0;
+                Integer responseTime = 0;
+                Integer processingTime = 0;
+                Integer testimonials = 0;
+                if (processingTimeList.size()>0){
+                    for (Integer j = 0; j < processingTimeList.size(); j++) {
+
+                    }
+                }else {
+
+                }
+            }
         }
-        return quarter + "";
-    }
 
+    }
 
 }

Деякі файли не було показано, через те що забагато файлів було змінено