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 @@