diff --git a/src/main/java/com/supervision/police/controller/ModelCaseController.java b/src/main/java/com/supervision/police/controller/ModelCaseController.java index 0652a3b..1ae93ad 100644 --- a/src/main/java/com/supervision/police/controller/ModelCaseController.java +++ b/src/main/java/com/supervision/police/controller/ModelCaseController.java @@ -7,6 +7,7 @@ import com.supervision.police.domain.ModelCase; import com.supervision.police.dto.ModelCaseDTO; import com.supervision.police.service.ModelCaseService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -44,8 +45,9 @@ public class ModelCaseController { * @return */ @GetMapping("/checkCaseNo") - public R<?> checkCaseNo(@RequestParam String caseNo) { - return modelCaseService.checkCaseNo(caseNo); + public R<?> checkCaseNo(@RequestParam @Parameter(name = "caseNo",description = "案件编号") String caseNo, + @RequestParam @Parameter(name = "caseId",description = "案件id") String caseId) { + return modelCaseService.checkCaseNo(caseNo,caseId); } /** diff --git a/src/main/java/com/supervision/police/mapper/ModelCaseMapper.java b/src/main/java/com/supervision/police/mapper/ModelCaseMapper.java index e0734eb..9ec79b4 100644 --- a/src/main/java/com/supervision/police/mapper/ModelCaseMapper.java +++ b/src/main/java/com/supervision/police/mapper/ModelCaseMapper.java @@ -3,7 +3,6 @@ package com.supervision.police.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.police.domain.ModelCase; -import com.supervision.police.domain.ModelRecordType; import com.supervision.police.dto.AtomicIndexDTO; import com.supervision.police.dto.IndexDetail; import org.apache.ibatis.annotations.Param; @@ -22,9 +21,27 @@ public interface ModelCaseMapper extends BaseMapper<ModelCase> { int selectMaxIndex(); + /** + * 查询案件指标详情 + * @param iPage 分页参数 + * @param caseId 指标id + * @param indexType 指标类型 + * @return 通过指标数据和指标结果进行关联,然后进行过滤查询 + */ + IPage<IndexDetail> getCaseIndexDetail(IPage<IndexDetail> iPage, + @Param("caseId") String caseId, + @Param("indexType") String indexType); + + /** + * 查询指标详情 + * @param iPage 分页参数 + * @param caseId 案件id 必填 + * @param indexType 指标类型 必填 + * @return 以指标数据为基础 拼接指标结果数据 + */ IPage<IndexDetail> getIndexDetail(IPage<IndexDetail> iPage, - @Param("caseId") String caseId, - @Param("indexType") String indexType); + @Param("caseId") String caseId, + @Param("indexType") String indexType); List<AtomicIndexDTO> getAtomicDetail(@Param("caseId") String caseId, @Param("atomicIds") List<String> atomicIds); diff --git a/src/main/java/com/supervision/police/service/ModelCaseService.java b/src/main/java/com/supervision/police/service/ModelCaseService.java index bdd112f..27e45c3 100644 --- a/src/main/java/com/supervision/police/service/ModelCaseService.java +++ b/src/main/java/com/supervision/police/service/ModelCaseService.java @@ -20,7 +20,7 @@ public interface ModelCaseService extends IService<ModelCase> { IPage<ModelCaseDTO> queryList(ModelCase modelCase, Integer page, Integer size); - R<?> checkCaseNo(String caseNo); + R<?> checkCaseNo(String caseNo,String caseId); R<?> addOrUpd(ModelCase modelCase); 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 eb1a12d..67f8a08 100644 --- a/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/ModelCaseServiceImpl.java @@ -17,7 +17,6 @@ import com.supervision.common.utils.IPages; import com.supervision.common.utils.StringUtils; import com.supervision.police.domain.CasePerson; import com.supervision.police.domain.ComDictionary; -import com.supervision.police.domain.ModelAtomicIndex; import com.supervision.police.dto.AtomicIndexDTO; import com.supervision.police.dto.IndexDetail; import com.supervision.police.dto.ModelCaseDTO; @@ -105,12 +104,12 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase record lawActorPartyPair(String lawActor, String lawParty){} @Override - public R<?> checkCaseNo(String caseNo) { - LambdaQueryWrapper<ModelCase> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(ModelCase::getCaseNo, caseNo) - .eq(ModelCase::getDataStatus, "1"); - ModelCase modelCase = modelCaseMapper.selectOne(wrapper); - if (modelCase == null) { + public R<?> checkCaseNo(String caseNo,String caseId) { + Long count = modelCaseMapper.selectCount(new LambdaQueryWrapper<ModelCase>() + .eq(ModelCase::getCaseNo, caseNo) + .eq(ModelCase::getDataStatus, "1") + .ne(StrUtil.isNotEmpty(caseId), ModelCase::getId, caseId)); + if (count == 0) { return R.ok(caseNo); } else { return R.okMsg("案件编号已存在,请勿重复添加"); diff --git a/src/main/resources/mapper/ModelCaseMapper.xml b/src/main/resources/mapper/ModelCaseMapper.xml index 37fb2e3..2ba3cfc 100644 --- a/src/main/resources/mapper/ModelCaseMapper.xml +++ b/src/main/resources/mapper/ModelCaseMapper.xml @@ -37,7 +37,7 @@ from model_case where data_status = '1' </select> - <select id="getIndexDetail" resultType="com.supervision.police.dto.IndexDetail"> + <select id="getCaseIndexDetail" resultType="com.supervision.police.dto.IndexDetail"> select mi.name as indexName, mi.index_score as score, mir.index_result, mir.atomic_ids from model_index mi left join model_index_result mir on mi.id = mir.index_id @@ -57,4 +57,11 @@ #{item} </foreach> </select> + <select id="getIndexDetail" resultType="com.supervision.police.dto.IndexDetail"> + select mi.name as indexName, mi.index_score as score, mir.index_result, mir.atomic_ids + from model_index mi + left join model_index_result mir on ( mi.id = mir.index_id and mir.case_id = #{caseId} ) + WHERE mi.data_status = '1' + and mi.index_type = #{indexType} + </select> </mapper> \ No newline at end of file