lihui001 3 anos atrás
pai
commit
174cd82986

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-alarm/src/main/resources/application-dev.properties

@@ -71,9 +71,9 @@ spring.rabbitmq.publisher-confirm-type=correlated
 spring.rabbitmq.publisher-returns=true
 spring.rabbitmq.template.mandatory=true
 
-#mongodb url
+#mongo url
 spring.data.mongodb.uri=mongodb://10.0.0.63:27017/meter-reading-database
-#spring.data.mongodb.uri=mongodb://127.0.0.1:27017/meter-reading-database
+#spring.data.mongo.uri=mongo://127.0.0.1:27017/meter-reading-database
 logging.level.org.springframework.data.mongodb.core=DEBUG
 
 

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-alarm/src/main/resources/application-sit.properties

@@ -71,9 +71,9 @@ spring.rabbitmq.publisher-confirm-type=correlated
 spring.rabbitmq.publisher-returns=true
 spring.rabbitmq.template.mandatory=true
 
-#mongodb url
+#mongo url
 spring.data.mongodb.uri=mongodb://10.0.0.63:27017/meter-reading-database
-#spring.data.mongodb.uri=mongodb://127.0.0.1:27017/meter-reading-database
+#spring.data.mongo.uri=mongo://127.0.0.1:27017/meter-reading-database
 logging.level.org.springframework.data.mongodb.core=DEBUG
 
 

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

@@ -39,4 +39,6 @@ public interface BaseMongoDao {
          }
          return criteria;
      }
+
+
 }

+ 29 - 22
zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/dao/mongo/MeterReadRecordDao.java

@@ -128,30 +128,37 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme
         update.set("data.$.createBy", UserUtil.getCurrentUser().getUsername());
         long total =  upsert(query,update).getModifiedCount();
         if (total > 0 ) {
-            Device device = deviceMapper.findById(deviceId);
-            if (device != null) {
-                LocalDateTime localDateTime = device.getLastReceiveTime();
-                if (localDateTime == null) {
-                    Device deviceUpdate = new Device();
-                    deviceUpdate.setId(deviceId);
-                    deviceUpdate.setReadData(readData.toPlainString());
-                    deviceMapper.updateByPrimaryKeySelective(deviceUpdate);
-                    return total;
-                }
-                String month =  (localDateTime.getMonthValue() +"").length() == 1 ? "0" + localDateTime.getMonthValue() : localDateTime.getMonthValue() +"";
-                String days  =  (localDateTime.getDayOfMonth() +"").length() == 1 ? "0" + localDateTime.getDayOfMonth() : localDateTime.getDayOfMonth() +"";
-                int eqDate   =  Integer.parseInt(localDateTime.getYear() + "" + month + "" + days);
-                if (readDate >= eqDate) {
-                    Device deviceUpdate = new Device();
-                    deviceUpdate.setId(deviceId);
-                    deviceUpdate.setReadData(readData.toPlainString());
-                    deviceMapper.updateByPrimaryKeySelective(deviceUpdate);
-                }
-            }
+            updateDeviceReadData(deviceId, readDate, readData);
         }
         return total;
     }
 
+    private void updateDeviceReadData(long deviceId,  int readDate, BigDecimal readData){
+        Device device = deviceMapper.findById(deviceId);
+        if (device == null) {
+            return;
+        }
+        LocalDateTime localDateTime = device.getLastReceiveTime();
+        if (localDateTime != null) {
+            String month =  (localDateTime.getMonthValue() +"").length() == 1 ? "0" + localDateTime.getMonthValue() : localDateTime.getMonthValue() +"";
+            String days  =  (localDateTime.getDayOfMonth() +"").length() == 1 ? "0" + localDateTime.getDayOfMonth() : localDateTime.getDayOfMonth() +"";
+            int eqDate   =  Integer.parseInt(localDateTime.getYear() + "" + month + "" + days);
+            if (readDate >= eqDate) {
+                Device deviceUpdate = new Device();
+                deviceUpdate.setId(deviceId);
+                deviceUpdate.setReadData(readData.toPlainString());
+                deviceMapper.updateByPrimaryKeySelective(deviceUpdate);
+            }
+        }
+        int nowDate = DateUtil.getDate(new Date());
+        if (readDate >= nowDate) {
+            Device deviceUpdate = new Device();
+            deviceUpdate.setId(deviceId);
+            deviceUpdate.setReadData(readData.toPlainString());
+            deviceMapper.updateByPrimaryKeySelective(deviceUpdate);
+        }
+    }
+
     /**
     * @author Andy
     * @description 查询集合
@@ -314,7 +321,7 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme
      * @description 查询条件
      * @date 10:37 2021/7/23
      * @param dto, query
-     * @return java.util.List<org.springframework.data.mongodb.core.aggregation.AggregationOperation>
+     * @return java.util.List<org.springframework.data.mongo.core.aggregation.AggregationOperation>
      **/
     private List<AggregationOperation> queryCondition(MeterReadRecordDto dto, UserCondition userCondition){
         LocalDate localDate;
@@ -378,7 +385,7 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme
      * @description 分组查询
      * @date 18:36 2021/7/27
      * @param year, beginDate, endDate, groupOperation
-     * @return java.util.List<org.springframework.data.mongodb.core.aggregation.AggregationOperation>
+     * @return java.util.List<org.springframework.data.mongo.core.aggregation.AggregationOperation>
      **/
     private List<AggregationOperation> groupCondition(int year, int readDateBeginDate, int readDateEndDate, GroupOperation groupOperation){
         Criteria unwindCriteria;

+ 34 - 2
zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/entity/MeterReadWaterRecord.java

@@ -1,6 +1,5 @@
 package com.zcxk.rmcp.core.entity;
 
-import com.zcxk.core.mysql.base.BaseDO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -16,7 +15,9 @@ import java.util.Date;
  **/
 @ApiModel(value="用水记录")
 @Data
-public class MeterReadWaterRecord extends BaseDO {
+public class MeterReadWaterRecord {
+
+    private Long id;
 
     @ApiModelProperty(value="统计日期")
     private Integer statDay;
@@ -40,4 +41,35 @@ public class MeterReadWaterRecord extends BaseDO {
     private BigDecimal waterConsumption;
 
 
+    /**
+     * 创建时间
+     **/
+    private Date createTime;
+
+    /**
+     * 创建人名称
+     **/
+    private String creatorName;
+
+    /**
+     * 创建人Id
+     **/
+    private String creatorId;
+
+    /**
+     * 修改人Id
+     **/
+    private String modifierId;
+
+    /**
+     * 修改人名称
+     **/
+    private String modifierName;
+
+    /**
+     * 修改时间
+     **/
+    private Date updateTime;
+
+
 }

+ 2 - 1
zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/mapper/CommunityMapper.xml

@@ -29,7 +29,8 @@
   </sql>
 
   <sql id="permissionCondition">
-    <if test="condition.tenantId != null">and sc.tenant_id = #{condition.tenantId}</if>
+    <if test="condition.tenantId != null">and sc.
+     = #{condition.tenantId}</if>
     <if test="condition.userType!=null and condition.userType!=-999 and condition.userType!=-9999 and  condition.programItems != null and condition.programItems.size() > 0">
       <if test="condition.permissionType == 5 or condition.permissionType == 2">
         and ( sc.dept_org_id in

+ 1 - 20
zoniot-rmcp/zoniot-rmcp-core/src/main/java/com/zcxk/rmcp/core/mongo/MeterReadRecord.java

@@ -20,27 +20,17 @@ import java.util.List;
 @Data
 @Document(collection = "rmcp_meter_read_record")
 @ToString
-public class MeterReadRecord  {
-    private Long id;
+public class MeterReadRecord extends BaseDO {
 
     @ApiModelProperty(value="年")
     private Integer year;
 
-    @ApiModelProperty(value="租户")
-    private String tenantId;
-
     @ApiModelProperty(value="分类")
     private Integer categoryId;
 
-    @ApiModelProperty(value="公司ID")
-    private Integer companyOrgId;
-
     @ApiModelProperty(value="公司名字")
     private String companyOrgName;
 
-    @ApiModelProperty(value="部门Id")
-    private Integer deptOrgId;
-
     @ApiModelProperty(value="部门名字")
     private String deptOrgName;
 
@@ -86,15 +76,6 @@ public class MeterReadRecord  {
     @ApiModelProperty(value="档案号")
     private String fileNo;
 
-    @ApiModelProperty(value="创建时间")
-    private Date createTime;
-
-    @ApiModelProperty(value="创建人名称")
-    private String creatorName;
-
-    @ApiModelProperty(value="修改时间")
-    private Date updateTime;
-
     @ApiModelProperty(value="抄表数据")
     private List<MeterReadInfo> data;
 

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-dap/src/main/resources/application-dev.properties

@@ -71,9 +71,9 @@ spring.rabbitmq.publisher-confirm-type=correlated
 spring.rabbitmq.publisher-returns=true
 spring.rabbitmq.template.mandatory=true
 
-#mongodb url
+#mongo url
 spring.data.mongodb.uri=mongodb://10.0.0.63:27017/meter-reading-database
-#spring.data.mongodb.uri=mongodb://127.0.0.1:27017/meter-reading-database
+#spring.data.mongo.uri=mongo://127.0.0.1:27017/meter-reading-database
 logging.level.org.springframework.data.mongodb.core=DEBUG
 
 

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-dap/src/main/resources/application-sit.properties

@@ -71,9 +71,9 @@ spring.rabbitmq.publisher-confirm-type=correlated
 spring.rabbitmq.publisher-returns=true
 spring.rabbitmq.template.mandatory=true
 
-#mongodb url
+#mongo url
 spring.data.mongodb.uri=mongodb://10.0.0.63:27017/meter-reading-database
-#spring.data.mongodb.uri=mongodb://127.0.0.1:27017/meter-reading-database
+#spring.data.mongo.uri=mongo://127.0.0.1:27017/meter-reading-database
 logging.level.org.springframework.data.mongodb.core=DEBUG
 
 

+ 6 - 3
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/service/impl/MeterReadRecordServiceImpl.java

@@ -66,7 +66,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
         if (readRecordVo == null) {
             throw BusinessException.builder(RmcpErrorEnum.RMCP_NOT_FOUND);
         }
-        if (readRecordVo.getData().getReadStatus().equals(ReadStatusEnum.READ.getMessage())) {
+        if (ReadStatusEnum.READ.getMessage().equals(readRecordVo.getData().getReadStatus())) {
             throw BusinessException.builder(RmcpErrorEnum.RMCP_UPDATE_FAIL.getStatus(), "该设备已抄表,不能再更新读数。");
         }
         // 上一次读数
@@ -80,7 +80,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
             if (prevVo != null &&prevVo.getData().getReadData() != null) {
                 prevReadData = prevVo.getData().getReadData();
             }
-            // 当前读数 - 上一次读数 = 当前用水量
+            // 当前用水量 = 当前读数 - 上一次读数
             lastCost  = BigDecimalUtils.subtract(dto.getReadData(), prevReadData);
         }
         long total = meterReadRecordDao.updateReadData(dto.getId(), readRecordVo.getDeviceId(), queryDate, dto.getReadData(), lastCost);
@@ -133,7 +133,10 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
     * @return com.zcxk.rmcp.api.vo.MeterReadRecordVo
     **/
     private MeterReadRecordVo findPrevRecord(Long id, Integer currentDate){
-        return meterReadRecordDao.findMeterReadRecord(id, Criteria.where("data.readDate").lt(currentDate) ,"data.readDate", Sort.Direction.DESC);
+        Criteria criteria = new Criteria();
+        criteria.and("data.readDate").lt(currentDate);
+        criteria.and("data.readStatus").is(ReadStatusEnum.READ.getCode());
+        return meterReadRecordDao.findMeterReadRecord(id, criteria ,"data.readDate", Sort.Direction.DESC);
     }
 
     /**

+ 2 - 2
zoniot-rmcp/zoniot-rmcp-web/src/main/resources/application-dev.properties

@@ -82,9 +82,9 @@ spring.rabbitmq.publisher-confirm-type=correlated
 spring.rabbitmq.publisher-returns=true
 spring.rabbitmq.template.mandatory=true
 
-#mongodb url
+#mongo url
 spring.data.mongodb.uri=mongodb://10.0.0.63:27017/meter-reading-database
-#spring.data.mongodb.uri=mongodb://127.0.0.1:27017/meter-reading-database
+#spring.data.mongo.uri=mongo://127.0.0.1:27017/meter-reading-database
 logging.level.org.springframework.data.mongodb.core=DEBUG
 receive.exchange.name=messageExchangeTest
 dispath.routing.key=dipathKeyTest1

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

@@ -92,7 +92,7 @@ iot.device.routing.key=iot_device_key_dev
 iot.delete.device.routing.key=iot_device_delete_key_dev
 
 iot.delete.device.queue=iot_device_delete_queue
-#mongodb url
+#mongo url
 spring.data.mongodb.uri=mongodb://10.0.0.63:27017/meter-reading-database
 logging.level.org.springframework.data.mongodb.core=DEBUG
 

+ 1 - 1
zoniot-rmcp/zoniot-xxljob-client/src/main/resources/application-dev.properties

@@ -47,7 +47,7 @@ mybatis.configuration.use-column-label=true
 
 spring.jackson.time-zone=GMT+8
 
-#mongodb url
+#mongo url
 spring.data.mongodb.uri=mongodb://10.0.0.63:27017/meter-reading-database
 logging.level.org.springframework.data.mongodb.core=DEBUG
 

+ 2 - 2
zoniot-rmcp/zoniot-xxljob-client/src/main/resources/application-sit.properties

@@ -47,9 +47,9 @@ mybatis.configuration.use-column-label=true
 
 spring.jackson.time-zone=GMT+8
 
-#mongodb url
+#mongo url
 spring.data.mongodb.uri=mongodb://10.0.0.63:27017/meter-reading-database
-#logging.level.org.springframework.data.mongodb.core=DEBUG
+#logging.level.org.springframework.data.mongo.core=DEBUG
 
 # redis
 spring.redis.host=10.0.0.63