From aa3b8367496fe9da4005244e028f26f34daf82b3 Mon Sep 17 00:00:00 2001 From: YIN Date: Fri, 19 Dec 2025 09:15:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E9=9C=80=E6=B1=82=E3=80=81=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E3=80=81=E5=AF=B9=E6=8E=A5=E7=9C=81=E5=8E=85=E7=BB=BC?= =?UTF-8?q?=E5=90=88=E6=8C=87=E6=8C=A5=E8=B0=83=E5=BA=A6=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/AuthController.java | 1 + .../web/controller/HomeController.java | 70 +++ .../src/main/resources/application-dev.yml | 5 +- .../src/main/resources/application-prod.yml | 3 +- .../core/enums/ReportInfoStatusEnum.java | 138 +++++ .../dromara/common/sse/dto/SseMessageDto.java | 4 + .../src/main/resources/application-dev.yml | 19 +- .../src/main/resources/application-prod.yml | 3 +- .../dromara/job/snailjob/StatJobExecutor.java | 84 +++ .../biz/controller/BizCategoryController.java | 14 +- .../controller/BizIcdsBulletinController.java | 115 +++++ .../controller/BizIcdsDailyController.java | 112 ++++ .../controller/BizIcdsNoticeController.java | 115 +++++ .../controller/BizReportFileController.java | 12 +- .../controller/BizReportInfoController.java | 33 +- .../controller/BizReportPersonController.java | 105 ++++ .../BizReportReceiverController.java | 12 +- .../controller/BizReportReplyController.java | 12 +- .../biz/controller/BizStatCateController.java | 115 +++++ .../dromara/biz/controller/RPAController.java | 98 ++++ .../biz/controller/StatController.java | 97 ++++ .../org/dromara/biz/domain/BizCategory.java | 5 + .../java/org/dromara/biz/domain/BizDuty.java | 9 + .../dromara/biz/domain/BizIcdsBulletin.java | 133 +++++ .../org/dromara/biz/domain/BizIcdsDaily.java | 108 ++++ .../org/dromara/biz/domain/BizIcdsNotice.java | 83 +++ .../org/dromara/biz/domain/BizReportInfo.java | 5 + .../dromara/biz/domain/BizReportPerson.java | 403 +++++++++++++++ .../org/dromara/biz/domain/BizStatCate.java | 63 +++ .../dromara/biz/domain/bo/BizCategoryBo.java | 10 +- .../org/dromara/biz/domain/bo/BizDutyBo.java | 10 + .../biz/domain/bo/BizIcdsBulletinBo.java | 132 +++++ .../dromara/biz/domain/bo/BizIcdsDailyBo.java | 107 ++++ .../biz/domain/bo/BizIcdsNoticeBo.java | 82 +++ .../biz/domain/bo/BizReportInfoBo.java | 11 + .../biz/domain/bo/BizReportPersonBo.java | 402 +++++++++++++++ .../org/dromara/biz/domain/bo/BizStatBo.java | 40 ++ .../dromara/biz/domain/bo/BizStatCateBo.java | 62 +++ .../dromara/biz/domain/vo/BizCategoryVo.java | 7 + .../org/dromara/biz/domain/vo/BizDutyVo.java | 18 + .../biz/domain/vo/BizIcdsBulletinVo.java | 160 ++++++ .../dromara/biz/domain/vo/BizIcdsDailyVo.java | 130 +++++ .../biz/domain/vo/BizIcdsNoticeVo.java | 100 ++++ .../biz/domain/vo/BizReportInfoVo.java | 10 + .../biz/domain/vo/BizReportPersonVo.java | 484 ++++++++++++++++++ .../dromara/biz/domain/vo/BizStatCateVo.java | 101 ++++ .../biz/mapper/BizIcdsBulletinMapper.java | 15 + .../biz/mapper/BizIcdsDailyMapper.java | 15 + .../biz/mapper/BizIcdsNoticeMapper.java | 15 + .../biz/mapper/BizReportFileMapper.java | 7 + .../biz/mapper/BizReportPersonMapper.java | 15 + .../dromara/biz/mapper/BizStatCateMapper.java | 30 ++ .../dromara/biz/mapper/CustomSQLMapper.java | 34 ++ .../biz/service/IBizIcdsBulletinService.java | 76 +++ .../biz/service/IBizIcdsDailyService.java | 76 +++ .../biz/service/IBizIcdsNoticeService.java | 76 +++ .../biz/service/IBizReportInfoService.java | 8 + .../biz/service/IBizReportPersonService.java | 68 +++ .../biz/service/IBizStatCateService.java | 70 +++ .../biz/service/ICustomSQLService.java | 25 + .../service/impl/BizCategoryServiceImpl.java | 1 + .../biz/service/impl/BizDutyServiceImpl.java | 15 +- .../impl/BizIcdsBulletinServiceImpl.java | 175 +++++++ .../service/impl/BizIcdsDailyServiceImpl.java | 171 +++++++ .../impl/BizIcdsNoticeServiceImpl.java | 154 ++++++ .../impl/BizReportInfoServiceImpl.java | 156 +++++- .../impl/BizReportPersonServiceImpl.java | 203 ++++++++ .../impl/BizReportReceiverServiceImpl.java | 31 +- .../impl/BizReportReplyServiceImpl.java | 19 + .../service/impl/BizStatCateServiceImpl.java | 141 +++++ .../service/impl/CustomSQLServiceImpl.java | 48 ++ .../system/SysDictDataController.java | 30 ++ .../controller/system/SysRoleController.java | 4 +- .../controller/system/SysUserController.java | 4 +- .../dromara/system/domain/bo/SysUserBo.java | 6 + .../dromara/system/mapper/SysUserMapper.java | 1 + .../system/service/ISysUserService.java | 2 + .../service/impl/SysUserServiceImpl.java | 31 +- .../mapper/biz/BizIcdsBulletinMapper.xml | 7 + .../mapper/biz/BizIcdsDailyMapper.xml | 7 + .../mapper/biz/BizIcdsNoticeMapper.xml | 7 + .../mapper/biz/BizReportPersonMapper.xml | 7 + .../mapper/biz/BizStatCateMapper.xml | 49 ++ .../resources/mapper/system/SysUserMapper.xml | 1 - 84 files changed, 5563 insertions(+), 79 deletions(-) create mode 100644 ruoyi-admin/src/main/java/org/dromara/web/controller/HomeController.java create mode 100644 ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/ReportInfoStatusEnum.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/StatJobExecutor.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsBulletinController.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsDailyController.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsNoticeController.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportPersonController.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizStatCateController.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/RPAController.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/StatController.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsBulletin.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsDaily.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsNotice.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizReportPerson.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizStatCate.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsBulletinBo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsDailyBo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsNoticeBo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizReportPersonBo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizStatBo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizStatCateBo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsBulletinVo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsDailyVo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsNoticeVo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizReportPersonVo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizStatCateVo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsBulletinMapper.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsDailyMapper.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsNoticeMapper.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizReportPersonMapper.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizStatCateMapper.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/CustomSQLMapper.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsBulletinService.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsDailyService.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsNoticeService.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizReportPersonService.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizStatCateService.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/ICustomSQLService.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsBulletinServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsDailyServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsNoticeServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportPersonServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizStatCateServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/CustomSQLServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsBulletinMapper.xml create mode 100644 ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsDailyMapper.xml create mode 100644 ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsNoticeMapper.xml create mode 100644 ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizReportPersonMapper.xml create mode 100644 ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizStatCateMapper.xml diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java index 2c63b41..c91c0e7 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java @@ -106,6 +106,7 @@ public class AuthController { scheduledExecutorService.schedule(() -> { SseMessageDto dto = new SseMessageDto(); dto.setMessage("欢迎使用本系统"); + dto.setType("login"); dto.setUserIds(List.of(userId)); SseMessageUtils.publishMessage(dto); }, 5, TimeUnit.SECONDS); diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/HomeController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/HomeController.java new file mode 100644 index 0000000..37f85f7 --- /dev/null +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/HomeController.java @@ -0,0 +1,70 @@ +package org.dromara.web.controller; + +import cn.dev33.satoken.annotation.SaIgnore; +import cn.hutool.core.date.DateUtil; +import lombok.RequiredArgsConstructor; +import org.dromara.biz.domain.bo.BizReportInfoBo; +import org.dromara.biz.domain.bo.BizStatCateBo; +import org.dromara.biz.service.IBizReportInfoService; +import org.dromara.biz.service.IBizStatCateService; +import org.dromara.common.core.config.RuoYiConfig; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.satoken.utils.LoginHelper; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +/** + * 首页 + * + * @author Lion Li + */ +@SaIgnore +@RequiredArgsConstructor +@RestController +public class HomeController { + + /** + * 系统基础配置 + */ + private final RuoYiConfig ruoyiConfig; + + private final IBizStatCateService bizStatCateService; + + private final IBizReportInfoService bizReportInfoService; + + /** + * 访问首页,提示语 + */ + @GetMapping("/home") + public R index(PageQuery pageQuery) { + HashMap result = new HashMap(); + LoginUser user = LoginHelper.getLoginUser(); + BizStatCateBo cateBo = new BizStatCateBo(); + Map params = cateBo.getParams(); + + params.put("beginTime", ""); + params.put("endTime", ""); + bizStatCateService.statByDate(cateBo); + + + BizReportInfoBo bo = new BizReportInfoBo(); + bo.setOldType("dcl"); + if (user.getRolePermission().contains("report_manager")){ + bo.setOldTable("xxbs"); + }else{ + bo.setOldTable("xxcl"); + } + + result.put("dblist", bizReportInfoService.queryPageList(bo, pageQuery)); + + + return R.ok(result); + } +} diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index a8980e0..97da963 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -13,7 +13,7 @@ spring.boot.admin.client: --- # snail-job 配置 snail-job: - enabled: false + enabled: true # 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务 group: "ruoyi_group" # SnailJob 接入验证令牌 详见 script/sql/ry_job.sql `sj_group_config` 表 @@ -49,7 +49,8 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) - url: jdbc:mysql://192.168.0.49:3306/xxbsdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true + url: jdbc:mysql://127.0.0.1:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + # url: jdbc:mysql://192.168.0.49:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: root # type: ${spring.datasource.type} diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index d88cf04..38e5748 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -52,7 +52,8 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) - url: jdbc:mysql://192.168.0.49:3306/xxbsdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true + url: jdbc:mysql://127.0.0.1:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + # url: jdbc:mysql://192.168.0.49:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: root # # 从库数据源 diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/ReportInfoStatusEnum.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/ReportInfoStatusEnum.java new file mode 100644 index 0000000..cec9aeb --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/ReportInfoStatusEnum.java @@ -0,0 +1,138 @@ +package org.dromara.common.core.enums; + +import cn.hutool.core.util.StrUtil; +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.StringUtils; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 业务状态枚举 + * + * @author may + */ +@Getter +@AllArgsConstructor +public enum ReportInfoStatusEnum { + + /** + * 已退回 + */ + BACK("-1", "已退回"), + /** + * 未上报 + */ + NOT_REPORTED("0", "未上报"), + + /** + * 新发布待签收 + */ + WAITING_SIGN("1", "待签收"), + + /** + * 任一用户已签收 + */ + ANY_SIGN("2", "待签收"), + + /** + * 全部签收待反馈 + */ + WAITING_REPLY("3", "待反馈"), + + /** + * 部分反馈 + */ + ANY_REPLY("4", "待反馈"), + + /** + * 已反馈 + */ + REPLIED("5", "已反馈"), + + /** + * 已完成 + */ + FINISH("6", "已完成"), + + /** + * 已作废 + */ + INVALID("7", "已作废"); + + + /** + * 状态 + */ + private final String status; + + /** + * 描述 + */ + private final String desc; + + private static final Map STATUS_MAP = Arrays.stream(ReportInfoStatusEnum.values()) + .collect(Collectors.toConcurrentMap(ReportInfoStatusEnum::getStatus, Function.identity())); + + /** + * 根据状态获取对应的 BusinessStatusEnum 枚举 + * + * @param status 业务状态码 + * @return 对应的 BusinessStatusEnum 枚举,如果找不到则返回 null + */ + public static ReportInfoStatusEnum getByStatus(String status) { + // 使用 STATUS_MAP 获取对应的枚举,若找不到则返回 null + return STATUS_MAP.get(status); + } + + /** + * 根据状态获取对应的业务状态描述信息 + * + * @param status 业务状态码 + * @return 返回业务状态描述,若状态码为空或未找到对应的枚举,返回空字符串 + */ + public static String findByStatus(String status) { + if (StringUtils.isBlank(status)) { + return StrUtil.EMPTY; + } + ReportInfoStatusEnum statusEnum = STATUS_MAP.get(status); + return (statusEnum != null) ? statusEnum.getDesc() : StrUtil.EMPTY; + } + + /** + * 判断是否为指定的状态之一:草稿、已撤销或已退回 + * + * @param status 要检查的状态 + * @return 如果状态为草稿、已撤销或已退回之一,则返回 true;否则返回 false + */ + public static boolean canEdit(String status) { + return WAITING_SIGN.status.equals(status) || BACK.status.equals(status); + } + + + /** + * 获取运行中的实例状态列表 + * + * @return 包含运行中实例状态的不可变列表 + * (包含 DRAFT、WAITING、BACK 和 CANCEL 状态) + */ + public static List runningStatus() { + return Arrays.asList(WAITING_SIGN.status, ANY_SIGN.status, WAITING_REPLY.status, ANY_REPLY.status, BACK.status ); + } + + /** + * 获取结束实例的状态列表 + * + * @return 包含结束实例状态的不可变列表 + * (包含 FINISH、INVALID 和 TERMINATION 状态) + */ + public static List finishStatus() { + return Arrays.asList(FINISH.status, INVALID.status ); + } + +} diff --git a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java index a2e1210..4432c2e 100644 --- a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java +++ b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java @@ -22,6 +22,10 @@ public class SseMessageDto implements Serializable { */ private List userIds; + /** + * 需要发送的消息类型 + */ + private String type; /** * 需要发送的消息 */ diff --git a/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml index 6906388..86a2dfa 100644 --- a/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml +++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml @@ -1,15 +1,16 @@ spring: datasource: -# type: com.zaxxer.hikari.HikariDataSource -# driver-class-name: com.mysql.cj.jdbc.Driver -# url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true -# username: root -# password: root type: com.zaxxer.hikari.HikariDataSource - driver-class-name: org.postgresql.Driver - url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true - username: postgres - password: 123456 + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true +# url: jdbc:mysql://192.168.0.49:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + username: root + password: root +# type: com.zaxxer.hikari.HikariDataSource +# driver-class-name: org.postgresql.Driver +# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true +# username: postgres +# password: 123456 hikari: connection-timeout: 30000 validation-timeout: 5000 diff --git a/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml index b1bf5df..7f9d1f5 100644 --- a/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml +++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml @@ -2,7 +2,8 @@ spring: datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://192.168.0.49:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + url: jdbc:mysql://127.0.0.1:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + # url: jdbc:mysql://192.168.0.49:3306/xxbsdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: root hikari: diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/StatJobExecutor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/StatJobExecutor.java new file mode 100644 index 0000000..16179ba --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/StatJobExecutor.java @@ -0,0 +1,84 @@ +package org.dromara.job.snailjob; + +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.http.HttpUtil; +import com.aizuda.snailjob.client.job.core.annotation.JobExecutor; +import com.aizuda.snailjob.client.job.core.dto.JobArgs; +import com.aizuda.snailjob.client.model.ExecuteResult; +import com.aizuda.snailjob.common.core.util.JsonUtil; +import com.aizuda.snailjob.common.log.SnailJobLog; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.dromara.biz.domain.BizCategory; +import org.dromara.biz.domain.BizStatCate; +import org.dromara.biz.domain.vo.BizStatCateVo; +import org.dromara.biz.mapper.BizCategoryMapper; +import org.dromara.biz.mapper.BizStatCateMapper; +import org.dromara.common.core.enums.FormatsType; +import org.dromara.common.core.utils.DateUtils; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.configurationprocessor.json.JSONException; +import org.springframework.boot.configurationprocessor.json.JSONObject; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 定时统计 + * @author Luo.J + */ +@Component +@JobExecutor(name = "statJobExecutor") +public class StatJobExecutor { + + @Autowired + private BizCategoryMapper categoryMapper; + @Autowired + private BizStatCateMapper statMapper; + + public ExecuteResult jobExecute(JobArgs jobArgs) throws JSONException { + SnailJobLog.LOCAL.info("testJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs)); + SnailJobLog.REMOTE.info("testJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs)); + + Date now = new Date(); + Date today = DateUtils.parseDateTime(FormatsType.YYYY_MM_DD, DateUtils.getDate()); + Date yesterday = DateUtil.offsetDay(today, -1); + + List cates = categoryMapper.selectList(new LambdaQueryWrapper() + .eq(BizCategory::getStatus, 0)); + + for (BizCategory cate : cates) { + Long cateId = cate.getId(); + // 每天0点10分前, 重新统计下昨天的数据 +// if (now.getHours() == 0 && now.getMinutes() < 10) + { + BizStatCateVo statCateVo = statMapper.statYesterdayByCateId(cateId); + BizStatCate statCate = new BizStatCate(); + BeanUtils.copyProperties(statCate, statCateVo); + statCate.setCateId(cateId); + statCate.setCateName(cate.getTitle()); + statCate.setStatDate(yesterday); + statMapper.deleteYesterdayData(cateId); + statMapper.insert(statCate); + } + + // 统计今天的数据 + BizStatCateVo statCateVo = statMapper.statByCateId(cateId); + BizStatCate statCate = new BizStatCate(); + BeanUtils.copyProperties(statCate, statCateVo); + statCate.setCateId(cateId); + statCate.setCateName(cate.getTitle()); + statCate.setStatDate(today); + statMapper.deleteTodayData(cateId); + statMapper.insert(statCate); + } + + return ExecuteResult.success("执行成功"); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizCategoryController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizCategoryController.java index 8b24e5c..14ea615 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizCategoryController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizCategoryController.java @@ -39,7 +39,7 @@ public class BizCategoryController extends BaseController { /** * 查询所有类别列表 */ - @SaCheckPermission("biz:category:list") +// @SaCheckPermission("biz:category:list") @GetMapping("/alllist") public R> alllist(BizCategoryBo bo) { return R.ok(bizCategoryService.queryList(bo)); @@ -48,7 +48,7 @@ public class BizCategoryController extends BaseController { /** * 查询类别列表 */ - @SaCheckPermission("biz:category:list") +// @SaCheckPermission("biz:category:list") @GetMapping("/list") public TableDataInfo list(BizCategoryBo bo, PageQuery pageQuery) { return bizCategoryService.queryPageList(bo, pageQuery); @@ -57,7 +57,7 @@ public class BizCategoryController extends BaseController { /** * 导出类别列表 */ - @SaCheckPermission("biz:category:export") +// @SaCheckPermission("biz:category:export") @Log(title = "类别", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(BizCategoryBo bo, HttpServletResponse response) { @@ -70,7 +70,7 @@ public class BizCategoryController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("biz:category:query") +// @SaCheckPermission("biz:category:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { @@ -80,7 +80,7 @@ public class BizCategoryController extends BaseController { /** * 新增类别 */ - @SaCheckPermission("biz:category:add") +// @SaCheckPermission("biz:category:add") @Log(title = "类别", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() @@ -91,7 +91,7 @@ public class BizCategoryController extends BaseController { /** * 修改类别 */ - @SaCheckPermission("biz:category:edit") +// @SaCheckPermission("biz:category:edit") @Log(title = "类别", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -104,7 +104,7 @@ public class BizCategoryController extends BaseController { * * @param ids 主键串 */ - @SaCheckPermission("biz:category:remove") +// @SaCheckPermission("biz:category:remove") @Log(title = "类别", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsBulletinController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsBulletinController.java new file mode 100644 index 0000000..63112ba --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsBulletinController.java @@ -0,0 +1,115 @@ +package org.dromara.biz.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.biz.domain.vo.BizIcdsBulletinVo; +import org.dromara.biz.domain.bo.BizIcdsBulletinBo; +import org.dromara.biz.service.IBizIcdsBulletinService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 信息快报 + * + * @author ruansee + * @date 2025-12-15 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/biz/icdsBulletin") +public class BizIcdsBulletinController extends BaseController { + + private final IBizIcdsBulletinService bizIcdsBulletinService; + + /** + * 查询信息快报列表 + */ + @SaCheckPermission("biz:icdsBulletin:list") + @GetMapping("/list") + public TableDataInfo list(BizIcdsBulletinBo bo, PageQuery pageQuery) { + return bizIcdsBulletinService.queryPageList(bo, pageQuery); + } + + /** + * 导出信息快报列表 + */ + @SaCheckPermission("biz:icdsBulletin:export") + @Log(title = "信息快报", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BizIcdsBulletinBo bo, HttpServletResponse response) { + List list = bizIcdsBulletinService.queryList(bo); + ExcelUtil.exportExcel(list, "信息快报", BizIcdsBulletinVo.class, response); + } + + /** + * 获取信息快报详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("biz:icdsBulletin:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(bizIcdsBulletinService.queryById(id)); + } + + /** + * 新增信息快报 + */ + @SaCheckPermission("biz:icdsBulletin:add") + @Log(title = "信息快报", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BizIcdsBulletinBo bo) { + return toAjax(bizIcdsBulletinService.insertByBo(bo)); + } + + /** + * 修改信息快报 + */ + @SaCheckPermission("biz:icdsBulletin:edit") + @Log(title = "信息快报", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BizIcdsBulletinBo bo) { + return toAjax(bizIcdsBulletinService.updateByBo(bo)); + } + + /** + * 删除信息快报 + * + * @param ids 主键串 + */ + @SaCheckPermission("biz:icdsBulletin:remove") + @Log(title = "信息快报", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(bizIcdsBulletinService.deleteWithValidByIds(List.of(ids), true)); + } + + /** + * 推送信息快报 + */ + @Log(title = "信息快报", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/push") + public R push(@Validated(EditGroup.class) @RequestBody BizIcdsBulletinBo bo) { + return toAjax(bizIcdsBulletinService.push(bo)); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsDailyController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsDailyController.java new file mode 100644 index 0000000..433f94e --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsDailyController.java @@ -0,0 +1,112 @@ +package org.dromara.biz.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.biz.domain.vo.BizIcdsDailyVo; +import org.dromara.biz.domain.bo.BizIcdsDailyBo; +import org.dromara.biz.service.IBizIcdsDailyService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 每日治安动态 + * + * @author ruansee + * @date 2025-12-15 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/biz/icdsDaily") +public class BizIcdsDailyController extends BaseController { + + private final IBizIcdsDailyService bizIcdsDailyService; + + /** + * 查询每日治安动态列表 + */ + @SaCheckPermission("biz:icdsDaily:list") + @GetMapping("/list") + public TableDataInfo list(BizIcdsDailyBo bo, PageQuery pageQuery) { + return bizIcdsDailyService.queryPageList(bo, pageQuery); + } + + /** + * 导出每日治安动态列表 + */ + @SaCheckPermission("biz:icdsDaily:export") + @Log(title = "每日治安动态", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BizIcdsDailyBo bo, HttpServletResponse response) { + List list = bizIcdsDailyService.queryList(bo); + ExcelUtil.exportExcel(list, "每日治安动态", BizIcdsDailyVo.class, response); + } + + /** + * 获取每日治安动态详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("biz:icdsDaily:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(bizIcdsDailyService.queryById(id)); + } + + /** + * 新增每日治安动态 + */ + @SaCheckPermission("biz:icdsDaily:add") + @Log(title = "每日治安动态", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BizIcdsDailyBo bo) { + return toAjax(bizIcdsDailyService.insertByBo(bo)); + } + + /** + * 修改每日治安动态 + */ + @SaCheckPermission("biz:icdsDaily:edit") + @Log(title = "每日治安动态", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BizIcdsDailyBo bo) { + return toAjax(bizIcdsDailyService.updateByBo(bo)); + } + + /** + * 删除每日治安动态 + * + * @param ids 主键串 + */ + @SaCheckPermission("biz:icdsDaily:remove") + @Log(title = "每日治安动态", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(bizIcdsDailyService.deleteWithValidByIds(List.of(ids), true)); + } + + @Log(title = "每日治安动态", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/push") + public R push(@Validated(EditGroup.class) @RequestBody BizIcdsDailyBo bo) { + return toAjax(bizIcdsDailyService.push(bo)); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsNoticeController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsNoticeController.java new file mode 100644 index 0000000..8fa43ec --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizIcdsNoticeController.java @@ -0,0 +1,115 @@ +package org.dromara.biz.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.biz.domain.vo.BizIcdsNoticeVo; +import org.dromara.biz.domain.bo.BizIcdsNoticeBo; +import org.dromara.biz.service.IBizIcdsNoticeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 通知公告 + * + * @author ruansee + * @date 2025-12-15 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/biz/icdsNotice") +public class BizIcdsNoticeController extends BaseController { + + private final IBizIcdsNoticeService bizIcdsNoticeService; + + /** + * 查询通知公告列表 + */ + @SaCheckPermission("biz:icdsNotice:list") + @GetMapping("/list") + public TableDataInfo list(BizIcdsNoticeBo bo, PageQuery pageQuery) { + return bizIcdsNoticeService.queryPageList(bo, pageQuery); + } + + /** + * 导出通知公告列表 + */ + @SaCheckPermission("biz:icdsNotice:export") + @Log(title = "通知公告", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BizIcdsNoticeBo bo, HttpServletResponse response) { + List list = bizIcdsNoticeService.queryList(bo); + ExcelUtil.exportExcel(list, "通知公告", BizIcdsNoticeVo.class, response); + } + + /** + * 获取通知公告详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("biz:icdsNotice:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(bizIcdsNoticeService.queryById(id)); + } + + /** + * 新增通知公告 + */ + @SaCheckPermission("biz:icdsNotice:add") + @Log(title = "通知公告", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BizIcdsNoticeBo bo) { + return toAjax(bizIcdsNoticeService.insertByBo(bo)); + } + + /** + * 修改通知公告 + */ + @SaCheckPermission("biz:icdsNotice:edit") + @Log(title = "通知公告", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BizIcdsNoticeBo bo) { + return toAjax(bizIcdsNoticeService.updateByBo(bo)); + } + + /** + * 删除通知公告 + * + * @param ids 主键串 + */ + @SaCheckPermission("biz:icdsNotice:remove") + @Log(title = "通知公告", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(bizIcdsNoticeService.deleteWithValidByIds(List.of(ids), true)); + } + + /** + * 修改通知公告 + */ + @Log(title = "通知公告", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/sign") + public R sign(@Validated(EditGroup.class) @RequestBody BizIcdsNoticeBo bo) { + return toAjax(bizIcdsNoticeService.sign(bo)); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportFileController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportFileController.java index e7d3283..c389cf0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportFileController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportFileController.java @@ -39,7 +39,7 @@ public class BizReportFileController extends BaseController { /** * 查询报送信息附件列表 */ - @SaCheckPermission("biz:reportFile:list") +// @SaCheckPermission("biz:reportFile:list") @GetMapping("/list") public TableDataInfo list(BizReportFileBo bo, PageQuery pageQuery) { return bizReportFileService.queryPageList(bo, pageQuery); @@ -48,7 +48,7 @@ public class BizReportFileController extends BaseController { /** * 导出报送信息附件列表 */ - @SaCheckPermission("biz:reportFile:export") +// @SaCheckPermission("biz:reportFile:export") @Log(title = "报送信息附件", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(BizReportFileBo bo, HttpServletResponse response) { @@ -61,7 +61,7 @@ public class BizReportFileController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("biz:reportFile:query") +// @SaCheckPermission("biz:reportFile:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { @@ -71,7 +71,7 @@ public class BizReportFileController extends BaseController { /** * 新增报送信息附件 */ - @SaCheckPermission("biz:reportFile:add") +// @SaCheckPermission("biz:reportFile:add") @Log(title = "报送信息附件", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() @@ -82,7 +82,7 @@ public class BizReportFileController extends BaseController { /** * 修改报送信息附件 */ - @SaCheckPermission("biz:reportFile:edit") +// @SaCheckPermission("biz:reportFile:edit") @Log(title = "报送信息附件", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -95,7 +95,7 @@ public class BizReportFileController extends BaseController { * * @param ids 主键串 */ - @SaCheckPermission("biz:reportFile:remove") +// @SaCheckPermission("biz:reportFile:remove") @Log(title = "报送信息附件", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportInfoController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportInfoController.java index 514a5ed..f1dccda 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportInfoController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportInfoController.java @@ -44,7 +44,7 @@ public class BizReportInfoController extends BaseController { /** * 查询报送信息列表 */ - @SaCheckPermission("biz:reportInfo:list") +// @SaCheckPermission("biz:reportInfo:list") @GetMapping("/list") public TableDataInfo list(BizReportInfoBo bo, PageQuery pageQuery) { return bizReportInfoService.queryPageList(bo, pageQuery); @@ -53,7 +53,7 @@ public class BizReportInfoController extends BaseController { /** * 查询报送信息列表 */ - @SaCheckPermission("biz:reportInfo:list") +// @SaCheckPermission("biz:reportInfo:list") @GetMapping("/xxcl/list") public TableDataInfo xxcllist(BizReportInfoBo bo, PageQuery pageQuery) { bo.setOldTable("xxcl"); @@ -63,7 +63,7 @@ public class BizReportInfoController extends BaseController { /** * 查询报送信息列表 */ - @SaCheckPermission("biz:reportInfo:list") +// @SaCheckPermission("biz:reportInfo:list") @GetMapping("/xxbs/list") public TableDataInfo xxbslist(BizReportInfoBo bo, PageQuery pageQuery) { bo.setOldTable("xxbs"); @@ -73,7 +73,7 @@ public class BizReportInfoController extends BaseController { /** * 导出报送信息列表 */ - @SaCheckPermission("biz:reportInfo:export") +// @SaCheckPermission("biz:reportInfo:export") @Log(title = "报送信息", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(BizReportInfoBo bo, HttpServletResponse response) { @@ -86,7 +86,7 @@ public class BizReportInfoController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("biz:reportInfo:query") +// @SaCheckPermission("biz:reportInfo:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { @@ -101,25 +101,19 @@ public class BizReportInfoController extends BaseController { /** * 新增报送信息 */ - @SaCheckPermission("biz:reportInfo:add") +// @SaCheckPermission("biz:reportInfo:add") @Log(title = "报送信息", businessType = BusinessType.INSERT) @RepeatSubmit() @ResponseBody @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody BizReportInfoBo bo) { - LoginUser user = LoginHelper.getLoginUser(); - bo.setReportDeptId(user.getDeptId()); - bo.setReportDeptName(user.getDeptName()); - bo.setReportUserId(user.getUserId()); - bo.setReportUserName(user.getNickname()); - bo.setReportTime(new Date()); return toAjax(bizReportInfoService.insertByBo(bo)); } /** * 修改报送信息 */ - @SaCheckPermission("biz:reportInfo:edit") +// @SaCheckPermission("biz:reportInfo:edit") @Log(title = "报送信息", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -132,11 +126,22 @@ public class BizReportInfoController extends BaseController { * * @param ids 主键串 */ - @SaCheckPermission("biz:reportInfo:remove") +// @SaCheckPermission("biz:reportInfo:remove") @Log(title = "报送信息", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { return toAjax(bizReportInfoService.deleteWithValidByIds(List.of(ids), true)); } + + + /** + * 退回报送信息 + */ + @Log(title = "报送信息退回", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/back") + public R back(@Validated(EditGroup.class) @RequestBody BizReportInfoBo bo) { + return toAjax(bizReportInfoService.back(bo)); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportPersonController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportPersonController.java new file mode 100644 index 0000000..3f401e8 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportPersonController.java @@ -0,0 +1,105 @@ +package org.dromara.biz.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.biz.domain.vo.BizReportPersonVo; +import org.dromara.biz.domain.bo.BizReportPersonBo; +import org.dromara.biz.service.IBizReportPersonService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 报送关联人员 + * + * @author ruansee + * @date 2025-12-06 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/biz/reportPerson") +public class BizReportPersonController extends BaseController { + + private final IBizReportPersonService bizReportPersonService; + + /** + * 查询报送关联人员列表 + */ + @SaCheckPermission("biz:reportPerson:list") + @GetMapping("/list") + public TableDataInfo list(BizReportPersonBo bo, PageQuery pageQuery) { + return bizReportPersonService.queryPageList(bo, pageQuery); + } + + /** + * 导出报送关联人员列表 + */ + @SaCheckPermission("biz:reportPerson:export") + @Log(title = "报送关联人员", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BizReportPersonBo bo, HttpServletResponse response) { + List list = bizReportPersonService.queryList(bo); + ExcelUtil.exportExcel(list, "报送关联人员", BizReportPersonVo.class, response); + } + + /** + * 获取报送关联人员详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("biz:reportPerson:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(bizReportPersonService.queryById(id)); + } + + /** + * 新增报送关联人员 + */ + @SaCheckPermission("biz:reportPerson:add") + @Log(title = "报送关联人员", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BizReportPersonBo bo) { + return toAjax(bizReportPersonService.insertByBo(bo)); + } + + /** + * 修改报送关联人员 + */ + @SaCheckPermission("biz:reportPerson:edit") + @Log(title = "报送关联人员", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BizReportPersonBo bo) { + return toAjax(bizReportPersonService.updateByBo(bo)); + } + + /** + * 删除报送关联人员 + * + * @param ids 主键串 + */ + @SaCheckPermission("biz:reportPerson:remove") + @Log(title = "报送关联人员", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(bizReportPersonService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportReceiverController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportReceiverController.java index 751195f..6daf338 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportReceiverController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportReceiverController.java @@ -41,7 +41,7 @@ public class BizReportReceiverController extends BaseController { /** * 查询报送记录接收单位列表 */ - @SaCheckPermission("biz:reportReceiver:list") +// @SaCheckPermission("biz:reportReceiver:list") @GetMapping("/list") public TableDataInfo list(BizReportReceiverBo bo, PageQuery pageQuery) { return bizReportReceiverService.queryPageList(bo, pageQuery); @@ -50,7 +50,7 @@ public class BizReportReceiverController extends BaseController { /** * 导出报送记录接收单位列表 */ - @SaCheckPermission("biz:reportReceiver:export") +// @SaCheckPermission("biz:reportReceiver:export") @Log(title = "报送记录接收单位", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(BizReportReceiverBo bo, HttpServletResponse response) { @@ -63,7 +63,7 @@ public class BizReportReceiverController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("biz:reportReceiver:query") +// @SaCheckPermission("biz:reportReceiver:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { @@ -73,7 +73,7 @@ public class BizReportReceiverController extends BaseController { /** * 新增报送记录接收单位 */ - @SaCheckPermission("biz:reportReceiver:add") +// @SaCheckPermission("biz:reportReceiver:add") @Log(title = "报送记录接收单位", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() @@ -84,7 +84,7 @@ public class BizReportReceiverController extends BaseController { /** * 修改报送记录接收单位 */ - @SaCheckPermission("biz:reportReceiver:edit") +// @SaCheckPermission("biz:reportReceiver:edit") @Log(title = "报送记录接收单位", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -107,7 +107,7 @@ public class BizReportReceiverController extends BaseController { * * @param ids 主键串 */ - @SaCheckPermission("biz:reportReceiver:remove") +// @SaCheckPermission("biz:reportReceiver:remove") @Log(title = "报送记录接收单位", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportReplyController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportReplyController.java index 19b5275..2b5d50e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportReplyController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizReportReplyController.java @@ -39,7 +39,7 @@ public class BizReportReplyController extends BaseController { /** * 查询报送记录反馈列表 */ - @SaCheckPermission("biz:reportReply:list") +// @SaCheckPermission("biz:reportReply:list") @GetMapping("/list") public TableDataInfo list(BizReportReplyBo bo, PageQuery pageQuery) { return bizReportReplyService.queryPageList(bo, pageQuery); @@ -48,7 +48,7 @@ public class BizReportReplyController extends BaseController { /** * 导出报送记录反馈列表 */ - @SaCheckPermission("biz:reportReply:export") +// @SaCheckPermission("biz:reportReply:export") @Log(title = "报送记录反馈", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(BizReportReplyBo bo, HttpServletResponse response) { @@ -61,7 +61,7 @@ public class BizReportReplyController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("biz:reportReply:query") +// @SaCheckPermission("biz:reportReply:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { @@ -71,7 +71,7 @@ public class BizReportReplyController extends BaseController { /** * 新增报送记录反馈 */ - @SaCheckPermission("biz:reportReply:add") +// @SaCheckPermission("biz:reportReply:add") @Log(title = "报送记录反馈", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() @@ -82,7 +82,7 @@ public class BizReportReplyController extends BaseController { /** * 修改报送记录反馈 */ - @SaCheckPermission("biz:reportReply:edit") +// @SaCheckPermission("biz:reportReply:edit") @Log(title = "报送记录反馈", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -95,7 +95,7 @@ public class BizReportReplyController extends BaseController { * * @param ids 主键串 */ - @SaCheckPermission("biz:reportReply:remove") +// @SaCheckPermission("biz:reportReply:remove") @Log(title = "报送记录反馈", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizStatCateController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizStatCateController.java new file mode 100644 index 0000000..b5d4b8f --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/BizStatCateController.java @@ -0,0 +1,115 @@ +package org.dromara.biz.controller; + +import java.util.HashMap; +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.biz.domain.bo.BizReportInfoBo; +import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.satoken.utils.LoginHelper; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.biz.domain.vo.BizStatCateVo; +import org.dromara.biz.domain.bo.BizStatCateBo; +import org.dromara.biz.service.IBizStatCateService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 类别统计 + * + * @author ruansee + * @date 2025-12-01 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/biz/statCate") +public class BizStatCateController extends BaseController { + + private final IBizStatCateService bizStatCateService; + + + @GetMapping("/statlist") + public R> statlist(BizStatCateBo bo, PageQuery pageQuery) { + return R.ok(bizStatCateService.statByDate(bo)); + } + + /** + * 查询类别统计列表 + */ + @SaCheckPermission("biz:statCate:list") + @GetMapping("/list") + public TableDataInfo list(BizStatCateBo bo, PageQuery pageQuery) { + return bizStatCateService.queryPageList(bo, pageQuery); + } + + /** + * 导出类别统计列表 + */ + @SaCheckPermission("biz:statCate:export") + @Log(title = "类别统计", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BizStatCateBo bo, HttpServletResponse response) { + List list = bizStatCateService.queryList(bo); + ExcelUtil.exportExcel(list, "类别统计", BizStatCateVo.class, response); + } + + /** + * 获取类别统计详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("biz:statCate:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(bizStatCateService.queryById(id)); + } + + /** + * 新增类别统计 + */ + @SaCheckPermission("biz:statCate:add") + @Log(title = "类别统计", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BizStatCateBo bo) { + return toAjax(bizStatCateService.insertByBo(bo)); + } + + /** + * 修改类别统计 + */ + @SaCheckPermission("biz:statCate:edit") + @Log(title = "类别统计", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BizStatCateBo bo) { + return toAjax(bizStatCateService.updateByBo(bo)); + } + + /** + * 删除类别统计 + * + * @param ids 主键串 + */ + @SaCheckPermission("biz:statCate:remove") + @Log(title = "类别统计", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(bizStatCateService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/RPAController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/RPAController.java new file mode 100644 index 0000000..a1f0d38 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/RPAController.java @@ -0,0 +1,98 @@ +package org.dromara.biz.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.biz.domain.bo.BizIcdsBulletinBo; +import org.dromara.biz.domain.bo.BizIcdsDailyBo; +import org.dromara.biz.domain.bo.BizIcdsNoticeBo; +import org.dromara.biz.domain.vo.BizIcdsBulletinVo; +import org.dromara.biz.domain.vo.BizIcdsDailyVo; +import org.dromara.biz.domain.vo.BizIcdsNoticeVo; +import org.dromara.biz.service.IBizIcdsBulletinService; +import org.dromara.biz.service.IBizIcdsDailyService; +import org.dromara.biz.service.IBizIcdsNoticeService; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * RPA机器人相关服务 + * + * @author ruansee + * @date 2025-12-15 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/rpa") +public class RPAController extends BaseController { + + private final IBizIcdsNoticeService bizIcdsNoticeService; + + private final IBizIcdsBulletinService bizIcdsBulletinService; + + private final IBizIcdsDailyService bizIcdsDailyService; + + /** + * 查询每日治安动态列表 + */ + @SaCheckPermission("biz:icdsDaily:list") + @GetMapping("/daily/list") + public TableDataInfo list(BizIcdsDailyBo bo, PageQuery pageQuery) { + return bizIcdsDailyService.queryPageList(bo, pageQuery); + } + + /** + * 查询信息快报列表 + */ + @SaCheckPermission("biz:icdsBulletin:list") + @GetMapping("/bulletin/list") + public TableDataInfo list(BizIcdsBulletinBo bo, PageQuery pageQuery) { + return bizIcdsBulletinService.queryPageList(bo, pageQuery); + } + + /** + * 查询通知公告列表 + */ + @GetMapping("/notice/list") + public TableDataInfo list(BizIcdsNoticeBo bo, PageQuery pageQuery) { + return bizIcdsNoticeService.queryPageList(bo, pageQuery); + } + + + /** + * 获取通知公告详细信息 + * + * @param id 主键 + */ + @GetMapping("/notice/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(bizIcdsNoticeService.queryById(id)); + } + + /** + * 新增通知公告 + */ + @Log(title = "通知公告", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/notice/add") + public R add(@Validated(AddGroup.class) @RequestBody BizIcdsNoticeBo bo) { + return toAjax(bizIcdsNoticeService.insertByBo(bo)); + } + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/StatController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/StatController.java new file mode 100644 index 0000000..df6704d --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/controller/StatController.java @@ -0,0 +1,97 @@ +package org.dromara.biz.controller; + +import cn.dev33.satoken.annotation.SaIgnore; +import lombok.RequiredArgsConstructor; +import org.dromara.biz.domain.bo.BizReportInfoBo; +import org.dromara.biz.domain.bo.BizStatBo; +import org.dromara.biz.domain.bo.BizStatCateBo; +import org.dromara.biz.service.IBizReportInfoService; +import org.dromara.biz.service.IBizStatCateService; +import org.dromara.biz.service.ICustomSQLService; +import org.dromara.common.core.config.RuoYiConfig; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.utils.Helper; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.satoken.utils.LoginHelper; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 首页 + * + * @author Lion Li + */ +@SaIgnore +@RequiredArgsConstructor +@RestController +@RequestMapping("/biz/stat") +public class StatController { + + /** + * 系统基础配置 + */ + private final RuoYiConfig ruoyiConfig; + + private final IBizStatCateService bizStatCateService; + + private final ICustomSQLService customSQLService; + + /** + * 接收单位统计 + */ + @GetMapping("/receiver") + public R receiver(BizStatBo bo) { + HashMap result = new HashMap(); + LoginUser user = LoginHelper.getLoginUser(); + + String sql = "select t.*, round(t.sign_count/t.report_count*100, 2) sign_pencent from ( " + + " select r.dept_id, r.dept_name, count(1) report_count, sum(case when r.is_sign = 1 then 1 else 0 end) sign_count " + + " from biz_report_info i right join biz_report_receiver r on i.id = r.report_id " + + " where i.report_user_id = " + user.getUserId(); + + if (Helper.FInt(bo.getCateId())!=0) + sql += " and i.category_id = " + Helper.FInt(bo.getCateId()); + if (!Helper.NStr(bo.getParams().get("start_time")).equals("")) + sql += " and i.report_time >= str_to_date('"+Helper.NStr(bo.getParams().get("start_time"))+"', '%Y-%m-%d')"; + if (!Helper.NStr(bo.getParams().get("end_time")).equals("")) + sql += " and i.report_time < str_to_date('"+Helper.NStr(bo.getParams().get("end_time"))+"', '%Y-%m-%d') + INTERVAL 1 DAY "; + + sql += " group by r.dept_id, r.dept_name " + + ") t order by report_count desc "; + + List list = customSQLService.selectList(sql); + result.put("data", list); + return R.ok(result); + } + /** + * 报送信息标签统计 + */ + @GetMapping("/tags") + public R tags(BizStatBo bo) { + HashMap result = new HashMap(); + LoginUser user = LoginHelper.getLoginUser(); + + String sql = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(tags, ',', n.num), ',', -1) AS tag, COUNT(1) AS report_count " + + " FROM biz_report_info i, num n WHERE i.report_user_id = " + user.getUserId(); + + if (Helper.FInt(bo.getCateId())!=0) + sql += " and i.category_id = " + Helper.FInt(bo.getCateId()); + if (!Helper.NStr(bo.getParams().get("start_time")).equals("")) + sql += " and i.report_time >= str_to_date('"+Helper.NStr(bo.getParams().get("start_time"))+"', '%Y-%m-%d')"; + if (!Helper.NStr(bo.getParams().get("end_time")).equals("")) + sql += " and i.report_time < str_to_date('"+Helper.NStr(bo.getParams().get("end_time"))+"', '%Y-%m-%d') + INTERVAL 1 DAY "; + + sql += " and n.num <= 1 + (LENGTH(tags) - LENGTH(REPLACE(tags, ',', ''))) GROUP BY tag"; + + List list = customSQLService.selectList(sql); + result.put("data", list); + + return R.ok(result); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizCategory.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizCategory.java index 081c253..73eca1a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizCategory.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizCategory.java @@ -67,6 +67,11 @@ public class BizCategory extends BaseEntity { */ private String canShare; + /** + * 是否可以录入人员信息 + */ + private String canInputPerson; + /** * 模板地址 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizDuty.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizDuty.java index 951fd87..0b59684 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizDuty.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizDuty.java @@ -55,6 +55,15 @@ public class BizDuty extends BaseEntity { */ private String leaderName; + /** + * 值班主任 + */ + private Long chairmanId; + + /** + * 值班主任名称 + */ + private String chairmanName; /** * 值班长ID */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsBulletin.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsBulletin.java new file mode 100644 index 0000000..b47d852 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsBulletin.java @@ -0,0 +1,133 @@ +package org.dromara.biz.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 信息快报对象 biz_icds_bulletin + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("biz_icds_bulletin") +public class BizIcdsBulletin extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id") + private Long id; + + /** + * 标题 + */ + private String title; + + /** + * 报送标签 + */ + private String tags; + + /** + * 编号 + */ + private String no; + + /** + * 联系方式 + */ + private String contact; + + /** + * 案由 + */ + private String cause; + + /** + * 其他按钮 + */ + private String otherCause; + + /** + * 警情级别 + */ + private String level; + + /** + * 死亡人数 + */ + private String deathCount; + + /** + * 受伤人数 + */ + private String injuredCount; + + /** + * 附件路径 + */ + private String fileUrl; + + /** + * 附件名称 + */ + private String fileName; + + /** + * 上报内容 + */ + private String content; + + /** + * 上报时间 + */ + private Date reportTime; + + /** + * 上报用户ID + */ + private Long reportUserId; + + /** + * 上报用户名称 + */ + private String reportUserName; + + /** + * 上报单位ID + */ + private String reportDeptId; + + /** + * 上报单位名称 + */ + private String reportDeptName; + + /** + * 上报状态 + */ + private String status; + + /** + * 更新用户ID + */ + private Long updateUserId; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsDaily.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsDaily.java new file mode 100644 index 0000000..537fe96 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsDaily.java @@ -0,0 +1,108 @@ +package org.dromara.biz.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 每日治安动态对象 biz_icds_daily + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("biz_icds_daily") +public class BizIcdsDaily extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id") + private Long id; + + /** + * 标题 + */ + private String title; + + /** + * 报送标签 + */ + private String tags; + + /** + * 编号 + */ + private String no; + + /** + * 联系方式 + */ + private String contact; + + /** + * 附件路径 + */ + private String fileUrl; + + /** + * 附件名称 + */ + private String fileName; + + /** + * 上报内容 + */ + private String content; + + /** + * 上报时间 + */ + private Date reportTime; + + /** + * 上报用户ID + */ + private Long reportUserId; + + /** + * 上报用户名称 + */ + private String reportUserName; + + /** + * 上报单位ID + */ + private String reportDeptId; + + /** + * 上报单位名称 + */ + private String reportDeptName; + + /** + * 上报状态 + */ + private String status; + + /** + * 更新用户ID + */ + private Long updateUserId; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsNotice.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsNotice.java new file mode 100644 index 0000000..0ab6c92 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizIcdsNotice.java @@ -0,0 +1,83 @@ +package org.dromara.biz.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 通知公告对象 biz_icds_notice + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("biz_icds_notice") +public class BizIcdsNotice extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id") + private Long id; + + /** + * 原表ID + */ + private String oldId; + + /** + * 标题 + */ + private String title; + + /** + * 附件路径 + */ + private String fileUrl; + + /** + * 附件名称 + */ + private String fileName; + + /** + * 内容 + */ + private String content; + + /** + * 通知时间 + */ + private Date sendTime; + + /** + * 下发用户名称 + */ + private String sendUserName; + + /** + * 下发单位名称 + */ + private String sendDeptName; + + /** + * 下发状态 + */ + private String status; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizReportInfo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizReportInfo.java index 63a03c5..f0afbad 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizReportInfo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizReportInfo.java @@ -39,6 +39,11 @@ public class BizReportInfo extends BaseEntity { */ private Long categoryId; + /** + * 报送标签 + */ + private String tags; + /** * 抄送 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizReportPerson.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizReportPerson.java new file mode 100644 index 0000000..49525ea --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizReportPerson.java @@ -0,0 +1,403 @@ +package org.dromara.biz.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 报送关联人员对象 biz_report_person + * + * @author ruansee + * @date 2025-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("biz_report_person") +public class BizReportPerson extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 报送信息ID + */ + private Long reportId; + + /** + * 姓名 + */ + private String xm; + + /** + * 证件类型 + */ + private String zjlx; + + /** + * 证件号码 + */ + private String zjhm; + + /** + * 身份证号 + */ + private String sfzh; + + /** + * 出生日期 + */ + private String csrq; + + /** + * 性别 + */ + private String xb; + + /** + * 民族 + */ + private String mz; + + /** + * 学历 + */ + private String xl; + + /** + * 国籍 + */ + private String gj; + + /** + * 籍贯 + */ + private String jg; + + /** + * 婚姻状况 + */ + private String hyzk; + + /** + * 兵役状况 + */ + private String byzk; + + /** + * 现住地区划 + */ + private String xzdqh; + + /** + * 现住地派出所 + */ + private String xzdpcs; + + /** + * 现住地详址 + */ + private String xzdxz; + + /** + * 户籍地区划 + */ + private String hjdqh; + + /** + * 户籍地派出所 + */ + private String hjdpcs; + + /** + * 户籍地详址 + */ + private String hjdxz; + + /** + * 手机号码 + */ + private String phone; + + /** + * 微信号码 + */ + private String wxhm; + + /** + * 车牌号 + */ + private String cph; + + /** + * 照片 + */ + private String zpdz; + + /** + * 姓名拼音 + */ + private String xmpy; + + /** + * 英文姓名 + */ + private String ywxm; + + /** + * QQ + */ + private String qq; + + /** + * 活跃度 + */ + private String hyd; + + /** + * 人员级别 + */ + private String ryjb; + + /** + * 是否入库 + */ + private String sfrk; + + /** + * 人员角色 + */ + private String ryjs; + + /** + * 人员类别 + */ + private String rylb; + + /** + * 人员细类 + */ + private String ryxl; + + /** + * 风险等级 + */ + private String fxdj; + + /** + * 投资金额 + */ + private String tzje; + + /** + * 受损金额 + */ + private String ssje; + + /** + * 净亏损金额 + */ + private String jksje; + + /** + * 投资平台 + */ + private String tzpt; + + /** + * 是否平台员工 + */ + private String sfptyg; + + /** + * 基本诉求 + */ + private String jbsq; + + /** + * 涉事群体 逗号分隔 + */ + private String ssqt; + + /** + * 微信群 + */ + private String wxq; + + /** + * QQ群 + */ + private String qqq; + + /** + * 管控单位代码 + */ + private String gkdwdm; + + /** + * 管控单位名称 + */ + private String gkdwmc; + + /** + * 管控人警号 + */ + private String gkrjh; + + /** + * 管控人 + */ + private String gkrxm; + + /** + * 管控人手机号 + */ + private String gkrsjh; + + /** + * 稳控状态 + */ + private String wkzt; + + /** + * 改派核查单位代码 + */ + private String gphcdwdm; + + /** + * 改派核查单位名称 + */ + private String gphcdwmc; + + /** + * 改派核查原因 + */ + private String gpfkyy; + + /** + * 无法核查原因 + */ + private String wfhcyy; + + /** + * 所在地类型 + */ + private String szdlx; + + /** + * 所在地行政区划 + */ + private String szdxzqh; + + /** + * 工作情况 + */ + private String gzqk; + + /** + * 附件地址 + */ + private String fileUrl; + + /** + * 附件名称 + */ + private String fileName; + + /** + * 创建时间 + */ + private Date cjsj; + + /** + * 更新时间 + */ + private Date gxsj; + + /** + * 创建用户ID + */ + private Long cjrid; + + /** + * 创建人姓名 + */ + private String cjrxm; + + /** + * 创建人警号 + */ + private String cjrjh; + + /** + * 创建人机构单位 + */ + private String cjrjgdw; + + /** + * 创建人机构单位代码 + */ + private String cjrjgdwdm; + + /** + * 更新用户ID + */ + private Long gxrid; + + /** + * 更新人姓名 + */ + private String gxrxm; + + /** + * 更新人警号 + */ + private String gxrjh; + + /** + * 更新人机构单位 + */ + private String gxrjgdw; + + /** + * 更新人机构单位代码 + */ + private String gxrjgdwdm; + + /** + * 处置单位代码 + */ + private String czdwdm; + + /** + * 处置单位名称 + */ + private String czdw; + + /** + * 风险评估 + */ + private String fxpg; + + /** + * 法教形式 + */ + private String fjxs; + + /** + * 是否购票 + */ + private String sfgp; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizStatCate.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizStatCate.java new file mode 100644 index 0000000..3f1bac0 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/BizStatCate.java @@ -0,0 +1,63 @@ +package org.dromara.biz.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 类别统计对象 biz_stat_cate + * + * @author ruansee + * @date 2025-12-01 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("biz_stat_cate") +public class BizStatCate extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id") + private Long id; + + /** + * 统计日期 + */ + private Date statDate; + + /** + * 统计类别ID + */ + private Long cateId; + + /** + * 统计类别名称 + */ + private String cateName; + + /** + * 报送数量 + */ + private Long reportCount; + + /** + * 签收数量 + */ + private Long signCount; + + /** + * 反馈数量 + */ + private Long replyCount; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizCategoryBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizCategoryBo.java index e024a5f..fed1409 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizCategoryBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizCategoryBo.java @@ -50,31 +50,31 @@ public class BizCategoryBo extends BaseEntity { /** * 是否可以签收 */ - @NotBlank(message = "是否可以签收不能为空", groups = { AddGroup.class, EditGroup.class }) private String canSign; /** * 是否可以反馈 */ - @NotBlank(message = "是否可以反馈不能为空", groups = { AddGroup.class, EditGroup.class }) private String canFeedback; /** * 是否可以回复 */ - @NotBlank(message = "是否可以回复不能为空", groups = { AddGroup.class, EditGroup.class }) private String canReply; /** * 是否可以分享转发 */ - @NotBlank(message = "是否可以分享转发不能为空", groups = { AddGroup.class, EditGroup.class }) private String canShare; + /** + * 是否可以录入人员信息 + */ + private String canInputPerson; + /** * 模板地址 */ - @NotBlank(message = "模板地址不能为空", groups = { AddGroup.class, EditGroup.class }) private String templateUrl; /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizDutyBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizDutyBo.java index e145175..66f46c9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizDutyBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizDutyBo.java @@ -54,6 +54,16 @@ public class BizDutyBo extends BaseEntity { */ private String leaderName; + /** + * 值班主任 + */ + private Long chairmanId; + + /** + * 值班主任名称 + */ + private String chairmanName; + /** * 值班长ID */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsBulletinBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsBulletinBo.java new file mode 100644 index 0000000..718031b --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsBulletinBo.java @@ -0,0 +1,132 @@ +package org.dromara.biz.domain.bo; + +import org.dromara.biz.domain.BizIcdsBulletin; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 信息快报业务对象 biz_icds_bulletin + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BizIcdsBulletin.class, reverseConvertGenerate = false) +public class BizIcdsBulletinBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 标题 + */ + private String title; + + /** + * 报送标签 + */ + private String tags; + + /** + * 编号 + */ + private String no; + + /** + * 联系方式 + */ + private String contact; + + /** + * 案由 + */ + private String cause; + + /** + * 其他按钮 + */ + private String otherCause; + + /** + * 警情级别 + */ + private String level; + + /** + * 死亡人数 + */ + private String deathCount; + + /** + * 受伤人数 + */ + private String injuredCount; + + /** + * 附件路径 + */ + private String fileUrl; + + /** + * 附件名称 + */ + private String fileName; + + /** + * 上报内容 + */ + private String content; + + /** + * 上报时间 + */ + private Date reportTime; + + /** + * 上报用户ID + */ + private Long reportUserId; + + /** + * 上报用户名称 + */ + private String reportUserName; + + /** + * 上报单位ID + */ + private String reportDeptId; + + /** + * 上报单位名称 + */ + private String reportDeptName; + + /** + * 上报状态 + */ + private String status; + + /** + * 更新用户ID + */ + private Long updateUserId; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsDailyBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsDailyBo.java new file mode 100644 index 0000000..6a6c507 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsDailyBo.java @@ -0,0 +1,107 @@ +package org.dromara.biz.domain.bo; + +import org.dromara.biz.domain.BizIcdsDaily; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 每日治安动态业务对象 biz_icds_daily + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BizIcdsDaily.class, reverseConvertGenerate = false) +public class BizIcdsDailyBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 标题 + */ + private String title; + + /** + * 报送标签 + */ + private String tags; + + /** + * 编号 + */ + private String no; + + /** + * 联系方式 + */ + private String contact; + + /** + * 附件路径 + */ + private String fileUrl; + + /** + * 附件名称 + */ + private String fileName; + + /** + * 上报内容 + */ + private String content; + + /** + * 上报时间 + */ + private Date reportTime; + + /** + * 上报用户ID + */ + private Long reportUserId; + + /** + * 上报用户名称 + */ + private String reportUserName; + + /** + * 上报单位ID + */ + private String reportDeptId; + + /** + * 上报单位名称 + */ + private String reportDeptName; + + /** + * 上报状态 + */ + private String status; + + /** + * 更新用户ID + */ + private Long updateUserId; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsNoticeBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsNoticeBo.java new file mode 100644 index 0000000..ac88c45 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizIcdsNoticeBo.java @@ -0,0 +1,82 @@ +package org.dromara.biz.domain.bo; + +import org.dromara.biz.domain.BizIcdsNotice; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 通知公告业务对象 biz_icds_notice + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BizIcdsNotice.class, reverseConvertGenerate = false) +public class BizIcdsNoticeBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 原表ID + */ + private String oldId; + + /** + * 标题 + */ + private String title; + + /** + * 附件路径 + */ + private String fileUrl; + + /** + * 附件名称 + */ + private String fileName; + + /** + * 内容 + */ + private String content; + + /** + * 通知时间 + */ + private Date sendTime; + + /** + * 下发用户名称 + */ + private String sendUserName; + + /** + * 下发单位名称 + */ + private String sendDeptName; + + /** + * 下发状态 + */ + private String status; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizReportInfoBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizReportInfoBo.java index d94c280..d319a72 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizReportInfoBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizReportInfoBo.java @@ -2,6 +2,7 @@ package org.dromara.biz.domain.bo; import org.dromara.biz.domain.BizReportFile; import org.dromara.biz.domain.BizReportInfo; +import org.dromara.biz.domain.BizReportPerson; import org.dromara.biz.domain.BizReportReceiver; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; @@ -42,6 +43,11 @@ public class BizReportInfoBo extends BaseEntity { */ private Long categoryId; + /** + * 报送标签 + */ + private String tags; + /** * 抄送 */ @@ -147,4 +153,9 @@ public class BizReportInfoBo extends BaseEntity { * 接收单位ID 新增修改用 */ private String[] receiverDeptIds; + + /** + * 关联线索人员列表 + */ + private List personList; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizReportPersonBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizReportPersonBo.java new file mode 100644 index 0000000..14aff72 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizReportPersonBo.java @@ -0,0 +1,402 @@ +package org.dromara.biz.domain.bo; + +import org.dromara.biz.domain.BizReportPerson; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 报送关联人员业务对象 biz_report_person + * + * @author ruansee + * @date 2025-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BizReportPerson.class, reverseConvertGenerate = false) +public class BizReportPersonBo extends BaseEntity { + + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 报送信息ID + */ + private Long reportId; + + /** + * 姓名 + */ + private String xm; + + /** + * 证件类型 + */ + private String zjlx; + + /** + * 证件号码 + */ + private String zjhm; + + /** + * 身份证号 + */ + private String sfzh; + + /** + * 出生日期 + */ + private String csrq; + + /** + * 性别 + */ + private String xb; + + /** + * 民族 + */ + private String mz; + + /** + * 学历 + */ + private String xl; + + /** + * 国籍 + */ + private String gj; + + /** + * 籍贯 + */ + private String jg; + + /** + * 婚姻状况 + */ + private String hyzk; + + /** + * 兵役状况 + */ + private String byzk; + + /** + * 现住地区划 + */ + private String xzdqh; + + /** + * 现住地派出所 + */ + private String xzdpcs; + + /** + * 现住地详址 + */ + private String xzdxz; + + /** + * 户籍地区划 + */ + private String hjdqh; + + /** + * 户籍地派出所 + */ + private String hjdpcs; + + /** + * 户籍地详址 + */ + private String hjdxz; + + /** + * 手机号码 + */ + private String phone; + + /** + * 微信号码 + */ + private String wxhm; + + /** + * 车牌号 + */ + private String cph; + + /** + * 照片 + */ + private String zpdz; + + /** + * 姓名拼音 + */ + private String xmpy; + + /** + * 英文姓名 + */ + private String ywxm; + + /** + * QQ + */ + private String qq; + + /** + * 活跃度 + */ + private String hyd; + + /** + * 人员级别 + */ + private String ryjb; + + /** + * 是否入库 + */ + private String sfrk; + + /** + * 人员角色 + */ + private String ryjs; + + /** + * 人员类别 + */ + private String rylb; + + /** + * 人员细类 + */ + private String ryxl; + + /** + * 风险等级 + */ + private String fxdj; + + /** + * 投资金额 + */ + private String tzje; + + /** + * 受损金额 + */ + private String ssje; + + /** + * 净亏损金额 + */ + private String jksje; + + /** + * 投资平台 + */ + private String tzpt; + + /** + * 是否平台员工 + */ + private String sfptyg; + + /** + * 基本诉求 + */ + private String jbsq; + + /** + * 涉事群体 逗号分隔 + */ + private String ssqt; + + /** + * 微信群 + */ + private String wxq; + + /** + * QQ群 + */ + private String qqq; + + /** + * 管控单位代码 + */ + private String gkdwdm; + + /** + * 管控单位名称 + */ + private String gkdwmc; + + /** + * 管控人警号 + */ + private String gkrjh; + + /** + * 管控人 + */ + private String gkrxm; + + /** + * 管控人手机号 + */ + private String gkrsjh; + + /** + * 稳控状态 + */ + private String wkzt; + + /** + * 改派核查单位代码 + */ + private String gphcdwdm; + + /** + * 改派核查单位名称 + */ + private String gphcdwmc; + + /** + * 改派核查原因 + */ + private String gpfkyy; + + /** + * 无法核查原因 + */ + private String wfhcyy; + + /** + * 所在地类型 + */ + private String szdlx; + + /** + * 所在地行政区划 + */ + private String szdxzqh; + + /** + * 工作情况 + */ + private String gzqk; + + /** + * 附件地址 + */ + private String fileUrl; + + /** + * 附件名称 + */ + private String fileName; + + /** + * 创建时间 + */ + private Date cjsj; + + /** + * 更新时间 + */ + private Date gxsj; + + /** + * 创建用户ID + */ + private Long cjrid; + + /** + * 创建人姓名 + */ + private String cjrxm; + + /** + * 创建人警号 + */ + private String cjrjh; + + /** + * 创建人机构单位 + */ + private String cjrjgdw; + + /** + * 创建人机构单位代码 + */ + private String cjrjgdwdm; + + /** + * 更新用户ID + */ + private Long gxrid; + + /** + * 更新人姓名 + */ + private String gxrxm; + + /** + * 更新人警号 + */ + private String gxrjh; + + /** + * 更新人机构单位 + */ + private String gxrjgdw; + + /** + * 更新人机构单位代码 + */ + private String gxrjgdwdm; + + /** + * 处置单位代码 + */ + private String czdwdm; + + /** + * 处置单位名称 + */ + private String czdw; + + /** + * 风险评估 + */ + private String fxpg; + + /** + * 法教形式 + */ + private String fjxs; + + /** + * 是否购票 + */ + private String sfgp; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizStatBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizStatBo.java new file mode 100644 index 0000000..a69811f --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizStatBo.java @@ -0,0 +1,40 @@ +package org.dromara.biz.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.biz.domain.BizStatCate; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.util.Date; + +/** + * 类别统计业务对象 biz_stat_cate + * + * @author ruansee + * @date 2025-12-01 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class BizStatBo extends BaseEntity { + + + /** + * 统计日期 + */ + private Date statDate; + + /** + * 统计类别ID + */ + private Long cateId; + + /** + * 统计类别名称 + */ + private String cateName; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizStatCateBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizStatCateBo.java new file mode 100644 index 0000000..488a1d9 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/bo/BizStatCateBo.java @@ -0,0 +1,62 @@ +package org.dromara.biz.domain.bo; + +import org.dromara.biz.domain.BizStatCate; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 类别统计业务对象 biz_stat_cate + * + * @author ruansee + * @date 2025-12-01 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BizStatCate.class, reverseConvertGenerate = false) +public class BizStatCateBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 统计日期 + */ + private Date statDate; + + /** + * 统计类别ID + */ + private Long cateId; + + /** + * 统计类别名称 + */ + private String cateName; + + /** + * 报送数量 + */ + private Long reportCount; + + /** + * 签收数量 + */ + private Long signCount; + + /** + * 反馈数量 + */ + private Long replyCount; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizCategoryVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizCategoryVo.java index 8c4aa0e..1f9b912 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizCategoryVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizCategoryVo.java @@ -87,6 +87,13 @@ public class BizCategoryVo implements Serializable { @ExcelDictFormat(dictType = "sys_yes_no") private String canShare; + /** + * 是否可以录入人员信息 + */ + @ExcelProperty(value = "是否可以录入人员信息", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_yes_no") + private String canInputPerson; + /** * 模板地址 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizDutyVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizDutyVo.java index 7c5b59c..75aded7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizDutyVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizDutyVo.java @@ -76,6 +76,24 @@ public class BizDutyVo implements Serializable { */ private SysUser leader; + /** + * 值班主任 + */ + @ExcelProperty(value = "值班主任") + private Long chairmanId; + + /** + * 值班主任名称 + */ + @ExcelProperty(value = "值班主任名称") + @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "chairmanId") + private String chairmanName; + + /** + * 值班主任 + */ + private SysUser chairman; + /** * 值班长ID */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsBulletinVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsBulletinVo.java new file mode 100644 index 0000000..bfb8ebf --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsBulletinVo.java @@ -0,0 +1,160 @@ +package org.dromara.biz.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.biz.domain.BizIcdsBulletin; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 信息快报视图对象 biz_icds_bulletin + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BizIcdsBulletin.class) +public class BizIcdsBulletinVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 标题 + */ + @ExcelProperty(value = "标题") + private String title; + + /** + * 报送标签 + */ + @ExcelProperty(value = "报送标签") + private String tags; + + /** + * 编号 + */ + @ExcelProperty(value = "编号") + private String no; + + /** + * 联系方式 + */ + @ExcelProperty(value = "联系方式") + private String contact; + + /** + * 案由 + */ + @ExcelProperty(value = "案由") + private String cause; + + /** + * 其他按钮 + */ + @ExcelProperty(value = "其他按钮") + private String otherCause; + + /** + * 警情级别 + */ + @ExcelProperty(value = "警情级别") + private String level; + + /** + * 死亡人数 + */ + @ExcelProperty(value = "死亡人数") + private String deathCount; + + /** + * 受伤人数 + */ + @ExcelProperty(value = "受伤人数") + private String injuredCount; + + /** + * 附件路径 + */ + @ExcelProperty(value = "附件路径") + private String fileUrl; + + /** + * 附件名称 + */ + @ExcelProperty(value = "附件名称") + private String fileName; + + /** + * 上报内容 + */ + @ExcelProperty(value = "上报内容") + private String content; + + /** + * 上报时间 + */ + @ExcelProperty(value = "上报时间") + private Date reportTime; + + /** + * 上报用户ID + */ + @ExcelProperty(value = "上报用户ID") + private Long reportUserId; + + /** + * 上报用户名称 + */ + @ExcelProperty(value = "上报用户名称") + private String reportUserName; + + /** + * 上报单位ID + */ + @ExcelProperty(value = "上报单位ID") + private String reportDeptId; + + /** + * 上报单位名称 + */ + @ExcelProperty(value = "上报单位名称") + private String reportDeptName; + + /** + * 上报状态 + */ + @ExcelProperty(value = "上报状态") + private String status; + + /** + * 更新用户ID + */ + @ExcelProperty(value = "更新用户ID") + private Long updateUserId; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + @ExcelProperty(value = "推送状态 0不需要推送 1待推送 2已推送") + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsDailyVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsDailyVo.java new file mode 100644 index 0000000..e1cecc8 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsDailyVo.java @@ -0,0 +1,130 @@ +package org.dromara.biz.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.biz.domain.BizIcdsDaily; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 每日治安动态视图对象 biz_icds_daily + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BizIcdsDaily.class) +public class BizIcdsDailyVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 标题 + */ + @ExcelProperty(value = "标题") + private String title; + + /** + * 报送标签 + */ + @ExcelProperty(value = "报送标签") + private String tags; + + /** + * 编号 + */ + @ExcelProperty(value = "编号") + private String no; + + /** + * 联系方式 + */ + @ExcelProperty(value = "联系方式") + private String contact; + + /** + * 附件路径 + */ + @ExcelProperty(value = "附件路径") + private String fileUrl; + + /** + * 附件名称 + */ + @ExcelProperty(value = "附件名称") + private String fileName; + + /** + * 上报内容 + */ + @ExcelProperty(value = "上报内容") + private String content; + + /** + * 上报时间 + */ + @ExcelProperty(value = "上报时间") + private Date reportTime; + + /** + * 上报用户ID + */ + @ExcelProperty(value = "上报用户ID") + private Long reportUserId; + + /** + * 上报用户名称 + */ + @ExcelProperty(value = "上报用户名称") + private String reportUserName; + + /** + * 上报单位ID + */ + @ExcelProperty(value = "上报单位ID") + private String reportDeptId; + + /** + * 上报单位名称 + */ + @ExcelProperty(value = "上报单位名称") + private String reportDeptName; + + /** + * 上报状态 + */ + @ExcelProperty(value = "上报状态") + private String status; + + /** + * 更新用户ID + */ + @ExcelProperty(value = "更新用户ID") + private Long updateUserId; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + @ExcelProperty(value = "推送状态 0不需要推送 1待推送 2已推送") + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsNoticeVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsNoticeVo.java new file mode 100644 index 0000000..f50fbde --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizIcdsNoticeVo.java @@ -0,0 +1,100 @@ +package org.dromara.biz.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.biz.domain.BizIcdsNotice; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 通知公告视图对象 biz_icds_notice + * + * @author ruansee + * @date 2025-12-15 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BizIcdsNotice.class) +public class BizIcdsNoticeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 原表ID + */ + @ExcelProperty(value = "原表ID") + private String oldId; + + /** + * 标题 + */ + @ExcelProperty(value = "标题") + private String title; + + /** + * 附件路径 + */ + @ExcelProperty(value = "附件路径") + private String fileUrl; + + /** + * 附件名称 + */ + @ExcelProperty(value = "附件名称") + private String fileName; + + /** + * 内容 + */ + @ExcelProperty(value = "内容") + private String content; + + /** + * 通知时间 + */ + @ExcelProperty(value = "通知时间") + private Date sendTime; + + /** + * 下发用户名称 + */ + @ExcelProperty(value = "下发用户名称") + private String sendUserName; + + /** + * 下发单位名称 + */ + @ExcelProperty(value = "下发单位名称") + private String sendDeptName; + + /** + * 下发状态 + */ + @ExcelProperty(value = "下发状态") + private String status; + + /** + * 推送状态 0不需要推送 1待推送 2已推送 + */ + @ExcelProperty(value = "推送状态 0不需要推送 1待推送 2已推送") + private Long isSyn; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizReportInfoVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizReportInfoVo.java index 78d6883..8de3d05 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizReportInfoVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizReportInfoVo.java @@ -6,6 +6,7 @@ import org.dromara.biz.domain.BizReportFile; import org.dromara.biz.domain.BizReportInfo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.biz.domain.BizReportPerson; import org.dromara.biz.domain.BizReportReceiver; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; @@ -50,6 +51,11 @@ public class BizReportInfoVo implements Serializable { @ExcelProperty(value = "类别ID") private Long categoryId; + /** + * 报送标签 + */ + private String tags; + /** * 类别名称 */ @@ -183,4 +189,8 @@ public class BizReportInfoVo implements Serializable { private String[] receiverDeptIds; private String pdfUrl; + /** + * 关联线索人员列表 + */ + private List personList; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizReportPersonVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizReportPersonVo.java new file mode 100644 index 0000000..a9b5ef9 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizReportPersonVo.java @@ -0,0 +1,484 @@ +package org.dromara.biz.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.biz.domain.BizReportPerson; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 报送关联人员视图对象 biz_report_person + * + * @author ruansee + * @date 2025-12-06 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BizReportPerson.class) +public class BizReportPersonVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 报送信息ID + */ + @ExcelProperty(value = "报送信息ID") + private Long reportId; + + /** + * 姓名 + */ + @ExcelProperty(value = "姓名") + private String xm; + + /** + * 证件类型 + */ + @ExcelProperty(value = "证件类型") + private String zjlx; + + /** + * 证件号码 + */ + @ExcelProperty(value = "证件号码") + private String zjhm; + + /** + * 身份证号 + */ + @ExcelProperty(value = "身份证号") + private String sfzh; + + /** + * 出生日期 + */ + @ExcelProperty(value = "出生日期") + private String csrq; + + /** + * 性别 + */ + @ExcelProperty(value = "性别") + private String xb; + + /** + * 民族 + */ + @ExcelProperty(value = "民族") + private String mz; + + /** + * 学历 + */ + @ExcelProperty(value = "学历") + private String xl; + + /** + * 国籍 + */ + @ExcelProperty(value = "国籍") + private String gj; + + /** + * 籍贯 + */ + @ExcelProperty(value = "籍贯") + private String jg; + + /** + * 婚姻状况 + */ + @ExcelProperty(value = "婚姻状况") + private String hyzk; + + /** + * 兵役状况 + */ + @ExcelProperty(value = "兵役状况") + private String byzk; + + /** + * 现住地区划 + */ + @ExcelProperty(value = "现住地区划") + private String xzdqh; + + /** + * 现住地派出所 + */ + @ExcelProperty(value = "现住地派出所") + private String xzdpcs; + + /** + * 现住地详址 + */ + @ExcelProperty(value = "现住地详址") + private String xzdxz; + + /** + * 户籍地区划 + */ + @ExcelProperty(value = "户籍地区划") + private String hjdqh; + + /** + * 户籍地派出所 + */ + @ExcelProperty(value = "户籍地派出所") + private String hjdpcs; + + /** + * 户籍地详址 + */ + @ExcelProperty(value = "户籍地详址") + private String hjdxz; + + /** + * 手机号码 + */ + @ExcelProperty(value = "手机号码") + private String phone; + + /** + * 微信号码 + */ + @ExcelProperty(value = "微信号码") + private String wxhm; + + /** + * 车牌号 + */ + @ExcelProperty(value = "车牌号") + private String cph; + + /** + * 照片 + */ + @ExcelProperty(value = "照片") + private String zpdz; + + /** + * 姓名拼音 + */ + @ExcelProperty(value = "姓名拼音") + private String xmpy; + + /** + * 英文姓名 + */ + @ExcelProperty(value = "英文姓名") + private String ywxm; + + /** + * QQ + */ + @ExcelProperty(value = "QQ") + private String qq; + + /** + * 活跃度 + */ + @ExcelProperty(value = "活跃度") + private String hyd; + + /** + * 人员级别 + */ + @ExcelProperty(value = "人员级别") + private String ryjb; + + /** + * 是否入库 + */ + @ExcelProperty(value = "是否入库") + private String sfrk; + + /** + * 人员角色 + */ + @ExcelProperty(value = "人员角色") + private String ryjs; + + /** + * 人员类别 + */ + @ExcelProperty(value = "人员类别") + private String rylb; + + /** + * 人员细类 + */ + @ExcelProperty(value = "人员细类") + private String ryxl; + + /** + * 风险等级 + */ + @ExcelProperty(value = "风险等级") + private String fxdj; + + /** + * 投资金额 + */ + @ExcelProperty(value = "投资金额") + private String tzje; + + /** + * 受损金额 + */ + @ExcelProperty(value = "受损金额") + private String ssje; + + /** + * 净亏损金额 + */ + @ExcelProperty(value = "净亏损金额") + private String jksje; + + /** + * 投资平台 + */ + @ExcelProperty(value = "投资平台") + private String tzpt; + + /** + * 是否平台员工 + */ + @ExcelProperty(value = "是否平台员工") + private String sfptyg; + + /** + * 基本诉求 + */ + @ExcelProperty(value = "基本诉求") + private String jbsq; + + /** + * 涉事群体 逗号分隔 + */ + @ExcelProperty(value = "涉事群体 逗号分隔") + private String ssqt; + + /** + * 微信群 + */ + @ExcelProperty(value = "微信群") + private String wxq; + + /** + * QQ群 + */ + @ExcelProperty(value = "QQ群") + private String qqq; + + /** + * 管控单位代码 + */ + @ExcelProperty(value = "管控单位代码") + private String gkdwdm; + + /** + * 管控单位名称 + */ + @ExcelProperty(value = "管控单位名称") + private String gkdwmc; + + /** + * 管控人警号 + */ + @ExcelProperty(value = "管控人警号") + private String gkrjh; + + /** + * 管控人 + */ + @ExcelProperty(value = "管控人") + private String gkrxm; + + /** + * 管控人手机号 + */ + @ExcelProperty(value = "管控人手机号") + private String gkrsjh; + + /** + * 稳控状态 + */ + @ExcelProperty(value = "稳控状态") + private String wkzt; + + /** + * 改派核查单位代码 + */ + @ExcelProperty(value = "改派核查单位代码") + private String gphcdwdm; + + /** + * 改派核查单位名称 + */ + @ExcelProperty(value = "改派核查单位名称") + private String gphcdwmc; + + /** + * 改派核查原因 + */ + @ExcelProperty(value = "改派核查原因") + private String gpfkyy; + + /** + * 无法核查原因 + */ + @ExcelProperty(value = "无法核查原因") + private String wfhcyy; + + /** + * 所在地类型 + */ + @ExcelProperty(value = "所在地类型") + private String szdlx; + + /** + * 所在地行政区划 + */ + @ExcelProperty(value = "所在地行政区划") + private String szdxzqh; + + /** + * 工作情况 + */ + @ExcelProperty(value = "工作情况") + private String gzqk; + + /** + * 附件地址 + */ + @ExcelProperty(value = "附件地址") + private String fileUrl; + + /** + * 附件名称 + */ + @ExcelProperty(value = "附件名称") + private String fileName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date cjsj; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date gxsj; + + /** + * 创建用户ID + */ + @ExcelProperty(value = "创建用户ID") + private Long cjrid; + + /** + * 创建人姓名 + */ + @ExcelProperty(value = "创建人姓名") + private String cjrxm; + + /** + * 创建人警号 + */ + @ExcelProperty(value = "创建人警号") + private String cjrjh; + + /** + * 创建人机构单位 + */ + @ExcelProperty(value = "创建人机构单位") + private String cjrjgdw; + + /** + * 创建人机构单位代码 + */ + @ExcelProperty(value = "创建人机构单位代码") + private String cjrjgdwdm; + + /** + * 更新用户ID + */ + @ExcelProperty(value = "更新用户ID") + private Long gxrid; + + /** + * 更新人姓名 + */ + @ExcelProperty(value = "更新人姓名") + private String gxrxm; + + /** + * 更新人警号 + */ + @ExcelProperty(value = "更新人警号") + private String gxrjh; + + /** + * 更新人机构单位 + */ + @ExcelProperty(value = "更新人机构单位") + private String gxrjgdw; + + /** + * 更新人机构单位代码 + */ + @ExcelProperty(value = "更新人机构单位代码") + private String gxrjgdwdm; + + /** + * 处置单位代码 + */ + @ExcelProperty(value = "处置单位代码") + private String czdwdm; + + /** + * 处置单位名称 + */ + @ExcelProperty(value = "处置单位名称") + private String czdw; + + /** + * 风险评估 + */ + @ExcelProperty(value = "风险评估") + private String fxpg; + + /** + * 法教形式 + */ + @ExcelProperty(value = "法教形式") + private String fjxs; + + /** + * 是否购票 + */ + @ExcelProperty(value = "是否购票") + private String sfgp; + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizStatCateVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizStatCateVo.java new file mode 100644 index 0000000..31006dc --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/domain/vo/BizStatCateVo.java @@ -0,0 +1,101 @@ +package org.dromara.biz.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.biz.domain.BizStatCate; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 类别统计视图对象 biz_stat_cate + * + * @author ruansee + * @date 2025-12-01 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BizStatCate.class) +public class BizStatCateVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 统计日期 + */ + @ExcelProperty(value = "统计日期") + private Date statDate; + + /** + * 统计类别ID + */ + @ExcelProperty(value = "统计类别ID") + private Long cateId; + + /** + * 统计类别名称 + */ + @ExcelProperty(value = "统计类别名称") + private String cateName; + + /** + * 报送数量 + */ + @ExcelProperty(value = "报送数量") + private Long reportCount; + + /** + * 签收数量 + */ + @ExcelProperty(value = "签收数量") + private Long signCount; + + /** + * 反馈数量 + */ + @ExcelProperty(value = "反馈数量") + private Long replyCount; + + + /** + * 类别 + */ + private String cate; + /** + * 本期数 + */ + private Integer bqs; + /** + * 同期数 + */ + private Integer tqs; + /** + * 上期数 + */ + private Integer sqs; + /** + * 同比 + */ + private String tb; + /** + * 环比 + */ + private String hb; + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsBulletinMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsBulletinMapper.java new file mode 100644 index 0000000..f539e0d --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsBulletinMapper.java @@ -0,0 +1,15 @@ +package org.dromara.biz.mapper; + +import org.dromara.biz.domain.BizIcdsBulletin; +import org.dromara.biz.domain.vo.BizIcdsBulletinVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 信息快报Mapper接口 + * + * @author ruansee + * @date 2025-12-15 + */ +public interface BizIcdsBulletinMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsDailyMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsDailyMapper.java new file mode 100644 index 0000000..ffcbd3f --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsDailyMapper.java @@ -0,0 +1,15 @@ +package org.dromara.biz.mapper; + +import org.dromara.biz.domain.BizIcdsDaily; +import org.dromara.biz.domain.vo.BizIcdsDailyVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 每日治安动态Mapper接口 + * + * @author ruansee + * @date 2025-12-15 + */ +public interface BizIcdsDailyMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsNoticeMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsNoticeMapper.java new file mode 100644 index 0000000..8558f75 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizIcdsNoticeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.biz.mapper; + +import org.dromara.biz.domain.BizIcdsNotice; +import org.dromara.biz.domain.vo.BizIcdsNoticeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 通知公告Mapper接口 + * + * @author ruansee + * @date 2025-12-15 + */ +public interface BizIcdsNoticeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizReportFileMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizReportFileMapper.java index f6b594a..588f3bb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizReportFileMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizReportFileMapper.java @@ -1,7 +1,11 @@ package org.dromara.biz.mapper; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.dromara.biz.domain.BizReportFile; import org.dromara.biz.domain.vo.BizReportFileVo; +import org.dromara.biz.domain.vo.BizReportInfoVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** @@ -12,4 +16,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface BizReportFileMapper extends BaseMapperPlus { + + @Delete("delete from biz_report_file where report_id = ${reportId}") + int deleteByReportId(@Param("reportId") Long reportId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizReportPersonMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizReportPersonMapper.java new file mode 100644 index 0000000..43595b9 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizReportPersonMapper.java @@ -0,0 +1,15 @@ +package org.dromara.biz.mapper; + +import org.dromara.biz.domain.BizReportPerson; +import org.dromara.biz.domain.vo.BizReportPersonVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 报送关联人员Mapper接口 + * + * @author ruansee + * @date 2025-12-06 + */ +public interface BizReportPersonMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizStatCateMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizStatCateMapper.java new file mode 100644 index 0000000..a104c66 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/BizStatCateMapper.java @@ -0,0 +1,30 @@ +package org.dromara.biz.mapper; + +import org.apache.ibatis.annotations.Delete; +import org.dromara.biz.domain.BizStatCate; +import org.dromara.biz.domain.bo.BizStatCateBo; +import org.dromara.biz.domain.vo.BizStatCateVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; + +/** + * 类别统计Mapper接口 + * + * @author ruansee + * @date 2025-12-01 + */ +public interface BizStatCateMapper extends BaseMapperPlus { + + BizStatCateVo statByCateId(Long cateId); + + BizStatCateVo statYesterdayByCateId(Long cateId); + + @Delete("delete from biz_stat_cate where cate_id = ${cateId} and stat_date = CURDATE() - INTERVAL 1 DAY") + int deleteYesterdayData(Long cateId); + + @Delete("delete from biz_stat_cate where cate_id = ${cateId} and stat_date = CURDATE()") + int deleteTodayData(Long cateId); + + List statByDate(BizStatCateBo bo); +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/CustomSQLMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/CustomSQLMapper.java new file mode 100644 index 0000000..0b9dbd9 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/mapper/CustomSQLMapper.java @@ -0,0 +1,34 @@ +package org.dromara.biz.mapper; + +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; +import java.util.Map; + +/** + * 自定义SQL Mapper接口 + * + * @author YIN + * @date 2025-05-21 + */ +public interface CustomSQLMapper { + + @Select("${sql}") + Map selectOne(String sql); + + @Select("${sql}") + List selectList(String sql); + + @Insert("${sql}") + int insertOne(String sql); + + @Update("${sql}") + int updateOne(String sql); + + @Delete("${sql}") + int deleteOne(String sql); + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsBulletinService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsBulletinService.java new file mode 100644 index 0000000..04c2ed7 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsBulletinService.java @@ -0,0 +1,76 @@ +package org.dromara.biz.service; + +import org.dromara.biz.domain.vo.BizIcdsBulletinVo; +import org.dromara.biz.domain.bo.BizIcdsBulletinBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 信息快报Service接口 + * + * @author ruansee + * @date 2025-12-15 + */ +public interface IBizIcdsBulletinService { + + /** + * 查询信息快报 + * + * @param id 主键 + * @return 信息快报 + */ + BizIcdsBulletinVo queryById(Long id); + + /** + * 分页查询信息快报列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 信息快报分页列表 + */ + TableDataInfo queryPageList(BizIcdsBulletinBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的信息快报列表 + * + * @param bo 查询条件 + * @return 信息快报列表 + */ + List queryList(BizIcdsBulletinBo bo); + + /** + * 新增信息快报 + * + * @param bo 信息快报 + * @return 是否新增成功 + */ + Boolean insertByBo(BizIcdsBulletinBo bo); + + /** + * 修改信息快报 + * + * @param bo 信息快报 + * @return 是否修改成功 + */ + Boolean updateByBo(BizIcdsBulletinBo bo); + + /** + * 校验并批量删除信息快报信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 推送信息快报 + * + * @param bo 信息快报 + * @return 是否推送成功 + */ + Boolean push(BizIcdsBulletinBo bo); +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsDailyService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsDailyService.java new file mode 100644 index 0000000..32aa581 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsDailyService.java @@ -0,0 +1,76 @@ +package org.dromara.biz.service; + +import org.dromara.biz.domain.vo.BizIcdsDailyVo; +import org.dromara.biz.domain.bo.BizIcdsDailyBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 每日治安动态Service接口 + * + * @author ruansee + * @date 2025-12-15 + */ +public interface IBizIcdsDailyService { + + /** + * 查询每日治安动态 + * + * @param id 主键 + * @return 每日治安动态 + */ + BizIcdsDailyVo queryById(Long id); + + /** + * 分页查询每日治安动态列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 每日治安动态分页列表 + */ + TableDataInfo queryPageList(BizIcdsDailyBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的每日治安动态列表 + * + * @param bo 查询条件 + * @return 每日治安动态列表 + */ + List queryList(BizIcdsDailyBo bo); + + /** + * 新增每日治安动态 + * + * @param bo 每日治安动态 + * @return 是否新增成功 + */ + Boolean insertByBo(BizIcdsDailyBo bo); + + /** + * 修改每日治安动态 + * + * @param bo 每日治安动态 + * @return 是否修改成功 + */ + Boolean updateByBo(BizIcdsDailyBo bo); + + /** + * 校验并批量删除每日治安动态信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 推送每日治安动态 + * + * @param bo 每日治安动态 + * @return 是否推送成功 + */ + Boolean push(BizIcdsDailyBo bo); +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsNoticeService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsNoticeService.java new file mode 100644 index 0000000..c181e7e --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizIcdsNoticeService.java @@ -0,0 +1,76 @@ +package org.dromara.biz.service; + +import org.dromara.biz.domain.vo.BizIcdsNoticeVo; +import org.dromara.biz.domain.bo.BizIcdsNoticeBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 通知公告Service接口 + * + * @author ruansee + * @date 2025-12-15 + */ +public interface IBizIcdsNoticeService { + + /** + * 查询通知公告 + * + * @param id 主键 + * @return 通知公告 + */ + BizIcdsNoticeVo queryById(Long id); + + /** + * 分页查询通知公告列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 通知公告分页列表 + */ + TableDataInfo queryPageList(BizIcdsNoticeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的通知公告列表 + * + * @param bo 查询条件 + * @return 通知公告列表 + */ + List queryList(BizIcdsNoticeBo bo); + + /** + * 新增通知公告 + * + * @param bo 通知公告 + * @return 是否新增成功 + */ + Boolean insertByBo(BizIcdsNoticeBo bo); + + /** + * 修改通知公告 + * + * @param bo 通知公告 + * @return 是否修改成功 + */ + Boolean updateByBo(BizIcdsNoticeBo bo); + + /** + * 校验并批量删除通知公告信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 签收通知公告 + * + * @param bo 通知公告 + * @return 是否签收成功 + */ + Boolean sign(BizIcdsNoticeBo bo); +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizReportInfoService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizReportInfoService.java index e3fa76e..8dae2f4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizReportInfoService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizReportInfoService.java @@ -65,4 +65,12 @@ public interface IBizReportInfoService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 退回报送信息 + * + * @param bo 报送信息 + * @return 是否修改成功 + */ + Boolean back(BizReportInfoBo bo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizReportPersonService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizReportPersonService.java new file mode 100644 index 0000000..1b4f114 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizReportPersonService.java @@ -0,0 +1,68 @@ +package org.dromara.biz.service; + +import org.dromara.biz.domain.vo.BizReportPersonVo; +import org.dromara.biz.domain.bo.BizReportPersonBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 报送关联人员Service接口 + * + * @author ruansee + * @date 2025-12-06 + */ +public interface IBizReportPersonService { + + /** + * 查询报送关联人员 + * + * @param id 主键 + * @return 报送关联人员 + */ + BizReportPersonVo queryById(Long id); + + /** + * 分页查询报送关联人员列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报送关联人员分页列表 + */ + TableDataInfo queryPageList(BizReportPersonBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的报送关联人员列表 + * + * @param bo 查询条件 + * @return 报送关联人员列表 + */ + List queryList(BizReportPersonBo bo); + + /** + * 新增报送关联人员 + * + * @param bo 报送关联人员 + * @return 是否新增成功 + */ + Boolean insertByBo(BizReportPersonBo bo); + + /** + * 修改报送关联人员 + * + * @param bo 报送关联人员 + * @return 是否修改成功 + */ + Boolean updateByBo(BizReportPersonBo bo); + + /** + * 校验并批量删除报送关联人员信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizStatCateService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizStatCateService.java new file mode 100644 index 0000000..3875c1b --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/IBizStatCateService.java @@ -0,0 +1,70 @@ +package org.dromara.biz.service; + +import org.dromara.biz.domain.vo.BizStatCateVo; +import org.dromara.biz.domain.bo.BizStatCateBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 类别统计Service接口 + * + * @author ruansee + * @date 2025-12-01 + */ +public interface IBizStatCateService { + + List statByDate(BizStatCateBo bo); + + /** + * 查询类别统计 + * + * @param id 主键 + * @return 类别统计 + */ + BizStatCateVo queryById(Long id); + + /** + * 分页查询类别统计列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 类别统计分页列表 + */ + TableDataInfo queryPageList(BizStatCateBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的类别统计列表 + * + * @param bo 查询条件 + * @return 类别统计列表 + */ + List queryList(BizStatCateBo bo); + + /** + * 新增类别统计 + * + * @param bo 类别统计 + * @return 是否新增成功 + */ + Boolean insertByBo(BizStatCateBo bo); + + /** + * 修改类别统计 + * + * @param bo 类别统计 + * @return 是否修改成功 + */ + Boolean updateByBo(BizStatCateBo bo); + + /** + * 校验并批量删除类别统计信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/ICustomSQLService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/ICustomSQLService.java new file mode 100644 index 0000000..6958dc7 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/ICustomSQLService.java @@ -0,0 +1,25 @@ +package org.dromara.biz.service; + +import java.util.List; +import java.util.Map; + +/** + * 自定义SQL Service接口 + * + * @author YIN + * @date 2025-05-21 + */ +public interface ICustomSQLService { + + + Map selectOne(String sql); + + List selectList(String sql); + + int insertOne(String sql); + + int updateOne(String sql); + + int deleteOne(String sql); + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizCategoryServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizCategoryServiceImpl.java index 543466f..84f5a9d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizCategoryServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizCategoryServiceImpl.java @@ -80,6 +80,7 @@ public class BizCategoryServiceImpl implements IBizCategoryService { lqw.eq(StringUtils.isNotBlank(bo.getCanFeedback()), BizCategory::getCanFeedback, bo.getCanFeedback()); lqw.eq(StringUtils.isNotBlank(bo.getCanReply()), BizCategory::getCanReply, bo.getCanReply()); lqw.eq(StringUtils.isNotBlank(bo.getCanShare()), BizCategory::getCanShare, bo.getCanShare()); + lqw.eq(StringUtils.isNotBlank(bo.getCanInputPerson()), BizCategory::getCanInputPerson, bo.getCanInputPerson()); lqw.eq(StringUtils.isNotBlank(bo.getTemplateUrl()), BizCategory::getTemplateUrl, bo.getTemplateUrl()); lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BizCategory::getStatus, bo.getStatus()); return lqw; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizDutyServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizDutyServiceImpl.java index c908919..a0f2f37 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizDutyServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizDutyServiceImpl.java @@ -55,6 +55,7 @@ public class BizDutyServiceImpl implements IBizDutyService { public BizDutyVo queryById(Long id){ BizDutyVo duty = baseMapper.selectVoById(id); duty.setLeader(userMapper.selectById(duty.getLeaderId())); + duty.setChairman(userMapper.selectById(duty.getChairmanId())); duty.setMonitor(userMapper.selectById(duty.getMonitorId())); duty.setWatchkeeperList(userMapper.selectByIds(convertIds(duty.getWatchkeeperIds()))); return duty; @@ -107,6 +108,8 @@ public class BizDutyServiceImpl implements IBizDutyService { lqw.like(StringUtils.isNotBlank(bo.getDeptName()), BizDuty::getDeptName, bo.getDeptName()); lqw.eq(bo.getLeaderId() != null, BizDuty::getLeaderId, bo.getLeaderId()); lqw.like(StringUtils.isNotBlank(bo.getLeaderName()), BizDuty::getLeaderName, bo.getLeaderName()); + lqw.eq(bo.getChairmanId() != null, BizDuty::getChairmanId, bo.getChairmanId()); + lqw.like(StringUtils.isNotBlank(bo.getChairmanName()), BizDuty::getChairmanName, bo.getChairmanName()); lqw.eq(bo.getMonitorId() != null, BizDuty::getMonitorId, bo.getMonitorId()); lqw.like(StringUtils.isNotBlank(bo.getMonitorName()), BizDuty::getMonitorName, bo.getMonitorName()); lqw.eq(StringUtils.isNotBlank(bo.getWatchkeeperIds()), BizDuty::getWatchkeeperIds, bo.getWatchkeeperIds()); @@ -135,6 +138,7 @@ public class BizDutyServiceImpl implements IBizDutyService { add.setDeptId(user.getDeptId()); add.setCreateUserId(user.getUserId()); add.setLeaderName(userService.selectNicknameById(add.getLeaderId())); + add.setChairmanName(userService.selectNicknameById(add.getChairmanId())); add.setMonitorName(userService.selectNicknameById(add.getMonitorId())); add.setWatchkeeperNames(userService.selectNicknameByIds(add.getWatchkeeperIds())); add.setDeptName(user.getDeptName()); @@ -156,9 +160,14 @@ public class BizDutyServiceImpl implements IBizDutyService { @Override public Boolean updateByBo(BizDutyBo bo) { BizDuty update = MapstructUtils.convert(bo, BizDuty.class); - update.setLeaderName(userService.selectNicknameById(update.getLeaderId())); - update.setMonitorName(userService.selectNicknameById(update.getMonitorId())); - update.setWatchkeeperNames(userService.selectNicknameByIds(update.getWatchkeeperIds())); + if(update.getLeaderId()!=null) + update.setLeaderName(userService.selectNicknameById(update.getLeaderId())); + if(update.getChairmanId()!=null) + update.setChairmanName(userService.selectNicknameById(update.getChairmanId())); + if(update.getMonitorId()!=null) + update.setMonitorName(userService.selectNicknameById(update.getMonitorId())); + if(update.getWatchkeeperIds()!=null) + update.setWatchkeeperNames(userService.selectNicknameByIds(update.getWatchkeeperIds())); // update.setDeptName(deptService.selectDeptNameByIds(update.getDeptId())); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsBulletinServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsBulletinServiceImpl.java new file mode 100644 index 0000000..4610cbb --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsBulletinServiceImpl.java @@ -0,0 +1,175 @@ +package org.dromara.biz.service.impl; + +import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.utils.Helper; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.common.satoken.utils.LoginHelper; +import org.springframework.stereotype.Service; +import org.dromara.biz.domain.bo.BizIcdsBulletinBo; +import org.dromara.biz.domain.vo.BizIcdsBulletinVo; +import org.dromara.biz.domain.BizIcdsBulletin; +import org.dromara.biz.mapper.BizIcdsBulletinMapper; +import org.dromara.biz.service.IBizIcdsBulletinService; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 信息快报Service业务层处理 + * + * @author ruansee + * @date 2025-12-15 + */ +@RequiredArgsConstructor +@Service +public class BizIcdsBulletinServiceImpl implements IBizIcdsBulletinService { + + private final BizIcdsBulletinMapper baseMapper; + + /** + * 查询信息快报 + * + * @param id 主键 + * @return 信息快报 + */ + @Override + public BizIcdsBulletinVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询信息快报列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 信息快报分页列表 + */ + @Override + public TableDataInfo queryPageList(BizIcdsBulletinBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的信息快报列表 + * + * @param bo 查询条件 + * @return 信息快报列表 + */ + @Override + public List queryList(BizIcdsBulletinBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BizIcdsBulletinBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BizIcdsBulletin::getId); + lqw.eq(StringUtils.isNotBlank(bo.getTitle()), BizIcdsBulletin::getTitle, bo.getTitle()); + lqw.eq(StringUtils.isNotBlank(bo.getTags()), BizIcdsBulletin::getTags, bo.getTags()); + lqw.eq(StringUtils.isNotBlank(bo.getNo()), BizIcdsBulletin::getNo, bo.getNo()); + lqw.eq(StringUtils.isNotBlank(bo.getContact()), BizIcdsBulletin::getContact, bo.getContact()); + lqw.eq(StringUtils.isNotBlank(bo.getCause()), BizIcdsBulletin::getCause, bo.getCause()); + lqw.eq(StringUtils.isNotBlank(bo.getOtherCause()), BizIcdsBulletin::getOtherCause, bo.getOtherCause()); + lqw.eq(StringUtils.isNotBlank(bo.getLevel()), BizIcdsBulletin::getLevel, bo.getLevel()); + lqw.eq(StringUtils.isNotBlank(bo.getDeathCount()), BizIcdsBulletin::getDeathCount, bo.getDeathCount()); + lqw.eq(StringUtils.isNotBlank(bo.getInjuredCount()), BizIcdsBulletin::getInjuredCount, bo.getInjuredCount()); + lqw.eq(StringUtils.isNotBlank(bo.getFileUrl()), BizIcdsBulletin::getFileUrl, bo.getFileUrl()); + lqw.like(StringUtils.isNotBlank(bo.getFileName()), BizIcdsBulletin::getFileName, bo.getFileName()); + lqw.eq(StringUtils.isNotBlank(bo.getContent()), BizIcdsBulletin::getContent, bo.getContent()); + lqw.eq(bo.getReportTime() != null, BizIcdsBulletin::getReportTime, bo.getReportTime()); + lqw.eq(bo.getReportUserId() != null, BizIcdsBulletin::getReportUserId, bo.getReportUserId()); + lqw.like(StringUtils.isNotBlank(bo.getReportUserName()), BizIcdsBulletin::getReportUserName, bo.getReportUserName()); + lqw.eq(StringUtils.isNotBlank(bo.getReportDeptId()), BizIcdsBulletin::getReportDeptId, bo.getReportDeptId()); + lqw.like(StringUtils.isNotBlank(bo.getReportDeptName()), BizIcdsBulletin::getReportDeptName, bo.getReportDeptName()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BizIcdsBulletin::getStatus, bo.getStatus()); + lqw.eq(bo.getUpdateUserId() != null, BizIcdsBulletin::getUpdateUserId, bo.getUpdateUserId()); + lqw.eq(bo.getIsSyn() != null, BizIcdsBulletin::getIsSyn, bo.getIsSyn()); + return lqw; + } + + /** + * 新增信息快报 + * + * @param bo 信息快报 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BizIcdsBulletinBo bo) { + LoginUser user = LoginHelper.getLoginUser(); + String deptid = Helper.NStr(user.getDeptId()); + bo.setReportDeptId(deptid); + bo.setReportDeptName(user.getDeptName()); + bo.setReportUserId(user.getUserId()); + bo.setReportUserName(user.getNickname()); + bo.setReportTime(new Date()); + bo.setIsSyn(1L); + BizIcdsBulletin add = MapstructUtils.convert(bo, BizIcdsBulletin.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改信息快报 + * + * @param bo 信息快报 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BizIcdsBulletinBo bo) { + BizIcdsBulletin update = MapstructUtils.convert(bo, BizIcdsBulletin.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BizIcdsBulletin entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除信息快报信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + + /** + * 推送信息快报 + * + * @param bo 信息快报 + * @return 是否推送成功 + */ + @Override + public Boolean push(BizIcdsBulletinBo bo){ + BizIcdsBulletin update = new BizIcdsBulletin(); //MapstructUtils.convert(bo, BizIcdsBulletin.class); + update.setId(bo.getId()); + update.setIsSyn(2L); + return baseMapper.updateById(update) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsDailyServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsDailyServiceImpl.java new file mode 100644 index 0000000..48072d2 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsDailyServiceImpl.java @@ -0,0 +1,171 @@ +package org.dromara.biz.service.impl; + +import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.utils.Helper; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.common.satoken.utils.LoginHelper; +import org.springframework.stereotype.Service; +import org.dromara.biz.domain.bo.BizIcdsDailyBo; +import org.dromara.biz.domain.vo.BizIcdsDailyVo; +import org.dromara.biz.domain.BizIcdsDaily; +import org.dromara.biz.mapper.BizIcdsDailyMapper; +import org.dromara.biz.service.IBizIcdsDailyService; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 每日治安动态Service业务层处理 + * + * @author ruansee + * @date 2025-12-15 + */ +@RequiredArgsConstructor +@Service +public class BizIcdsDailyServiceImpl implements IBizIcdsDailyService { + + private final BizIcdsDailyMapper baseMapper; + + /** + * 查询每日治安动态 + * + * @param id 主键 + * @return 每日治安动态 + */ + @Override + public BizIcdsDailyVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询每日治安动态列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 每日治安动态分页列表 + */ + @Override + public TableDataInfo queryPageList(BizIcdsDailyBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的每日治安动态列表 + * + * @param bo 查询条件 + * @return 每日治安动态列表 + */ + @Override + public List queryList(BizIcdsDailyBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BizIcdsDailyBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BizIcdsDaily::getId); + lqw.eq(StringUtils.isNotBlank(bo.getTitle()), BizIcdsDaily::getTitle, bo.getTitle()); + lqw.eq(StringUtils.isNotBlank(bo.getTags()), BizIcdsDaily::getTags, bo.getTags()); + lqw.eq(StringUtils.isNotBlank(bo.getNo()), BizIcdsDaily::getNo, bo.getNo()); + lqw.eq(StringUtils.isNotBlank(bo.getContact()), BizIcdsDaily::getContact, bo.getContact()); + lqw.eq(StringUtils.isNotBlank(bo.getFileUrl()), BizIcdsDaily::getFileUrl, bo.getFileUrl()); + lqw.like(StringUtils.isNotBlank(bo.getFileName()), BizIcdsDaily::getFileName, bo.getFileName()); + lqw.eq(StringUtils.isNotBlank(bo.getContent()), BizIcdsDaily::getContent, bo.getContent()); + lqw.eq(bo.getReportTime() != null, BizIcdsDaily::getReportTime, bo.getReportTime()); + lqw.eq(bo.getReportUserId() != null, BizIcdsDaily::getReportUserId, bo.getReportUserId()); + lqw.like(StringUtils.isNotBlank(bo.getReportUserName()), BizIcdsDaily::getReportUserName, bo.getReportUserName()); + lqw.eq(StringUtils.isNotBlank(bo.getReportDeptId()), BizIcdsDaily::getReportDeptId, bo.getReportDeptId()); + lqw.like(StringUtils.isNotBlank(bo.getReportDeptName()), BizIcdsDaily::getReportDeptName, bo.getReportDeptName()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BizIcdsDaily::getStatus, bo.getStatus()); + lqw.eq(bo.getUpdateUserId() != null, BizIcdsDaily::getUpdateUserId, bo.getUpdateUserId()); + lqw.eq(bo.getIsSyn() != null, BizIcdsDaily::getIsSyn, bo.getIsSyn()); + return lqw; + } + + /** + * 新增每日治安动态 + * + * @param bo 每日治安动态 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BizIcdsDailyBo bo) { + LoginUser user = LoginHelper.getLoginUser(); + String deptid = Helper.NStr(user.getDeptId()); + bo.setReportDeptId(deptid); + bo.setReportDeptName(user.getDeptName()); + bo.setReportUserId(user.getUserId()); + bo.setReportUserName(user.getNickname()); + bo.setReportTime(new Date()); + bo.setIsSyn(1L); + BizIcdsDaily add = MapstructUtils.convert(bo, BizIcdsDaily.class); + + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改每日治安动态 + * + * @param bo 每日治安动态 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BizIcdsDailyBo bo) { + BizIcdsDaily update = MapstructUtils.convert(bo, BizIcdsDaily.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BizIcdsDaily entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除每日治安动态信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + + /** + * 推送每日治安动态 + * + * @param bo 每日治安动态 + * @return 是否推送成功 + */ + @Override + public Boolean push(BizIcdsDailyBo bo){ + BizIcdsDaily update = new BizIcdsDaily(); // MapstructUtils.convert(bo, BizIcdsDaily.class); + update.setId(bo.getId()); + update.setIsSyn(2L); + return baseMapper.updateById(update) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsNoticeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsNoticeServiceImpl.java new file mode 100644 index 0000000..39f9fd2 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizIcdsNoticeServiceImpl.java @@ -0,0 +1,154 @@ +package org.dromara.biz.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.biz.domain.bo.BizIcdsNoticeBo; +import org.dromara.biz.domain.vo.BizIcdsNoticeVo; +import org.dromara.biz.domain.BizIcdsNotice; +import org.dromara.biz.mapper.BizIcdsNoticeMapper; +import org.dromara.biz.service.IBizIcdsNoticeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 通知公告Service业务层处理 + * + * @author ruansee + * @date 2025-12-15 + */ +@RequiredArgsConstructor +@Service +public class BizIcdsNoticeServiceImpl implements IBizIcdsNoticeService { + + private final BizIcdsNoticeMapper baseMapper; + + /** + * 查询通知公告 + * + * @param id 主键 + * @return 通知公告 + */ + @Override + public BizIcdsNoticeVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询通知公告列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 通知公告分页列表 + */ + @Override + public TableDataInfo queryPageList(BizIcdsNoticeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的通知公告列表 + * + * @param bo 查询条件 + * @return 通知公告列表 + */ + @Override + public List queryList(BizIcdsNoticeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BizIcdsNoticeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BizIcdsNotice::getId); + lqw.eq(StringUtils.isNotBlank(bo.getOldId()), BizIcdsNotice::getOldId, bo.getOldId()); + lqw.eq(StringUtils.isNotBlank(bo.getTitle()), BizIcdsNotice::getTitle, bo.getTitle()); + lqw.eq(StringUtils.isNotBlank(bo.getFileUrl()), BizIcdsNotice::getFileUrl, bo.getFileUrl()); + lqw.like(StringUtils.isNotBlank(bo.getFileName()), BizIcdsNotice::getFileName, bo.getFileName()); + lqw.eq(StringUtils.isNotBlank(bo.getContent()), BizIcdsNotice::getContent, bo.getContent()); + lqw.eq(bo.getSendTime() != null, BizIcdsNotice::getSendTime, bo.getSendTime()); + lqw.like(StringUtils.isNotBlank(bo.getSendUserName()), BizIcdsNotice::getSendUserName, bo.getSendUserName()); + lqw.like(StringUtils.isNotBlank(bo.getSendDeptName()), BizIcdsNotice::getSendDeptName, bo.getSendDeptName()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BizIcdsNotice::getStatus, bo.getStatus()); + lqw.eq(bo.getIsSyn() != null, BizIcdsNotice::getIsSyn, bo.getIsSyn()); + return lqw; + } + + /** + * 新增通知公告 + * + * @param bo 通知公告 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BizIcdsNoticeBo bo) { + BizIcdsNotice add = MapstructUtils.convert(bo, BizIcdsNotice.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改通知公告 + * + * @param bo 通知公告 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BizIcdsNoticeBo bo) { + BizIcdsNotice update = MapstructUtils.convert(bo, BizIcdsNotice.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BizIcdsNotice entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除通知公告信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + + /** + * 签收通知公告 + * + * @param bo 通知公告 + * @return 是否签收成功 + */ + @Override + public Boolean sign(BizIcdsNoticeBo bo){ + BizIcdsNotice update = new BizIcdsNotice(); // MapstructUtils.convert(bo, BizIcdsNotice.class); + update.setId(bo.getId()); + update.setStatus("已签收"); + update.setIsSyn(2L); + return baseMapper.updateById(update) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportInfoServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportInfoServiceImpl.java index 139a006..4c72be0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportInfoServiceImpl.java @@ -1,11 +1,14 @@ package org.dromara.biz.service.impl; import org.dromara.biz.domain.BizReportFile; +import org.dromara.biz.domain.BizReportPerson; import org.dromara.biz.domain.BizReportReceiver; import org.dromara.biz.domain.vo.BizReportReceiverVo; import org.dromara.biz.mapper.BizReportFileMapper; +import org.dromara.biz.mapper.BizReportPersonMapper; import org.dromara.biz.mapper.BizReportReceiverMapper; import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.enums.ReportInfoStatusEnum; import org.dromara.common.core.utils.Helper; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -16,7 +19,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.common.sse.dto.SseMessageDto; +import org.dromara.common.sse.utils.SseMessageUtils; +import org.dromara.system.domain.SysDept; +import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.mapper.SysDeptMapper; +import org.dromara.system.mapper.SysUserMapper; +import org.dromara.system.service.ISysUserService; import org.springframework.stereotype.Service; import org.dromara.biz.domain.bo.BizReportInfoBo; import org.dromara.biz.domain.vo.BizReportInfoVo; @@ -25,6 +34,8 @@ import org.dromara.biz.mapper.BizReportInfoMapper; import org.dromara.biz.service.IBizReportInfoService; import java.util.*; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; /** * 报送信息Service业务层处理 @@ -42,8 +53,14 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { private final BizReportReceiverMapper receiverMapper; + private final BizReportPersonMapper personMapper; + private final SysDeptMapper deptMapper; + private final ISysUserService userService; + + private final ScheduledExecutorService scheduledExecutorService; + /** * 查询报送信息 * @@ -70,6 +87,11 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { List files = fileMapper.selectList(lqwf); info.setFiles(files); + LambdaQueryWrapper lqwp = Wrappers.lambdaQuery(); + lqwp.eq(BizReportPerson::getReportId, id); + List persons = personMapper.selectList(lqwp); + info.setPersonList(persons); + return info; } @@ -105,12 +127,13 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { lqw.orderByDesc(BizReportInfo::getReportTime); lqw.like(StringUtils.isNotBlank(bo.getTitle()), BizReportInfo::getTitle, bo.getTitle()); lqw.eq(bo.getCategoryId() != null, BizReportInfo::getCategoryId, bo.getCategoryId()); + lqw.like(StringUtils.isNotBlank(bo.getTags()), BizReportInfo::getTags, bo.getTags()); lqw.eq(StringUtils.isNotBlank(bo.getChao()), BizReportInfo::getChao, bo.getChao()); lqw.eq(StringUtils.isNotBlank(bo.getLdps()), BizReportInfo::getLdps, bo.getLdps()); lqw.eq(StringUtils.isNotBlank(bo.getQh()), BizReportInfo::getQh, bo.getQh()); lqw.eq(StringUtils.isNotBlank(bo.getOldTable()), BizReportInfo::getOldTable, bo.getOldTable()); - lqw.eq(StringUtils.isNotBlank(bo.getOldType()), BizReportInfo::getOldType, bo.getOldType()); - lqw.eq(bo.getOldId() != null, BizReportInfo::getOldId, bo.getOldId()); +// lqw.eq(StringUtils.isNotBlank(bo.getOldType()), BizReportInfo::getOldType, bo.getOldType()); +// lqw.eq(bo.getOldId() != null, BizReportInfo::getOldId, bo.getOldId()); lqw.eq(StringUtils.isNotBlank(bo.getUrl()), BizReportInfo::getUrl, bo.getUrl()); lqw.eq(StringUtils.isNotBlank(bo.getFileUrl()), BizReportInfo::getFileUrl, bo.getFileUrl()); lqw.like(StringUtils.isNotBlank(bo.getFileName()), BizReportInfo::getFileName, bo.getFileName()); @@ -126,17 +149,23 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { lqw.eq(bo.getUpdateUserId() != null, BizReportInfo::getUpdateUserId, bo.getUpdateUserId()); String table = Helper.NStr(bo.getOldTable()); + String dcl = Helper.NStr(bo.getOldType()); LoginUser user = LoginHelper.getLoginUser(); - if (table.equals("xxcl")){ - lqw.and(w-> { + + if (dcl.equals("dcl")){ + lqw.exists("select id from biz_report_receiver where dept_id = '" + Helper.NStr(user.getDeptId()) + "' and is_sign = 0 and report_id = v.id "); + }else { + if (table.equals("xxcl")) { + lqw.and(w -> { // w.eq(user.getDeptId()!=null, BizReportInfo::getReportDeptId, user.getDeptId()); - w.likeRight(BizReportInfo::getReportDeptId, Helper.PrefixDeptid(user.getDeptId())); - w.or(ww->{ - ww.exists("select id from biz_report_receiver where dept_id = '"+ Helper.NStr(user.getDeptId()) +" and report_id = v.id '"); + w.likeRight(BizReportInfo::getReportDeptId, Helper.PrefixDeptid(user.getDeptId())); + w.or(ww -> { + ww.exists("select id from biz_report_receiver where dept_id = '" + Helper.NStr(user.getDeptId()) + "' and report_id = v.id "); + }); }); - }); - } else if (table.equals("xxbs")){ - lqw.likeRight(BizReportInfo::getReportDeptId, Helper.PrefixDeptid(user.getDeptId())); + } else if (table.equals("xxbs")) { + lqw.likeRight(BizReportInfo::getReportDeptId, Helper.PrefixDeptid(user.getDeptId())); + } } return lqw; } @@ -149,6 +178,13 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { */ @Override public Boolean insertByBo(BizReportInfoBo bo) { + LoginUser user = LoginHelper.getLoginUser(); + String deptid = Helper.NStr(user.getDeptId()); + bo.setReportDeptId(deptid); + bo.setReportDeptName(user.getDeptName()); + bo.setReportUserId(user.getUserId()); + bo.setReportUserName(user.getNickname()); + bo.setReportTime(new Date()); BizReportInfo add = MapstructUtils.convert(bo, BizReportInfo.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; @@ -164,16 +200,62 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { receiver.setDeptName(deptMapper.selectVoById(deptId).getDeptName()); receiverMapper.insert(receiver); } + }else{ + if (bo.getOldTable().equals("xxbs")){ + SysDept dept = deptMapper.selectById(deptid); + String sjdept = dept.getParentId(); //deptid.substring(0, 4)+"00000000"; + BizReportReceiver receiver = new BizReportReceiver(); + receiver.setReportId(bo.getId()); + receiver.setDeptId(sjdept); + receiver.setDeptName(deptMapper.selectVoById(sjdept).getDeptName()); + + bo.setReceiverDeptIds(new String[]{ sjdept }); + receiverMapper.insert(receiver); + } } // 插入附件表 if (bo.getFiles()!=null && bo.getFiles().size()>0){ for (BizReportFile file : bo.getFiles()) { + file.setId(null); file.setReportId(bo.getId()); fileMapper.insert(file); } } + if (bo.getPersonList()!=null && bo.getPersonList().size()>0){ + for (BizReportPerson person : bo.getPersonList()) { + person.setReportId(bo.getId()); + person.setCjrid(user.getUserId()); + person.setCjrjh(user.getUsername()); + person.setCjrxm(user.getNickname()); + person.setCjrjgdwdm(user.getWorkDeptId()); + person.setCjrjgdw(user.getWorkDeptName()); + person.setCjsj(new Date()); + person.setGxrid(user.getUserId()); + person.setGxrjh(user.getUsername()); + person.setGxrxm(user.getNickname()); + person.setGxrjgdwdm(user.getWorkDeptId()); + person.setGxrjgdw(user.getWorkDeptName()); + person.setGxsj(new Date()); + + personMapper.insert(person); + } + } + + // 发送待办消息提醒 + if(bo.getReceiverDeptIds()!=null && bo.getReceiverDeptIds().length>0){ + SysUserBo userBo = new SysUserBo(); + userBo.setDeptIds(bo.getReceiverDeptIds()); + List userIds = userService.selectUserIdList(userBo); + scheduledExecutorService.schedule(() -> { + SseMessageDto dto = new SseMessageDto(); + dto.setMessage("您有新的待办信息,请前往查看!"); + dto.setType("todo"); + dto.setUserIds(userIds); + SseMessageUtils.publishMessage(dto); + }, 5, TimeUnit.SECONDS); + } } return flag; } @@ -187,7 +269,9 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { */ @Override public Boolean updateByBo(BizReportInfoBo bo) { + LoginUser user = LoginHelper.getLoginUser(); BizReportInfo update = MapstructUtils.convert(bo, BizReportInfo.class); + update.setStatus(ReportInfoStatusEnum.WAITING_SIGN.getStatus()); validEntityBeforeSave(update); boolean flag = baseMapper.updateById(update) > 0; @@ -220,15 +304,42 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { } } + // 插入前先删除之前记录 + fileMapper.deleteByReportId(bo.getId()); // 插入附件表 if (bo.getFiles()!=null && bo.getFiles().size()>0){ for (BizReportFile file : bo.getFiles()) { - if (Helper.FInt(file.getId())>0) continue; - else { +// if (Helper.FInt(file.getId())>0) continue; +// else { file.setReportId(bo.getId()); fileMapper.insert(file); +// } + } + } + + if (bo.getPersonList()!=null && bo.getPersonList().size()>0){ + for (BizReportPerson person : bo.getPersonList()) { + person.setReportId(bo.getId()); + person.setGxrid(user.getUserId()); + person.setGxrjh(user.getUsername()); + person.setGxrxm(user.getNickname()); + person.setGxrjgdwdm(user.getWorkDeptId()); + person.setGxrjgdw(user.getWorkDeptName()); + person.setGxsj(new Date()); + + if (Helper.FInt(person.getId())>0){ + personMapper.updateById(person); + }else{ + person.setCjrid(user.getUserId()); + person.setCjrjh(user.getUsername()); + person.setCjrxm(user.getNickname()); + person.setCjrjgdwdm(user.getWorkDeptId()); + person.setCjrjgdw(user.getWorkDeptName()); + person.setCjsj(new Date()); + personMapper.insert(person); } + } } } @@ -256,4 +367,25 @@ public class BizReportInfoServiceImpl implements IBizReportInfoService { } return baseMapper.deleteByIds(ids) > 0; } + + + /** + * 修改报送信息 + * + * @param bo 报送信息 + * @return 是否修改成功 + */ + @Override + public Boolean back(BizReportInfoBo bo) { + LoginUser user = LoginHelper.getLoginUser(); + BizReportInfo update = MapstructUtils.convert(bo, BizReportInfo.class); + update.setStatus(ReportInfoStatusEnum.BACK.getStatus()); + validEntityBeforeSave(update); + + boolean flag = baseMapper.updateById(update) > 0; + if (flag){ + + } + return flag; + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportPersonServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportPersonServiceImpl.java new file mode 100644 index 0000000..84db954 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportPersonServiceImpl.java @@ -0,0 +1,203 @@ +package org.dromara.biz.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.biz.domain.bo.BizReportPersonBo; +import org.dromara.biz.domain.vo.BizReportPersonVo; +import org.dromara.biz.domain.BizReportPerson; +import org.dromara.biz.mapper.BizReportPersonMapper; +import org.dromara.biz.service.IBizReportPersonService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 报送关联人员Service业务层处理 + * + * @author ruansee + * @date 2025-12-06 + */ +@RequiredArgsConstructor +@Service +public class BizReportPersonServiceImpl implements IBizReportPersonService { + + private final BizReportPersonMapper baseMapper; + + /** + * 查询报送关联人员 + * + * @param id 主键 + * @return 报送关联人员 + */ + @Override + public BizReportPersonVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询报送关联人员列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 报送关联人员分页列表 + */ + @Override + public TableDataInfo queryPageList(BizReportPersonBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的报送关联人员列表 + * + * @param bo 查询条件 + * @return 报送关联人员列表 + */ + @Override + public List queryList(BizReportPersonBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BizReportPersonBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BizReportPerson::getId); + lqw.eq(bo.getReportId() != null, BizReportPerson::getReportId, bo.getReportId()); + lqw.eq(StringUtils.isNotBlank(bo.getXm()), BizReportPerson::getXm, bo.getXm()); + lqw.eq(StringUtils.isNotBlank(bo.getZjlx()), BizReportPerson::getZjlx, bo.getZjlx()); + lqw.eq(StringUtils.isNotBlank(bo.getZjhm()), BizReportPerson::getZjhm, bo.getZjhm()); + lqw.eq(StringUtils.isNotBlank(bo.getSfzh()), BizReportPerson::getSfzh, bo.getSfzh()); + lqw.eq(StringUtils.isNotBlank(bo.getCsrq()), BizReportPerson::getCsrq, bo.getCsrq()); + lqw.eq(StringUtils.isNotBlank(bo.getXb()), BizReportPerson::getXb, bo.getXb()); + lqw.eq(StringUtils.isNotBlank(bo.getMz()), BizReportPerson::getMz, bo.getMz()); + lqw.eq(StringUtils.isNotBlank(bo.getXl()), BizReportPerson::getXl, bo.getXl()); + lqw.eq(StringUtils.isNotBlank(bo.getGj()), BizReportPerson::getGj, bo.getGj()); + lqw.eq(StringUtils.isNotBlank(bo.getJg()), BizReportPerson::getJg, bo.getJg()); + lqw.eq(StringUtils.isNotBlank(bo.getHyzk()), BizReportPerson::getHyzk, bo.getHyzk()); + lqw.eq(StringUtils.isNotBlank(bo.getByzk()), BizReportPerson::getByzk, bo.getByzk()); + lqw.eq(StringUtils.isNotBlank(bo.getXzdqh()), BizReportPerson::getXzdqh, bo.getXzdqh()); + lqw.eq(StringUtils.isNotBlank(bo.getXzdpcs()), BizReportPerson::getXzdpcs, bo.getXzdpcs()); + lqw.eq(StringUtils.isNotBlank(bo.getXzdxz()), BizReportPerson::getXzdxz, bo.getXzdxz()); + lqw.eq(StringUtils.isNotBlank(bo.getHjdqh()), BizReportPerson::getHjdqh, bo.getHjdqh()); + lqw.eq(StringUtils.isNotBlank(bo.getHjdpcs()), BizReportPerson::getHjdpcs, bo.getHjdpcs()); + lqw.eq(StringUtils.isNotBlank(bo.getHjdxz()), BizReportPerson::getHjdxz, bo.getHjdxz()); + lqw.eq(StringUtils.isNotBlank(bo.getPhone()), BizReportPerson::getPhone, bo.getPhone()); + lqw.eq(StringUtils.isNotBlank(bo.getWxhm()), BizReportPerson::getWxhm, bo.getWxhm()); + lqw.eq(StringUtils.isNotBlank(bo.getCph()), BizReportPerson::getCph, bo.getCph()); + lqw.eq(StringUtils.isNotBlank(bo.getZpdz()), BizReportPerson::getZpdz, bo.getZpdz()); + lqw.eq(StringUtils.isNotBlank(bo.getXmpy()), BizReportPerson::getXmpy, bo.getXmpy()); + lqw.eq(StringUtils.isNotBlank(bo.getYwxm()), BizReportPerson::getYwxm, bo.getYwxm()); + lqw.eq(StringUtils.isNotBlank(bo.getQq()), BizReportPerson::getQq, bo.getQq()); + lqw.eq(StringUtils.isNotBlank(bo.getHyd()), BizReportPerson::getHyd, bo.getHyd()); + lqw.eq(StringUtils.isNotBlank(bo.getRyjb()), BizReportPerson::getRyjb, bo.getRyjb()); + lqw.eq(StringUtils.isNotBlank(bo.getSfrk()), BizReportPerson::getSfrk, bo.getSfrk()); + lqw.eq(StringUtils.isNotBlank(bo.getRyjs()), BizReportPerson::getRyjs, bo.getRyjs()); + lqw.eq(StringUtils.isNotBlank(bo.getRylb()), BizReportPerson::getRylb, bo.getRylb()); + lqw.eq(StringUtils.isNotBlank(bo.getRyxl()), BizReportPerson::getRyxl, bo.getRyxl()); + lqw.eq(StringUtils.isNotBlank(bo.getFxdj()), BizReportPerson::getFxdj, bo.getFxdj()); + lqw.eq(StringUtils.isNotBlank(bo.getTzje()), BizReportPerson::getTzje, bo.getTzje()); + lqw.eq(StringUtils.isNotBlank(bo.getSsje()), BizReportPerson::getSsje, bo.getSsje()); + lqw.eq(StringUtils.isNotBlank(bo.getJksje()), BizReportPerson::getJksje, bo.getJksje()); + lqw.eq(StringUtils.isNotBlank(bo.getTzpt()), BizReportPerson::getTzpt, bo.getTzpt()); + lqw.eq(StringUtils.isNotBlank(bo.getSfptyg()), BizReportPerson::getSfptyg, bo.getSfptyg()); + lqw.eq(StringUtils.isNotBlank(bo.getJbsq()), BizReportPerson::getJbsq, bo.getJbsq()); + lqw.eq(StringUtils.isNotBlank(bo.getSsqt()), BizReportPerson::getSsqt, bo.getSsqt()); + lqw.eq(StringUtils.isNotBlank(bo.getWxq()), BizReportPerson::getWxq, bo.getWxq()); + lqw.eq(StringUtils.isNotBlank(bo.getQqq()), BizReportPerson::getQqq, bo.getQqq()); + lqw.eq(StringUtils.isNotBlank(bo.getGkdwdm()), BizReportPerson::getGkdwdm, bo.getGkdwdm()); + lqw.eq(StringUtils.isNotBlank(bo.getGkdwmc()), BizReportPerson::getGkdwmc, bo.getGkdwmc()); + lqw.eq(StringUtils.isNotBlank(bo.getGkrjh()), BizReportPerson::getGkrjh, bo.getGkrjh()); + lqw.eq(StringUtils.isNotBlank(bo.getGkrxm()), BizReportPerson::getGkrxm, bo.getGkrxm()); + lqw.eq(StringUtils.isNotBlank(bo.getGkrsjh()), BizReportPerson::getGkrsjh, bo.getGkrsjh()); + lqw.eq(StringUtils.isNotBlank(bo.getWkzt()), BizReportPerson::getWkzt, bo.getWkzt()); + lqw.eq(StringUtils.isNotBlank(bo.getGphcdwdm()), BizReportPerson::getGphcdwdm, bo.getGphcdwdm()); + lqw.eq(StringUtils.isNotBlank(bo.getGphcdwmc()), BizReportPerson::getGphcdwmc, bo.getGphcdwmc()); + lqw.eq(StringUtils.isNotBlank(bo.getGpfkyy()), BizReportPerson::getGpfkyy, bo.getGpfkyy()); + lqw.eq(StringUtils.isNotBlank(bo.getWfhcyy()), BizReportPerson::getWfhcyy, bo.getWfhcyy()); + lqw.eq(StringUtils.isNotBlank(bo.getSzdlx()), BizReportPerson::getSzdlx, bo.getSzdlx()); + lqw.eq(StringUtils.isNotBlank(bo.getSzdxzqh()), BizReportPerson::getSzdxzqh, bo.getSzdxzqh()); + lqw.eq(StringUtils.isNotBlank(bo.getGzqk()), BizReportPerson::getGzqk, bo.getGzqk()); + lqw.eq(StringUtils.isNotBlank(bo.getFileUrl()), BizReportPerson::getFileUrl, bo.getFileUrl()); + lqw.like(StringUtils.isNotBlank(bo.getFileName()), BizReportPerson::getFileName, bo.getFileName()); + lqw.eq(bo.getCjsj() != null, BizReportPerson::getCjsj, bo.getCjsj()); + lqw.eq(bo.getGxsj() != null, BizReportPerson::getGxsj, bo.getGxsj()); + lqw.eq(bo.getCjrid() != null, BizReportPerson::getCjrid, bo.getCjrid()); + lqw.eq(StringUtils.isNotBlank(bo.getCjrxm()), BizReportPerson::getCjrxm, bo.getCjrxm()); + lqw.eq(StringUtils.isNotBlank(bo.getCjrjh()), BizReportPerson::getCjrjh, bo.getCjrjh()); + lqw.eq(StringUtils.isNotBlank(bo.getCjrjgdw()), BizReportPerson::getCjrjgdw, bo.getCjrjgdw()); + lqw.eq(StringUtils.isNotBlank(bo.getCjrjgdwdm()), BizReportPerson::getCjrjgdwdm, bo.getCjrjgdwdm()); + lqw.eq(bo.getGxrid() != null, BizReportPerson::getGxrid, bo.getGxrid()); + lqw.eq(StringUtils.isNotBlank(bo.getGxrxm()), BizReportPerson::getGxrxm, bo.getGxrxm()); + lqw.eq(StringUtils.isNotBlank(bo.getGxrjh()), BizReportPerson::getGxrjh, bo.getGxrjh()); + lqw.eq(StringUtils.isNotBlank(bo.getGxrjgdw()), BizReportPerson::getGxrjgdw, bo.getGxrjgdw()); + lqw.eq(StringUtils.isNotBlank(bo.getGxrjgdwdm()), BizReportPerson::getGxrjgdwdm, bo.getGxrjgdwdm()); + lqw.eq(StringUtils.isNotBlank(bo.getCzdwdm()), BizReportPerson::getCzdwdm, bo.getCzdwdm()); + lqw.eq(StringUtils.isNotBlank(bo.getCzdw()), BizReportPerson::getCzdw, bo.getCzdw()); + lqw.eq(StringUtils.isNotBlank(bo.getFxpg()), BizReportPerson::getFxpg, bo.getFxpg()); + lqw.eq(StringUtils.isNotBlank(bo.getFjxs()), BizReportPerson::getFjxs, bo.getFjxs()); + lqw.eq(StringUtils.isNotBlank(bo.getSfgp()), BizReportPerson::getSfgp, bo.getSfgp()); + return lqw; + } + + /** + * 新增报送关联人员 + * + * @param bo 报送关联人员 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BizReportPersonBo bo) { + BizReportPerson add = MapstructUtils.convert(bo, BizReportPerson.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改报送关联人员 + * + * @param bo 报送关联人员 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BizReportPersonBo bo) { + BizReportPerson update = MapstructUtils.convert(bo, BizReportPerson.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BizReportPerson entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除报送关联人员信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportReceiverServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportReceiverServiceImpl.java index 762c988..bd9aa11 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportReceiverServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportReceiverServiceImpl.java @@ -1,6 +1,10 @@ package org.dromara.biz.service.impl; +import org.dromara.biz.domain.BizReportInfo; +import org.dromara.biz.domain.BizReportReply; +import org.dromara.biz.mapper.BizReportInfoMapper; import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.enums.ReportInfoStatusEnum; import org.dromara.common.core.utils.Helper; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -34,6 +38,7 @@ import java.util.Collection; public class BizReportReceiverServiceImpl implements IBizReportReceiverService { private final BizReportReceiverMapper baseMapper; + private final BizReportInfoMapper reportInfoMapper; /** * 查询报送记录接收单位 @@ -169,6 +174,30 @@ public class BizReportReceiverServiceImpl implements IBizReportReceiverService { bo.setSignTime(new Date()); BizReportReceiver update = MapstructUtils.convert(bo, BizReportReceiver.class); validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; + int flag = baseMapper.updateById(update); + + if (flag > 0){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BizReportReceiver::getReportId, bo.getReportId()); + lqw.eq(BizReportReceiver::getIsSign, 0); + Long notSignCount = baseMapper.selectCount(lqw); + + BizReportInfo info = new BizReportInfo(); + info.setId(bo.getReportId()); + if (Helper.FInt(notSignCount)>0) + info.setStatus(ReportInfoStatusEnum.ANY_SIGN.getStatus()); + else { + LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); + lqw2.eq(BizReportReceiver::getReportId, bo.getReportId()); + lqw2.eq(BizReportReceiver::getIsFeedback, 1); + Long replyCount = baseMapper.selectCount(lqw2); + if (replyCount>0) + info.setStatus(ReportInfoStatusEnum.ANY_REPLY.getStatus()); + else + info.setStatus(ReportInfoStatusEnum.WAITING_REPLY.getStatus()); + } + reportInfoMapper.updateById(info); + } + return flag > 0; } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportReplyServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportReplyServiceImpl.java index 8b52a58..bde0f5d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportReplyServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizReportReplyServiceImpl.java @@ -1,10 +1,14 @@ package org.dromara.biz.service.impl; +import org.dromara.biz.domain.BizReportInfo; import org.dromara.biz.domain.BizReportReceiver; import org.dromara.biz.domain.bo.BizReportReceiverBo; import org.dromara.biz.domain.vo.BizReportReceiverVo; +import org.dromara.biz.mapper.BizReportInfoMapper; import org.dromara.biz.mapper.BizReportReceiverMapper; import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.enums.ReportInfoStatusEnum; +import org.dromara.common.core.utils.Helper; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -37,6 +41,7 @@ public class BizReportReplyServiceImpl implements IBizReportReplyService { private final BizReportReplyMapper baseMapper; private final BizReportReceiverMapper receiverMapper; + private final BizReportInfoMapper reportInfoMapper; /** * 查询报送记录反馈 @@ -116,6 +121,20 @@ public class BizReportReplyServiceImpl implements IBizReportReplyService { sbo.setIsFeedback(true); receiverMapper.updateById(sbo); } + + BizReportInfo info = new BizReportInfo(); + info.setId(bo.getReportId()); + + LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); + lqw2.eq(BizReportReceiver::getReportId, bo.getReportId()); + lqw2.eq(BizReportReceiver::getIsFeedback, 0); + Long replyCount = receiverMapper.selectCount(lqw2); + if (replyCount>0) + info.setStatus(ReportInfoStatusEnum.ANY_REPLY.getStatus()); + else + info.setStatus(ReportInfoStatusEnum.REPLIED.getStatus()); + + reportInfoMapper.updateById(info); } return flag; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizStatCateServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizStatCateServiceImpl.java new file mode 100644 index 0000000..af0d331 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/BizStatCateServiceImpl.java @@ -0,0 +1,141 @@ +package org.dromara.biz.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.biz.domain.bo.BizStatCateBo; +import org.dromara.biz.domain.vo.BizStatCateVo; +import org.dromara.biz.domain.BizStatCate; +import org.dromara.biz.mapper.BizStatCateMapper; +import org.dromara.biz.service.IBizStatCateService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 类别统计Service业务层处理 + * + * @author ruansee + * @date 2025-12-01 + */ +@RequiredArgsConstructor +@Service +public class BizStatCateServiceImpl implements IBizStatCateService { + + private final BizStatCateMapper baseMapper; + + + @Override + public List statByDate(BizStatCateBo bo){ + return baseMapper.statByDate(bo); + } + + /** + * 查询类别统计 + * + * @param id 主键 + * @return 类别统计 + */ + @Override + public BizStatCateVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询类别统计列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 类别统计分页列表 + */ + @Override + public TableDataInfo queryPageList(BizStatCateBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的类别统计列表 + * + * @param bo 查询条件 + * @return 类别统计列表 + */ + @Override + public List queryList(BizStatCateBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BizStatCateBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BizStatCate::getId); + lqw.eq(bo.getStatDate() != null, BizStatCate::getStatDate, bo.getStatDate()); + lqw.eq(bo.getCateId() != null, BizStatCate::getCateId, bo.getCateId()); + lqw.like(StringUtils.isNotBlank(bo.getCateName()), BizStatCate::getCateName, bo.getCateName()); + lqw.eq(bo.getReportCount() != null, BizStatCate::getReportCount, bo.getReportCount()); + lqw.eq(bo.getSignCount() != null, BizStatCate::getSignCount, bo.getSignCount()); + lqw.eq(bo.getReplyCount() != null, BizStatCate::getReplyCount, bo.getReplyCount()); + return lqw; + } + + /** + * 新增类别统计 + * + * @param bo 类别统计 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BizStatCateBo bo) { + BizStatCate add = MapstructUtils.convert(bo, BizStatCate.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改类别统计 + * + * @param bo 类别统计 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BizStatCateBo bo) { + BizStatCate update = MapstructUtils.convert(bo, BizStatCate.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BizStatCate entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除类别统计信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/CustomSQLServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/CustomSQLServiceImpl.java new file mode 100644 index 0000000..ec6e055 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/biz/service/impl/CustomSQLServiceImpl.java @@ -0,0 +1,48 @@ +package org.dromara.biz.service.impl; + +import lombok.RequiredArgsConstructor; +import org.dromara.biz.mapper.CustomSQLMapper; +import org.dromara.biz.service.ICustomSQLService; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * 自定义SQL Service接口 + * + * @author YIN + * @date 2025-05-21 + */ +@RequiredArgsConstructor +@Service +public class CustomSQLServiceImpl implements ICustomSQLService { + + private final CustomSQLMapper customSQLMapper; + + @Override + public Map selectOne(String sql){ + return customSQLMapper.selectOne(sql); + } + + @Override + public List selectList(String sql){ + return customSQLMapper.selectList(sql); + } + + @Override + public int insertOne(String sql){ + return customSQLMapper.insertOne(sql); + } + + @Override + public int updateOne(String sql){ + return customSQLMapper.updateOne(sql); + } + + @Override + public int deleteOne(String sql){ + return customSQLMapper.deleteOne(sql); + } + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java index 5752751..f9389d6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java @@ -2,6 +2,8 @@ package org.dromara.system.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.util.ObjectUtil; +import org.dromara.biz.service.ICustomSQLService; +import org.dromara.common.core.utils.Helper; import org.dromara.common.log.annotation.Log; import org.dromara.common.web.core.BaseController; import org.dromara.common.mybatis.core.page.PageQuery; @@ -20,6 +22,7 @@ import org.springframework.web.bind.annotation.*; import jakarta.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * 数据字典信息 @@ -35,6 +38,33 @@ public class SysDictDataController extends BaseController { private final ISysDictDataService dictDataService; private final ISysDictTypeService dictTypeService; + private final ICustomSQLService customSQLService; + + @GetMapping(value = "/causeList") + public R> causeList() { + List list = customSQLService.selectList("select * from sys_dict_tree where type = '案由' order by parent_id, sort "); + List result = new ArrayList<>(); + if (list!=null && list.size()>0){ + for (Map item : list) { + int id = Helper.FInt(item.get("id")); + int pid = Helper.FInt(item.get("parent_id")); + if (pid == 0){ + List children = new ArrayList<>(); + for (Map son : list) { + int spid = Helper.FInt(son.get("parent_id")); + if (spid == id){ + children.add(son); + } + } + item.put("children", children); + result.add(item); + }else continue; + } + } + return R.ok(result); + } + + /** * 查询字典数据列表 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java index d4a9dc8..602cb49 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java @@ -161,7 +161,7 @@ public class SysRoleController extends BaseController { /** * 查询已分配用户角色列表 */ - @SaCheckPermission("system:role:list") +// @SaCheckPermission("system:role:list") @GetMapping("/authUser/allocatedList") public TableDataInfo allocatedList(SysUserBo user, PageQuery pageQuery) { return userService.selectAllocatedList(user, pageQuery); @@ -170,7 +170,7 @@ public class SysRoleController extends BaseController { /** * 查询未分配用户角色列表 */ - @SaCheckPermission("system:role:list") +// @SaCheckPermission("system:role:list") @GetMapping("/authUser/unallocatedList") public TableDataInfo unallocatedList(SysUserBo user, PageQuery pageQuery) { return userService.selectUnallocatedList(user, pageQuery); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java index 1866e55..cc03fbb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java @@ -282,7 +282,7 @@ public class SysUserController extends BaseController { /** * 获取部门树列表 */ - @SaCheckPermission("system:user:list") +// @SaCheckPermission("system:user:list") @GetMapping("/deptTree") public R>> deptTree(SysDeptBo dept) { return R.ok(deptService.selectDeptTreeList(dept)); @@ -291,7 +291,7 @@ public class SysUserController extends BaseController { /** * 获取部门下的所有用户信息 */ - @SaCheckPermission("system:user:list") +// @SaCheckPermission("system:user:list") @GetMapping("/list/dept/{deptId}") public R> listByDept(@PathVariable @NotNull String deptId) { return R.ok(userService.selectUserListByDept(deptId)); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java index 2efd414..48b73b9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java @@ -120,4 +120,10 @@ public class SysUserBo extends BaseEntity { return SystemConstants.SUPER_ADMIN_ID.equals(this.userId); } + + /** + * 部门ID数组 + */ + private String[] deptIds; + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java index 37ba13b..56bef66 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java @@ -9,6 +9,7 @@ import org.dromara.common.mybatis.annotation.DataColumn; import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.system.domain.SysUser; +import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.vo.SysUserExportVo; import org.dromara.system.domain.vo.SysUserVo; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java index 8397534..8a9c50c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java @@ -26,6 +26,8 @@ public interface ISysUserService { */ List selectUserExportList(SysUserBo user); + List selectUserIdList(SysUserBo user); + /** * 根据条件分页查询已分配用户角色列表 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 30bc250..c713e41 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -74,6 +74,28 @@ public class SysUserServiceImpl implements ISysUserService, UserService { return baseMapper.selectUserExportList(this.buildQueryWrapper(user)); } + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public List selectUserIdList(SysUserBo user) { + QueryWrapper wrapper = Wrappers.query(); + wrapper.eq("u.del_flag", SystemConstants.NORMAL) + .and(ObjectUtil.isNotNull(user.getDeptIds()) && user.getDeptIds().length>0 , w -> { + List ids = new ArrayList<>(); + for (String deptid : user.getDeptIds()) { + ids.add(deptid); + } + w.in("u.dept_id", ids); + }) + .orderByAsc("u.user_id"); + List list = baseMapper.selectUserList(wrapper); + return StreamUtils.toList(list, SysUserVo::getUserId); + } + private Wrapper buildQueryWrapper(SysUserBo user) { Map params = user.getParams(); QueryWrapper wrapper = Wrappers.query(); @@ -94,7 +116,14 @@ public class SysUserServiceImpl implements ISysUserService, UserService { List ids = StreamUtils.toList(deptList, SysDept::getDeptId); ids.add(user.getDeptId()); w.in("u.dept_id", ids); - }).orderByAsc("u.user_id"); + }).and(ObjectUtil.isNotNull(user.getDeptIds()) && user.getDeptIds().length>0 , w -> { + List ids = new ArrayList<>(); + for (String deptid : user.getDeptIds()) { + ids.add(deptid); + } + w.in("u.dept_id", ids); + }) + .orderByAsc("u.user_id"); if (StringUtils.isNotBlank(user.getExcludeUserIds())) { wrapper.notIn("u.user_id", StringUtils.splitTo(user.getExcludeUserIds(), Convert::toLong)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsBulletinMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsBulletinMapper.xml new file mode 100644 index 0000000..92da8e6 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsBulletinMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsDailyMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsDailyMapper.xml new file mode 100644 index 0000000..7bdfbf4 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsDailyMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsNoticeMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsNoticeMapper.xml new file mode 100644 index 0000000..cd76ed3 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizIcdsNoticeMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizReportPersonMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizReportPersonMapper.xml new file mode 100644 index 0000000..f63568b --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizReportPersonMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizStatCateMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizStatCateMapper.xml new file mode 100644 index 0000000..f3532fb --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/biz/BizStatCateMapper.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index bc8b497..4b8a469 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -70,5 +70,4 @@ select count(*) from sys_user where del_flag = '0' and user_id = #{userId} -