diff --git a/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java b/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java
index 95ada0e..061a8dc 100644
--- a/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java
+++ b/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java
@@ -1684,7 +1684,9 @@ public class CaseServiceImpl implements CaseService {
                         }
                         caseDistributionOfPropertyFamilyRecordsMapper.batchInsert(list);
                     }
-                    //考核点都为主观题,无需算分
+                    //主观题按字数算分,50一个
+                    int score = getCaseDistributionOfPropertyScore(stuData);
+                    setCount(stuTrainingWithBLOBs, score);
                 }
 
                 if (type.equals("财产传承")) {
@@ -1717,6 +1719,27 @@ public class CaseServiceImpl implements CaseService {
         }
     }
 
+    private int getCaseDistributionOfPropertyScore(CaseDistributionOfPropertyFamilyDto stuData) {
+        int a = 0;  //主观题 50分一个 10个5分
+        int b = 0;
+        if (StringUtils.isNotBlank(stuData.getPlanAnalysis())) {
+            String planAnalysis = stuData.getPlanAnalysis();
+            // 去除空格、标点符号和数字
+            String cleanedInput = planAnalysis.replaceAll("[\\s\\p{Punct}\\d]", "");
+            int length = cleanedInput.length();
+            // 根据长度计算分数,每10个5分
+            a = Math.min(length / 10, 10) * 5;
+        }
+        if (StringUtils.isNotBlank(stuData.getSituationAnalysis())) {
+            String situationAnalysis = stuData.getSituationAnalysis();
+            String cleanedInput = situationAnalysis.replaceAll("[\\s\\p{Punct}\\d]", "");
+            int length = cleanedInput.length();
+            b = Math.min(length / 10, 10) * 5;
+        }
+        return a + b;
+    }
+
+
     private void setCount(StuTrainingWithBLOBs stuTrainingWithBLOBs, int wrongCount) {
         if (stuTrainingWithBLOBs.getExpTrainingCompleteStatus() == null) {
             stuTrainingWithBLOBs.setExpTrainingCompleteStatus(wrongCount);
@@ -1737,7 +1760,7 @@ public class CaseServiceImpl implements CaseService {
             CaseInvestmentPlan investmentPlan = caseInvestmentPlans.get(0);
             //当前客户所处家庭生命周期
             if (StringUtils.isNotBlank(investmentPlan.getLifeCycleId())) {
-                if (StringUtils.isNotBlank(stuInvestmentPlan.getLifeCycleId()) || !stuInvestmentPlan.getLifeCycleId().equals(investmentPlan.getLifeCycleId())) {
+                if (StringUtils.isBlank(stuInvestmentPlan.getLifeCycleId()) || !stuInvestmentPlan.getLifeCycleId().equals(investmentPlan.getLifeCycleId())) {
                     wrongCount += 1;
                 }
             }