Commit d9b2b42013f74b89da8026a5bc1b58a45e527174
1 parent
83d0b153
提交数据 使用多线程
Showing
6 changed files
with
298 additions
and
243 deletions
resources/mybatis1/api/V1Mapper.xml
... | ... | @@ -213,6 +213,21 @@ |
213 | 213 | </select> |
214 | 214 | |
215 | 215 | |
216 | + | |
217 | + <!-- 通过学校ID和学号,查找学生对应的信息 --> | |
218 | + <select id="findStudentBySchoolIdAndNumber" parameterType="pd" resultType="pd"> | |
219 | + SELECT | |
220 | + sv_student.* | |
221 | + FROM | |
222 | + sv_student | |
223 | + LEFT JOIN sv_sclass ON sv_student.CLASS_ID = sv_sclass.ID | |
224 | + WHERE | |
225 | + sv_sclass.SCHOOL_ID = #{SCHOOL_ID} | |
226 | + AND sv_student.NUMBER = #{NUMBER} | |
227 | + | |
228 | + </select> | |
229 | + | |
230 | + | |
216 | 231 | <select id="getLastWrongQuestionInfo" parameterType="pd" resultType="pd"> |
217 | 232 | |
218 | 233 | SELECT | ... | ... |
resources/mybatis1/sunvote/StudentTestMapper.xml
src/com/fh/controller/api/V1.java
... | ... | @@ -1634,118 +1634,132 @@ public class V1 extends BaseController { |
1634 | 1634 | public Object uploadupdateTestpaper() { |
1635 | 1635 | event("uploadupdateTestpaper"); |
1636 | 1636 | long cur = System.currentTimeMillis(); |
1637 | - PageData pd = this.getPageData(); | |
1637 | + final PageData pd = this.getPageData(); | |
1638 | 1638 | ResponseGson<String> res = new ResponseGson(); |
1639 | 1639 | if (!StringUtils.isEmpty(pd.getJsonString())) { |
1640 | - logger.info(pd.getJsonString()); | |
1641 | - TestPaper testPaper = TestPaper.parse(pd.getJsonString()); | |
1642 | - try { | |
1643 | - PageData testPd = new PageData(); | |
1644 | - String testPaperId = this.get32UUID(); | |
1645 | - testPd.put("TEACHER_ID", testPaper.getTeacherId()); | |
1646 | - testPd.put("PAPER_ID", testPaper.getPaperId()); | |
1647 | - testPd.put("SCLASS_ID", testPaper.getClassId()); | |
1648 | - testPd.put( | |
1649 | - "CREATE_DATE", | |
1650 | - testPaper.getCreateDate() == null ? Tools | |
1651 | - .date2Str(new Date()) : testPaper | |
1652 | - .getCreateDate()); | |
1653 | - testPd.put( | |
1654 | - "TEST_TYPE", | |
1655 | - testPaper.getTest_type() != null ? testPaper | |
1656 | - .getTest_type() : "1"); | |
1657 | - List<PageData> listData = testpaperService.listAll(testPd); | |
1658 | - if ((listData != null && listData.size() > 0)) { | |
1659 | - testPaperId = listData.get(0).getString("TESTPAPER_ID"); | |
1660 | - testpaperService.deleteList(testPd); | |
1661 | - testPd.put("TEST_ID", testPaperId); | |
1662 | - testpaperinfoService.delete(testPd); | |
1663 | - studenttestService.delete(testPd); | |
1664 | - } | |
1665 | - testPd.put("START_DATE", testPaper.getStartDate()); | |
1666 | - testPd.put("END_DATE", testPaper.getEndDate()); | |
1667 | - testPd.put("NAME", testPaper.getName()); | |
1668 | - testPd.put("TESTPAPER_ID", testPaperId); | |
1669 | - testPd.put("OTHER_SCORE", testPaper.getOtherScore()); | |
1670 | - testPd.put("HIGHT_SCORE", testPaper.getHighScore()); | |
1671 | - testPd.put("LOW_SCORE", testPaper.getLowScore()); | |
1672 | - testPd.put("AVG_SCORE", testPaper.getAvgScore()); | |
1673 | - testPd.put("TOTAL_SCORE", testPaper.getTotalScore()); | |
1674 | - testPd.put("SUBJECT_ID", testPaper.getSubject_id()); | |
1675 | - testPd.put("REMARK", testPaper.getRemark()); | |
1676 | - testpaperService.save(testPd); | |
1677 | - if (testPaper.getStudents() != null) { | |
1678 | - List<PageData> testInfoPdList = new ArrayList(); | |
1679 | - PageData testInfoPd = null; | |
1680 | - for (StudentAnswer studentAnswer : testPaper.getStudents()) { | |
1681 | - if (studentAnswer.getQuestions() != null) { | |
1682 | - PageData studentPageData = new PageData(); | |
1683 | - studentPageData.put("STUDENT_ID", | |
1684 | - studentAnswer.getStudentId()); | |
1685 | - studentPageData.put("TEST_ID", testPaperId); | |
1686 | - studentPageData.put("PAPER_ID", | |
1687 | - testPaper.getPaperId()); | |
1688 | - studentPageData.put("SCORE", | |
1689 | - studentAnswer.getScore()); | |
1690 | - studentPageData.put("CLASS_ID", | |
1691 | - testPaper.getClassId()); | |
1692 | - studentPageData.put("STUDENTTEST_ID", get32UUID()); | |
1640 | + new Thread() { | |
1641 | + public void run() { | |
1642 | + logger.info(pd.getJsonString()); | |
1643 | + TestPaper testPaper = TestPaper.parse(pd.getJsonString()); | |
1644 | + try { | |
1645 | + PageData testPd = new PageData(); | |
1646 | + String testPaperId = get32UUID(); | |
1647 | + testPd.put("TEACHER_ID", testPaper.getTeacherId()); | |
1648 | + testPd.put("PAPER_ID", testPaper.getPaperId()); | |
1649 | + testPd.put("SCLASS_ID", testPaper.getClassId()); | |
1650 | + testPd.put( | |
1651 | + "CREATE_DATE", | |
1652 | + testPaper.getCreateDate() == null ? Tools | |
1653 | + .date2Str(new Date()) : testPaper | |
1654 | + .getCreateDate()); | |
1655 | + testPd.put( | |
1656 | + "TEST_TYPE", | |
1657 | + testPaper.getTest_type() != null ? testPaper | |
1658 | + .getTest_type() : "1"); | |
1659 | + List<PageData> listData = testpaperService | |
1660 | + .listAll(testPd); | |
1661 | + if ((listData != null && listData.size() > 0)) { | |
1662 | + testPaperId = listData.get(0).getString( | |
1663 | + "TESTPAPER_ID"); | |
1664 | + testpaperService.deleteList(testPd); | |
1665 | + testPd.put("TEST_ID", testPaperId); | |
1666 | + testpaperinfoService.delete(testPd); | |
1667 | + studenttestService.delete(testPd); | |
1668 | + } | |
1669 | + testPd.put("START_DATE", testPaper.getStartDate()); | |
1670 | + testPd.put("END_DATE", testPaper.getEndDate()); | |
1671 | + testPd.put("NAME", testPaper.getName()); | |
1672 | + testPd.put("TESTPAPER_ID", testPaperId); | |
1673 | + testPd.put("OTHER_SCORE", testPaper.getOtherScore()); | |
1674 | + testPd.put("HIGHT_SCORE", testPaper.getHighScore()); | |
1675 | + testPd.put("LOW_SCORE", testPaper.getLowScore()); | |
1676 | + testPd.put("AVG_SCORE", testPaper.getAvgScore()); | |
1677 | + testPd.put("TOTAL_SCORE", testPaper.getTotalScore()); | |
1678 | + testPd.put("SUBJECT_ID", testPaper.getSubject_id()); | |
1679 | + testPd.put("REMARK", testPaper.getRemark()); | |
1680 | + testpaperService.save(testPd); | |
1681 | + if (testPaper.getStudents() != null) { | |
1682 | + List<PageData> testInfoPdList = new ArrayList(); | |
1683 | + PageData testInfoPd = null; | |
1684 | + for (StudentAnswer studentAnswer : testPaper | |
1685 | + .getStudents()) { | |
1686 | + if (studentAnswer.getQuestions() != null) { | |
1687 | + PageData studentPageData = new PageData(); | |
1688 | + studentPageData.put("STUDENT_ID", | |
1689 | + studentAnswer.getStudentId()); | |
1690 | + studentPageData.put("TEST_ID", testPaperId); | |
1691 | + studentPageData.put("PAPER_ID", | |
1692 | + testPaper.getPaperId()); | |
1693 | + studentPageData.put("SCORE", | |
1694 | + studentAnswer.getScore()); | |
1695 | + studentPageData.put("CLASS_ID", | |
1696 | + testPaper.getClassId()); | |
1697 | + studentPageData.put("STUDENTTEST_ID", | |
1698 | + get32UUID()); | |
1699 | + | |
1700 | + String flag = ""; | |
1701 | + for (TestPaperInfo testPaperInfo : studentAnswer | |
1702 | + .getQuestions()) { | |
1703 | + testInfoPd = new PageData(); | |
1704 | + testInfoPd.put("TESTPAPERINFO_ID", | |
1705 | + get32UUID()); | |
1706 | + testInfoPd.put("PAPER_ID", | |
1707 | + testPaper.getPaperId()); | |
1708 | + testInfoPd.put("STUDENT_ID", | |
1709 | + studentAnswer.getStudentId()); | |
1710 | + testInfoPd.put("TEST_ID", testPaperId); | |
1711 | + testInfoPd.put("QUESTION_ID", | |
1712 | + testPaperInfo.getQuestionId()); | |
1713 | + testInfoPd.put("ANSWER", | |
1714 | + testPaperInfo.getAnswer()); | |
1715 | + flag = StringUtils.isEmpty(testPaperInfo | |
1716 | + .getAnswer()) | |
1717 | + ? "" | |
1718 | + + flag : testPaperInfo | |
1719 | + .getAnswer(); | |
1720 | + testInfoPd.put("RIGHT", | |
1721 | + testPaperInfo.getRight()); | |
1722 | + testInfoPd.put("SCORE", | |
1723 | + testPaperInfo.getScore()); | |
1724 | + testInfoPd.put("LIKES", | |
1725 | + testPaperInfo.getLikes()); | |
1726 | + testInfoPd | |
1727 | + .put("ANSWER_TYPE", | |
1728 | + testPaperInfo | |
1729 | + .getAnswerType() == null ? "1" | |
1730 | + : testPaperInfo | |
1731 | + .getAnswerType()); | |
1732 | + testInfoPd.put("PRESS_TIME", | |
1733 | + testPaperInfo.getPressTime()); | |
1734 | + testInfoPd | |
1735 | + .put("RECEIVER_DATE", | |
1736 | + testPaperInfo | |
1737 | + .getReceiverDate()); | |
1738 | + testInfoPd.put("SUBJECTIVE", | |
1739 | + testPaperInfo.getSubjective()); | |
1740 | + testInfoPd.put("NOTE", | |
1741 | + testPaperInfo.getNote()); | |
1742 | + testInfoPd.put("MARK_NO", | |
1743 | + testPaperInfo.getMarkNo()); | |
1744 | + testInfoPdList.add(testInfoPd); | |
1745 | + } | |
1693 | 1746 | |
1694 | - String flag = ""; | |
1695 | - for (TestPaperInfo testPaperInfo : studentAnswer | |
1696 | - .getQuestions()) { | |
1697 | - testInfoPd = new PageData(); | |
1698 | - testInfoPd.put("TESTPAPERINFO_ID", | |
1699 | - this.get32UUID()); | |
1700 | - testInfoPd.put("PAPER_ID", | |
1701 | - testPaper.getPaperId()); | |
1702 | - testInfoPd.put("STUDENT_ID", | |
1703 | - studentAnswer.getStudentId()); | |
1704 | - testInfoPd.put("TEST_ID", testPaperId); | |
1705 | - testInfoPd.put("QUESTION_ID", | |
1706 | - testPaperInfo.getQuestionId()); | |
1707 | - testInfoPd.put("ANSWER", | |
1708 | - testPaperInfo.getAnswer()); | |
1709 | - flag = testPaperInfo.getAnswer().toString() | |
1710 | - .equals("") ? "" + flag : testPaperInfo | |
1711 | - .getAnswer().toString(); | |
1712 | - testInfoPd.put("RIGHT", | |
1713 | - testPaperInfo.getRight()); | |
1714 | - testInfoPd.put("SCORE", | |
1715 | - testPaperInfo.getScore()); | |
1716 | - testInfoPd.put("LIKES", | |
1717 | - testPaperInfo.getLikes()); | |
1718 | - testInfoPd.put("ANSWER_TYPE", testPaperInfo | |
1719 | - .getAnswerType() == null ? "1" | |
1720 | - : testPaperInfo.getAnswerType()); | |
1721 | - testInfoPd.put("PRESS_TIME", | |
1722 | - testPaperInfo.getPressTime()); | |
1723 | - testInfoPd.put("RECEIVER_DATE", | |
1724 | - testPaperInfo.getReceiverDate()); | |
1725 | - testInfoPd.put("SUBJECTIVE", | |
1726 | - testPaperInfo.getSubjective()); | |
1727 | - testInfoPd.put("NOTE", testPaperInfo.getNote()); | |
1728 | - testInfoPd.put("MARK_NO", | |
1729 | - testPaperInfo.getMarkNo()); | |
1730 | - testInfoPdList.add(testInfoPd); | |
1747 | + if (flag.equals("")) { | |
1748 | + studentPageData.put("LOST_TEST", "1"); | |
1749 | + } | |
1750 | + studenttestService.save(studentPageData); | |
1751 | + } | |
1731 | 1752 | } |
1732 | - | |
1733 | - if (flag.equals("")) { | |
1734 | - studentPageData.put("LOST_TEST", "1"); | |
1753 | + if (testInfoPdList != null | |
1754 | + && testInfoPdList.size() > 0) { | |
1755 | + testpaperinfoService.batchSave(testInfoPdList); | |
1735 | 1756 | } |
1736 | - studenttestService.save(studentPageData); | |
1737 | 1757 | } |
1738 | - } | |
1739 | - if (testInfoPdList != null && testInfoPdList.size() > 0) { | |
1740 | - testpaperinfoService.batchSave(testInfoPdList); | |
1758 | + } catch (Exception e) { | |
1759 | + e.printStackTrace(); | |
1741 | 1760 | } |
1742 | 1761 | } |
1743 | - res.setData(testPaperId); | |
1744 | - } catch (Exception e) { | |
1745 | - e.printStackTrace(); | |
1746 | - res.setError(); | |
1747 | - res.setMessage(e.getMessage()); | |
1748 | - } | |
1762 | + }.start(); | |
1749 | 1763 | } else { |
1750 | 1764 | res.setDataError(); |
1751 | 1765 | } |
... | ... | @@ -1766,156 +1780,163 @@ public class V1 extends BaseController { |
1766 | 1780 | public Object uploadstudenttest() { |
1767 | 1781 | event("uploadstudenttest"); |
1768 | 1782 | long cur = System.currentTimeMillis(); |
1769 | - PageData pd = this.getPageData(); | |
1783 | + final PageData pd = this.getPageData(); | |
1770 | 1784 | ResponseGson<String> res = new ResponseGson(); |
1771 | 1785 | if (!StringUtils.isEmpty(pd.getJsonString())) { |
1772 | - logger.info(pd.getJsonString()); | |
1773 | - try { | |
1774 | - StudentPaper studentPaper = StudentPaper.parse(pd | |
1775 | - .getJsonString()); | |
1776 | - | |
1777 | - PageData testPd = new PageData(); | |
1778 | - testPd.put("PAPER_ID", studentPaper.getPaperId()); | |
1779 | - List<PageData> oldList = testpaperService.listAll(testPd); | |
1780 | - if (oldList == null || oldList.size() == 0) { | |
1781 | - testPd.put("TEACHER_ID", ""); | |
1782 | - testPd.put("SCLASS_ID", ""); | |
1783 | - testPd.put( | |
1784 | - "CREATE_DATE", | |
1785 | - studentPaper.getCreateDate() == null ? Tools | |
1786 | - .date2Str(new Date()) : studentPaper | |
1787 | - .getCreateDate()); | |
1788 | - testPd.put("TEST_TYPE", "1"); | |
1789 | - testPd.put("START_DATE",studentPaper.getStartDate()); | |
1790 | - testPd.put("END_DATE", studentPaper.getEndDate()); | |
1791 | - testPd.put("TESTPAPER_ID", studentPaper.getPaperId()); | |
1792 | - testPd.put("OTHER_SCORE", ""); | |
1793 | - testPd.put("HIGHT_SCORE", ""); | |
1794 | - testPd.put("LOW_SCORE", ""); | |
1795 | - testPd.put("AVG_SCORE", ""); | |
1796 | - testPd.put("TOTAL_SCORE", ""); | |
1797 | - testPd.put("SUBJECT_ID", studentPaper.getSubject_id()); | |
1798 | - testPd.put("REMARK", ""); | |
1799 | - testPd.put("NAME", studentPaper.getName()); | |
1800 | - testpaperService.save(testPd); | |
1801 | - }else{ | |
1802 | - boolean find = false; | |
1803 | - for(PageData pda: oldList){ | |
1804 | - if(pda != null && studentPaper.getPaperId().equals(pda.get("TESTPAPER_ID"))){ | |
1805 | - find = true; | |
1806 | - break; | |
1786 | + new Thread(){ | |
1787 | + public void run() { | |
1788 | + logger.info(pd.getJsonString()); | |
1789 | + | |
1790 | + try { | |
1791 | + StudentPaper studentPaper = StudentPaper.parse(pd | |
1792 | + .getJsonString()); | |
1793 | + | |
1794 | + PageData testPd = new PageData(); | |
1795 | + testPd.put("PAPER_ID", studentPaper.getPaperId()); | |
1796 | + List<PageData> oldList = testpaperService.listAll(testPd); | |
1797 | + if (oldList == null || oldList.size() == 0) { | |
1798 | + testPd.put("TEACHER_ID", ""); | |
1799 | + testPd.put("SCLASS_ID", ""); | |
1800 | + testPd.put( | |
1801 | + "CREATE_DATE", | |
1802 | + studentPaper.getCreateDate() == null ? Tools | |
1803 | + .date2Str(new Date()) : studentPaper | |
1804 | + .getCreateDate()); | |
1805 | + testPd.put("TEST_TYPE", "1"); | |
1806 | + testPd.put("START_DATE",studentPaper.getStartDate()); | |
1807 | + testPd.put("END_DATE", studentPaper.getEndDate()); | |
1808 | + testPd.put("TESTPAPER_ID", studentPaper.getPaperId()); | |
1809 | + testPd.put("OTHER_SCORE", ""); | |
1810 | + testPd.put("HIGHT_SCORE", ""); | |
1811 | + testPd.put("LOW_SCORE", ""); | |
1812 | + testPd.put("AVG_SCORE", ""); | |
1813 | + testPd.put("TOTAL_SCORE", ""); | |
1814 | + testPd.put("SUBJECT_ID", studentPaper.getSubject_id()); | |
1815 | + testPd.put("REMARK", ""); | |
1816 | + testPd.put("NAME", studentPaper.getName()); | |
1817 | + testpaperService.save(testPd); | |
1818 | + }else{ | |
1819 | + boolean find = false; | |
1820 | + for(PageData pda: oldList){ | |
1821 | + if(pda != null && studentPaper.getPaperId().equals(pda.get("TESTPAPER_ID"))){ | |
1822 | + find = true; | |
1823 | + break; | |
1824 | + } | |
1825 | + } | |
1826 | + if(!find){ | |
1827 | + testPd.put("TEACHER_ID", ""); | |
1828 | + testPd.put("SCLASS_ID", ""); | |
1829 | + testPd.put( | |
1830 | + "CREATE_DATE", | |
1831 | + studentPaper.getCreateDate() == null ? Tools | |
1832 | + .date2Str(new Date()) : studentPaper | |
1833 | + .getCreateDate()); | |
1834 | + testPd.put("TEST_TYPE", "1"); | |
1835 | + testPd.put("START_DATE",studentPaper.getStartDate()); | |
1836 | + testPd.put("END_DATE", studentPaper.getEndDate()); | |
1837 | + testPd.put("TESTPAPER_ID", studentPaper.getPaperId()); | |
1838 | + testPd.put("OTHER_SCORE", ""); | |
1839 | + testPd.put("HIGHT_SCORE", ""); | |
1840 | + testPd.put("LOW_SCORE", ""); | |
1841 | + testPd.put("AVG_SCORE", ""); | |
1842 | + testPd.put("TOTAL_SCORE", ""); | |
1843 | + testPd.put("SUBJECT_ID", studentPaper.getSubject_id()); | |
1844 | + testPd.put("REMARK", ""); | |
1845 | + testPd.put("NAME", studentPaper.getName()); | |
1846 | + testpaperService.save(testPd); | |
1847 | + } | |
1807 | 1848 | } |
1808 | - } | |
1809 | - if(!find){ | |
1810 | - testPd.put("TEACHER_ID", ""); | |
1811 | - testPd.put("SCLASS_ID", ""); | |
1812 | - testPd.put( | |
1813 | - "CREATE_DATE", | |
1814 | - studentPaper.getCreateDate() == null ? Tools | |
1815 | - .date2Str(new Date()) : studentPaper | |
1816 | - .getCreateDate()); | |
1817 | - testPd.put("TEST_TYPE", "1"); | |
1818 | - testPd.put("START_DATE",studentPaper.getStartDate()); | |
1819 | - testPd.put("END_DATE", studentPaper.getEndDate()); | |
1820 | - testPd.put("TESTPAPER_ID", studentPaper.getPaperId()); | |
1821 | - testPd.put("OTHER_SCORE", ""); | |
1822 | - testPd.put("HIGHT_SCORE", ""); | |
1823 | - testPd.put("LOW_SCORE", ""); | |
1824 | - testPd.put("AVG_SCORE", ""); | |
1825 | - testPd.put("TOTAL_SCORE", ""); | |
1826 | - testPd.put("SUBJECT_ID", studentPaper.getSubject_id()); | |
1827 | - testPd.put("REMARK", ""); | |
1828 | - testPd.put("NAME", studentPaper.getName()); | |
1829 | - testpaperService.save(testPd); | |
1830 | - } | |
1831 | - } | |
1832 | 1849 | |
1833 | - List<StudentPaper.StudentAnswer> list = studentPaper | |
1834 | - .getStudents(); | |
1850 | + List<StudentPaper.StudentAnswer> list = studentPaper | |
1851 | + .getStudents(); | |
1835 | 1852 | |
1836 | - for (StudentPaper.StudentAnswer studentAnswer : list) { | |
1837 | - PageData stestPd = new PageData(); | |
1853 | + for (StudentPaper.StudentAnswer studentAnswer : list) { | |
1854 | + PageData stestPd = new PageData(); | |
1838 | 1855 | |
1839 | - String studentId = studentAnswer.getStudentId(); | |
1840 | - String classId = ""; | |
1856 | + String studentId = studentAnswer.getStudentId(); | |
1857 | + String classId = ""; | |
1841 | 1858 | |
1842 | - // 通过学号id 查找学生信息 | |
1843 | - if (StringUtils.isEmpty(studentId)) { | |
1844 | - PageData ptd = new PageData(); | |
1845 | - ptd.put("NUMBER", studentAnswer.getNumber()); | |
1846 | - PageData stPd = studentService.findByNumber(ptd); | |
1847 | - if (stPd != null) { | |
1848 | - studentId = stPd.getString("ID"); | |
1849 | - classId = stPd.getString("CLASS_ID"); | |
1850 | - } | |
1851 | - } else { | |
1852 | - PageData ptd = new PageData(); | |
1853 | - ptd.put("ID", studentAnswer.getStudentId()); | |
1854 | - PageData stPd = studentService.findByNumber(ptd); | |
1855 | - if (stPd != null) { | |
1856 | - studentId = stPd.getString("ID"); | |
1857 | - classId = stPd.getString("CLASS_ID"); | |
1858 | - } | |
1859 | - } | |
1860 | - if (StringUtils.isEmpty(studentId)) { | |
1861 | - continue; | |
1862 | - } | |
1863 | - stestPd.put("STUDENT_ID", studentId); | |
1864 | - stestPd.put("CLASS_ID", classId); | |
1865 | - stestPd.put("PAPER_ID", studentPaper.getPaperId()); | |
1866 | - stestPd.put("TEST_ID", studentPaper.getPaperId()); | |
1867 | - stestPd.put("SCORE", studentAnswer.getScore()); | |
1868 | - stestPd.put("LOST_TEST", studentAnswer.getLosttest()); | |
1869 | - List<PageData> liste = studenttestService.listAll(stestPd); | |
1870 | - if (liste == null || liste.size() == 0) { | |
1871 | - stestPd.put("STUDENTTEST_ID", get32UUID()); | |
1872 | - studenttestService.save(stestPd); | |
1873 | - } else { | |
1874 | - PageData ptd = liste.get(0); | |
1875 | - stestPd.put("STUDENTTEST_ID", ptd.get("STUDENTTEST_ID")); | |
1876 | - studenttestService.edit(stestPd); | |
1877 | - } | |
1878 | - | |
1879 | - List<PageData> testInfoPdList = new ArrayList(); | |
1880 | - List<StudentPaper.Question> questions = studentAnswer | |
1881 | - .getQuestions(); | |
1882 | - for (StudentPaper.Question question : questions) { | |
1883 | - PageData testInfoPd = new PageData(); | |
1884 | - testInfoPd.put("TESTPAPERINFO_ID", this.get32UUID()); | |
1885 | - testInfoPd.put("TEST_ID", studentPaper.getPaperId()); | |
1886 | - testInfoPd.put("PAPER_ID", studentPaper.getPaperId()); | |
1887 | - testInfoPd.put("STUDENT_ID", studentId); | |
1888 | - testInfoPd.put("QUESTION_ID", question.getQuestionId()); | |
1889 | - testInfoPd.put("ANSWER", question.getAnswer()); | |
1890 | - testInfoPd.put("RIGHT", question.getRight()); | |
1891 | - testInfoPd.put("SCORE", question.getScore()); | |
1892 | - testInfoPd.put("ANSWER_TYPE", question.getAnswerType()); | |
1893 | - List<PageData> listse = testpaperinfoService | |
1894 | - .listAll(testInfoPd); | |
1895 | - if (listse == null || listse.size() == 0) { | |
1896 | - testInfoPdList.add(testInfoPd); | |
1897 | - } else { | |
1898 | - PageData ptd = listse.get(0); | |
1899 | - testInfoPd.put("TESTPAPERINFO_ID", | |
1900 | - testInfoPd.get("TESTPAPERINFO_ID")); | |
1901 | - testpaperinfoService.edit(testInfoPd); | |
1902 | - } | |
1903 | - } | |
1859 | + // 通过学号id 查找学生信息 | |
1860 | + if (StringUtils.isEmpty(studentId)) { | |
1861 | + PageData ptd = new PageData(); | |
1862 | + ptd.put("NUMBER", studentAnswer.getNumber()); | |
1863 | + ptd.put("SCHOOL_ID", studentPaper.getSchoolId()); | |
1864 | + PageData stPd = v1Service.findStudentBySchoolIdAndNumber(ptd); // | |
1865 | + if(stPd == null){ | |
1866 | + stPd = studentService.findByNumber(ptd); | |
1867 | + } | |
1868 | + if (stPd != null) { | |
1869 | + studentId = stPd.getString("ID"); | |
1870 | + classId = stPd.getString("CLASS_ID"); | |
1871 | + } | |
1872 | + } else { | |
1873 | + PageData ptd = new PageData(); | |
1874 | + ptd.put("ID", studentAnswer.getStudentId()); | |
1875 | + PageData stPd = studentService.findById(ptd); | |
1876 | + if (stPd != null) { | |
1877 | + studentId = stPd.getString("ID"); | |
1878 | + classId = stPd.getString("CLASS_ID"); | |
1879 | + } | |
1880 | + } | |
1881 | + if (StringUtils.isEmpty(studentId)) { | |
1882 | + continue; | |
1883 | + } | |
1884 | + stestPd.put("STUDENT_ID", studentId); | |
1885 | + stestPd.put("CLASS_ID", classId); | |
1886 | + stestPd.put("PAPER_ID", studentPaper.getPaperId()); | |
1887 | + stestPd.put("TEST_ID", studentPaper.getPaperId()); | |
1888 | + stestPd.put("SCORE", studentAnswer.getScore()); | |
1889 | + stestPd.put("LOST_TEST", studentAnswer.getLosttest()); | |
1890 | + List<PageData> liste = studenttestService.listAll(stestPd); | |
1891 | + if (liste == null || liste.size() == 0) { | |
1892 | + stestPd.put("STUDENTTEST_ID", get32UUID()); | |
1893 | + studenttestService.save(stestPd); | |
1894 | + } else { | |
1895 | + PageData ptd = liste.get(0); | |
1896 | + stestPd.put("STUDENTTEST_ID", ptd.get("STUDENTTEST_ID")); | |
1897 | + studenttestService.edit(stestPd); | |
1898 | + } | |
1904 | 1899 | |
1905 | - if (testInfoPdList.size() > 0) { | |
1906 | - testpaperinfoService.batchSave(testInfoPdList); | |
1907 | - } | |
1900 | + List<PageData> testInfoPdList = new ArrayList(); | |
1901 | + List<StudentPaper.Question> questions = studentAnswer | |
1902 | + .getQuestions(); | |
1903 | + for (StudentPaper.Question question : questions) { | |
1904 | + PageData testInfoPd = new PageData(); | |
1905 | + testInfoPd.put("TESTPAPERINFO_ID", get32UUID()); | |
1906 | + testInfoPd.put("TEST_ID", studentPaper.getPaperId()); | |
1907 | + testInfoPd.put("PAPER_ID", studentPaper.getPaperId()); | |
1908 | + testInfoPd.put("STUDENT_ID", studentId); | |
1909 | + testInfoPd.put("QUESTION_ID", question.getQuestionId()); | |
1910 | + testInfoPd.put("ANSWER", question.getAnswer()); | |
1911 | + testInfoPd.put("RIGHT", question.getRight()); | |
1912 | + testInfoPd.put("SCORE", question.getScore()); | |
1913 | + testInfoPd.put("ANSWER_TYPE", question.getAnswerType()); | |
1914 | + List<PageData> listse = testpaperinfoService | |
1915 | + .listAll(testInfoPd); | |
1916 | + if (listse == null || listse.size() == 0) { | |
1917 | + testInfoPdList.add(testInfoPd); | |
1918 | + } else { | |
1919 | + PageData ptd = listse.get(0); | |
1920 | + testInfoPd.put("TESTPAPERINFO_ID", | |
1921 | + testInfoPd.get("TESTPAPERINFO_ID")); | |
1922 | + testpaperinfoService.edit(testInfoPd); | |
1923 | + } | |
1924 | + } | |
1908 | 1925 | |
1909 | - } | |
1926 | + if (testInfoPdList.size() > 0) { | |
1927 | + testpaperinfoService.batchSave(testInfoPdList); | |
1928 | + } | |
1910 | 1929 | |
1911 | - } catch (Exception e) { | |
1912 | - e.printStackTrace(); | |
1913 | - res.setError(); | |
1914 | - res.setMessage(e.getMessage()); | |
1915 | - } | |
1916 | - } else { | |
1930 | + } | |
1931 | + }catch(Exception e){ | |
1932 | + e.printStackTrace(); | |
1933 | + } | |
1934 | + }; | |
1935 | + }.start(); | |
1936 | + }else{ | |
1917 | 1937 | res.setDataError(); |
1918 | 1938 | } |
1939 | + | |
1919 | 1940 | logger.info("uploadstudenttest cost time:" |
1920 | 1941 | + (System.currentTimeMillis() - cur)); |
1921 | 1942 | ... | ... |
src/com/fh/controller/sunvote/paper/PaperController.java
... | ... | @@ -961,7 +961,17 @@ public class PaperController extends BaseController { |
961 | 961 | Float o2GetScore = Float.valueOf(o2.getString("TEST_NUM")) == 0 ? 0 |
962 | 962 | : Float.valueOf(o2.getString("STUDENT_TOTAL")) |
963 | 963 | / Float.valueOf(o2.getString("TEST_NUM")); |
964 | - return o2GetScore.compareTo(o1GetScore); | |
964 | + | |
965 | + int result = o2GetScore.compareTo(o1GetScore); | |
966 | + if(result == 0){ | |
967 | + if(Float.valueOf(o1.getString("TEST_NUM")) -Float.valueOf(o2.getString("TEST_NUM")) == 0 ){ | |
968 | + return o1.get("STUDENT_NUMBER").toString().compareTo(o2.get("STUDENT_NUMBER").toString()); | |
969 | + } | |
970 | + return Float.valueOf(o1.getString("TEST_NUM")) -Float.valueOf(o2.getString("TEST_NUM")) > 0 ? -1 : 1; | |
971 | + | |
972 | + } | |
973 | + | |
974 | + return result; | |
965 | 975 | } |
966 | 976 | |
967 | 977 | }); | ... | ... |
src/com/fh/service/api/V1Manager.java
... | ... | @@ -26,6 +26,9 @@ public interface V1Manager { |
26 | 26 | |
27 | 27 | public PageData getAdminInfo(PageData pd) throws Exception; |
28 | 28 | |
29 | + | |
30 | + public PageData findStudentBySchoolIdAndNumber(PageData pd) throws Exception; | |
31 | + | |
29 | 32 | public List<PageData> getClassBySchoolAndGradle(PageData pd) throws Exception; |
30 | 33 | |
31 | 34 | public List<PageData> classReport(PageData pd) throws Exception; | ... | ... |
src/com/fh/service/api/impl/V1Service.java
... | ... | @@ -57,6 +57,11 @@ public class V1Service implements V1Manager { |
57 | 57 | } |
58 | 58 | |
59 | 59 | @Override |
60 | + public PageData findStudentBySchoolIdAndNumber(PageData pd) throws Exception { | |
61 | + return (PageData)dao.findForObject("V1Mapper.findStudentBySchoolIdAndNumber", pd); | |
62 | + } | |
63 | + | |
64 | + @Override | |
60 | 65 | public List<PageData> getQuestionWrongInfo(PageData pd) throws Exception { |
61 | 66 | return (List<PageData>)dao.findForList("V1Mapper.getQuestionWrongInfo", pd); |
62 | 67 | } | ... | ... |