From d900d6f0d8cea501247cdb8fd354caae651e0f2a Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Fri, 3 Apr 2026 14:56:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=8A=95=E8=AF=89=E4=B8=BE=E6=8A=A5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E5=9B=9E=E5=A1=AB=E9=97=AE=E9=A2=98?= =?UTF-8?q?id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/ComplaintCollectionController.java | 10 ++ .../mapper/ComplaintCollectionMapper.java | 5 + .../pojo/entity/ComplaintCollection.java | 4 + .../ComplaintCollectionService.java | 10 ++ .../ComplaintCollectionServiceImpl.java | 83 ++++++++++++-- .../mapper/ComplaintCollectionMapper.xml | 102 ++++++++++++++++++ 6 files changed, 203 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java b/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java index b460642..762e040 100644 --- a/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java +++ b/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java @@ -1,7 +1,9 @@ package com.biutag.supervision.controller.data; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.job.Job; import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO; import com.biutag.supervision.pojo.request.complaintCollection.*; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; @@ -56,6 +58,7 @@ public class ComplaintCollectionController { return complaintCollectionService.updateComplaintCollection(request); } + @Deprecated @Operation(description = "查询") @PostMapping("/getComplaintCollectionPage") public Result getComplaintCollectionPage(@RequestBody ComplaintCollectionPageRequest request){ @@ -69,6 +72,13 @@ public class ComplaintCollectionController { return complaintCollectionService.getComplaintCollectionPage(request); } + @Operation(description = "查询") + @PostMapping("/getComplaintCollectionPageNew") + public Result> getComplaintCollectionPageNew(@RequestBody ComplaintCollectionPageRequest request){ + return Result.success(complaintCollectionService.getComplaintCollectionPageNew(request)); + } + + @Deprecated @Operation(description = "办理") @PostMapping("/addComplaintCollectionBlame") diff --git a/src/main/java/com/biutag/supervision/mapper/ComplaintCollectionMapper.java b/src/main/java/com/biutag/supervision/mapper/ComplaintCollectionMapper.java index 7a9d23f..b2bc7a5 100644 --- a/src/main/java/com/biutag/supervision/mapper/ComplaintCollectionMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/ComplaintCollectionMapper.java @@ -1,7 +1,11 @@ package com.biutag.supervision.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.pojo.entity.ComplaintCollection; +import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam; import com.biutag.supervision.repository.base.HBaseMapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -9,5 +13,6 @@ public interface ComplaintCollectionMapper extends HBaseMapper list); + IPage selectPageWithConditions(Page page, @Param("param") ComplaintCollectionQueryParam param); } diff --git a/src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java b/src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java index c19a180..a2d7d01 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java @@ -380,6 +380,10 @@ public class ComplaintCollection { @TableField("init_problem_plan") private String initProblemPlan; + /** + * 和核查结论保持一致 + * @see com.biutag.supervision.constants.enums.CheckStatusEnum + */ @Schema(description = "初核结论") @TableField("init_verdict") private String initVerdict; diff --git a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java index 057b05b..fc9eace 100644 --- a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java +++ b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java @@ -1,6 +1,8 @@ package com.biutag.supervision.service.complaintCollection; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO; import com.biutag.supervision.pojo.request.complaintCollection.*; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; @@ -24,6 +26,14 @@ public interface ComplaintCollectionService { */ Result getComplaintCollectionPage(ComplaintCollectionPageRequest request); + /** + * 涉访涉诉分页(不使用附件查询) + * + * @param request + * @return + */ + Page getComplaintCollectionPageNew(ComplaintCollectionPageRequest request); + /** * 涉访涉诉添加 * diff --git a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java index 1497284..e9499a7 100644 --- a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java @@ -6,7 +6,6 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Opt; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.EnumUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -14,10 +13,12 @@ import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.common.UserContextHolder; import com.biutag.supervision.constants.AppConstants; import com.biutag.supervision.constants.enums.*; import com.biutag.supervision.flow.action.ApplyCompletionAction; +import com.biutag.supervision.mapper.ComplaintCollectionMapper; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.domain.Blame; import com.biutag.supervision.pojo.dto.NegativeDto; @@ -27,10 +28,8 @@ import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPe import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionRepeatDTO; import com.biutag.supervision.pojo.dto.flow.VerifyData; import com.biutag.supervision.pojo.entity.*; -import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionClosingStatusEnum; -import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionHandleMethodEnum; -import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionInitialEnum; -import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionPublicApprovalEnum; +import com.biutag.supervision.pojo.enums.complaintCollection.*; +import com.biutag.supervision.pojo.enums.negative.NegativeSourceTypeEnum; import com.biutag.supervision.pojo.enums.supDict.SupDictEnum; import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam; @@ -68,8 +67,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.biutag.supervision.pojo.enums.complaintCollection.*; -import com.biutag.supervision.pojo.enums.negative.NegativeSourceTypeEnum; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -93,6 +90,7 @@ import java.util.stream.Stream; @RequiredArgsConstructor public class ComplaintCollectionServiceImpl implements ComplaintCollectionService { + private final ComplaintCollectionMapper complaintCollectionMapper; private final ComplaintCollectionResourceService complaintCollectionResourceService; private final SupDictDataService supDictDataService; private final ComplaintCollectionBlameResourceService complaintCollectionBlameResourceService; @@ -142,13 +140,15 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic complaintCollection.setCreateTime(LocalDateTime.now()); complaintCollection.setCreateBy(UserContextHolder.getCurrentUser().getUserName()); complaintCollection.setGwf3(ComplaintCollectionInitialEnum.UN_UPLOADED.getCode()); - Boolean res = complaintCollectionResourceService.createComplaintCollection(Arrays.asList(complaintCollection)); - Assert.notNull(complaintCollection.getId(), "主表插入后未获取到ID"); - saveThingFilesOrThrow(complaintCollection.getId(), request.getThingFiles()); // 同步创建 Negative NegativeDto negativeDto = buildNegativeDtoFromComplaintCollection(complaintCollection, request); - negativeService.save(negativeDto); + Negative negative = negativeService.save(negativeDto); + complaintCollection.setNegativeId(negative.getId()); + // 创建主信息 + Boolean res = complaintCollectionResourceService.createComplaintCollection(Arrays.asList(complaintCollection)); + Assert.notNull(complaintCollection.getId(), "主表插入后未获取到ID"); + saveThingFilesOrThrow(complaintCollection.getId(), request.getThingFiles()); return Result.success(res); } @@ -301,6 +301,67 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic return Result.success(complaintCollectionPageVo); } + @Override + public Page getComplaintCollectionPageNew(ComplaintCollectionPageRequest request) { + ComplaintCollectionQueryParam param = ComplaintCollectionTransfer.INSTANCE.pageRequestToPageParam(request); + if (request.getInitialReviewFileList().contains(ComplaintCollectionInitialEnum.UPLOADED.getCode())){ + param.getInitialReviewFileList().add(ComplaintCollectionInitialEnum.TIMEOUT_UPLOAD.getCode()); + } + UserAuth user = UserContextHolder.getCurrentUser(); + if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && (user.getRoleCodes().isEmpty() || user.getAuthSources().isEmpty() || user.getAuthDepartIds().isEmpty())) { + return new Page().setTotal(0).setRecords(new ArrayList<>()); + } + if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType())) { + if (user.getRoleCodes().contains(RoleCodeEnum.SECOND_ADMIN.getCode()) + || user.getRoleCodes().contains(RoleCodeEnum.ADMIN_1_12337.getCode())) { + List orgIds = departService.getAllNodeIds(user.getAuthDepartIds()); + Set visibleSecondIds = new HashSet<>(orgIds); + if (StrUtil.isNotBlank(request.getSecondDepartId())) { + List reqAllIds = departService.getAllNodeIds(List.of(request.getSecondDepartId())); + visibleSecondIds.retainAll(new HashSet<>(reqAllIds)); + } + if (CollectionUtil.isEmpty(visibleSecondIds)) { + return new Page().setTotal(0).setRecords(new ArrayList<>()); + } + param.setSecondDepartIds(visibleSecondIds); + + } else if (user.getRoleCodes().contains(RoleCodeEnum.THREE_ADMIN.getCode())) { + return new Page().setTotal(0).setRecords(new ArrayList<>()); + } + } else { + if (StrUtil.isNotBlank(request.getSecondDepartId())) { + List reqAllIds = departService.getAllNodeIds(List.of(request.getSecondDepartId())); + if (CollectionUtil.isNotEmpty(reqAllIds)) { + param.setSecondDepartIds(new HashSet<>(reqAllIds)); + } else { + return new Page().setTotal(0).setRecords(new ArrayList<>()); + } + } + } + Page page = new Page<>(param.getCurrent(), param.getSize()); + IPage pageResult = complaintCollectionMapper.selectPageWithConditions(page, param); + + List list = pageResult.getRecords().stream().map(item -> { + ComplaintCollectionPageDTO dto = new ComplaintCollectionPageDTO(); + BeanUtil.copyProperties(item, dto); + return dto; + }).toList(); + + // 字典翻译和超时信息填充 + if (CollectionUtil.isNotEmpty(list)) { + Map dictLabelMap = buildDictLabelMap(SupDictEnum.SUSPECT_PROBLEM.getCode()); + Map sfssDictLabelMap = buildDictLabelMap(SupDictEnum.SFSS_SOURCE_TABLE.getCode()); + list.forEach(one -> { + one.setInvolveProblemStr(CodeTranslateUtil.translateCodesToLabels(one.getInvolveProblem(), dictLabelMap)); + String sourceTable = CodeTranslateUtil.translateCodesToLabels(one.getSourceTable(), sfssDictLabelMap); + String sourceTableSubOne = CodeTranslateUtil.translateCodesToLabels(one.getSourceTableSubOne(), sfssDictLabelMap); + one.setSourceTablePath(sourceTable + "/" + sourceTableSubOne); + fillCheckTimeoutInfo(one); + }); + } + return new Page().setRecords(list).setTotal(pageResult.getTotal()); + } + @Deprecated @Override @Transactional(rollbackFor = Exception.class) diff --git a/src/main/resources/mapper/ComplaintCollectionMapper.xml b/src/main/resources/mapper/ComplaintCollectionMapper.xml index cd7a7e9..4e37033 100644 --- a/src/main/resources/mapper/ComplaintCollectionMapper.xml +++ b/src/main/resources/mapper/ComplaintCollectionMapper.xml @@ -146,4 +146,106 @@ + +