Commit 6de2192e5b03fe32e57e7227b3d57ef35d052051
1 parent
1102ee1e
答案统计
Showing
4 changed files
with
61 additions
and
42 deletions
resources/mybatis1/sunvote/HomeworkProblemMapper.xml
| @@ -94,6 +94,16 @@ | @@ -94,6 +94,16 @@ | ||
| 94 | HOMEWORKPROBLEM_ID = #{HOMEWORKPROBLEM_ID} | 94 | HOMEWORKPROBLEM_ID = #{HOMEWORKPROBLEM_ID} |
| 95 | </select> | 95 | </select> |
| 96 | 96 | ||
| 97 | + <select id="findByCodeAndRank" parameterType="pd" resultType="pd"> | ||
| 98 | + select | ||
| 99 | + <include refid="Field"></include> | ||
| 100 | + from | ||
| 101 | + <include refid="tableName"></include> | ||
| 102 | + where | ||
| 103 | + CODE = #{CODE}, | ||
| 104 | + and RANK = #{RANK} | ||
| 105 | + </select> | ||
| 106 | + | ||
| 97 | <!-- 列表 --> | 107 | <!-- 列表 --> |
| 98 | <select id="datalistPage" parameterType="page" resultType="pd"> | 108 | <select id="datalistPage" parameterType="page" resultType="pd"> |
| 99 | select | 109 | select |
src/com/fh/controller/sunvote/homework/HomeworkController.java
| @@ -44,7 +44,8 @@ import com.fh.util.StringUtil; | @@ -44,7 +44,8 @@ import com.fh.util.StringUtil; | ||
| 44 | import com.google.gson.Gson; | 44 | import com.google.gson.Gson; |
| 45 | 45 | ||
| 46 | /** | 46 | /** |
| 47 | - * 说明:作业 创建人:FH Q313596790 创建时间:2019-03-07 | 47 | + * 说明:作业 创建人:FH Q313596790 |
| 48 | + * 创建时间:2019-03-07 | ||
| 48 | */ | 49 | */ |
| 49 | @Controller | 50 | @Controller |
| 50 | @RequestMapping(value = "/homework") | 51 | @RequestMapping(value = "/homework") |
| @@ -406,53 +407,47 @@ public class HomeworkController extends BaseController { | @@ -406,53 +407,47 @@ public class HomeworkController extends BaseController { | ||
| 406 | String index = pageData.getString("INDEX"); | 407 | String index = pageData.getString("INDEX"); |
| 407 | int indexint = Integer.parseInt(index); | 408 | int indexint = Integer.parseInt(index); |
| 408 | List<PageData> data = homeworkReporkService.findNoAnswerByHomeworkID(pageData); | 409 | List<PageData> data = homeworkReporkService.findNoAnswerByHomeworkID(pageData); |
| 409 | - List<PageData> result = new ArrayList(); | ||
| 410 | - PageData aresult = new PageData(); | ||
| 411 | - aresult.put("ANSWER", "A"); | ||
| 412 | - PageData bresult = new PageData(); | ||
| 413 | - bresult.put("ANSWER", "B"); | ||
| 414 | - PageData cresult = new PageData(); | ||
| 415 | - cresult.put("ANSWER", "C"); | ||
| 416 | - PageData dresult = new PageData(); | ||
| 417 | - dresult.put("ANSWER", "D"); | ||
| 418 | - PageData eresult = new PageData(); | ||
| 419 | - eresult.put("ANSWER", ""); | ||
| 420 | - result.add(aresult); | ||
| 421 | - result.add(bresult); | ||
| 422 | - result.add(cresult); | ||
| 423 | - result.add(dresult); | ||
| 424 | - result.add(eresult); | ||
| 425 | - for(PageData pd : data){ | ||
| 426 | - String answer = pd.getString("ANSWER"); | ||
| 427 | - if(!StringUtils.isEmpty(answer)){ | ||
| 428 | - String[] answers = answer.split(";"); | ||
| 429 | - if(answers.length >= indexint -1){ | ||
| 430 | - String ans = answers[indexint - 1]; | ||
| 431 | - String[] anss = ans.split(","); | ||
| 432 | - if(anss != null && anss.length == 2){ | ||
| 433 | - PageData tresult = null; | ||
| 434 | - for(PageData ptd : result){ | ||
| 435 | - if(anss[0].toUpperCase().equals(anss[0].toUpperCase())){ | ||
| 436 | - tresult = ptd; | 410 | + pageData = homeworkService.findById(pageData); |
| 411 | + pageData.put("RANK", indexint); | ||
| 412 | + pageData = homeworkproblemService.findByCodeAndRank(pageData); | ||
| 413 | + pageData.remove("HOMEWORKPROBLEM_ID"); | ||
| 414 | + pageData.remove("HOMEWORK_ID"); | ||
| 415 | + pageData.remove("CODE"); | ||
| 416 | + pageData.remove("RANK"); | ||
| 417 | + pageData.remove("NAME"); | ||
| 418 | + pageData.remove("TYPE"); | ||
| 419 | + String optionNumStr = pageData.getString("OPTION_NUM"); | ||
| 420 | + String rightAnswer = pageData.getString("RIGHT_ANSWER"); | ||
| 421 | + rightAnswer = rightAnswer.toUpperCase(); | ||
| 422 | + int optionNum = Integer.parseInt(optionNumStr); | ||
| 423 | + | ||
| 424 | + List<List<String>> resultData = new ArrayList(); | ||
| 425 | + for (int i = 0; i < optionNum; i++) { | ||
| 426 | + List<String> optionAnswer = new ArrayList(); | ||
| 427 | + resultData.add(optionAnswer); | ||
| 428 | + for (PageData pd : data) { | ||
| 429 | + String answer = pd.getString("ANSWER"); | ||
| 430 | + if (!StringUtils.isEmpty(answer)) { | ||
| 431 | + String[] answers = answer.split(";"); | ||
| 432 | + if (answers.length >= indexint - 1) { | ||
| 433 | + String ans = answers[indexint - 1]; | ||
| 434 | + String[] anss = ans.split(","); | ||
| 435 | + if (anss != null && anss.length == 2) { | ||
| 436 | + char option = (char)('A' + i) ; | ||
| 437 | + if(anss[0] != null){ | ||
| 438 | + if(anss[0].contains("" + option)){ | ||
| 439 | + optionAnswer.add(pd.getString("STUDENT_NAME")); | ||
| 440 | + } | ||
| 437 | } | 441 | } |
| 438 | } | 442 | } |
| 439 | - if(tresult == null){ | ||
| 440 | - tresult = new PageData(); | ||
| 441 | - result.add(tresult); | ||
| 442 | - } | ||
| 443 | - List<String> list = (List)tresult.get("STUDENTS"); | ||
| 444 | - if(list == null){ | ||
| 445 | - list = new ArrayList(); | ||
| 446 | - } | ||
| 447 | - list.add(pd.getString("STUDENT_NAME")); | ||
| 448 | - tresult.put("ANSWER", anss[0].toUpperCase()); | ||
| 449 | - tresult.put("STUDENTS", list); | ||
| 450 | - tresult.put("RIGHT", !"0".equals(anss[1])); | ||
| 451 | } | 443 | } |
| 452 | } | 444 | } |
| 453 | } | 445 | } |
| 454 | } | 446 | } |
| 455 | - return new Gson().toJson(result); | 447 | + Map<String,Object> map = new HashMap(); |
| 448 | + map.put("ANSWER", rightAnswer); | ||
| 449 | + map.put("DATA", resultData); | ||
| 450 | + return new Gson().toJson(map); | ||
| 456 | 451 | ||
| 457 | } | 452 | } |
| 458 | 453 |
src/com/fh/service/sunvote/homeworkproblem/HomeworkProblemManager.java
| @@ -64,6 +64,12 @@ public interface HomeworkProblemManager{ | @@ -64,6 +64,12 @@ public interface HomeworkProblemManager{ | ||
| 64 | */ | 64 | */ |
| 65 | public PageData findById(PageData pd)throws Exception; | 65 | public PageData findById(PageData pd)throws Exception; |
| 66 | 66 | ||
| 67 | + /**通过id获取数据 | ||
| 68 | + * @param pd | ||
| 69 | + * @throws Exception | ||
| 70 | + */ | ||
| 71 | + public PageData findByCodeAndRank(PageData pd)throws Exception; | ||
| 72 | + | ||
| 67 | /**批量删除 | 73 | /**批量删除 |
| 68 | * @param ArrayDATA_IDS | 74 | * @param ArrayDATA_IDS |
| 69 | * @throws Exception | 75 | * @throws Exception |
src/com/fh/service/sunvote/homeworkproblem/impl/HomeworkProblemService.java
| @@ -90,6 +90,14 @@ public class HomeworkProblemService implements HomeworkProblemManager{ | @@ -90,6 +90,14 @@ public class HomeworkProblemService implements HomeworkProblemManager{ | ||
| 90 | return (PageData)dao.findForObject("HomeworkProblemMapper.findById", pd); | 90 | return (PageData)dao.findForObject("HomeworkProblemMapper.findById", pd); |
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | + /**通过id获取数据 | ||
| 94 | + * @param pd | ||
| 95 | + * @throws Exception | ||
| 96 | + */ | ||
| 97 | + public PageData findByCodeAndRank(PageData pd)throws Exception{ | ||
| 98 | + return (PageData)dao.findForObject("HomeworkProblemMapper.findByCodeAndRank", pd); | ||
| 99 | + } | ||
| 100 | + | ||
| 93 | /**批量删除 | 101 | /**批量删除 |
| 94 | * @param ArrayDATA_IDS | 102 | * @param ArrayDATA_IDS |
| 95 | * @throws Exception | 103 | * @throws Exception |