diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java index 899364496..f89da10f7 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java @@ -177,6 +177,17 @@ public class KwMeterController extends BaseController { kwMerchantMeterService.saveOrUpdate(kwMerchantMeter); } + private void addOrUpdate(KwMeter kwMeter) { + KwMeter record = new KwMeter(); + record.setTenantId(getTenantId()); + record.setAddress(kwMeter.getAddress()); + record.setStatus(EnumMeterStatus.VALID.getCode()); + List kwMeters = kwMeterService.findList(record); + if (kwMeters.size() > 0) + kwMeter.setId(kwMeters.get(0).getId()); + kwMeterService.saveOrUpdate(kwMeter); + } + @ApiOperation("导入设备") @PostMapping(value = "import", consumes = "multipart/*") @SystemControllerLog(description = "电表管理-导入数据") @@ -190,6 +201,8 @@ public class KwMeterController extends BaseController { XSSFSheet sheet = workbook.getSheetAt(0); for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) { XSSFRow row = sheet.getRow(i); + if (row == null) + continue; KwMeter kwMeter = new KwMeter(); Cell c = row.getCell(0,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); if (c != null) { @@ -226,7 +239,7 @@ public class KwMeterController extends BaseController { kwMeter.setBoxId(kwBox.getId()); } - add(kwMeter); + addOrUpdate(kwMeter); c = row.getCell(7,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); if (c != null) {