diff --git a/src/main/java/com/sztzjy/money_management/controller/CaseController.java b/src/main/java/com/sztzjy/money_management/controller/CaseController.java index 19a22c3..f591376 100644 --- a/src/main/java/com/sztzjy/money_management/controller/CaseController.java +++ b/src/main/java/com/sztzjy/money_management/controller/CaseController.java @@ -344,6 +344,9 @@ public class CaseController { @AnonymousAccess public void countCaseTime(@RequestParam(required = false) String stuClientId, @ApiParam("时间,单位分钟") BigDecimal minuter) { + if(minuter.compareTo(BigDecimal.valueOf(0))==0){ + return; + } if(stuClientId==null){ return; } @@ -351,7 +354,7 @@ public class CaseController { if(synthesisPlanClient==null){ return; } - if (synthesisPlanClient.getSubmitStatus().equals("已审核")||synthesisPlanClient.getSubmitStatus().equals("未审核")){ + if ("已审核".equals(synthesisPlanClient.getSubmitStatus())||"未审核".equals(synthesisPlanClient.getSubmitStatus())){ return; } else { if (synthesisPlanClient.getUseTime() == null) { diff --git a/src/main/java/com/sztzjy/money_management/controller/GradeController.java b/src/main/java/com/sztzjy/money_management/controller/GradeController.java index 687b923..c67e671 100644 --- a/src/main/java/com/sztzjy/money_management/controller/GradeController.java +++ b/src/main/java/com/sztzjy/money_management/controller/GradeController.java @@ -297,7 +297,7 @@ public class GradeController { totalWeight.setLlkh(BigDecimal.valueOf(0.2)); } clientCaseReturnDto.setScoreWight(totalWeight.getKhan()); - if (clientCaseList.isEmpty()) { + if (clientCaseList==null) { returnDtoList.add(clientCaseReturnDto); } else { for (int i = 0; i < clientCaseList.size(); i++) { @@ -703,6 +703,7 @@ public class GradeController { submitStatusList.add("已审核"); synthesisPlanClientExample.createCriteria().andUseridEqualTo(userId).andSubmitStatusIn(submitStatusList); List synthesisPlanClientList = synthesisPlanClientMapper.selectByExample(synthesisPlanClientExample); + synthesisPlanClientExample.setOrderByClause("get_time desc"); return new ResultEntity<>(HttpStatus.OK, "案例列表展示成功", synthesisPlanClientList); } @@ -844,16 +845,15 @@ public class GradeController { } } - //教师端 综合规划成绩详情查询 -// @PostMapping("/getExamPoint") -// @ApiOperation("教师端 综合规划成绩详情查询") -// @AnonymousAccess -// private ResultEntity> getExamPoint(@RequestParam String caseID,@RequestParam String userId) { -// SynthesisPlanScoreExample synthesisPlanScoreExample = new SynthesisPlanScoreExample(); -// synthesisPlanScoreExample.createCriteria().andUseridEqualTo(userId).andCaseidEqualTo(caseID); -// List synthesisPlanScores = synthesisPlanScoreMapper.selectByExampleWithBLOBs(synthesisPlanScoreExample); -// return new ResultEntity<>(HttpStatus.OK, "综合规划成绩详情查询成功",synthesisPlanScores); -// } + //教师端 综合规划-评分-单个案例成绩查询 + @GetMapping + @ApiOperation("教师端 综合规划-评分-单个案例成绩查询") + @AnonymousAccess + public BigDecimal getSynthesisPlanScore(@RequestParam String userId,@RequestParam String caseId){ + BigDecimal bigDecimal = synthesisPlanScoreMapper.selectTotalScoreByUserIdAndCaseId(userId, caseId); + return bigDecimal; + } + //教师端 综合规划老师评分 @PostMapping("/updateSynthesisPlanMark") diff --git a/src/main/java/com/sztzjy/money_management/controller/SynthesisPlanController.java b/src/main/java/com/sztzjy/money_management/controller/SynthesisPlanController.java index 5fca7c9..cd9514f 100644 --- a/src/main/java/com/sztzjy/money_management/controller/SynthesisPlanController.java +++ b/src/main/java/com/sztzjy/money_management/controller/SynthesisPlanController.java @@ -280,11 +280,30 @@ public class SynthesisPlanController { public ResultEntity selectSynthesisPlanScoreList(@RequestParam String caseId, @RequestParam String userId, @RequestParam Integer index, @RequestParam Integer size) { //获取审核类容 PageHelper.startPage(index, size); - SynthesisPlanScoreExample example = new SynthesisPlanScoreExample(); - example.createCriteria().andCaseidEqualTo(caseId).andUseridEqualTo(userId); - example.setOrderByClause("FIELD(manage_money_matters_type,'客户信息','风险测评-风险指标','财务分析-资产负债表','财务分析-收支储蓄表','财务分析-现金流量表','财务分析-财务比例分析','现金规划','生涯规划-教育规划'," + - "'生涯规划-消费规划','生涯规划-创业规划','生涯规划-退休规划','生涯规划-保险规划','投资规划','税务筹划','财产分配','财产传承')"); - List synthesisPlanScores = synthesisPlanScoreMapper.selectByExampleWithBLOBs(example); + List synthesisPlanScores = synthesisPlanScoreMapper.selectByExampleWithBLOBsAndOrder(caseId, userId); +// example.setOrderByClause("FIELD(manage_money_matters_type,'客户信息','风险测评-风险指标','财务分析-资产负债表','财务分析-收支储蓄表','财务分析-现金流量表','财务分析-财务比例分析','现金规划','生涯规划-教育规划'," + +// "'生涯规划-消费规划','生涯规划-创业规划','生涯规划-退休规划','生涯规划-保险规划','投资规划','税务筹划','财产分配','财产传承')"); +// List firstNameOrder = Arrays.asList("客户信息","风险测评-风险指标","财务分析-资产负债表","财务分析-收支储蓄表","财务分析-现金流量表","财务分析-财务比例分析","现金规划","生涯规划-教育规划" +// ,"生涯规划-消费规划","生涯规划-创业规划","生涯规划-退休规划","生涯规划-保险规划","投资规划","税务筹划","财产分配","财产传承"); +// List lastNameOrder = Arrays.asList("姓名", "年龄", "证件号码", "客户得分-年龄", "客户得分-就业状况","客户得分-家庭负担","客户得分-置产状况","客户得分-投资经验","客户得分-投资知识", +// "客户得分-忍受亏损百分比","客户得分-首要考虑","客户得分-认赔动作","客户得分-赔钱心理","客户得分-最重要特性","客户得分-避免工具","现金","人民币银行活存","其他流动资产","人民币银行定存","外币银行定存" +// ,"股票投资","债券投资","基金投资","实业投资","投资性房地产","保单现金价值","其他投资性资产","自用房地产","自用汽车","自用其他资产","信用卡负债","小额消费信贷","其他消费性负债","金融投资借款","实业投资借款" +// ,"投资性房地产按揭贷款","其他投资性负债","自用房地产贷款","自用汽车贷款","其他自用贷款","薪资收入","养老保险储蓄","医疗保险储蓄","住房公积金储蓄","其他工作收入","家计支出","子女教育支出","其他支出","利息收入", +// "资本利得","其他理财收入","利息支出","保障型保费支出","其他理财支出","投资现金流量-投资赎回","投资现金流量-新增投资","借贷现金流量-借入本金","借贷现金流量-还款本金","客户财务情况分析","家庭月支出","现金规划分析" +// ,"子女年龄","国内学费增长率","国外学费增长率","求学年龄","求学时间","目前学费","商业保险","储蓄计划","其他安排","教育规划分析","距离购房年限","总金额","首付比例","贷款年限","贷款利率","距离购车年限" +// ,"预计裸车价格","首付比例","贷款年限","贷款利率","上牌费用","车船使用税","商业保险","消费规划分析","计划创业年龄","创业时一次性投入","创业规划分析","退休前通货膨胀率","退休后通货膨胀率","退休后投资收益率" +// ,"计划退休年龄","希望享有的退休生活年限","目前生活水平","生活满意度","退休后、退休前生活水平折算比例","子女传承费用","社会保险","商业保险","租金收入","其他收入","退休规划分析","弥补遗属需求的寿险需求-姓名-配偶" +// ,"被保险人年龄-配偶","预计退休年龄-客户","预计退休年龄-配偶","投资报酬率-客户","投资报酬率-配偶","通货膨胀率-客户","通货膨胀率-配偶","收入增长率-客户","收入增长率-配偶","当前的家庭生活费用-客户","当前的家庭生活费用-配偶" +// ,"保险事故发生后支出调整率-客户","保险事故发生后支出调整率-配偶","配偶的个人年收入-客户","配偶的个人年收入-配偶","临终及丧葬支出现值-客户","临终及丧葬支出现值-配偶","目前贷款余额-客户","目前贷款余额-配偶","家庭生息资产-客户" +// ,"家庭生息资产-配偶","已有额度-客户","已有额度-配偶","预算金额-客户","预算金额-配偶","补充额度-客户","补充额度-配偶","保险规划分析","预计退休年龄","投资报酬率","当前个人年收入","收入增长率","当前个人年支出","年通货膨胀率" +// ,"已有额度","预算金额","补充额度","保险规划分析","理财方案","当前客户所处家庭生命周期","产品选择","投资规划分析","工资、薪金所得","个体工商户的生产、经营所得","对企事业单位承包、承租经营所得","劳务报酬所得", +// "稿酬所得","特许权使用费所得","财产转让所得","偶然所得","利息、红利、股利所得","税务筹划分析","婚姻、财产状况分析","财产分配规划分析","银行存款","人寿保单赔偿金额","其他现金账户","股票","债券","基金","其他投资收益" +// ,"养老金(一次性收入现值)","配偶/遗孤年金收益(现值)","其他退休基金","房产","汽车","其他个人资产","其他资产","短期贷款","中期贷款","长期贷款","其他贷款","临终医疗费用","预期收入纳税额支出","丧葬费用","遗产处理费用" +// ,"其他费用","其他负债","财务分析","财产传承规划分析"); +// +// synthesisPlanScores.sort(Comparator.comparingInt((SynthesisPlanScoreWithBLOBs s) -> firstNameOrder.indexOf(s.getManageMoneyMattersType())) +// .thenComparingInt((SynthesisPlanScoreWithBLOBs s) -> lastNameOrder.indexOf(s.getTestCenter()))); + PageInfo pageInfo = new PageInfo<>(synthesisPlanScores); SynthesisPlanScoreDto synthesisPlanScoreDto = new SynthesisPlanScoreDto(); synthesisPlanScoreDto.setContent(pageInfo); @@ -297,6 +316,7 @@ public class SynthesisPlanController { //获取总成绩 Double totalScore = synthesisPlanScoreMapper.getTotalScore(userId, caseId); synthesisPlanScoreDto.setTotalScore(totalScore); + synthesisPlanScoreDto.setName(caseInfo.getCustomerName()); return new ResultEntity<>(HttpStatus.OK, "规划报告审核报告展示成功!", synthesisPlanScoreDto); } diff --git a/src/main/java/com/sztzjy/money_management/controller/common/StatisticsController.java b/src/main/java/com/sztzjy/money_management/controller/common/StatisticsController.java index 5cabab4..1b55767 100644 --- a/src/main/java/com/sztzjy/money_management/controller/common/StatisticsController.java +++ b/src/main/java/com/sztzjy/money_management/controller/common/StatisticsController.java @@ -194,22 +194,22 @@ public class StatisticsController { BigDecimal avgScore = BigDecimal.ZERO; for (int i = 0; i < scoreRankList.size(); i++) { ScoreRank scoreRank = scoreRankList.get(i); - BigDecimal khalScore = scoreRank.getKhalScore(); - if (khalScore == null) { - khalScore = BigDecimal.ZERO; + BigDecimal totalScore = scoreRank.getTotalScore(); + if (totalScore == null) { + totalScore = BigDecimal.ZERO; } - if (khalScore.compareTo(maxScore) > 0) { //设置最高分 - maxScore = khalScore; + if (totalScore.compareTo(maxScore) > 0) { //设置最高分 + maxScore = totalScore; } - if (khalScore.compareTo(minScore) < 0) { //设置最低分 - minScore = khalScore; + if (totalScore.compareTo(minScore) < 0) { //设置最低分 + minScore = totalScore; } - avgScore = avgScore.add(khalScore); - if (khalScore.compareTo(BigDecimal.valueOf(90)) >= 0) { //设置优秀、良好、一般、不及格人数 + avgScore = avgScore.add(totalScore); + if (totalScore.compareTo(BigDecimal.valueOf(90)) >= 0) { //设置优秀、良好、一般、不及格人数 excellentCount = excellentCount + 1; - } else if (khalScore.compareTo(BigDecimal.valueOf(90)) < 0 && khalScore.compareTo(BigDecimal.valueOf(80)) >= 0) { + } else if (totalScore.compareTo(BigDecimal.valueOf(90)) < 0 && totalScore.compareTo(BigDecimal.valueOf(80)) >= 0) { goodCount = goodCount + 1; - } else if (khalScore.compareTo(BigDecimal.valueOf(80)) < 0 && khalScore.compareTo(BigDecimal.valueOf(60)) >= 0) { + } else if (totalScore.compareTo(BigDecimal.valueOf(80)) < 0 && totalScore.compareTo(BigDecimal.valueOf(60)) >= 0) { generalCount = generalCount + 1; } else { failCount = failCount + 1; diff --git a/src/main/java/com/sztzjy/money_management/controller/common/UserController.java b/src/main/java/com/sztzjy/money_management/controller/common/UserController.java index 3c1cee6..699e366 100644 --- a/src/main/java/com/sztzjy/money_management/controller/common/UserController.java +++ b/src/main/java/com/sztzjy/money_management/controller/common/UserController.java @@ -53,31 +53,34 @@ public class UserController { } catch (Exception e) { return new ResultEntity(HttpStatus.BAD_REQUEST, "密码错误"); } - UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(userName, passWord); - Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken); - SecurityContextHolder.getContext().setAuthentication(authentication); - jwtUser = (JwtUser) authentication.getPrincipal(); - String token = TokenProvider.createToken(jwtUser); - - // 1、子系统直接登录 - UserInfoExample stuUserExample = new UserInfoExample(); - stuUserExample.createCriteria().andUsernameEqualTo(userName).andPasswordEqualTo(passWord); - List stuUsers = userInfoMapper.selectByExample(stuUserExample); - //不存在返回错误,正确放行 - if (stuUsers.isEmpty()) { - return new ResultEntity(HttpStatus.BAD_REQUEST, "密码错误"); - } + try{ + UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(userName, passWord); + Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken); + SecurityContextHolder.getContext().setAuthentication(authentication); + jwtUser = (JwtUser) authentication.getPrincipal(); + String token = TokenProvider.createToken(jwtUser); + // 1、子系统直接登录 + UserInfoExample stuUserExample = new UserInfoExample(); + stuUserExample.createCriteria().andUsernameEqualTo(userName).andPasswordEqualTo(passWord); + List stuUsers = userInfoMapper.selectByExample(stuUserExample); + //不存在返回错误,正确放行 + if (stuUsers.isEmpty()) { + return new ResultEntity(HttpStatus.BAD_REQUEST, "密码错误"); + } // 保存用户的登录信息 - Map map = new HashMap<>(); - UserInfo user = stuUsers.get(0); - map.put("name", user.getName()); - map.put("username", user.getUsername()); - map.put("roleId", user.getRoleId()); - map.put("schoolId", user.getSchoolId()); - map.put("classId", user.getClassId()); - map.put("userId", user.getUserid()); - map.put("token", token); - return new ResultEntity(HttpStatus.OK, map); + Map map = new HashMap<>(); + UserInfo user = stuUsers.get(0); + map.put("name", user.getName()); + map.put("username", user.getUsername()); + map.put("roleId", user.getRoleId()); + map.put("schoolId", user.getSchoolId()); + map.put("classId", user.getClassId()); + map.put("userId", user.getUserid()); + map.put("token", token); + return new ResultEntity(HttpStatus.OK, map); + }catch (Exception e){ + return new ResultEntity(HttpStatus.BAD_REQUEST, "账号不存在"); + } } else { // 2、智云单点登录 jwtUser = TokenProvider.getJWTUserByZhiYun(TOKEN); diff --git a/src/main/java/com/sztzjy/money_management/mapper/SynthesisPlanScoreMapper.java b/src/main/java/com/sztzjy/money_management/mapper/SynthesisPlanScoreMapper.java index 54d2a8d..a9c7c41 100644 --- a/src/main/java/com/sztzjy/money_management/mapper/SynthesisPlanScoreMapper.java +++ b/src/main/java/com/sztzjy/money_management/mapper/SynthesisPlanScoreMapper.java @@ -58,4 +58,7 @@ public interface SynthesisPlanScoreMapper { @Select("SELECT count(userid) from synthesis_plan_score where userid=#{userId} and caseid=#{caseid}") Integer CountScoreSizeByUserIdAndCaseId(String userId, String caseid); + + List selectByExampleWithBLOBsAndOrder(@Param("caseId") String caseId, @Param("userId") String userId); + } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/money_management/service/impl/TrainingServiceImpl.java b/src/main/java/com/sztzjy/money_management/service/impl/TrainingServiceImpl.java index e319a1c..c7149f4 100644 --- a/src/main/java/com/sztzjy/money_management/service/impl/TrainingServiceImpl.java +++ b/src/main/java/com/sztzjy/money_management/service/impl/TrainingServiceImpl.java @@ -214,6 +214,7 @@ public class TrainingServiceImpl implements TrainingService { clientExample.createCriteria().andUseridEqualTo(userId).andSubmitStatusEqualTo("已审核"); //获取该用户所有审核通过的综合规划数据 List synthesisPlanClientList = synthesisPlanClientMapper.selectByExample(clientExample); + clientExample.setOrderByClause("get_time desc"); if(synthesisPlanClientList.isEmpty()){ return null; } diff --git a/src/main/resources/mapper/ObjectiveQuestionMapper.xml b/src/main/resources/mapper/ObjectiveQuestionMapper.xml index dcaa336..9fd77a9 100644 --- a/src/main/resources/mapper/ObjectiveQuestionMapper.xml +++ b/src/main/resources/mapper/ObjectiveQuestionMapper.xml @@ -559,6 +559,7 @@ question_c, question_d, question_e, + answer, outline, subclass, content diff --git a/src/main/resources/mapper/SynthesisPlanScoreMapper.xml b/src/main/resources/mapper/SynthesisPlanScoreMapper.xml index 1a87213..c787082 100644 --- a/src/main/resources/mapper/SynthesisPlanScoreMapper.xml +++ b/src/main/resources/mapper/SynthesisPlanScoreMapper.xml @@ -341,4 +341,12 @@ #{item.score,jdbcType=DECIMAL}, #{item.caseAnswer,jdbcType=LONGVARCHAR}, #{item.stuAnswer,jdbcType=LONGVARCHAR}) + +