Browse Source

计算知识点分值,公共使用

tags/正式3.10.0
王宁 1 year ago
parent
commit
829a09cad3

+ 0
- 9
scommons/src/main/java/com/xhkjedu/utils/N_Utils.java View File

@@ -1188,13 +1188,4 @@ public class N_Utils {
1188 1188
             return new Double[]{avg.doubleValue(), lastScore.doubleValue()};
1189 1189
         }
1190 1190
     }
1191
-
1192
-    public static void main(String[] args) {
1193
-        Double[] fz = getPointAvgScore(9, 20.0);
1194
-        Double[] jg = getPointAvgScore(9,17.0);
1195
-
1196
-        System.out.println("20÷9:" + fz[0] + ";" + fz[1]);
1197
-        System.out.println("17÷9:" + jg[0] + ";" + jg[1]);
1198
-
1199
-    }
1200 1191
 }

+ 1
- 1
sexam/src/main/java/com/xhkjedu/sexam/service/paper/EPaperQtypeService.java View File

@@ -467,7 +467,7 @@ public class EPaperQtypeService {
467 467
 
468 468
                 //试题有多个知识点
469 469
                 //计算每个知识点所占分值(平均分配)
470
-                Double[] avgps = ExamUtil.getPointAvgScore(qpoints.size(),dq.getScore());
470
+                Double[] avgps = N_Utils.getPointAvgScore(qpoints.size(),dq.getScore());
471 471
                 List<Map> pointids = new ArrayList<>();
472 472
                 for(int m = 0; m<qpoints.size();m++){
473 473
                     Map pointmap = qpoints.get(m);

+ 1
- 1
sexam/src/main/java/com/xhkjedu/sexam/service/report/EReportGenerateService.java View File

@@ -2470,7 +2470,7 @@ public class EReportGenerateService {
2470 2470
             gradestulist.add(pscvo);
2471 2471
         } else {
2472 2472
             //计算每个知识点所占分值(平均分配)
2473
-            Double[] avgps = ExamUtil.getPointAvgScore(points.size(), sq.getStuscore());
2473
+            Double[] avgps = N_Utils.getPointAvgScore(points.size(), sq.getStuscore());
2474 2474
             for (int j = 0; j < points.size(); j++) {
2475 2475
                 Map pointmap = points.get(j);
2476 2476
                 ERPointStuScoreVo pscvo = new ERPointStuScoreVo();

+ 0
- 24
sexam/src/main/java/com/xhkjedu/sexam/utils/ExamUtil.java View File

@@ -220,30 +220,6 @@ public class ExamUtil {
220 220
         }
221 221
     }
222 222
 
223
-    /**
224
-     * @Description 分值平均后得到的值,如果整除返回数组元素1,未整除返回元素数量2
225
-     * @Param [num, score] 数量,分值
226
-     * @Return java.lang.Double[] 第一个未平均分值,第二个值为最后一个数的分值
227
-     * @Author wn
228
-     * @Date 2022/8/18 11:07
229
-     **/
230
-    public static Double[] getPointAvgScore(int num, Double score) {
231
-        BigDecimal bScore = new BigDecimal(Double.toString(score));
232
-        BigDecimal bNum = new BigDecimal(Integer.toString(num));
233
-
234
-        BigDecimal avg = bScore.divide(bNum, 1, BigDecimal.ROUND_DOWN);
235
-        BigDecimal avgAllScore = avg.multiply(bNum);//平均分乘以数量得到的分值
236
-        if (bScore.equals(avgAllScore)) {
237
-            //说明整除
238
-            return new Double[]{avg.doubleValue()};
239
-        } else {
240
-            //未整除,计算最后剩余分值,subtract总分减去平均分和数量的积
241
-            // 平均分加上剩余得分得到最后一个分值
242
-            BigDecimal lastScore = avg.add(bScore.subtract(avgAllScore));
243
-            return new Double[]{avg.doubleValue(), lastScore.doubleValue()};
244
-        }
245
-    }
246
-
247 223
     /**
248 224
      * double转String去掉结尾的.0
249 225
      *

+ 1
- 1
sstudy/src/main/java/com/xhkjedu/sstudy/service/paper/PaperService.java View File

@@ -747,7 +747,7 @@ public class PaperService {
747 747
 
748 748
                 //试题有多个知识点
749 749
                 //计算每个知识点所占分值(平均分配)
750
-                Double[] avgps = StudyUtil.getPointAvgScore(qpoints.size(), dq.getPtqscore());
750
+                Double[] avgps = N_Utils.getPointAvgScore(qpoints.size(), dq.getPtqscore());
751 751
                 List<Map> pointids = new ArrayList<>();
752 752
                 for(int m = 0; m<qpoints.size();m++){
753 753
                     Map pointmap = qpoints.get(m);

+ 0
- 25
sstudy/src/main/java/com/xhkjedu/sstudy/utils/StudyUtil.java View File

@@ -16,7 +16,6 @@ import org.springframework.util.MultiValueMap;
16 16
 import org.springframework.web.client.RestClientException;
17 17
 import org.springframework.web.client.RestTemplate;
18 18
 
19
-import java.math.BigDecimal;
20 19
 import java.util.ArrayList;
21 20
 import java.util.LinkedHashMap;
22 21
 import java.util.List;
@@ -160,30 +159,6 @@ public class StudyUtil {
160 159
         return types;
161 160
     }
162 161
 
163
-    /**
164
-     * @Description 分值平均后得到的值,如果整除返回数组元素1,未整除返回元素数量2
165
-     * @Param [num, score] 数量,分值
166
-     * @Return java.lang.Double[] 第一个未平均分值,第二个值为最后一个数的分值
167
-     * @Author wn
168
-     * @Date 2022/8/18 11:07
169
-     **/
170
-    public static Double[] getPointAvgScore(int num, Double score) {
171
-        BigDecimal bScore = new BigDecimal(Double.toString(score));
172
-        BigDecimal bNum = new BigDecimal(Integer.toString(num));
173
-
174
-        BigDecimal avg = bScore.divide(bNum, 1, BigDecimal.ROUND_DOWN);
175
-        BigDecimal avgAllScore = avg.multiply(bNum);//平均分乘以数量得到的分值
176
-        if (bScore.equals(avgAllScore)) {
177
-            //说明整除
178
-            return new Double[]{avg.doubleValue()};
179
-        } else {
180
-            //未整除,计算最后剩余分值,subtract总分减去平均分和数量的积
181
-            // 平均分加上剩余得分得到最后一个分值
182
-            BigDecimal lastScore = avg.add(bScore.subtract(avgAllScore));
183
-            return new Double[]{avg.doubleValue(), lastScore.doubleValue()};
184
-        }
185
-    }
186
-
187 162
     /**
188 163
      * @Description 得分率分组:1优秀率≥85% 2良好率≥70% 3合格率≥60% 4其他40%~60% 5低分率≤40%
189 164
      * @Param [scorerate]

Loading…
Cancel
Save