diff --git a/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java b/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java
index 374998d..9e1d5a8 100644
--- a/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java
+++ b/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java
@@ -84,15 +84,16 @@ public class ModelServiceImpl implements ModelService {
                 //index_source==3
 
                 //查询图谱  index_source: 1人工定义  2数据库查询	3图谱生成	  4大模型
-                if ("1".endsWith(atomicIndex.getIndexSource())) {
+                if ("1".equals(atomicIndex.getIndexSource())) {
                     // list
-                } else if ("2".endsWith(atomicIndex.getIndexSource()) && StringUtils.isNotEmpty(ql)) {
+                    manuallyDefinedCase(analyseCaseDTO, result, atomicIndex);
+                } else if ("2".equals(atomicIndex.getIndexSource()) && StringUtils.isNotEmpty(ql)) {
                     //
                     analyseDataBaseCase(analyseCaseDTO, result, ql);
-                } else if ("3".endsWith(atomicIndex.getIndexSource()) && StringUtils.isNotEmpty(ql)) {
+                } else if ("3".equals(atomicIndex.getIndexSource()) && StringUtils.isNotEmpty(ql)) {
                     // 使用知识图谱进行计算
                     analyseGraphCase(analyseCaseDTO, result, ql);
-                } else if ("4".endsWith(atomicIndex.getIndexSource())) {
+                } else if ("4".equals(atomicIndex.getIndexSource())) {
                     //
                 }
             } catch (Exception e) {
@@ -106,14 +107,36 @@ public class ModelServiceImpl implements ModelService {
                 result.setId(exist.getId());
                 modelAtomicResultMapper.updateById(result);
             }
-            // 所有原子指标id,判断结果是否为1,如果为1,则符合,为true
-            atomicResultMap.put(result.getAtomicId(), "1".equals(result.getAtomicResult()));
+            // 所有原子指标id,判断结果是否为1 或者3,如果为1或者3,则符合,为true
+            atomicResultMap.put(result.getAtomicId(), "1".equals(result.getAtomicResult()) || "3".equals(result.getAtomicResult()));
         }
         // 最终计算得分
         calculateFinalScore(analyseCaseDTO, modelCase, atomicResultMap);
         return R.ok();
     }
 
+    /**
+     * 手动定义原子指标处理
+     * @param analyseCaseDTO
+     * @param result
+     * @param atomicIndex
+     */
+    private void manuallyDefinedCase(AnalyseCaseDTO analyseCaseDTO, ModelAtomicResult result, ModelAtomicIndex atomicIndex) {
+        List<ModelAtomicResult> modelAtomicResults = modelAtomicResultMapper.selectList(
+                new LambdaQueryWrapper<ModelAtomicResult>().eq(ModelAtomicResult::getCaseId, analyseCaseDTO.getCaseId())
+                        .eq(ModelAtomicResult::getAtomicId, atomicIndex.getId()));
+
+        if (CollUtil.isEmpty(modelAtomicResults)){
+            log.info("manuallyDefinedCase:根据caseId:{},auomicId:{}未找到原子指标结果", analyseCaseDTO.getCaseId(), atomicIndex.getId());
+            return;
+        }
+        if (CollUtil.size(modelAtomicResults) > 0){
+            log.warn("manuallyDefinedCase:根据caseId:{},auomicId:{}找到多个原子指标结果", analyseCaseDTO.getCaseId(), atomicIndex.getId());
+        }
+        ModelAtomicResult modelAtomicResult = CollUtil.getFirst(modelAtomicResults);
+        result.setAtomicResult(modelAtomicResult.getAtomicResult());
+    }
+
     @Override
     public String caseScoreDetail(String caseId) {
         Assert.notEmpty(caseId, "案件id不能为空");