diff --git a/src/main/java/com/biutag/supervision/constants/enums/TaskTypeEnum.java b/src/main/java/com/biutag/supervision/constants/enums/TaskTypeEnum.java index 0e28b5c..d464f8b 100644 --- a/src/main/java/com/biutag/supervision/constants/enums/TaskTypeEnum.java +++ b/src/main/java/com/biutag/supervision/constants/enums/TaskTypeEnum.java @@ -17,4 +17,5 @@ public enum TaskTypeEnum { // 问题随拍 problem_shooting; + } diff --git a/src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java b/src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java index d5c3a9d..dbe0041 100644 --- a/src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java +++ b/src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java @@ -12,10 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.constants.enums.*; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.dto.flow.VerifyData; -import com.biutag.supervision.pojo.entity.Negative; -import com.biutag.supervision.pojo.entity.NegativeBlame; -import com.biutag.supervision.pojo.entity.NegativeFile; -import com.biutag.supervision.pojo.entity.NegativeProblemRelation; +import com.biutag.supervision.pojo.entity.*; import com.biutag.supervision.pojo.param.NegativeQueryParam; import com.biutag.supervision.pojo.vo.*; import com.biutag.supervision.service.*; @@ -33,6 +30,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.concurrent.atomic.AtomicInteger; @@ -58,6 +56,8 @@ public class NegativeBookController { private final DataPetition12337Service dataPetition12337Service; + private final SupDictHandleResultMapingService dictHandleResultMapingService; + // 黄赌警情 @GetMapping("hdjq") public Result> page(NegativeQueryParam param) { @@ -257,11 +257,30 @@ public class NegativeBookController { item.setVerifiedIsover(overProcessings.contains(item.getProcessingStatus()) ? "核查完结" : null); // 是否处分处理 List blames = negativeBlames.stream().filter(blame -> blame.getNegativeId().equals(item.getId())).toList(); + List internalIds = new ArrayList<>(); + blames.stream().filter(blame -> StrUtil.isNotBlank(blame.getHandleResultCode())).forEach(blame -> { + internalIds.addAll(Arrays.stream(blame.getHandleResultCode().split(",")).toList()); + }); + if (!internalIds.isEmpty()) { + List handleResultMapings = dictHandleResultMapingService.listByInternalId(internalIds); + // 处理结论形态(获取第一个) + item.setProcessResType(handleResultMapings.stream().findFirst().map(SupDictHandleResultMaping::getExternalType).orElse(null)); + // 处理结论结果 + item.setProcessResDes(handleResultMapings.stream().map(SupDictHandleResultMaping::getExternalName).collect(Collectors.joining("、"))); + } if (InspectCaseEnum.isItTure(item.getCheckStatus()) && blames.stream().anyMatch(blame -> !blame.getHandleResultName().contains("不予追责"))) { item.setIsPunish("是"); - item.setProcessResType("第一种形态"); - // 处理结论结果 - item.setProcessResDes(blames.stream().map(NegativeBlame::getHandleResultName).collect(Collectors.joining("、"))); + } else { + item.setIsPunish("否"); + } + item.setPunishDes(item.getCheckStatusDesc()); + // 被核查人是否属于领导班子成员 + if (StrUtil.isNotBlank(item.getAccountabilityTarget())) { + if (AccountabilityTargetEnum.PERSONAL.getValue().equals(item.getAccountabilityTarget())) { + item.setVerifiedIsleader("非领导班子成员"); + } else { + item.setVerifiedIsleader("领导班子成员"); + } } }); String headerValue = "attachment; filename=\"" + URLEncoder.encode("12337信访投诉数据台账.xlsx", "UTF-8") + "\""; diff --git a/src/main/java/com/biutag/supervision/controller/data/VideoInspectionController.java b/src/main/java/com/biutag/supervision/controller/data/VideoInspectionController.java index 1e5bab2..a288134 100644 --- a/src/main/java/com/biutag/supervision/controller/data/VideoInspectionController.java +++ b/src/main/java/com/biutag/supervision/controller/data/VideoInspectionController.java @@ -131,17 +131,22 @@ public class VideoInspectionController { negativeTask.setCrtUsername(user.getUserName()); negativeTaskService.save(negativeTask); data.forEach(item -> { + // 问题涉及单位 + SupDepart involveDepart; if (StrUtil.isBlank(item.getFsdwGajgjgdm())) { - throw new RuntimeException("发生单位编码为空"); - } - // 发生单位代码 - SupExternalDepart externalDepart = externalDepartService.getOne(new LambdaUpdateWrapper().eq(SupExternalDepart::getExternalId, item.getFsdwGajgjgdm()).eq(SupExternalDepart::getSource, - "视频督察")); - if (externalDepart == null || StrUtil.isBlank(externalDepart.getInternalId())) { - throw new RuntimeException(String.format("%s-%s 未匹配单位映射,请联系管理员", item.getFsdwGajgmc(), item.getFsdwGajgjgdm())); + if (StrUtil.isBlank(distributeData.getHandleDepartId())) { + throw new RuntimeException("发生单位代码为空,且未选择指定办理单位"); + } + involveDepart = departService.getById(distributeData.getHandleDepartId()); + } else { + // 发生单位代码 + SupExternalDepart externalDepart = externalDepartService.getOne(new LambdaUpdateWrapper().eq(SupExternalDepart::getExternalId, item.getFsdwGajgjgdm()).eq(SupExternalDepart::getSource, + "视频督察")); + if (externalDepart == null || StrUtil.isBlank(externalDepart.getInternalId())) { + throw new RuntimeException(String.format("%s-%s 未匹配单位映射,请联系管理员", item.getFsdwGajgmc(), item.getFsdwGajgjgdm())); + } + involveDepart = departService.getById(externalDepart.getInternalId()); } - // 问题涉及单位 - SupDepart involveDepart = departService.getById(externalDepart.getInternalId()); // 办理单位 SupDepart handleDepart; if (StrUtil.isBlank(distributeData.getHandleDepartId())) { diff --git a/src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java b/src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java index 00be663..6c446c6 100644 --- a/src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java +++ b/src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java @@ -9,21 +9,24 @@ import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; import com.alibaba.excel.read.metadata.ReadSheet; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.constants.enums.TaskStatusEnum; import com.biutag.supervision.pojo.Result; -import com.biutag.supervision.pojo.dto.*; -import com.biutag.supervision.pojo.entity.SupDepart; +import com.biutag.supervision.pojo.dto.TaskTestingAlcoholDto; +import com.biutag.supervision.pojo.dto.TaskTestingAlcoholPeopleDto; +import com.biutag.supervision.pojo.dto.TestingAlcoholFilter; +import com.biutag.supervision.pojo.dto.TestingAlcoholPeopleImportDto; import com.biutag.supervision.pojo.entity.SupPolice; -import com.biutag.supervision.pojo.entity.SupTask; import com.biutag.supervision.pojo.entity.SupTaskTestingAlcoholPeople; import com.biutag.supervision.pojo.param.TaskTestingAlcoholPeopleQueryParam; import com.biutag.supervision.pojo.param.TaskTestingAlcoholQueryParam; import com.biutag.supervision.pojo.vo.TaskCountVo; import com.biutag.supervision.pojo.vo.TaskTestingAlcoholPeopleVo; import com.biutag.supervision.pojo.vo.TaskTestingAlcoholVo; -import com.biutag.supervision.service.*; +import com.biutag.supervision.service.SupDepartService; +import com.biutag.supervision.service.SupPoliceService; +import com.biutag.supervision.service.SupTaskTestingAlcoholPeopleService; +import com.biutag.supervision.service.SupTaskTestingAlcoholService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; diff --git a/src/main/java/com/biutag/supervision/mapper/SupTaskMapper.java b/src/main/java/com/biutag/supervision/mapper/SupTaskMapper.java index d5292ee..f9b1f55 100644 --- a/src/main/java/com/biutag/supervision/mapper/SupTaskMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/SupTaskMapper.java @@ -13,11 +13,8 @@ import org.apache.ibatis.annotations.Param; public interface SupTaskMapper extends BaseMapper { Page queryTask(@Param("page") Page page, - @Param("ew1") QueryWrapper taskQueryWrapper, - @Param("ew2") QueryWrapper nQueryWrapper, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); - TaskCountVo queryTaskCount(@Param("ew1") QueryWrapper taskQueryWrapper, - @Param("ew2") QueryWrapper nQueryWrapper); + TaskCountVo queryTaskCount(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/vo/DataPetition12337ExportVo.java b/src/main/java/com/biutag/supervision/pojo/vo/DataPetition12337ExportVo.java index 0833b6e..3bb8fb2 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/DataPetition12337ExportVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/DataPetition12337ExportVo.java @@ -593,4 +593,8 @@ public class DataPetition12337ExportVo implements Serializable { @ExcelIgnore private String processingStatus; + // 追责对象 + @ExcelIgnore + private String accountabilityTarget; + } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/vo/TaskCountVo.java b/src/main/java/com/biutag/supervision/pojo/vo/TaskCountVo.java index 1056a7a..2db530b 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/TaskCountVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/TaskCountVo.java @@ -8,7 +8,6 @@ import lombok.Setter; * @author wxc * @date 2025/4/12 */ -@AllArgsConstructor @Setter @Getter public class TaskCountVo { @@ -17,6 +16,14 @@ public class TaskCountVo { private Long doneCount; + private Long negativeTodoCount; + + public TaskCountVo() { } + + public TaskCountVo(Long todoCount, Long doneCount) { + this.todoCount = todoCount; + this.doneCount = doneCount; + } } 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 9c5e352..97c09a6 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/TaskVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/TaskVo.java @@ -53,14 +53,4 @@ 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/SupDictHandleResultMapingService.java b/src/main/java/com/biutag/supervision/service/SupDictHandleResultMapingService.java index 74361a0..4927654 100644 --- a/src/main/java/com/biutag/supervision/service/SupDictHandleResultMapingService.java +++ b/src/main/java/com/biutag/supervision/service/SupDictHandleResultMapingService.java @@ -15,4 +15,8 @@ public class SupDictHandleResultMapingService extends ServiceImpl().in(SupDictHandleResultMaping::getExternalName, externalNames)); } + public List listByInternalId(List internalIds) { + return list(new LambdaQueryWrapper().in(SupDictHandleResultMaping::getInternalId, internalIds)); + } + } diff --git a/src/main/java/com/biutag/supervision/service/SupTaskService.java b/src/main/java/com/biutag/supervision/service/SupTaskService.java index b740c62..5e2a01b 100644 --- a/src/main/java/com/biutag/supervision/service/SupTaskService.java +++ b/src/main/java/com/biutag/supervision/service/SupTaskService.java @@ -6,71 +6,55 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.constants.enums.WorkStatusEnum; 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; +import com.biutag.supervision.pojo.model.NegativeWorkModel; import com.biutag.supervision.pojo.model.UserAuth; +import com.biutag.supervision.pojo.param.NegativeQueryParam; import com.biutag.supervision.pojo.param.TaskQueryParam; +import com.biutag.supervision.pojo.vo.TaskCountVo; +import com.biutag.supervision.pojo.vo.TaskVo; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.ArrayList; - +@RequiredArgsConstructor @Service public class SupTaskService extends ServiceImpl { + private final NegativeWorkService negativeWorkService; + public Page pageTask(TaskQueryParam queryParam) { UserAuth user = UserContextHolder.getCurrentUser(); - QueryWrapper taskQueryWrapper = new QueryWrapper<>(); - taskQueryWrapper - // 设置参数别名 - .setParamAlias("ew1") + 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()); } }); - 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()), taskQueryWrapper, nQueryWrapper, queryWrapper); + return baseMapper.queryTask(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper); } public TaskCountVo getTaskCount() { UserAuth user = UserContextHolder.getCurrentUser(); - QueryWrapper taskQueryWrapper = new QueryWrapper<>(); - taskQueryWrapper - // 设置参数别名 - .setParamAlias("ew1") + 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()); } }); - 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); + TaskCountVo taskCountVo = baseMapper.queryTaskCount(queryWrapper); + Page workModelPage = negativeWorkService.page(new NegativeQueryParam(), WorkStatusEnum.todo.name()); + taskCountVo.setNegativeTodoCount(workModelPage.getTotal()); + return taskCountVo; } } diff --git a/src/main/resources/mapper/DataPetition12337Mapper.xml b/src/main/resources/mapper/DataPetition12337Mapper.xml index af16708..1686857 100644 --- a/src/main/resources/mapper/DataPetition12337Mapper.xml +++ b/src/main/resources/mapper/DataPetition12337Mapper.xml @@ -168,7 +168,8 @@ - select * from - (select t.id, + select t.id, t.task_name, t.sup_depart_name, t.begin_time, @@ -19,67 +18,26 @@ i.task_content, i.has_sign, s.requirement, - s.type, - '' businessTypeName, - '' involveProblem, - '' negative_id, - '' flow_key + s.type from sup_task t left join sup_task_person p on p.task_id = t.id left join sup_task_inspection i on t.id = i.task_id left join sup_task_testing_alcohol a on t.id = a.task_id left join sup_task_selfexamination s on t.id = s.task_id - ${ew1.getCustomSqlSegment} - UNION - SELECT DISTINCT - w.id, n.problemSources task_name, n.involveDepartName sup_depart_name, null, null, n.crtTime create_time, 'negative' task_type, w.`status` task_status, 0, n.special_supervision, n.thingDesc, '', '', '', - n.businessTypeName, n.involveProblem, w.negative_id, n.flow_key - FROM - negative_work w - LEFT JOIN negative n - ON w.negative_id = n.id - ${ew2.getCustomSqlSegment} - ) t ${ew.getCustomSqlSegment} + ${ew.getCustomSqlSegment}