diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppNonEnforcementRegistrationController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppNonEnforcementRegistrationController.java index a7315386..a2ced8b4 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppNonEnforcementRegistrationController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppNonEnforcementRegistrationController.java @@ -1,16 +1,16 @@ package com.zdxt.enforcementcode.controller.app.enforcement; +import cn.dev33.satoken.annotation.SaIgnore; import com.zdxt.enforcementcode.domain.bo.NonEnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.vo.NonEnforcementRegistrationVo; import com.zdxt.enforcementcode.service.INonEnforcementRegistrationService; import org.dromara.common.core.domain.R; +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.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.List; - /** * 执法端-非行政执法登记Controller * @@ -34,21 +34,19 @@ public class AppNonEnforcementRegistrationController extends BaseController { } /** - * 执法端-非行政查询执法登记列表 + * 执法端-非行政查询执法登记列表(历史活动) - 分页 */ + @SaIgnore @GetMapping("/queryList") - public TableDataInfo queryList(NonEnforcementRegistrationBo bo) + public TableDataInfo queryList(NonEnforcementRegistrationBo bo, PageQuery pageQuery) { - int total = enforcementRegistrationService.getListTotal(bo); - List list = enforcementRegistrationService.selectNonEnforcementRegistrationList(bo); - TableDataInfo rspData = new TableDataInfo<>(list, total); - rspData.setCode(0); - return rspData; + return enforcementRegistrationService.queryPageList(bo, pageQuery); } /** * 执法端-非行政查询执法登记列表 */ + @SaIgnore @GetMapping("/queryById") public R queryById(String id) { diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/EnforcementEducationServicesController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/EnforcementEducationServicesController.java new file mode 100644 index 00000000..047a5fa7 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/EnforcementEducationServicesController.java @@ -0,0 +1,106 @@ +package com.zdxt.enforcementcode.controller.web.supervision; + +import java.util.List; + +import cn.dev33.satoken.annotation.SaIgnore; +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 com.zdxt.enforcementcode.domain.vo.EnforcementEducationServicesVo; +import com.zdxt.enforcementcode.domain.bo.EnforcementEducationServicesBo; +import com.zdxt.enforcementcode.service.IEnforcementEducationServicesService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 监督端-普法服务主表 + * + * @author niujiyi + * @date 2026-05-26 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/web/enforcementcode/educationServices") +public class EnforcementEducationServicesController extends BaseController { + + private final IEnforcementEducationServicesService enforcementEducationServicesService; + + /** + * 监督端-查询普法服务主表列表 + */ + //@SaCheckPermission("enforcementcode:educationServices:list") + @SaIgnore + @GetMapping("/list") + public TableDataInfo list(EnforcementEducationServicesBo bo, PageQuery pageQuery) { + return enforcementEducationServicesService.queryPageList(bo, pageQuery); + } + + /** + * 监督端-导出普法服务主表列表 + */ + @SaCheckPermission("enforcementcode:educationServices:export") + @Log(title = "普法服务主表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EnforcementEducationServicesBo bo, HttpServletResponse response) { + List list = enforcementEducationServicesService.queryList(bo); + ExcelUtil.exportExcel(list, "普法服务主表", EnforcementEducationServicesVo.class, response); + } + + /** + * 监督端-获取普法服务主表详细信息 + * + * @param id 主键 + */ + //@SaCheckPermission("enforcementcode:educationServices:query") + @SaIgnore + @GetMapping("/details") + public R details(String id) { + return R.ok(enforcementEducationServicesService.queryEducationServicesById(id)); + } + + /** + * 监督端-新增普法服务主表 + */ + //@SaCheckPermission("enforcementcode:educationServices:add") + @SaIgnore + @Log(title = "普法服务主表", businessType = BusinessType.INSERT) + @PostMapping("/add") + public R add(@Validated(AddGroup.class) @RequestBody EnforcementEducationServicesBo bo) { + return toAjax(enforcementEducationServicesService.insertEducationServices(bo)); + } + + /** + * 监督端-修改普法服务主表 + */ + //@SaCheckPermission("enforcementcode:educationServices:edit") + @Log(title = "普法服务主表", businessType = BusinessType.UPDATE) + @SaIgnore + @PostMapping("/edit") + public R edit(@RequestBody EnforcementEducationServicesBo bo) { + return toAjax(enforcementEducationServicesService.updateByBo(bo)); + } + + /** + * 监督端-删除普法服务主表 + * + * @param ids 主键串 + */ + //@SaCheckPermission("enforcementcode:educationServices:remove") + @SaIgnore + @GetMapping("/remove") + public R remove(String[] ids) { + return toAjax(enforcementEducationServicesService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementEducationServicesBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementEducationServicesBo.java index 300c9308..80845129 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementEducationServicesBo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementEducationServicesBo.java @@ -9,6 +9,9 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.util.Date; +import java.util.List; + /** * 执法信息发布主业务对象 enforcement_education_services * @@ -23,31 +26,26 @@ public class EnforcementEducationServicesBo extends BaseEntity { /** * 主键ID */ - @NotBlank(message = "主键ID不能为空", groups = { EditGroup.class }) private String id; /** * 标题 */ - @NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class }) private String title; /** * 发布部门ID(多个用逗号分隔) */ - @NotBlank(message = "发布部门ID(多个用逗号分隔)不能为空", groups = { AddGroup.class, EditGroup.class }) private String publishDeptIds; /** * 发布部门名称(冗余存储) */ - @NotBlank(message = "发布部门名称(冗余存储)不能为空", groups = { AddGroup.class, EditGroup.class }) private String publishDeptNames; /** * 发布平台 0-全部 1-监督端 2-执法端 3-企业端 */ - @NotNull(message = "发布平台 0-全部 1-监督端 2-执法端 3-企业端不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer targetPlatform; /** @@ -58,7 +56,6 @@ public class EnforcementEducationServicesBo extends BaseEntity { /** * 来源类型 1|原生 2|转载 */ - @NotNull(message = "来源类型 1|原生 2|转载不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer sourceType; /** @@ -79,7 +76,6 @@ public class EnforcementEducationServicesBo extends BaseEntity { /** * 浏览次数 */ - @NotNull(message = "浏览次数不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer viewCount; /** @@ -105,7 +101,6 @@ public class EnforcementEducationServicesBo extends BaseEntity { /** * 是否删除 0=否 1=是 */ - @NotNull(message = "是否删除 0=否 1=是不能为空", groups = { AddGroup.class, EditGroup.class }) private Integer isDelete; /** @@ -113,5 +108,19 @@ public class EnforcementEducationServicesBo extends BaseEntity { */ private String remark; + /** + * 附件列表 + */ + private List fileList; + + /** + * 开始时间 + */ + private Date startTime; + + /** + * 结束时间 + */ + private Date endTime; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementEducationServicesVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementEducationServicesVo.java index 01c74e93..9ae7c411 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementEducationServicesVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementEducationServicesVo.java @@ -7,7 +7,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; - +import java.util.List; /** @@ -60,12 +60,24 @@ public class EnforcementEducationServicesVo implements Serializable { @ExcelProperty(value = "内容分类") private Integer contentType; + /** + * 内容分类标签(字典翻译) + */ + @ExcelProperty(value = "内容分类名称") + private String contentTypeLabel; + /** * 来源类型 1|原生 2|转载 */ @ExcelProperty(value = "来源类型 1|原生 2|转载") private Integer sourceType; + /** + * 发布平台标签(字典翻译) + */ + @ExcelProperty(value = "发布平台名称") + private String targetPlatformLabel; + /** * 服务信息(富文本内容) */ @@ -132,4 +144,9 @@ public class EnforcementEducationServicesVo implements Serializable { private Integer isRead; + /** + * 附件信息 + */ + @ExcelProperty(value = "附件信息") + private List fileList; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/NonEnforcementRegistrationMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/NonEnforcementRegistrationMapper.java index 61d88a2f..0fa024f6 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/NonEnforcementRegistrationMapper.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/NonEnforcementRegistrationMapper.java @@ -1,7 +1,9 @@ package com.zdxt.enforcementcode.mapper; +import com.zdxt.enforcementcode.domain.NonEnforcementRegistration; import com.zdxt.enforcementcode.domain.bo.NonEnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.vo.NonEnforcementRegistrationVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.springframework.stereotype.Repository; import java.util.List; @@ -13,7 +15,7 @@ import java.util.List; * @date 2025-06-19 */ @Repository -public interface NonEnforcementRegistrationMapper +public interface NonEnforcementRegistrationMapper extends BaseMapperPlus { /** * 查询非行政执法登记 diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementEducationServicesService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementEducationServicesService.java index 9dd0de69..d3c97cb3 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementEducationServicesService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementEducationServicesService.java @@ -23,7 +23,13 @@ public interface IEnforcementEducationServicesService { * @return 执法信息发布主 */ EnforcementEducationServicesVo queryById(String id); - + /** + * 查询普法信息详情 + * + * @param id 主键 + * @return 详情 + */ + EnforcementEducationServicesVo queryEducationServicesById(String id); /** * 分页查询执法信息发布主列表 * @@ -49,6 +55,14 @@ public interface IEnforcementEducationServicesService { */ Boolean insertByBo(EnforcementEducationServicesBo bo); + /** + * 监督端-新增执法信息发布主 + * + * @param bo 执法信息发布主 + * @return 是否新增成功 + */ + Boolean insertEducationServices(EnforcementEducationServicesBo bo); + /** * 修改执法信息发布主 * @@ -72,4 +86,7 @@ public interface IEnforcementEducationServicesService { * @return 未读普法消息数量 */ Long countUnreadEducationServices(); + + + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/INonEnforcementRegistrationService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/INonEnforcementRegistrationService.java index 3f90a00d..08b816fc 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/INonEnforcementRegistrationService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/INonEnforcementRegistrationService.java @@ -3,6 +3,8 @@ package com.zdxt.enforcementcode.service; import com.zdxt.enforcementcode.domain.bo.NonEnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.vo.NonEnforcementRegistrationVo; import jakarta.servlet.http.HttpServletResponse; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; import java.util.List; @@ -22,6 +24,15 @@ public interface INonEnforcementRegistrationService */ public NonEnforcementRegistrationVo selectNonEnforcementRegistrationById(String id); + /** + * 分页查询非行政执法登记列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 非行政执法登记分页列表 + */ + TableDataInfo queryPageList(NonEnforcementRegistrationBo bo, PageQuery pageQuery); + /** * 查询非行政执法登记列表 * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementEducationServicesServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementEducationServicesServiceImpl.java index 81a2a4a9..24512374 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementEducationServicesServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementEducationServicesServiceImpl.java @@ -3,7 +3,11 @@ package com.zdxt.enforcementcode.service.impl; import com.zdxt.enforcementcode.common.commonenum.MsgSourceTypeEnum; import com.zdxt.enforcementcode.common.commonenum.PlatformTypeEnums; import com.zdxt.enforcementcode.domain.bean.EnforcementEducationServices; +import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo; import com.zdxt.enforcementcode.service.ISysMessageViewLogService; +import com.zdxt.enforcementcode.domain.bo.ZdxtFileBo; +import com.zdxt.enforcementcode.service.IZdxtFileService; +import org.dromara.common.core.service.DictService; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -43,6 +47,34 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc private final ISysMessageViewLogService sysMessageViewLogService; + private final IZdxtFileService zdxtFileService; + + private final DictService dictService; + + /** + * 查询执法信息发布主 + * + * @param id 主键 + * @return 执法信息发布主 + */ + @Override + public EnforcementEducationServicesVo queryEducationServicesById(String id){ + EnforcementEducationServicesVo vo = baseMapper.selectVoById(id); + + if (vo != null) { + // 回显附件信息 + ZdxtFileBo fileBo = new ZdxtFileBo(); + fileBo.setBusinessId(id); + List fileList = zdxtFileService.queryList(fileBo); + vo.setFileList(fileList); + + // 设置字典标签 + setDictLabels(vo); + } + + return vo; + } + /** * 查询执法信息发布主 * @@ -73,8 +105,10 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - // 为每条记录设置是否已读状态 + + // 为每条记录设置字典标签和已读状态 if (result.getRecords() != null && !result.getRecords().isEmpty()) { + setDictLabels(result.getRecords()); setReadStatus(result.getRecords()); } @@ -90,7 +124,50 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc @Override public List queryList(EnforcementEducationServicesBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List list = baseMapper.selectVoList(lqw); + + // 设置字典标签 + if (list != null && !list.isEmpty()) { + setDictLabels(list); + } + + return list; + } + + /** + * 为单条记录设置字典标签 + * + * @param vo 记录对象 + */ + private void setDictLabels(EnforcementEducationServicesVo vo) { + if (vo == null) { + return; + } + + // 内容分类标签 + if (vo.getContentType() != null) { + String contentTypeLabel = dictService.getDictLabel("web_content_classification", vo.getContentType().toString()); + vo.setContentTypeLabel(contentTypeLabel); + } + + // 发布平台标签 + if (vo.getTargetPlatform() != null) { + String targetPlatformLabel = dictService.getDictLabel("web_publishing_platform", vo.getTargetPlatform().toString()); + vo.setTargetPlatformLabel(targetPlatformLabel); + } + } + + /** + * 为列表设置字典标签 + * + * @param records 记录列表 + */ + private void setDictLabels(List records) { + if (records == null || records.isEmpty()) { + return; + } + + records.forEach(this::setDictLabels); } /** @@ -162,7 +239,7 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc lqw.orderByAsc(EnforcementEducationServices::getId); lqw.eq(StringUtils.isNotBlank(bo.getTitle()), EnforcementEducationServices::getTitle, bo.getTitle()); lqw.eq(StringUtils.isNotBlank(bo.getPublishDeptIds()), EnforcementEducationServices::getPublishDeptIds, bo.getPublishDeptIds()); - lqw.eq(StringUtils.isNotBlank(bo.getPublishDeptNames()), EnforcementEducationServices::getPublishDeptNames, bo.getPublishDeptNames()); + lqw.like(StringUtils.isNotBlank(bo.getPublishDeptNames()), EnforcementEducationServices::getPublishDeptNames, bo.getPublishDeptNames()); lqw.eq(bo.getTargetPlatform() != null, EnforcementEducationServices::getTargetPlatform, bo.getTargetPlatform()); lqw.eq(bo.getContentType() != null, EnforcementEducationServices::getContentType, bo.getContentType()); lqw.eq(bo.getSourceType() != null, EnforcementEducationServices::getSourceType, bo.getSourceType()); @@ -175,6 +252,16 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc lqw.like(StringUtils.isNotBlank(bo.getCreateByName()), EnforcementEducationServices::getCreateByName, bo.getCreateByName()); lqw.like(StringUtils.isNotBlank(bo.getUpdateByName()), EnforcementEducationServices::getUpdateByName, bo.getUpdateByName()); lqw.eq(bo.getIsDelete() != null, EnforcementEducationServices::getIsDelete, bo.getIsDelete()); + + // 创建时间范围筛选 + if (bo.getStartTime() != null && bo.getEndTime() != null) { + lqw.between(EnforcementEducationServices::getCreateTime, bo.getStartTime(), bo.getEndTime()); + } else if (bo.getStartTime() != null) { + lqw.ge(EnforcementEducationServices::getCreateTime, bo.getStartTime()); + } else if (bo.getEndTime() != null) { + lqw.le(EnforcementEducationServices::getCreateTime, bo.getEndTime()); + } + return lqw; } @@ -195,6 +282,51 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc return flag; } + /** + * 监督端-新增执法信息发布主 + * + * @param bo 执法信息发布主 + * @return 是否新增成功 + */ + @Override + public Boolean insertEducationServices(EnforcementEducationServicesBo bo) { + EnforcementEducationServices add = MapstructUtils.convert(bo, EnforcementEducationServices.class); + boolean flag = baseMapper.insert(add) > 0; + + if (flag) { + bo.setId(add.getId()); + + // 保存附件信息 + if (bo.getFileList() != null && !bo.getFileList().isEmpty()) { + saveAttachmentFiles(bo.getFileList(), add.getId()); + } + } + + return flag; + } + + /** + * 批量保存附件信息 + * + * @param fileList 附件列表 + * @param businessId 业务ID(普法服务主表ID) + */ + private void saveAttachmentFiles(List fileList, String businessId) { + for (ZdxtFileBo fileBo : fileList) { + // 设置业务ID关联 + fileBo.setBusinessId(businessId); + + // 保存附件 + try { + zdxtFileService.insertByBo(fileBo); + log.info("成功保存附件: businessId={}, fileName={}", businessId, fileBo.getFileName()); + } catch (Exception e) { + log.error("保存附件失败: businessId={}, fileName={}, error={}", + businessId, fileBo.getFileName(), e.getMessage(), e); + } + } + } + /** * 修改执法信息发布主 * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/NonEnforcementRegistrationServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/NonEnforcementRegistrationServiceImpl.java index 643ae1b4..29ab6ed7 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/NonEnforcementRegistrationServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/NonEnforcementRegistrationServiceImpl.java @@ -3,8 +3,10 @@ package com.zdxt.enforcementcode.service.impl; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zdxt.enforcementcode.common.annotation.DataScope; import com.zdxt.enforcementcode.common.util.CommonUtil; +import com.zdxt.enforcementcode.domain.NonEnforcementRegistration; import com.zdxt.enforcementcode.domain.ZdxtFile; import com.zdxt.enforcementcode.domain.bo.NonEnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.vo.NonEnforcementRegistrationVo; @@ -19,6 +21,8 @@ import org.dromara.common.core.enums.FormatsType; import org.dromara.common.core.exception.ServiceException; 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.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.domain.vo.SysDictDataVo; import org.dromara.system.domain.vo.SysUserVo; @@ -57,27 +61,35 @@ public class NonEnforcementRegistrationServiceImpl implements INonEnforcementReg @Override public NonEnforcementRegistrationVo selectNonEnforcementRegistrationById(String id) { - NonEnforcementRegistrationVo nonReg = nonEnforcementRegistrationMapper.selectNonEnforcementRegistrationById(id); - if (nonReg.getId() != null) { - SysUserVo user = sysUserMapper.selectUserById(Long.valueOf(nonReg.getLawEnforcerId())); - String temp=user.getLawCertificateNum(); - if(StringUtils.isEmpty(temp)){ - temp= CommonUtil.encryptPhone(user.getPhonenumber()); + NonEnforcementRegistrationVo nonReg = nonEnforcementRegistrationMapper.selectVoById(id); + if (nonReg != null && nonReg.getId() != null) { + // 处理主执法人员信息 + if (StringUtils.isNotEmpty(nonReg.getLawEnforcerId())) { + SysUserVo user = sysUserMapper.selectUserById(Long.valueOf(nonReg.getLawEnforcerId())); + if (user != null) { + String temp = user.getLawCertificateNum(); + if (StringUtils.isEmpty(temp)) { + temp = CommonUtil.encryptPhone(user.getPhonenumber()); + } + nonReg.setLawEnforcer(user.getUserName() + " " + temp); + } } - nonReg.setLawEnforcer(user.getUserName()+" "+temp); + if(StringUtils.isNotEmpty(nonReg.getLawEnforcerOther())){ List list = sysUserMapper.selectUserByIds(Convert.toStrArray(nonReg.getLawEnforcerIdOther())); - if(list.size()!=0){ + if(list != null && list.size() != 0){ String tmpUserShow = ""; for (SysUserVo ub : list) { - String t = ub.getLawCertificateNum(); - if(StringUtils.isEmpty(t)){ - t=CommonUtil.encryptPhone(ub.getPhonenumber()); + if (ub != null) { + String t = ub.getLawCertificateNum(); + if(StringUtils.isEmpty(t)){ + t = CommonUtil.encryptPhone(ub.getPhonenumber()); + } + tmpUserShow += ub.getUserName() + " " + t + ","; } - tmpUserShow += ub.getUserName() +" "+ t + ","; } if (tmpUserShow.length() > 0) { - tmpUserShow = tmpUserShow.substring(0, tmpUserShow.length()-1); + tmpUserShow = tmpUserShow.substring(0, tmpUserShow.length() - 1); } nonReg.setLawEnforcerOther(tmpUserShow); } @@ -85,7 +97,7 @@ public class NonEnforcementRegistrationServiceImpl implements INonEnforcementReg LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ZdxtFile::getBusinessId, nonReg.getId()); - List zdxtFileCommons=zdxtFileMapper.selectList(queryWrapper); + List zdxtFileCommons = zdxtFileMapper.selectList(queryWrapper); if (zdxtFileCommons.size() > 0) { Map params = new HashMap(); params.put("fileList", zdxtFileCommons); @@ -95,6 +107,183 @@ public class NonEnforcementRegistrationServiceImpl implements INonEnforcementReg return nonReg; } + /** + * 分页查询非行政执法登记列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 非行政执法登记分页列表 + */ + @Override + public TableDataInfo queryPageList(NonEnforcementRegistrationBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = nonEnforcementRegistrationMapper.selectVoPage(pageQuery.build(), lqw); + + // 处理执法人员信息等附加数据 + if (result.getRecords() != null && !result.getRecords().isEmpty()) { + enrichLawEnforcerInfo(result.getRecords()); + } + + return TableDataInfo.build(result); + } + + /** + * 构建查询条件 + * + * @param bo 查询条件 + * @return LambdaQueryWrapper + */ + private LambdaQueryWrapper buildQueryWrapper(NonEnforcementRegistrationBo bo) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + + // 根据XML文件中的查询条件添加查询条件 + if (bo != null) { + // 企业名称 - 模糊查询 + lqw.like(StringUtils.isNotBlank(bo.getEnterpriseName()), NonEnforcementRegistration::getEnterpriseName, bo.getEnterpriseName()); + // 企业编号 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getEnterpriseNumber()), NonEnforcementRegistration::getEnterpriseNumber, bo.getEnterpriseNumber()); + // 执法时间 - 精确查询 + lqw.eq(bo.getEnforcementTime() != null, NonEnforcementRegistration::getEnforcementTime, bo.getEnforcementTime()); + // 执法人员姓名 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawEnforcer()), NonEnforcementRegistration::getLawEnforcer, bo.getLawEnforcer()); + // 执法人员ID - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawEnforcerId()), NonEnforcementRegistration::getLawEnforcerId, bo.getLawEnforcerId()); + // 其他执法人员姓名 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawEnforcerOther()), NonEnforcementRegistration::getLawEnforcerOther, bo.getLawEnforcerOther()); + // 其他执法人员ID - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawEnforcerIdOther()), NonEnforcementRegistration::getLawEnforcerIdOther, bo.getLawEnforcerIdOther()); + // 执法类别 - 精确查询 + lqw.eq(bo.getLawEnforcementType() != null, NonEnforcementRegistration::getLawEnforcementType, bo.getLawEnforcementType()); + // 执法类别文本 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawEnforcementTypeText()), NonEnforcementRegistration::getLawEnforcementTypeText, bo.getLawEnforcementTypeText()); + // 执法事项 - 精确查询 + lqw.eq(bo.getLawEnforcementItem() != null, NonEnforcementRegistration::getLawEnforcementItem, bo.getLawEnforcementItem()); + // 执法事项文本 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawEnforcementItemText()), NonEnforcementRegistration::getLawEnforcementItemText, bo.getLawEnforcementItemText()); + // 执法依据 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawEnforcementBasis()), NonEnforcementRegistration::getLawEnforcementBasis, bo.getLawEnforcementBasis()); + // 执法依据文本 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawEnforcementBasisText()), NonEnforcementRegistration::getLawEnforcementBasisText, bo.getLawEnforcementBasisText()); + // 执法结果 - 精确查询 (Long类型) + lqw.eq(bo.getReslut() != null, NonEnforcementRegistration::getReslut, bo.getReslut()); + // 状态 - 精确查询 (Long类型) + lqw.eq(bo.getStatus() != null, NonEnforcementRegistration::getStatus, bo.getStatus()); + // 是否删除 - 精确查询 (Long类型) + lqw.eq(bo.getHasDelete() != null, NonEnforcementRegistration::getHasDelete, bo.getHasDelete()); + // 是否投诉 - 精确查询 (Long类型) + lqw.eq(bo.getHasComplaint() != null, NonEnforcementRegistration::getHasComplaint, bo.getHasComplaint()); + // 是否提交 - 精确查询 (Long类型) + lqw.eq(bo.getHasSubmit() != null, NonEnforcementRegistration::getHasSubmit, bo.getHasSubmit()); + // 是否评价 - 精确查询 (Long类型) + lqw.eq(bo.getHasEvaluate() != null, NonEnforcementRegistration::getHasEvaluate, bo.getHasEvaluate()); + // 预告ID - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawId()), NonEnforcementRegistration::getLawId, bo.getLawId()); + // 预告文本 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getLawText()), NonEnforcementRegistration::getLawText, bo.getLawText()); + // 执法主体部门ID - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getBureauDeptId()), NonEnforcementRegistration::getBureauDeptId, bo.getBureauDeptId()); + // 执法主体部门名称 - 模糊查询 + lqw.like(StringUtils.isNotBlank(bo.getBureauDeptName()), NonEnforcementRegistration::getBureauDeptName, bo.getBureauDeptName()); + // 统一信用代码 - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getCreditcode()), NonEnforcementRegistration::getCreditcode, bo.getCreditcode()); + // 用户ID - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getUserId()), NonEnforcementRegistration::getUserId, bo.getUserId()); + // 部门ID - 精确查询 + lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), NonEnforcementRegistration::getDeptId, bo.getDeptId()); + + // searchValue - 多字段模糊查询 + if (StringUtils.isNotBlank(bo.getSearchValue())) { + lqw.and(wrapper -> wrapper + .like(NonEnforcementRegistration::getLawEnforcementItemText, bo.getSearchValue()) + .or().like(NonEnforcementRegistration::getBureauDeptName, bo.getSearchValue()) + .or().like(NonEnforcementRegistration::getLawEnforcer, bo.getSearchValue()) + .or().like(NonEnforcementRegistration::getLawEnforcerOther, bo.getSearchValue()) + ); + } + + // dateType - 时间范围查询 + if (bo.getDateType() != null) { + if (bo.getDateType() == 1) { + // 本月 + lqw.apply("DATE_FORMAT(enforcement_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m')"); + } else if (bo.getDateType() == 2) { + // 本季度 + lqw.apply("DATE_FORMAT(enforcement_time, '%Y-%m') >= CONCAT(YEAR(CURDATE()), '-', " + + "CASE WHEN QUARTER(CURDATE()) IN (1) THEN '01' " + + "WHEN QUARTER(CURDATE()) IN (2) THEN '04' " + + "WHEN QUARTER(CURDATE()) IN (3) THEN '07' " + + "ELSE '10' END) " + + "and DATE_FORMAT(enforcement_time, '%Y-%m') <= CONCAT(YEAR(CURDATE()), '-', " + + "CASE " + + "WHEN QUARTER(CURDATE()) IN (1) THEN '03' " + + "WHEN QUARTER(CURDATE()) IN (2) THEN '06' " + + "WHEN QUARTER(CURDATE()) IN (3) THEN '09' " + + "ELSE '12' " + + "END)"); + } else if (bo.getDateType() == 3) { + // 本年 + lqw.apply("DATE_FORMAT(enforcement_time, '%Y') = DATE_FORMAT(CURDATE(), '%Y')"); + } + } + + // dateSearch - 时间范围查询 + if (StringUtils.isNotBlank(bo.getDateSearch())) { + lqw.apply("DATE_FORMAT(enforcement_time, '%Y-%m') = {0}", bo.getDateSearch()); + } + + // 按执法时间倒序排序 + lqw.orderByDesc(NonEnforcementRegistration::getEnforcementTime); + } + + return lqw; + } + + /** + * 补充执法人员信息 + * + * @param list 记录列表 + */ + private void enrichLawEnforcerInfo(List list) { + if (list == null || list.isEmpty()) { + return; + } + + // 执法人员 没有执法证件号展示加密手机号 + list.forEach(li -> { + // 处理主执法人员信息 + if (StringUtils.isNotEmpty(li.getLawEnforcerId())) { + SysUserVo sysUserVo = sysUserMapper.selectUserById(Long.valueOf(li.getLawEnforcerId())); + if (sysUserVo != null) { + String lawCN = sysUserVo.getLawCertificateNum(); + if (StringUtils.isEmpty(lawCN)) { + lawCN = CommonUtil.encryptPhone(sysUserVo.getPhonenumber()); + } + li.setLawEnforcer(sysUserVo.getUserName() + " " + lawCN); + } else { + li.setLawEnforcer(li.getLawEnforcer()); + } + } + + // 处理其他执法人员信息 + List lawTwoList = new ArrayList<>(); + if (StringUtils.isNotEmpty(li.getLawEnforcerOther()) && StringUtils.isNotEmpty(li.getLawEnforcerIdOther())) { + List userBeans = sysUserMapper.selectUserByIds(Convert.toStrArray(li.getLawEnforcerIdOther())); + if (userBeans != null && !userBeans.isEmpty()) { + userBeans.forEach(u -> { + if (u != null) { + String temp = u.getLawCertificateNum(); + if (StringUtils.isEmpty(temp)) { + temp = CommonUtil.encryptPhone(u.getPhonenumber()); + } + lawTwoList.add(u.getUserName() + " " + temp); + } + }); + li.setLawEnforcerOtherList(lawTwoList); + } + } + }); + } + /** * 查询非行政执法登记列表 * @@ -104,41 +293,11 @@ public class NonEnforcementRegistrationServiceImpl implements INonEnforcementReg @Override public List selectNonEnforcementRegistrationList(NonEnforcementRegistrationBo bo) { - List list=nonEnforcementRegistrationMapper.selectNonEnforcementRegistrationList(bo); - if(list.size()!=0){ - // 执法人员 没有执法证件号展示加密手机号 - list.forEach(li->{ - if (StringUtils.isNotEmpty(li.getLawEnforcerId())) { - SysUserVo sysUserVo = sysUserMapper.selectUserById(Long.valueOf(li.getLawEnforcerId())); - if (sysUserVo != null) { - String lawCN = sysUserVo.getLawCertificateNum(); - if(StringUtils.isEmpty(lawCN)){ - lawCN = CommonUtil.encryptPhone(sysUserVo.getPhonenumber()); - } - li.setLawEnforcer(sysUserVo.getUserName() + " " + lawCN); - } else { - li.setLawEnforcer(li.getLawEnforcer()); - } - } + List list = nonEnforcementRegistrationMapper.selectNonEnforcementRegistrationList(bo); + + // 使用公共方法处理执法人员信息 + enrichLawEnforcerInfo(list); - List lawTwoList = new ArrayList<>(); - if (StringUtils.isNotEmpty(li.getLawEnforcerOther()) && StringUtils.isNotEmpty(li.getLawEnforcerIdOther())) { - List userBeans = sysUserMapper.selectUserByIds(Convert.toStrArray(li.getLawEnforcerIdOther())); - if (userBeans != null && !userBeans.isEmpty()) { - userBeans.forEach(u->{ - if (u != null) { - String temp = u.getLawCertificateNum(); - if(StringUtils.isEmpty(temp)){ - temp = CommonUtil.encryptPhone(u.getPhonenumber()); - } - lawTwoList.add(u.getUserName() + " " + temp); - } - }); - li.setLawEnforcerOtherList(lawTwoList); - } - } - }); - } return list; }