|
|
|
@ -74,6 +74,20 @@ public class GradeController {
|
|
|
|
|
CaseCashPlanMapper caseCashPlanMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
CaseLifeEducationPlanMapper caseLifeEducationPlanMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
CaseConsumptionPlanMapper caseConsumptionPlanMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
CaseStartAnUndertakingPlanMapper caseStartAnUndertakingPlanMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
CaseRetirementPlanMapper caseRetirementPlanMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
CaseInsurancePlanMapper caseInsurancePlanMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
CaseTaxPlanMapper caseTaxPlanMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
CaseDistributionOfPropertyMapper caseDistributionOfPropertyMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
CaseHeritageMapper caseHeritageMapper;
|
|
|
|
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
@ApiOperation("实训演练-学习成绩得分情况展示")
|
|
|
|
@ -385,7 +399,7 @@ public class GradeController {
|
|
|
|
|
String[] headers = {"排名", "姓名", "学号", "总成绩", "班级", "客户案例成绩", "综合规划成绩", "理论考核成绩"};
|
|
|
|
|
|
|
|
|
|
//具体需要写入excel需要哪些字段,这些字段取自UserReward类,也就是上面的实际数据结果集的泛型
|
|
|
|
|
List<String> listColumn = Arrays.asList("rankId", "name", "studentId", "totalScore", "classId", "khalScore", "zhghScore","llkhScore");
|
|
|
|
|
List<String> listColumn = Arrays.asList("rankId", "name", "studentId", "totalScore", "className", "khalScore", "zhghScore","llkhScore");
|
|
|
|
|
try {
|
|
|
|
|
FilePortUtil.exportExcel(response, title, headers, scoreRankList, listColumn);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
@ -437,9 +451,9 @@ public class GradeController {
|
|
|
|
|
//导出的表名
|
|
|
|
|
String title = IdUtil.simpleUUID();
|
|
|
|
|
//表中第一行表头字段
|
|
|
|
|
String[] headers = {"排名", "姓名", "学号", "总成绩", "风险测评分数", "财务分析分数", "现金规划分数","教育规划分数","消费规划分数","创业规划分数","退休规划分数","保险规划分数","投资规划分数","税务筹划分数","财产分配分数","财产传承分数"};
|
|
|
|
|
String[] headers = {"排名", "姓名", "学号","班级","总成绩", "风险测评分数", "财务分析分数", "现金规划分数","教育规划分数","消费规划分数","创业规划分数","退休规划分数","保险规划分数","投资规划分数","税务筹划分数","财产分配分数","财产传承分数"};
|
|
|
|
|
//具体需要写入excel需要哪些字段,这些字段取自UserReward类,也就是上面的实际数据结果集的泛型
|
|
|
|
|
List<String> listColumn = Arrays.asList("rankId", "name", "studentId", "khalScore", "fxcp", "cwfx","xjgh","jygh","xfgh","cygh","txgh","bxgh","tzgh","swch","ccfp","cccc");
|
|
|
|
|
List<String> listColumn = Arrays.asList("rankId", "name", "studentId","className","khalScore", "fxcp", "cwfx","xjgh","jygh","xfgh","cygh","txgh","bxgh","tzgh","swch","ccfp","cccc");
|
|
|
|
|
try {
|
|
|
|
|
FilePortUtil.exportExcel(response, title, headers, scoreRankList, listColumn);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
@ -608,9 +622,9 @@ public class GradeController {
|
|
|
|
|
//导出的表名
|
|
|
|
|
String title = IdUtil.simpleUUID();
|
|
|
|
|
//表中第一行表头字段
|
|
|
|
|
String[] headers = {"排名", "姓名", "学号", "总成绩", "完成案例个数"};
|
|
|
|
|
String[] headers = {"排名", "姓名", "学号","班级","总成绩", "完成案例个数"};
|
|
|
|
|
//具体需要写入excel需要哪些字段,这些字段取自UserReward类,也就是上面的实际数据结果集的泛型
|
|
|
|
|
List<String> listColumn = Arrays.asList("classId", "name", "studentId", "zhghScore", "countCase");
|
|
|
|
|
List<String> listColumn = Arrays.asList("classId", "name", "studentId","className", "zhghScore", "countCase");
|
|
|
|
|
try {
|
|
|
|
|
FilePortUtil.exportExcel(response, title, headers, scoreRankList, listColumn);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
@ -720,7 +734,7 @@ public class GradeController {
|
|
|
|
|
caseFinancialRatiosMapper.updateByPrimaryKeyWithBLOBs(caseFinancialRatiosWithBLOBs);
|
|
|
|
|
//并设置综合规划成绩表 修改分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andTestCenterEqualTo("财务分析-财务比例分析");
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("财务分析-财务比例分析").andTestCenterEqualTo("客户财务情况分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore = scoreList.get(0);
|
|
|
|
|
synthesisPlanScore.setScore(teacherScore);
|
|
|
|
@ -752,7 +766,7 @@ public class GradeController {
|
|
|
|
|
caseCashPlanMapper.updateByPrimaryKey(caseCashPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andTestCenterEqualTo("现金规划");
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("现金规划").andTestCenterEqualTo("现金规划分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore = scoreList.get(0);
|
|
|
|
|
synthesisPlanScore.setScore(teacherScore);
|
|
|
|
@ -765,44 +779,44 @@ public class GradeController {
|
|
|
|
|
if(list.isEmpty()){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
CaseLifeEducationPlan caseLifeEducationPlan = list.get(0);
|
|
|
|
|
String analysis = caseLifeEducationPlan.getAnalysis();
|
|
|
|
|
CaseLifeEducationPlan stuPlan = list.get(0);
|
|
|
|
|
String analysis = stuPlan.getAnalysis();
|
|
|
|
|
BigDecimal teacherScore=BigDecimal.ZERO;
|
|
|
|
|
//设置分析分数
|
|
|
|
|
if(StringUtils.isBlank(analysis)){
|
|
|
|
|
caseLifeEducationPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis.length()<20){
|
|
|
|
|
caseLifeEducationPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else if(analysis.length()>=50){
|
|
|
|
|
teacherScore=BigDecimal.valueOf(2);
|
|
|
|
|
caseLifeEducationPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore=BigDecimal.valueOf(1);
|
|
|
|
|
caseLifeEducationPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//设置理财方案分数 先获取案例题答案的分数 再获取学生理财方案的四个对象 按照公式对比大小 如果大于老师的答案 则给两分 低于给0分
|
|
|
|
|
CaseLifeEducationPlanExample teaExample = new CaseLifeEducationPlanExample();
|
|
|
|
|
teaExample.createCriteria().andCaseidEqualTo(caseid).andIsAnswerEqualTo("题目答案");
|
|
|
|
|
List<CaseLifeEducationPlan> teaCaseLifeEducationPlans = caseLifeEducationPlanMapper.selectByExample(example);
|
|
|
|
|
CaseLifeEducationPlan teaPlan = teaCaseLifeEducationPlans.get(0);
|
|
|
|
|
List<CaseLifeEducationPlan> teaCasePlanList = caseLifeEducationPlanMapper.selectByExample(teaExample);
|
|
|
|
|
CaseLifeEducationPlan teaPlan = teaCasePlanList.get(0);
|
|
|
|
|
BigDecimal teaFinancialPlanningMoney = teaPlan.getReturnOnInvestment();
|
|
|
|
|
BigDecimal returnOnInvestment = caseLifeEducationPlan.getReturnOnInvestment();
|
|
|
|
|
BigDecimal disposableInput = caseLifeEducationPlan.getDisposableInput();
|
|
|
|
|
BigDecimal monthlyInvestment = caseLifeEducationPlan.getMonthlyInvestment();
|
|
|
|
|
Integer regularYear = caseLifeEducationPlan.getRegularYear(); //定期定额投资年限 n
|
|
|
|
|
BigDecimal returnOnInvestment = stuPlan.getReturnOnInvestment();
|
|
|
|
|
BigDecimal disposableInput = stuPlan.getDisposableInput();
|
|
|
|
|
BigDecimal monthlyInvestment = stuPlan.getMonthlyInvestment();
|
|
|
|
|
Integer regularYear = stuPlan.getRegularYear(); //定期定额投资年限 n
|
|
|
|
|
BigDecimal stuFinancialPlanningMoney = getFinancialPlanningMoney(returnOnInvestment,disposableInput,monthlyInvestment,regularYear);
|
|
|
|
|
BigDecimal teacherFinancialPlanningScore=BigDecimal.ZERO; //老师理财分数 用于保存到综合规划成绩表中
|
|
|
|
|
if(stuFinancialPlanningMoney.compareTo(teaFinancialPlanningMoney)>=0){
|
|
|
|
|
teacherFinancialPlanningScore=BigDecimal.valueOf(2);
|
|
|
|
|
caseLifeEducationPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
stuPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
}else {
|
|
|
|
|
caseLifeEducationPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
stuPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
caseLifeEducationPlanMapper.updateByPrimaryKey(caseLifeEducationPlan);
|
|
|
|
|
caseLifeEducationPlanMapper.updateByPrimaryKey(stuPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改老师评分分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("生涯规划-教育规划").andTestCenterEqualTo("教育规划分析");
|
|
|
|
@ -819,33 +833,352 @@ public class GradeController {
|
|
|
|
|
synthesisPlanScore2.setScore(teacherFinancialPlanningScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2);
|
|
|
|
|
}else if("生涯规划-消费规划".equals(type)){
|
|
|
|
|
CaseConsumptionPlanExample example = new CaseConsumptionPlanExample();
|
|
|
|
|
example.createCriteria().andCaseIdEqualTo(caseid).andUserIdEqualTo(userid);
|
|
|
|
|
List<CaseConsumptionPlan> list = caseConsumptionPlanMapper.selectByExample(example);
|
|
|
|
|
//如果不存在 则跳过
|
|
|
|
|
if(list.isEmpty()){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
CaseConsumptionPlan stuPlan = list.get(0);
|
|
|
|
|
String analysis = stuPlan.getAnalysis();
|
|
|
|
|
BigDecimal teacherScore=BigDecimal.ZERO;
|
|
|
|
|
//设置分析分数
|
|
|
|
|
if(StringUtils.isBlank(analysis)){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis.length()<20){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else if(analysis.length()>=50){
|
|
|
|
|
teacherScore=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore=BigDecimal.valueOf(1);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//设置理财方案分数 先获取案例题答案的分数 再获取学生理财方案的四个对象 按照公式对比大小 如果大于老师的答案 则给两分 低于给0分
|
|
|
|
|
CaseConsumptionPlanExample teaExample = new CaseConsumptionPlanExample();
|
|
|
|
|
teaExample.createCriteria().andCaseIdEqualTo(caseid).andIsAnswerEqualTo("题目答案");
|
|
|
|
|
List<CaseConsumptionPlan> teaCasePlanList = caseConsumptionPlanMapper.selectByExample(teaExample);
|
|
|
|
|
CaseConsumptionPlan teaPlan = teaCasePlanList.get(0);
|
|
|
|
|
BigDecimal teaFinancialPlanningMoney = teaPlan.getReturnOnInvestment();
|
|
|
|
|
BigDecimal returnOnInvestment = stuPlan.getReturnOnInvestment();
|
|
|
|
|
BigDecimal disposableInput = stuPlan.getDisposableInput();
|
|
|
|
|
BigDecimal monthlyInvestment = stuPlan.getMonthlyInvestment();
|
|
|
|
|
Integer regularYear = stuPlan.getRegularYear(); //定期定额投资年限 n
|
|
|
|
|
BigDecimal stuFinancialPlanningMoney = getFinancialPlanningMoney(returnOnInvestment,disposableInput,monthlyInvestment,regularYear);
|
|
|
|
|
BigDecimal teacherFinancialPlanningScore=BigDecimal.ZERO; //老师理财分数 用于保存到综合规划成绩表中
|
|
|
|
|
if(stuFinancialPlanningMoney.compareTo(teaFinancialPlanningMoney)>=0){
|
|
|
|
|
teacherFinancialPlanningScore=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
}else {
|
|
|
|
|
stuPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
caseConsumptionPlanMapper.updateByPrimaryKey(stuPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改老师评分分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("生涯规划-消费规划").andTestCenterEqualTo("消费规划分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore = scoreList.get(0);
|
|
|
|
|
synthesisPlanScore.setScore(teacherScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore);
|
|
|
|
|
|
|
|
|
|
//修改理财方案老师评分
|
|
|
|
|
SynthesisPlanScoreExample scoreExample2 = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample2.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("生涯规划-消费规划").andTestCenterEqualTo("理财方案");
|
|
|
|
|
List<SynthesisPlanScore> scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0);
|
|
|
|
|
synthesisPlanScore2.setScore(teacherFinancialPlanningScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2);
|
|
|
|
|
}else if("生涯规划-创业规划".equals(type)){
|
|
|
|
|
CaseStartAnUndertakingPlanExample example = new CaseStartAnUndertakingPlanExample();
|
|
|
|
|
example.createCriteria().andCaseidEqualTo(caseid).andUserIdEqualTo(userid);
|
|
|
|
|
List<CaseStartAnUndertakingPlan> list = caseStartAnUndertakingPlanMapper.selectByExample(example);
|
|
|
|
|
//如果不存在 则跳过
|
|
|
|
|
if(list.isEmpty()){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
CaseStartAnUndertakingPlan stuPlan = list.get(0);
|
|
|
|
|
String analysis = stuPlan.getAnalysis();
|
|
|
|
|
BigDecimal teacherScore=BigDecimal.ZERO;
|
|
|
|
|
//设置分析分数
|
|
|
|
|
if(StringUtils.isBlank(analysis)){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis.length()<20){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else if(analysis.length()>=50){
|
|
|
|
|
teacherScore=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore=BigDecimal.valueOf(1);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//设置理财方案分数 先获取案例题答案的分数 再获取学生理财方案的四个对象 按照公式对比大小 如果大于老师的答案 则给两分 低于给0分
|
|
|
|
|
CaseStartAnUndertakingPlanExample teaExample = new CaseStartAnUndertakingPlanExample();
|
|
|
|
|
teaExample.createCriteria().andCaseidEqualTo(caseid).andIsAnswerEqualTo("题目答案");
|
|
|
|
|
List<CaseStartAnUndertakingPlan> teaCasePlanList = caseStartAnUndertakingPlanMapper.selectByExample(teaExample);
|
|
|
|
|
CaseStartAnUndertakingPlan teaPlan = teaCasePlanList.get(0);
|
|
|
|
|
BigDecimal teaFinancialPlanningMoney = teaPlan.getReturnOnInvestmentRate();
|
|
|
|
|
BigDecimal returnOnInvestment = stuPlan.getReturnOnInvestmentRate();
|
|
|
|
|
BigDecimal disposableInput = stuPlan.getDisposableInput();
|
|
|
|
|
BigDecimal monthlyInvestment = stuPlan.getMonthlyInvestment();
|
|
|
|
|
Integer regularYear = stuPlan.getRegularYear(); //定期定额投资年限 n
|
|
|
|
|
BigDecimal stuFinancialPlanningMoney = getFinancialPlanningMoney(returnOnInvestment,disposableInput,monthlyInvestment,regularYear);
|
|
|
|
|
BigDecimal teacherFinancialPlanningScore=BigDecimal.ZERO; //老师理财分数 用于保存到综合规划成绩表中
|
|
|
|
|
if(stuFinancialPlanningMoney.compareTo(teaFinancialPlanningMoney)>=0){
|
|
|
|
|
teacherFinancialPlanningScore=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
}else {
|
|
|
|
|
stuPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
caseStartAnUndertakingPlanMapper.updateByPrimaryKey(stuPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改老师评分分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("生涯规划-创业规划").andTestCenterEqualTo("创业规划分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore = scoreList.get(0);
|
|
|
|
|
synthesisPlanScore.setScore(teacherScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore);
|
|
|
|
|
|
|
|
|
|
//修改理财方案老师评分
|
|
|
|
|
SynthesisPlanScoreExample scoreExample2 = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample2.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("生涯规划-创业规划").andTestCenterEqualTo("理财方案");
|
|
|
|
|
List<SynthesisPlanScore> scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0);
|
|
|
|
|
synthesisPlanScore2.setScore(teacherFinancialPlanningScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2);
|
|
|
|
|
}else if("生涯规划-退休规划".equals(type)){
|
|
|
|
|
CaseRetirementPlanExample example = new CaseRetirementPlanExample();
|
|
|
|
|
example.createCriteria().andCaseidEqualTo(caseid).andUserIdEqualTo(userid);
|
|
|
|
|
List<CaseRetirementPlan> list = caseRetirementPlanMapper.selectByExample(example);
|
|
|
|
|
//如果不存在 则跳过
|
|
|
|
|
if(list.isEmpty()){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
CaseRetirementPlan stuPlan = list.get(0);
|
|
|
|
|
String analysis = stuPlan.getAnalysis();
|
|
|
|
|
BigDecimal teacherScore=BigDecimal.ZERO;
|
|
|
|
|
//设置分析分数
|
|
|
|
|
if(StringUtils.isBlank(analysis)){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis.length()<20){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else if(analysis.length()>=50){
|
|
|
|
|
teacherScore=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore=BigDecimal.valueOf(1);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//设置理财方案分数 先获取案例题答案的分数 再获取学生理财方案的四个对象 按照公式对比大小 如果大于老师的答案 则给两分 低于给0分
|
|
|
|
|
CaseRetirementPlanExample teaExample = new CaseRetirementPlanExample();
|
|
|
|
|
teaExample.createCriteria().andCaseidEqualTo(caseid).andIsAnswerEqualTo("题目答案");
|
|
|
|
|
List<CaseRetirementPlan> teaCasePlanList = caseRetirementPlanMapper.selectByExample(teaExample);
|
|
|
|
|
CaseRetirementPlan teaPlan = teaCasePlanList.get(0);
|
|
|
|
|
BigDecimal teaFinancialPlanningMoney = teaPlan.getReturnOnInvestmentRate();
|
|
|
|
|
BigDecimal returnOnInvestment = stuPlan.getReturnOnInvestmentRate();
|
|
|
|
|
BigDecimal disposableInput = stuPlan.getDisposableInput();
|
|
|
|
|
BigDecimal monthlyInvestment = stuPlan.getMonthlyInvestment();
|
|
|
|
|
Integer regularYear = stuPlan.getRegularYear(); //定期定额投资年限 n
|
|
|
|
|
BigDecimal stuFinancialPlanningMoney = getFinancialPlanningMoney(returnOnInvestment,disposableInput,monthlyInvestment,regularYear);
|
|
|
|
|
BigDecimal teacherFinancialPlanningScore=BigDecimal.ZERO; //老师理财分数 用于保存到综合规划成绩表中
|
|
|
|
|
if(stuFinancialPlanningMoney.compareTo(teaFinancialPlanningMoney)>=0){
|
|
|
|
|
teacherFinancialPlanningScore=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
}else {
|
|
|
|
|
stuPlan.setCaseTeacherScore(teacherFinancialPlanningScore);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}else if("生涯规划-保险规划".equals(type)){
|
|
|
|
|
|
|
|
|
|
caseRetirementPlanMapper.updateByPrimaryKey(stuPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改老师评分分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("生涯规划-退休规划").andTestCenterEqualTo("退休规划分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore = scoreList.get(0);
|
|
|
|
|
synthesisPlanScore.setScore(teacherScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore);
|
|
|
|
|
|
|
|
|
|
//修改理财方案老师评分
|
|
|
|
|
SynthesisPlanScoreExample scoreExample2 = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample2.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("生涯规划-退休规划").andTestCenterEqualTo("理财方案");
|
|
|
|
|
List<SynthesisPlanScore> scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0);
|
|
|
|
|
synthesisPlanScore2.setScore(teacherFinancialPlanningScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2);
|
|
|
|
|
}else if("生涯规划-保险规划".equals(type)){
|
|
|
|
|
//根据caseid和userId查询case_Financial_Ratios表
|
|
|
|
|
CaseInsurancePlanExample example = new CaseInsurancePlanExample();
|
|
|
|
|
example.createCriteria().andCaseidEqualTo(caseid).andUserIdEqualTo(userid);
|
|
|
|
|
List<CaseInsurancePlan> list = caseInsurancePlanMapper.selectByExample(example);
|
|
|
|
|
//如果不存在 则跳过
|
|
|
|
|
if(list.isEmpty()){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
CaseInsurancePlan stuPlan = list.get(0);
|
|
|
|
|
String analysis = stuPlan.getAnalysis();
|
|
|
|
|
BigDecimal teacherScore=BigDecimal.ZERO;
|
|
|
|
|
if(StringUtils.isBlank(analysis)){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis.length()<20){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else if(analysis.length()>=50){
|
|
|
|
|
teacherScore=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore=BigDecimal.valueOf(1);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
caseInsurancePlanMapper.updateByPrimaryKey(stuPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
List<String> testCenterList=new ArrayList<>();
|
|
|
|
|
testCenterList.add("寿险需求测算方法选择-遗属需求法-保险规划分析");
|
|
|
|
|
testCenterList.add("寿险需求测算方法选择-生命价值法-保险规划分析");
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("生涯规划-保险规划").andTestCenterIn(testCenterList);
|
|
|
|
|
List<SynthesisPlanScore> scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore = scoreList.get(0);
|
|
|
|
|
synthesisPlanScore.setScore(teacherScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore);
|
|
|
|
|
}else if("投资规划".equals(type)){
|
|
|
|
|
|
|
|
|
|
}else if("税务筹划".equals(type)){
|
|
|
|
|
|
|
|
|
|
//根据caseid和userId查询case_Financial_Ratios表
|
|
|
|
|
CaseTaxPlanExample example = new CaseTaxPlanExample();
|
|
|
|
|
example.createCriteria().andCaseidEqualTo(caseid).andUserIdEqualTo(userid);
|
|
|
|
|
List<CaseTaxPlan> list = caseTaxPlanMapper.selectByExample(example);
|
|
|
|
|
//如果不存在 则跳过
|
|
|
|
|
if(list.isEmpty()){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
CaseTaxPlan stuPlan = list.get(0);
|
|
|
|
|
String analysis = stuPlan.getAnalysis();
|
|
|
|
|
BigDecimal teacherScore=BigDecimal.ZERO;
|
|
|
|
|
if(StringUtils.isBlank(analysis)){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis.length()<20){
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else if(analysis.length()>=50){
|
|
|
|
|
teacherScore=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore=BigDecimal.valueOf(1);
|
|
|
|
|
stuPlan.setAnalysisTeacherScore(teacherScore);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
caseTaxPlanMapper.updateByPrimaryKey(stuPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("税务筹划").andTestCenterEqualTo("税务筹划分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore = scoreList.get(0);
|
|
|
|
|
synthesisPlanScore.setScore(teacherScore);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore);
|
|
|
|
|
}else if("财产分配".equals(type)){
|
|
|
|
|
|
|
|
|
|
//根据caseid和userId查询case_Financial_Ratios表
|
|
|
|
|
CaseDistributionOfPropertyExample example = new CaseDistributionOfPropertyExample();
|
|
|
|
|
example.createCriteria().andCaseidEqualTo(caseid).andUserIdEqualTo(userid);
|
|
|
|
|
List<CaseDistributionOfPropertyWithBLOBs> list = caseDistributionOfPropertyMapper.selectByExampleWithBLOBs(example);
|
|
|
|
|
//如果不存在 则跳过
|
|
|
|
|
if(list.isEmpty()){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
CaseDistributionOfPropertyWithBLOBs stuPlan = list.get(0);
|
|
|
|
|
String analysis1 = stuPlan.getSituationAnalysis();
|
|
|
|
|
BigDecimal teacherScore1=BigDecimal.ZERO;
|
|
|
|
|
if(StringUtils.isBlank(analysis1)){
|
|
|
|
|
stuPlan.setSituationanalysisTeacherScore(teacherScore1);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis1.length()<20){
|
|
|
|
|
stuPlan.setSituationanalysisTeacherScore(teacherScore1);
|
|
|
|
|
}else if(analysis1.length()>=50){
|
|
|
|
|
teacherScore1=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setSituationanalysisTeacherScore(teacherScore1);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore1=BigDecimal.valueOf(1);
|
|
|
|
|
stuPlan.setSituationanalysisTeacherScore(teacherScore1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String analysis2 = stuPlan.getPlanAnalysis();
|
|
|
|
|
BigDecimal teacherScore2=BigDecimal.ZERO;
|
|
|
|
|
if(StringUtils.isBlank(analysis2)){
|
|
|
|
|
stuPlan.setPlananalysisTeacherScore(teacherScore2);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis2.length()<20){
|
|
|
|
|
stuPlan.setPlananalysisTeacherScore(teacherScore2);
|
|
|
|
|
}else if(analysis2.length()>=50){
|
|
|
|
|
teacherScore2=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setPlananalysisTeacherScore(teacherScore2);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore2=BigDecimal.valueOf(1);
|
|
|
|
|
stuPlan.setPlananalysisTeacherScore(teacherScore2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
caseDistributionOfPropertyMapper.updateByPrimaryKey(stuPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("财产分配").andTestCenterEqualTo("婚姻、财产状况分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore = scoreList.get(0);
|
|
|
|
|
synthesisPlanScore.setScore(teacherScore1);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore);
|
|
|
|
|
SynthesisPlanScoreExample scoreExample2 = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample2.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("财产分配").andTestCenterEqualTo("财产分配规划分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0);
|
|
|
|
|
synthesisPlanScore2.setScore(teacherScore2);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2);
|
|
|
|
|
}else if("财产传承".equals(type)){
|
|
|
|
|
|
|
|
|
|
//根据caseid和userId查询case_Financial_Ratios表
|
|
|
|
|
CaseHeritageExample example = new CaseHeritageExample();
|
|
|
|
|
example.createCriteria().andCaseidEqualTo(caseid).andUserIdEqualTo(userid);
|
|
|
|
|
List<CaseHeritageWithBLOBs> list = caseHeritageMapper.selectByExampleWithBLOBs(example);
|
|
|
|
|
//如果不存在 则跳过
|
|
|
|
|
if(list.isEmpty()){
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
CaseHeritageWithBLOBs stuPlan = list.get(0);
|
|
|
|
|
String analysis2 = stuPlan.getPlanAnalysis();
|
|
|
|
|
BigDecimal teacherScore2=BigDecimal.ZERO;
|
|
|
|
|
if(StringUtils.isBlank(analysis2)){
|
|
|
|
|
stuPlan.setPlananalysisTeacherScore(teacherScore2);
|
|
|
|
|
}else {
|
|
|
|
|
if(analysis2.length()<20){
|
|
|
|
|
stuPlan.setPlananalysisTeacherScore(teacherScore2);
|
|
|
|
|
}else if(analysis2.length()>=50){
|
|
|
|
|
teacherScore2=BigDecimal.valueOf(2);
|
|
|
|
|
stuPlan.setPlananalysisTeacherScore(teacherScore2);
|
|
|
|
|
}else {
|
|
|
|
|
teacherScore2=BigDecimal.valueOf(1);
|
|
|
|
|
stuPlan.setPlananalysisTeacherScore(teacherScore2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
caseHeritageMapper.updateByPrimaryKey(stuPlan);
|
|
|
|
|
//并设置综合规划成绩表 修改分数
|
|
|
|
|
SynthesisPlanScoreExample scoreExample2 = new SynthesisPlanScoreExample();
|
|
|
|
|
scoreExample2.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("财产传承").andTestCenterEqualTo("财产传承规划分析");
|
|
|
|
|
List<SynthesisPlanScore> scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2);
|
|
|
|
|
SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0);
|
|
|
|
|
synthesisPlanScore2.setScore(teacherScore2);
|
|
|
|
|
synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2);
|
|
|
|
|
}else {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//根据caseid和userId查询case_InsurancePlan表 如果不存在 则跳过 如果存在 则获取Analysis参数 如果不为null则不进行修改 后续不操作 如果参数字数大于20个 则Analysis_teacher_score获得1分 50 两分 否则0分 并设置综合规划成绩表 先判断成绩是否存在 存在则修改分数、不存在则新增
|
|
|
|
|
//根据caseid和userId查询case_InvestmentPlan表 如果不存在 则跳过 如果存在 则获取Analysis参数 如果不为null则不进行修改 后续不操作 如果参数字数大于20个 则Analysis_teacher_score获得1分 50 两分 否则0分 并设置综合规划成绩表 先判断成绩是否存在 存在则修改分数、不存在则新增
|
|
|
|
|
//根据caseid和userId查询case_tax_plan表 如果不存在 则跳过 如果存在 则获取Analysis参数 如果不为null则不进行修改 后续不操作 如果参数字数大于20个 则Analysis_teacher_score获得1分 50 两分 否则0分 并设置综合规划成绩表 先判断成绩是否存在 存在则修改分数、不存在则新增
|
|
|
|
|
//根据caseid和case_Distribution Of Property表(双参数) 如果不存在 则跳过 如果存在 则获取Analysis参数 如果不为null则不进行修改 后续不操作 如果参数字数大于20个 则Analysis_teacher_score获得1分 50 两分 否则0分 并设置综合规划成绩表 先判断成绩是否存在 存在则修改分数、不存在则新增
|
|
|
|
|
//根据caseid和case_heritage表(双参数) 如果不存在 则跳过 如果存在 则获取Analysis参数 如果不为null则不进行修改 后续不操作 如果参数字数大于20个 则Analysis_teacher_score获得1分 50 两分 否则0分 并设置综合规划成绩表 先判断成绩是否存在 存在则修改分数、不存在则新增
|
|
|
|
|
//生涯规划需要判断理财方案得分情况
|
|
|
|
|
return null;
|
|
|
|
|
return new ResultEntity<HttpStatus>(HttpStatus.OK, "一键评分成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//计算理财方案
|
|
|
|
|