1. 修改 bug

topo_dev
xueqingkun 9 months ago
parent d6692442fd
commit b5ef604f49

@ -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<Boolean> updatePerson(@RequestBody CasePerson person) {
boolean success = modelCaseService.updatePerson(person);
return R.ok(success);
}
/**

@ -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;
/**
*
*/

@ -6,6 +6,7 @@ import com.supervision.police.domain.ComDictionary;
import com.supervision.police.dto.DictionaryByTypeParam;
import java.util.List;
import java.util.Map;
/**
* <p>
@ -21,6 +22,9 @@ public interface ComDictionaryService extends IService<ComDictionary> {
R<?> findDictionaryListByType(DictionaryByTypeParam dictionaryByTypeParam);
Map<String,String> getDictionaryMap(String type);
R<?> insertDictionary(ComDictionary dictionary);
R<?> updateDictionary(ComDictionary dictionary);

@ -29,7 +29,14 @@ public interface ModelCaseService extends IService<ModelCase> {
R<List<CasePerson>> getPerson(String caseId, String name);
R<?> addPersion(CasePerson person);
R<?> addPerson(CasePerson person);
/**
*
* @param person
* @return
*/
boolean updatePerson(CasePerson person);
R<?> uploadCase(MultipartFile file);

@ -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;
/**
* <p>
@ -63,6 +65,15 @@ public class ComDictionaryServiceImpl extends ServiceImpl<ComDictionaryMapper, C
return R.ok(resultMap);
}
@Override
public Map<String, String> getDictionaryMap(String type) {
if (StrUtil.isEmpty(type)){
return null;
}
List<ComDictionary> list = super.lambdaQuery().eq(ComDictionary::getType, type).ne(ComDictionary::getPid,0L).list();
return list.stream().collect(Collectors.toMap(ComDictionary::getValue, ComDictionary::getLabel));
}
/**
* ,.
* @param dictionaryByTypeParam

@ -199,7 +199,7 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase
@Override
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class)
public R<?> 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<ModelCaseMapper, ModelCase
}
}
@Override
public boolean updatePerson(CasePerson person) {
Assert.notEmpty(person.getId(), "id不能为空");
Assert.notEmpty(person.getCaseId(), "案件id不能为空");
Assert.notEmpty(person.getIdCard(), "身份证号不能为空");
Assert.notEmpty(person.getName(), "姓名不能为空");
Assert.notEmpty(person.getRoleCode(), "角色不能为空");
CasePerson casePerson = casePersonService.getById(person.getId());
Assert.notNull(casePerson, "该人员不存在");
Assert.isFalse(Integer.valueOf(1).equals(casePerson.getCaseActorFlag()), "该人员为案件行为人,不能修改");
return casePersonService.lambdaUpdate().eq(CasePerson::getId, person.getId())
.set(CasePerson::getIdCard, person.getIdCard())
.set(CasePerson::getName, person.getName())
.set(CasePerson::getRoleCode, person.getRoleCode())
.update();
}
@Override
public R<?> uploadCase(MultipartFile file) {
/**

@ -77,6 +77,10 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl<NoteRecordSplitMappe
private final ModelAtomicResultService modelAtomicResultService;
private final ComDictionaryService comDictionaryService;
private final CasePersonService casePersonService;
@Override
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class)
@ -222,10 +226,20 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl<NoteRecordSplitMappe
List<String> fileIdList = list.stream().map(NoteRecord::getFileIds).filter(StringUtils::isNotEmpty)
.flatMap(s -> Arrays.stream(s.split(","))).distinct().toList();
Map<String, String> caseRoleDicMap = comDictionaryService.getDictionaryMap("case_role");
Map<String, CasePerson> casePersonMap = casePersonService.list(new LambdaQueryWrapper<CasePerson>().eq(CasePerson::getCaseId, noteRecords.getCaseId()))
.stream().collect(Collectors.toMap(CasePerson::getId, v -> v));
Map<String, MinioFile> fileMap = minioService.listMinioFile(fileIdList).stream().collect(Collectors.toMap(MinioFile::getId, Function.identity()));
// LinkedHashMap 保障顺序
Map<String, List<NoteRecordDetailDTO>> nameMap = list.stream().filter(item -> StringUtils.isNotBlank(item.getName())).map(item -> new NoteRecordDetailDTO(item, fileMap))
Map<String, List<NoteRecordDetailDTO>> 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<CaseTaskRecord> taskList = caseTaskRecordService.lambdaQuery().eq(CaseTaskRecord::getCaseId, noteRecords.getCaseId()).list();
@ -237,6 +251,14 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl<NoteRecordSplitMappe
noteRecordDetailDTO.setName(name);
List<NoteRecordDetailDTO> 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();

Loading…
Cancel
Save