diff --git a/src/main/java/com/supervision/constant/CaseDataStatusEnum.java b/src/main/java/com/supervision/constant/CaseDataStatusEnum.java index 2876d0b..de20491 100644 --- a/src/main/java/com/supervision/constant/CaseDataStatusEnum.java +++ b/src/main/java/com/supervision/constant/CaseDataStatusEnum.java @@ -7,11 +7,16 @@ import lombok.Getter; */ @Getter public enum CaseDataStatusEnum { + NO_DATA(0,"没有基础数据"), + NOT_UPDATE(1,"数据未更新"), + UPDATE(2,"数据已更新"); - private int code; - private String desc; + + private final int code; + + private final String desc; CaseDataStatusEnum(int code, String desc) { this.code = code; this.desc = desc; diff --git a/src/main/java/com/supervision/police/service/CaseStatusManageService.java b/src/main/java/com/supervision/police/service/CaseStatusManageService.java index 9f841be..0a302a5 100644 --- a/src/main/java/com/supervision/police/service/CaseStatusManageService.java +++ b/src/main/java/com/supervision/police/service/CaseStatusManageService.java @@ -1,5 +1,7 @@ package com.supervision.police.service; +import com.supervision.police.domain.CasePerson; + /** *案件状态管理 */ @@ -8,9 +10,9 @@ public interface CaseStatusManageService { /** * 当保存案件人员信息 * @param caseId 案件id - * @param roleId 角色id + * @param casePerson 人员信息 */ - void whenSaveCasePeople(String caseId, String roleId); + void whenSaveCasePeople(String caseId, CasePerson casePerson); /** * 当删除案件指标 diff --git a/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl.java b/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl.java index 93044c5..816529b 100644 --- a/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/CaseStatusManageServiceImpl.java @@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.supervision.constant.CaseAnalysisStatusEnum; import com.supervision.constant.CaseDataStatusEnum; import com.supervision.constant.ScoreEnum; +import com.supervision.police.domain.CasePerson; import com.supervision.police.domain.ModelCase; import com.supervision.police.domain.NoteRecord; +import com.supervision.police.mapper.CasePersonMapper; import com.supervision.police.mapper.ModelCaseMapper; import com.supervision.police.mapper.NoteRecordMapper; import com.supervision.police.service.CaseStatusManageService; @@ -16,6 +18,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; @Slf4j @Service @@ -27,31 +31,23 @@ public class CaseStatusManageServiceImpl implements CaseStatusManageService { private final NoteRecordMapper noteRecordMapper; + private final CasePersonMapper casePersonMapper; + @Override - public void whenSaveCasePeople(String caseId, String roleId) { + public void whenSaveCasePeople(String caseId, CasePerson casePerson) { Assert.notEmpty(caseId, "案件id不能为空"); - Assert.notEmpty(roleId, "角色id不能为空"); - - // 只处理行为人的角色类型 - if (!"1".equals(roleId)){ - return; - } + Assert.notEmpty(casePerson.getRoleCode(), "角色id不能为空"); ModelCase modelCase = modelCaseMapper.selectById(caseId); Assert.notNull(modelCase,"案件信息不存在"); - if (0 != modelCase.getCaseDataStatus()){ - return; - } - // 查看是否有笔录 - Long count = noteRecordMapper.selectCount( - new LambdaQueryWrapper<>(new NoteRecord()) - .eq(NoteRecord::getCaseId, caseId).eq(NoteRecord::getRole, roleId)); + if ("1".equals(casePerson.getRoleCode())){ + List casePersonList = casePersonMapper.selectList( + new LambdaQueryWrapper().eq(CasePerson::getCaseId, caseId).eq(CasePerson::getRoleCode, "1")); + String lawActor = casePersonList.stream().map(CasePerson::getName).collect(Collectors.joining(",")); - if (count > 0){ modelCaseMapper.update(new LambdaUpdateWrapper() - .eq(ModelCase::getId, caseId) - .set(ModelCase::getCaseDataStatus, CaseDataStatusEnum.UPDATE.getCode())); + .eq(ModelCase::getId, caseId).set(ModelCase::getLawActor, lawActor)); } } @@ -62,9 +58,18 @@ public class CaseStatusManageServiceImpl implements CaseStatusManageService { @Override public void whenUploadRecord(String caseId) { - modelCaseMapper.update(new LambdaUpdateWrapper() - .eq(ModelCase::getId, caseId) - .set(ModelCase::getCaseDataStatus, CaseDataStatusEnum.UPDATE.getCode())); + // 存在行为人的笔录信息 + Long count = noteRecordMapper.selectCount( + new LambdaQueryWrapper<>(new NoteRecord()) + .eq(NoteRecord::getCaseId, caseId).eq(NoteRecord::getRole,"行为人")); + + if (count > 0){ + modelCaseMapper.update(new LambdaUpdateWrapper() + .eq(ModelCase::getId, caseId) + .set(ModelCase::getCaseDataStatus, CaseDataStatusEnum.UPDATE.getCode()) + ); + } + } @Override 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 9e85355..d249275 100644 --- a/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java @@ -183,7 +183,7 @@ public class ModelCaseServiceImpl extends ServiceImpl 0) { - caseStatusManageService.whenSaveCasePeople(person.getCaseId(), person.getRoleCode()); + caseStatusManageService.whenSaveCasePeople(person.getCaseId(), person); return R.okMsg("新增成功"); } else { return R.fail("新增失败");