Browse Source

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

hym 3 years ago
parent
commit
e6fcebd1f5
37 changed files with 194 additions and 95 deletions
  1. 4 6
      zoniot-charge/zoniot-charge-web/src/main/java/com/zcxk/charge/web/service/impl/HomePageReportServiceImpl.java
  2. 4 0
      zoniot-common/zoniot-core-mysql/src/main/java/com/zcxk/core/mysql/pageing/Pagination.java
  3. 1 1
      zoniot-common/zoniot-core-oauth2/src/main/java/com/zcxk/core/oauth2/util/UserUtil.java
  4. 2 2
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/community/CommunityAddDto.java
  5. 19 0
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/device/ValveDto.java
  6. 0 1
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/meterreadrecord/MeterReadRecordDto.java
  7. 1 2
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/meterreadrecord/MeterReadRecordUpdateDto.java
  8. 1 2
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/readrate/ReadRateCountDto.java
  9. 1 1
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/readrate/ReadRateDto.java
  10. 2 2
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/enums/DeviceStatusEnum.java
  11. 4 0
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/DeviceCommandVo.java
  12. 3 0
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/DeviceVo.java
  13. 13 5
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/MeterReadRecordVo.java
  14. 16 12
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/MeterReplaceVo.java
  15. 13 13
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/ReadRateVo.java
  16. 5 5
      zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/dao/mongo/BaseMongoDao.java
  17. 9 4
      zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/dao/mongo/MeterReadRecordDao.java
  18. 14 6
      zoniot-rmcp/zoniot-rmcp-dap/src/main/java/com/bz/rmcp/dap/service/impl/DeviceDataServiceImpl.java
  19. 1 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/config/ResourceServerConfig.java
  20. 3 3
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/DeviceController.java
  21. 1 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/FileController.java
  22. 1 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/ImportController.java
  23. 2 2
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/MeterReadRecordController.java
  24. 1 2
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/MeterReplaceController.java
  25. 7 2
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/ReadRateController.java
  26. 2 2
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/download/AbstractDownloadExcelAdapter.java
  27. 3 0
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/ResolverExcelTemplate.java
  28. 18 7
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/listener/DeviceImportListener.java
  29. 1 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/service/InstallHandleExcelServiceImpl.java
  30. 1 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/service/InstallPlanHandleExcelService.java
  31. 2 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/service/WaterDeviceHandleExcelService.java
  32. 6 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/CommonService.java
  33. 3 3
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/DeviceService.java
  34. 3 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/impl/CommunityServiceImpl.java
  35. 4 3
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/impl/DeviceServiceImpl.java
  36. 22 0
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/util/Utils.java
  37. 1 1
      zoniot-rmcp/zoniot-rmcp-web/src/main/resources/application-sit.properties

+ 4 - 6
zoniot-charge/zoniot-charge-web/src/main/java/com/zcxk/charge/web/service/impl/HomePageReportServiceImpl.java

@@ -1,18 +1,18 @@
 package com.zcxk.charge.web.service.impl;
 
+import com.zcxk.charge.api.dto.generalview.WaterSupplyChart;
+import com.zcxk.charge.api.dto.homepage.WaterQualityRate;
+import com.zcxk.charge.api.dto.homepage.WaterQualityRateForScene;
 import com.zcxk.charge.api.dto.query.DeviceWaterDto;
 import com.zcxk.charge.api.dto.query.HomePageReportDto;
 import com.zcxk.charge.api.enums.ParamTypeEnum;
 import com.zcxk.charge.api.enums.SceneTypeEnum;
 import com.zcxk.charge.api.vo.*;
-import com.zcxk.charge.web.client.UserCenterClient;
 import com.zcxk.charge.core.dao.HomePageReportMapper;
 import com.zcxk.charge.core.dao.MonitorDataReportMapper;
-import com.zcxk.charge.api.dto.generalview.WaterSupplyChart;
-import com.zcxk.charge.api.dto.homepage.WaterQualityRate;
-import com.zcxk.charge.api.dto.homepage.WaterQualityRateForScene;
 import com.zcxk.charge.core.entity.MonitorDataEntity;
 import com.zcxk.charge.core.entity.MonitorDataValueEntity;
+import com.zcxk.charge.web.client.UserCenterClient;
 import com.zcxk.charge.web.service.HomePageReportService;
 import com.zcxk.charge.web.service.MonitorDataReportService;
 import com.zcxk.core.common.pojo.UserCondition;
@@ -21,11 +21,9 @@ import com.zcxk.core.oauth2.util.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
-import sun.reflect.misc.ConstructorUtil;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;

+ 4 - 0
zoniot-common/zoniot-core-mysql/src/main/java/com/zcxk/core/mysql/pageing/Pagination.java

@@ -46,4 +46,8 @@ public class Pagination<T> implements Serializable {
         this.list = list ;
         this.total =total ;
     }
+
+    public static void main(String[] args) {
+        System.out.println(System.currentTimeMillis());
+    }
 }

+ 1 - 1
zoniot-common/zoniot-core-oauth2/src/main/java/com/zcxk/core/oauth2/util/UserUtil.java

@@ -71,7 +71,7 @@ public class UserUtil {
 
     public static String getUsername() {
         LoginUser loginUser = UserUtil.getCurrentUser();
-        if (loginUser != null) {
+        if (loginUser != null && loginUser.getUsername() != null) {
             return loginUser.getUsername();
         }
         return "system";

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/community/CommunityAddDto.java

@@ -6,6 +6,7 @@ import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 
 /**
@@ -17,10 +18,9 @@ import java.math.BigDecimal;
 @Data
 public class CommunityAddDto {
 
-    @NotBlank(message = "id")
     private Integer id;
 
-    @NotBlank(message = "请输入公司")
+    @NotNull(message = "请输入公司")
     @ApiModelProperty(value="公司", required = true)
     private Integer companyOrgId;
 

+ 19 - 0
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/device/ValveDto.java

@@ -0,0 +1,19 @@
+package com.zcxk.rmcp.api.dto.device;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author linqingwei
+ * @date 2021-08-26 9:38
+ */
+@Data
+public class ValveDto {
+    @ApiModelProperty(value="设备id")
+    private List<Long> ids;
+
+    @ApiModelProperty(value="0:关阀 1:开阀")
+    private Integer valveStatus;
+}

+ 0 - 1
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/meterreadrecord/MeterReadRecordDto.java

@@ -41,7 +41,6 @@ public class MeterReadRecordDto extends BasePageDto {
     @ApiModelProperty(value="采集器编码")
     private String collectorCode;
 
-
     public String getDate(){
         return ZoniotStringUtils.isNotEmpty(date) ? date + " 00:00:00" :date;
     }

+ 1 - 2
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/meterreadrecord/MeterReadRecordUpdateDto.java

@@ -16,9 +16,8 @@ import javax.validation.constraints.NotNull;
 public class MeterReadRecordUpdateDto  {
 
     @NotNull
-    @NotEmpty
     @ApiModelProperty(value="ID")
-    private String id;
+    private Long id;
 
     @NotNull
     @NotEmpty

+ 1 - 2
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/readrate/ReadRateCountDto.java

@@ -1,6 +1,5 @@
 package com.zcxk.rmcp.api.dto.readrate;
 
-import com.zcxk.rmcp.api.dto.BasePageDto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -16,7 +15,7 @@ import java.math.BigDecimal;
 public class ReadRateCountDto {
 
     @ApiModelProperty(value = "类型")
-    private Integer statDaysCode;
+    private int statDaysCode;
 
     @ApiModelProperty(value = "分类ID")
     private Integer categoryId;

+ 1 - 1
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/readrate/ReadRateDto.java

@@ -17,7 +17,7 @@ import java.math.BigDecimal;
 public class ReadRateDto extends BasePageDto {
 
     @ApiModelProperty(value = "类型")
-    private Integer statDaysCode;
+    private int statDaysCode;
 
     @ApiModelProperty(value = "分类ID")
     private Integer categoryId;

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/enums/DeviceStatusEnum.java

@@ -24,9 +24,9 @@ public enum DeviceStatusEnum {
     OFFLINE(2 , "离线"),
 
     /**
-     * 
+     * 
      */
-    ALARM(3, "警"),
+    ALARM(3, "警"),
 
     /**
      * 未启用

+ 4 - 0
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/DeviceCommandVo.java

@@ -1,7 +1,9 @@
 package com.zcxk.rmcp.api.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -14,9 +16,11 @@ import java.util.Date;
  * @date 2021/7/20
  **/
 @Data
+@ApiModel
 public class DeviceCommandVo {
 
     @ApiModelProperty(value="Id")
+    @ExcelIgnore
     private Long id;
 
     @ApiModelProperty(value = "水表电子号")

+ 3 - 0
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/DeviceVo.java

@@ -102,4 +102,7 @@ public class DeviceVo {
 
     @ApiModelProperty(value="离线天数")
     private Integer offlineDays;
+
+    @ApiModelProperty(value="是否支持阀门 0:否 1:是")
+    private Integer isSupportValve;
 }

+ 13 - 5
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/MeterReadRecordVo.java

@@ -1,12 +1,13 @@
 package com.zcxk.rmcp.api.vo;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zcxk.core.utils.DateUtil;
 import com.zcxk.rmcp.api.enums.ReadStatusEnum;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * @author Andy
@@ -15,6 +16,7 @@ import java.util.Date;
  * @date 2021/7/22
  **/
 @Data
+@ApiModel
 public class MeterReadRecordVo {
 
     @ApiModelProperty(value="id")
@@ -78,8 +80,7 @@ public class MeterReadRecordVo {
         private int readDate;
 
         @ApiModelProperty(value="抄表时间/读表时间")
-        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
-        private Long readTime;
+        private String readTime;
 
         @ApiModelProperty(value="阀门状态")
         private Integer valveStatus;
@@ -99,7 +100,14 @@ public class MeterReadRecordVo {
         public String getReadStatus(){
             return ReadStatusEnum.getMessage(readStatus);
         }
-    }
 
+        public String getReadTime(){
+            try {
+                return StringUtils.isNotEmpty(readTime) ? DateUtil.format(Long.parseLong(readTime), "yyyy-MM-dd HH:mm:ss") : readTime;
+            } catch (Exception e) {
+                return "";
+            }
+        }
+    }
 
 }

+ 16 - 12
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/MeterReplaceVo.java

@@ -1,5 +1,6 @@
 package com.zcxk.rmcp.api.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.zcxk.rmcp.api.pojo.LocalDateTimeConverter;
@@ -19,44 +20,47 @@ import java.util.Date;
 public class MeterReplaceVo {
 
     @ApiModelProperty(value="Id")
+    @ExcelIgnore
     private Long id;
 
     @ApiModelProperty(value = "新设备编号")
-    @ExcelProperty(value = {"新设备编号"}, index = 1)
+    @ExcelProperty(value = {"新设备编号"}, index = 0)
     private String newDeviceNo;
 
     @ApiModelProperty(value = "旧设备编号")
-    @ExcelProperty(value = {"旧设备编号"}, index = 2)
+    @ExcelProperty(value = {"旧设备编号"}, index = 1)
     private String oldDeviceNo;
 
     @ApiModelProperty(value="新水表电子号")
-    @ExcelProperty(value = {"新水表电子号"}, index = 3)
+    @ExcelProperty(value = {"新水表电子号"}, index = 2)
     private String newMeterNo;
 
     @ApiModelProperty(value="旧水表电子号")
-    @ExcelProperty(value = {"旧水表电子号"}, index = 4)
+    @ExcelProperty(value = {"旧水表电子号"}, index = 3)
     private String oldMeterNo;
 
     @ApiModelProperty(value="新产品类型/新设备型号")
+    @ExcelIgnore
     private String newProductId;
 
     @ApiModelProperty(value="旧产品类型/旧设备型号")
+    @ExcelIgnore
     private String oldProductId;
 
     @ApiModelProperty(value="新产品类型/新设备型号")
-    @ExcelProperty(value = {"新设备型号"}, index = 5)
+    @ExcelProperty(value = {"新设备型号"}, index = 4)
     private String newDeviceModel;
 
     @ApiModelProperty(value="旧产品类型/旧设备型号")
-    @ExcelProperty(value = {"旧设备型号"}, index = 6)
+    @ExcelProperty(value = {"旧设备型号"}, index = 5)
     private String oldDeviceModel;
 
     @ApiModelProperty(value = "水表档案号")
-    @ExcelProperty(value = {"水表档案号"}, index = 7)
+    @ExcelProperty(value = {"水表档案号"}, index = 6)
     private String fileNo;
 
     @ApiModelProperty(value="新表起度")
-    @ExcelProperty(value = {"新表起度"}, index = 9)
+    @ExcelProperty(value = {"新表起度"}, index = 7)
     private String newBeginDegree;
 
     @ApiModelProperty(value="旧表止度")
@@ -64,20 +68,20 @@ public class MeterReplaceVo {
     private String oldEndDegree;
 
     @ApiModelProperty(value="更换方案,1 更换模块,2:更换整表")
-    @ExcelProperty(value = {"更换方案"}, index = 10)
+    @ExcelProperty(value = {"更换方案"}, index = 9)
     private String replaceMethod;
 
     @ApiModelProperty(value="更换人")
-    @ExcelProperty(value = {"更换人"}, index = 11)
+    @ExcelProperty(value = {"更换人"}, index = 10)
     private String replaceUsername;
 
     @ApiModelProperty(value="更换人手机号码")
-    @ExcelProperty(value = {"更换人手机号码"}, index = 12)
+    @ExcelProperty(value = {"更换人手机号码"}, index = 11)
     private String replaceUserPhone;
 
     @ApiModelProperty(value="创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
-    @ExcelProperty(value = {"上报时间"}, index = 13, converter = LocalDateTimeConverter.class)
+    @ExcelProperty(value = {"上报时间"}, index = 12, converter = LocalDateTimeConverter.class)
     private LocalDateTime dateCreate;
 
 }

+ 13 - 13
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/vo/ReadRateVo.java

@@ -16,41 +16,41 @@ import java.math.BigDecimal;
 @Data
 public class ReadRateVo {
 
-    @ApiModelProperty(value="抄表日期")
-    @ExcelIgnore
-    private String statDay;
-
     @ApiModelProperty(value="小区名字")
-    @ExcelProperty(value = {"小区名字"},index = 1)
+    @ExcelProperty(value = {"小区名字"},index = 0)
     private String communityName;
 
     @ApiModelProperty(value="水表名字")
-    @ExcelProperty(value = {"水表名字"},index = 2)
+    @ExcelProperty(value = {"水表名字"},index = 1)
     private String categoryName;
 
     @ApiModelProperty(value="公司名字")
-    @ExcelProperty(value = {"公司名字"},index = 3)
+    @ExcelProperty(value = {"公司名字"},index = 2)
     private String companyOrgName;
 
     @ApiModelProperty(value="部门名字")
-    @ExcelProperty(value = {"部门名字"},index = 4)
+    @ExcelProperty(value = {"部门名字"},index = 3)
     private String deptOrgName;
 
     @ApiModelProperty(value="应抄数据")
-    @ExcelProperty(value = {"应抄水表总数"},index = 5)
+    @ExcelProperty(value = {"应抄水表总数"},index = 4)
     private int readTimes;
 
     @ApiModelProperty(value="实抄数据")
-    @ExcelProperty(value = {"抄收成功总数"},index = 6)
+    @ExcelProperty(value = {"抄收成功总数"},index = 5)
     private int realReadTimes;
 
+    @ApiModelProperty(value="抄表率")
+    @ExcelProperty(value = {"抄收成功率(%)"},index = 6)
+    private BigDecimal readRate;
+
     @ApiModelProperty(value="未抄数据")
     @ExcelIgnore
     private int unReadTimes;
 
-    @ApiModelProperty(value="抄表")
-    @ExcelProperty(value = {"抄收成功率(%)"},index = 7)
-    private BigDecimal readRate;
+    @ApiModelProperty(value="抄表日期")
+    @ExcelIgnore
+    private String statDay;
 
 
 

+ 5 - 5
zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/dao/mongo/BaseMongoDao.java

@@ -25,16 +25,16 @@ public interface BaseMongoDao {
          if (userCondition.checkAuthority()) {
              List<Integer> orgIds = userCondition.getOrgIds();
              if (userCondition.getPermissionType() == 2 || userCondition.getPermissionType() == 5)  {
-                 Criteria criteria1 = Criteria.where("company_org_id").in(orgIds);
-                 Criteria criteria2 = Criteria.where("dept_org_id").in(orgIds);
+                 Criteria criteria1 = Criteria.where("companyOrgId").in(orgIds);
+                 Criteria criteria2 = Criteria.where("deptOrgId").in(orgIds);
                  criteria.orOperator(criteria1, criteria2);
              }
              if (userCondition.getPermissionType() == 4 || userCondition.getPermissionType() == 3)  {
-                 criteria.and("dept_org_id").in(orgIds);
+                 criteria.and("deptOrgId").in(orgIds);
              }
              if (userCondition.getPermissionType() == 1)  {
-                 criteria.and("company_org_id").in(orgIds);
-                 criteria.and("dept_org_id").is(0);
+                 criteria.and("companyOrgId").in(orgIds);
+                 criteria.and("deptOrgId").is(0);
              }
          }
      }

+ 9 - 4
zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/dao/mongo/MeterReadRecordDao.java

@@ -50,7 +50,7 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme
     * @param id, readDate
     * @return com.zcxk.rmcp.api.vo.MeterReadRecordVo
     **/
-    public MeterReadRecordVo findMeterReadRecord(String id, String readDate){
+    public MeterReadRecordVo findMeterReadRecord(Long id, String readDate){
         AggregationOptions aggregationOptions = AggregationOptions.builder().allowDiskUse(true).build();
         Aggregation agg = Aggregation.newAggregation(
                 Aggregation.match(Criteria.where("id").is(id)),
@@ -96,8 +96,13 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme
         Update update = new Update();
         update.set("data.$.readData",dto.getReadData());
         update.set("data.$.readStatus", ReadStatusEnum.READ.getCode());
-        update.set("data.$.readTime", LocalDateTime.now());
-        update.set("data.$.lastCost", BigDecimalUtils.subtract(meterReadRecordVo.getData().getLastValid(), new BigDecimal(dto.getReadData())));
+        update.set("data.$.readTime", System.currentTimeMillis());
+        Double lastValid = meterReadRecordVo.getData().getLastValid();
+        if (lastValid == null) {
+            update.set("data.$.lastCost", new BigDecimal(dto.getReadData()));
+        } else {
+            update.set("data.$.lastCost", BigDecimalUtils.subtract(meterReadRecordVo.getData().getLastValid(), new BigDecimal(dto.getReadData())));
+        }
         update.set("data.$.createBy", UserUtil.getCurrentUser().getUsername());
         return upsert(query,update).getModifiedCount();
     }
@@ -279,7 +284,7 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme
         if (ZoniotStringUtils.isNotEmpty(dto.getConcentratorId())) {
             criteria.and("concentratorId").is(dto.getConcentratorId());
         }
-        if (ZoniotStringUtils.isNotEmpty(dto.getDeviceMeterNo())) {
+        if (ZoniotStringUtils.isNotEmpty(dto.getReadStatus())) {
             criteria.and("readStatus").is(dto.getReadStatus());
         }
         if (ZoniotStringUtils.isNotEmpty(dto.getDeviceMeterNo())) {

+ 14 - 6
zoniot-rmcp/zoniot-rmcp-dap/src/main/java/com/bz/rmcp/dap/service/impl/DeviceDataServiceImpl.java

@@ -31,6 +31,7 @@ import com.zcxk.rmcp.core.mongo.DeviceData;
 import com.zcxk.rmcp.core.mongo.DeviceDataItem;
 import com.zcxk.rmcp.core.mongo.MeterReadRecord;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -106,7 +107,7 @@ public class DeviceDataServiceImpl implements DeviceDataService {
         updateQuery.addCriteria(Criteria.where("deviceId").is(meterData.getDeviceId()));
         updateQuery.addCriteria(Criteria.where("data.readDate").is(DateUtil.getDate(new Date())));
         Update update = new Update();
-        update.set("data.$.readTime",meterData.getReceiveDate());
+        update.set("data.$.readTime",meterData.getReceiveDate().getTime());
         update.set("data.$.readData",meterData.getReadData());
         update.set("data.$.readStatus",ReadStatusEnum.READ.getCode());
         update.set("data.$.valveStatus",meterData.getValveStatus());
@@ -256,6 +257,7 @@ public class DeviceDataServiceImpl implements DeviceDataService {
         Map<String, Object> measureMap = measureDataDto.getMeasureMap();
 
         Product product = productService.findProductByCache(device.getProductId());
+        //log.info("product = {}",JSON.toJSON(product));
         Device update = new Device();
         update.setId(device.getId());
         update.setDeviceStatus(DeviceStatusEnum.NORMAL.getCode());
@@ -263,6 +265,7 @@ public class DeviceDataServiceImpl implements DeviceDataService {
         update.setValveStatus(convertValveStatus(measureMap,product));
         update.setLastReceiveTime(DateUtil.asLocalDateTime(measureDataDto.getReceiveDate()));
         update.setUpdateDate(LocalDateTime.now());
+        //log.info("update = {}",JSON.toJSON(update));
         deviceMapper.updateByDeviceData(update);
 
         MeterData meterData = new MeterData();
@@ -271,7 +274,7 @@ public class DeviceDataServiceImpl implements DeviceDataService {
         if(update.getValveStatus()!=null)meterData.setValveStatus(update.getValveStatus());
         meterData.setReceiveDate(measureDataDto.getReceiveDate());
 
-        log.info("end updateDevice");
+        log.info("end updateDevice meterData = {}",JSON.toJSONString(meterData));
         return meterData;
     }
 
@@ -283,7 +286,9 @@ public class DeviceDataServiceImpl implements DeviceDataService {
      * @author linqingwei
      **/
     private String convertReadData(Map<String, Object> measureMap,Product product){
-        return MapUtil.getStr(measureMap,product.getReadingMeasuringCode());
+        String readData = MapUtil.getStr(measureMap,product.getReadingMeasuringCode());
+        //log.info("convertReadData readData={},code={}",readData,product.getReadingMeasuringCode());
+        return readData;
     }
 
     /*
@@ -294,10 +299,13 @@ public class DeviceDataServiceImpl implements DeviceDataService {
      * @author linqingwei
      **/
     private Integer convertValveStatus(Map<String, Object> measureMap,Product product){
-        Integer valve = MapUtil.getInt(measureMap,product.getValveMeasuringCode());
+        String valve = MapUtil.getStr(measureMap,product.getValveMeasuringCode());
+        //log.info("convertValveStatus valve={},code={}",valve,product.getValveMeasuringCode());
         if (valve != null) {
-            if(valve == 0)  return ValveStatusEnum.ON.getCode();
-            if(valve == 1)  return ValveStatusEnum.OFF.getCode();
+            if(StringUtils.equals("0",valve))  return ValveStatusEnum.ON.getCode();
+            if(StringUtils.equals("1",valve))  return ValveStatusEnum.OFF.getCode();
+            if(StringUtils.equals("00",valve))  return ValveStatusEnum.ON.getCode();
+            if(StringUtils.equals("01",valve))  return ValveStatusEnum.OFF.getCode();
             return ValveStatusEnum.ABNORMAL.getCode();
         }
         return null;

+ 1 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/config/ResourceServerConfig.java

@@ -21,7 +21,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
             .and()
             .authorizeRequests()
             .antMatchers("/swagger-ui.html","/webjars/**", "/swagger-resources/**",
-                    "/file/**","/test/test",
+                    "/file/**","/test/test","/import/downloadFailFile",
                    "/v2/**")
             .permitAll() //配置不需要身份认证的请求路径
             .anyRequest().authenticated() //其他所有访问路径都需要身份认证

+ 3 - 3
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/DeviceController.java

@@ -6,6 +6,7 @@ import com.zcxk.rmcp.api.dto.BasePageDto;
 import com.zcxk.rmcp.api.dto.device.DeviceDataDto;
 import com.zcxk.rmcp.api.dto.device.DeviceInputDto;
 import com.zcxk.rmcp.api.dto.device.DeviceQueryDto;
+import com.zcxk.rmcp.api.dto.device.ValveDto;
 import com.zcxk.rmcp.api.vo.*;
 import com.zcxk.rmcp.core.mongo.DeviceDataItem;
 import com.zcxk.rmcp.web.service.DeviceDataService;
@@ -140,10 +141,9 @@ public class DeviceController {
     @PostMapping("batchValve")
     @ApiOperation(value = "批量开关阀")
     public AjaxMessage<Void> batchValve(
-            @ApiParam(value = "设备id", required = true) @RequestBody(required = true) List<Long> ids,
-            @ApiParam(value = "0:关阀 1:开阀", required = true) @RequestParam(required = true) Integer valveStatus
+            @ApiParam(value = "阀门", required = true) @RequestBody(required = true) ValveDto dto
     ) {
-        deviceService.batchValve(ids,valveStatus);
+        deviceService.batchValve(dto);
         return AjaxMessage.success();
     }
 

+ 1 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/FileController.java

@@ -34,7 +34,7 @@ public class FileController {
     public AjaxMessage<Map<String,String>> uploadFile(MultipartFile file) {
         String url = fileLogService.uploadFile(file);
         Map<String,String> map = new HashMap<>();
-        map.put("url",rmcpUrl+"/file"+url);
+        map.put("url",rmcpUrl+"/zoniot-rmcp-web/file"+url);
         return AjaxMessage.success(map);
     }
 

+ 1 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/ImportController.java

@@ -39,7 +39,7 @@ public class ImportController {
     @ApiOperation(value = "下载失败列表")
     public void downloadFailFile(
             @ApiParam(value = "id", required = true) @RequestParam(required = true) Integer objId,
-            @ApiParam(value = "access_token", required = true) @RequestParam(required = true) String accessToken,
+            @ApiParam(value = "access_token", required = false) @RequestParam(required = false) String access_token,
             HttpServletRequest request, HttpServletResponse response
     ) {
         importFileService.downloadFailFile(objId,response);

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/MeterReadRecordController.java

@@ -60,7 +60,7 @@ public class MeterReadRecordController extends BaseController {
 
     @RequestMapping(value = "/page", method = RequestMethod.POST)
     @ApiOperation(value = "分页查询抄表记录")
-    public AjaxMessage<PageResult> pageMeterReadRecord(@RequestBody @Valid MeterReadRecordDto dto) {
+    public AjaxMessage<PageResult<MeterReadRecordVo>> pageMeterReadRecord(@RequestBody @Valid MeterReadRecordDto dto) {
         return AjaxMessage.success(meterReadRecordService.pageMeterReadRecord(dto));
     }
 
@@ -82,11 +82,11 @@ public class MeterReadRecordController extends BaseController {
             }
             return;
         }
+        
         List<MeterReadRecordExcelVo> dataList = new ArrayList<>();
         for (MeterReadRecordVo meterReadRecordVo : list) {
             MeterReadRecordExcelVo excelVo = new MeterReadRecordExcelVo();
             BeanCopyUtils.copyProperties(meterReadRecordVo, excelVo,MeterReadRecordExcelVo.class);
-            excelVo.setReadTime(DateUtil.format(meterReadRecordVo.getData().getReadTime(), "yyyy-MM-dd HH:mm:ss"));
             excelVo.setReadStatus(meterReadRecordVo.getData().getReadStatus());
             excelVo.setReadData(meterReadRecordVo.getData().getReadData());
             dataList.add(excelVo);

+ 1 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/MeterReplaceController.java

@@ -51,7 +51,7 @@ public class MeterReplaceController  extends BaseController {
     }
 
     @RequestMapping(value="export/excel" , method = RequestMethod.GET)
-    @ApiOperation(value = "excel导出", produces = "application/octet-stream")
+    @ApiOperation(value = "excel导出")
     public void exportExcel(MeterReplacePageDto pageDto, HttpServletResponse response) {
         List<MeterReplaceVo> list = meterReplaceLogService.listMeterReplace(pageDto);
         try {
@@ -61,7 +61,6 @@ public class MeterReplaceController  extends BaseController {
         }
     }
 
-
     @RequestMapping(value = "/submit", method = RequestMethod.POST)
     @ApiOperation(value = "换表")
     public AjaxMessage submitWaterMeterReplace(@RequestBody @Valid WaterMeterReplaceInputDto waterMeterReplaceInputDto) {

+ 7 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/ReadRateController.java

@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -40,7 +41,7 @@ public class ReadRateController extends BaseController{
 
     @RequestMapping(value = "/statistics", method = RequestMethod.GET)
     @ApiOperation(value = "统计抄表率")
-    public AjaxMessage<List> statistics(@ApiParam(value = "统计天数", required = true) @RequestParam("statDaysCode") Integer statDaysCode) {
+    public AjaxMessage<List> statistics(@ApiParam(value = "统计天数", required = true) @RequestParam("statDaysCode") int statDaysCode) {
         if (ReadRateEnum.getReadRateEnum(statDaysCode) == null) {
             return AjaxMessage.success(null);
         }
@@ -67,8 +68,12 @@ public class ReadRateController extends BaseController{
 
     @RequestMapping(value="export/excel" , method = RequestMethod.GET)
     @ApiOperation(value = "excel导出")
-    public void exportExcel(ReadRateDto dto, HttpServletResponse response) {
+    public void exportExcel(ReadRateDto dto, HttpServletResponse response) throws Exception {
         ReadRateEnum readRateEnum = ReadRateEnum.getReadRateEnum(dto.getStatDaysCode());
+        if (ReadRateEnum.getReadRateEnum(dto.getStatDaysCode()) == null) {
+            EasyExcelUtil.excelWrite(response, ReadRateVo.class, readRateEnum.getMessage() +"抄表率记录", new ArrayList());
+            return;
+        }
         List<ReadRateVo> list = readRateFactory.getReadRateService(dto.getStatDaysCode()).listReadRate(dto);
         try {
             EasyExcelUtil.excelWrite(response, ReadRateVo.class, readRateEnum.getMessage() +"抄表率记录", list);

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/download/AbstractDownloadExcelAdapter.java

@@ -1,7 +1,7 @@
 package com.zcxk.rmcp.web.excel.download;
 
 
-import com.zcxk.core.common.util.FileUtil;
+import cn.hutool.core.io.FileUtil;
 import com.zcxk.rmcp.web.excel.model.DownloadExcelData;
 import com.zcxk.rmcp.web.service.CommonService;
 import org.apache.commons.io.IOUtils;
@@ -54,7 +54,7 @@ public abstract class AbstractDownloadExcelAdapter {
         }catch (Exception e) {
             e.printStackTrace();
         } finally {
-            FileUtil.deleteFile(data.getFilePath());
+            FileUtil.del(data.getFilePath());
         }
 
     }

+ 3 - 0
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/ResolverExcelTemplate.java

@@ -1,5 +1,6 @@
 package com.zcxk.rmcp.web.excel.resolver;
 
+import cn.hutool.core.io.FileUtil;
 import com.alibaba.fastjson.JSON;
 import com.zcxk.rmcp.core.entity.ImportFile;
 import com.zcxk.rmcp.web.excel.model.ExcelData;
@@ -33,6 +34,8 @@ public class ResolverExcelTemplate {
         } catch (Exception e) {
             e.printStackTrace();
             log.error("read excel error = {} {}" , e.getMessage(), JSON.toJSON(e));
+        }finally {
+            FileUtil.del(importFile.getImportFilePath());
         }
     }
 

+ 18 - 7
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/listener/DeviceImportListener.java

@@ -8,6 +8,7 @@ import com.zcxk.core.common.pojo.ResultMessage;
 import com.zcxk.rmcp.web.excel.model.DeviceImportData;
 import com.zcxk.rmcp.web.excel.model.ExcelData;
 import com.zcxk.rmcp.web.service.DeviceService;
+import com.zcxk.rmcp.web.util.Utils;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -27,26 +28,35 @@ public class DeviceImportListener extends AnalysisEventListener<DeviceImportData
     private ExcelData excelData;
 
 
-    public DeviceImportListener(DeviceService deviceService,ExcelData excelData) {
+    public DeviceImportListener(DeviceService deviceService, ExcelData excelData) {
         this.deviceService = deviceService;
         this.excelData = excelData;
     }
 
     @Override
     public void invoke(DeviceImportData data, AnalysisContext analysisContext) {
+        try {
+            if (Utils.checkObjFieldIsNull(data)
+            ) {
+                return;
+            }
+        } catch (IllegalAccessException e) {
+            e.printStackTrace();
+        }
+        log.info("begin DeviceImportListener data = {}",JSON.toJSONString(data));
         if (
                 data.getDeviceNo() == null || data.getDeviceTypeName() == null
-                && data.getMeterNo() == null || data.getCompanyOrgName() == null
+                        || data.getMeterNo() == null || data.getCompanyOrgName() == null
         ) {
             data.setRemark("必填项不能为空");
             list.add(data);
             excelData.getFailNum().incrementAndGet();
             return;
         }
-        ResultMessage resultMessage = deviceService.saveExcelData(data,excelData);
-        if(resultMessage.getStatus()){
+        ResultMessage resultMessage = deviceService.saveExcelData(data, excelData);
+        if (resultMessage.getStatus()) {
             excelData.getSuccessNum().incrementAndGet();
-        }else {
+        } else {
             data.setRemark(resultMessage.getMessage());
             list.add(data);
             excelData.getFailNum().incrementAndGet();
@@ -55,9 +65,10 @@ public class DeviceImportListener extends AnalysisEventListener<DeviceImportData
 
     @Override
     public void doAfterAllAnalysed(AnalysisContext analysisContext) {
-        log.info("批量导出设备完成 successNum = {},failNum = {}",excelData.getSuccessNum().get(),excelData.getFailNum().get());
+        log.info("批量导出设备完成 successNum = {},failNum = {}", excelData.getSuccessNum().get(), excelData.getFailNum().get());
     }
-    public List<DeviceImportData> getData(){
+
+    public List<DeviceImportData> getData() {
         return list;
     }
 

+ 1 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/service/InstallHandleExcelServiceImpl.java

@@ -98,7 +98,7 @@ public class InstallHandleExcelServiceImpl implements HandleExcelService {
         message.setMessageId(UUID.randomUUID().toString());
         message.setMessageType(9);
         if(data.getFailNum().get() > 0) {
-            message.setUrl("/import/downloadFailFile?objId="+data.getImportFile().getId());
+            message.setUrl("/zoniot-rmcp-web/import/downloadFailFile?objId="+data.getImportFile().getId());
         }
         message.setMessageTemplateId(9);
         message.setChannel(0);

+ 1 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/service/InstallPlanHandleExcelService.java

@@ -112,7 +112,7 @@ public class InstallPlanHandleExcelService implements HandleExcelService {
         message.setMessageContent(JSONObject.toJSONString(variables));
         message.setMessageId(UUID.randomUUID().toString());
         message.setMessageType(9);
-        if(data.getFailNum().get() > 0) message.setUrl("/import/downloadFailFile?objId="+data.getImportFile().getId());
+        if(data.getFailNum().get() > 0) message.setUrl("/zoniot-rmcp-web/import/downloadFailFile?objId="+data.getImportFile().getId());
         message.setMessageTemplateId(9);
         message.setChannel(0);
         message.setUserId(data.getImportFile().getUserId());

+ 2 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/service/WaterDeviceHandleExcelService.java

@@ -22,6 +22,7 @@ import com.zcxk.rmcp.web.service.impl.ImportFileServiceImpl;
 import com.zcxk.rmcp.web.util.MessageSendUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
@@ -114,7 +115,7 @@ public class WaterDeviceHandleExcelService implements HandleExcelService {
         message.setMessageId(UUID.randomUUID().toString());
         message.setMessageType(9);
         if(data.getFailNum().get() > 0) {
-            message.setUrl("/import/downloadFailFile?objId="+data.getImportFile().getId());
+            message.setUrl("/zoniot-rmcp-web/import/downloadFailFile?objId="+data.getImportFile().getId());
         }
         message.setMessageTemplateId(9);
         message.setChannel(0);

+ 6 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/CommonService.java

@@ -5,6 +5,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
+import java.time.LocalDate;
 import java.util.UUID;
 
 /**
@@ -17,6 +18,10 @@ public class CommonService {
     private String filesPath;
 
     public String getExcelFilePath(String filename) {
-        return filesPath + "/" + ToolUtil.encodingExcelFilename(filename);
+        return filesPath + "/excel/"+ ToolUtil.encodingExcelFilename(filename);
+    }
+
+    private String getPath() {
+        return "/" + LocalDate.now().toString().replace("-", "/") + "/";
     }
 }

+ 3 - 3
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/DeviceService.java

@@ -6,6 +6,7 @@ import com.zcxk.rmcp.api.dto.BasePageDto;
 import com.zcxk.rmcp.api.dto.device.DeviceDataDto;
 import com.zcxk.rmcp.api.dto.device.DeviceInputDto;
 import com.zcxk.rmcp.api.dto.device.DeviceQueryDto;
+import com.zcxk.rmcp.api.dto.device.ValveDto;
 import com.zcxk.rmcp.api.query.CommonQueryCondition;
 import com.zcxk.rmcp.api.vo.*;
 import com.zcxk.rmcp.core.entity.Device;
@@ -107,12 +108,11 @@ public interface DeviceService{
 
     /*
      * @description 批量开关阀门
-     * @param ids
-     * @param valveStatus
+     * @param dto
      * @return void
      * @author linqingwei
      **/
-    void batchValve(List<Long> ids, Integer valveStatus);
+    void batchValve(ValveDto dto);
 
     /**
      * @description  查询设备信息列表

+ 3 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/impl/CommunityServiceImpl.java

@@ -67,8 +67,10 @@ public class CommunityServiceImpl implements CommunityService {
         community.setCode(code);
         community.setStatus(StatusEnum.OK.getCode());
         community.setTenantId(loginUser.getTenantId());
-        community.setCreateBy(loginUser.getName());
+        community.setCreateBy(loginUser.getUsername());
         community.setCreateDate(LocalDateTime.now());
+        community.setUpdateBy(loginUser.getUsername());
+        community.setUpdateDate(LocalDateTime.now());
         return communityMapper.insertCommunity(community);
     }
 

+ 4 - 3
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/impl/DeviceServiceImpl.java

@@ -18,6 +18,7 @@ import com.zcxk.core.utils.export.EasyExcelUtil;
 import com.zcxk.rmcp.api.dto.BasePageDto;
 import com.zcxk.rmcp.api.dto.device.DeviceInputDto;
 import com.zcxk.rmcp.api.dto.device.DeviceQueryDto;
+import com.zcxk.rmcp.api.dto.device.ValveDto;
 import com.zcxk.rmcp.api.enums.DeviceStatusEnum;
 import com.zcxk.rmcp.api.enums.RmcpErrorEnum;
 import com.zcxk.rmcp.api.enums.ValveStatusEnum;
@@ -139,7 +140,7 @@ public class DeviceServiceImpl implements DeviceService{
 
     @Override
     public void add(DeviceInputDto dto) {
-        log.info("begin DeviceServiceImpl add dto = {}", JSON.toJSON(dto));
+        log.info("begin DeviceServiceImpl add dto = {}", JSON.toJSONString(dto));
         LoginUser user = UserUtil.getCurrentUser();
 
         if (deviceMapper.findByDeviceNoUnique(null, dto.getDeviceNo()) > 0) {
@@ -533,8 +534,8 @@ public class DeviceServiceImpl implements DeviceService{
     }
 
     @Override
-    public void batchValve(List<Long> ids, Integer valveStatus) {
-        log.info("begin batchValve ids:{},valveStatus:{}",ids,valveStatus);
+    public void batchValve(ValveDto dto) {
+        log.info("begin batchValve dto:{}",JSON.toJSON(dto));
         log.info("end batchValve");
     }
 

+ 22 - 0
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/util/Utils.java

@@ -0,0 +1,22 @@
+package com.zcxk.rmcp.web.util;
+
+import java.lang.reflect.Field;
+
+/**
+ * @author linqingwei
+ * @date 2021-08-25 20:01
+ */
+public class Utils {
+    public static boolean checkObjFieldIsNull(Object obj) throws IllegalAccessException {
+
+        boolean flag = true;
+        for(Field f : obj.getClass().getDeclaredFields()){
+            f.setAccessible(true);
+            if(f.get(obj) != null){
+                flag = false;
+                return flag;
+            }
+        }
+        return flag;
+    }
+}

+ 1 - 1
zoniot-rmcp/zoniot-rmcp-web/src/main/resources/application-sit.properties

@@ -4,7 +4,7 @@ logging.level.root=info
 logging.path=./logs
 
 files.path=/app/sit/uims/zoniot-rmcp-web/data
-rmcp.url=http://10.0.0.62:8325
+rmcp.url=http://114.135.61.186:21020
 
 
 # mysql