From 1fa9b1d4ac7ef03a8fc79b0e197560d24bf64b53 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Thu, 8 Aug 2024 10:06:23 +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 --- .../police/controller/RecordController.java | 4 +- .../supervision/police/dto/NoteRecordDTO.java | 76 +++++++---------- .../police/dto/NoteRecordDetailDTO.java | 31 +++---- .../police/mapper/NoteRecordMapper.java | 4 + .../police/service/CasePersonService.java | 2 +- .../police/service/CaseTaskRecordService.java | 2 +- .../police/service/NoteRecordService.java | 12 +++ .../service/NoteRecordSplitService.java | 4 +- .../service/impl/CasePersonServiceImpl.java | 12 ++- .../service/impl/ModelCaseServiceImpl.java | 7 +- .../service/impl/NoteRecordServiceImpl.java | 23 +++++ .../impl/NoteRecordSplitServiceImpl.java | 38 ++++----- .../police/vo/NoteRecordReqVO.java | 83 +++++++++++++++++++ .../resources/mapper/NoteRecordMapper.xml | 30 +++++++ 14 files changed, 234 insertions(+), 94 deletions(-) create mode 100644 src/main/java/com/supervision/police/service/NoteRecordService.java create mode 100644 src/main/java/com/supervision/police/service/impl/NoteRecordServiceImpl.java create mode 100644 src/main/java/com/supervision/police/vo/NoteRecordReqVO.java diff --git a/src/main/java/com/supervision/police/controller/RecordController.java b/src/main/java/com/supervision/police/controller/RecordController.java index 14e3740..6befbc6 100644 --- a/src/main/java/com/supervision/police/controller/RecordController.java +++ b/src/main/java/com/supervision/police/controller/RecordController.java @@ -6,7 +6,7 @@ import com.supervision.police.domain.NotePrompt; import com.supervision.police.domain.NoteRecord; import com.supervision.police.domain.TripleInfo; import com.supervision.police.dto.ListDTO; -import com.supervision.police.dto.NoteRecordDTO; +import com.supervision.police.vo.NoteRecordReqVO; import com.supervision.police.dto.TypeDTO; import com.supervision.police.service.ModelRecordTypeService; import com.supervision.police.service.NoteRecordSplitService; @@ -106,7 +106,7 @@ public class RecordController { * @return */ @PostMapping("/addOrUpdRecords") - public R uploadRecords(@RequestBody NoteRecordDTO records) throws IOException { + public R uploadRecords(@RequestBody NoteRecordReqVO records) throws IOException { return R.ok(noteRecordSplitService.uploadRecords(records)); } diff --git a/src/main/java/com/supervision/police/dto/NoteRecordDTO.java b/src/main/java/com/supervision/police/dto/NoteRecordDTO.java index 26f6d9b..ddbb4f1 100644 --- a/src/main/java/com/supervision/police/dto/NoteRecordDTO.java +++ b/src/main/java/com/supervision/police/dto/NoteRecordDTO.java @@ -1,83 +1,63 @@ package com.supervision.police.dto; - -import cn.hutool.core.collection.CollUtil; -import com.supervision.police.domain.NoteRecord; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import java.util.List; +import java.time.LocalDateTime; @Data public class NoteRecordDTO { + @Schema(description = "笔录ID") private String id; - /** - * 案件id - */ + @Schema(description = "案件ID") private String caseId; - /** - * 笔录名称 - */ + @Schema(description = "笔录名称") private String recordName; - /** - * 笔录文件id集合 - */ - private List fileIdList; + @Schema(description = "文件ID") + private String fileIds; - @Schema(description = "笔录人员id") - private String personId; - /** - * 姓名 - */ + @Schema(description = "案件人员ID") + private String casePersonId; + + @Schema(description = "案件人员身份证号") + private String casePersonIdCard; + + + @Schema(description = "姓名") private String name; - /** - * 角色 - */ + + @Schema(description = "角色") private String role; - /** - * 供述材料 - */ + + @Schema(description = "供述材料数量") private Integer confessionMaterial; - /** - * 询问人 - */ + + @Schema(description = "询问人") private String lawAsker; - /** - * 供述开始时间 - */ + + @Schema(description = "供述开始时间") private String confessionStartTime; /** * 供述结束时间 */ + @Schema(description = "供述结束时间") private String confessionEndTime; - public NoteRecord toNoteRecord(){ - NoteRecord noteRecord = new NoteRecord(); - noteRecord.setId(id); - noteRecord.setCaseId(caseId); - noteRecord.setRecordName(recordName); - if (CollUtil.isNotEmpty(fileIdList)){ - noteRecord.setFileIds(CollUtil.join(fileIdList, ",")); - } - noteRecord.setName(name); - noteRecord.setRole(role); - noteRecord.setConfessionMaterial(confessionMaterial); - noteRecord.setLawAsker(lawAsker); - noteRecord.setConfessionStartTime(confessionStartTime); - noteRecord.setConfessionEndTime(confessionEndTime); - noteRecord.setCasePersonId(personId); - return noteRecord; - } + @Schema(description = "排序序号") + private Integer indexNum; + + @Schema(description = "创建时间") + private LocalDateTime createTime; } diff --git a/src/main/java/com/supervision/police/dto/NoteRecordDetailDTO.java b/src/main/java/com/supervision/police/dto/NoteRecordDetailDTO.java index 05bcbda..de7d3ac 100644 --- a/src/main/java/com/supervision/police/dto/NoteRecordDetailDTO.java +++ b/src/main/java/com/supervision/police/dto/NoteRecordDetailDTO.java @@ -90,23 +90,24 @@ public class NoteRecordDetailDTO { public NoteRecordDetailDTO() { } - public NoteRecordDetailDTO(NoteRecord noteRecord, Map fileMap) { - if (Objects.isNull(noteRecord)){ + public NoteRecordDetailDTO(NoteRecordDTO noteRecordDTO, Map fileMap) { + if (Objects.isNull(noteRecordDTO)){ return; } - this.id = noteRecord.getId(); - this.caseId = noteRecord.getCaseId(); - this.recordName = noteRecord.getRecordName(); - this.personId = noteRecord.getCasePersonId(); - this.name = noteRecord.getName(); - this.role = noteRecord.getRole(); - this.confessionMaterial = noteRecord.getConfessionMaterial(); - this.lawAsker = noteRecord.getLawAsker(); - this.confessionStartTime = noteRecord.getConfessionStartTime(); - this.confessionEndTime = noteRecord.getConfessionEndTime(); - this.createTime = noteRecord.getCreateTime(); - if (StrUtil.isNotEmpty(noteRecord.getFileIds())){ - this.fileList = Arrays.stream(noteRecord.getFileIds().split(",")).map(fileId->{ + this.id = noteRecordDTO.getId(); + this.caseId = noteRecordDTO.getCaseId(); + this.recordName = noteRecordDTO.getRecordName(); + this.personId = noteRecordDTO.getCasePersonId(); + this.name = noteRecordDTO.getName(); + this.role = noteRecordDTO.getRole(); + this.confessionMaterial = noteRecordDTO.getConfessionMaterial(); + this.lawAsker = noteRecordDTO.getLawAsker(); + this.confessionStartTime = noteRecordDTO.getConfessionStartTime(); + this.confessionEndTime = noteRecordDTO.getConfessionEndTime(); + this.createTime = noteRecordDTO.getCreateTime(); + this.personIdCard = noteRecordDTO.getCasePersonIdCard(); + if (StrUtil.isNotEmpty(noteRecordDTO.getFileIds())){ + this.fileList = Arrays.stream(noteRecordDTO.getFileIds().split(",")).map(fileId->{ MinioFile minioFile = fileMap.get(fileId); if (Objects.isNull(minioFile)){ return null; diff --git a/src/main/java/com/supervision/police/mapper/NoteRecordMapper.java b/src/main/java/com/supervision/police/mapper/NoteRecordMapper.java index 0dfbb74..a6c4cc3 100644 --- a/src/main/java/com/supervision/police/mapper/NoteRecordMapper.java +++ b/src/main/java/com/supervision/police/mapper/NoteRecordMapper.java @@ -2,6 +2,9 @@ package com.supervision.police.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.supervision.police.domain.NoteRecord; +import com.supervision.police.dto.NoteRecordDTO; + +import java.util.List; /** * 完整笔录表(NoteRecord)表数据库访问层 @@ -11,5 +14,6 @@ import com.supervision.police.domain.NoteRecord; */ public interface NoteRecordMapper extends BaseMapper { + List selectNoteRecordDTOList(NoteRecord noteRecord); } diff --git a/src/main/java/com/supervision/police/service/CasePersonService.java b/src/main/java/com/supervision/police/service/CasePersonService.java index f6cbc19..f57d843 100644 --- a/src/main/java/com/supervision/police/service/CasePersonService.java +++ b/src/main/java/com/supervision/police/service/CasePersonService.java @@ -13,5 +13,5 @@ public interface CasePersonService extends IService { * @param caseActorIdCard 案件行为人身份证号 * @return 插入结果 true 成功 false 失败 */ - boolean saveCaseActor(String caseId,String caseActorName,String caseActorIdCard); + boolean saveCaseActor(String caseId,String caseActorName,String caseActorIdCard); } diff --git a/src/main/java/com/supervision/police/service/CaseTaskRecordService.java b/src/main/java/com/supervision/police/service/CaseTaskRecordService.java index ffac810..9f81c31 100644 --- a/src/main/java/com/supervision/police/service/CaseTaskRecordService.java +++ b/src/main/java/com/supervision/police/service/CaseTaskRecordService.java @@ -12,6 +12,6 @@ public interface CaseTaskRecordService extends IService { void taskCountIncrement(String caseId,String recordId); - void finishCountIncrement(String caseId, String recordId); + void finishCountIncrement(String caseId, String recordId); } diff --git a/src/main/java/com/supervision/police/service/NoteRecordService.java b/src/main/java/com/supervision/police/service/NoteRecordService.java new file mode 100644 index 0000000..b771950 --- /dev/null +++ b/src/main/java/com/supervision/police/service/NoteRecordService.java @@ -0,0 +1,12 @@ +package com.supervision.police.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.police.domain.NoteRecord; +import com.supervision.police.dto.NoteRecordDTO; + +import java.util.List; + +public interface NoteRecordService extends IService { + + List selectNoteRecordDTOList(NoteRecord noteRecord); +} diff --git a/src/main/java/com/supervision/police/service/NoteRecordSplitService.java b/src/main/java/com/supervision/police/service/NoteRecordSplitService.java index 88bbc7c..5596c4e 100644 --- a/src/main/java/com/supervision/police/service/NoteRecordSplitService.java +++ b/src/main/java/com/supervision/police/service/NoteRecordSplitService.java @@ -3,14 +3,14 @@ package com.supervision.police.service; import com.baomidou.mybatisplus.extension.service.IService; import com.supervision.police.domain.NoteRecord; import com.supervision.police.domain.NoteRecordSplit; -import com.supervision.police.dto.NoteRecordDTO; +import com.supervision.police.vo.NoteRecordReqVO; import java.io.IOException; import java.util.Map; public interface NoteRecordSplitService extends IService { - String uploadRecords(NoteRecordDTO records) throws IOException; + String uploadRecords(NoteRecordReqVO records) throws IOException; Map queryRecords(NoteRecord noteRecord, Integer page, Integer size); diff --git a/src/main/java/com/supervision/police/service/impl/CasePersonServiceImpl.java b/src/main/java/com/supervision/police/service/impl/CasePersonServiceImpl.java index a7dd4cb..dce463a 100644 --- a/src/main/java/com/supervision/police/service/impl/CasePersonServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/CasePersonServiceImpl.java @@ -1,11 +1,11 @@ package com.supervision.police.service.impl; -import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.police.domain.CasePerson; import com.supervision.police.mapper.CasePersonMapper; import com.supervision.police.service.CasePersonService; +import com.supervision.police.service.CaseStatusManageService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -14,6 +14,9 @@ import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class CasePersonServiceImpl extends ServiceImpl implements CasePersonService { + + + private final CaseStatusManageService caseStatusManageService; @Override public boolean saveCaseActor(String caseId, String caseActorName, String caseActorIdCard) { @@ -35,7 +38,12 @@ public class CasePersonServiceImpl extends ServiceImpl + implements NoteRecordService { + @Override + public List selectNoteRecordDTOList(NoteRecord noteRecord) { + return super.getBaseMapper().selectNoteRecordDTOList(noteRecord); + } +} 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 5579f47..70408a3 100644 --- a/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java @@ -22,9 +22,8 @@ import com.supervision.minio.service.MinioService; import com.supervision.neo4j.service.Neo4jService; import com.supervision.police.domain.*; import com.supervision.police.dto.NoteRecordDTO; +import com.supervision.police.vo.NoteRecordReqVO; import com.supervision.police.dto.NoteRecordDetailDTO; -import com.supervision.police.mapper.ModelAtomicResultMapper; -import com.supervision.police.mapper.NoteRecordMapper; import com.supervision.police.mapper.NoteRecordSplitMapper; import com.supervision.police.service.*; import com.supervision.utils.RecordRegexUtil; @@ -47,7 +46,7 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class NoteRecordSplitServiceImpl extends ServiceImpl implements NoteRecordSplitService { - private final NoteRecordMapper noteRecordMapper; + private final NoteRecordService noteRecordService; private final MinioService minioService; @@ -56,7 +55,6 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl allTypeList = modelRecordTypeService.lambdaQuery().list(); @@ -218,26 +216,21 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl queryRecords(NoteRecord noteRecords, Integer page, Integer size) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(NoteRecord.class) - .like(StringUtils.isNotEmpty(noteRecords.getName()), NoteRecord::getName, noteRecords.getName()) - .eq(NoteRecord::getCaseId, noteRecords.getCaseId()) - .eq(NoteRecord::getDataStatus, "1"); - List list = noteRecordMapper.selectList(wrapper); - List fileIdList = list.stream().map(NoteRecord::getFileIds).filter(StringUtils::isNotEmpty) - .flatMap(s -> Arrays.stream(s.split(","))).distinct().toList(); + List noteRecordDTOList = noteRecordService.selectNoteRecordDTOList(noteRecords); + + // 查询关联角色字典 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)); + + // 查询关联文件数据 + List fileIdList = noteRecordDTOList.stream().map(NoteRecordDTO::getFileIds).filter(StringUtils::isNotEmpty) + .flatMap(s -> Arrays.stream(s.split(","))).distinct().toList(); 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 -> { + Map> nameMap = noteRecordDTOList.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())); @@ -250,6 +243,7 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl noteRecordDetailDTOS = nameMap.get(name); NoteRecordDetailDTO first = CollUtil.getFirst(noteRecordDetailDTOS); if (Objects.nonNull(first)){ @@ -292,7 +286,7 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl fileIdList; + + + @Schema(description = "笔录人员id") + private String personId; + + /** + * 姓名 + */ + private String name; + + /** + * 角色 + */ + private String role; + + /** + * 供述材料 + */ + private Integer confessionMaterial; + + /** + * 询问人 + */ + private String lawAsker; + + /** + * 供述开始时间 + */ + private String confessionStartTime; + + /** + * 供述结束时间 + */ + private String confessionEndTime; + + public NoteRecord toNoteRecord(){ + NoteRecord noteRecord = new NoteRecord(); + noteRecord.setId(id); + noteRecord.setCaseId(caseId); + noteRecord.setRecordName(recordName); + if (CollUtil.isNotEmpty(fileIdList)){ + noteRecord.setFileIds(CollUtil.join(fileIdList, ",")); + } + noteRecord.setName(name); + noteRecord.setRole(role); + noteRecord.setConfessionMaterial(confessionMaterial); + noteRecord.setLawAsker(lawAsker); + noteRecord.setConfessionStartTime(confessionStartTime); + noteRecord.setConfessionEndTime(confessionEndTime); + noteRecord.setCasePersonId(personId); + return noteRecord; + } + + +} diff --git a/src/main/resources/mapper/NoteRecordMapper.xml b/src/main/resources/mapper/NoteRecordMapper.xml index ca9ed34..e71e3bd 100644 --- a/src/main/resources/mapper/NoteRecordMapper.xml +++ b/src/main/resources/mapper/NoteRecordMapper.xml @@ -2,4 +2,34 @@ + \ No newline at end of file