diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCarouselBannerController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCarouselBannerController.java index 8e7c867f..7a0905ab 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCarouselBannerController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCarouselBannerController.java @@ -33,7 +33,7 @@ import java.util.List; @Validated @RequiredArgsConstructor @RestController -@RequestMapping("/app-ent/carouselBanner") +@RequestMapping("/app-enf/carouselBanner") public class AppEnfCarouselBannerController extends BaseController { private final IEnforcementCarouselBannerService enforcementCarouselBannerService; @@ -41,7 +41,7 @@ public class AppEnfCarouselBannerController extends BaseController { /** * 执法端-查询轮播公告信息列表 */ - @SaCheckPermission("enforcementcode:carouselBanner:list") +// @SaCheckPermission("enforcementcode:carouselBanner:list") @GetMapping("/list") public TableDataInfo list(EnforcementCarouselBannerBo bo, PageQuery pageQuery) { // 设置默认查询平台:企业端(0) 和 执法端(2) @@ -56,7 +56,7 @@ public class AppEnfCarouselBannerController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("enforcementcode:carouselBanner:query") +// @SaCheckPermission("enforcementcode:carouselBanner:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable String id) { diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfNoticeInfoController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfNoticeInfoController.java index 3e199009..b5eddac9 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfNoticeInfoController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfNoticeInfoController.java @@ -52,7 +52,7 @@ public class AppEnfNoticeInfoController extends BaseController { /** * 查询系统公告信息主列表 */ - @SaCheckPermission("enforcementcode:noticeInfo:list") +// @SaCheckPermission("enforcementcode:noticeInfo:list") @GetMapping("/list") public TableDataInfo list(SysNoticeInfoBo bo, PageQuery pageQuery) { return sysNoticeInfoService.queryPageList(bo, pageQuery); @@ -65,7 +65,7 @@ public class AppEnfNoticeInfoController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("enforcementcode:noticeInfo:query") +// @SaCheckPermission("enforcementcode:noticeInfo:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable String id) { @@ -75,7 +75,7 @@ public class AppEnfNoticeInfoController extends BaseController { /** * 新增系统公告信息主 */ - @SaCheckPermission("enforcementcode:noticeInfo:add") +// @SaCheckPermission("enforcementcode:noticeInfo:add") @Log(title = "系统公告信息主", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() @@ -86,7 +86,7 @@ public class AppEnfNoticeInfoController extends BaseController { /** * 修改系统公告信息主 */ - @SaCheckPermission("enforcementcode:noticeInfo:edit") +// @SaCheckPermission("enforcementcode:noticeInfo:edit") @Log(title = "系统公告信息主", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -99,7 +99,7 @@ public class AppEnfNoticeInfoController extends BaseController { * * @param ids 主键串 */ - @SaCheckPermission("enforcementcode:noticeInfo:remove") +// @SaCheckPermission("enforcementcode:noticeInfo:remove") @Log(title = "系统公告信息主", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfTodoItemController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfTodoItemController.java index c5f37dff..4d2c5f41 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfTodoItemController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfTodoItemController.java @@ -44,7 +44,7 @@ public class AppEnfTodoItemController extends BaseController { /** * 查询待办事项列表 */ - @SaCheckPermission("enforcementcode:item:list") +// @SaCheckPermission("enforcementcode:item:list") @GetMapping("/list") public TableDataInfo list(TodoItemBo bo, PageQuery pageQuery) { return todoItemService.queryPageList(bo, pageQuery); @@ -56,7 +56,7 @@ public class AppEnfTodoItemController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("enforcementcode:item:query") +// @SaCheckPermission("enforcementcode:item:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable String id) { diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfducationServicesController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfducationServicesController.java index 51aa40d4..3c431b9f 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfducationServicesController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfducationServicesController.java @@ -31,7 +31,7 @@ public class AppEnfducationServicesController extends BaseController { /** * 查询普法服务发布主列表 */ - @SaCheckPermission("enforcementcode:educationServices:list") +// @SaCheckPermission("enforcementcode:educationServices:list") @GetMapping("/list") public TableDataInfo list(EnforcementEducationServicesBo bo, PageQuery pageQuery) { return enforcementEducationServicesService.queryPageList(bo, pageQuery); diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java new file mode 100644 index 00000000..2da16483 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java @@ -0,0 +1,129 @@ +package com.zdxt.enforcementcode.controller.app.enforcement; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo; +import com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo; +import com.zdxt.enforcementcode.service.IEnforcementInspectionProgramService; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +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.satoken.utils.LoginHelper; +import org.dromara.common.web.core.BaseController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 执法检查计划 + * + * @author Lion Li + * @date 2026-04-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/app-enf/inspectionProgram") +public class AppEnforcementInspectionProgramController extends BaseController { + + private final IEnforcementInspectionProgramService enforcementInspectionProgramService; + + /** + * 查询执法检查计划列表 + */ +// @SaCheckPermission("enforcementcode:inspectionProgram:list") + @GetMapping("/list") + public TableDataInfo list(EnforcementInspectionProgramBo bo, PageQuery pageQuery) { + return enforcementInspectionProgramService.queryPageList(bo, pageQuery); + } + + /** + * 导出执法检查计划列表 + */ +// @SaCheckPermission("enforcementcode:inspectionProgram:export") + @Log(title = "执法检查计划", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EnforcementInspectionProgramBo bo, HttpServletResponse response) { + List list = enforcementInspectionProgramService.queryList(bo); + ExcelUtil.exportExcel(list, "执法检查计划", EnforcementInspectionProgramVo.class, response); + } + + + /** + * 查询执法检查计划列表(支持复杂查询条件) + */ +// @SaCheckPermission("enforcementcode:inspectionProgram:list") + @GetMapping("/selectInspectionProgramList") + public TableDataInfo selectInspectionProgramList(EnforcementInspectionProgramBo bo, PageQuery pageQuery) { + return enforcementInspectionProgramService.selectEnforcementInspectionProgramPage(bo, pageQuery); + } + + /** + * 查询计划列表(包含权限控制) + */ +// @SaCheckPermission("enforcementcode:inspectionProgram:list") + @GetMapping("/queryListNoPermission") + public TableDataInfo queryListNoPermission(EnforcementInspectionProgramBo bo, PageQuery pageQuery) { + String deptId = LoginHelper.getDeptId(); + bo.setDeptId(deptId); + return enforcementInspectionProgramService.selectPlanPage(bo, pageQuery); + } + + + /** + * 获取执法检查计划详细信息 + * + * @param id 主键 + */ +// @SaCheckPermission("enforcementcode:inspectionProgram:query") + @GetMapping("/getInfo") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable String id) { + return R.ok(enforcementInspectionProgramService.queryById(id)); + } + + /** + * 新增执法检查计划 + */ +// @SaCheckPermission("enforcementcode:inspectionProgram:add") + @Log(title = "执法检查计划", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody EnforcementInspectionProgramBo bo) { + return toAjax(enforcementInspectionProgramService.insertByBo(bo)); + } + + /** + * 修改执法检查计划 + */ +// @SaCheckPermission("enforcementcode:inspectionProgram:edit") + @Log(title = "执法检查计划", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody EnforcementInspectionProgramBo bo) { + return toAjax(enforcementInspectionProgramService.updateByBo(bo)); + } + + /** + * 删除执法检查计划 + * + * @param ids 主键串 + */ +// @SaCheckPermission("enforcementcode:inspectionProgram:remove") + @Log(title = "执法检查计划", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable String[] ids) { + return toAjax(enforcementInspectionProgramService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnforcementInspectionProgram.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnforcementInspectionProgram.java index 91028e38..0b4b4154 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnforcementInspectionProgram.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnforcementInspectionProgram.java @@ -80,12 +80,12 @@ public class EnforcementInspectionProgram extends BaseEntity { private Long isPublish; /** - * + * */ private String bureauDeptId; /** - * + * */ private String bureauDeptName; @@ -104,5 +104,10 @@ public class EnforcementInspectionProgram extends BaseEntity { */ private Long quarter; + /** + * 创建人姓名 + */ + private String createByName; + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementInspectionProgramBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementInspectionProgramBo.java index e69cbc5c..506bd25e 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementInspectionProgramBo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementInspectionProgramBo.java @@ -9,6 +9,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; /** @@ -79,12 +81,12 @@ public class EnforcementInspectionProgramBo extends BaseEntity { private Long isPublish; /** - * + * */ private String bureauDeptId; /** - * + * */ private String bureauDeptName; @@ -103,5 +105,30 @@ public class EnforcementInspectionProgramBo extends BaseEntity { */ private Long quarter; + private List fileList; + + + /** + * 文件对象 + */ + public static class FileObject{ + private String fileName; + private String fileUrl; + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileUrl() { + return fileUrl; + } + public void setFileUrl(String fileUrl) { + this.fileUrl = fileUrl; + } + } } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementInspectionProgramVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementInspectionProgramVo.java index 220ca81f..f362930a 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementInspectionProgramVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementInspectionProgramVo.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.zdxt.enforcementcode.domain.EnforcementInspectionProgram; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; +import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; @@ -13,6 +14,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.util.Date; +import java.util.List; @@ -97,13 +99,13 @@ public class EnforcementInspectionProgramVo implements Serializable { private Long isPublish; /** - * + * */ @ExcelProperty(value = "") private String bureauDeptId; /** - * + * */ @ExcelProperty(value = "") private String bureauDeptName; @@ -127,4 +129,10 @@ public class EnforcementInspectionProgramVo implements Serializable { private Long quarter; + /** + * 文件列表 + */ + private List fileList; + + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementInspectionProgramMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementInspectionProgramMapper.java index edb1b4ce..7b18578f 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementInspectionProgramMapper.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementInspectionProgramMapper.java @@ -1,9 +1,13 @@ package com.zdxt.enforcementcode.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zdxt.enforcementcode.domain.EnforcementInspectionProgram; +import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo; import com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 执法检查计划Mapper接口 * @@ -12,4 +16,38 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface EnforcementInspectionProgramMapper extends BaseMapperPlus { + /** + * 查询执法检查计划列表 + * + * @param bo 查询条件 + * @return 执法检查计划列表 + */ + List selectEnforcementInspectionProgramList(EnforcementInspectionProgramBo bo); + + /** + * 分页查询执法检查计划列表 + * + * @param page 分页参数 + * @param bo 查询条件 + * @return 执法检查计划分页列表 + */ + Page selectEnforcementInspectionProgramPage(Page page, EnforcementInspectionProgramBo bo); + + /** + * 查询计划列表(包含权限控制) + * + * @param bo 查询条件 + * @return 计划列表 + */ + List selectPlanList(EnforcementInspectionProgramBo bo); + + /** + * 分页查询计划列表(包含权限控制) + * + * @param page 分页参数 + * @param bo 查询条件 + * @return 计划分页列表 + */ + Page selectPlanPage(Page page, EnforcementInspectionProgramBo bo); + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementInspectionProgramService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementInspectionProgramService.java index 83421084..7341e2b2 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementInspectionProgramService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementInspectionProgramService.java @@ -41,6 +41,40 @@ public interface IEnforcementInspectionProgramService { */ List queryList(EnforcementInspectionProgramBo bo); + /** + * 查询执法检查计划列表(支持复杂查询条件) + * + * @param bo 查询条件 + * @return 执法检查计划列表 + */ + List selectEnforcementInspectionProgramList(EnforcementInspectionProgramBo bo); + + /** + * 分页查询执法检查计划列表(支持复杂查询条件) + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 执法检查计划分页列表 + */ + TableDataInfo selectEnforcementInspectionProgramPage(EnforcementInspectionProgramBo bo, PageQuery pageQuery); + + /** + * 查询计划列表(包含权限控制) + * + * @param bo 查询条件 + * @return 计划列表 + */ + List selectPlanList(EnforcementInspectionProgramBo bo); + + /** + * 分页查询计划列表(包含权限控制) + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 计划分页列表 + */ + TableDataInfo selectPlanPage(EnforcementInspectionProgramBo bo, PageQuery pageQuery); + /** * 新增执法检查计划 * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java index 569c911c..431af745 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java @@ -1,5 +1,10 @@ package com.zdxt.enforcementcode.service.impl; +import cn.hutool.core.util.IdUtil; +import com.zdxt.enforcementcode.domain.ZdxtFile; +import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo; +import com.zdxt.enforcementcode.mapper.ZdxtFileMapper; +import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,6 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.common.satoken.utils.LoginHelper; import org.springframework.stereotype.Service; import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo; import com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo; @@ -33,6 +39,8 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp private final EnforcementInspectionProgramMapper baseMapper; + private final ZdxtFileMapper zdxtFileMapper; + /** * 查询执法检查计划 * @@ -41,7 +49,16 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp */ @Override public EnforcementInspectionProgramVo queryById(String id){ - return baseMapper.selectVoById(id); + EnforcementInspectionProgramVo vo = baseMapper.selectVoById(id); + if (vo != null) { + // 查询关联的文件列表 + LambdaQueryWrapper fileLqw = Wrappers.lambdaQuery(); + fileLqw.eq(ZdxtFile::getBusinessId, vo.getId()); + fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件 + List fileList = zdxtFileMapper.selectVoList(fileLqw); + vo.setFileList(fileList); + } + return vo; } /** @@ -55,6 +72,18 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp public TableDataInfo queryPageList(EnforcementInspectionProgramBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + + // 为每个计划查询关联的文件列表 + if (result.getRecords() != null && !result.getRecords().isEmpty()) { + result.getRecords().forEach(vo -> { + LambdaQueryWrapper fileLqw = Wrappers.lambdaQuery(); + fileLqw.eq(ZdxtFile::getBusinessId, vo.getId()); + fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件 + List fileList = zdxtFileMapper.selectVoList(fileLqw); + vo.setFileList(fileList); + }); + } + return TableDataInfo.build(result); } @@ -67,7 +96,114 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp @Override public List queryList(EnforcementInspectionProgramBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List voList = baseMapper.selectVoList(lqw); + + // 为每个计划查询关联的文件列表 + if (voList != null && !voList.isEmpty()) { + voList.forEach(vo -> { + LambdaQueryWrapper fileLqw = Wrappers.lambdaQuery(); + fileLqw.eq(ZdxtFile::getBusinessId, vo.getId()); + fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件 + List fileList = zdxtFileMapper.selectVoList(fileLqw); + vo.setFileList(fileList); + }); + } + + return voList; + } + + /** + * 查询执法检查计划列表(支持复杂查询条件) + * + * @param bo 查询条件 + * @return 执法检查计划列表 + */ + @Override + public List selectEnforcementInspectionProgramList(EnforcementInspectionProgramBo bo) { + List voList = baseMapper.selectEnforcementInspectionProgramList(bo); + // 为每个计划查询关联的文件列表 + if (voList != null && !voList.isEmpty()) { + voList.forEach(vo -> { + LambdaQueryWrapper fileLqw = Wrappers.lambdaQuery(); + fileLqw.eq(ZdxtFile::getBusinessId, vo.getId()); + fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件 + List fileList = zdxtFileMapper.selectVoList(fileLqw); + vo.setFileList(fileList); + }); + } + return voList; + } + + /** + * 分页查询执法检查计划列表(支持复杂查询条件) + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 执法检查计划分页列表 + */ + @Override + public TableDataInfo selectEnforcementInspectionProgramPage(EnforcementInspectionProgramBo bo, PageQuery pageQuery) { + Page result = baseMapper.selectEnforcementInspectionProgramPage(pageQuery.build(), bo); + + // 为每个计划查询关联的文件列表 + if (result.getRecords() != null && !result.getRecords().isEmpty()) { + result.getRecords().forEach(vo -> { + LambdaQueryWrapper fileLqw = Wrappers.lambdaQuery(); + fileLqw.eq(ZdxtFile::getBusinessId, vo.getId()); + fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件 + List fileList = zdxtFileMapper.selectVoList(fileLqw); + vo.setFileList(fileList); + }); + } + + return TableDataInfo.build(result); + } + + /** + * 查询计划列表(包含权限控制) + * + * @param bo 查询条件 + * @return 计划列表 + */ + @Override + public List selectPlanList(EnforcementInspectionProgramBo bo) { + List voList = baseMapper.selectPlanList(bo); + // 为每个计划查询关联的文件列表 + if (voList != null && !voList.isEmpty()) { + voList.forEach(vo -> { + LambdaQueryWrapper fileLqw = Wrappers.lambdaQuery(); + fileLqw.eq(ZdxtFile::getBusinessId, vo.getId()); + fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件 + List fileList = zdxtFileMapper.selectVoList(fileLqw); + vo.setFileList(fileList); + }); + } + return voList; + } + + /** + * 分页查询计划列表(包含权限控制) + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 计划分页列表 + */ + @Override + public TableDataInfo selectPlanPage(EnforcementInspectionProgramBo bo, PageQuery pageQuery) { + Page result = baseMapper.selectPlanPage(pageQuery.build(), bo); + + // 为每个计划查询关联的文件列表 + if (result.getRecords() != null && !result.getRecords().isEmpty()) { + result.getRecords().forEach(vo -> { + LambdaQueryWrapper fileLqw = Wrappers.lambdaQuery(); + fileLqw.eq(ZdxtFile::getBusinessId, vo.getId()); + fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件 + List fileList = zdxtFileMapper.selectVoList(fileLqw); + vo.setFileList(fileList); + }); + } + + return TableDataInfo.build(result); } private LambdaQueryWrapper buildQueryWrapper(EnforcementInspectionProgramBo bo) { @@ -89,7 +225,7 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp lqw.eq(StringUtils.isNotBlank(bo.getTimeType()), EnforcementInspectionProgram::getTimeType, bo.getTimeType()); lqw.eq(bo.getMouth() != null, EnforcementInspectionProgram::getMouth, bo.getMouth()); lqw.eq(bo.getQuarter() != null, EnforcementInspectionProgram::getQuarter, bo.getQuarter()); - return lqw; + return lqw; } /** @@ -101,10 +237,64 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp @Override public Boolean insertByBo(EnforcementInspectionProgramBo bo) { EnforcementInspectionProgram add = MapstructUtils.convert(bo, EnforcementInspectionProgram.class); + add.setCreateTime(DateUtils.getNowDate()); + add.setId(IdUtil.simpleUUID()); + add.setUserId(LoginHelper.getUserId() +""); + add.setDeptId(LoginHelper.getDeptId()); + add.setCreateBy(LoginHelper.getUserId()); + add.setCreateByName(LoginHelper.getUsername()); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); + if (flag && bo.getFileList() != null && !bo.getFileList().isEmpty()) { + // 批量保存上传的文件记录信息 + List fileList = bo.getFileList().stream().map(file -> { + ZdxtFile zdxtFile = new ZdxtFile(); + zdxtFile.setGuid(IdUtil.simpleUUID()); + zdxtFile.setBusinessId(add.getId()); + zdxtFile.setUploadPath(file.getFileUrl()); + zdxtFile.setFileName(file.getFileName()); + + // 从文件路径中截取文件名称 + String fileUrl = file.getFileUrl(); + String fileSaveName = null; + if (fileUrl != null && !fileUrl.isEmpty()) { + // 处理 URL 路径或文件路径 + int lastSlashIndex = Math.max(fileUrl.lastIndexOf("/"), fileUrl.lastIndexOf("\\")); + if (lastSlashIndex != -1 && lastSlashIndex < fileUrl.length() - 1) { + fileSaveName = fileUrl.substring(lastSlashIndex + 1); + } else { + fileSaveName = fileUrl; + } + // 去除 URL 参数(如果有) + int questionMarkIndex = fileSaveName.indexOf("?"); + if (questionMarkIndex != -1) { + fileSaveName = fileSaveName.substring(0, questionMarkIndex); + } + } + + zdxtFile.setFileSaveName(fileSaveName); + zdxtFile.setUploadTime(DateUtils.getNowDate()); + + // 提取文件后缀 + if (fileSaveName != null && fileSaveName.contains(".")) { + int dotIndex = fileSaveName.lastIndexOf("."); + zdxtFile.setFileSuffix(fileSaveName.substring(dotIndex)); + } + + // 设置上传人信息 + zdxtFile.setUploadPersonId(LoginHelper.getUserId().toString()); + zdxtFile.setUploadPersonName(LoginHelper.getUsername()); + zdxtFile.setUploadTime(DateUtils.getNowDate()); + zdxtFile.setCreateBy(LoginHelper.getUserId()); + zdxtFile.setUpdateBy(LoginHelper.getUserId()); + zdxtFile.setCreateTime(DateUtils.getNowDate()); + zdxtFile.setUpdateTime(DateUtils.getNowDate()); + + return zdxtFile; + }).toList(); + + // 批量插入文件记录 + fileList.forEach(zdxtFileMapper::insertZdxtFile); } return flag; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementInspectionProgramMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementInspectionProgramMapper.xml index 3a94aa60..fab64e3e 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementInspectionProgramMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementInspectionProgramMapper.xml @@ -3,4 +3,173 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + + + + + + + + + + + + + + + + + + + + + select + id, plan_year, plan_name, enforcement_department, + enforcement_department_id, enforcement_time, enforcement_area, + create_time, create_by, user_id, dept_id, is_delete,is_publish, + bureau_dept_id,bureau_dept_name,time_type,mouth,quarter + from enforcement_inspection_program + + + + + + + + + + + +