From b5ef604f49ce459631c88db47dcf0238647ddcb3 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Wed, 7 Aug 2024 18:02:41 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E6=94=B9=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ModelCaseController.java | 9 +++++-- .../police/dto/NoteRecordDetailDTO.java | 10 ++++++++ .../police/service/ComDictionaryService.java | 4 ++++ .../police/service/ModelCaseService.java | 9 ++++++- .../impl/ComDictionaryServiceImpl.java | 11 +++++++++ .../service/impl/ModelCaseServiceImpl.java | 24 ++++++++++++++++++- .../impl/NoteRecordSplitServiceImpl.java | 24 ++++++++++++++++++- 7 files changed, 86 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/supervision/police/controller/ModelCaseController.java b/src/main/java/com/supervision/police/controller/ModelCaseController.java index fb8f5f3..6ff08b9 100644 --- a/src/main/java/com/supervision/police/controller/ModelCaseController.java +++ b/src/main/java/com/supervision/police/controller/ModelCaseController.java @@ -11,7 +11,6 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -86,7 +85,13 @@ public class ModelCaseController { @PostMapping("/addPerson") public R addPerson(@RequestBody CasePerson person) { - return modelCaseService.addPersion(person); + return modelCaseService.addPerson(person); + } + + @PostMapping("/updatePerson") + public R updatePerson(@RequestBody CasePerson person) { + boolean success = modelCaseService.updatePerson(person); + return R.ok(success); } /** diff --git a/src/main/java/com/supervision/police/dto/NoteRecordDetailDTO.java b/src/main/java/com/supervision/police/dto/NoteRecordDetailDTO.java index 6bd349f..05bcbda 100644 --- a/src/main/java/com/supervision/police/dto/NoteRecordDetailDTO.java +++ b/src/main/java/com/supervision/police/dto/NoteRecordDetailDTO.java @@ -34,6 +34,11 @@ public class NoteRecordDetailDTO { */ private String personId; + /** + * 身份证号码 + */ + private String personIdCard; + /** * 姓名 */ @@ -44,6 +49,11 @@ public class NoteRecordDetailDTO { */ private String role; + /** + * 角色名称 + */ + private String roleName; + /** * 供述材料 */ diff --git a/src/main/java/com/supervision/police/service/ComDictionaryService.java b/src/main/java/com/supervision/police/service/ComDictionaryService.java index 22e1ae7..a72e7e3 100644 --- a/src/main/java/com/supervision/police/service/ComDictionaryService.java +++ b/src/main/java/com/supervision/police/service/ComDictionaryService.java @@ -6,6 +6,7 @@ import com.supervision.police.domain.ComDictionary; import com.supervision.police.dto.DictionaryByTypeParam; import java.util.List; +import java.util.Map; /** *

@@ -21,6 +22,9 @@ public interface ComDictionaryService extends IService { R findDictionaryListByType(DictionaryByTypeParam dictionaryByTypeParam); + + Map getDictionaryMap(String type); + R insertDictionary(ComDictionary dictionary); R updateDictionary(ComDictionary dictionary); diff --git a/src/main/java/com/supervision/police/service/ModelCaseService.java b/src/main/java/com/supervision/police/service/ModelCaseService.java index c3bcde0..bba2184 100644 --- a/src/main/java/com/supervision/police/service/ModelCaseService.java +++ b/src/main/java/com/supervision/police/service/ModelCaseService.java @@ -29,7 +29,14 @@ public interface ModelCaseService extends IService { R> getPerson(String caseId, String name); - R addPersion(CasePerson person); + R addPerson(CasePerson person); + + /** + * 修改案件人员信息 + * @param person 人员信息 + * @return + */ + boolean updatePerson(CasePerson person); R uploadCase(MultipartFile file); diff --git a/src/main/java/com/supervision/police/service/impl/ComDictionaryServiceImpl.java b/src/main/java/com/supervision/police/service/impl/ComDictionaryServiceImpl.java index e834e6a..922bf67 100644 --- a/src/main/java/com/supervision/police/service/impl/ComDictionaryServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/ComDictionaryServiceImpl.java @@ -2,6 +2,7 @@ package com.supervision.police.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -22,6 +23,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -63,6 +65,15 @@ public class ComDictionaryServiceImpl extends ServiceImpl getDictionaryMap(String type) { + if (StrUtil.isEmpty(type)){ + return null; + } + List list = super.lambdaQuery().eq(ComDictionary::getType, type).ne(ComDictionary::getPid,0L).list(); + return list.stream().collect(Collectors.toMap(ComDictionary::getValue, ComDictionary::getLabel)); + } + /** * 根据条件查询字典表,供内部调用. * @param dictionaryByTypeParam diff --git a/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java b/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java index ac32151..c4ed860 100644 --- a/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java @@ -199,7 +199,7 @@ public class ModelCaseServiceImpl extends ServiceImpl addPersion(CasePerson person) { + public R addPerson(CasePerson person) { Assert.notEmpty(person.getCaseId(), "案件id不能为空"); Assert.notEmpty(person.getIdCard(), "身份证号不能为空"); @@ -218,6 +218,28 @@ public class ModelCaseServiceImpl extends ServiceImpl uploadCase(MultipartFile file) { /** diff --git a/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java b/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java index 50b05c8..5579f47 100644 --- a/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java @@ -77,6 +77,10 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl fileIdList = list.stream().map(NoteRecord::getFileIds).filter(StringUtils::isNotEmpty) .flatMap(s -> Arrays.stream(s.split(","))).distinct().toList(); + Map caseRoleDicMap = comDictionaryService.getDictionaryMap("case_role"); + Map casePersonMap = casePersonService.list(new LambdaQueryWrapper().eq(CasePerson::getCaseId, noteRecords.getCaseId())) + .stream().collect(Collectors.toMap(CasePerson::getId, v -> v)); Map fileMap = minioService.listMinioFile(fileIdList).stream().collect(Collectors.toMap(MinioFile::getId, Function.identity())); // LinkedHashMap 保障顺序 - Map> nameMap = list.stream().filter(item -> StringUtils.isNotBlank(item.getName())).map(item -> new NoteRecordDetailDTO(item, fileMap)) + Map> nameMap = list.stream().filter(item -> StringUtils.isNotBlank(item.getName())).map(item -> { + NoteRecordDetailDTO noteRecordDetailDTO = new NoteRecordDetailDTO(item, fileMap); + noteRecordDetailDTO.setRoleName(caseRoleDicMap.get(item.getRole())); + if (Objects.nonNull(casePersonMap.get(item.getCasePersonId()))){ + noteRecordDetailDTO.setPersonIdCard(casePersonMap.get(item.getCasePersonId()).getIdCard()); + } + return noteRecordDetailDTO; + }) .collect(Collectors.groupingBy(NoteRecordDetailDTO::getName, LinkedHashMap::new, Collectors.toList())); // 获取所有的task任务 List taskList = caseTaskRecordService.lambdaQuery().eq(CaseTaskRecord::getCaseId, noteRecords.getCaseId()).list(); @@ -237,6 +251,14 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl noteRecordDetailDTOS = nameMap.get(name); + NoteRecordDetailDTO first = CollUtil.getFirst(noteRecordDetailDTOS); + if (Objects.nonNull(first)){ + noteRecordDetailDTO.setPersonId(first.getPersonId()); + noteRecordDetailDTO.setRole(first.getRole()); + noteRecordDetailDTO.setRoleName(caseRoleDicMap.get(first.getRole())); + noteRecordDetailDTO.setPersonIdCard(first.getPersonIdCard()); + } + int fileCount = 0; for (NoteRecordDetailDTO recordDetailDTO : noteRecordDetailDTOS) { fileCount = fileCount + recordDetailDTO.getFileList().size();