Browse Source

执法端-计划查询

dev-V1.0.1
niujiyi 5 months ago
parent
commit
ea962b905d
  1. 2
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java
  2. 21
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/EnforcementCarouselBannerController.java
  3. 28
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementInspectionProgramBo.java
  4. 2
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java
  5. 20
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementCarouselBannerVo.java
  6. 8
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementEducationServicesVo.java
  7. 111
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementCarouselBannerServiceImpl.java
  8. 39
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementEducationServicesServiceImpl.java
  9. 4
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java

2
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java

@ -1,6 +1,7 @@
package com.zdxt.enforcementcode.controller.app.enforcement; package com.zdxt.enforcementcode.controller.app.enforcement;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaIgnore;
import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo; import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo; import com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo;
import com.zdxt.enforcementcode.service.IEnforcementInspectionProgramService; import com.zdxt.enforcementcode.service.IEnforcementInspectionProgramService;
@ -60,6 +61,7 @@ public class AppEnforcementInspectionProgramController extends BaseController {
/** /**
* 执法端-查询执法检查计划列表(支持复杂查询条件) * 执法端-查询执法检查计划列表(支持复杂查询条件)
*/ */
@SaIgnore
@GetMapping("/selectInspectionProgramList") @GetMapping("/selectInspectionProgramList")
public TableDataInfo<EnforcementInspectionProgramVo> selectInspectionProgramList(EnforcementInspectionProgramBo bo, PageQuery pageQuery) { public TableDataInfo<EnforcementInspectionProgramVo> selectInspectionProgramList(EnforcementInspectionProgramBo bo, PageQuery pageQuery) {
return enforcementInspectionProgramService.selectEnforcementInspectionProgramPage(bo, pageQuery); return enforcementInspectionProgramService.selectEnforcementInspectionProgramPage(bo, pageQuery);

21
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/EnforcementCarouselBannerController.java

@ -41,6 +41,7 @@ public class EnforcementCarouselBannerController extends BaseController {
* 查询轮播公告信息列表 * 查询轮播公告信息列表
*/ */
@SaCheckPermission("enforcementcode:carouselBanner:list") @SaCheckPermission("enforcementcode:carouselBanner:list")
@SaIgnore
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<EnforcementCarouselBannerVo> list(EnforcementCarouselBannerBo bo, PageQuery pageQuery) { public TableDataInfo<EnforcementCarouselBannerVo> list(EnforcementCarouselBannerBo bo, PageQuery pageQuery) {
return enforcementCarouselBannerService.queryPageList(bo, pageQuery); return enforcementCarouselBannerService.queryPageList(bo, pageQuery);
@ -63,16 +64,16 @@ public class EnforcementCarouselBannerController extends BaseController {
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("enforcementcode:carouselBanner:query") @SaCheckPermission("enforcementcode:carouselBanner:query")
@GetMapping("/{id}") @SaIgnore
public R<EnforcementCarouselBannerVo> getInfo(@NotNull(message = "主键不能为空") @GetMapping("/details")
@PathVariable String id) { public R<EnforcementCarouselBannerVo> getInfo(String id) {
return R.ok(enforcementCarouselBannerService.queryById(id)); return R.ok(enforcementCarouselBannerService.queryById(id));
} }
/** /**
* 新增轮播公告信息 * 新增轮播公告信息
*/ */
//@SaCheckPermission("enforcementcode:carouselBanner:add") @SaCheckPermission("enforcementcode:carouselBanner:add")
@Log(title = "轮播公告信息", businessType = BusinessType.INSERT) @Log(title = "轮播公告信息", businessType = BusinessType.INSERT)
@SaIgnore @SaIgnore
@PostMapping("/add") @PostMapping("/add")
@ -85,9 +86,9 @@ public class EnforcementCarouselBannerController extends BaseController {
*/ */
@SaCheckPermission("enforcementcode:carouselBanner:edit") @SaCheckPermission("enforcementcode:carouselBanner:edit")
@Log(title = "轮播公告信息", businessType = BusinessType.UPDATE) @Log(title = "轮播公告信息", businessType = BusinessType.UPDATE)
@RepeatSubmit() @SaIgnore
@PutMapping() @PostMapping("/edit")
public R<Void> edit(@Validated(EditGroup.class) @RequestBody EnforcementCarouselBannerBo bo) { public R<Void> edit(@RequestBody EnforcementCarouselBannerBo bo) {
return toAjax(enforcementCarouselBannerService.updateByBo(bo)); return toAjax(enforcementCarouselBannerService.updateByBo(bo));
} }
@ -97,10 +98,10 @@ public class EnforcementCarouselBannerController extends BaseController {
* @param ids 主键串 * @param ids 主键串
*/ */
@SaCheckPermission("enforcementcode:carouselBanner:remove") @SaCheckPermission("enforcementcode:carouselBanner:remove")
@SaIgnore
@Log(title = "轮播公告信息", businessType = BusinessType.DELETE) @Log(title = "轮播公告信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @GetMapping("/remove")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(String[] ids) {
@PathVariable String[] ids) {
return toAjax(enforcementCarouselBannerService.deleteWithValidByIds(List.of(ids), true)); return toAjax(enforcementCarouselBannerService.deleteWithValidByIds(List.of(ids), true));
} }
} }

28
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementInspectionProgramBo.java

@ -1,6 +1,8 @@
package com.zdxt.enforcementcode.domain.bo; package com.zdxt.enforcementcode.domain.bo;
import com.zdxt.enforcementcode.domain.EnforcementInspectionProgram; import com.zdxt.enforcementcode.domain.EnforcementInspectionProgram;
import com.zdxt.enforcementcode.domain.ZdxtFile;
import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
@ -105,8 +107,32 @@ public class EnforcementInspectionProgramBo extends BaseEntity {
*/ */
private Long quarter; private Long quarter;
private List<FileObject> fileList; private List<ZdxtFile> fileList;
/**
* 搜索文本
*/
private String searchText;
/**
* 搜索类型 plan 或 notice
*/
private String searchType;
/**
* 日期类型
*/
private Integer dateType;
/**
* 日期搜索
*/
private String dateSearch;
/**
* 数据范围ID
*/
private String dataScopeId;
/** /**
* 文件对象 * 文件对象

2
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java

@ -193,7 +193,7 @@ public class EnforcementRegistrationBo extends BaseEntity {
private String checkCss; private String checkCss;
/** /**
* *原因
*/ */
private String enforceReason; private String enforceReason;

20
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementCarouselBannerVo.java

@ -12,7 +12,7 @@ import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
@ -47,6 +47,12 @@ public class EnforcementCarouselBannerVo implements Serializable {
@ExcelProperty(value = "发布平台 0-全部 1-企业端 2-执法端 3-监督端") @ExcelProperty(value = "发布平台 0-全部 1-企业端 2-执法端 3-监督端")
private Long targetPlatform; private Long targetPlatform;
/**
* 发布平台标签(字典翻译)
*/
@ExcelProperty(value = "发布平台名称")
private String targetPlatformLabel;
/** /**
* 橱窗/轮播位,如“橱窗1” * 橱窗/轮播位,如“橱窗1”
*/ */
@ -96,6 +102,12 @@ public class EnforcementCarouselBannerVo implements Serializable {
@ExcelProperty(value = "状态 1-待发布 2-已发布 3-已下架") @ExcelProperty(value = "状态 1-待发布 2-已发布 3-已下架")
private Long status; private Long status;
/**
* 状态名称(字典翻译)
*/
@ExcelProperty(value = "状态名称")
private String statusLabel;
/** /**
* 类型 0-富文本 1-外部链接 * 类型 0-富文本 1-外部链接
*/ */
@ -138,5 +150,9 @@ public class EnforcementCarouselBannerVo implements Serializable {
@ExcelProperty(value = "备注") @ExcelProperty(value = "备注")
private String remark; private String remark;
/**
* 附件信息
*/
@ExcelProperty(value = "附件信息")
private List<ZdxtFileVo> fileList;
} }

8
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementEducationServicesVo.java

@ -96,6 +96,14 @@ public class EnforcementEducationServicesVo implements Serializable {
@ExcelProperty(value = "状态 1-待发布 2-已发布 3-已下架") @ExcelProperty(value = "状态 1-待发布 2-已发布 3-已下架")
private Integer status; private Integer status;
/**
* 状态名称(字典翻译)
*/
@ExcelProperty(value = "状态名称")
private String statusLabel;
/** /**
* 浏览次数 * 浏览次数
*/ */

111
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementCarouselBannerServiceImpl.java

@ -2,7 +2,10 @@ package com.zdxt.enforcementcode.service.impl;
import com.zdxt.enforcementcode.domain.bean.EnforcementCarouselBanner; import com.zdxt.enforcementcode.domain.bean.EnforcementCarouselBanner;
import com.zdxt.enforcementcode.domain.bo.ZdxtFileBo; import com.zdxt.enforcementcode.domain.bo.ZdxtFileBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementEducationServicesVo;
import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo;
import com.zdxt.enforcementcode.service.IZdxtFileService; 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.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -35,6 +38,7 @@ public class EnforcementCarouselBannerServiceImpl implements IEnforcementCarouse
private final EnforcementCarouselBannerMapper baseMapper; private final EnforcementCarouselBannerMapper baseMapper;
private final IZdxtFileService zdxtFileService; private final IZdxtFileService zdxtFileService;
private final DictService dictService;
/** /**
* 查询轮播公告信息 * 查询轮播公告信息
@ -44,9 +48,59 @@ public class EnforcementCarouselBannerServiceImpl implements IEnforcementCarouse
*/ */
@Override @Override
public EnforcementCarouselBannerVo queryById(String id){ public EnforcementCarouselBannerVo queryById(String id){
return baseMapper.selectVoById(id); EnforcementCarouselBannerVo vo= baseMapper.selectVoById(id);
if (vo != null) {
// 回显附件信息
ZdxtFileBo fileBo = new ZdxtFileBo();
fileBo.setBusinessId(id);
List<ZdxtFileVo> fileList = zdxtFileService.queryList(fileBo);
vo.setFileList(fileList);
// 设置字典标签
setDictLabels(vo);
}
return vo;
} }
/**
* 为单条记录设置字典标签
*
* @param vo 记录对象
*/
private void setDictLabels(EnforcementCarouselBannerVo vo) {
if (vo == null) {
return;
}
// 发布平台标签
if (vo.getTargetPlatform() != null) {
String targetPlatformLabel = dictService.getDictLabel("web_publishing_platform", vo.getTargetPlatform().toString());
vo.setTargetPlatformLabel(targetPlatformLabel);
}
//状态标签
if(vo.getStatus()!=null){
String statusLabel = dictService.getDictLabel("web_status", vo.getStatus().toString());
vo.setStatusLabel(statusLabel);
}
}
/**
* 为列表设置字典标签
*
* @param records 记录列表
*/
private void setDictLabels(List<EnforcementCarouselBannerVo> records) {
if (records == null || records.isEmpty()) {
return;
}
records.forEach(this::setDictLabels);
}
/** /**
* 分页查询轮播公告信息列表 * 分页查询轮播公告信息列表
* *
@ -58,6 +112,12 @@ public class EnforcementCarouselBannerServiceImpl implements IEnforcementCarouse
public TableDataInfo<EnforcementCarouselBannerVo> queryPageList(EnforcementCarouselBannerBo bo, PageQuery pageQuery) { public TableDataInfo<EnforcementCarouselBannerVo> queryPageList(EnforcementCarouselBannerBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<EnforcementCarouselBanner> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<EnforcementCarouselBanner> lqw = buildQueryWrapper(bo);
Page<EnforcementCarouselBannerVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<EnforcementCarouselBannerVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// 为每条记录设置字典标签和已读状态
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
setDictLabels(result.getRecords());
}
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -156,14 +216,59 @@ public class EnforcementCarouselBannerServiceImpl implements IEnforcementCarouse
public Boolean updateByBo(EnforcementCarouselBannerBo bo) { public Boolean updateByBo(EnforcementCarouselBannerBo bo) {
EnforcementCarouselBanner update = MapstructUtils.convert(bo, EnforcementCarouselBanner.class); EnforcementCarouselBanner update = MapstructUtils.convert(bo, EnforcementCarouselBanner.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
boolean flag = baseMapper.updateById(update) > 0;
if (flag && bo.getId() != null) {
// 判断附件是否需要修改,附件有值也需要更新
if (bo.getFileList() != null) {
// 先删除旧附件
deleteOldAttachments(bo.getId());
// 再保存新附件
if (!bo.getFileList().isEmpty()) {
saveAttachmentFiles(bo.getFileList(), bo.getId());
}
}
}
return flag;
}
/**
* 删除旧附件
*
* @param businessId 业务ID
*/
private void deleteOldAttachments(String businessId) {
ZdxtFileBo queryBo = new ZdxtFileBo();
queryBo.setBusinessId(businessId);
List<ZdxtFileVo> oldFiles = zdxtFileService.queryList(queryBo);
if (oldFiles != null && !oldFiles.isEmpty()) {
List<String> ids = oldFiles.stream()
.map(ZdxtFileVo::getGuid)
.toList();
zdxtFileService.deleteWithValidByIds(ids, false);
log.info("成功删除旧附件: businessId={}, 数量={}", businessId, ids.size());
}
} }
/** /**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(EnforcementCarouselBanner entity){ private void validEntityBeforeSave(EnforcementCarouselBanner entity){
//TODO 做一些数据校验,如唯一约束 if (entity.getCarouselPosition() == null) {
throw new IllegalArgumentException("轮播位置不能为空");
}
if (entity.getTargetPlatform() == null) {
throw new IllegalArgumentException("目标平台不能为空");
}
if (entity.getDisplayDays() == null) {
throw new IllegalArgumentException("显示天数不能为空");
}
if (StringUtils.isBlank(entity.getLinkUrl())) {
throw new IllegalArgumentException("跳转链接不能为空");
}
} }
/** /**

39
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementEducationServicesServiceImpl.java

@ -155,6 +155,12 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc
String targetPlatformLabel = dictService.getDictLabel("web_publishing_platform", vo.getTargetPlatform().toString()); String targetPlatformLabel = dictService.getDictLabel("web_publishing_platform", vo.getTargetPlatform().toString());
vo.setTargetPlatformLabel(targetPlatformLabel); vo.setTargetPlatformLabel(targetPlatformLabel);
} }
//状态标签
if(vo.getStatus()!=null){
String statusLabel = dictService.getDictLabel("web_status", vo.getStatus().toString());
vo.setStatusLabel(statusLabel);
}
} }
/** /**
@ -304,7 +310,24 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc
return flag; return flag;
} }
/**
* 删除旧附件
*
* @param businessId 业务ID
*/
private void deleteOldAttachments(String businessId) {
ZdxtFileBo queryBo = new ZdxtFileBo();
queryBo.setBusinessId(businessId);
List<ZdxtFileVo> oldFiles = zdxtFileService.queryList(queryBo);
if (oldFiles != null && !oldFiles.isEmpty()) {
List<String> ids = oldFiles.stream()
.map(ZdxtFileVo::getGuid)
.toList();
zdxtFileService.deleteWithValidByIds(ids, false);
log.info("成功删除旧附件: businessId={}, 数量={}", businessId, ids.size());
}
}
/** /**
* 批量保存附件信息 * 批量保存附件信息
* *
@ -337,7 +360,19 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc
public Boolean updateByBo(EnforcementEducationServicesBo bo) { public Boolean updateByBo(EnforcementEducationServicesBo bo) {
EnforcementEducationServices update = MapstructUtils.convert(bo, EnforcementEducationServices.class); EnforcementEducationServices update = MapstructUtils.convert(bo, EnforcementEducationServices.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0; boolean flag = baseMapper.updateById(update)>0;
if (flag && bo.getId() != null) {
// 判断附件是否需要修改,附件有值也需要更新
if (bo.getFileList() != null) {
// 先删除旧附件
deleteOldAttachments(bo.getId());
// 再保存新附件
if (!bo.getFileList().isEmpty()) {
saveAttachmentFiles(bo.getFileList(), bo.getId());
}
}
}
return flag;
} }
/** /**

4
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementInspectionProgramServiceImpl.java

@ -285,11 +285,11 @@ public class EnforcementInspectionProgramServiceImpl implements IEnforcementInsp
ZdxtFile zdxtFile = new ZdxtFile(); ZdxtFile zdxtFile = new ZdxtFile();
zdxtFile.setGuid(IdUtil.simpleUUID()); zdxtFile.setGuid(IdUtil.simpleUUID());
zdxtFile.setBusinessId(add.getId()); zdxtFile.setBusinessId(add.getId());
zdxtFile.setUploadPath(file.getFileUrl()); zdxtFile.setUploadPath(file.getUploadPath());
zdxtFile.setFileName(file.getFileName()); zdxtFile.setFileName(file.getFileName());
// 从文件路径中截取文件名称 // 从文件路径中截取文件名称
String fileUrl = file.getFileUrl(); String fileUrl = file.getUploadPath();
String fileSaveName = null; String fileSaveName = null;
if (fileUrl != null && !fileUrl.isEmpty()) { if (fileUrl != null && !fileUrl.isEmpty()) {
// 处理 URL 路径或文件路径 // 处理 URL 路径或文件路径

Loading…
Cancel
Save