Browse Source

抄表BUG修改

lin 4 years ago
parent
commit
feb698a9df

+ 1 - 1
smart-city-platform/src/main/java/com/bz/smart_city/controller/water/WaterMeterReadController.java

@@ -644,7 +644,7 @@ public class WaterMeterReadController {
 	@GetMapping("/v2/exportRateListByBuilding")
 	@ApiOperation(value = "场景下抄表率-按照建筑导出-适用于所有场景(新统计口径)")
 	public void exportRateListByBuilding(
-			@ApiParam(value = "场景", required = true) @RequestParam(required = true) Integer channelId,
+			@ApiParam(value = "场景", required = false) @RequestParam(required = false) Integer channelId,
 			@ApiParam(value = "客户", required = false) @RequestParam(required = false) Integer customerId,
 			@ApiParam(value = "小区", required = false) @RequestParam(required = false) Integer communityId,
 			@ApiParam(value = "建筑", required = false) @RequestParam(required = false) Integer buildingId,

+ 27 - 3
smart-city-platform/src/main/java/com/bz/smart_city/excel/resolver/WaterDeviceResolverExcelTemplate.java

@@ -111,9 +111,17 @@ public class WaterDeviceResolverExcelTemplate extends AbstractResolverExcelTempl
                     device.setId(idWorker.nextId());
                     device.setSysId(sysId);
                     device.setSiteId(record.getSiteId());
+
                     try {
                         CellValue cellValuesetBuildingId = evaluator.evaluate(buildingIdCell);
-                        device.setBuildingId((int) cellValuesetBuildingId.getNumberValue());
+                        Integer buildingId =  (int) cellValuesetBuildingId.getNumberValue();
+                        if(buildingId == 0){
+                            failTime.incrementAndGet();
+                            c_remark.setCellValue("建筑名称匹配错误");
+                            continue;
+                        }{
+                            device.setBuildingId(buildingId);
+                        }
                     } catch (Exception e){
                         failTime.incrementAndGet();
                         c_remark.setCellValue("建筑名称匹配错误");
@@ -122,7 +130,15 @@ public class WaterDeviceResolverExcelTemplate extends AbstractResolverExcelTempl
 
                     try {
                         CellValue cellValueDeviceTypeId = evaluator.evaluate(deviceTypeIdCell);
-                        device.setDeviceType((int) cellValueDeviceTypeId.getNumberValue());
+                        Integer DeviceTypeId =  (int) cellValueDeviceTypeId.getNumberValue();
+                        if(DeviceTypeId == 0){
+                            failTime.incrementAndGet();
+                            c_remark.setCellValue("设备类型匹配错误");
+                            continue;
+                        }{
+                            device.setDeviceType(DeviceTypeId);
+                        }
+
                     }catch (Exception e){
                         failTime.incrementAndGet();
                         c_remark.setCellValue("设备类型匹配错误");
@@ -148,7 +164,15 @@ public class WaterDeviceResolverExcelTemplate extends AbstractResolverExcelTempl
                     if (customerIdCell != null) {
                         try {
                             CellValue cellValuesetCustomerId = evaluator.evaluate(customerIdCell);
-                            device.setCustomerId((int) cellValuesetCustomerId.getNumberValue());
+                            Integer customerIdTemp = (int) cellValuesetCustomerId.getNumberValue();
+                            device.setCustomerId(customerIdTemp);
+                            if(customerIdTemp == 0){
+                                failTime.incrementAndGet();
+                                c_remark.setCellValue("客户匹配错误");
+                                continue;
+                            }{
+                                device.setCustomerId(customerIdTemp);
+                            }
                         }catch (Exception e){
                             failTime.incrementAndGet();
                             c_remark.setCellValue("客户匹配错误");

+ 4 - 4
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/StatMeterReadRateByBuildingServiceImpl.java

@@ -146,7 +146,7 @@ public class StatMeterReadRateByBuildingServiceImpl implements StatMeterReadRate
             objs[0] = i;
             objs[1] = dto.getBuildingName();
             objs[2] = dto.getCustomerName();
-            objs[3] = dto.getDeviceCount();
+            objs[3] = dto.getReadTimes();
             objs[4] = dto.getRealReadTimes();
             objs[5] = dto.getReadRate();
             dataList.add(objs);
@@ -314,7 +314,7 @@ public class StatMeterReadRateByBuildingServiceImpl implements StatMeterReadRate
 
 
         String title = "抄表率";
-        String[] rowsName = new String[]{"序号", "水表类型", "水表总数", "未抄总数", "抄表率"};
+        String[] rowsName = new String[]{"序号", "表类型", "应抄水表总数", "抄送成功总数", "抄收成功率(%)"};
         List<Object[]> dataList = newArrayList();
         Object[] objs = null;
         for (int i = 0; i < waterReadRateListDtoList.size(); i++) {
@@ -322,8 +322,8 @@ public class StatMeterReadRateByBuildingServiceImpl implements StatMeterReadRate
             objs = new Object[rowsName.length];
             objs[0] = i;
             objs[1] = waterReadRateListDto.getDeviceTypeName();
-            objs[2] = waterReadRateListDto.getDeviceCount();
-            objs[3] = waterReadRateListDto.getUnReadTimes();
+            objs[2] = waterReadRateListDto.getReadTimes();
+            objs[3] = waterReadRateListDto.getRealReadTimes();
             objs[4] = waterReadRateListDto.getReadRate();
             dataList.add(objs);
         }