From 877741d32fff1e35a0a0e89d3c01d56d329330d9 Mon Sep 17 00:00:00 2001 From: wxc <191104855@qq.com> Date: Fri, 16 May 2025 18:47:05 +0800 Subject: [PATCH] =?UTF-8?q?fit:=20=E7=A7=BB=E5=8A=A8=E7=9D=A3=E5=AF=9FAPP?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E9=97=AE=E9=A2=98=E5=A4=84=E7=BD=AE=20fit?= =?UTF-8?q?:=20=E7=BA=BF=E7=B4=A2=E6=95=B0=E6=8D=AE-=E5=9B=BD=E5=AE=B6?= =?UTF-8?q?=E4=BF=A1=E8=AE=BF=E3=80=81=E5=85=AC=E5=AE=89=E9=83=A8=E4=BF=A1?= =?UTF-8?q?=E8=AE=BF=20=E9=97=AE=E9=A2=98=E4=B8=8B=E5=8F=91=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=8B=E5=8F=91=E6=B5=81=E7=A8=8B=E3=80=81=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E5=8A=9E=E7=90=86=E5=8D=95=E4=BD=8D=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/work/NegativeController.java | 4 +- .../flow/action/FirstDistributeAction.java | 11 ++- .../flow/action/SecondDistributeAction.java | 12 ++- .../supervision/mapper/SupTaskMapper.java | 9 +- .../DataDataPetitionComplainDistribute.java | 5 ++ .../biutag/supervision/pojo/vo/TaskVo.java | 10 +++ .../service/DataPetitionComplaintService.java | 50 ++++++++--- .../supervision/service/NegativeService.java | 2 + .../supervision/service/SupTaskService.java | 54 +++++++++--- src/main/resources/mapper/SupTaskMapper.xml | 84 +++++++++++++++---- 10 files changed, 193 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/biutag/supervision/controller/work/NegativeController.java b/src/main/java/com/biutag/supervision/controller/work/NegativeController.java index 8bf6b47..f83e5e6 100644 --- a/src/main/java/com/biutag/supervision/controller/work/NegativeController.java +++ b/src/main/java/com/biutag/supervision/controller/work/NegativeController.java @@ -132,7 +132,9 @@ public class NegativeController { .set(Negative::getSpecialSupervision, negativeDto.getSpecialSupervision()) .set(Negative::getReportNumber, negativeDto.getReportNumber()) .set(Negative::getInvolveDepartId, negativeDto.getInvolveDepartId()) - .set(Negative::getInvolveDepartName, negativeDto.getInvolveDepartName()) + .set(Negative::getInvolveDepartName, depart.getShortName()) + // 涉嫌问题 + .set(Negative::getInvolveProblem, CollectionUtil.isNotEmpty(negativeDto.getInvolveProblem()) ? String.join(",", negativeDto.getInvolveProblem()) : null) .set(Negative::getUpdUser, UserContextHolder.getCurrentUser().getNickName()) .set(Negative::getUpdTime, LocalDateTime.now()); if (CollectionUtil.isNotEmpty(negativeDto.getInvolveProblem())) { diff --git a/src/main/java/com/biutag/supervision/flow/action/FirstDistributeAction.java b/src/main/java/com/biutag/supervision/flow/action/FirstDistributeAction.java index b1f9902..061d6fa 100644 --- a/src/main/java/com/biutag/supervision/flow/action/FirstDistributeAction.java +++ b/src/main/java/com/biutag/supervision/flow/action/FirstDistributeAction.java @@ -1,6 +1,7 @@ package com.biutag.supervision.flow.action; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.biutag.supervision.constants.enums.*; @@ -66,10 +67,12 @@ public class FirstDistributeAction implements Action { .set(Negative::getMaxHandleDuration, distributeData.getMaxHandleDuration()) .set(Negative::getMaxExtensionDuration, distributeData.getMaxExtensionDuration()); } else { - TimeLimitEnum timeLimitEnum = TimeLimitEnum.get(distributeData.getTimeLimit()); - updateWrapper.set(Negative::getMaxSignDuration, timeLimitEnum.getMaxSignDuration()) - .set(Negative::getMaxHandleDuration, timeLimitEnum.getMaxHandleDuration()) - .set(Negative::getMaxExtensionDuration, timeLimitEnum.getMaxExtensionDuration()); + if (StrUtil.isNotBlank(distributeData.getTimeLimit())) { + TimeLimitEnum timeLimitEnum = TimeLimitEnum.get(distributeData.getTimeLimit()); + updateWrapper.set(Negative::getMaxSignDuration, timeLimitEnum.getMaxSignDuration()) + .set(Negative::getMaxHandleDuration, timeLimitEnum.getMaxHandleDuration()) + .set(Negative::getMaxExtensionDuration, timeLimitEnum.getMaxExtensionDuration()); + } } if (thirdHandling) { SupDepart parentDepart = departService.getParentDepart(distributeData.getDepartId()); diff --git a/src/main/java/com/biutag/supervision/flow/action/SecondDistributeAction.java b/src/main/java/com/biutag/supervision/flow/action/SecondDistributeAction.java index bb98ba3..ddbb56c 100644 --- a/src/main/java/com/biutag/supervision/flow/action/SecondDistributeAction.java +++ b/src/main/java/com/biutag/supervision/flow/action/SecondDistributeAction.java @@ -6,12 +6,13 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.biutag.supervision.constants.enums.RoleCodeEnum; import com.biutag.supervision.constants.enums.WorkStatusEnum; import com.biutag.supervision.pojo.dto.ActionDto; -import com.biutag.supervision.pojo.dto.flow.FirstDistributeData; import com.biutag.supervision.pojo.dto.flow.SecondDistributeData; import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.NegativeWork; +import com.biutag.supervision.pojo.entity.SupDepart; import com.biutag.supervision.service.NegativeService; import com.biutag.supervision.service.NegativeWorkService; +import com.biutag.supervision.service.SupDepartService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -28,12 +29,14 @@ public class SecondDistributeAction implements Action { private final NegativeWorkService workService; + private final SupDepartService departService; + @Override public void next(ActionDto actionDto) { SecondDistributeData secondDistributeData = BeanUtil.toBean(actionDto.getData(), SecondDistributeData.class); updateNegative(actionDto.getNegativeId(), actionDto.getNextFlowKey(), secondDistributeData); doneWork(actionDto.getWorkId()); - addWork(actionDto.getNegativeId(), RoleCodeEnum.THREE_ADMIN.getCode(), secondDistributeData.getDepartId(), secondDistributeData.getDepartName()); + addWork(actionDto.getNegativeId(), RoleCodeEnum.THREE_ADMIN.getCode(), secondDistributeData.getDepartId()); } public void updateNegative(String negativeId, String nextFlowKey, SecondDistributeData secondDistributeData) { @@ -55,7 +58,8 @@ public class SecondDistributeAction implements Action { .eq(NegativeWork::getId, workId)); } - public void addWork(String negativeId, String roleCode, String departId, String departName) { + public void addWork(String negativeId, String roleCode, String departId) { + SupDepart depart = departService.getById(departId); workService.remove(new LambdaQueryWrapper() .eq(NegativeWork::getNegativeId, negativeId) .eq(NegativeWork::getRoleCode, roleCode) @@ -65,7 +69,7 @@ public class SecondDistributeAction implements Action { .setNegativeId(negativeId) .setRoleCode(roleCode) .setDepartId(departId) - .setDepartName(departName) + .setDepartName(depart.getShortName()) .setProblemSourcesCode(negative.getProblemSourcesCode()) .setCreateTime(LocalDateTime.now()) .setUpdateTime(LocalDateTime.now()) diff --git a/src/main/java/com/biutag/supervision/mapper/SupTaskMapper.java b/src/main/java/com/biutag/supervision/mapper/SupTaskMapper.java index bb33059..d5292ee 100644 --- a/src/main/java/com/biutag/supervision/mapper/SupTaskMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/SupTaskMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.biutag.supervision.pojo.model.NegativeWorkModel; import com.biutag.supervision.pojo.vo.TaskCountVo; import com.biutag.supervision.pojo.vo.TaskVo; import com.biutag.supervision.pojo.entity.SupTask; @@ -11,8 +12,12 @@ import org.apache.ibatis.annotations.Param; public interface SupTaskMapper extends BaseMapper { - Page queryTask(@Param("page") Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + Page queryTask(@Param("page") Page page, + @Param("ew1") QueryWrapper taskQueryWrapper, + @Param("ew2") QueryWrapper nQueryWrapper, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); - TaskCountVo queryTaskCount(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + TaskCountVo queryTaskCount(@Param("ew1") QueryWrapper taskQueryWrapper, + @Param("ew2") QueryWrapper nQueryWrapper); } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/dto/DataDataPetitionComplainDistribute.java b/src/main/java/com/biutag/supervision/pojo/dto/DataDataPetitionComplainDistribute.java index 7200398..4e328f0 100644 --- a/src/main/java/com/biutag/supervision/pojo/dto/DataDataPetitionComplainDistribute.java +++ b/src/main/java/com/biutag/supervision/pojo/dto/DataDataPetitionComplainDistribute.java @@ -31,6 +31,11 @@ public class DataDataPetitionComplainDistribute { // 最大延期时长(天) private Integer maxExtensionDuration; + private String handleDepartId; + + @NotBlank + private String distributionFlow; + // 审批流程 @NotBlank private String approvalFlow; diff --git a/src/main/java/com/biutag/supervision/pojo/vo/TaskVo.java b/src/main/java/com/biutag/supervision/pojo/vo/TaskVo.java index 97c09a6..9c5e352 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/TaskVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/TaskVo.java @@ -53,4 +53,14 @@ public class TaskVo { private String type; + private String negativeId; + + // 业务类型 + private String businessTypeName; + + // 涉嫌问题 + private String involveProblem; + + private String flowKey; + } diff --git a/src/main/java/com/biutag/supervision/service/DataPetitionComplaintService.java b/src/main/java/com/biutag/supervision/service/DataPetitionComplaintService.java index 9bcef97..d07c5c1 100644 --- a/src/main/java/com/biutag/supervision/service/DataPetitionComplaintService.java +++ b/src/main/java/com/biutag/supervision/service/DataPetitionComplaintService.java @@ -120,21 +120,51 @@ public class DataPetitionComplaintService extends ServiceImpl { if (CollectionUtil.isNotEmpty(negativeDto.getInvolveProblem())) { negative.setInvolveProblem(String.join(",", negativeDto.getInvolveProblem())); + } else { + negative.setInvolveProblem(null); } if (CollectionUtil.isNotEmpty(negativeDto.getProblems())) { negative.setProblems(JSON.toJSONString(negativeDto.getProblems())); diff --git a/src/main/java/com/biutag/supervision/service/SupTaskService.java b/src/main/java/com/biutag/supervision/service/SupTaskService.java index 5f52be4..b740c62 100644 --- a/src/main/java/com/biutag/supervision/service/SupTaskService.java +++ b/src/main/java/com/biutag/supervision/service/SupTaskService.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.biutag.supervision.common.UserContextHolder; import com.biutag.supervision.constants.enums.TaskTypeEnum; import com.biutag.supervision.mapper.SupTaskMapper; +import com.biutag.supervision.pojo.model.NegativeWorkModel; import com.biutag.supervision.pojo.vo.TaskCountVo; import com.biutag.supervision.pojo.vo.TaskVo; import com.biutag.supervision.pojo.entity.SupTask; @@ -14,35 +15,62 @@ import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.param.TaskQueryParam; import org.springframework.stereotype.Service; +import java.util.ArrayList; + @Service public class SupTaskService extends ServiceImpl { public Page pageTask(TaskQueryParam queryParam) { UserAuth user = UserContextHolder.getCurrentUser(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.and(q -> { + QueryWrapper taskQueryWrapper = new QueryWrapper<>(); + taskQueryWrapper + // 设置参数别名 + .setParamAlias("ew1") + .and(q -> { q.eq("p.id_code", user.getUserName()); if (StrUtil.isNotBlank(user.getPosition())) { q.or().eq("t.sup_depart_id", user.getDepartId()).eq("t.task_type", TaskTypeEnum.selfexamination.name()); } - }) - .eq("t.task_status", queryParam.getTaskStatus()) + }); + QueryWrapper nQueryWrapper = new QueryWrapper<>(); + nQueryWrapper.setParamAlias("ew2"); + if (user.getRoleCodes().isEmpty() || user.getAuthDepartIds().isEmpty() || user.getAuthSources().isEmpty()) { + nQueryWrapper.apply("1 = 0"); + } else { + nQueryWrapper.in("w.role_code", user.getRoleCodes()) + .in("w.depart_id", user.getAuthDepartIds()) + .in("w.problem_sources_code", user.getAuthSources()); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("t.task_status", queryParam.getTaskStatus()) .like(StrUtil.isNotBlank(queryParam.getTaskName()), "t.task_name", queryParam.getTaskName()) .eq(StrUtil.isNotBlank(queryParam.getTaskType()),"t.task_type", queryParam.getTaskType()) .orderByDesc("t.create_time"); - return baseMapper.queryTask(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper); + return baseMapper.queryTask(Page.of(queryParam.getCurrent(), queryParam.getSize()), taskQueryWrapper, nQueryWrapper, queryWrapper); } public TaskCountVo getTaskCount() { UserAuth user = UserContextHolder.getCurrentUser(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.and(q -> { - q.eq("p.id_code", user.getUserName()); - if (StrUtil.isNotBlank(user.getPosition())) { - q.or().eq("t.sup_depart_id", user.getDepartId()).eq("t.task_type", TaskTypeEnum.selfexamination.name()); - } - }); - return baseMapper.queryTaskCount(queryWrapper); + QueryWrapper taskQueryWrapper = new QueryWrapper<>(); + taskQueryWrapper + // 设置参数别名 + .setParamAlias("ew1") + .and(q -> { + q.eq("p.id_code", user.getUserName()); + if (StrUtil.isNotBlank(user.getPosition())) { + q.or().eq("t.sup_depart_id", user.getDepartId()).eq("t.task_type", TaskTypeEnum.selfexamination.name()); + } + }); + QueryWrapper nQueryWrapper = new QueryWrapper<>(); + nQueryWrapper.setParamAlias("ew2"); + if (user.getRoleCodes().isEmpty() || user.getAuthDepartIds().isEmpty() || user.getAuthSources().isEmpty()) { + nQueryWrapper.apply("1 = 0"); + } else { + nQueryWrapper.in("w.role_code", user.getRoleCodes()) + .in("w.depart_id", user.getAuthDepartIds()) + .in("w.problem_sources_code", user.getAuthSources()); + } + return baseMapper.queryTaskCount(taskQueryWrapper, nQueryWrapper); } } diff --git a/src/main/resources/mapper/SupTaskMapper.xml b/src/main/resources/mapper/SupTaskMapper.xml index 9dfe194..0852bac 100644 --- a/src/main/resources/mapper/SupTaskMapper.xml +++ b/src/main/resources/mapper/SupTaskMapper.xml @@ -5,25 +5,81 @@