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;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaIgnore;
import com.zdxt.enforcementcode.domain.bo.EnforcementInspectionProgramBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementInspectionProgramVo;
import com.zdxt.enforcementcode.service.IEnforcementInspectionProgramService;
@ -60,6 +61,7 @@ public class AppEnforcementInspectionProgramController extends BaseController {
/**
* 执法端-查询执法检查计划列表(支持复杂查询条件)
*/
@SaIgnore
@GetMapping("/selectInspectionProgramList")
public TableDataInfo<EnforcementInspectionProgramVo> selectInspectionProgramList(EnforcementInspectionProgramBo bo, PageQuery 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")
@SaIgnore
@GetMapping("/list")
public TableDataInfo<EnforcementCarouselBannerVo> list(EnforcementCarouselBannerBo bo, PageQuery pageQuery) {
return enforcementCarouselBannerService.queryPageList(bo, pageQuery);
@ -63,16 +64,16 @@ public class EnforcementCarouselBannerController extends BaseController {
* @param id 主键
*/
@SaCheckPermission("enforcementcode:carouselBanner:query")
@GetMapping("/{id}")
public R<EnforcementCarouselBannerVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
@SaIgnore
@GetMapping("/details")
public R<EnforcementCarouselBannerVo> getInfo(String id) {
return R.ok(enforcementCarouselBannerService.queryById(id));
}
/**
* 新增轮播公告信息
*/
//@SaCheckPermission("enforcementcode:carouselBanner:add")
@SaCheckPermission("enforcementcode:carouselBanner:add")
@Log(title = "轮播公告信息", businessType = BusinessType.INSERT)
@SaIgnore
@PostMapping("/add")
@ -85,9 +86,9 @@ public class EnforcementCarouselBannerController extends BaseController {
*/
@SaCheckPermission("enforcementcode:carouselBanner:edit")
@Log(title = "轮播公告信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody EnforcementCarouselBannerBo bo) {
@SaIgnore
@PostMapping("/edit")
public R<Void> edit(@RequestBody EnforcementCarouselBannerBo bo) {
return toAjax(enforcementCarouselBannerService.updateByBo(bo));
}
@ -97,10 +98,10 @@ public class EnforcementCarouselBannerController extends BaseController {
* @param ids 主键串
*/
@SaCheckPermission("enforcementcode:carouselBanner:remove")
@SaIgnore
@Log(title = "轮播公告信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
@GetMapping("/remove")
public R<Void> remove(String[] ids) {
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;
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.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
@ -105,8 +107,32 @@ public class EnforcementInspectionProgramBo extends BaseEntity {
*/
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 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.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -47,6 +47,12 @@ public class EnforcementCarouselBannerVo implements Serializable {
@ExcelProperty(value = "发布平台 0-全部 1-企业端 2-执法端 3-监督端")
private Long targetPlatform;
/**
* 发布平台标签(字典翻译)
*/
@ExcelProperty(value = "发布平台名称")
private String targetPlatformLabel;
/**
* 橱窗/轮播位,如“橱窗1”
*/
@ -96,6 +102,12 @@ public class EnforcementCarouselBannerVo implements Serializable {
@ExcelProperty(value = "状态 1-待发布 2-已发布 3-已下架")
private Long status;
/**
* 状态名称(字典翻译)
*/
@ExcelProperty(value = "状态名称")
private String statusLabel;
/**
* 类型 0-富文本 1-外部链接
*/
@ -138,5 +150,9 @@ public class EnforcementCarouselBannerVo implements Serializable {
@ExcelProperty(value = "备注")
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-已下架")
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.bo.ZdxtFileBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementEducationServicesVo;
import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo;
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;
@ -35,6 +38,7 @@ public class EnforcementCarouselBannerServiceImpl implements IEnforcementCarouse
private final EnforcementCarouselBannerMapper baseMapper;
private final IZdxtFileService zdxtFileService;
private final DictService dictService;
/**
* 查询轮播公告信息
@ -44,9 +48,59 @@ public class EnforcementCarouselBannerServiceImpl implements IEnforcementCarouse
*/
@Override
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) {
LambdaQueryWrapper<EnforcementCarouselBanner> lqw = buildQueryWrapper(bo);
Page<EnforcementCarouselBannerVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// 为每条记录设置字典标签和已读状态
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
setDictLabels(result.getRecords());
}
return TableDataInfo.build(result);
}
@ -156,14 +216,59 @@ public class EnforcementCarouselBannerServiceImpl implements IEnforcementCarouse
public Boolean updateByBo(EnforcementCarouselBannerBo bo) {
EnforcementCarouselBanner update = MapstructUtils.convert(bo, EnforcementCarouselBanner.class);
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){
//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());
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;
}
/**
* 删除旧附件
*
* @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) {
EnforcementEducationServices update = MapstructUtils.convert(bo, EnforcementEducationServices.class);
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.setGuid(IdUtil.simpleUUID());
zdxtFile.setBusinessId(add.getId());
zdxtFile.setUploadPath(file.getFileUrl());
zdxtFile.setUploadPath(file.getUploadPath());
zdxtFile.setFileName(file.getFileName());
// 从文件路径中截取文件名称
String fileUrl = file.getFileUrl();
String fileUrl = file.getUploadPath();
String fileSaveName = null;
if (fileUrl != null && !fileUrl.isEmpty()) {
// 处理 URL 路径或文件路径

Loading…
Cancel
Save