Browse Source

水量分析审核上报,制水成本日期查询

ch 2 years ago
parent
commit
9d245fb95f
21 changed files with 417 additions and 111 deletions
  1. 39 5
      xrtyGis/src/main/java/com/tofly/xrtygis/controller/CostrlwaterController.java
  2. 1 1
      xrtyGis/src/main/java/com/tofly/xrtygis/custom/service/CustomScadaAboutService.java
  3. 20 14
      xrtyGis/src/main/java/com/tofly/xrtygis/custom/service/impl/CustomScadaAboutServiceImpl.java
  4. 31 24
      xrtyMeter/src/main/java/com/tofly/watermeter/custom/controller/meterRead/ReadController.java
  5. 5 3
      xrtyMeter/src/main/java/com/tofly/watermeter/custom/service/ReadMeterService.java
  6. 6 6
      xrtyMeter/src/main/java/com/tofly/watermeter/custom/service/impl/QualityStatisServiceImpl.java
  7. 176 2
      xrtyMeter/src/main/java/com/tofly/watermeter/custom/service/impl/ReadMeterServiceImpl.java
  8. 7 0
      xrtyMeter/src/main/java/com/tofly/watermeter/entity/Readmetereashis.java
  9. 2 0
      xrtyMeter/src/main/java/com/tofly/watermeter/mapper/ReadmeterhisMapper.java
  10. 2 4
      xrtyMeter/src/main/java/com/tofly/watermeter/service/ReadmeterhisService.java
  11. 7 1
      xrtyMeter/src/main/java/com/tofly/watermeter/service/impl/ReadmetereashisServiceImpl.java
  12. 10 5
      xrtyMeter/src/main/java/com/tofly/watermeter/service/impl/ReadmeterhisServiceImpl.java
  13. 2 2
      xrtyMeter/src/main/resources/mapper/ReadmeterMapper.xml
  14. 3 0
      xrtyMeter/src/main/resources/mapper/ReadmetereashisMapper.xml
  15. 10 0
      xrtyMeter/src/main/resources/mapper/ReadmeterhisMapper.xml
  16. 6 7
      xrtyMis/mis-api/src/main/java/com/tofly/pojo/Gdglinfo.java
  17. 53 12
      xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/custom/service/impl/GdglinfoServiceImpl.java
  18. 2 0
      xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/entity/Gdglinfo.java
  19. 1 0
      xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/mapper/GdglinfoMapper.java
  20. 1 1
      xrtyMis/mis-boot/src/main/resources/bootstrap.yml
  21. 33 24
      xrtyMis/mis-boot/src/main/resources/mapper/GdglinfoMapper.xml

+ 39 - 5
xrtyGis/src/main/java/com/tofly/xrtygis/controller/CostrlwaterController.java

@@ -4,19 +4,53 @@
  */
 package com.tofly.xrtygis.controller;
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.tofly.common.core.entity.ResultRespone;
+import com.tofly.common.oauth.exception.ToflyDeniedException;
+import com.tofly.xrtygis.entity.Costrlwater;
+import com.tofly.xrtygis.service.CostrlwaterService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
 /**
  * 实际制水指标填报信息表
  *
  * @author admin
  * @date Wed Mar 10 00:00:00 CST 2021
  */
-//@RestController
-//@AllArgsConstructor
-//@RequestMapping("/costrlwater")
-//@Api(tags="实际制水指标填报信息表接口")
+@RestController
+@AllArgsConstructor
+@RequestMapping("/costrlwater")
+@Api(tags = "实际制水指标填报信息表接口")
 public class CostrlwaterController {
 
-//    private final  CostrlwaterService costrlwaterService;
+    private final CostrlwaterService costrlwaterService;
+
+
+    @GetMapping("/getOne")
+    @ApiOperation("日期查询单条记录")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "date", value = "日期 yyyy-MM-dd", required = true, dataType = "string"),
+            @ApiImplicitParam(name = "mark", value = "0,非财务填报,1,财务填报", required = true, dataType = "string")
+    })
+
+    public ResultRespone getOne(String date, String mark) {
+        if (StringUtils.isEmpty(date)) {
+            throw new ToflyDeniedException("传入日期不能为空");
+        }
+        Date parse = DateUtil.parse(date, "yyyy-MM-dd");
+        return ResultRespone.success(costrlwaterService.getOne(Wrappers.<Costrlwater>lambdaQuery().eq(Costrlwater::getUpDate, parse).eq(Costrlwater::getMark, mark)));
+    }
 //
 //    /**
 //    * 分页查询

+ 1 - 1
xrtyGis/src/main/java/com/tofly/xrtygis/custom/service/CustomScadaAboutService.java

@@ -186,7 +186,7 @@ public interface CustomScadaAboutService {
      */
     Map<String,Map<String, Object>> trendAnalys(String itcd, String start, String end, Double time, String itid);
 
-    Map commonCode(String index,Double up,Double down,Double time,Double sumTime,Map<String, List<Map<String, Object>>> itcdGroupMap);
+    Map commonCode(String index,Double up,Double down,Double time,Double sumTime,Map<String, List<Map<String, Object>>> itcdGroupMap,Double anomaly);
 
     /**
      * 获取指标历史

+ 20 - 14
xrtyGis/src/main/java/com/tofly/xrtygis/custom/service/impl/CustomScadaAboutServiceImpl.java

@@ -547,12 +547,11 @@ public class CustomScadaAboutServiceImpl implements CustomScadaAboutService {
         //查询所有指标信息
         List<Map<String, Object>> itvalHistoryAll = customDisplayMapper.getItvalHistoryAll(itcdList, start, end, itidList);
 
-//        List<Map<String, Object>> itvalHistory = customDisplayMapper.getItvalHistory(itcdList, start, end, itidList, scadaIndexBean.getOutlier());
         if (!itvalHistoryAll.isEmpty()) {
-            //过滤排除异常值
-//            List<Map<String, Object>> itvalHistory = itvalHistoryAll.stream().filter(m -> !m.get("itval").toString().contains("9999")).collect(Collectors.toList());
             //总时长
-            Double sumTime = calAbnormalTime(itvalHistoryAll);
+            Map<String, Double> timeMap = calAbnormalTime(itvalHistoryAll);
+            Double sumTime = timeMap.get("sumTime");
+            Double anomaly = timeMap.get("anomaly");
             //根据指标编号进行分组
             Map<String, List<Map<String, Object>>> itcdGroupMap = itvalHistoryAll.stream().collect(Collectors.groupingBy(m -> m.get("itcd").toString()));
 
@@ -577,7 +576,7 @@ public class CustomScadaAboutServiceImpl implements CustomScadaAboutService {
                         qualifiedDown = scadastaitem.getDownLimit();
                     }
 
-                    Map qualifiedMap = this.commonCode(index, qualifiedUp, qualifiedDown, time, sumTime, itcdGroupMap);
+                    Map qualifiedMap = this.commonCode(index, qualifiedUp, qualifiedDown, time, sumTime, itcdGroupMap,anomaly);
                     map.put("sumTime", sumTime);
                     map.put("limitRete", (qualifiedMap != null && !qualifiedMap.isEmpty()) ? Double.valueOf(qualifiedMap.get("rate").toString()) : null);
                     map.put("limitNum", (qualifiedMap != null && !qualifiedMap.isEmpty()) ? Double.valueOf(qualifiedMap.get("outNum").toString()) : null);
@@ -588,8 +587,9 @@ public class CustomScadaAboutServiceImpl implements CustomScadaAboutService {
                     Double highGradeUp = null;
                     Double highGradeDown = null;
 
-                    if (!StringUtils.isEmpty(scadastaitem.getQualityStandard()) && !",".equals(scadastaitem.getQualityStandard())) {
-                        String[] split = scadastaitem.getQualityStandard().trim().split(",");
+                    String qualityStandard = scadastaitem.getQualityStandard();
+                    if (!StringUtils.isEmpty(qualityStandard) && !",".equals(qualityStandard)) {
+                        String[] split = qualityStandard.trim().split(",");
                         if (split.length == 1 && !StringUtils.isEmpty(split[0])) {
                             highGradeDown = Double.valueOf(split[0]);
                             highGradeUp = Double.MAX_VALUE;
@@ -601,7 +601,7 @@ public class CustomScadaAboutServiceImpl implements CustomScadaAboutService {
                             highGradeUp = Double.valueOf(split[1]);
                         }
                     }
-                    Map highGradeMap = this.commonCode(index, highGradeUp, highGradeDown, time, sumTime, itcdGroupMap);
+                    Map highGradeMap = this.commonCode(index, highGradeUp, highGradeDown, time, sumTime, itcdGroupMap,anomaly);
                     map.put("qualityRete", (highGradeMap != null && !highGradeMap.isEmpty()) ? Double.valueOf(highGradeMap.get("rate").toString()) : null);
                     map.put("qualityNum", (highGradeMap != null && !highGradeMap.isEmpty()) ? Double.valueOf(highGradeMap.get("outNum").toString()) : null);
                     map.put("qualityTimeOut", (highGradeMap != null && !highGradeMap.isEmpty()) ? Double.valueOf(highGradeMap.get("timeOut").toString()) : null);
@@ -616,7 +616,7 @@ public class CustomScadaAboutServiceImpl implements CustomScadaAboutService {
 
 
     @Override
-    public Map commonCode(String index, Double up, Double down, Double time, Double sumTime, Map<String, List<Map<String, Object>>> itcdGroupMap) {
+    public Map commonCode(String index, Double up, Double down, Double time, Double sumTime, Map<String, List<Map<String, Object>>> itcdGroupMap, Double anomaly) {
         Map<String, Object> map = new HashMap<>();
         if (up != null && down != null) {
             if (itcdGroupMap.containsKey(index)) {
@@ -641,9 +641,11 @@ public class CustomScadaAboutServiceImpl implements CustomScadaAboutService {
 
                 for (int i = 0; i < size; i++) {
                     Map<String, Object> itValmap = itValueList.get(i);
-                    if (itValmap.get("itval").toString().contains("9999")) {
+
+                    //特殊值跳过不参与计算
+/*`1                    if (itValmap.get("itval").toString().contains("9999")) {
                         continue;
-                    }
+                    }*/
                     //指标值
                     double itval = Double.parseDouble(itValmap.get("itval").toString());
                     //时间
@@ -885,14 +887,14 @@ public class CustomScadaAboutServiceImpl implements CustomScadaAboutService {
         return map;
     }
 
-    private Double calAbnormalTime(List<Map<String, Object>> historyList) {
+    private Map<String, Double> calAbnormalTime(List<Map<String, Object>> historyList) {
         //异常开始结束时间
         Date start = null;
         Date end = null;
         //是否异常
         boolean flag = false;
 
-        String outlier = scadaIndexBean.getOutlier();
+        String outlier = "9999";
 
         double sumTime = 0D;
 
@@ -934,6 +936,10 @@ public class CustomScadaAboutServiceImpl implements CustomScadaAboutService {
             }
         }
         double sum = (double) (cn.hutool.core.date.DateUtil.parse(historyList.get(size).get("scadaTime").toString(), "yyyy-MM-dd HH:mm:ss").getTime() - cn.hutool.core.date.DateUtil.parse(historyList.get(0).get("scadaTime").toString(), "yyyy-MM-dd HH:mm:ss").getTime()) / 1000 / 60 / 60;
-        return sum - sumTime;
+
+        Map<String, Double> result = new HashMap<>();
+        result.put("sumTime", sum - sumTime);
+        result.put("anomaly", sumTime);
+        return result;
     }
 }

+ 31 - 24
xrtyMeter/src/main/java/com/tofly/watermeter/custom/controller/meterRead/ReadController.java

@@ -1,33 +1,21 @@
 package com.tofly.watermeter.custom.controller.meterRead;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.tofly.common.core.entity.ResultRespone;
-import com.tofly.pojo.Syschildcode;
 import com.tofly.watermeter.custom.entity.meterRead.AuditQuality;
-import com.tofly.watermeter.custom.entity.meterRead.ReadRecord;
 import com.tofly.watermeter.custom.entity.meterRead.ReadSearch;
 import com.tofly.watermeter.custom.entity.meterRead.readstatic.AuditMap;
 import com.tofly.watermeter.custom.service.ReadDataCheckService;
-import com.tofly.watermeter.custom.service.ReadDataCheckThreeService;
 import com.tofly.watermeter.custom.service.ReadMeterService;
-import com.tofly.watermeter.entity.Qfcbqfmx;
-import com.tofly.watermeter.entity.Readmeterhis;
-import com.tofly.watermeter.entity.Yhbingqy;
-import com.tofly.watermeter.entity.Yhforeverinfo;
-import com.tofly.watermeter.service.YhbingqyService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.validation.Valid;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -66,53 +54,66 @@ public class ReadController {
         String endTime = search.getEndTime();
         String isGeneral = search.getIsGeneral();
         String isCollect = search.getIsCollect();
-        return ResultRespone.success(meterService.getReadHistory(page, yhbh , startTime , endTime , isGeneral , isCollect));
+        return ResultRespone.success(meterService.getReadHistory(page, yhbh, startTime, endTime, isGeneral, isCollect));
     }
 
 
-
     @GetMapping("/getStatisAudit")
     @ApiOperation(value = "抄表审核--异常汇总数据")
-    public ResultRespone getStatisAudit(String yearMonth , String isGeneral) {
-        return ResultRespone.success(meterService.getStatisAudit(yearMonth , isGeneral));
+    public ResultRespone getStatisAudit(String yearMonth, String isGeneral) {
+        return ResultRespone.success(meterService.getStatisAudit(yearMonth, isGeneral));
     }
 
 
     @GetMapping("/getAudit")
     @ApiOperation(value = "抄表审核数据查看")
-    public ResultRespone<IPage<AuditMap>> getAuditCbData(Page page , ReadSearch search) {
-        return ResultRespone.success(meterService.getAuditCbData(page , search ));
+    public ResultRespone<IPage<AuditMap>> getAuditCbData(Page page, ReadSearch search) {
+        return ResultRespone.success(meterService.getAuditCbData(page, search));
     }
 
-//@RequestPart @Valid AuditQuality auditQuality , @RequestPart(value = "fileList", required = false) List<MultipartFile> fileList
+    //@RequestPart @Valid AuditQuality auditQuality , @RequestPart(value = "fileList", required = false) List<MultipartFile> fileList
     @PostMapping("/audit")
     @ApiOperation(value = "抄表数据审核(通过、不通过)")
     public ResultRespone auditCbData(@RequestBody AuditQuality auditQuality) {
-        return meterService.auditCbData(auditQuality , null);
+        return meterService.auditCbData(auditQuality, null);
+    }
+
+    @PostMapping("/auditYc")
+    @ApiOperation(value = "抄表数据审核(通过、不通过)")
+    public ResultRespone auditYcbData(@RequestBody AuditQuality auditQuality) {
+        return meterService.auditYcbData(auditQuality, null);
     }
 
     /**
      * 这个接口与上面的是一模一样的,只不过前端的传参修改很麻烦
+     *
      * @param auditQuality
      * @return
      */
     @PostMapping("/auditRedDeploy")
     @ApiOperation(value = "抄表数据审核(转工单)")
-    public ResultRespone auditCbDataRedDeploy(AuditQuality auditQuality ,  List<MultipartFile> fileList) {
-        return meterService.auditCbData(auditQuality , fileList);
+    public ResultRespone auditCbDataRedDeploy(AuditQuality auditQuality, List<MultipartFile> fileList) {
+        return meterService.auditCbData(auditQuality, fileList);
+    }
+
+    @PostMapping("/auditRedDeployYc")
+    @ApiOperation(value = "抄表数据审核(转工单)")
+    public ResultRespone auditYcbDataRedDeploy(AuditQuality auditQuality, List<MultipartFile> fileList) {
+        return meterService.auditYcbData(auditQuality, fileList);
     }
 
 
     @GetMapping("/getSbByRFID")
     @ApiOperation(value = "APP根据RFID查询水表信息")
-    public ResultRespone getSbByRFID(String rfid){
-        return ResultRespone.success(meterService.getSbByRFID( rfid ));
+    public ResultRespone getSbByRFID(String rfid) {
+        return ResultRespone.success(meterService.getSbByRFID(rfid));
     }
 
 
     /**
      * 生成抄表
      * 抄表数据;每月27号凌晨4
+     *
      * @return
      */
     @ApiOperation(value = "手动获取森鑫炬抄表数据,之后改在每月27日")
@@ -124,6 +125,7 @@ public class ReadController {
     /**
      * 生成抄表
      * 抄表数据;每月27号凌晨4点重写
+     *
      * @return
      */
     @ApiOperation(value = "手动获取森鑫炬抄表数据,之后改在每月27日重写")
@@ -135,6 +137,7 @@ public class ReadController {
 
     /**
      * 获取抄表历史数据
+     *
      * @return
      */
     @ApiOperation(value = "手动获取森鑫炬抄表历史数据,之后改在每月27日")
@@ -146,6 +149,7 @@ public class ReadController {
     /**
      * 获取用水性质
      * 用水性质;每月27号凌晨1点,与上面的时间隔开
+     *
      * @return
      */
     @ApiOperation(value = "手动获取森鑫炬用水性质数据,之后改在每月27日")
@@ -153,9 +157,11 @@ public class ReadController {
     public ResultRespone generateWaterNature() {
         return ResultRespone.success(meterService.generateWaterNature());
     }
+
     /**
      * 获取用水细分性质
      * 用水性质;每月27号凌晨2点,与上面的时间隔开
+     *
      * @return
      */
     @ApiOperation(value = "手动获取森鑫炬用水细分性质数据,之后改在每月27日")
@@ -163,6 +169,7 @@ public class ReadController {
     public ResultRespone generateWaterXFNature() {
         return ResultRespone.success(meterService.generateWaterXFNature());
     }
+
     @ApiOperation(value = "手动获取森鑫炬客户信息,之后改在每月27日")
     @GetMapping("/genClientInfo")
     public ResultRespone genClientInfo() {

+ 5 - 3
xrtyMeter/src/main/java/com/tofly/watermeter/custom/service/ReadMeterService.java

@@ -4,14 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.tofly.common.core.entity.ResultRespone;
 import com.tofly.watermeter.custom.dto.SupplyYhYfDto;
-import com.tofly.watermeter.custom.entity.meterRead.AppRead;
 import com.tofly.watermeter.custom.entity.meterRead.AuditQuality;
 import com.tofly.watermeter.custom.entity.meterRead.ReadSearch;
 import com.tofly.watermeter.entity.Bwrksbdatail;
-import com.tofly.watermeter.entity.Qfcbqfmxls;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -29,7 +26,12 @@ public interface ReadMeterService{
 
     IPage getAuditCbData(Page page, ReadSearch search);
 
+    /**
+     * 卡表、机械表
+     * @return ResultRespone
+     */
     ResultRespone auditCbData(AuditQuality auditQuality , List<MultipartFile> fileList);
+    ResultRespone auditYcbData(AuditQuality auditQuality , List<MultipartFile> fileList);
 
     Bwrksbdatail getSbByRFID(String rfid);
 

+ 6 - 6
xrtyMeter/src/main/java/com/tofly/watermeter/custom/service/impl/QualityStatisServiceImpl.java

@@ -152,11 +152,13 @@ public class QualityStatisServiceImpl implements QualityStatisService {
 
     @Override
     public List<QualityResult> analyzeCollect(QualityStatis qualityStatis, HttpServletResponse response) {
+        if (StringUtils.isEmpty(qualityStatis.getIsGeneral())){
+            throw new ToflyDeniedException("查询类型不能为空");
+        }
         String template = qualityStatis.getTemplateFlag();
         String qybm = qualityStatis.getCbqy();
         List<String> qybmList = null;
-        String isGeneral = "1".equals(qualityStatis.getIsGeneral()) ? "1" : "0";
-        qualityStatis.setIsGeneral(isGeneral);
+        qualityStatis.setIsGeneral(qualityStatis.getIsGeneral());
         if (StringUtil.isNotEmpty(qybm)) {
             qybmList = Arrays.asList(qybm.split(","));
         }
@@ -168,8 +170,7 @@ public class QualityStatisServiceImpl implements QualityStatisService {
     public List<QualityResult> analyzeAbnromal(QualityStatis qualityStatis, HttpServletResponse response) {
         String qybm = qualityStatis.getCbqy();
         List<String> qybmList = null;
-        String isGeneral = "1".equals(qualityStatis.getIsGeneral()) ? "1" : "0";
-        qualityStatis.setIsGeneral(isGeneral);
+        qualityStatis.setIsGeneral(qualityStatis.getIsGeneral());
         if (StringUtil.isNotEmpty(qybm)) {
             qybmList = Arrays.asList(qybm.split(","));
         }
@@ -183,8 +184,7 @@ public class QualityStatisServiceImpl implements QualityStatisService {
         String qybm = qualityStatis.getCbqy();
         String cbqydbm = qualityStatis.getCbqyd();
         String abnormal = qualityStatis.getAbnormal();
-        String isGeneral = "1".equals(qualityStatis.getIsGeneral()) ? "1" : "0";
-        qualityStatis.setIsGeneral(isGeneral);
+        qualityStatis.setIsGeneral(qualityStatis.getIsGeneral());
         //异常类型ID集合
         List<String> abnormalList = null;
         if (StringUtil.isNotEmpty(abnormal)) {

+ 176 - 2
xrtyMeter/src/main/java/com/tofly/watermeter/custom/service/impl/ReadMeterServiceImpl.java

@@ -66,6 +66,7 @@ public class ReadMeterServiceImpl implements ReadMeterService {
     private final WebSBservice webSBservice;
     private final ReadmeterService readmeterService;
     private final ReadmeterhisService readmeterhisService;
+    private final ReadmetereashisService readmetereashisService;
     private final GdglinfoClient gdglinfoClient;
 
     private final RedisTemplate redisTemplate;
@@ -196,13 +197,13 @@ public class ReadMeterServiceImpl implements ReadMeterService {
                 } else {
                     xlss.add(qfcbqfmxls);
                 }
-                if (qfcbqfmxls.getBcds() != xls.getBcds()) {
+                if (!qfcbqfmxls.getBcds().equals(xls.getBcds())) {
                     if (qfcbqfmxls.getBcds() > xls.getBcds() && xls.getScds() != 0) {
                         xls.setBcds(qfcbqfmxls.getBcds());
                     }
                 }
                 //根据水表类型判断 水量应该怎样处理 起度、止度
-                if (qfcbqfmxls.getScds() != xls.getScds()) {
+                if (!qfcbqfmxls.getScds().equals(xls.getScds())) {
                     if (qfcbqfmxls.getScds() < xls.getScds() || xls.getScds() == 0) {
                         xls.setScds(qfcbqfmxls.getScds());
                     }
@@ -982,6 +983,179 @@ public class ReadMeterServiceImpl implements ReadMeterService {
         return ResultRespone.success(true);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public ResultRespone auditYcbData(AuditQuality auditQuality, List<MultipartFile> fileList) {
+        Date cbrq = auditQuality.getCbrq();
+        String auditRsult = auditQuality.getAuditResult();
+        String yhbh = auditQuality.getYhbh();
+
+        String soleSign = auditQuality.getSoleSign();
+        String auditReason = auditQuality.getAuditPassReson();
+        StringBuilder fileIds = new StringBuilder();
+        if (fileList != null && !fileList.isEmpty()) {
+            //保存照片
+            fileList.forEach(file -> {
+                //文件名
+                String fileName = file.getOriginalFilename();
+                if (!"".equals(fileName)) {
+                    //文件路径
+                    assert fileName != null;
+                    String filePath = "/xrty/slfxsb/" + IdWorker.getIdStr() + fileName.substring(fileName.lastIndexOf("."));
+                    FtpUtil.uploadFile2Ftp(file, filePath);
+                    File localFile = new File();
+                    localFile.setFilePath(filePath);
+                    localFile.setFileName(fileName);
+                    localFile.setOtherName(IdWorker.getIdStr() + fileName.substring(fileName.lastIndexOf(".")));
+                    //关联表名称
+                    localFile.setTableName(TABLE_NAME);
+                    //获取后缀
+                    String suffix = fileName.substring(fileName.lastIndexOf("."));
+                    localFile.setFileFormat(suffix);
+                    localFile.setFileSize(file.getSize() + "KB");
+                    fileService.save(localFile);
+                    //获得文件ID
+                    fileIds.append(localFile.getId()).append(",");
+                }
+            });
+        }
+        //质检实体参数
+//        CertificationOrderDto certificationOrderDto = auditQuality.getCertificationOrderDto();
+        //业务工单实体参数
+        GdglinfoExtendDto gdglinfoExtendDto = auditQuality.getGdglinfoExtendDto();
+        Long auditUser = SecurityUtils.getUserId();
+        if (StringUtil.isEmpty(soleSign)) {
+            throw new ToflyDeniedException("请传递用户唯一标识");
+        }
+        //人工确认通过
+        if ("0".equals(auditRsult)) {
+            Readmetereashis readmeterhisServiceOne = readmetereashisService.getOne(Wrappers.<Readmetereashis>lambdaQuery()
+                    .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
+                    .select(Readmetereashis::getYhbh, Readmetereashis::getQualityCount, Readmetereashis::getShbz));
+            String shbz = readmeterhisServiceOne.getShbz();
+            if ("2".equals(shbz) || "3".equals(shbz)) {
+                throw new ToflyDeniedException("已转工单");
+            }
+            //修改抄表历史数据表中的抄表数据;根据用户编号和抄表日期找到唯一抄表历史数据
+            readmetereashisService.update(Wrappers.<Readmetereashis>lambdaUpdate()
+                    .eq(Readmetereashis::getYhbh, yhbh)
+                    .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
+                    .set(StringUtil.isNotEmpty(auditReason), Readmetereashis::getAuditPassReson, auditReason)
+                    .set(Readmetereashis::getAuditUser, auditUser)
+                    .set(Readmetereashis::getShbz, "1")
+                    .set(Readmetereashis::getAuditTime, Date8Util.getCurrentDate()));
+        }
+
+        //转质检工单     2022年1月26日16:30:53备注:又改成转业务工单
+        else if ("1".equals(auditRsult)) {
+            Readmetereashis readmeterhisServiceOne = readmetereashisService.getOne(Wrappers.<Readmetereashis>lambdaQuery()
+                    .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign));
+            String shbz = readmeterhisServiceOne.getShbz();
+            if ("1".equals(shbz)) {
+                throw new ToflyDeniedException("已人工审核通过");
+            }
+            int qualityCount = 1;
+            //查询上一次质检次数,因为质检次数统计的是所有,用户的所有质检次数
+            Readmetereashis readmeterhis = readmetereashisService.getOne(Wrappers.<Readmetereashis>lambdaQuery()
+                    .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
+                    .isNotNull(Readmetereashis::getQualityCount)
+                    .apply("ROWNUM = 1").orderByDesc(Readmetereashis::getQualityCount)
+                    .select(Readmetereashis::getYhbh, Readmetereashis::getQualityCount));
+            if (StringUtil.isNotNull(readmeterhis) && StringUtil.isNotNull(readmeterhis.getQualityCount())) {
+                //转质检的次数
+                qualityCount = qualityCount + readmeterhis.getQualityCount();
+            }
+            //业务工单
+            if (StringUtil.isNotNull(gdglinfoExtendDto)) {
+                gdglinfoExtendDto.setIsCb("1");
+                gdglinfoExtendDto.setIsGeneral("2");
+                gdglinfoExtendDto.setSoleSign(readmeterhisServiceOne.getSoleSign());
+                gdglinfoExtendDto.setGddjFileid(fileIds.length() != 0 ? fileIds.toString() : null);
+                String str = JSONObject.toJSONString(gdglinfoExtendDto);
+                ResultRespone resultRespone = gdglinfoClient.saveGdglInfoMeter(str);
+                if (resultRespone.getCode() == 1) {
+                    String gdid = resultRespone.getResult().toString();
+                    boolean updateFlag = readmetereashisService.update(Wrappers.<Readmetereashis>lambdaUpdate()
+                            .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
+                            .set(StringUtil.isNotEmpty(auditReason), Readmetereashis::getAuditPassReson, auditReason)
+                            .set(Readmetereashis::getShbz, "2").set(Readmetereashis::getGdId, gdid)
+                            .set(Readmetereashis::getQualityCount, qualityCount));
+                    if (updateFlag) {
+                        return ResultRespone.success(true, "成功");
+                    } else {
+                        return ResultRespone.failed(false, "转工单失败");
+                    }
+                } else {
+                    throw new ToflyDeniedException("转工单失败");
+                }
+            }
+        }
+        //取消确认通过
+        else if ("2".equals(auditRsult)) {
+            Readmetereashis readmeterhisServiceOne = readmetereashisService.getOne(Wrappers.<Readmetereashis>lambdaQuery()
+                    .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
+                    .select(Readmetereashis::getYhbh, Readmetereashis::getQualityCount, Readmetereashis::getShbz));
+            String shbz = readmeterhisServiceOne.getShbz();
+            if ("2".equals(shbz) || "3".equals(shbz)) {
+                throw new ToflyDeniedException("已转工单");
+            }
+            //修改抄表历史数据表中的抄表数据;根据用户编号和抄表日期找到唯一抄表历史数据
+            readmetereashisService.update(Wrappers.<Readmetereashis>lambdaUpdate()
+                    .eq(Readmetereashis::getYhbh, yhbh)
+                    .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
+                    .set(Readmetereashis::getAuditPassReson, "")
+                    .set(Readmetereashis::getAuditUser, auditUser)
+                    .set(Readmetereashis::getShbz, "0")
+                    .set(Readmetereashis::getAuditTime, ""));
+        }
+        //一键上报工单
+        else if ("3".equals(auditRsult)) {
+            List<String> soleSignList = Arrays.asList(soleSign.split(","));
+            //查询所有待审核的用户,并且上报质检只能是当月的
+            List<Readmetereashis> readmeterhisList = readmetereashisService.list(Wrappers.<Readmetereashis>lambdaQuery()
+                    .in(Readmetereashis::getSoleSign, soleSignList)
+                    .select(Readmetereashis::getYhbh, Readmetereashis::getYhxm, Readmetereashis::getYhdz, Readmetereashis::getLxdh,
+                            Readmetereashis::getSbkj, Readmetereashis::getYsxz, Readmetereashis::getSbbh, Readmetereashis::getMonth1,
+                            Readmetereashis::getMonth2, Readmetereashis::getMonth3, Readmetereashis::getYearonyear1, Readmetereashis::getYearonyear2,
+                            Readmetereashis::getYearonyear3, Readmetereashis::getCbsl, Readmetereashis::getSjsl, Readmetereashis::getSoleSign));
+            if (StringUtil.isNotNull(gdglinfoExtendDto)) {
+                gdglinfoExtendDto.setIsCb("1");
+                List<Readmetereashis> readListUpdate = new ArrayList<>();
+                for (Readmetereashis readOne : readmeterhisList) {
+                    gdglinfoExtendDto.setSoleSign(readOne.getSoleSign());
+                    gdglinfoExtendDto.setIsGeneral("2");
+                    gdglinfoExtendDto.setKhbh(readOne.getYhbh());
+                    gdglinfoExtendDto.setKhxm(readOne.getYhxm());
+                    gdglinfoExtendDto.setKhdz(readOne.getYhdz());
+                    gdglinfoExtendDto.setLxdh(readOne.getLxdh());
+                    gdglinfoExtendDto.setSbbh(readOne.getSbbh());
+                    gdglinfoExtendDto.setYsxz(readOne.getYsxz());
+                    gdglinfoExtendDto.setSbkj(readOne.getSbkj());
+                    gdglinfoExtendDto.setGddjFileid(fileIds.length() != 0 ? fileIds.toString() : null);
+                    String str = JSONObject.toJSONString(gdglinfoExtendDto);
+                    try {
+                        ResultRespone resultRespone = gdglinfoClient.saveGdglInfoMeter(str);
+                        if (resultRespone.getCode() == 1) {
+                            readOne.setGdId(resultRespone.getResult().toString());
+                            //最后已经登记好的工单信息,修改抄表信息
+                            readListUpdate.add(readOne);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+                if (readListUpdate.size() > 0) {
+                    readmeterhisService.updateAuditYcbData(readListUpdate);
+                } else {
+                    return ResultRespone.failed(false, "上报工单失败");
+                }
+            }
+        } else {
+            throw new ToflyDeniedException("不满足操作条件");
+        }
+        return ResultRespone.success(true);
+    }
+
     @Override
     public Bwrksbdatail getSbByRFID(String rfid) {
 //        String sbbh = watermeterService.getOne(Wrappers.<Watermeter>lambdaQuery().eq(Watermeter::getRfid, rfid).select(Watermeter::getSid)).getSid();

+ 7 - 0
xrtyMeter/src/main/java/com/tofly/watermeter/entity/Readmetereashis.java

@@ -570,6 +570,13 @@ public class Readmetereashis extends Model<Readmetereashis> {
     @TableField(exist = false)
     private String diffTimeStr;
 
+    @ApiModelProperty(value = "审核通过原因")
+    private String auditPassReson;
+    @ApiModelProperty(value = "工单id")
+    private String gdId;
+    @ApiModelProperty(value = "唯一id")
+    private String soleSign;
+
 //    @ApiModelProperty(value = "联系手机" , hidden = true)
 //    @TableField(exist = false)
 //    private String lxsj;

+ 2 - 0
xrtyMeter/src/main/java/com/tofly/watermeter/mapper/ReadmeterhisMapper.java

@@ -17,6 +17,7 @@ import com.tofly.watermeter.custom.entity.quality.QualityEventInfo;
 import com.tofly.watermeter.custom.entity.quality.QualityFluctuate;
 import com.tofly.watermeter.custom.entity.quality.QualityStatis;
 import com.tofly.watermeter.entity.Qfkhjbxx;
+import com.tofly.watermeter.entity.Readmetereashis;
 import com.tofly.watermeter.entity.Readmeterhis;
 import com.tofly.watermeter.entity.Yhbingqy;
 import org.apache.ibatis.annotations.Mapper;
@@ -129,6 +130,7 @@ public interface ReadmeterhisMapper extends BaseMapper<Readmeterhis> {
     List<AccuracyCollect> cardUpdateCollect(@Param("list") List<String> cbryList, @Param("yearMonth") String yearMonth , @Param("isGeneral") String isGeneral);
 
     void updateAuditCbData(@Param("list") List<Readmeterhis> readmeterhisList);
+    void updateAuditYcbData(@Param("list") List<Readmetereashis> readmeterhisList);
 
     void updateReadmeterhisYhInfo(@Param("list")List<Qfkhjbxx> list,@Param("monthPlan") String monthPlan);
 

+ 2 - 4
xrtyMeter/src/main/java/com/tofly/watermeter/service/ReadmeterhisService.java

@@ -4,16 +4,13 @@
  */
 package com.tofly.watermeter.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.tofly.watermeter.custom.dto.AmountOrWaterVolumeInfoDto;
 import com.tofly.watermeter.custom.entity.meterRead.InitCbByHb;
 import com.tofly.watermeter.custom.entity.meterRead.readstatic.ReadCollect;
-import com.tofly.watermeter.custom.entity.meterRead.readstatic.ReadOverTime;
-import com.tofly.watermeter.custom.entity.quality.QualityStatis;
-import com.tofly.watermeter.entity.Qfcbqfmxls;
 import com.tofly.watermeter.entity.Qfkhjbxx;
+import com.tofly.watermeter.entity.Readmetereashis;
 import com.tofly.watermeter.entity.Readmeterhis;
 import com.tofly.watermeter.entity.Yhbingqy;
 import org.apache.ibatis.annotations.Param;
@@ -58,6 +55,7 @@ public interface ReadmeterhisService extends IService<Readmeterhis> {
     Long getMaxId();
 
     void updateAuditCbData(List<Readmeterhis> readmeterhisList);
+    void updateAuditYcbData(List<Readmetereashis> readmeterhisList);
 
     String getMaxMonthPlan();
 

+ 7 - 1
xrtyMeter/src/main/java/com/tofly/watermeter/service/impl/ReadmetereashisServiceImpl.java

@@ -7,10 +7,13 @@ package com.tofly.watermeter.service.impl;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.tofly.common.core.util.StringUtil;
+import com.tofly.watermeter.config.ComConstans;
+import com.tofly.watermeter.config.ForeignConfig;
 import com.tofly.watermeter.custom.dto.ForeignReadFarDo;
 import com.tofly.watermeter.custom.dto.ReadFarDo;
 import com.tofly.watermeter.custom.entity.enums.CbfsEnum;
 import com.tofly.watermeter.custom.entity.enums.ReadData;
+import com.tofly.watermeter.custom.util.SnowflakeUtils;
 import com.tofly.watermeter.em.AbnormalEnum;
 import com.tofly.watermeter.entity.Readabnormal;
 import com.tofly.watermeter.entity.Readmetereashis;
@@ -41,6 +44,8 @@ public class ReadmetereashisServiceImpl extends ServiceImpl<ReadmetereashisMappe
 
     private final ReadabnormalService readabnormalService;
 
+    private final ForeignConfig foreignConfig;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean saveBatchReadFar(ForeignReadFarDo dto) {
@@ -59,6 +64,7 @@ public class ReadmetereashisServiceImpl extends ServiceImpl<ReadmetereashisMappe
                 String cbyf = farDo.getCbyf();
                 Readmetereashis readmetereashis = new Readmetereashis();
                 BeanUtils.copyProperties(farDo, readmetereashis);
+                readmetereashis.setSoleSign(SnowflakeUtils.getId(foreignConfig.getDate(), foreignConfig.getWorkerId(), ComConstans.SNOWFLAKE_READ_TYPE).toString());
                 readmetereashis.setBcjjl(farDo.getBczl());
                 readmetereashis.setCbsl(farDo.getBczl());
                 readmetereashis.setMonth1(baseMapper.getLastWaterVal(yhbh, cbyf, -1L));
@@ -71,7 +77,7 @@ public class ReadmetereashisServiceImpl extends ServiceImpl<ReadmetereashisMappe
                     readmetereashis.setContinuityEqual(Integer.parseInt(number.get("equal").toString()));
                     readmetereashis.setZeroCount(Integer.parseInt(number.get("zero").toString()));
                 }
-                readmetereashis.setCbfsCode(Long.parseLong(farDo.getCbfscode()));
+                readmetereashis.setCbfsCode(CbfsEnum.SC.getCbfsId());
                 readmetereashis.setIsGeneral("2");
                 lists.add(readmetereashis);
             }

+ 10 - 5
xrtyMeter/src/main/java/com/tofly/watermeter/service/impl/ReadmeterhisServiceImpl.java

@@ -6,7 +6,6 @@ package com.tofly.watermeter.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -15,17 +14,19 @@ import com.tofly.common.oauth.exception.ToflyDeniedException;
 import com.tofly.watermeter.custom.dto.AmountOrWaterVolumeInfoDto;
 import com.tofly.watermeter.custom.entity.meterRead.InitCbByHb;
 import com.tofly.watermeter.custom.entity.meterRead.readstatic.ReadCollect;
-import com.tofly.watermeter.custom.entity.quality.QualityStatis;
-import com.tofly.watermeter.entity.Qfcbqfmxls;
 import com.tofly.watermeter.entity.Qfkhjbxx;
+import com.tofly.watermeter.entity.Readmetereashis;
 import com.tofly.watermeter.entity.Readmeterhis;
 import com.tofly.watermeter.entity.Yhbingqy;
+import com.tofly.watermeter.mapper.ReadmeterhisMapper;
 import com.tofly.watermeter.service.ReadmeterhisService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
-import com.tofly.watermeter.mapper.ReadmeterhisMapper;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -151,6 +152,10 @@ public class ReadmeterhisServiceImpl extends ServiceImpl<ReadmeterhisMapper, Rea
     public void updateAuditCbData(List<Readmeterhis> readmeterhisList) {
         baseMapper.updateAuditCbData(readmeterhisList);
     }
+    @Override
+    public void updateAuditYcbData(List<Readmetereashis> readmeterhisList) {
+        baseMapper.updateAuditYcbData(readmeterhisList);
+    }
 
     @Override
     public String getMaxMonthPlan() {

+ 2 - 2
xrtyMeter/src/main/resources/mapper/ReadmeterMapper.xml

@@ -136,7 +136,7 @@
         SUM(CASE WHEN SHBZ = '0' THEN 1 ELSE 0 END) waitCount ,
         SUM(CASE WHEN SHBZ = '1' or SHBZ = '3' THEN 1 ELSE 0 END) disposeCount ,
         SUM(case when SHBZ = '2' or SHBZ = '3' then 1 else 0 end) deployCount
-        FROM TF_YWPN_READMETERHIS_W
+        FROM TF_YWPN_METERREADING_W_VIEW
         <where>
             IS_GENERAL = #{qualityStatis.isGeneral}
             <if test="list != null">
@@ -167,7 +167,7 @@
         SUM(CASE WHEN SHBZ = '0' THEN 1 ELSE 0 END) waitCount ,
         SUM(CASE WHEN SHBZ = '1' or SHBZ = '3' THEN 1 ELSE 0 END) disposeCount ,
         SUM(case when SHBZ = '2' or SHBZ = '3' then 1 else 0 end) deployCount
-        FROM TF_YWPN_READMETERHIS_W
+        FROM TF_YWPN_METERREADING_W_VIEW
         <where>
             ABNOMAL_ID is not null
             AND IS_GENERAL = #{qualityStatis.isGeneral}

+ 3 - 0
xrtyMeter/src/main/resources/mapper/ReadmetereashisMapper.xml

@@ -98,6 +98,9 @@
         <result property="isEstimate" column="IS_ESTIMATE"/>
         <result property="imgUrl" column="IMG_URL"/>
         <result property="isModel" column="IS_MODEL"/>
+        <result property="auditPassReson" column="AUDIT_PASS_RESON"/>
+        <result property="soleSign" column="SOLE_SIGN"/>
+        <result property="gdId" column="GD_ID"/>
     </resultMap>
 
     <select id="getHisInfo" resultType="com.tofly.watermeter.entity.Readmetereashis">

+ 10 - 0
xrtyMeter/src/main/resources/mapper/ReadmeterhisMapper.xml

@@ -1196,6 +1196,16 @@
         </foreach>
     </update>
 
+    <update id="updateAuditYcbData">
+        <foreach collection="list" item="yhInfo" open="begin" close=";end;" separator=";">
+            UPDATE TF_YWPN_READMETEREASHIS_W
+            SET QUALITY_COUNT = (SELECT NVL(MAX(QUALITY_COUNT), 0) + 1
+            FROM TF_YWPN_READMETEREASHIS_W
+            WHERE YHBH = #{yhInfo.yhbh}) , SHBZ = '2' , GD_ID = #{yhInfo.gdId}
+            WHERE YHBH = #{yhInfo.yhbh} AND SOLE_SIGN = #{yhInfo.soleSign}
+        </foreach>
+    </update>
+
     <update id="updateReadmeterhisYhInfo">
         <foreach collection="list" item="item" open="begin" close=";end;" separator=";">
             UPDATE TF_YWPN_READMETERHIS_W

+ 6 - 7
xrtyMis/mis-api/src/main/java/com/tofly/pojo/Gdglinfo.java

@@ -5,17 +5,14 @@
 
 package com.tofly.pojo;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.File;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
+
 
 
 /**
@@ -716,5 +713,7 @@ public class Gdglinfo {
     @ApiModelProperty(value = "抄表的唯一标识")
     private String soleSign;
 
+    private String isGeneral;
+
 
 }

+ 53 - 12
xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/custom/service/impl/GdglinfoServiceImpl.java

@@ -573,8 +573,16 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
                     if ("1".equals(iscb)) {
                         String soleSign = gdglinfo.getSoleSign();
                         if (StringUtil.isNotEmpty(soleSign)) {
-                            boolean waterFlag = baseMapper.updateReadWater(soleSign);
-                            log.info("水量分析发起的工单,工单登记后归档,是否回调完成" + waterFlag);
+                            String isGeneral = gdglinfo.getIsGeneral();
+                            //机械表或者卡表
+                            if (StringUtils.isEmpty(isGeneral) || !"2".equals(isGeneral)){
+                                boolean waterFlag = baseMapper.updateReadWater(soleSign);
+                                log.info("水量分析发起的工单,工单登记后归档,是否回调完成" + waterFlag);
+                            }else {
+                                //远传表
+                                boolean waterFlag = baseMapper.updateYcReadWater(soleSign);
+                                log.info("水量分析发起的工单,工单登记后归档,是否回调完成" + waterFlag);
+                            }
                         }
                     }
                 }
@@ -1690,8 +1698,15 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
                     if ("1".equals(iscb)) {
                         String soleSign = info.getSoleSign();
                         if (StringUtil.isNotEmpty(soleSign)) {
-                            boolean waterFlag = baseMapper.updateReadWater(soleSign);
-                            log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            String isGeneral = gdglinfo.getIsGeneral();
+                            if (StringUtils.isEmpty(isGeneral) || !"2".equals(isGeneral)){
+                                boolean waterFlag = baseMapper.updateReadWater(soleSign);
+                                log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            }else {
+                                boolean waterFlag = baseMapper.updateYcReadWater(soleSign);
+                                log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            }
+
                         }
                     }
                 }
@@ -1961,8 +1976,14 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
                     if ("1".equals(iscb)) {
                         String soleSign = info.getSoleSign();
                         if (StringUtil.isNotEmpty(soleSign)) {
-                            boolean waterFlag = baseMapper.updateReadWater(soleSign);
-                            log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            String isGeneral = info.getIsGeneral();
+                            if (StringUtils.isEmpty(isGeneral) || !"2".equals(isGeneral)){
+                                boolean waterFlag = baseMapper.updateReadWater(soleSign);
+                                log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            }else {
+                                boolean waterFlag = baseMapper.updateYcReadWater(soleSign);
+                                log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            }
                         }
                     }
                 }
@@ -2202,8 +2223,15 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
                     if ("1".equals(iscb)) {
                         String soleSign = info.getSoleSign();
                         if (StringUtil.isNotEmpty(soleSign)) {
-                            boolean waterFlag = baseMapper.updateReadWater(soleSign);
-                            log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            String isGeneral = info.getIsGeneral();
+                            if (StringUtils.isEmpty(isGeneral) || !"2".equals(isGeneral)){
+                                boolean waterFlag = baseMapper.updateReadWater(soleSign);
+                                log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            }else {
+                                boolean waterFlag = baseMapper.updateYcReadWater(soleSign);
+                                log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            }
+
                         }
                     }
                 }
@@ -2456,8 +2484,15 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
                     if ("1".equals(iscb)) {
                         String soleSign = info.getSoleSign();
                         if (StringUtil.isNotEmpty(soleSign)) {
-                            boolean waterFlag = baseMapper.updateReadWater(soleSign);
-                            log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            String isGeneral = info.getIsGeneral();
+                            if (StringUtils.isEmpty(isGeneral) || !"2".equals(isGeneral)){
+                                boolean waterFlag = baseMapper.updateReadWater(soleSign);
+                                log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            }else {
+                                boolean waterFlag = baseMapper.updateYcReadWater(soleSign);
+                                log.info("水量分析发起的工单归档完成;工单id:" + info.getId() + "是否回调完成:" + waterFlag);
+                            }
+
                         }
                     }
                 }
@@ -4235,8 +4270,14 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
                                 if ("1".equals(iscb)) {
                                     String soleSign = gdglinfo.getSoleSign();
                                     if (StringUtil.isNotEmpty(soleSign)) {
-                                        boolean waterFlag = baseMapper.updateReadWater(soleSign);
-                                        log.info("水量分析发起的工单归档完成;工单id:" + gdglinfoId + "是否回调完成:" + waterFlag);
+                                        String isGeneral = gdglinfo.getIsGeneral();
+                                        if (StringUtils.isEmpty(isGeneral) || !"2".equals(isGeneral)){
+                                            boolean waterFlag = baseMapper.updateReadWater(soleSign);
+                                            log.info("水量分析发起的工单归档完成;工单id:" + gdglinfoId + "是否回调完成:" + waterFlag);
+                                        }else {
+                                            boolean waterFlag = baseMapper.updateYcReadWater(soleSign);
+                                            log.info("水量分析发起的工单归档完成;工单id:" + gdglinfoId + "是否回调完成:" + waterFlag);
+                                        }
                                     }
                                 }
                             }

+ 2 - 0
xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/entity/Gdglinfo.java

@@ -876,6 +876,8 @@ public class Gdglinfo extends Model<Gdglinfo> {
     @ApiModelProperty(value = "抄表的唯一标识")
     private String soleSign;
 
+    private String isGeneral;
+
     /**
      * 外部工地ID
      */

+ 1 - 0
xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/mapper/GdglinfoMapper.java

@@ -133,6 +133,7 @@ public interface GdglinfoMapper extends BaseMapper<Gdglinfo> {
     boolean updateRead(@Param("yhbh") String yhbh, @Param("yearMonth")String yearMonth, @Param("orderIds") String orderIds);
 
     boolean updateReadWater(@Param("soleSign") String soleSign);
+    boolean updateYcReadWater(@Param("soleSign") String soleSign);
 
     void removeAudit(@Param("id") Long id);
 

+ 1 - 1
xrtyMis/mis-boot/src/main/resources/bootstrap.yml

@@ -2,4 +2,4 @@ server:
   port: 8031
 spring:
   profiles:
-    active: test
+    active: pro

+ 33 - 24
xrtyMis/mis-boot/src/main/resources/mapper/GdglinfoMapper.xml

@@ -186,37 +186,40 @@
     <select id="getGgczQwxUserName" resultType="string">
         select REAL_NAME jgczQwxUserName
         from TF_SMPN_USER_X
-        where id=(select
-                      (case when (select GDBH FROM TF_YWPN_GDCIRCULATION_W where gdbh = i.GDBH) is not null then (select RESP_USER
-                                                                                                                  from TF_YWPN_GDCIRCULATION_W g
-                                                                                                                           left join TF_YWPN_REPAIRUSER_W r on r.REPAIR_ID = g.OTHER_BH
-                                                                                                                  where gdbh = i.gdbh) else CZRY end) czry
-                  from TF_YWPN_GDINFO_W i
-                  where i.id = #{id})
+        where id = (select (case
+                                when (select GDBH FROM TF_YWPN_GDCIRCULATION_W where gdbh = i.GDBH) is not null
+                                    then (select RESP_USER
+                                          from TF_YWPN_GDCIRCULATION_W g
+                                                   left join TF_YWPN_REPAIRUSER_W r on r.REPAIR_ID = g.OTHER_BH
+                                          where gdbh = i.gdbh)
+                                else CZRY end) czry
+                    from TF_YWPN_GDINFO_W i
+                    where i.id = #{id})
 
     </select>
     <select id="getJgczQwxNote" resultType="string">
-        select
-        (case
-            when (select GDBH FROM TF_YWPN_GDCIRCULATION_W where gdbh = i.GDBH) is not null then (
-            select c.NOTES
-            from TF_YWPN_GDCIRCULATION_W g
-            left join TF_YWPN_REPAIRUSER_W r on r.REPAIR_ID = g.OTHER_BH
-            left join TF_YWPN_REPAIRRECORD_W c on c.REPAIR_USERID = r.ID
-            where gdbh = i.gdbh
-            )
-            else to_char(CZYJ) end) jgczQwxNote
+        select (case
+                    when (select GDBH FROM TF_YWPN_GDCIRCULATION_W where gdbh = i.GDBH) is not null then (
+                        select c.NOTES
+                        from TF_YWPN_GDCIRCULATION_W g
+                                 left join TF_YWPN_REPAIRUSER_W r on r.REPAIR_ID = g.OTHER_BH
+                                 left join TF_YWPN_REPAIRRECORD_W c on c.REPAIR_USERID = r.ID
+                        where gdbh = i.gdbh
+                    )
+                    else to_char(CZYJ) end) jgczQwxNote
         from TF_YWPN_GDINFO_W i
         where i.id = #{id}
     </select>
     <select id="getOverTimeDate" resultType="java.util.Date">
-    select
-        (case when (select GDBH FROM TF_YWPN_GDCIRCULATION_W where gdbh = i.GDBH) is not null then (select OVER_TIME
-            from TF_YWPN_GDCIRCULATION_W g
-            left join TF_YWPN_REPAIRUSER_W r on r.REPAIR_ID = g.OTHER_BH
-            where gdbh = i.gdbh) else CZSJ end) overTimeDate
-    from TF_YWPN_GDINFO_W i
-    where i.id = #{id}
+        select (case
+                    when (select GDBH FROM TF_YWPN_GDCIRCULATION_W where gdbh = i.GDBH) is not null
+                        then (select OVER_TIME
+                              from TF_YWPN_GDCIRCULATION_W g
+                                       left join TF_YWPN_REPAIRUSER_W r on r.REPAIR_ID = g.OTHER_BH
+                              where gdbh = i.gdbh)
+                    else CZSJ end) overTimeDate
+        from TF_YWPN_GDINFO_W i
+        where i.id = #{id}
 
     </select>
     <delete id="removeAudit">
@@ -2477,6 +2480,12 @@
         WHERE SOLE_SIGN = #{soleSign}
     </update>
 
+    <update id="updateYcReadWater">
+        UPDATE TF_YWPN_READMETEREASHIS_W
+        SET SHBZ = '3'
+        WHERE SOLE_SIGN = #{soleSign}
+    </update>
+
 
     <select id="getOrderUserDealNum" resultType="com.tofly.xrtymis.custom.vo.OrderUserDealNumVo">
         SELECT t.id, t.presentPerson, t.presentPersonName, t.presentDept, t.presentDeptName