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; } }