diff --git a/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/consts/SpringSecurityConstant.java b/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/consts/SpringSecurityConstant.java index 670d499..8c07723 100644 --- a/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/consts/SpringSecurityConstant.java +++ b/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/consts/SpringSecurityConstant.java @@ -71,7 +71,11 @@ public interface SpringSecurityConstant { "/scrProduction/driQuery", "/scrSecurity/driQuery", "/scrProduction/driQhQuery", - "/scrProduction/driMaterQuery" + "/scrProduction/driMaterQuery", + "/scrHideData/list", + "/scrMeterData/list", + "/scrRiskData/list", + "/scrWorkTask/list" }; diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/controller/ScrFactoryHeatController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/controller/ScrFactoryHeatController.java index 945d87a..df6a1e0 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/controller/ScrFactoryHeatController.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/controller/ScrFactoryHeatController.java @@ -57,7 +57,6 @@ public class ScrFactoryHeatController { * @author zhangyn * @date 2025-09-10 10:02:57 */ - @Permission @GetMapping("/scrFactoryHeat/page") @BusinessLog(title = "分厂炉号对应关系_查询", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData page(ScrFactoryHeatParam scrFactoryHeatParam) { @@ -70,7 +69,6 @@ public class ScrFactoryHeatController { * @author zhangyn * @date 2025-09-10 10:02:57 */ - @Permission @PostMapping("/scrFactoryHeat/add") @BusinessLog(title = "分厂炉号对应关系_增加", opType = LogAnnotionOpTypeEnum.ADD) public ResponseData add(@RequestBody @Validated(ScrFactoryHeatParam.add.class) ScrFactoryHeatParam scrFactoryHeatParam) { @@ -84,7 +82,6 @@ public class ScrFactoryHeatController { * @author zhangyn * @date 2025-09-10 10:02:57 */ - @Permission @PostMapping("/scrFactoryHeat/delete") @BusinessLog(title = "分厂炉号对应关系_删除", opType = LogAnnotionOpTypeEnum.DELETE) public ResponseData delete(@RequestBody @Validated(ScrFactoryHeatParam.delete.class) List scrFactoryHeatParamList) { @@ -98,7 +95,6 @@ public class ScrFactoryHeatController { * @author zhangyn * @date 2025-09-10 10:02:57 */ - @Permission @PostMapping("/scrFactoryHeat/edit") @BusinessLog(title = "分厂炉号对应关系_编辑", opType = LogAnnotionOpTypeEnum.EDIT) public ResponseData edit(@RequestBody @Validated(ScrFactoryHeatParam.edit.class) ScrFactoryHeatParam scrFactoryHeatParam) { @@ -112,7 +108,6 @@ public class ScrFactoryHeatController { * @author zhangyn * @date 2025-09-10 10:02:57 */ - @Permission @GetMapping("/scrFactoryHeat/detail") @BusinessLog(title = "分厂炉号对应关系_查看", opType = LogAnnotionOpTypeEnum.DETAIL) public ResponseData detail(@Validated(ScrFactoryHeatParam.detail.class) ScrFactoryHeatParam scrFactoryHeatParam) { @@ -125,7 +120,6 @@ public class ScrFactoryHeatController { * @author zhangyn * @date 2025-09-10 10:02:57 */ - @Permission @GetMapping("/scrFactoryHeat/list") @BusinessLog(title = "分厂炉号对应关系_列表", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData list(ScrFactoryHeatParam scrFactoryHeatParam) { @@ -138,7 +132,7 @@ public class ScrFactoryHeatController { * @author zhangyn * @date 2025-09-10 10:02:57 */ - @Permission +// @Permission @GetMapping("/scrFactoryHeat/export") @BusinessLog(title = "分厂炉号对应关系_导出", opType = LogAnnotionOpTypeEnum.EXPORT) public void export(ScrFactoryHeatParam scrFactoryHeatParam) { diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/enums/ScrFactoryHeatExceptionEnum.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/enums/ScrFactoryHeatExceptionEnum.java index fde7cc7..68511f7 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/enums/ScrFactoryHeatExceptionEnum.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/enums/ScrFactoryHeatExceptionEnum.java @@ -41,7 +41,8 @@ public enum ScrFactoryHeatExceptionEnum implements AbstractBaseExceptionEnum { /** * 数据不存在 */ - NOT_EXIST(1, "此数据不存在"); + NOT_EXIST(1, "此数据不存在"), + EXIST(2, "此数据已存在"); private final Integer code; diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/service/impl/ScrFactoryHeatServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/service/impl/ScrFactoryHeatServiceImpl.java index ff4bd1f..c398ed4 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/service/impl/ScrFactoryHeatServiceImpl.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrfactoryheat/service/impl/ScrFactoryHeatServiceImpl.java @@ -43,7 +43,12 @@ import vip.xiaonuo.modular.scrfactoryheat.param.ScrFactoryHeatParam; import vip.xiaonuo.modular.scrfactoryheat.service.ScrFactoryHeatService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import vip.xiaonuo.modular.scrhidedata.entity.ScrHideData; +import vip.xiaonuo.modular.scrhidedata.enums.ScrHideDataExceptionEnum; +import vip.xiaonuo.modular.scrhidedata.param.ScrHideDataParam; + import javax.annotation.Resource; +import java.time.LocalDate; import java.util.List; /** @@ -79,11 +84,26 @@ public class ScrFactoryHeatServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ScrFactoryHeat::getBranchPlant, scrFactoryHeatParam.getBranchPlant()); + queryWrapper.eq(ScrFactoryHeat::getFurnaceNumber, scrFactoryHeatParam.getFurnaceNumber()); + //是否排除自己,如果是则查询条件排除自己id + if (isExcludeSelf) { + queryWrapper.ne(ScrFactoryHeat::getId, id); + } + int countByAccount = this.count(queryWrapper); + //大于等于1个则表示重复 + if (countByAccount >= 1) { + throw new ServiceException(ScrFactoryHeatExceptionEnum.EXIST); + } + } @Transactional(rollbackFor = Exception.class) @Override public void delete(List scrFactoryHeatParamList) { @@ -95,6 +115,7 @@ public class ScrFactoryHeatServiceImpl extends ServiceImpl scrHideDataParamList) { @@ -98,7 +95,6 @@ public class ScrHideDataController { * @author 1 * @date 2025-10-13 17:15:20 */ - @Permission @PostMapping("/scrHideData/edit") @BusinessLog(title = "隐患整改_编辑", opType = LogAnnotionOpTypeEnum.EDIT) public ResponseData edit(@RequestBody @Validated(ScrHideDataParam.edit.class) ScrHideDataParam scrHideDataParam) { @@ -112,7 +108,6 @@ public class ScrHideDataController { * @author 1 * @date 2025-10-13 17:15:20 */ - @Permission @GetMapping("/scrHideData/detail") @BusinessLog(title = "隐患整改_查看", opType = LogAnnotionOpTypeEnum.DETAIL) public ResponseData detail(@Validated(ScrHideDataParam.detail.class) ScrHideDataParam scrHideDataParam) { @@ -125,7 +120,6 @@ public class ScrHideDataController { * @author 1 * @date 2025-10-13 17:15:20 */ - @Permission @GetMapping("/scrHideData/list") @BusinessLog(title = "隐患整改_列表", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData list(ScrHideDataParam scrHideDataParam) { @@ -138,7 +132,6 @@ public class ScrHideDataController { * @author 1 * @date 2025-10-13 17:15:20 */ - @Permission @GetMapping("/scrHideData/export") @BusinessLog(title = "隐患整改_导出", opType = LogAnnotionOpTypeEnum.EXPORT) public void export(ScrHideDataParam scrHideDataParam) { diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/entity/ScrHideData.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/entity/ScrHideData.java index 48333ba..2c594a3 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/entity/ScrHideData.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/entity/ScrHideData.java @@ -49,17 +49,10 @@ public class ScrHideData extends BaseEntity { private Long id; /** - * 年份 + * 日期 */ - @Excel(name = "年份") - private Integer year; - - /** - * 月份 - */ - @Excel(name = "月份") - private Integer month; - + @Excel(name = "日期", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 20) + private Date happenTime; /** * 隐患数量 */ diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/enums/ScrHideDataExceptionEnum.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/enums/ScrHideDataExceptionEnum.java index da9fd88..3b42b65 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/enums/ScrHideDataExceptionEnum.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/enums/ScrHideDataExceptionEnum.java @@ -41,7 +41,11 @@ public enum ScrHideDataExceptionEnum implements AbstractBaseExceptionEnum { /** * 数据不存在 */ - NOT_EXIST(1, "此数据不存在"); + NOT_EXIST(1, "此数据不存在"), + /** + * 数据已存在 + */ + HAPPEN_TIME_REPEAT(2, "该日期数据已存在,请重新选择"); private final Integer code; diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/param/ScrHideDataParam.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/param/ScrHideDataParam.java index 2712512..928bc58 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/param/ScrHideDataParam.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/param/ScrHideDataParam.java @@ -46,16 +46,10 @@ public class ScrHideDataParam extends BaseParam { private Long id; /** - * 年份 + * 日期 */ - @NotNull(message = "年份不能为空,请检查year参数", groups = {add.class, edit.class}) - private Integer year; - - /** - * 月份 - */ - @NotNull(message = "月份不能为空,请检查month参数", groups = {add.class, edit.class}) - private Integer month; + @NotNull(message = "日期不能为空,请检查happenTime参数", groups = {add.class, edit.class}) + private String happenTime; /** * 隐患数量 @@ -74,5 +68,6 @@ public class ScrHideDataParam extends BaseParam { */ @NotNull(message = "未整改不能为空,请检查wzg参数", groups = {add.class, edit.class}) private Integer wzg; - + private Integer year; + private Integer month; } diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/service/impl/ScrHideDataServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/service/impl/ScrHideDataServiceImpl.java index ac71eb3..fa660cc 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/service/impl/ScrHideDataServiceImpl.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrhidedata/service/impl/ScrHideDataServiceImpl.java @@ -43,7 +43,12 @@ import vip.xiaonuo.modular.scrhidedata.param.ScrHideDataParam; import vip.xiaonuo.modular.scrhidedata.service.ScrHideDataService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import vip.xiaonuo.modular.scrproduction.entity.ScrProduction; +import vip.xiaonuo.sys.modular.user.entity.SysUser; +import vip.xiaonuo.sys.modular.user.enums.SysUserExceptionEnum; + import javax.annotation.Resource; +import java.time.LocalDate; import java.util.List; /** @@ -59,14 +64,11 @@ public class ScrHideDataServiceImpl extends ServiceImpl page(ScrHideDataParam scrHideDataParam) { QueryWrapper queryWrapper = new QueryWrapper<>(); if (ObjectUtil.isNotNull(scrHideDataParam)) { - - // 根据年份 查询 - if (ObjectUtil.isNotEmpty(scrHideDataParam.getYear())) { - queryWrapper.lambda().eq(ScrHideData::getYear, scrHideDataParam.getYear()); - } - // 根据月份 查询 - if (ObjectUtil.isNotEmpty(scrHideDataParam.getMonth())) { - queryWrapper.lambda().eq(ScrHideData::getMonth, scrHideDataParam.getMonth()); + // 根据日期 查询 + if (ObjectUtil.isNotEmpty(scrHideDataParam.getHappenTime())) { + LocalDate happenTime = LocalDate.parse(scrHideDataParam.getHappenTime()); + queryWrapper.apply("YEAR(happen_time) = {0}", happenTime.getYear()); + queryWrapper.apply("MONTH(happen_time) = {0}", happenTime.getMonthValue()); } } return new PageResult<>(this.page(PageFactory.defaultPage(), queryWrapper)); @@ -74,16 +76,43 @@ public class ScrHideDataServiceImpl extends ServiceImpl list(ScrHideDataParam scrHideDataParam) { - return this.list(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (ObjectUtil.isNotNull(scrHideDataParam)) { + if (ObjectUtil.isNotEmpty(scrHideDataParam.getYear()) && ObjectUtil.isNotEmpty(scrHideDataParam.getMonth())) { + queryWrapper.apply("YEAR(happen_time) = {0}", scrHideDataParam.getYear()); + queryWrapper.apply("Month(happen_time) = {0}", scrHideDataParam.getMonth()); + } else if (ObjectUtil.isNotEmpty(scrHideDataParam.getYear())) { + queryWrapper.apply("YEAR(happen_time) = {0}", scrHideDataParam.getYear()); + } + } + return this.list(queryWrapper); } @Override public void add(ScrHideDataParam scrHideDataParam) { + checkParam(scrHideDataParam, false); ScrHideData scrHideData = new ScrHideData(); BeanUtil.copyProperties(scrHideDataParam, scrHideData); this.save(scrHideData); } + private void checkParam(ScrHideDataParam scrHideDataParam, boolean isExcludeSelf) { + Long id = scrHideDataParam.getId(); + LocalDate happenTime = LocalDate.parse(scrHideDataParam.getHappenTime()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.apply("YEAR(happen_time) = {0}", happenTime.getYear()); + queryWrapper.apply("MONTH(happen_time) = {0}", happenTime.getMonthValue()); + //是否排除自己,如果是则查询条件排除自己id + if (isExcludeSelf) { + queryWrapper.ne(ScrHideData::getId, id); + } + int countByAccount = this.count(queryWrapper); + //大于等于1个则表示重复 + if (countByAccount >= 1) { + throw new ServiceException(ScrHideDataExceptionEnum.HAPPEN_TIME_REPEAT); + } + } + @Transactional(rollbackFor = Exception.class) @Override public void delete(List scrHideDataParamList) { @@ -95,6 +124,7 @@ public class ScrHideDataServiceImpl extends ServiceImpl scrMeterDataParamList) { @@ -98,7 +95,6 @@ public class ScrMeterDataController { * @author 2 * @date 2025-10-13 17:55:42 */ - @Permission @PostMapping("/scrMeterData/edit") @BusinessLog(title = "电表_编辑", opType = LogAnnotionOpTypeEnum.EDIT) public ResponseData edit(@RequestBody @Validated(ScrMeterDataParam.edit.class) ScrMeterDataParam scrMeterDataParam) { @@ -112,7 +108,6 @@ public class ScrMeterDataController { * @author 2 * @date 2025-10-13 17:55:42 */ - @Permission @GetMapping("/scrMeterData/detail") @BusinessLog(title = "电表_查看", opType = LogAnnotionOpTypeEnum.DETAIL) public ResponseData detail(@Validated(ScrMeterDataParam.detail.class) ScrMeterDataParam scrMeterDataParam) { @@ -125,7 +120,6 @@ public class ScrMeterDataController { * @author 2 * @date 2025-10-13 17:55:42 */ - @Permission @GetMapping("/scrMeterData/list") @BusinessLog(title = "电表_列表", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData list(ScrMeterDataParam scrMeterDataParam) { @@ -138,7 +132,6 @@ public class ScrMeterDataController { * @author 2 * @date 2025-10-13 17:55:42 */ - @Permission @GetMapping("/scrMeterData/export") @BusinessLog(title = "电表_导出", opType = LogAnnotionOpTypeEnum.EXPORT) public void export(ScrMeterDataParam scrMeterDataParam) { diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/entity/ScrMeterData.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/entity/ScrMeterData.java index 96d46cf..f66f80c 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/entity/ScrMeterData.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/entity/ScrMeterData.java @@ -57,16 +57,10 @@ public class ScrMeterData extends BaseEntity { private String name; /** - * 年份 + * 日期 */ - @Excel(name = "年份") - private Integer year; - - /** - * 月份 - */ - @Excel(name = "月份") - private Integer month; + @Excel(name = "日期", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 20) + private Date happenTime; /** * 累计电量 diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/param/ScrMeterDataParam.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/param/ScrMeterDataParam.java index ff362b1..fdb4e28 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/param/ScrMeterDataParam.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/param/ScrMeterDataParam.java @@ -54,16 +54,10 @@ public class ScrMeterDataParam extends BaseParam { private String name; /** - * 年份 + * 日期 */ - @NotNull(message = "年份不能为空,请检查year参数", groups = {add.class, edit.class}) - private Integer year; - - /** - * 月份 - */ - @NotNull(message = "月份不能为空,请检查month参数", groups = {add.class, edit.class}) - private Integer month; + @NotNull(message = "日期不能为空,请检查happenTime参数", groups = {add.class, edit.class}) + private String happenTime; /** * 累计电量 @@ -76,5 +70,6 @@ public class ScrMeterDataParam extends BaseParam { */ @NotNull(message = "平均功率不能为空,请检查avgPower参数", groups = {add.class, edit.class}) private BigDecimal avgPower; - + private Integer year; + private Integer month; } diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/service/impl/ScrMeterDataServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/service/impl/ScrMeterDataServiceImpl.java index 413b8d6..f91f77f 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/service/impl/ScrMeterDataServiceImpl.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrmeterdata/service/impl/ScrMeterDataServiceImpl.java @@ -36,6 +36,9 @@ import vip.xiaonuo.core.exception.ServiceException; import vip.xiaonuo.core.factory.PageFactory; import vip.xiaonuo.core.pojo.page.PageResult; import vip.xiaonuo.core.util.PoiUtil; +import vip.xiaonuo.modular.scrhidedata.entity.ScrHideData; +import vip.xiaonuo.modular.scrhidedata.enums.ScrHideDataExceptionEnum; +import vip.xiaonuo.modular.scrhidedata.param.ScrHideDataParam; import vip.xiaonuo.modular.scrmeterdata.entity.ScrMeterData; import vip.xiaonuo.modular.scrmeterdata.enums.ScrMeterDataExceptionEnum; import vip.xiaonuo.modular.scrmeterdata.mapper.ScrMeterDataMapper; @@ -44,6 +47,7 @@ import vip.xiaonuo.modular.scrmeterdata.service.ScrMeterDataService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDate; import java.util.List; /** @@ -64,13 +68,11 @@ public class ScrMeterDataServiceImpl extends ServiceImpl(this.page(PageFactory.defaultPage(), queryWrapper)); @@ -78,16 +80,48 @@ public class ScrMeterDataServiceImpl extends ServiceImpl list(ScrMeterDataParam scrMeterDataParam) { - return this.list(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (ObjectUtil.isNotNull(scrMeterDataParam)) { + + // 根据电表 查询 + if (ObjectUtil.isNotEmpty(scrMeterDataParam.getName())) { + queryWrapper.lambda().like(ScrMeterData::getName, scrMeterDataParam.getName()); + } + if (ObjectUtil.isNotEmpty(scrMeterDataParam.getYear()) && ObjectUtil.isNotEmpty(scrMeterDataParam.getMonth())) { + queryWrapper.apply("YEAR(happen_time) = {0}", scrMeterDataParam.getYear()); + queryWrapper.apply("Month(happen_time) = {0}", scrMeterDataParam.getMonth()); + } else if (ObjectUtil.isNotEmpty(scrMeterDataParam.getYear())) { + queryWrapper.apply("YEAR(happen_time) = {0}", scrMeterDataParam.getYear()); + } + } + return this.list(queryWrapper); } @Override public void add(ScrMeterDataParam scrMeterDataParam) { + checkParam(scrMeterDataParam, false); ScrMeterData scrMeterData = new ScrMeterData(); BeanUtil.copyProperties(scrMeterDataParam, scrMeterData); this.save(scrMeterData); } - + private void checkParam(ScrMeterDataParam scrMeterDataParam, boolean isExcludeSelf) { + Long id = scrMeterDataParam.getId(); + String name = scrMeterDataParam.getName(); + LocalDate happenTime = LocalDate.parse(scrMeterDataParam.getHappenTime()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ScrMeterData::getName, name); + queryWrapper.apply("YEAR(happen_time) = {0}", happenTime.getYear()); + queryWrapper.apply("MONTH(happen_time) = {0}", happenTime.getMonthValue()); + //是否排除自己,如果是则查询条件排除自己id + if (isExcludeSelf) { + queryWrapper.ne(ScrMeterData::getId, id); + } + int countByAccount = this.count(queryWrapper); + //大于等于1个则表示重复 + if (countByAccount >= 1) { + throw new ServiceException(ScrHideDataExceptionEnum.HAPPEN_TIME_REPEAT); + } + } @Transactional(rollbackFor = Exception.class) @Override public void delete(List scrMeterDataParamList) { @@ -99,6 +133,7 @@ public class ScrMeterDataServiceImpl extends ServiceImpl scrProductionParamList) { @@ -98,7 +95,6 @@ public class ScrProductionController { * @author zyn * @date 2025-09-10 10:03:01 */ - @Permission @PostMapping("/scrProduction/edit") @BusinessLog(title = "产量_编辑", opType = LogAnnotionOpTypeEnum.EDIT) public ResponseData edit(@RequestBody @Validated(ScrProductionParam.edit.class) ScrProductionParam scrProductionParam) { @@ -112,7 +108,6 @@ public class ScrProductionController { * @author zyn * @date 2025-09-10 10:03:01 */ - @Permission @GetMapping("/scrProduction/detail") @BusinessLog(title = "产量_查看", opType = LogAnnotionOpTypeEnum.DETAIL) public ResponseData detail(@Validated(ScrProductionParam.detail.class) ScrProductionParam scrProductionParam) { @@ -125,7 +120,6 @@ public class ScrProductionController { * @author zyn * @date 2025-09-10 10:03:01 */ - @Permission @GetMapping("/scrProduction/list") @BusinessLog(title = "产量_列表", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData list(ScrProductionParam scrProductionParam) { @@ -138,7 +132,6 @@ public class ScrProductionController { * @author zyn * @date 2025-09-10 10:03:01 */ - @Permission @GetMapping("/scrProduction/export") @BusinessLog(title = "产量_导出", opType = LogAnnotionOpTypeEnum.EXPORT) public void export(ScrProductionParam scrProductionParam) { diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrrawmaterials/controller/ScrRawMaterialsController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrrawmaterials/controller/ScrRawMaterialsController.java index eb6e8c8..1073090 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrrawmaterials/controller/ScrRawMaterialsController.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrrawmaterials/controller/ScrRawMaterialsController.java @@ -57,7 +57,6 @@ public class ScrRawMaterialsController { * @author zyn * @date 2025-09-10 10:03:02 */ - @Permission @GetMapping("/scrRawMaterials/page") @BusinessLog(title = "原材料_查询", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData page(ScrRawMaterialsParam scrRawMaterialsParam) { @@ -70,7 +69,6 @@ public class ScrRawMaterialsController { * @author zyn * @date 2025-09-10 10:03:02 */ - @Permission @PostMapping("/scrRawMaterials/add") @BusinessLog(title = "原材料_增加", opType = LogAnnotionOpTypeEnum.ADD) public ResponseData add(@RequestBody @Validated(ScrRawMaterialsParam.add.class) ScrRawMaterialsParam scrRawMaterialsParam) { @@ -84,7 +82,6 @@ public class ScrRawMaterialsController { * @author zyn * @date 2025-09-10 10:03:02 */ - @Permission @PostMapping("/scrRawMaterials/delete") @BusinessLog(title = "原材料_删除", opType = LogAnnotionOpTypeEnum.DELETE) public ResponseData delete(@RequestBody @Validated(ScrRawMaterialsParam.delete.class) List scrRawMaterialsParamList) { @@ -98,7 +95,6 @@ public class ScrRawMaterialsController { * @author zyn * @date 2025-09-10 10:03:02 */ - @Permission @PostMapping("/scrRawMaterials/edit") @BusinessLog(title = "原材料_编辑", opType = LogAnnotionOpTypeEnum.EDIT) public ResponseData edit(@RequestBody @Validated(ScrRawMaterialsParam.edit.class) ScrRawMaterialsParam scrRawMaterialsParam) { @@ -112,7 +108,6 @@ public class ScrRawMaterialsController { * @author zyn * @date 2025-09-10 10:03:02 */ - @Permission @GetMapping("/scrRawMaterials/detail") @BusinessLog(title = "原材料_查看", opType = LogAnnotionOpTypeEnum.DETAIL) public ResponseData detail(@Validated(ScrRawMaterialsParam.detail.class) ScrRawMaterialsParam scrRawMaterialsParam) { @@ -125,7 +120,6 @@ public class ScrRawMaterialsController { * @author zyn * @date 2025-09-10 10:03:02 */ - @Permission @GetMapping("/scrRawMaterials/list") @BusinessLog(title = "原材料_列表", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData list(ScrRawMaterialsParam scrRawMaterialsParam) { @@ -138,7 +132,6 @@ public class ScrRawMaterialsController { * @author zyn * @date 2025-09-10 10:03:02 */ - @Permission @GetMapping("/scrRawMaterials/export") @BusinessLog(title = "原材料_导出", opType = LogAnnotionOpTypeEnum.EXPORT) public void export(ScrRawMaterialsParam scrRawMaterialsParam) { diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/controller/ScrRiskDataController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/controller/ScrRiskDataController.java index b11c130..003f1cf 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/controller/ScrRiskDataController.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/controller/ScrRiskDataController.java @@ -57,7 +57,6 @@ public class ScrRiskDataController { * @author 1 * @date 2025-10-13 17:08:52 */ - @Permission @GetMapping("/scrRiskData/page") @BusinessLog(title = "风险排查_查询", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData page(ScrRiskDataParam scrRiskDataParam) { @@ -70,7 +69,6 @@ public class ScrRiskDataController { * @author 1 * @date 2025-10-13 17:08:52 */ - @Permission @PostMapping("/scrRiskData/add") @BusinessLog(title = "风险排查_增加", opType = LogAnnotionOpTypeEnum.ADD) public ResponseData add(@RequestBody @Validated(ScrRiskDataParam.add.class) ScrRiskDataParam scrRiskDataParam) { @@ -84,7 +82,6 @@ public class ScrRiskDataController { * @author 1 * @date 2025-10-13 17:08:52 */ - @Permission @PostMapping("/scrRiskData/delete") @BusinessLog(title = "风险排查_删除", opType = LogAnnotionOpTypeEnum.DELETE) public ResponseData delete(@RequestBody @Validated(ScrRiskDataParam.delete.class) List scrRiskDataParamList) { @@ -98,7 +95,7 @@ public class ScrRiskDataController { * @author 1 * @date 2025-10-13 17:08:52 */ - @Permission + @PostMapping("/scrRiskData/edit") @BusinessLog(title = "风险排查_编辑", opType = LogAnnotionOpTypeEnum.EDIT) public ResponseData edit(@RequestBody @Validated(ScrRiskDataParam.edit.class) ScrRiskDataParam scrRiskDataParam) { @@ -112,7 +109,6 @@ public class ScrRiskDataController { * @author 1 * @date 2025-10-13 17:08:52 */ - @Permission @GetMapping("/scrRiskData/detail") @BusinessLog(title = "风险排查_查看", opType = LogAnnotionOpTypeEnum.DETAIL) public ResponseData detail(@Validated(ScrRiskDataParam.detail.class) ScrRiskDataParam scrRiskDataParam) { @@ -125,7 +121,6 @@ public class ScrRiskDataController { * @author 1 * @date 2025-10-13 17:08:52 */ - @Permission @GetMapping("/scrRiskData/list") @BusinessLog(title = "风险排查_列表", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData list(ScrRiskDataParam scrRiskDataParam) { @@ -138,7 +133,6 @@ public class ScrRiskDataController { * @author 1 * @date 2025-10-13 17:08:52 */ - @Permission @GetMapping("/scrRiskData/export") @BusinessLog(title = "风险排查_导出", opType = LogAnnotionOpTypeEnum.EXPORT) public void export(ScrRiskDataParam scrRiskDataParam) { diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/entity/ScrRiskData.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/entity/ScrRiskData.java index b7c048a..25ef9fd 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/entity/ScrRiskData.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/entity/ScrRiskData.java @@ -49,16 +49,10 @@ public class ScrRiskData extends BaseEntity { private Long id; /** - * 年份 + * 日期 */ - @Excel(name = "年份") - private Integer year; - - /** - * 月份 - */ - @Excel(name = "月份") - private Integer month; + @Excel(name = "日期", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 20) + private Date happenTime; /** * 已排查 diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/param/ScrRiskDataParam.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/param/ScrRiskDataParam.java index 3ef645d..175d918 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/param/ScrRiskDataParam.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/param/ScrRiskDataParam.java @@ -46,16 +46,10 @@ public class ScrRiskDataParam extends BaseParam { private Long id; /** - * 年份 + * 日期 */ - @NotNull(message = "年份不能为空,请检查year参数", groups = {add.class, edit.class}) - private Integer year; - - /** - * 月份 - */ - @NotNull(message = "月份不能为空,请检查month参数", groups = {add.class, edit.class}) - private Integer month; + @NotNull(message = "日期不能为空,请检查happenTime参数", groups = {add.class, edit.class}) + private String happenTime; /** * 已排查 @@ -74,5 +68,6 @@ public class ScrRiskDataParam extends BaseParam { */ @NotNull(message = "超期未排查不能为空,请检查cqwpc参数", groups = {add.class, edit.class}) private Integer cqwpc; - + private Integer year; + private Integer month; } diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/service/impl/ScrRiskDataServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/service/impl/ScrRiskDataServiceImpl.java index 8363549..e01c4aa 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/service/impl/ScrRiskDataServiceImpl.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrriskdata/service/impl/ScrRiskDataServiceImpl.java @@ -36,6 +36,9 @@ import vip.xiaonuo.core.exception.ServiceException; import vip.xiaonuo.core.factory.PageFactory; import vip.xiaonuo.core.pojo.page.PageResult; import vip.xiaonuo.core.util.PoiUtil; +import vip.xiaonuo.modular.scrhidedata.enums.ScrHideDataExceptionEnum; +import vip.xiaonuo.modular.scrmeterdata.entity.ScrMeterData; +import vip.xiaonuo.modular.scrmeterdata.param.ScrMeterDataParam; import vip.xiaonuo.modular.scrriskdata.entity.ScrRiskData; import vip.xiaonuo.modular.scrriskdata.enums.ScrRiskDataExceptionEnum; import vip.xiaonuo.modular.scrriskdata.mapper.ScrRiskDataMapper; @@ -44,6 +47,7 @@ import vip.xiaonuo.modular.scrriskdata.service.ScrRiskDataService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDate; import java.util.List; /** @@ -60,13 +64,11 @@ public class ScrRiskDataServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); if (ObjectUtil.isNotNull(scrRiskDataParam)) { - // 根据年份 查询 - if (ObjectUtil.isNotEmpty(scrRiskDataParam.getYear())) { - queryWrapper.lambda().eq(ScrRiskData::getYear, scrRiskDataParam.getYear()); - } - // 根据月份 查询 - if (ObjectUtil.isNotEmpty(scrRiskDataParam.getMonth())) { - queryWrapper.lambda().eq(ScrRiskData::getMonth, scrRiskDataParam.getMonth()); + // 根据日期 查询 + if (ObjectUtil.isNotEmpty(scrRiskDataParam.getHappenTime())) { + LocalDate happenTime = LocalDate.parse(scrRiskDataParam.getHappenTime()); + queryWrapper.apply("YEAR(happen_time) = {0}", happenTime.getYear()); + queryWrapper.apply("MONTH(happen_time) = {0}", happenTime.getMonthValue()); } } return new PageResult<>(this.page(PageFactory.defaultPage(), queryWrapper)); @@ -74,16 +76,42 @@ public class ScrRiskDataServiceImpl extends ServiceImpl list(ScrRiskDataParam scrRiskDataParam) { - return this.list(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (ObjectUtil.isNotNull(scrRiskDataParam)) { + + if (ObjectUtil.isNotEmpty(scrRiskDataParam.getYear()) && ObjectUtil.isNotEmpty(scrRiskDataParam.getMonth())) { + queryWrapper.apply("YEAR(happen_time) = {0}", scrRiskDataParam.getYear()); + queryWrapper.apply("Month(happen_time) = {0}", scrRiskDataParam.getMonth()); + } else if (ObjectUtil.isNotEmpty(scrRiskDataParam.getYear())) { + queryWrapper.apply("YEAR(happen_time) = {0}", scrRiskDataParam.getYear()); + } + } + return this.list(queryWrapper); } @Override public void add(ScrRiskDataParam scrRiskDataParam) { + checkParam(scrRiskDataParam, false); ScrRiskData scrRiskData = new ScrRiskData(); BeanUtil.copyProperties(scrRiskDataParam, scrRiskData); this.save(scrRiskData); } - + private void checkParam(ScrRiskDataParam scrRiskDataParam, boolean isExcludeSelf) { + Long id = scrRiskDataParam.getId(); + LocalDate happenTime = LocalDate.parse(scrRiskDataParam.getHappenTime()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.apply("YEAR(happen_time) = {0}", happenTime.getYear()); + queryWrapper.apply("MONTH(happen_time) = {0}", happenTime.getMonthValue()); + //是否排除自己,如果是则查询条件排除自己id + if (isExcludeSelf) { + queryWrapper.ne(ScrRiskData::getId, id); + } + int countByAccount = this.count(queryWrapper); + //大于等于1个则表示重复 + if (countByAccount >= 1) { + throw new ServiceException(ScrHideDataExceptionEnum.HAPPEN_TIME_REPEAT); + } + } @Transactional(rollbackFor = Exception.class) @Override public void delete(List scrRiskDataParamList) { @@ -95,6 +123,7 @@ public class ScrRiskDataServiceImpl extends ServiceImpl scrSecurityParamList) { @@ -99,7 +96,6 @@ public class ScrSecurityController { * @author zyn * @date 2025-09-10 10:03:04 */ - @Permission @PostMapping("/scrSecurity/edit") @BusinessLog(title = "安全异常事件_编辑", opType = LogAnnotionOpTypeEnum.EDIT) public ResponseData edit(@RequestBody @Validated(ScrSecurityParam.edit.class) ScrSecurityParam scrSecurityParam) { @@ -113,7 +109,6 @@ public class ScrSecurityController { * @author zyn * @date 2025-09-10 10:03:04 */ - @Permission @GetMapping("/scrSecurity/detail") @BusinessLog(title = "安全异常事件_查看", opType = LogAnnotionOpTypeEnum.DETAIL) public ResponseData detail(@Validated(ScrSecurityParam.detail.class) ScrSecurityParam scrSecurityParam) { @@ -126,7 +121,6 @@ public class ScrSecurityController { * @author zyn * @date 2025-09-10 10:03:04 */ - @Permission @GetMapping("/scrSecurity/list") @BusinessLog(title = "安全异常事件_列表", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData list(ScrSecurityParam scrSecurityParam) { @@ -139,7 +133,6 @@ public class ScrSecurityController { * @author zyn * @date 2025-09-10 10:03:04 */ - @Permission @GetMapping("/scrSecurity/export") @BusinessLog(title = "安全异常事件_导出", opType = LogAnnotionOpTypeEnum.EXPORT) public void export(ScrSecurityParam scrSecurityParam) { diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrsecurity/service/impl/ScrSecurityServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrsecurity/service/impl/ScrSecurityServiceImpl.java index 9e2abc2..544a412 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrsecurity/service/impl/ScrSecurityServiceImpl.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrsecurity/service/impl/ScrSecurityServiceImpl.java @@ -63,7 +63,7 @@ public class ScrSecurityServiceImpl extends ServiceImpl scrWorkTaskParamList) { @@ -98,7 +95,6 @@ public class ScrWorkTaskController { * @author 1 * @date 2025-10-13 17:49:44 */ - @Permission @PostMapping("/scrWorkTask/edit") @BusinessLog(title = "作业票_编辑", opType = LogAnnotionOpTypeEnum.EDIT) public ResponseData edit(@RequestBody @Validated(ScrWorkTaskParam.edit.class) ScrWorkTaskParam scrWorkTaskParam) { @@ -112,7 +108,6 @@ public class ScrWorkTaskController { * @author 1 * @date 2025-10-13 17:49:44 */ - @Permission @GetMapping("/scrWorkTask/detail") @BusinessLog(title = "作业票_查看", opType = LogAnnotionOpTypeEnum.DETAIL) public ResponseData detail(@Validated(ScrWorkTaskParam.detail.class) ScrWorkTaskParam scrWorkTaskParam) { @@ -125,7 +120,6 @@ public class ScrWorkTaskController { * @author 1 * @date 2025-10-13 17:49:44 */ - @Permission @GetMapping("/scrWorkTask/list") @BusinessLog(title = "作业票_列表", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData list(ScrWorkTaskParam scrWorkTaskParam) { @@ -138,7 +132,6 @@ public class ScrWorkTaskController { * @author 1 * @date 2025-10-13 17:49:44 */ - @Permission @GetMapping("/scrWorkTask/export") @BusinessLog(title = "作业票_导出", opType = LogAnnotionOpTypeEnum.EXPORT) public void export(ScrWorkTaskParam scrWorkTaskParam) { diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/entity/ScrWorkTask.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/entity/ScrWorkTask.java index 63d96cc..7135938 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/entity/ScrWorkTask.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/entity/ScrWorkTask.java @@ -55,16 +55,10 @@ public class ScrWorkTask extends BaseEntity { private String name; /** - * 年 + * 日期 */ - @Excel(name = "年") - private Integer year; - - /** - * 月份 - */ - @Excel(name = "月份") - private Integer month; + @Excel(name = "日期", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 20) + private Date happenTime; /** * 数量 diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/param/ScrWorkTaskParam.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/param/ScrWorkTaskParam.java index c914378..89c4810 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/param/ScrWorkTaskParam.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/param/ScrWorkTaskParam.java @@ -52,21 +52,16 @@ public class ScrWorkTaskParam extends BaseParam { private String name; /** - * 年 + * 日期 */ - @NotNull(message = "年不能为空,请检查year参数", groups = {add.class, edit.class}) - private Integer year; - - /** - * 月份 - */ - @NotNull(message = "月份不能为空,请检查month参数", groups = {add.class, edit.class}) - private Integer month; + @NotNull(message = "日期不能为空,请检查happenTime参数", groups = {add.class, edit.class}) + private String happenTime; /** * 数量 */ @NotNull(message = "数量不能为空,请检查totalNum参数", groups = {add.class, edit.class}) private Integer totalNum; - + private Integer year; + private Integer month; } diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/service/impl/ScrWorkTaskServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/service/impl/ScrWorkTaskServiceImpl.java index a2eff3e..202e725 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/service/impl/ScrWorkTaskServiceImpl.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrworktask/service/impl/ScrWorkTaskServiceImpl.java @@ -36,6 +36,9 @@ import vip.xiaonuo.core.exception.ServiceException; import vip.xiaonuo.core.factory.PageFactory; import vip.xiaonuo.core.pojo.page.PageResult; import vip.xiaonuo.core.util.PoiUtil; +import vip.xiaonuo.modular.scrhidedata.enums.ScrHideDataExceptionEnum; +import vip.xiaonuo.modular.scrmeterdata.entity.ScrMeterData; +import vip.xiaonuo.modular.scrmeterdata.param.ScrMeterDataParam; import vip.xiaonuo.modular.scrworktask.entity.ScrWorkTask; import vip.xiaonuo.modular.scrworktask.enums.ScrWorkTaskExceptionEnum; import vip.xiaonuo.modular.scrworktask.mapper.ScrWorkTaskMapper; @@ -44,6 +47,7 @@ import vip.xiaonuo.modular.scrworktask.service.ScrWorkTaskService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDate; import java.util.List; /** @@ -64,13 +68,11 @@ public class ScrWorkTaskServiceImpl extends ServiceImpl(this.page(PageFactory.defaultPage(), queryWrapper)); @@ -78,16 +80,48 @@ public class ScrWorkTaskServiceImpl extends ServiceImpl list(ScrWorkTaskParam scrWorkTaskParam) { - return this.list(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (ObjectUtil.isNotNull(scrWorkTaskParam)) { + + // 根据8大作业票 查询 + if (ObjectUtil.isNotEmpty(scrWorkTaskParam.getName())) { + queryWrapper.lambda().eq(ScrWorkTask::getName, scrWorkTaskParam.getName()); + } + if (ObjectUtil.isNotEmpty(scrWorkTaskParam.getYear()) && ObjectUtil.isNotEmpty(scrWorkTaskParam.getMonth())) { + queryWrapper.apply("YEAR(happen_time) = {0}", scrWorkTaskParam.getYear()); + queryWrapper.apply("Month(happen_time) = {0}", scrWorkTaskParam.getMonth()); + } else if (ObjectUtil.isNotEmpty(scrWorkTaskParam.getYear())) { + queryWrapper.apply("YEAR(happen_time) = {0}", scrWorkTaskParam.getYear()); + } + } + return this.list(queryWrapper); } @Override public void add(ScrWorkTaskParam scrWorkTaskParam) { + checkParam(scrWorkTaskParam, false); ScrWorkTask scrWorkTask = new ScrWorkTask(); BeanUtil.copyProperties(scrWorkTaskParam, scrWorkTask); this.save(scrWorkTask); } - + private void checkParam(ScrWorkTaskParam scrWorkTaskParam, boolean isExcludeSelf) { + Long id = scrWorkTaskParam.getId(); + String name = scrWorkTaskParam.getName(); + LocalDate happenTime = LocalDate.parse(scrWorkTaskParam.getHappenTime()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ScrWorkTask::getName, name); + queryWrapper.apply("YEAR(happen_time) = {0}", happenTime.getYear()); + queryWrapper.apply("MONTH(happen_time) = {0}", happenTime.getMonthValue()); + //是否排除自己,如果是则查询条件排除自己id + if (isExcludeSelf) { + queryWrapper.ne(ScrWorkTask::getId, id); + } + int countByAccount = this.count(queryWrapper); + //大于等于1个则表示重复 + if (countByAccount >= 1) { + throw new ServiceException(ScrHideDataExceptionEnum.HAPPEN_TIME_REPEAT); + } + } @Transactional(rollbackFor = Exception.class) @Override public void delete(List scrWorkTaskParamList) { @@ -99,6 +133,7 @@ public class ScrWorkTaskServiceImpl extends ServiceImpl