Browse Source

电度大屏日报月报

hfxc226 2 years ago
parent
commit
ceae1376df
26 changed files with 425 additions and 347 deletions
  1. 4 0
      platform-dao/src/main/java/com/platform/dao/dto/remote/RemoteDegreeDTO.java
  2. 1 1
      platform-dao/src/main/java/com/platform/dao/dto/remote/RemoteDegreeLogDTO.java
  3. 4 0
      platform-dao/src/main/java/com/platform/dao/dto/remote/RemoteMeasureDTO.java
  4. 1 1
      platform-dao/src/main/java/com/platform/dao/dto/remote/RemoteMeasureLogDTO.java
  5. 4 0
      platform-dao/src/main/java/com/platform/dao/entity/remote/RemoteDegree.java
  6. 4 0
      platform-dao/src/main/java/com/platform/dao/entity/remote/RemoteMeasure.java
  7. 78 71
      platform-dao/src/main/java/com/platform/dao/vo/export/remote/ExportRemoteDegreeVO.java
  8. 78 71
      platform-dao/src/main/java/com/platform/dao/vo/export/remote/ExportRemoteMeasureVO.java
  9. 1 1
      platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteDegreeLogVO.java
  10. 4 0
      platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteDegreeVO.java
  11. 2 2
      platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteMeasureLogVO.java
  12. 4 0
      platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteMeasureVO.java
  13. 9 6
      platform-dao/src/main/resources/mapper/remote/RemoteDegreeLogMapper.xml
  14. 5 0
      platform-dao/src/main/resources/mapper/remote/RemoteDegreeMapper.xml
  15. 9 6
      platform-dao/src/main/resources/mapper/remote/RemoteMeasureLogMapper.xml
  16. 5 0
      platform-dao/src/main/resources/mapper/remote/RemoteMeasureMapper.xml
  17. 0 1
      platform-iec/src/main/java/com/ydl/iec/util/MySqlUtil.java
  18. 14 2
      platform-rest/src/main/java/com/platform/rest/controller/bigScreen/SbInfoScreenController.java
  19. 0 11
      platform-rest/src/main/java/com/platform/rest/controller/remote/RemoteDegreeLogController.java
  20. 5 5
      platform-service/src/main/java/com/platform/service/big/BigScreenSbInfoService.java
  21. 155 30
      platform-service/src/main/java/com/platform/service/big/impl/BigScreenSbInfoServiceImpl.java
  22. 0 1
      platform-service/src/main/java/com/platform/service/remote/RemoteDegreeLogService.java
  23. 0 125
      platform-service/src/main/java/com/platform/service/remote/impl/RemoteDegreeLogServiceImpl.java
  24. 14 4
      platform-service/src/main/java/com/platform/service/remote/impl/RemoteDegreeServiceImpl.java
  25. 3 3
      platform-service/src/main/java/com/platform/service/remote/impl/RemoteMeasureLogServiceImpl.java
  26. 21 6
      platform-service/src/main/java/com/platform/service/remote/impl/RemoteMeasureServiceImpl.java

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/dto/remote/RemoteDegreeDTO.java

@@ -40,6 +40,10 @@ public class RemoteDegreeDTO extends BaseDTO implements Serializable {
      * 点位
      */
     private Integer positionNum;
+    /**
+     * 线路
+     */
+    private Integer line;
     /**
      * 类型
      */

+ 1 - 1
platform-dao/src/main/java/com/platform/dao/dto/remote/RemoteDegreeLogDTO.java

@@ -129,5 +129,5 @@ public class RemoteDegreeLogDTO extends BaseDTO implements Serializable {
      * 对应设备所属线路,用于分组统计
      */
     @Transient
-    private Integer baoyangTimes;
+    private Integer line;
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/dto/remote/RemoteMeasureDTO.java

@@ -44,6 +44,10 @@ public class RemoteMeasureDTO extends BaseDTO implements Serializable {
      * 点位
      */
     private Integer positionNum;
+    /**
+     * 线路
+     */
+    private Integer line;
     /**
      * 类型
      */

+ 1 - 1
platform-dao/src/main/java/com/platform/dao/dto/remote/RemoteMeasureLogDTO.java

@@ -128,5 +128,5 @@ public class RemoteMeasureLogDTO extends BaseDTO implements Serializable {
      * 对应设备所属线路,用于分组统计
      */
     @Transient
-    private Integer baoyangTimes;
+    private Integer line;
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/entity/remote/RemoteDegree.java

@@ -40,6 +40,10 @@ public class RemoteDegree implements Serializable{
      * 点位
      */
     private Integer positionNum;
+    /**
+     * 线路
+     */
+    private Integer line;
     /**
      * 类型
      */

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/entity/remote/RemoteMeasure.java

@@ -46,6 +46,10 @@ public class RemoteMeasure implements Serializable {
      * 点位
      */
     private Integer positionNum;
+    /**
+     * 线路
+     */
+    private Integer line;
     /**
      * 类型
      */

+ 78 - 71
platform-dao/src/main/java/com/platform/dao/vo/export/remote/ExportRemoteDegreeVO.java

@@ -3,6 +3,7 @@ package com.platform.dao.vo.export.remote;
 import com.platform.office.annotation.Excel;
 import lombok.Data;
 import lombok.experimental.Accessors;
+
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDate;
@@ -19,88 +20,94 @@ import java.math.BigDecimal;
 public class ExportRemoteDegreeVO implements Serializable {
 
     /**
-   * id
-   */
-          @Excel(name = "id", orderNum = "1")
-      private String id;
-    
+     * id
+     */
+    @Excel(name = "id")
+    private String id;
+
     /**
-   * 设备id
-   */
-          @Excel(name = "设备id", orderNum = "2")
-      private String sbId;
-    
+     * 设备id
+     */
+    @Excel(name = "设备id")
+    private String sbId;
+
     /**
-   * 设备名称
-   */
-          @Excel(name = "设备名称", orderNum = "3")
-      private String sbName;
-    
+     * 设备名称
+     */
+    @Excel(name = "设备名称")
+    private String sbName;
+
     /**
-   * 点位
-   */
-          @Excel(name = "点位", orderNum = "4")
-      private Integer positionNum;
-    
+     * 点位
+     */
+    @Excel(name = "点位")
+    private Integer positionNum;
+
     /**
-   * 类型
-   */
-          @Excel(name = "类型", orderNum = "5")
-      private Integer type;
-    
+     * 线路
+     */
+    @Excel(name = "线路")
+    private Integer line;
+
+    /**
+     * 类型
+     */
+    @Excel(name = "类型", dicCode="REMOTE_DEGREE")
+    private Integer type;
+
     /**
-   * 描述
-   */
-          @Excel(name = "描述", orderNum = "6")
-      private String description;
-    
+     * 描述
+     */
+    @Excel(name = "描述")
+    private String description;
+
     /**
-   * 实时数值
-   */
-          @Excel(name = "实时数值", orderNum = "7")
-      private String value;
-    
+     * 实时数值
+     */
+    @Excel(name = "实时数值")
+    private String value;
+
     /**
-   * 系数
-   */
-          @Excel(name = "系数", orderNum = "8")
-      private BigDecimal ratio;
-    
+     * 系数
+     */
+    @Excel(name = "系数")
+    private BigDecimal ratio;
+
     /**
-   * 单位
-   */
-          @Excel(name = "单位", orderNum = "9")
-      private String unit;
-    
+     * 单位
+     */
+    @Excel(name = "单位")
+    private String unit;
+
     /**
-   * 备注
-   */
-          @Excel(name = "备注", orderNum = "10")
-      private String remark;
-    
+     * 备注
+     */
+    @Excel(name = "备注")
+    private String remark;
+
     /**
-   * 创建人
-   */
-          @Excel(name = "创建人", orderNum = "11")
-      private String createdUserId;
-    
+     * 创建人
+     */
+    @Excel(name = "创建人")
+    private String createdUserId;
+
     /**
-   * 更新人
-   */
-          @Excel(name = "更新人", orderNum = "12")
-      private String updateUserId;
-    
+     * 更新人
+     */
+    @Excel(name = "更新人")
+    private String updateUserId;
+
     /**
-   * 创建日期
-   */
-          @Excel(name = "创建日期", orderNum = "13")
-      private LocalDateTime createdTime;
-    
+     * 创建日期
+     */
+    @Excel(name = "创建日期")
+    private LocalDateTime createdTime;
+
     /**
-   * 更新日期
-   */
-          @Excel(name = "更新日期", orderNum = "14")
-      private LocalDateTime updateTime;
-    
-  
+     * 更新日期
+     */
+    @Excel(name = "更新日期")
+    private LocalDateTime updateTime;
+
+
 }

+ 78 - 71
platform-dao/src/main/java/com/platform/dao/vo/export/remote/ExportRemoteMeasureVO.java

@@ -3,6 +3,7 @@ package com.platform.dao.vo.export.remote;
 import com.platform.office.annotation.Excel;
 import lombok.Data;
 import lombok.experimental.Accessors;
+
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDate;
@@ -19,88 +20,94 @@ import java.math.BigDecimal;
 public class ExportRemoteMeasureVO implements Serializable {
 
     /**
-   * id
-   */
-          @Excel(name = "id", orderNum = "1")
-      private String id;
-    
+     * id
+     */
+    @Excel(name = "id")
+    private String id;
+
     /**
-   * 设备id
-   */
-          @Excel(name = "设备id", orderNum = "2")
-      private String sbId;
-    
+     * 设备id
+     */
+    @Excel(name = "设备id")
+    private String sbId;
+
     /**
-   * 设备名称
-   */
-          @Excel(name = "设备名称", orderNum = "3")
-      private String sbName;
-    
+     * 设备名称
+     */
+    @Excel(name = "设备名称")
+    private String sbName;
+
     /**
-   * 点位
-   */
-          @Excel(name = "点位", orderNum = "4")
-      private Integer positionNum;
-    
+     * 点位
+     */
+    @Excel(name = "点位")
+    private Integer positionNum;
+
     /**
-   * 类型
-   */
-          @Excel(name = "类型", orderNum = "5")
-      private Integer type;
-    
+     * 线路
+     */
+    @Excel(name = "线路")
+    private Integer line;
+
+    /**
+     * 类型
+     */
+    @Excel(name = "类型", dicCode="REMOTE_MEASURE")
+    private Integer type;
+
     /**
-   * 描述
-   */
-          @Excel(name = "描述", orderNum = "6")
-      private String description;
-    
+     * 描述
+     */
+    @Excel(name = "描述")
+    private String description;
+
     /**
-   * 实时数值
-   */
-          @Excel(name = "实时数值", orderNum = "7")
-      private String value;
-    
+     * 实时数值
+     */
+    @Excel(name = "实时数值")
+    private String value;
+
     /**
-   * 系数
-   */
-          @Excel(name = "系数", orderNum = "8")
-      private BigDecimal ratio;
-    
+     * 系数
+     */
+    @Excel(name = "系数")
+    private BigDecimal ratio;
+
     /**
-   * 单位
-   */
-          @Excel(name = "单位", orderNum = "9")
-      private String unit;
-    
+     * 单位
+     */
+    @Excel(name = "单位")
+    private String unit;
+
     /**
-   * 备注
-   */
-          @Excel(name = "备注", orderNum = "10")
-      private String remark;
-    
+     * 备注
+     */
+    @Excel(name = "备注")
+    private String remark;
+
     /**
-   * 创建人
-   */
-          @Excel(name = "创建人", orderNum = "11")
-      private String createdUserId;
-    
+     * 创建人
+     */
+    @Excel(name = "创建人")
+    private String createdUserId;
+
     /**
-   * 更新人
-   */
-          @Excel(name = "更新人", orderNum = "12")
-      private String updateUserId;
-    
+     * 更新人
+     */
+    @Excel(name = "更新人")
+    private String updateUserId;
+
     /**
-   * 创建日期
-   */
-          @Excel(name = "创建日期", orderNum = "13")
-      private LocalDateTime createdTime;
-    
+     * 创建日期
+     */
+    @Excel(name = "创建日期")
+    private LocalDateTime createdTime;
+
     /**
-   * 更新日期
-   */
-          @Excel(name = "更新日期", orderNum = "14")
-      private LocalDateTime updateTime;
-    
-  
+     * 更新日期
+     */
+    @Excel(name = "更新日期")
+    private LocalDateTime updateTime;
+
+
 }

+ 1 - 1
platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteDegreeLogVO.java

@@ -107,6 +107,6 @@ public class RemoteDegreeLogVO extends BaseVO implements Serializable {
     /**
      * 对应设备所属线路,用于分组统计
      */
-    private Integer baoyangTimes;
+    private Integer line;
 
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteDegreeVO.java

@@ -44,6 +44,10 @@ public class RemoteDegreeVO extends BaseVO implements Serializable {
      * 点位
      */
     private Integer positionNum;
+    /**
+     * 线路
+     */
+    private Integer line;
     /**
      * 类型
      */

+ 2 - 2
platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteMeasureLogVO.java

@@ -105,8 +105,8 @@ public class RemoteMeasureLogVO extends BaseVO implements Serializable {
      */
     private LocalDateTime updateTime;
     /**
-     * 对应设备所属线路,用于分组统计
+     * 对应设备所属线路,用于分组统计:来源remotemeasure表
      */
-    private Integer baoyangTimes;
+    private Integer line;
 
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteMeasureVO.java

@@ -44,6 +44,10 @@ public class RemoteMeasureVO extends BaseVO implements Serializable {
      * 点位
      */
     private Integer positionNum;
+    /**
+     * 线路
+     */
+    private Integer line;
     /**
      * 类型
      */

+ 9 - 6
platform-dao/src/main/resources/mapper/remote/RemoteDegreeLogMapper.xml

@@ -118,20 +118,23 @@
         </if>
         <if test="keyword != null and keyword != ''">
             and (
-            degree_log.id like concat(concat('%',#{keyword}),'%')
-            or degree_log.position_num like concat(concat('%',#{keyword}),'%')
+                degree.sb_name like concat(concat('%',#{keyword}),'%')
+                or degree_log.position_num like concat(concat('%',#{keyword}),'%')
             )
         </if>
+        <if test="line != null">
+            and degree.line = #{line}
+        </if>
     </sql>
     <select id="selectList" parameterType="com.platform.dao.dto.remote.RemoteDegreeLogDTO"
             resultType="com.platform.dao.vo.query.remote.RemoteDegreeLogVO">
-        select degree_log.*, sbInfo.baoyang_times baoyangTimes, sbInfo.no sbNo
+        select degree_log.*, degree.sb_name sbName, degree.line line, degree.type
         from t_remote_degree_log as degree_log
-        left join t_sb_info sbInfo on degree_log.sb_id = sbInfo.id
+        left join t_remote_degree degree on degree_log.position_num = degree.position_num
         <where>
             <include refid="List_Condition"/>
-            <if test="baoyangTimes != null">
-                and sbInfo.baoyang_times = #{baoyangTimes}
+            <if test="line != null">
+                and degree.line = #{line}
             </if>
         </where>
     </select>

+ 5 - 0
platform-dao/src/main/resources/mapper/remote/RemoteDegreeMapper.xml

@@ -9,6 +9,7 @@
                                      degree.sb_id,
                                      degree.sb_name,
                                      degree.position_num,
+                                     degree.line,
                                      degree.type,
                                      degree.description,
                                      degree.result,
@@ -27,6 +28,7 @@
         ,
                                      degree.sb_name,
                                      degree.position_num,
+                                     degree.line,
                                      degree.type,
                                      degree.description,
                                      degree.result,
@@ -47,6 +49,9 @@
         <if test="positionNum != null">
             and degree.position_num = #{positionNum}
         </if>
+        <if test="line != null">
+            and degree.line = #{line}
+        </if>
         <if test="type != null">
             and degree.type = #{type}
         </if>

+ 9 - 6
platform-dao/src/main/resources/mapper/remote/RemoteMeasureLogMapper.xml

@@ -118,20 +118,23 @@
         </if>
         <if test="keyword != null and keyword != ''">
             and (
-            measure_log.id like concat(concat('%',#{keyword}),'%')
-            or measure_log.position_num like concat(concat('%',#{keyword}),'%')
+                measure.sb_name like concat(concat('%',#{keyword}),'%')
+                or measure_log.position_num like concat(concat('%',#{keyword}),'%')
             )
         </if>
+        <if test="line != null">
+            and measure.line = #{line}
+        </if>
     </sql>
     <select id="selectList" parameterType="com.platform.dao.dto.remote.RemoteMeasureLogDTO"
             resultType="com.platform.dao.vo.query.remote.RemoteMeasureLogVO">
-        select measure_log.*, sbInfo.baoyang_times baoyangTimes, sbInfo.no sbNo
+        select measure_log.*, measure.sb_name sbName, measure.line line, measure.type
         from t_remote_measure_log as measure_log
-        left join t_sb_info sbInfo on measure_log.sb_id = sbInfo.id
+        left join t_remote_measure measure on measure_log.position_num = measure.position_num
         <where>
             <include refid="List_Condition"/>
-            <if test="baoyangTimes != null">
-                and sbInfo.baoyang_times = #{baoyangTimes}
+            <if test="line != null">
+                and measure.line = #{line}
             </if>
         </where>
     </select>

+ 5 - 0
platform-dao/src/main/resources/mapper/remote/RemoteMeasureMapper.xml

@@ -9,6 +9,7 @@
                                      measure.sb_id,
                                      measure.sb_name,
                                      measure.position_num,
+                                     measure.line,
                                      measure.type,
                                      measure.description,
                                      measure.result,
@@ -28,6 +29,7 @@
         ,
                                      measure.sb_name,
                                      measure.position_num,
+                                     measure.line,
                                      measure.type,
                                      measure.info,
                                      measure.description,
@@ -49,6 +51,9 @@
         <if test="positionNum != null">
             and measure.position_num = #{positionNum}
         </if>
+        <if test="line != null">
+            and measure.line = #{line}
+        </if>
         <if test="type != null">
             and measure.type = #{type}
         </if>

+ 0 - 1
platform-iec/src/main/java/com/ydl/iec/util/MySqlUtil.java

@@ -121,7 +121,6 @@ public class MySqlUtil {
                 MessageInfo messageInfo = list.get(i);
                 updateSql = "update t_remote_measure set result='" + messageInfo.getValue() +
                         "', update_time='" + DateUtils.dateToString(time, DateUtils.PATTERN_YMD_HMS) +
-                        "', info='" + JSON.toJSONString(messageInfo) +
                         "' where position_num = " + messageInfo.getMessageAddress();
                 // log.info("updateSql: " + updateSql);
                 stmt.addBatch(updateSql);

+ 14 - 2
platform-rest/src/main/java/com/platform/rest/controller/bigScreen/SbInfoScreenController.java

@@ -1,6 +1,7 @@
 package com.platform.rest.controller.bigScreen;
 
 import com.platform.common.util.R;
+import com.platform.dao.dto.remote.RemoteDegreeLogDTO;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.rest.log.annotation.SysLog;
 import com.platform.service.big.BigScreenSbInfoService;
@@ -28,13 +29,24 @@ public class SbInfoScreenController {
     private final BigScreenSbInfoService bigScreenSbInfoService;
 
     /**
-     * 根据线路进行汇总展示
+     * 根据线路进行遥测实时展示
      *
      * @return R
      */
-    @GetMapping("/sb/{lineNum}")
+    @GetMapping("/remote/measure/{lineNum}")
     public R getGroupByLine(@PathVariable Integer lineNum) {
         return new R<>(bigScreenSbInfoService.getGroupByLine(lineNum));
     }
 
+    /**
+     * 根据线路进行电度汇总展示
+     * 1: 日统计
+     * 0:月统计
+     * @return R
+     */
+    @GetMapping("/remote/degree/{isDay}")
+    public R getMonthOrDayReport(RemoteDegreeLogDTO record, @PathVariable Integer isDay) {
+        return new R<>(bigScreenSbInfoService.getMonthOrDayReport(record, isDay == 1 ? true : false));
+    }
+
 }

+ 0 - 11
platform-rest/src/main/java/com/platform/rest/controller/remote/RemoteDegreeLogController.java

@@ -124,17 +124,6 @@ public class RemoteDegreeLogController {
         return new R<>(remoteDegreeLogService.getModelListByDTO(remoteDegreeLogDTO));
     }
 
-    /**
-     * 月报表,日报表
-     *
-     * @param remoteDegreeLogDTO 设备电度记录表DTO
-     * @return R
-     */
-    @GetMapping("/report/{isDay}")
-    public R queryMonthOrDay(RemoteDegreeLogDTO remoteDegreeLogDTO, @PathVariable("isDay") Integer isDay) {
-        return new R<>(remoteDegreeLogService.getMonthOrDayReport(remoteDegreeLogDTO, isDay == 1 ? true : false));
-    }
-
     /**
      * 设备电度记录表导出
      *

+ 5 - 5
platform-service/src/main/java/com/platform/service/big/BigScreenSbInfoService.java

@@ -1,7 +1,9 @@
 package com.platform.service.big;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.platform.dao.bean.MyVOPage;
+import com.platform.dao.dto.remote.RemoteDegreeLogDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.vo.report.SbInfoTypeReportVO;
@@ -27,10 +29,8 @@ public interface BigScreenSbInfoService extends IBaseService<SbInfo, SbInfoDTO>
      * {
      *     lineNum: 1,
      *     lineName: '梅康一路',
-     *     sbList:[ {
+     *     datas:[ {
      *       sbName: ''
-     *       sbNo: '',
-     *       sbId: '',
      *       measureList: [
          *       {
      *              description: '电压',
@@ -48,8 +48,6 @@ public interface BigScreenSbInfoService extends IBaseService<SbInfo, SbInfoDTO>
      *     },
      *     {
  *             sbName: ''
- *             sbNo: '',
- *             sbId: '',
  *             measureList: [
  *                 {
  *                    description: '电压',
@@ -72,4 +70,6 @@ public interface BigScreenSbInfoService extends IBaseService<SbInfo, SbInfoDTO>
      * @return
      */
     JSONObject getGroupByLine(Integer lineNum);
+
+    JSONArray getMonthOrDayReport(RemoteDegreeLogDTO remoteDegreeLogDTO, Boolean isDay);
 }

+ 155 - 30
platform-service/src/main/java/com/platform/service/big/impl/BigScreenSbInfoServiceImpl.java

@@ -18,6 +18,7 @@ import com.platform.common.util.*;
 import com.platform.dao.bean.MyVOPage;
 import com.platform.dao.dto.check.CheckStandardDTO;
 import com.platform.dao.dto.part.PartInfoDTO;
+import com.platform.dao.dto.remote.RemoteDegreeLogDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.dto.upms.SysDeptDTO;
@@ -37,7 +38,9 @@ import com.platform.dao.mapper.check.CheckStandardMapper;
 import com.platform.dao.mapper.firm.FirmProducerMapper;
 import com.platform.dao.mapper.part.PartInfoMapper;
 import com.platform.dao.mapper.part.PartTypeMapper;
+import com.platform.dao.mapper.remote.RemoteDegreeLogMapper;
 import com.platform.dao.mapper.remote.RemoteDegreeMapper;
+import com.platform.dao.mapper.remote.RemoteMeasureLogMapper;
 import com.platform.dao.mapper.remote.RemoteMeasureMapper;
 import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
 import com.platform.dao.mapper.sb.*;
@@ -53,6 +56,7 @@ import com.platform.dao.util.compare.FieldComparedUtils;
 import com.platform.dao.vo.SysUserDeptVO;
 import com.platform.dao.vo.SysUserVO;
 import com.platform.dao.vo.export.sb.ExportSbInfoVO;
+import com.platform.dao.vo.query.remote.RemoteDegreeLogVO;
 import com.platform.dao.vo.query.upms.SysDeptVO;
 import com.platform.dao.vo.report.SbInfoTypeReportVO;
 import com.platform.dao.vo.sb.*;
@@ -62,6 +66,7 @@ import com.platform.service.business.ActivitiBusinessService;
 import com.platform.service.check.CheckStandardService;
 import com.platform.service.event.WorkplaceBacklogEvent;
 import com.platform.service.part.PartInfoService;
+import com.platform.service.remote.RemoteDegreeLogService;
 import com.platform.service.sb.SbInfoService;
 import com.platform.service.sb.SbModelSpareBomService;
 import com.platform.service.upms.SysDeptRelationService;
@@ -99,9 +104,13 @@ import java.util.stream.Collectors;
 @Slf4j
 public class BigScreenSbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbInfoDTO> implements BigScreenSbInfoService {
     private final RemoteMeasureMapper remoteMeasureMapper;
-    private final RemoteDegreeMapper remoteDegreeMapper;
     private final SysDictMapper sysDictMapper;
-
+    private final RemoteDegreeLogMapper remoteDegreeLogMapper;
+    /**
+     * 按照线路汇总统计
+     * @param lineNum
+     * @return
+     */
     @Override
     public JSONObject getGroupByLine(Integer lineNum) {
         Weekend<SysDict> weekend = new Weekend<>(SysDict.class);
@@ -111,45 +120,161 @@ public class BigScreenSbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, Sb
         if (sysDict == null) {
             throw new BusinessException("请在数据字典配置设备电力线路,数据值:" + lineNum);
         }
-        SbInfo sbInfo = new SbInfo();
-        sbInfo.setBaoyangTimes(lineNum);
-        List<SbInfo> list = mapper.select(sbInfo);
-        if(CollectionUtils.isEmpty(list)){
-            throw new BusinessException("该电力线路下没有设备,请先在设备详情中添加线路,将设备和线路进行绑定" );
-        }
-        List<String> ids = list.stream().map(SbInfo::getId).collect(Collectors.toList());
 
         // 查询所有的遥测点位
         Weekend<RemoteMeasure> remoteDegreeWeekend = new Weekend<>(RemoteMeasure.class);
         WeekendCriteria<RemoteMeasure, Object> remoteDegreeObjectWeekendCriteria = remoteDegreeWeekend.weekendCriteria();
-        remoteDegreeObjectWeekendCriteria.andIn(RemoteMeasure::getSbId, ids);
+        remoteDegreeObjectWeekendCriteria.andEqualTo(RemoteMeasure::getLine, lineNum);
         List<RemoteMeasure> remoteMeasureList = remoteMeasureMapper.selectByExample(remoteDegreeWeekend);
         JSONObject obj = new JSONObject();
-        if(CollectionUtil.isNotEmpty(list)){
-            obj.put("lineNum", lineNum);
+        if(CollectionUtil.isNotEmpty(remoteMeasureList)){
+            obj.put("line", lineNum);
             obj.put("lineName", sysDict.getLabel());
-            JSONArray array = new JSONArray();
-            obj.put("sbList", array);
-            for(SbInfo info : list){
+            Map<String, List<RemoteMeasure>> map = remoteMeasureList.stream().collect(Collectors.groupingBy(RemoteMeasure::getSbName, Collectors.toList()));
+            JSONArray lineArray = new JSONArray();
+            for(String key:map.keySet()){
+                JSONObject dictJsonObject = new JSONObject();
+                dictJsonObject.put("sbName", key);
+                dictJsonObject.put("measureList", map.get(key));
+                lineArray.add(dictJsonObject);
+            }
+            obj.put("dataList", lineArray);
+        }
+        return obj;
+    }
+
+    /**
+     * 参数:
+     * 查询月报表、日报表
+     * 1:根据线路分组,线路1,线路2
+     * 2:日报表
+     * 根据年、月,日,查询出来
+     * 根据小时分组,循环24小时分组
+     * 根据线路分组:累加
+     * <p>
+     * 3:月报表
+     * 根据年、月,查询出来
+     * 根据天分组,循环到当前月有多少天,
+     * 根据月分组:累加
+     * <p>
+     * 日报格式, 月报没有negative数据
+     * [{
+     * time: “00:00”,
+     * lines: [
+     * {name:"line1", "positive ": “00:00”, "negative": “00:00”},
+     * {name:"line2", "positive": “00:00”, "negative": “00:00”},
+     * {name:"line3", "positive": “00:00”, "negative": “00:00”},
+     * {name:"line4", "positive": “00:00”, "negative": “00:00”},
+     * {name:"line5", "positive": “00:00”, "negative": “00:00”},
+     * {name:"line6", "positive": “00:00”, "negative": “00:00”},
+     * ]
+     * },
+     * {
+     * time: “01:00”,
+     * lines: [
+     * {name:"line1", "positive ": “00:00”, "negative": “00:00”},
+     * {name:"line2", "positive": “00:00”, "negative": “00:00”},
+     * {name:"line3", "positive": “00:00”, "negative": “00:00”},
+     * {name:"line4", "positive": “00:00”, "negative": “00:00”},
+     * {name:"line5", "positive": “00:00”, "negative": “00:00”},
+     * {name:"line6", "positive": “00:00”, "negative": “00:00”},
+     * ]
+     * }
+     * ]
+     *
+     * @param record
+     * @param isDay
+     * @return
+     */
+    @Override
+    public JSONArray getMonthOrDayReport(RemoteDegreeLogDTO record, Boolean isDay) {
+        if (record.getYear() == null) {
+            throw new BusinessException("请选择年份");
+        }
+        if (record.getMonth() == null) {
+            throw new BusinessException("请选择月份");
+        }
+        Weekend<SysDict> weekend = new Weekend<>(SysDict.class);
+        WeekendCriteria<SysDict, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andEqualTo(SysDict::getType, DictTypeEnum.REMOTE_LINE);
+        List<SysDict> sysDictList = sysDictMapper.selectByExample(weekend);
+        if (CollectionUtils.isEmpty(sysDictList)) {
+            throw new BusinessException("请在数据字典配置设备电力线路");
+        }
+        sysDictList.sort(Comparator.comparing(SysDict::getSort));
+        List<RemoteDegreeLogVO> list = remoteDegreeLogMapper.selectList(record);
+        JSONArray jSONArray = new JSONArray();
+        if (isDay) {//
+            for (int i = 0; i < 24; i++) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("time", i + ":00");
+                JSONArray lineArray = new JSONArray();
+                for (SysDict dict : sysDictList) {
+                    JSONObject dictJsonObject = new JSONObject();
+                    dictJsonObject.put("name", dict.getLabel());
+                    BigDecimal positiveTotal = new BigDecimal(0.00);// 正向有功
+                    BigDecimal negativeTotal = new BigDecimal(0.00);// 正向无功
+                    for (RemoteDegreeLogVO log : list) {
+                        if (log.getLine().toString().equals(dict.getValue())) {
+                            if (log.getHour().equals(i)) {
+                                if (log.getType().equals(1)) {
+                                    positiveTotal = positiveTotal.add(new BigDecimal(log.getResult()));
+                                } else {
+                                    negativeTotal = negativeTotal.add(new BigDecimal(log.getResult()));
+                                }
+                            }
+                        }
+                    }
+                    dictJsonObject.put("positive", positiveTotal);
+                    dictJsonObject.put("negative", negativeTotal);
+                    lineArray.add(dictJsonObject);
+                }
+                jsonObject.put("lines", lineArray);
+                jSONArray.add(jsonObject);
+            }
+        } else {
+            LocalDate localDate = LocalDate.of(record.getYear(), record.getMonth(), 1);
+            int days = localDate.lengthOfMonth();
+            for (int i = 1; i <= days; i++) {
                 JSONObject jsonObject = new JSONObject();
-                array.add(jsonObject);
-                jsonObject.put("sbId", info.getId());
-                jsonObject.put("sbNo", info.getNo());
-                jsonObject.put("sbName", info.getName());
-                JSONArray remoteMeasureArray = new JSONArray();
-                jsonObject.put("measureList", remoteMeasureArray);
-                for(RemoteMeasure remoteMeasure : remoteMeasureList){
-                    if(remoteMeasure.getSbId().equals(info.getId())){
-                        JSONObject remoteMeasureObject = new JSONObject();
-                        remoteMeasureObject.put("description", remoteMeasure.getDescription());
-                        remoteMeasureObject.put("result", remoteMeasure.getResult());
-                        remoteMeasureObject.put("unit", remoteMeasure.getUnit());
-                        remoteMeasureObject.put("type", remoteMeasure.getType());
-                        remoteMeasureArray.add(remoteMeasureObject);
+                jsonObject.put("time", i);
+                JSONArray lineArray = new JSONArray();
+                for (SysDict dict : sysDictList) {
+                    JSONObject dictJsonObject = new JSONObject();
+                    dictJsonObject.put("name", dict.getLabel());
+                    BigDecimal positiveTotal = new BigDecimal(0.00);// 正向有功
+                    BigDecimal negativeTotal = new BigDecimal(0.00);// 正向无功,不需要吗,后面可以删除,先保存
+                    for (RemoteDegreeLogVO log : list) {
+                        if(log.getLine() == null){
+                            throw new BusinessException("设备未设置电力线路, 设备名称:" + log.getSbName() + ", 设备编号:" + log.getSbNo());
+                        }
+                        if (log.getLine().toString().equals(dict.getValue())) {
+                            if (log.getDay().equals(i)) {
+                                if (log.getType().equals(1)) {
+                                    positiveTotal = positiveTotal.add(new BigDecimal(log.getResult()));
+                                } else {
+                                    negativeTotal = negativeTotal.add(new BigDecimal(log.getResult()));
+                                }
+                            }
+                        }
                     }
+                    dictJsonObject.put("positive", positiveTotal);
+                    dictJsonObject.put("negative", negativeTotal);
+                    lineArray.add(dictJsonObject);
                 }
+                jsonObject.put("lines", lineArray);
+                jSONArray.add(jsonObject);
             }
         }
-        return obj;
+        return jSONArray;
+    }
+
+    public static void main(String[] args) {
+        Map<String, List<RemoteMeasure>> map = new HashMap<>();
+        map.put("sbName", new ArrayList<>());
+        JSONObject remoteJson = JSONObject.parseObject(JSONObject.toJSONString(map));
+        JSONObject obj = new JSONObject();
+        obj.put("remoteList", remoteJson);
+        System.out.println(obj.toJSONString());
     }
 }

+ 0 - 1
platform-service/src/main/java/com/platform/service/remote/RemoteDegreeLogService.java

@@ -41,5 +41,4 @@ public interface RemoteDegreeLogService extends IBaseService<RemoteDegreeLog, Re
      */
     void addByPositionNum(Integer positionNum, String result) ;
 
-    Object getMonthOrDayReport(RemoteDegreeLogDTO remoteDegreeLogDTO, Boolean isDay);
 }

+ 0 - 125
platform-service/src/main/java/com/platform/service/remote/impl/RemoteDegreeLogServiceImpl.java

@@ -71,131 +71,6 @@ public class RemoteDegreeLogServiceImpl extends BaseServiceImpl<RemoteDegreeLogM
         mapper.insert(remoteDegreeLog);
     }
 
-    /**
-     * 参数:
-     * 查询月报表、日报表
-     * 1:根据线路分组,线路1,线路2
-     * 2:日报表
-     * 根据年、月,日,查询出来
-     * 根据小时分组,循环24小时分组
-     * 根据线路分组:累加
-     * <p>
-     * 3:月报表
-     * 根据年、月,查询出来
-     * 根据天分组,循环到当前月有多少天,
-     * 根据月分组:累加
-     * <p>
-     * 日报格式, 月报没有negative数据
-     * [{
-     * time: “00:00”,
-     * lines: [
-     * {name:"line1", "positive ": “00:00”, "negative": “00:00”},
-     * {name:"line2", "positive": “00:00”, "negative": “00:00”},
-     * {name:"line3", "positive": “00:00”, "negative": “00:00”},
-     * {name:"line4", "positive": “00:00”, "negative": “00:00”},
-     * {name:"line5", "positive": “00:00”, "negative": “00:00”},
-     * {name:"line6", "positive": “00:00”, "negative": “00:00”},
-     * ]
-     * },
-     * {
-     * time: “01:00”,
-     * lines: [
-     * {name:"line1", "positive ": “00:00”, "negative": “00:00”},
-     * {name:"line2", "positive": “00:00”, "negative": “00:00”},
-     * {name:"line3", "positive": “00:00”, "negative": “00:00”},
-     * {name:"line4", "positive": “00:00”, "negative": “00:00”},
-     * {name:"line5", "positive": “00:00”, "negative": “00:00”},
-     * {name:"line6", "positive": “00:00”, "negative": “00:00”},
-     * ]
-     * }
-     * ]
-     *
-     * @param record
-     * @return
-     */
-    @Override
-    public Object getMonthOrDayReport(RemoteDegreeLogDTO record, Boolean isDay) {
-        if (record.getYear() == null) {
-            throw new BusinessException("请选择年份");
-        }
-        if (record.getMonth() == null) {
-            throw new BusinessException("请选择月份");
-        }
-        Weekend<SysDict> weekend = new Weekend<>(SysDict.class);
-        WeekendCriteria<SysDict, Object> weekendCriteria = weekend.weekendCriteria();
-        weekendCriteria.andEqualTo(SysDict::getType, DictTypeEnum.REMOTE_LINE);
-        List<SysDict> sysDictList = sysDictMapper.selectByExample(weekend);
-        if (CollectionUtils.isEmpty(sysDictList)) {
-            throw new BusinessException("请在数据字典配置设备电力线路");
-        }
-        sysDictList.sort(Comparator.comparing(SysDict::getSort));
-        List<RemoteDegreeLogVO> list = mapper.selectList(record);
-        JSONArray jSONArray = new JSONArray();
-        if (isDay) {//
-            for (int i = 0; i < 24; i++) {
-                JSONObject jsonObject = new JSONObject();
-                jsonObject.put("time", i + ":00");
-                JSONArray lineArray = new JSONArray();
-                for (SysDict dict : sysDictList) {
-                    JSONObject dictJsonObject = new JSONObject();
-                    dictJsonObject.put("name", dict.getLabel());
-                    BigDecimal positiveTotal = new BigDecimal(0.00);// 正向有功
-                    BigDecimal negativeTotal = new BigDecimal(0.00);// 正向无功
-                    for (RemoteDegreeLogVO log : list) {
-                        if (log.getBaoyangTimes().toString().equals(dict.getValue())) {
-                            if (log.getHour().equals(i)) {
-                                if (log.getType().equals(1)) {
-                                    positiveTotal = positiveTotal.add(new BigDecimal(log.getResult()));
-                                } else {
-                                    negativeTotal = negativeTotal.add(new BigDecimal(log.getResult()));
-                                }
-                            }
-                        }
-                    }
-                    dictJsonObject.put("positive", positiveTotal);
-                    dictJsonObject.put("negative", negativeTotal);
-                    lineArray.add(dictJsonObject);
-                }
-                jsonObject.put("lines", lineArray);
-                jSONArray.add(jsonObject);
-            }
-        } else {
-            LocalDate localDate = LocalDate.of(record.getYear(), record.getMonth(), 1);
-            int days = localDate.lengthOfMonth();
-            for (int i = 1; i <= days; i++) {
-                JSONObject jsonObject = new JSONObject();
-                jsonObject.put("time", i);
-                JSONArray lineArray = new JSONArray();
-                for (SysDict dict : sysDictList) {
-                    JSONObject dictJsonObject = new JSONObject();
-                    dictJsonObject.put("name", dict.getLabel());
-                    BigDecimal positiveTotal = new BigDecimal(0.00);// 正向有功
-                    BigDecimal negativeTotal = new BigDecimal(0.00);// 正向无功,不需要吗,后面可以删除,先保存
-                    for (RemoteDegreeLogVO log : list) {
-                        if(log.getBaoyangTimes() == null){
-                            throw new BusinessException("设备未设置电力线路, 设备名称:" + log.getSbName() + ", 设备编号:" + log.getSbNo());
-                        }
-                        if (log.getBaoyangTimes().toString().equals(dict.getValue())) {
-                            if (log.getDay().equals(i)) {
-                                if (log.getType().equals(1)) {
-                                    positiveTotal = positiveTotal.add(new BigDecimal(log.getResult()));
-                                } else {
-                                    negativeTotal = negativeTotal.add(new BigDecimal(log.getResult()));
-                                }
-                            }
-                        }
-                    }
-                    dictJsonObject.put("positive", positiveTotal);
-                    dictJsonObject.put("negative", negativeTotal);
-                    lineArray.add(dictJsonObject);
-                }
-                jsonObject.put("lines", lineArray);
-                jSONArray.add(jsonObject);
-            }
-        }
-        return jSONArray;
-    }
-
     public static void main(String[] args) {
         LocalDate localDate = LocalDate.of(2022, 10, 1);
         int days = localDate.lengthOfMonth();

+ 14 - 4
platform-service/src/main/java/com/platform/service/remote/impl/RemoteDegreeServiceImpl.java

@@ -87,10 +87,20 @@ public class RemoteDegreeServiceImpl extends BaseServiceImpl<RemoteDegreeMapper,
                 // 电度的导入不处理,因为遥测导入已经添加了设备,电度导入需要查询设备id,根据设备名字查询
                 // 设置设备新增
                 for(RemoteDegree remoteDegree:items){
-                    for(SbInfo sbInfo:sbInfoList){
-                        if(remoteDegree.getSbName().equals(sbInfo.getName())){
-                            remoteDegree.setSbId(sbInfo.getId());
-                        }
+                    if(remoteDegree.getSbName().contains("1G")){
+                        remoteDegree.setLine(1);
+                    }else  if(remoteDegree.getSbName().contains("2G")){
+                        remoteDegree.setLine(2);
+                    }else  if(remoteDegree.getSbName().contains("3G")){
+                        remoteDegree.setLine(3);
+                    }else  if(remoteDegree.getSbName().contains("4G")){
+                        remoteDegree.setLine(4);
+                    }else  if(remoteDegree.getSbName().contains("5G")){
+                        remoteDegree.setLine(5);
+                    }else  if(remoteDegree.getSbName().contains("6G")){
+                        remoteDegree.setLine(6);
+                    }else{
+                        remoteDegree.setLine(0);
                     }
                     boolean find = false;
                     for(SysDict sysDict: sysDictList){

+ 3 - 3
platform-service/src/main/java/com/platform/service/remote/impl/RemoteMeasureLogServiceImpl.java

@@ -136,7 +136,7 @@ public class RemoteMeasureLogServiceImpl extends BaseServiceImpl<RemoteMeasureLo
                     BigDecimal positiveTotal = new BigDecimal(0.00);// 正向有功
                     BigDecimal negativeTotal = new BigDecimal(0.00);// 正向无功
                     for (RemoteMeasureLogVO log : list) {
-                        if (log.getBaoyangTimes().toString().equals(dict.getValue())) {
+                        if (log.getLine().toString().equals(dict.getValue())) {
                             if (log.getHour().equals(i)) {
                                 if (log.getType().equals(1)) {
                                     positiveTotal = positiveTotal.add(new BigDecimal(log.getResult()));
@@ -166,10 +166,10 @@ public class RemoteMeasureLogServiceImpl extends BaseServiceImpl<RemoteMeasureLo
                     BigDecimal positiveTotal = new BigDecimal(0.00);// 正向有功
                     BigDecimal negativeTotal = new BigDecimal(0.00);// 正向无功,不需要吗,后面可以删除,先保存
                     for (RemoteMeasureLogVO log : list) {
-                        if(log.getBaoyangTimes() == null){
+                        if(log.getLine() == null){
                             throw new BusinessException("设备未设置电力线路, 设备名称:" + log.getSbName() + ", 设备编号:" + log.getSbNo());
                         }
-                        if (log.getBaoyangTimes().toString().equals(dict.getValue())) {
+                        if (log.getLine().toString().equals(dict.getValue())) {
                             if (log.getDay().equals(i)) {
                                 if (log.getType().equals(1)) {
                                     positiveTotal = positiveTotal.add(new BigDecimal(log.getResult()));

+ 21 - 6
platform-service/src/main/java/com/platform/service/remote/impl/RemoteMeasureServiceImpl.java

@@ -88,10 +88,10 @@ public class RemoteMeasureServiceImpl extends BaseServiceImpl<RemoteMeasureMappe
             if (!CollectionUtils.isEmpty(items)) {
                 // 设备名称,新建设备,先走台账,后期台账怎么关联上。。后期台账自己导入需要再次关联上,
                 // 电度的导入不处理,因为遥测导入已经添加了设备,电度导入需要查询设备id,根据设备名字查询
-                List<String> sbNames = items.stream().distinct().map(RemoteMeasure::getSbName).distinct().collect(Collectors.toList());
+                // List<String> sbNames = items.stream().distinct().map(RemoteMeasure::getSbName).distinct().collect(Collectors.toList());
                 // 设置设备新增
                 int i = 1;
-                for (String name : sbNames) {
+                /*for (String name : sbNames) {
                     SbInfo sbInfo = new SbInfo();
                     sbInfo.setId(i++ + "");
                     sbInfo.setName(name);
@@ -104,13 +104,28 @@ public class RemoteMeasureServiceImpl extends BaseServiceImpl<RemoteMeasureMappe
                     sbInfo.setIsFinancing(0);
                     sbInfo.setBaoyangTimes((int) ((Math.random() * 6) + 1));
                     addSbInfoList.add(sbInfo);
-                }
+                }*/
                 for (RemoteMeasure remoteMeasure : items) {
-                    for (SbInfo sbInfo : addSbInfoList) {
+                    if(remoteMeasure.getSbName().contains("1G")){
+                        remoteMeasure.setLine(1);
+                    }else  if(remoteMeasure.getSbName().contains("2G")){
+                        remoteMeasure.setLine(2);
+                    }else  if(remoteMeasure.getSbName().contains("3G")){
+                        remoteMeasure.setLine(3);
+                    }else  if(remoteMeasure.getSbName().contains("4G")){
+                        remoteMeasure.setLine(4);
+                    }else  if(remoteMeasure.getSbName().contains("5G")){
+                        remoteMeasure.setLine(5);
+                    }else  if(remoteMeasure.getSbName().contains("6G")){
+                        remoteMeasure.setLine(6);
+                    }else{
+                        remoteMeasure.setLine(0);
+                    }
+                   /* for (SbInfo sbInfo : addSbInfoList) {
                         if (remoteMeasure.getSbName().equals(sbInfo.getName())) {
                             remoteMeasure.setSbId(sbInfo.getId());
                         }
-                    }
+                    }*/
                     boolean find = false;
                     for (SysDict sysDict : sysDictList) {
                         if (sysDict.getLabel().equals(remoteMeasure.getRemark())) {
@@ -123,7 +138,7 @@ public class RemoteMeasureServiceImpl extends BaseServiceImpl<RemoteMeasureMappe
                         throw new BusinessException("点位类型未配置,请配置遥测数据字典:" + remoteMeasure.getRemark());
                     }
                 }
-                sbInfoMapper.insertListforComplex(addSbInfoList);
+               // sbInfoMapper.insertListforComplex(addSbInfoList);
                 mapper.insertListforComplex(items);
             }
             return "总计新增导入:" + (items.size());