wangmingyong 4 months ago
parent
commit
37561f34f5
  1. 6
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCarouselBannerController.java
  2. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfLoginController.java
  3. 10
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfNoticeInfoController.java
  4. 4
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfTodoItemController.java
  5. 2
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfducationServicesController.java
  6. 129
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java
  7. 20
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java
  8. 9
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnforcementInspectionProgram.java
  9. 31
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementInspectionProgramBo.java
  10. 12
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementInspectionProgramVo.java
  11. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseInformationVo.java
  12. 38
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementInspectionProgramMapper.java
  13. 34
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementInspectionProgramService.java
  14. 200
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java
  15. 169
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementInspectionProgramMapper.xml

6
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<EnforcementCarouselBannerVo> 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<EnforcementCarouselBannerVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {

5
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfLoginController.java

@ -133,9 +133,10 @@ public class AppEnfLoginController extends LoginController {
* @param code 授权码
* @return 登录结果包含token和用户信息
*/
@GetMapping("/szyptLogin")
@PostMapping("/szyptLogin")
@ResponseBody
public R<Map<String, Object>> szyptLogin(@RequestParam("code") String code){
public R<Map<String, Object>> szyptLogin(@RequestBody Map<String, String> params ){
String code = params.get("code");
return appEnfLoginService.szyptLogin(code);
}
}

10
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<SysNoticeInfoVo> 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<SysNoticeInfoVo> 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<Void> remove(@NotEmpty(message = "主键不能为空")

4
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<TodoItemVo> 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<TodoItemVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {

2
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<EnforcementEducationServicesVo> list(EnforcementEducationServicesBo bo, PageQuery pageQuery) {
return enforcementEducationServicesService.queryPageList(bo, pageQuery);

129
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<EnforcementInspectionProgramVo> 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<EnforcementInspectionProgramVo> list = enforcementInspectionProgramService.queryList(bo);
ExcelUtil.exportExcel(list, "执法检查计划", EnforcementInspectionProgramVo.class, response);
}
/**
* 查询执法检查计划列表支持复杂查询条件
*/
// @SaCheckPermission("enforcementcode:inspectionProgram:list")
@GetMapping("/selectInspectionProgramList")
public TableDataInfo<EnforcementInspectionProgramVo> selectInspectionProgramList(EnforcementInspectionProgramBo bo, PageQuery pageQuery) {
return enforcementInspectionProgramService.selectEnforcementInspectionProgramPage(bo, pageQuery);
}
/**
* 查询计划列表包含权限控制
*/
// @SaCheckPermission("enforcementcode:inspectionProgram:list")
@GetMapping("/queryListNoPermission")
public TableDataInfo<EnforcementInspectionProgramVo> 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<EnforcementInspectionProgramVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(enforcementInspectionProgramService.deleteWithValidByIds(List.of(ids), true));
}
}

20
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java

@ -6,14 +6,17 @@ import com.zdxt.enforcementcode.common.util.CommonUtil;
import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo;
import com.zdxt.enforcementcode.domain.bo.EnterpriseLawEnforcementBo;
import com.zdxt.enforcementcode.domain.bo.enterprise.AppEnterpriseComplaintBo;
import com.zdxt.enforcementcode.domain.bo.enterprise.AppLawEnforcementCaseBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseEvaluateVo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseLawEnforcementVo;
import com.zdxt.enforcementcode.domain.vo.enterprise.AppEnterpriseComplaintVo;
import com.zdxt.enforcementcode.domain.vo.enterprise.AppLawEnforcementCaseVo;
import com.zdxt.enforcementcode.service.IEnforcementRegistrationService;
import com.zdxt.enforcementcode.service.IEnterpriseEvaluateService;
import com.zdxt.enforcementcode.service.IEnterpriseLawEnforcementService;
import com.zdxt.enforcementcode.service.enterprise.IAppEnterpriseComplaintService;
import com.zdxt.enforcementcode.service.enterprise.IAppLawEnforcementCaseService;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
@ -68,6 +71,10 @@ public class AppEnforcementRegistrationController extends BaseController {
@Autowired
private IAppEnterpriseComplaintService appEnterpriseComplaintService;
@Autowired
private IAppLawEnforcementCaseService appLawEnforcementCaseService;
/**
* 执法端-执法登记新增保存
*/
@ -293,7 +300,6 @@ public class AppEnforcementRegistrationController extends BaseController {
if (false && StringUtils.isNotEmpty(vo.getUnionNo()) && 1 == vo.getHasUnion()) {
// 已登记联合检查
EnforcementRegistrationBo bo = new EnforcementRegistrationBo();
// regRarams.setUniteCheck(enforcementRegistration.getUniteCheck());
bo.setUnionNo((vo.getUnionNo()));
regResults = enforcementRegistrationService.selectEnforcementRegistrationList(bo, null);
// 预约未登记的 (预约没要联合检查了)
@ -725,4 +731,16 @@ public class AppEnforcementRegistrationController extends BaseController {
long daysBetween = ChronoUnit.DAYS.between(startDate, LocalDate.now());
vo.setOutTimeDayNum(daysBetween);
}
/**
* 执法端-执法案件信息详情
* @param bo
* @return
*/
@ApiResponse(description = "执法端-执法案件信息详情")
@GetMapping("/enfLawCasedetail")
public AppLawEnforcementCaseVo lawCasedetail(AppLawEnforcementCaseBo bo) {
return appLawEnforcementCaseService.selectAppLawEnforcementCaseById(bo);
}
}

9
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;
}

31
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<FileObject> 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;
}
}
}

12
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<ZdxtFileVo> fileList;
}

5
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseInformationVo.java

@ -165,4 +165,9 @@ public class EnterpriseInformationVo implements Serializable {
*/
private transient String qrCodeMessage;
/**
* 二维码地址
*/
private String qrCodeUrl;
}

38
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<EnforcementInspectionProgram, EnforcementInspectionProgramVo> {
/**
* 查询执法检查计划列表
*
* @param bo 查询条件
* @return 执法检查计划列表
*/
List<EnforcementInspectionProgramVo> selectEnforcementInspectionProgramList(EnforcementInspectionProgramBo bo);
/**
* 分页查询执法检查计划列表
*
* @param page 分页参数
* @param bo 查询条件
* @return 执法检查计划分页列表
*/
Page<EnforcementInspectionProgramVo> selectEnforcementInspectionProgramPage(Page<EnforcementInspectionProgramVo> page, EnforcementInspectionProgramBo bo);
/**
* 查询计划列表包含权限控制
*
* @param bo 查询条件
* @return 计划列表
*/
List<EnforcementInspectionProgramVo> selectPlanList(EnforcementInspectionProgramBo bo);
/**
* 分页查询计划列表包含权限控制
*
* @param page 分页参数
* @param bo 查询条件
* @return 计划分页列表
*/
Page<EnforcementInspectionProgramVo> selectPlanPage(Page<EnforcementInspectionProgramVo> page, EnforcementInspectionProgramBo bo);
}

34
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementInspectionProgramService.java

@ -41,6 +41,40 @@ public interface IEnforcementInspectionProgramService {
*/
List<EnforcementInspectionProgramVo> queryList(EnforcementInspectionProgramBo bo);
/**
* 查询执法检查计划列表支持复杂查询条件
*
* @param bo 查询条件
* @return 执法检查计划列表
*/
List<EnforcementInspectionProgramVo> selectEnforcementInspectionProgramList(EnforcementInspectionProgramBo bo);
/**
* 分页查询执法检查计划列表支持复杂查询条件
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 执法检查计划分页列表
*/
TableDataInfo<EnforcementInspectionProgramVo> selectEnforcementInspectionProgramPage(EnforcementInspectionProgramBo bo, PageQuery pageQuery);
/**
* 查询计划列表包含权限控制
*
* @param bo 查询条件
* @return 计划列表
*/
List<EnforcementInspectionProgramVo> selectPlanList(EnforcementInspectionProgramBo bo);
/**
* 分页查询计划列表包含权限控制
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 计划分页列表
*/
TableDataInfo<EnforcementInspectionProgramVo> selectPlanPage(EnforcementInspectionProgramBo bo, PageQuery pageQuery);
/**
* 新增执法检查计划
*

200
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<ZdxtFile> fileLqw = Wrappers.lambdaQuery();
fileLqw.eq(ZdxtFile::getBusinessId, vo.getId());
fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(fileLqw);
vo.setFileList(fileList);
}
return vo;
}
/**
@ -55,6 +72,18 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp
public TableDataInfo<EnforcementInspectionProgramVo> queryPageList(EnforcementInspectionProgramBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<EnforcementInspectionProgram> lqw = buildQueryWrapper(bo);
Page<EnforcementInspectionProgramVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// 为每个计划查询关联的文件列表
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
result.getRecords().forEach(vo -> {
LambdaQueryWrapper<ZdxtFile> fileLqw = Wrappers.lambdaQuery();
fileLqw.eq(ZdxtFile::getBusinessId, vo.getId());
fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(fileLqw);
vo.setFileList(fileList);
});
}
return TableDataInfo.build(result);
}
@ -67,7 +96,114 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp
@Override
public List<EnforcementInspectionProgramVo> queryList(EnforcementInspectionProgramBo bo) {
LambdaQueryWrapper<EnforcementInspectionProgram> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
List<EnforcementInspectionProgramVo> voList = baseMapper.selectVoList(lqw);
// 为每个计划查询关联的文件列表
if (voList != null && !voList.isEmpty()) {
voList.forEach(vo -> {
LambdaQueryWrapper<ZdxtFile> fileLqw = Wrappers.lambdaQuery();
fileLqw.eq(ZdxtFile::getBusinessId, vo.getId());
fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(fileLqw);
vo.setFileList(fileList);
});
}
return voList;
}
/**
* 查询执法检查计划列表支持复杂查询条件
*
* @param bo 查询条件
* @return 执法检查计划列表
*/
@Override
public List<EnforcementInspectionProgramVo> selectEnforcementInspectionProgramList(EnforcementInspectionProgramBo bo) {
List<EnforcementInspectionProgramVo> voList = baseMapper.selectEnforcementInspectionProgramList(bo);
// 为每个计划查询关联的文件列表
if (voList != null && !voList.isEmpty()) {
voList.forEach(vo -> {
LambdaQueryWrapper<ZdxtFile> fileLqw = Wrappers.lambdaQuery();
fileLqw.eq(ZdxtFile::getBusinessId, vo.getId());
fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(fileLqw);
vo.setFileList(fileList);
});
}
return voList;
}
/**
* 分页查询执法检查计划列表支持复杂查询条件
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 执法检查计划分页列表
*/
@Override
public TableDataInfo<EnforcementInspectionProgramVo> selectEnforcementInspectionProgramPage(EnforcementInspectionProgramBo bo, PageQuery pageQuery) {
Page<EnforcementInspectionProgramVo> result = baseMapper.selectEnforcementInspectionProgramPage(pageQuery.build(), bo);
// 为每个计划查询关联的文件列表
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
result.getRecords().forEach(vo -> {
LambdaQueryWrapper<ZdxtFile> fileLqw = Wrappers.lambdaQuery();
fileLqw.eq(ZdxtFile::getBusinessId, vo.getId());
fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(fileLqw);
vo.setFileList(fileList);
});
}
return TableDataInfo.build(result);
}
/**
* 查询计划列表包含权限控制
*
* @param bo 查询条件
* @return 计划列表
*/
@Override
public List<EnforcementInspectionProgramVo> selectPlanList(EnforcementInspectionProgramBo bo) {
List<EnforcementInspectionProgramVo> voList = baseMapper.selectPlanList(bo);
// 为每个计划查询关联的文件列表
if (voList != null && !voList.isEmpty()) {
voList.forEach(vo -> {
LambdaQueryWrapper<ZdxtFile> fileLqw = Wrappers.lambdaQuery();
fileLqw.eq(ZdxtFile::getBusinessId, vo.getId());
fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(fileLqw);
vo.setFileList(fileList);
});
}
return voList;
}
/**
* 分页查询计划列表包含权限控制
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 计划分页列表
*/
@Override
public TableDataInfo<EnforcementInspectionProgramVo> selectPlanPage(EnforcementInspectionProgramBo bo, PageQuery pageQuery) {
Page<EnforcementInspectionProgramVo> result = baseMapper.selectPlanPage(pageQuery.build(), bo);
// 为每个计划查询关联的文件列表
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
result.getRecords().forEach(vo -> {
LambdaQueryWrapper<ZdxtFile> fileLqw = Wrappers.lambdaQuery();
fileLqw.eq(ZdxtFile::getBusinessId, vo.getId());
fileLqw.eq(ZdxtFile::getIsDelete2, 0); // 只查询未删除的文件
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(fileLqw);
vo.setFileList(fileList);
});
}
return TableDataInfo.build(result);
}
private LambdaQueryWrapper<EnforcementInspectionProgram> 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<ZdxtFile> 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;
}

169
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">
<mapper namespace="com.zdxt.enforcementcode.mapper.EnforcementInspectionProgramMapper">
<resultMap type="com.zdxt.enforcementcode.domain.EnforcementInspectionProgram" id="EnforcementInspectionProgramResult">
<result property="id" column="id" />
<result property="planYear" column="plan_year" />
<result property="planName" column="plan_name" />
<result property="enforcementDepartment" column="enforcement_department" />
<result property="enforcementDepartmentId" column="enforcement_department_id" />
<result property="enforcementTime" column="enforcement_time" />
<result property="enforcementArea" column="enforcement_area" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="userId" column="user_id" />
<result property="deptId" column="dept_id" />
<result property="isDelete" column="is_delete" />
<result property="isPublish" column="is_publish" />
<result property="bureauDeptId" column="bureau_dept_id" />
<result property="bureauDeptName" column="bureau_dept_name" />
<result property="timeType" column="time_type" />
<result property="mouth" column="mouth" />
<result property="quarter" column="quarter" />
</resultMap>
<sql id="selectEnforcementInspectionProgramVo">
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
</sql>
<select id="selectEnforcementInspectionProgramList" parameterType="com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo" resultMap="EnforcementInspectionProgramResult">
<include refid="selectEnforcementInspectionProgramVo"/>
<where>
<if test="planYear != null and planYear != ''"> and plan_year = #{planYear}</if>
<if test="planName != null and planName != ''"> and plan_name like concat('%', #{planName}, '%')</if>
<if test="enforcementDepartment != null and enforcementDepartment != ''"> and enforcement_department = #{enforcementDepartment}</if>
<if test="enforcementDepartmentId != null and enforcementDepartmentId != ''"> and enforcement_department_id = #{enforcementDepartmentId}</if>
<if test="enforcementTime != null "> and enforcement_time = #{enforcementTime}</if>
<if test="enforcementArea != null and enforcementArea != ''"> and enforcement_area = #{enforcementArea}</if>
<if test="userId != null and userId != ''"> and user_id = #{userId}</if>
<if test="deptId != null and deptId != ''"> and dept_id = #{deptId}</if>
<if test="isDelete != null "> and is_delete = #{isDelete}</if>
<if test="isPublish != null "> and is_publish = #{isPublish}</if>
<if test="searchText != null and searchText != ''and searchType =='plan'">
and (plan_name like concat('%', #{searchText}, '%')
or enforcement_department like concat('%', #{searchText}, '%')
or enforcement_area like concat('%', #{searchText}, '%'))
</if>
<if test="searchText != null and searchText != '' and searchType =='notice'">
and (plan_name like concat('%', #{searchText}, '%')
or bureau_dept_name like concat('%', #{searchText}, '%'))
</if>
<if test="dateType != null and dateType == 1">
and DATE_FORMAT(create_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m')
</if>
<if test="dateType != null and dateType == 2">
AND DATE_FORMAT(create_time, '%Y-%m') &gt;= 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(create_time, '%Y-%m') &lt;= 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)
</if>
<if test="dateType != null and dateType == 3">
and DATE_FORMAT(create_time, '%Y') = DATE_FORMAT(CURDATE(), '%Y')
</if>
<if test="dateType != null and dateType == 4">
and date_sub(now(),interval 1 week) &lt; create_time
</if>
<if test="dateSearch != null and dateSearch != ''">
and DATE_FORMAT(create_time, '%Y-%m') = #{dateSearch}
</if>
<if test="dataScopeId != null and dataScopeId != ''">
and user_id = #{dataScopeId}
</if>
</where>
order by create_time desc
</select>
<select id="selectPlanList" parameterType="com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo" resultMap="EnforcementInspectionProgramResult">
<include refid="selectEnforcementInspectionProgramVo"/>
where (is_publish = 1 or enforcement_department_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = #{deptId} or find_in_set( #{deptId} , ancestors ) != 0 ))
<if test="searchText != null and searchText != ''">
and (plan_name like concat('%', #{searchText}, '%')
or enforcement_department like concat('%', #{searchText}, '%')
or bureau_dept_name like concat('%', #{searchText}, '%'))
</if>
order by create_time desc
</select>
<!-- 分页查询执法检查计划列表 -->
<select id="selectEnforcementInspectionProgramPage" resultType="com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo">
<include refid="selectEnforcementInspectionProgramVo"/>
<where>
<if test="bo.planYear != null and bo.planYear != ''"> and plan_year = #{bo.planYear}</if>
<if test="bo.planName != null and bo.planName != ''"> and plan_name like concat('%', #{bo.planName}, '%')</if>
<if test="bo.enforcementDepartment != null and bo.enforcementDepartment != ''"> and enforcement_department = #{bo.enforcementDepartment}</if>
<if test="bo.enforcementDepartmentId != null and bo.enforcementDepartmentId != ''"> and enforcement_department_id = #{bo.enforcementDepartmentId}</if>
<if test="bo.enforcementTime != null "> and enforcement_time = #{bo.enforcementTime}</if>
<if test="bo.enforcementArea != null and bo.enforcementArea != ''"> and enforcement_area = #{bo.enforcementArea}</if>
<if test="bo.userId != null and bo.userId != ''"> and user_id = #{bo.userId}</if>
<if test="bo.deptId != null and bo.deptId != ''"> and dept_id = #{bo.deptId}</if>
<if test="bo.isDelete != null "> and is_delete = #{bo.isDelete}</if>
<if test="bo.isPublish != null "> and is_publish = #{bo.isPublish}</if>
<if test="bo.bureauDeptId != null and bo.bureauDeptId != ''"> and bureau_dept_id = #{bo.bureauDeptId}</if>
<if test="bo.bureauDeptName != null and bo.bureauDeptName != ''"> and bureau_dept_name like concat('%', #{bo.bureauDeptName}, '%')</if>
<if test="bo.timeType != null and bo.timeType != ''"> and time_type = #{bo.timeType}</if>
<if test="bo.mouth != null "> and mouth = #{bo.mouth}</if>
<if test="bo.quarter != null "> and quarter = #{bo.quarter}</if>
<if test="bo.searchText != null and bo.searchText != '' and bo.searchType =='plan'">
and (plan_name like concat('%', #{bo.searchText}, '%')
or enforcement_department like concat('%', #{bo.searchText}, '%')
or enforcement_area like concat('%', #{bo.searchText}, '%'))
</if>
<if test="bo.searchText != null and bo.searchText != '' and bo.searchType =='notice'">
and (plan_name like concat('%', #{bo.searchText}, '%')
or bureau_dept_name like concat('%', #{bo.searchText}, '%'))
</if>
<if test="bo.dateType != null and bo.dateType == 1">
and DATE_FORMAT(create_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m')
</if>
<if test="bo.dateType != null and bo.dateType == 2">
AND DATE_FORMAT(create_time, '%Y-%m') &gt;= 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(create_time, '%Y-%m') &lt;= 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)
</if>
<if test="bo.dateType != null and bo.dateType == 3">
and DATE_FORMAT(create_time, '%Y') = DATE_FORMAT(CURDATE(), '%Y')
</if>
<if test="bo.dateType != null and bo.dateType == 4">
and date_sub(now(),interval 1 week) &lt; create_time
</if>
<if test="bo.dateSearch != null and bo.dateSearch != ''">
and DATE_FORMAT(create_time, '%Y-%m') = #{bo.dateSearch}
</if>
<if test="bo.dataScopeId != null and bo.dataScopeId != ''">
and user_id = #{bo.dataScopeId}
</if>
</where>
order by create_time desc
</select>
<!-- 分页查询计划列表(包含权限控制) -->
<select id="selectPlanPage" resultType="com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo">
<include refid="selectEnforcementInspectionProgramVo"/>
where (is_publish = 1 or enforcement_department_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = #{bo.deptId} or find_in_set( #{bo.deptId} , ancestors ) != 0 ))
<if test="bo.searchText != null and bo.searchText != ''">
and (plan_name like concat('%', #{bo.searchText}, '%')
or enforcement_department like concat('%', #{bo.searchText}, '%')
or bureau_dept_name like concat('%', #{bo.searchText}, '%'))
</if>
order by create_time desc
</select>
</mapper>

Loading…
Cancel
Save