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 2ac972da8..2f6b3d745 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java @@ -24,7 +24,9 @@ import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -202,22 +204,22 @@ public class KwMeterController extends BaseController { continue; KwMeter kwMeter = new KwMeter(); Cell c = row.getCell(0,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); - if (c != null) { + if (c != null && c.getCellType() == CellType.STRING ) { kwMeter.setAddress(c.getStringCellValue()); } else { continue; } c = row.getCell(1,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); - if (c != null) {kwMeter.setPlace(c.getStringCellValue());} + if (c != null && c.getCellType() == CellType.STRING ) {kwMeter.setPlace(c.getStringCellValue());} c = row.getCell(2,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); - if (c != null) {kwMeter.setBrand(c.getStringCellValue());} + if (c != null && c.getCellType() == CellType.STRING ) {kwMeter.setBrand(c.getStringCellValue());} c = row.getCell(3,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); - if (c != null) {kwMeter.setModel(c.getStringCellValue());} + if (c != null && c.getCellType() == CellType.STRING ) {kwMeter.setModel(c.getStringCellValue());} c = row.getCell(4,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); - if (c != null) {kwMeter.setProtocol(Integer.parseInt(c.getStringCellValue()));} + if (c != null && c.getCellType() == CellType.STRING ) {kwMeter.setProtocol(Integer.parseInt(c.getStringCellValue()));} c = row.getCell(5,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); - if (c != null) {kwMeter.setBandrate(Integer.parseInt(c.getStringCellValue()));} + if (c != null && c.getCellType() == CellType.STRING ) {kwMeter.setBandrate(Integer.parseInt(c.getStringCellValue()));} if (kwMeter.getProtocol() != null || kwMeter.getBandrate() != null) { JSONObject jsonObject = new JSONObject(); @@ -227,7 +229,7 @@ public class KwMeterController extends BaseController { } c = row.getCell(6,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); - if (c != null) { + if (c != null && c.getCellType() == CellType.STRING ) { String imei = c.getStringCellValue(); KwBox kwBox = new KwBox(); kwBox.setImei(imei); @@ -243,7 +245,7 @@ public class KwMeterController extends BaseController { addOrUpdate(kwMeter); c = row.getCell(7,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL); - if (c != null) { + if (c != null && c.getCellType() == CellType.STRING ) { String merchantName = c.getStringCellValue(); Optional wxMerchant = wxMerchantService.findByName(merchantName); if (wxMerchant.isPresent()) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index b025dd310..a90b3b4e1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -1038,11 +1038,12 @@ public class WxBillAllServiceImpl implements WxBillAllService { if (daily != null) { if (!daily.getStatus().equals(EnumBillRentStatus.PAID.getCode())) { long allPay = new BigDecimal(daily.getPay()).add(new BigDecimal(pay)).longValueExact(); + daily.setExpiredDay(0L); if (allPay >= receivePay) { daily.setStatus(EnumBillRentStatus.PAID.getCode()); + } else { Date payDate = bill.getPayDate(); Date receiveDate = bill.getReceiveDate(); - daily.setExpiredDay(0L); if (payDate.after(receiveDate)) { int expiredDay = DateUtils.daysBetween(receiveDate, payDate); daily.setExpiredDay((long) expiredDay); @@ -1115,11 +1116,12 @@ public class WxBillAllServiceImpl implements WxBillAllService { if (other != null) { if (!other.getStatus().equals(EnumBillRentStatus.PAID.getCode())) { long allPay = new BigDecimal(other.getPay()).add(new BigDecimal(pay)).longValueExact(); + other.setExpiredDay(0L); if (allPay >= receivePay) { other.setStatus(EnumBillRentStatus.PAID.getCode()); + } else { Date payDate = bill.getPayDate(); Date receiveDate = bill.getReceiveDate(); - other.setExpiredDay(0L); if (payDate.after(receiveDate)) { int expiredDay = DateUtils.daysBetween(receiveDate, payDate); other.setExpiredDay((long) expiredDay); @@ -1195,11 +1197,12 @@ public class WxBillAllServiceImpl implements WxBillAllService { if (otherDeposit != null) { if (!otherDeposit.getStatus().equals(EnumBillRentStatus.PAID.getCode()) && !otherDeposit.getStatus().equals(EnumBillRentStatus.RETURN.getCode())) { long allPay = new BigDecimal(otherDeposit.getPay()).add(new BigDecimal(pay)).longValueExact(); + otherDeposit.setExpiredDay(0L); if (allPay >= receivePay) { otherDeposit.setStatus(EnumBillRentStatus.PAID.getCode()); + } else { Date payDate = bill.getPayDate(); Date receiveDate = bill.getReceiveDate(); - otherDeposit.setExpiredDay(0L); if (payDate.after(receiveDate)) { int expiredDay = DateUtils.daysBetween(receiveDate, payDate); otherDeposit.setExpiredDay((long) expiredDay); @@ -1288,11 +1291,12 @@ public class WxBillAllServiceImpl implements WxBillAllService { WxBillRent rent = wxBillRentMapper.selectBillOne(rentQuery); if (rent != null && !rent.getStatus().equals(EnumBillRentStatus.PAID.getCode())) { long pay = new BigDecimal(bill.getPayStr()).multiply(new BigDecimal(100)).longValueExact(); + rent.setExpiredDay(0L); if (rent.getOwe() <= pay) { rent.setStatus(EnumBillRentStatus.PAID.getCode()); + } else { Date payDate = bill.getPayDate(); Date receiveDate = bill.getReceiveDate(); - rent.setExpiredDay(0L); if (payDate.after(receiveDate)) { int expiredDay = DateUtils.daysBetween(receiveDate, payDate); rent.setExpiredDay((long) expiredDay); @@ -1320,11 +1324,12 @@ public class WxBillAllServiceImpl implements WxBillAllService { WxBillProperty property = wxBillPropertyMapper.selectBillOne(propertyQuery); if (property != null && !property.getStatus().equals(EnumBillRentStatus.PAID.getCode())) { long pay = new BigDecimal(bill.getPayStr()).multiply(new BigDecimal(100)).longValueExact(); + property.setExpiredDay(0L); if (property.getOwe() <= pay) { property.setStatus(EnumBillRentStatus.PAID.getCode()); + } else { Date payDate = bill.getPayDate(); Date receiveDate = bill.getReceiveDate(); - property.setExpiredDay(0L); if (payDate.after(receiveDate)) { int expiredDay = DateUtils.daysBetween(receiveDate, payDate); property.setExpiredDay((long) expiredDay);