Yansen 2 jaren geleden
bovenliggende
commit
2b9384556f

db/.back_文明创办/文明创办-backup-202312223659.pdma.json → db/.back_文明创办/文明创办-backup-202317194605.pdma.json Bestand weergeven

@@ -2,9 +2,9 @@
2 2
   "name": "文明创办",
3 3
   "describe": "文明创办",
4 4
   "avatar": "",
5
-  "version": "4.2.0",
5
+  "version": "4.1.4",
6 6
   "createdTime": "2022-12-12 09:36:12",
7
-  "updatedTime": "2023-1-2 20:52:56",
7
+  "updatedTime": "2023-1-4 09:07:35",
8 8
   "dbConns": [],
9 9
   "profile": {
10 10
     "default": {
@@ -8108,6 +8108,23 @@
8108 8108
           "uiHint": "",
8109 8109
           "id": "FC7B9B05-7D57-4818-8266-F8A4D62DB212"
8110 8110
         },
8111
+        {
8112
+          "defKey": "msg_type",
8113
+          "defName": "消息类型",
8114
+          "comment": "",
8115
+          "type": "",
8116
+          "len": "",
8117
+          "scale": "",
8118
+          "primaryKey": false,
8119
+          "notNull": false,
8120
+          "autoIncrement": false,
8121
+          "defaultValue": "",
8122
+          "hideInGraph": false,
8123
+          "refDict": "",
8124
+          "extProps": {},
8125
+          "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792",
8126
+          "id": "92ACF22A-5638-4B62-9656-71D9089F7D7E"
8127
+        },
8111 8128
         {
8112 8129
           "defKey": "title",
8113 8130
           "defName": "消息标题",

db/.back_文明创办/文明创办-backup-202312205256.pdma.json → db/.back_文明创办/文明创办-backup-202317202536.pdma.json Bestand weergeven

@@ -2,9 +2,9 @@
2 2
   "name": "文明创办",
3 3
   "describe": "文明创办",
4 4
   "avatar": "",
5
-  "version": "4.2.0",
5
+  "version": "4.1.4",
6 6
   "createdTime": "2022-12-12 09:36:12",
7
-  "updatedTime": "2023-1-2 20:51:00",
7
+  "updatedTime": "2023-1-7 19:46:05",
8 8
   "dbConns": [],
9 9
   "profile": {
10 10
     "default": {
@@ -7985,9 +7985,38 @@
7985 7985
       "id": "430EE745-314D-48CE-A20B-ED2C4D79BC92",
7986 7986
       "env": {
7987 7987
         "base": {
7988
-          "nameSpace": "",
7989
-          "codeRoot": ""
7990
-        }
7988
+          "nameSpace": "com.example.civilizedcity",
7989
+          "codeRoot": "TaMessage"
7990
+        },
7991
+        "template": {
7992
+          "JavaMybatisPlus": {
7993
+            "Controller": {
7994
+              "suffix": "controller/{{=it.codeRoot}}Controller.java",
7995
+              "enable": true
7996
+            },
7997
+            "Service": {
7998
+              "suffix": "service/{{=it.codeRoot}}Service.java",
7999
+              "enable": true
8000
+            },
8001
+            "ServiceImpl": {
8002
+              "suffix": "service/impl/{{=it. codeRoot}}ServiceImpl.java",
8003
+              "enable": true
8004
+            },
8005
+            "Mapper": {
8006
+              "suffix": "mapper/{{=it.codeRoot}}Mapper.java",
8007
+              "enable": true
8008
+            },
8009
+            "Mapper.xml": {
8010
+              "suffix": "mapper/{{=it.codeRoot}}Mapper.xml",
8011
+              "enable": true
8012
+            },
8013
+            "Entity": {
8014
+              "suffix": "entity/{{=it.codeRoot}}.java",
8015
+              "enable": true
8016
+            }
8017
+          }
8018
+        },
8019
+        "custom": {}
7991 8020
       },
7992 8021
       "defKey": "ta_message",
7993 8022
       "defName": "消息通知",
@@ -8063,7 +8092,7 @@
8063 8092
       ],
8064 8093
       "fields": [
8065 8094
         {
8066
-          "defKey": "id",
8095
+          "defKey": "msg_id",
8067 8096
           "defName": "ID",
8068 8097
           "comment": "",
8069 8098
           "type": "",
@@ -8079,6 +8108,23 @@
8079 8108
           "uiHint": "",
8080 8109
           "id": "FC7B9B05-7D57-4818-8266-F8A4D62DB212"
8081 8110
         },
8111
+        {
8112
+          "defKey": "msg_type",
8113
+          "defName": "消息类型",
8114
+          "comment": "",
8115
+          "type": "",
8116
+          "len": "",
8117
+          "scale": "",
8118
+          "primaryKey": false,
8119
+          "notNull": false,
8120
+          "autoIncrement": false,
8121
+          "defaultValue": "",
8122
+          "hideInGraph": false,
8123
+          "refDict": "",
8124
+          "extProps": {},
8125
+          "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792",
8126
+          "id": "92ACF22A-5638-4B62-9656-71D9089F7D7E"
8127
+        },
8082 8128
         {
8083 8129
           "defKey": "title",
8084 8130
           "defName": "消息标题",

+ 35
- 1
db/文明创办.pdma.json Bestand weergeven

@@ -4,7 +4,7 @@
4 4
   "avatar": "",
5 5
   "version": "4.1.4",
6 6
   "createdTime": "2022-12-12 09:36:12",
7
-  "updatedTime": "2023-1-4 09:07:35",
7
+  "updatedTime": "2023-1-7 20:25:36",
8 8
   "dbConns": [],
9 9
   "profile": {
10 10
     "default": {
@@ -4748,6 +4748,40 @@
4748 4748
           "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
4749 4749
           "id": "0EF50BA7-C44F-4D9E-A28D-F94C3D15350F"
4750 4750
         },
4751
+        {
4752
+          "defKey": "loc_score",
4753
+          "defName": "实地测评得分",
4754
+          "comment": "",
4755
+          "type": "DECIMAL",
4756
+          "len": 6,
4757
+          "scale": 2,
4758
+          "primaryKey": false,
4759
+          "notNull": false,
4760
+          "autoIncrement": false,
4761
+          "defaultValue": "",
4762
+          "hideInGraph": false,
4763
+          "refDict": "",
4764
+          "extProps": {},
4765
+          "domain": "",
4766
+          "id": "D4F39D10-19B6-49F6-A398-D9278355E747"
4767
+        },
4768
+        {
4769
+          "defKey": "survey_score",
4770
+          "defName": "调查问卷得分",
4771
+          "comment": "",
4772
+          "type": "DECIMAL",
4773
+          "len": 6,
4774
+          "scale": 2,
4775
+          "primaryKey": false,
4776
+          "notNull": false,
4777
+          "autoIncrement": false,
4778
+          "defaultValue": "",
4779
+          "hideInGraph": false,
4780
+          "refDict": "",
4781
+          "extProps": {},
4782
+          "domain": "",
4783
+          "id": "F2E17D81-03A9-42C4-8DD7-732C8D40DC59"
4784
+        },
4751 4785
         {
4752 4786
           "defKey": "start_date",
4753 4787
           "defName": "开始日期",

+ 4
- 5
src/main/java/com/example/civilizedcity/common/Constants.java Bestand weergeven

@@ -8,11 +8,6 @@ public class Constants {
8 8
     public final static int STATUS_READY = 0;
9 9
     public final static int STATUS_NORMAL = 1;
10 10
 
11
-
12
-    public final static String CHECK_ITEM_LOC = "loc";  // 实例调研
13
-    public final static String CHECK_ITEM_SURVEY = "survey";  // 问卷调研
14
-
15
-
16 11
     // 操作员身份
17 12
     // 督察员
18 13
     public final static String DUTY_INSPECTOR = "inspector";
@@ -87,4 +82,8 @@ public class Constants {
87 82
     public final static String MESSAGE_TARGET_ISSUE = "issue";
88 83
     // 申请流程
89 84
     public final static String MESSAGE_TARGET_APPLY = "apply";
85
+
86
+    // 调查问卷
87
+    public final static String CHECK_OF_LOC = "loc"; // 实地调查
88
+    public final static String CHECK_OF_SURVEY = "survey"; // 调查问卷
90 89
 }

+ 19
- 0
src/main/java/com/example/civilizedcity/controller/TaCheckController.java Bestand weergeven

@@ -108,6 +108,25 @@ public class TaCheckController extends BaseController {
108 108
         return ResponseBean.success(taCheck);
109 109
     }
110 110
 
111
+
112
+    /**
113
+     * 计算分数
114
+     *
115
+     * @param id 实例ID
116
+     * @return 实例对象
117
+     */
118
+    @ApiOperation("计算分数")
119
+    @PutMapping("/taCheck/{id}/score")
120
+    public ResponseBean calcScore(@ApiParam("对象ID") @PathVariable String id) throws Exception {
121
+        TaCheck taCheck = taCheckService.getById(id);
122
+        if (null == taCheck || taCheck.getStatus() == Constants.STATUS_DELETE) {
123
+            return ResponseBean.error("未找到模拟测评信息");
124
+        }
125
+
126
+        taCheckService.calcScore(taCheck);
127
+        return ResponseBean.success(taCheck);
128
+    }
129
+
111 130
     /**
112 131
      * 通过主键删除数据
113 132
      *

+ 2
- 2
src/main/java/com/example/civilizedcity/controller/TaCheckItemController.java Bestand weergeven

@@ -67,7 +67,7 @@ public class TaCheckItemController extends BaseController {
67 67
      private TaCheckItem getByCheckAndType(String checkId, String typeId) {
68 68
          QueryWrapper<TaCheckItem> queryWrapper = new QueryWrapper<>();
69 69
          queryWrapper.eq("check_id", checkId);
70
-         queryWrapper.eq("item_type", Constants.CHECK_ITEM_LOC); // 只查点位
70
+         queryWrapper.eq("item_type", Constants.CHECK_OF_LOC); // 只查点位
71 71
          queryWrapper.eq("type_id", typeId);
72 72
          queryWrapper.gt("status", Constants.STATUS_DELETE);
73 73
 
@@ -108,7 +108,7 @@ public class TaCheckItemController extends BaseController {
108 108
             return ResponseBean.error("测评类型不能为空");
109 109
         }
110 110
 
111
-        if ("loc".equals(taCheckItem.getItemType()) && StringUtils.isEmpty(taCheckItem.getTypeId())) {
111
+        if (Constants.CHECK_OF_LOC.equals(taCheckItem.getItemType()) && StringUtils.isEmpty(taCheckItem.getTypeId())) {
112 112
             return ResponseBean.error("测评点位不能为空");
113 113
         }
114 114
 

+ 6
- 0
src/main/java/com/example/civilizedcity/entity/TaCheck.java Bestand weergeven

@@ -33,6 +33,12 @@ public class TaCheck implements Serializable,Cloneable{
33 33
       /** 总分 */
34 34
       @ApiModelProperty(name = "总分",notes = "")
35 35
       private Integer score ;
36
+       /** 实地测评得分 */
37
+       @ApiModelProperty(name = "实地测评得分",notes = "")
38
+       private Double locScore ;
39
+       /** 调查问卷得分 */
40
+       @ApiModelProperty(name = "调查问卷得分",notes = "")
41
+       private Double surveyScore ;
36 42
       /** 开始日期;YYYY-MM-DD */
37 43
       @ApiModelProperty(name = "开始日期",notes = "YYYY-MM-DD")
38 44
       private String startDate ;

+ 6
- 3
src/main/java/com/example/civilizedcity/mapper/TaCheckAnswerItemMapper.java Bestand weergeven

@@ -5,12 +5,15 @@ import org.apache.ibatis.annotations.Mapper;
5 5
 import org.apache.ibatis.annotations.Param;
6 6
 import com.example.civilizedcity.entity.TaCheckAnswerItem;
7 7
 
8
- /**
8
+import java.util.List;
9
+
10
+/**
9 11
  * 测评作答详情;(ta_check_answer_item)表数据库访问层
10 12
  * @author : http://njyunzhi.com
11 13
  * @date : 2022-12-13
12 14
  */
13 15
 @Mapper
14 16
 public interface TaCheckAnswerItemMapper  extends BaseMapper<TaCheckAnswerItem>{
15
-    
16
-}
17
+
18
+     List<TaCheckAnswerItem> getListBy(@Param("answerId") String answerId);
19
+ }

+ 9
- 2
src/main/java/com/example/civilizedcity/mapper/TaCheckAnswerMapper.java Bestand weergeven

@@ -5,12 +5,19 @@ import org.apache.ibatis.annotations.Mapper;
5 5
 import org.apache.ibatis.annotations.Param;
6 6
 import com.example.civilizedcity.entity.TaCheckAnswer;
7 7
 
8
- /**
8
+import java.util.List;
9
+
10
+/**
9 11
  * 测评作答;(ta_check_answer)表数据库访问层
10 12
  * @author : http://njyunzhi.com
11 13
  * @date : 2022-12-13
12 14
  */
13 15
 @Mapper
14 16
 public interface TaCheckAnswerMapper  extends BaseMapper<TaCheckAnswer>{
15
-    
17
+
18
+     Integer countByItem(@Param("itemId") String itemId);
19
+
20
+     List<TaCheckAnswer> getListBy(@Param("itemId") String itemId);
21
+
22
+    Double sumScore(@Param("itemId") String itemId, @Param("num") Integer num);
16 23
 }

+ 5
- 1
src/main/java/com/example/civilizedcity/mapper/TaCheckItemMapper.java Bestand weergeven

@@ -6,7 +6,9 @@ import org.apache.ibatis.annotations.Mapper;
6 6
 import org.apache.ibatis.annotations.Param;
7 7
 import com.example.civilizedcity.entity.TaCheckItem;
8 8
 
9
- /**
9
+import java.util.List;
10
+
11
+/**
10 12
  * 测评点位;(ta_check_item)表数据库访问层
11 13
  * @author : http://njyunzhi.com
12 14
  * @date : 2022-12-13
@@ -17,4 +19,6 @@ public interface TaCheckItemMapper  extends BaseMapper<TaCheckItem>{
17 19
      IPage<TaCheckItem> getPageBy(IPage<TaCheckItem> pg, @Param("checkId") String checkId, @Param("itemType") String itemType);
18 20
 
19 21
      int createNewLocItems(@Param("checkId") String checkId);
22
+
23
+     List<TaCheckItem> getListBy(@Param("checkId") String checkId, @Param("itemType") String itemType);
20 24
  }

+ 8
- 3
src/main/java/com/example/civilizedcity/mapper/TaCheckItemQuMapper.java Bestand weergeven

@@ -5,12 +5,17 @@ import org.apache.ibatis.annotations.Mapper;
5 5
 import org.apache.ibatis.annotations.Param;
6 6
 import com.example.civilizedcity.entity.TaCheckItemQu;
7 7
 
8
- /**
8
+import java.util.List;
9
+
10
+/**
9 11
  * 点位问题;(ta_check_item_qu)表数据库访问层
10 12
  * @author : http://njyunzhi.com
11 13
  * @date : 2022-12-13
12 14
  */
13 15
 @Mapper
14 16
 public interface TaCheckItemQuMapper  extends BaseMapper<TaCheckItemQu>{
15
-    
16
-}
17
+
18
+     Integer countByItem(@Param("itemId") String itemId);
19
+
20
+     List<TaCheckItemQu> getListBy(@Param("itemId") String itemId);
21
+ }

+ 3
- 2
src/main/java/com/example/civilizedcity/service/TaCheckService.java Bestand weergeven

@@ -8,5 +8,6 @@ import com.example.civilizedcity.entity.TaCheck;
8 8
  * @date : 2022-12-12
9 9
  */
10 10
 public interface TaCheckService extends IBaseService<TaCheck> {
11
-    
12
-}
11
+
12
+     TaCheck calcScore(TaCheck taCheck);
13
+ }

+ 2
- 1
src/main/java/com/example/civilizedcity/service/impl/TaCheckItemServiceImpl.java Bestand weergeven

@@ -1,6 +1,7 @@
1 1
 package com.example.civilizedcity.service.impl;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.example.civilizedcity.common.Constants;
4 5
 import com.example.civilizedcity.entity.TaCheck;
5 6
 import org.springframework.beans.factory.annotation.Autowired;
6 7
 import org.springframework.stereotype.Service;
@@ -29,7 +30,7 @@ public class TaCheckItemServiceImpl extends BaseServiceImpl<TaCheckItemMapper, T
29 30
         // 再创建调查问卷
30 31
         TaCheckItem taCheckItem = new TaCheckItem();
31 32
         taCheckItem.setCheckId(taCheck.getCheckId());
32
-        taCheckItem.setItemType("survey");
33
+        taCheckItem.setItemType(Constants.CHECK_OF_SURVEY);
33 34
         taCheckItem.setName("调查问卷");
34 35
         save(taCheckItem);
35 36
     }

+ 159
- 4
src/main/java/com/example/civilizedcity/service/impl/TaCheckServiceImpl.java Bestand weergeven

@@ -1,15 +1,170 @@
1 1
 package com.example.civilizedcity.service.impl;
2 2
 
3
+import com.example.civilizedcity.common.Constants;
4
+import com.example.civilizedcity.common.StringUtils;
5
+import com.example.civilizedcity.entity.*;
6
+import com.example.civilizedcity.mapper.*;
7
+import org.springframework.beans.factory.annotation.Autowired;
3 8
 import org.springframework.stereotype.Service;
4
-import com.example.civilizedcity.entity.TaCheck;
5
-import com.example.civilizedcity.mapper.TaCheckMapper;
6 9
 import com.example.civilizedcity.service.TaCheckService;
7
- /**
10
+import org.springframework.transaction.annotation.Transactional;
11
+
12
+import java.util.List;
13
+
14
+/**
8 15
  * 模拟测评;(ta_mock_check)表服务实现类
16
+ *
9 17
  * @author : http://www.chiner.pro
10 18
  * @date : 2022-12-12
11 19
  */
12 20
 @Service
13 21
 public class TaCheckServiceImpl extends BaseServiceImpl<TaCheckMapper, TaCheck> implements TaCheckService {
14
-    
22
+
23
+    @Autowired
24
+    TaCheckItemMapper taCheckItemMapper;
25
+
26
+    @Autowired
27
+    TaCheckItemQuMapper taCheckItemQuMapper;
28
+
29
+    @Autowired
30
+    TaCheckAnswerMapper taCheckAnswerMapper;
31
+
32
+    @Autowired
33
+    TaCheckAnswerItemMapper taCheckAnswerItemMapper;
34
+
35
+    @Transactional(rollbackFor = Exception.class)
36
+    @Override
37
+    public TaCheck calcScore(TaCheck taCheck) {
38
+
39
+        // 调查问卷分数
40
+        double surveyScore = calcSurveyScore(taCheck);
41
+
42
+        // 计算点位分数
43
+        double locScore = calcLocScore(taCheck);
44
+
45
+        taCheck.setLocScore(locScore);
46
+        taCheck.setSurveyScore(surveyScore);
47
+
48
+        updateById(taCheck);
49
+
50
+        return taCheck;
51
+    }
52
+
53
+    /**
54
+     * 计算点位分数
55
+     * 计算的前提是, 每份试卷(ta_check_answer)的分数已经计算好了
56
+     * @param taCheck
57
+     * @return
58
+     */
59
+    private double calcLocScore(TaCheck taCheck) {
60
+        List<TaCheckItem> checkItemList = taCheckItemMapper.getListBy(taCheck.getCheckId(), Constants.CHECK_OF_LOC);
61
+        if (null == checkItemList || checkItemList.size() == 0) return 0.0;
62
+
63
+        // 所有问卷得分的和
64
+        double totalScore = 0.0;
65
+        for (TaCheckItem checkItem : checkItemList) {
66
+            Double score = taCheckAnswerMapper.sumScore(checkItem.getItemId(), checkItem.getNum());
67
+            double s = null == score ? 0.0 : score;
68
+            checkItem.setScore(s);
69
+            taCheckItemMapper.updateById(checkItem);
70
+
71
+            totalScore += s;
72
+        }
73
+
74
+        return totalScore;
75
+    }
76
+
77
+    /**
78
+     * 计算调查问卷分数
79
+     * 计算的前提是, 每个题目(ta_check_answer_item)的分数已经计算好了
80
+     * 暂仅支持选择题算法
81
+     * 总分数 = 100 / 问卷分数 / 每份问卷的题数
82
+     * @param taCheck
83
+     * @return
84
+     */
85
+    private double calcSurveyScore(TaCheck taCheck) {
86
+        // 目前的需求, 此处应该只能查询到一条数据
87
+        List<TaCheckItem> checkItemList = taCheckItemMapper.getListBy(taCheck.getCheckId(), Constants.CHECK_OF_SURVEY);
88
+        if (null == checkItemList || checkItemList.size() == 0) return 0.0;
89
+
90
+        // 所有问卷得分的和
91
+        double totalScore = 0.0;
92
+        for (TaCheckItem checkItem : checkItemList) {
93
+            // 问卷份数
94
+            List<TaCheckAnswer> answerList = taCheckAnswerMapper.getListBy(checkItem.getItemId());
95
+            if (answerList == null || answerList.size() == 0) continue;
96
+            int copyNum = answerList.size();
97
+
98
+            // 题目数
99
+            List<TaCheckItemQu> quList = taCheckItemQuMapper.getListBy(checkItem.getItemId());
100
+            if (quList == null || quList.size() == 0) continue;
101
+            int quNum = quList.size();
102
+
103
+            // 每题的最大分数
104
+            double maxStandScore = 100.00 / copyNum / quNum;
105
+
106
+            // 总分
107
+            double score = 0.0;
108
+            for (TaCheckAnswer answer : answerList) {
109
+                // 获取答案列表
110
+                List<TaCheckAnswerItem> answerItemList = taCheckAnswerItemMapper.getListBy(answer.getAnswerId());
111
+                if (null == answerItemList || answerItemList.size() == 0) continue;
112
+
113
+                // 每题得分
114
+                double quScore = 0.0;
115
+                for (TaCheckAnswerItem answerItem : answerItemList) {
116
+                    if (null == answerItem.getScore() || isZero(answerItem.getScore())) {
117
+                        // 如果得分是 0
118
+                        continue;
119
+                    }
120
+
121
+                    // 查询对应的问题
122
+                    TaCheckItemQu qu = getQu(quList, answerItem.getQuId());
123
+                    if (null == qu) continue;   // 找不到对应题目不计算
124
+                    if (null == qu.getMaxScore() || isZero(qu.getMaxScore())) continue; // 题目没有维护最大分数, 不计算
125
+
126
+                    // 计算转换比
127
+                    double ratio = maxStandScore / qu.getMaxScore();
128
+
129
+                    // 当前得分
130
+                    double s = Math.abs(answerItem.getScore()) > qu.getMaxScore() ?  qu.getMaxScore() : answerItem.getScore();
131
+                    if (answerItem.getScore() < 0) {
132
+                        // 在与最大值的比较过程中, 最大值是正数, 有可能改变得分的符号
133
+                        // 所以此处要纠正过来
134
+                        s = 0 - Math.abs(s);
135
+                    }
136
+
137
+                    // 分值
138
+                    quScore += s * ratio;
139
+                }
140
+
141
+                answer.setScore(quScore);
142
+                taCheckAnswerMapper.updateById(answer);
143
+
144
+                // 分值
145
+                score += quScore;
146
+            }
147
+
148
+            checkItem.setScore(score);
149
+            taCheckItemMapper.updateById(checkItem);
150
+
151
+            totalScore += score;
152
+        }
153
+
154
+        return totalScore;
155
+    }
156
+
157
+    private TaCheckItemQu getQu(List<TaCheckItemQu> quList, String quId) {
158
+        for (TaCheckItemQu qu : quList) {
159
+            if (qu.getQuId().equals(quId)) {
160
+                return qu;
161
+            }
162
+        }
163
+
164
+        return null;
165
+    }
166
+
167
+    private boolean isZero(Double d) {
168
+        return Math.abs(d) < 0.0001;
169
+    }
15 170
 }

+ 10
- 1
src/main/resources/mapper/TaCheckAnswerItemMapper.xml Bestand weergeven

@@ -2,5 +2,14 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 
4 4
 <mapper namespace="com.example.civilizedcity.mapper.TaCheckAnswerItemMapper">
5
-    
5
+
6
+    <select id="getListBy" resultType="com.example.civilizedcity.entity.TaCheckAnswerItem">
7
+        SELECT
8
+            *
9
+        FROM
10
+            ta_check_answer_item t
11
+        WHERE
12
+            t.answer_id = #{answerId}
13
+          AND t.`status` &gt; -1
14
+    </select>
6 15
 </mapper>

+ 31
- 1
src/main/resources/mapper/TaCheckAnswerMapper.xml Bestand weergeven

@@ -2,5 +2,35 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 
4 4
 <mapper namespace="com.example.civilizedcity.mapper.TaCheckAnswerMapper">
5
-    
5
+
6
+    <select id="countByItem" resultType="java.lang.Integer">
7
+        SELECT
8
+            count( 1 )
9
+        FROM
10
+            ta_check_answer t
11
+        WHERE
12
+            t.item_id = #{itemId}
13
+          AND t.`status` &gt; -1
14
+    </select>
15
+    <select id="getListBy" resultType="com.example.civilizedcity.entity.TaCheckAnswer">
16
+        SELECT
17
+            *
18
+        FROM
19
+            ta_check_answer t
20
+        WHERE
21
+            t.item_id = #{itemId}
22
+          AND t.`status` &gt; -1
23
+    </select>
24
+    <select id="sumScore" resultType="java.lang.Double">
25
+        SELECT
26
+            sum( t.score )
27
+        FROM
28
+            ta_check_answer t
29
+        WHERE
30
+            t.item_id = #{itemId}
31
+          AND t.`status` &gt; - 1
32
+        ORDER BY
33
+            t.create_date ASC
34
+        LIMIT #{num}
35
+    </select>
6 36
 </mapper>

+ 11
- 0
src/main/resources/mapper/TaCheckItemMapper.xml Bestand weergeven

@@ -29,6 +29,7 @@
29 29
         WHERE
30 30
             t.check_id = #{checkId}
31 31
           AND t.item_type = #{itemType}
32
+          AND t.`status` &gt; -1
32 33
         ORDER BY
33 34
         <if test="itemType != null and itemType == 'loc'">
34 35
             s.sort_no ASC
@@ -37,4 +38,14 @@
37 38
             t.create_date ASC
38 39
         </if>
39 40
     </select>
41
+    <select id="getListBy" resultType="com.example.civilizedcity.entity.TaCheckItem">
42
+        SELECT
43
+            t.*
44
+        FROM
45
+            ta_check_item t
46
+        WHERE
47
+            t.check_id = #{checkId}
48
+          AND t.item_type = #{itemType}
49
+          AND t.`status` &gt; -1
50
+    </select>
40 51
 </mapper>

+ 17
- 1
src/main/resources/mapper/TaCheckItemQuMapper.xml Bestand weergeven

@@ -2,5 +2,21 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 
4 4
 <mapper namespace="com.example.civilizedcity.mapper.TaCheckItemQuMapper">
5
-    
5
+
6
+    <select id="countByItem" resultType="java.lang.Integer">
7
+        SELECT
8
+            count( 1 )
9
+        FROM
10
+            ta_check_item_qu t
11
+        WHERE
12
+            t.item_id = #{itemId}
13
+    </select>
14
+    <select id="getListBy" resultType="com.example.civilizedcity.entity.TaCheckItemQu">
15
+        SELECT
16
+            *
17
+        FROM
18
+            ta_check_item_qu t
19
+        WHERE
20
+            t.item_id = #{itemId}
21
+    </select>
6 22
 </mapper>