修复导出问题,新增产品中心分页,修复排名问题

master
yz 7 months ago
parent 621821f038
commit 7596f5582c

@ -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, "一键评分成功");
}
//计算理财方案

@ -1,5 +1,7 @@
package com.sztzjy.money_management.controller;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sztzjy.money_management.annotation.AnonymousAccess;
import com.sztzjy.money_management.entity.*;
import com.sztzjy.money_management.mapper.*;
@ -7,6 +9,7 @@ import com.sztzjy.money_management.util.ResultEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.PostMapping;
@ -36,7 +39,10 @@ public class ProductCenter {
@PostMapping("selectFundProduct")
@ApiOperation("基金产品查询")
@AnonymousAccess
public ResultEntity<List<FundProduct>> selectFundProduct(@RequestParam(required = false) String param) {
public ResultEntity<PageInfo<FundProduct>> selectFundProduct(@RequestParam(required = false) String param,
@RequestParam Integer index,
@RequestParam Integer size) {
PageHelper.startPage(index, size);
FundProductExample example = new FundProductExample();
if (param != null) {
FundProductExample.Criteria criteria1 = example.createCriteria();
@ -51,20 +57,26 @@ public class ProductCenter {
}
example.setOrderByClause("update_date asc");
List<FundProduct> fundProducts = fundProductMapper.selectByExample(example);
return new ResultEntity<>(HttpStatus.OK, "基金产品查询成功", fundProducts);
PageInfo<FundProduct> pageInfo = new PageInfo<>(fundProducts);
return new ResultEntity<>(HttpStatus.OK, "基金产品查询成功!", pageInfo);
}
@PostMapping("selectBankDeposits")
@ApiOperation("银行储蓄查询")
@AnonymousAccess
public ResultEntity<List<BankDeposits>> selectBankDeposits(@RequestParam(required = false) String bankName, @RequestParam String schoolId) {
public ResultEntity<PageInfo<BankDeposits>> selectBankDeposits(@RequestParam(required = false) String bankName, @RequestParam String schoolId,
@RequestParam Integer index,
@RequestParam Integer size) {
PageHelper.startPage(index, size);
BankDepositsExample example = new BankDepositsExample();
BankDepositsExample.Criteria criteria = example.createCriteria();
if (bankName != null) {
criteria.andBankNameLike("%" + bankName + "%");
}
List<BankDeposits> bankDepositsList = bankDepositsMapper.selectByExample(example);
return new ResultEntity<>(HttpStatus.OK, "银行储蓄查询成功", bankDepositsList);
PageInfo<BankDeposits> pageInfo = new PageInfo<>(bankDepositsList);
return new ResultEntity<>(HttpStatus.OK, "银行储蓄查询成功!", pageInfo);
}
@PostMapping("updateBankDeposits")
@ -79,7 +91,10 @@ public class ProductCenter {
@PostMapping("selectP2PProduct")
@ApiOperation("P2P产品查询")
@AnonymousAccess
public ResultEntity<List<p2pProduct>> selectP2PProduct(@RequestParam(required = false) String productName) {
public ResultEntity<PageInfo<p2pProduct>> selectP2PProduct(@RequestParam(required = false) String productName,
@RequestParam Integer index,
@RequestParam Integer size) {
PageHelper.startPage(index, size);
p2pProductExample example = new p2pProductExample();
if (productName != null) {
p2pProductExample.Criteria criteria = example.createCriteria();
@ -87,25 +102,32 @@ public class ProductCenter {
}
example.setOrderByClause("update_time asc");
List<p2pProduct> p2pProducts = p2pProductMapper.selectByExample(example);
return new ResultEntity<>(HttpStatus.OK, "P2P产品查询成功", p2pProducts);
PageInfo<p2pProduct> pageInfo = new PageInfo<>(p2pProducts);
return new ResultEntity<>(HttpStatus.OK, "P2P产品查询成功", pageInfo);
}
@PostMapping("selectRealGoldProduct")
@ApiOperation("实务黄金查询")
@AnonymousAccess
public ResultEntity<List<RealGoldProduct>> selectRealGoldProduct() {
public ResultEntity<PageInfo<RealGoldProduct>> selectRealGoldProduct(@RequestParam Integer index,
@RequestParam Integer size) {
PageHelper.startPage(index, size);
RealGoldProductExample example = new RealGoldProductExample();
example.setOrderByClause("trading_day asc");
List<RealGoldProduct> realGoldProducts = realGoldProductMapper.selectByExample(example);
return new ResultEntity<>(HttpStatus.OK, "实务黄金查询成功", realGoldProducts);
PageInfo<RealGoldProduct> pageInfo = new PageInfo<>(realGoldProducts);
return new ResultEntity<>(HttpStatus.OK, "实务黄金查询成功!", pageInfo);
}
@PostMapping("selectInsurancePro")
@ApiOperation("保险产品查询")
@AnonymousAccess
public ResultEntity<List<InsurancePro>> selectInsurancePro(@ApiParam("保险子类") @RequestParam(required = false) String kind,
@ApiParam("搜索参数") @RequestParam(required = false) String name) {
public ResultEntity<PageInfo<InsurancePro>> selectInsurancePro(@ApiParam("保险子类") @RequestParam(required = false) String kind,
@ApiParam("搜索参数") @RequestParam(required = false) String name,
@RequestParam Integer index,
@RequestParam Integer size) {
PageHelper.startPage(index, size);
InsuranceProExample example = new InsuranceProExample();
InsuranceProExample.Criteria criteria = example.createCriteria();
if (kind != null) {
@ -115,7 +137,8 @@ public class ProductCenter {
criteria.andNameLike("%" + name + "%");
}
List<InsurancePro> insurancePros = insuranceProMapper.selectByExample(example);
return new ResultEntity<>(HttpStatus.OK, "保险产品查询成功", insurancePros);
PageInfo<InsurancePro> pageInfo = new PageInfo<>(insurancePros);
return new ResultEntity<>(HttpStatus.OK, "保险产品查询成功!", pageInfo);
}

@ -11,6 +11,7 @@ import java.math.BigDecimal;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class ScoreRankServiceImpl implements ScoreRankService {
@ -33,13 +34,12 @@ public class ScoreRankServiceImpl implements ScoreRankService {
@Autowired
StuTheoryRecordMapper stuTheoryRecordMapper;
//***** 未设置排名,未将数据保存到数据库 设置班级名称
@Override
public Boolean doRank() {
//先查询userInfo表 获取所有学校ID
List<String> schoolIdList = userInfoMapper.selectAllSchoolIds();
List<ScoreRank> scoreRankList=new ArrayList<>();
for (int i = 0; i < schoolIdList.size(); i++) {
List<ScoreRank> scoreRankList=new ArrayList<>();
String schoolId = schoolIdList.get(i);
//根据学校ID 获取所有学生userId
UserInfoExample userInfoExample = new UserInfoExample();
@ -58,6 +58,7 @@ public class ScoreRankServiceImpl implements ScoreRankService {
scoreRank.setName(userInfo.getName());
scoreRank.setStudentId(userInfo.getStudentId());
scoreRank.setClassId(userInfo.getClassId());
scoreRank.setClassName(userInfo.getClassName());
scoreRank.setSchoolId(userInfo.getSchoolId());
//设置更新日期 年月日
@ -156,8 +157,47 @@ public class ScoreRankServiceImpl implements ScoreRankService {
}
scoreRankList.add(scoreRank);
}
}
//总排名排序
List<ScoreRank> totalSortedList = scoreRankList.stream()
.sorted((o1, o2) -> o2.getTotalScore().compareTo(o1.getTotalScore()))
.collect(Collectors.toList());
for (int j = 0; j < totalSortedList.size(); j++) {
totalSortedList.get(j).setTotalRank(j+1);
}
//客户案例排序
List<ScoreRank> khanSortedList = totalSortedList.stream()
.sorted((o1, o2) -> o2.getKhalScore().compareTo(o1.getKhalScore()))
.collect(Collectors.toList());
for (int j = 0; j < khanSortedList.size(); j++) {
khanSortedList.get(j).setKhalRank(j+1);
}
//综合规划排序
List<ScoreRank> zhghSortedList = khanSortedList.stream()
.sorted((o1, o2) -> o2.getZhghScore().compareTo(o1.getZhghScore()))
.collect(Collectors.toList());
for (int j = 0; j < zhghSortedList.size(); j++) {
zhghSortedList.get(j).setKhalRank(j+1);
}
//理论考核排序
List<ScoreRank> llkhSortedList = zhghSortedList.stream()
.sorted((o1, o2) -> o2.getLlkhScore().compareTo(o1.getLlkhScore()))
.collect(Collectors.toList());
for (int j = 0; j < llkhSortedList.size(); j++) {
llkhSortedList.get(j).setKhalRank(j+1);
}
//保存到数据库
for (int j = 0; j < llkhSortedList.size(); j++) {
scoreRankMapper.insert(llkhSortedList.get(j));
}
}
return true;
}

Loading…
Cancel
Save