From 96ca75390e360a15eb8056ab159a00ae1b9a23c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B9=BE=E7=BF=94?= Date: Fri, 24 Apr 2026 19:59:57 +0800 Subject: [PATCH] BUG --- .../controller/BsDischargeRecController.java | 17 +++++- .../controller/BsDosingRecController.java | 56 +++++++++++++++++-- .../BsEpciuInspectionPointController.java | 12 +++- .../controller/BsInsTestController.java | 16 +++++- .../BsSafeInspectionPointController.java | 18 ++++-- .../energy/controller/BsTowerController.java | 16 +++++- .../desk/energy/mapper/DosingRecMapper.xml | 8 +-- .../desk/energy/mapper/InsTestMapper.xml | 4 +- .../desk/energy/mapper/TowerMapper.xml | 8 +-- .../desk/energy/mapper/TowerReportMapper.xml | 12 ++-- .../energy/mapper/WasteGasRunRecMapper.xml | 4 +- .../energy/pojo/entity/BsTowerEntity.java | 24 ++++---- .../service/impl/BsDosingRecServiceImpl.java | 1 + 13 files changed, 147 insertions(+), 49 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java index eb143beb..fde9eb18 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.energy.controller; +import cn.hutool.core.exceptions.ExceptionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -46,6 +47,7 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.energy.excel.BsDischargeRecExcel; import org.springblade.desk.energy.pojo.entity.BsDischargeRecEntity; +import org.springblade.desk.energy.pojo.entity.BsTowerEntity; import org.springblade.desk.energy.pojo.vo.BsDischargeRecVO; import org.springblade.desk.energy.service.IBsDischargeRecService; import org.springblade.desk.energy.wrapper.BsDischargeRecWrapper; @@ -192,9 +194,18 @@ public class BsDischargeRecController extends BladeController { if (checkR != null) { return checkR; } - List importList = ExcelUtil.read( - file, 0, 1, BsDischargeRecEntity.class - ); + + + List importList; + try { + importList = ExcelUtil.read( + file, 0, 1, BsDischargeRecEntity.class + ); + } catch (Exception e) { + // 捕获Excel读取时的类型转换异常 + String errorMsg = ExceptionUtil.getMessage(e); + throw new RuntimeException("Excel数据格式错误:请检查日期、数字等字段格式是否正确"); + } //return R.status(bsDischargeRecService.saveBatch(importList)); bsDischargeRecService.save(importList); return R.success(); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDosingRecController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDosingRecController.java index f3b7dc47..4e26d507 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDosingRecController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDosingRecController.java @@ -25,6 +25,8 @@ */ package org.springblade.desk.energy.controller; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.exceptions.ExceptionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -185,12 +187,54 @@ public class BsDosingRecController extends BladeController { if (checkR != null) { return checkR; } - List importList = ExcelUtil.read( - file, 0, 1, BsDosingRecEntity.class - ); - importList.forEach(x->{ - x.setDorType(dorType); - }); + + List importList; + try { + importList = ExcelUtil.read( + file, 0, 1, BsDosingRecEntity.class + ); + } catch (Exception e) { + // 捕获Excel读取时的类型转换异常 + String errorMsg = ExceptionUtil.getMessage(e); + throw new RuntimeException("Excel数据格式错误:请检查日期、数字等字段格式是否正确"); + } + + if (CollUtil.isEmpty(importList)){ + return R.fail("导入数据为空"); + } + + // 数据校验 + StringBuilder errorMsg = new StringBuilder(); + for (int i = 0; i < importList.size(); i++) { + BsDosingRecEntity entity = importList.get(i); + int rowNum = i + 2; // Excel行号(从第2行开始,第1行是表头) + + // 校验设施字段 + if (entity.getDevice() == null || entity.getDevice().trim().isEmpty()) { + errorMsg.append("第").append(rowNum).append("行:设施不能为空;\n"); + } + + // 校验药品字段 + if (entity.getDrug() == null || entity.getDrug().trim().isEmpty()) { + errorMsg.append("第").append(rowNum).append("行:药品不能为空;\n"); + } + + // 校验剂量字段 + if (entity.getDose() == null) { + errorMsg.append("第").append(rowNum).append("行:剂量不能为空;\n"); + } + + // 校验加药时间字段 + if (entity.getDosingTime() == null) { + errorMsg.append("第").append(rowNum).append("行:加药时间不能为空或格式不正确(应为:yyyy-MM-dd HH:mm:ss);\n"); + } + entity.setDorType(dorType); + } + + if (errorMsg.length() > 0) { + throw new RuntimeException("数据格式错误:\n" + errorMsg); + } + return R.status(bsDosingRecService.saveBatch(importList)); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEpciuInspectionPointController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEpciuInspectionPointController.java index 375429eb..47ca9440 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEpciuInspectionPointController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEpciuInspectionPointController.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.energy.controller; +import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -50,6 +51,7 @@ import org.springblade.desk.basic.pojo.entity.CoatingThickness; import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.energy.excel.BsEpciuInspectionPointExcel; import org.springblade.desk.energy.pojo.entity.BsEpciuInspectionPointEntity; +import org.springblade.desk.energy.pojo.entity.BsSafeInspectionPointEntity; import org.springblade.desk.energy.pojo.vo.BsEpciuInspectionPointVO; import org.springblade.desk.energy.service.IBsEpciuInspectionPointService; import org.springblade.desk.energy.wrapper.BsEpciuInspectionPointWrapper; @@ -186,8 +188,16 @@ public class BsEpciuInspectionPointController extends BladeController { public R importExcel(@RequestParam("file") MultipartFile file) { List noticeList = new ArrayList<>(); + List list; + try { + list = ExcelUtil.read(file, BsEpciuInspectionPointExcel.class); + } catch (Exception e) { + // 捕获Excel读取时的类型转换异常 + String errorMsg = ExceptionUtil.getMessage(e); + throw new RuntimeException("Excel数据格式错误:请检查日期、数字等字段格式是否正确"); + } + - List list = ExcelUtil.read(file, BsEpciuInspectionPointExcel.class); list.forEach(noticeExcel -> { if (cn.hutool.core.bean.BeanUtil.isEmpty(noticeExcel) || StrUtil.isEmpty(noticeExcel.getInsNum()) || noticeExcel.getInsNum().contains("注")){ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsInsTestController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsInsTestController.java index 19184ee1..4a473f9b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsInsTestController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsInsTestController.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.energy.controller; +import cn.hutool.core.exceptions.ExceptionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -45,6 +46,7 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.energy.excel.BsInsTestExcel; +import org.springblade.desk.energy.pojo.entity.BsDosingRecEntity; import org.springblade.desk.energy.pojo.entity.BsInsTestEntity; import org.springblade.desk.energy.pojo.vo.BsInsTestVO; import org.springblade.desk.energy.service.IBsInsTestService; @@ -193,9 +195,17 @@ public class BsInsTestController extends BladeController { if (checkR != null) { return checkR; } - List importList = ExcelUtil.read( - file, 0, 1, BsInsTestEntity.class - ); + + List importList; + try { + importList = ExcelUtil.read( + file, 0, 1, BsInsTestEntity.class + ); + } catch (Exception e) { + // 捕获Excel读取时的类型转换异常 + String errorMsg = ExceptionUtil.getMessage(e); + throw new RuntimeException("Excel数据格式错误:请检查日期、数字等字段格式是否正确"); + } return R.status(bsInsTestService.saveBatch(importList)); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsSafeInspectionPointController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsSafeInspectionPointController.java index 92fc80a5..fd8de4d8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsSafeInspectionPointController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsSafeInspectionPointController.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.energy.controller; +import cn.hutool.core.exceptions.ExceptionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -45,6 +46,7 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.energy.excel.BsSafeInspectionPointExcel; +import org.springblade.desk.energy.pojo.entity.BsDosingRecEntity; import org.springblade.desk.energy.pojo.entity.BsSafeInspectionPointEntity; import org.springblade.desk.energy.pojo.vo.BsSafeInspectionPointVO; import org.springblade.desk.energy.service.IBsSafeInspectionPointService; @@ -190,10 +192,18 @@ public class BsSafeInspectionPointController { if (checkR != null) { return checkR; } - List importList = ExcelUtil.read( - file, 0, 1, BsSafeInspectionPointEntity.class - ); - + + List importList; + try { + importList = ExcelUtil.read( + file, 0, 1, BsSafeInspectionPointEntity.class + ); + } catch (Exception e) { + // 捕获Excel读取时的类型转换异常 + String errorMsg = ExceptionUtil.getMessage(e); + throw new RuntimeException("Excel数据格式错误:请检查日期、数字等字段格式是否正确"); + } + // 过滤空行和说明文字行(包含"注"字符的行) importList = importList.stream() .filter(item -> item != null diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsTowerController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsTowerController.java index fbc9380f..b4e4010e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsTowerController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsTowerController.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.energy.controller; +import cn.hutool.core.exceptions.ExceptionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -184,9 +185,18 @@ public class BsTowerController extends BladeController { if (checkR != null) { return checkR; } - List importList = ExcelUtil.read( - file, 0, 1, BsTowerEntity.class - ); + + List importList; + try { + importList = ExcelUtil.read( + file, 0, 1, BsTowerEntity.class + ); + } catch (Exception e) { + // 捕获Excel读取时的类型转换异常 + String errorMsg = ExceptionUtil.getMessage(e); + throw new RuntimeException("Excel数据格式错误:请检查日期、数字等字段格式是否正确"); + } + return R.status(bsTowerService.saveBatch(importList)); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/DosingRecMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/DosingRecMapper.xml index 3635065b..3a62d6e8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/DosingRecMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/DosingRecMapper.xml @@ -31,11 +31,11 @@ and n.DOR_TYPE = #{bsDosingRec.dorType} - - and n.device = #{bsDosingRec.device} + + and n.device like '%' || #{bsDosingRec.device} || '%' - - and n.drug = #{bsDosingRec.drug} + + and n.drug like '%' || #{bsDosingRec.drug} || '%' and n.dose = #{bsDosingRec.dose} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/InsTestMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/InsTestMapper.xml index b2598654..745da4f5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/InsTestMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/InsTestMapper.xml @@ -28,8 +28,8 @@ select * from BS_INS_TEST n n.is_deleted = 0 - - and n.DEVICE = #{bsInsTest.device} + + and n.DEVICE like '%' || #{bsInsTest.device} || '%' and n.DOSING_MAN = #{bsInsTest.dosingMan} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerMapper.xml index 17f91521..a6bcd557 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerMapper.xml @@ -27,11 +27,11 @@ select * from BS_TOWER n n.is_deleted = 0 - - and n.BT_CODE = #{bsTower.btCode} + + and n.BT_CODE like '%' || #{bsTower.btCode} || '%' - - and n.BT_NAME = #{bsTower.btName} + + and n.BT_NAME like '%' || #{bsTower.btName} || '%' and n.THRESHOLD = #{bsTower.threshold} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerReportMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerReportMapper.xml index 55057935..ca73b5f0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerReportMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerReportMapper.xml @@ -29,14 +29,14 @@ and n.DEAL_STATUS = #{bsTowerReport.dealStatus} - - and n.BT_CODE = #{bsTowerReport.btCode} + + and n.BT_CODE like '%' || #{bsTowerReport.btCode} || '%' - - and n.ERROR_POINT = #{bsTowerReport.errorPoint} + + and n.ERROR_POINT like '%' || #{bsTowerReport.errorPoint} || '%' - - and n.MESS_TEXT = #{bsTowerReport.messText} + + and n.MESS_TEXT like '%' || #{bsTowerReport.messText} || '%' and n.CONS_LONG = #{bsTowerReport.consLong} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/WasteGasRunRecMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/WasteGasRunRecMapper.xml index 0a511920..c36db6d8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/WasteGasRunRecMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/WasteGasRunRecMapper.xml @@ -36,8 +36,8 @@ select * from BS_WASTE_GAS_RUN_REC n n.is_deleted = 0 - - and n.DEVICE_NUM = #{bsWasteGasRunRec.deviceNum} + + and n.DEVICE_NUM like '%' || #{bsWasteGasRunRec.deviceNum} || '%' and n.START_TIME = ]]> to_date(#{bsWasteGasRunRec.startTime},'YYYY-MM-DD HH24:MI:SS') diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsTowerEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsTowerEntity.java index 1c023693..3483dbd9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsTowerEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsTowerEntity.java @@ -48,17 +48,17 @@ public class BsTowerEntity extends BaseEntity { @Serial private static final long serialVersionUID = 1L; - - /** - * 名称 - */ - @Schema(description = "名称") - private String btName; /** * 编码 */ @Schema(description = "编码") private String btCode; + /** + * 名称 + */ + @Schema(description = "名称") + private String btName; + /** * 药品名称 */ @@ -79,15 +79,17 @@ public class BsTowerEntity extends BaseEntity { */ @Schema(description = "风机报警点位") private String fanPoint; - /** - * 风机运行点位 - */ - @Schema(description = "风机运行点位") - private String fanRunPoint; /** * 循环泵报警点位 */ @Schema(description = "循环泵报警点位") private String pumpPoint; + /** + * 风机运行点位 + */ + @Schema(description = "风机运行点位") + private String fanRunPoint; + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDosingRecServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDosingRecServiceImpl.java index 4930b017..131bb93b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDosingRecServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDosingRecServiceImpl.java @@ -132,6 +132,7 @@ public class BsDosingRecServiceImpl extends BaseServiceImpl 0) { BsDosingRecEntity bsDosingRecEntity = bsDosingRecEntities.get(0); + //前端回显 bsDosingRecEntity.setBtCode(code); return bsDosingRecEntity; } else {