Commit e3e172e3666e37943ac67a0e55f973889c11c65c
1 parent
7fe5283cab
Exists in
master
and in
6 other branches
修复bug
Showing 1 changed file with 14 additions and 5 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java
View file @
e3e172e
... | ... | @@ -716,7 +716,7 @@ |
716 | 716 | return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("未查到该儿童的建档数据"); |
717 | 717 | } |
718 | 718 | Integer month = DateUtil.getBabyAgeMonth(babyModel.getBirth(), new Date()); |
719 | - Integer currentMonth = getCurrentMonth(month, 3, 1); | |
719 | + //Integer currentMonth = getCurrentMonth(month, 3, 1); | |
720 | 720 | model.setBirth(babyModel.getBirth()); |
721 | 721 | model.setCardNo(babyModel.getCardNo()); |
722 | 722 | model.setVcCardNo(babyModel.getVcCardNo()); |
... | ... | @@ -731,7 +731,7 @@ |
731 | 731 | // 总分 |
732 | 732 | model.setTotalScore(model.getStandingComponent() + model.getSeatComponent() + model.getSupineComponent() + model.getLieProstratComponent()); |
733 | 733 | // 百分位 |
734 | - BabyEvaluationCriterionModel babyEvaluationCriterionModel = getBabyEvaluationCriterionModel(model, currentMonth); | |
734 | + BabyEvaluationCriterionModel babyEvaluationCriterionModel = getBabyEvaluationCriterionModel(model, month); | |
735 | 735 | model.setPercentileScore(babyEvaluationCriterionModel.getPercent()); |
736 | 736 | mongoTemplate.insert(model); |
737 | 737 | } |
... | ... | @@ -739,7 +739,7 @@ |
739 | 739 | if (StringUtils.isNotEmpty(id)) { |
740 | 740 | Integer month = DateUtil.getBabyAgeMonth(model.getBirth(), |
741 | 741 | mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), ExerciseAppraisalModel.class).getCreateTime()); |
742 | - Integer currentMonth = getCurrentMonth(month, 3, 1); | |
742 | + //Integer currentMonth = getCurrentMonth(month, 3, 1); | |
743 | 743 | model.setCreateUser(null); |
744 | 744 | model.setCreateTime(null); |
745 | 745 | model.setBirth(null); |
... | ... | @@ -756,7 +756,7 @@ |
756 | 756 | // 总分 |
757 | 757 | model.setTotalScore(model.getStandingComponent() + model.getSeatComponent() + model.getSupineComponent() + model.getLieProstratComponent()); |
758 | 758 | // 百分位 |
759 | - BabyEvaluationCriterionModel babyEvaluationCriterionModel = getBabyEvaluationCriterionModel(model, currentMonth); | |
759 | + BabyEvaluationCriterionModel babyEvaluationCriterionModel = getBabyEvaluationCriterionModel(model, month); | |
760 | 760 | model.setPercentileScore(babyEvaluationCriterionModel.getPercent()); |
761 | 761 | Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(model)); |
762 | 762 | mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(id)), update, ExerciseAppraisalModel.class); |
763 | 763 | |
764 | 764 | |
... | ... | @@ -764,14 +764,23 @@ |
764 | 764 | return new BaseResponse(); |
765 | 765 | } |
766 | 766 | |
767 | + /** | |
768 | + * 根据总分数和月龄匹配最符合的数据 | |
769 | + * | |
770 | + * @param model | |
771 | + * @param month | |
772 | + * @return | |
773 | + */ | |
767 | 774 | private BabyEvaluationCriterionModel getBabyEvaluationCriterionModel(ExerciseAppraisalModel model, Integer month) { |
768 | 775 | |
769 | 776 | Integer totalScore = model.getTotalScore(); |
770 | 777 | |
778 | + // 获取边界最大和最小分数 | |
771 | 779 | List<BabyEvaluationCriterionModel> modelList = mongoTemplate.find(Query.query(Criteria.where("month").is(month).and("type").is(1)), BabyEvaluationCriterionModel.class); |
772 | 780 | BabyEvaluationCriterionModel evaluationCriterionModel = modelList.get(0); |
773 | 781 | Integer maxScore = evaluationCriterionModel.getMaxScore(); |
774 | 782 | Integer minScore = evaluationCriterionModel.getMinScore(); |
783 | + | |
775 | 784 | Integer scoreIndex = maxScore < totalScore ? maxScore : minScore > totalScore ? minScore : totalScore; |
776 | 785 | List<BabyEvaluationCriterionModel> criterionModel = mongoTemplate.find(Query.query(Criteria.where("score").gte(scoreIndex).and("month").is(month).and("type").is(1)). |
777 | 786 | with(new Sort(new Sort.Order(Sort.Direction.ASC, "minScore")) ), BabyEvaluationCriterionModel.class); |
... | ... | @@ -841,7 +850,7 @@ |
841 | 850 | // 总分 |
842 | 851 | Integer startScore = param.getStartScore(); |
843 | 852 | Integer endScore = param.getEndScore(); |
844 | - if (startScore != null && endCheckTime != null && endScore >= startScore) { | |
853 | + if (startScore != null && endScore != null && endScore >= startScore) { | |
845 | 854 | query.addCriteria(Criteria.where("totalScore").gte(startScore).lte(endScore)); |
846 | 855 | } |
847 | 856 |