From 9eebc978f0d55306a9a904814da6810ea64b3f1b Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Sun, 7 Feb 2021 16:44:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E5=BA=B7=E5=A4=8D=E8=AE=A1?= =?UTF-8?q?=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/wmeimob/bjyy/util/DateUtil.java | 14 +- .../java/com/wmeimob/bjyy/util/PdfUtil.java | 122 ++++---- bjyy-dal/pom.xml | 4 + .../java/com/wmeimob/bjyy/dao/TrainDao.java | 7 + .../com/wmeimob/bjyy/mapping/TrainDao.xml | 45 ++- .../java/com/wmeimob/bjyy/vo/TrainVo.java | 26 ++ .../bjyy/controller/MentalController.java | 15 +- .../bjyy/controller/PracticeController.java | 44 +++ .../wmeimob/bjyy/service/TrainService.java | 9 + .../bjyy/service/impl/TrainServiceImpl.java | 74 +++-- .../webapp/WEB-INF/pages/mental/practice.jsp | 220 ++++----------- .../WEB-INF/pages/mental/practice_old.jsp | 261 ++++++++++++++++++ pom.xml | 7 + 13 files changed, 581 insertions(+), 267 deletions(-) create mode 100644 bjyy-weixin/src/main/java/com/wmeimob/bjyy/controller/PracticeController.java create mode 100644 bjyy-weixin/src/main/webapp/WEB-INF/pages/mental/practice_old.jsp diff --git a/bjyy-core/src/main/java/com/wmeimob/bjyy/util/DateUtil.java b/bjyy-core/src/main/java/com/wmeimob/bjyy/util/DateUtil.java index 90b4a6d..7ae2d23 100644 --- a/bjyy-core/src/main/java/com/wmeimob/bjyy/util/DateUtil.java +++ b/bjyy-core/src/main/java/com/wmeimob/bjyy/util/DateUtil.java @@ -156,12 +156,14 @@ public class DateUtil { * 获取某个日期前后几天日期 */ - public static Date getDate(int num,Date date) - throws ParseException { - - Calendar calendar = Calendar.getInstance(); //得到日历 - calendar.setTime(date);//把当前时间赋给日历 - calendar.add(Calendar.DATE, num); //设置为前3月 + public static Date getDate(int num,Date date) { + + //得到日历 + Calendar calendar = Calendar.getInstance(); + //把当前时间赋给日历 + calendar.setTime(date); + //设置为前3月 + calendar.add(Calendar.DATE, num); return calendar.getTime(); } } diff --git a/bjyy-core/src/main/java/com/wmeimob/bjyy/util/PdfUtil.java b/bjyy-core/src/main/java/com/wmeimob/bjyy/util/PdfUtil.java index fafe75d..02b8d3f 100644 --- a/bjyy-core/src/main/java/com/wmeimob/bjyy/util/PdfUtil.java +++ b/bjyy-core/src/main/java/com/wmeimob/bjyy/util/PdfUtil.java @@ -99,51 +99,6 @@ public class PdfUtil { return fileName; } - /** - * - * @param imageFiles - * @return - * @throws IOException - * @throws DocumentException - */ - public static void fillImage(String pdf, ImageFile... imageFiles) throws IOException, DocumentException { - if (ArrayUtils.isEmpty(imageFiles)) { - return ; - } - File pdfFile = new File(pdf); - - // 创建文件 - Document document = new Document(); - // 建立一个书写器 - PdfReader pdfReader = new PdfReader(pdf); - PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(pdfFile)); - writer.setStrictImageSequence(true); - - PdfStamper pdfStamper = new PdfStamper(pdfReader,new FileOutputStream(pdfFile)); -// // 打开文件 -// document.open(); - - - for (ImageFile imageFile : imageFiles) { - // 图片 - Image image = Image.getInstance(imageFile.getUrl()); - image.scalePercent(imageFile.getScalePercentage()); - image.setAlignment(Element.ALIGN_CENTER); - image.setAbsolutePosition(imageFile.getX(), imageFile.getY()); - // 将图片1添加到pdf文件中 -// document.add(image); - PdfContentByte content = pdfStamper.getUnderContent(imageFile.getX()); - content.addImage(image); - - } - // 关闭文档 - pdfStamper.close(); -// document.close(); -// // 关闭书写器 -// writer.close(); - - } - /** * 添加空白行 @@ -173,18 +128,21 @@ public class PdfUtil { PdfPTable table = new PdfPTable(size); table.setSpacingBefore(0); table.setWidthPercentage(90); + table.setSplitLate(false); + table.setSplitRows(false); for (int j = 0; j < rows.size(); j++) { Row row = rows.get(j); table.setHorizontalAlignment(row.align); Font font = new Font(bfChinese, row.fontSize, row.fontStyle); for (int i = 0; i < row.cells.size(); i++) { Cell cell = row.cells.get(i); - PdfPCell pdfpCell = new PdfPCell(); + PdfPCell pdfpCell; if (cell.getType() == 0) { - pdfpCell.setPhrase(new Phrase(cell.content,font)); + pdfpCell = new PdfPCell((new Phrase(cell.content,font))); } else { - Image image = Image.getInstance(cell.content); - pdfpCell.setImage(image); + Image image = Image.getInstance(cell.content,true); + image.scalePercent(cell.getScalePercent()); + pdfpCell = new PdfPCell(image); } pdfpCell.setBorderWidthTop(cell.borderTop == null ? 0 : cell.borderTop); pdfpCell.setBorderWidthLeft(cell.borderLeft == null ? 0 : cell.borderLeft); @@ -192,6 +150,10 @@ public class PdfUtil { pdfpCell.setBorderWidthBottom(cell.borderBottom == null ? 0 : cell.borderBottom); pdfpCell.setColspan(cell.colSpan); pdfpCell.setRowspan(cell.rowSpan); + + if (cell.fixedHeight != null) { + pdfpCell.setFixedHeight(cell.fixedHeight); + } if (cell.isCenter) { //水平居中 pdfpCell.setHorizontalAlignment(Element.ALIGN_CENTER); @@ -201,6 +163,7 @@ public class PdfUtil { pdfpCell.setVerticalAlignment(Element.ALIGN_MIDDLE); pdfpCell.setMinimumHeight(cell.height); table.addCell(pdfpCell); + } } try { @@ -227,6 +190,15 @@ public class PdfUtil { public void addCell(Cell cell) { cells.add(cell); } + + public static Row fillBlankRow(){ + Row row = new Row(); + Cell cell = new Cell(); + cell.setBorderLeft(0); + cell.setBorderBottom(0); + row.addCell(cell); + return row; + } } @Data public static class Cell{ @@ -251,8 +223,8 @@ public class PdfUtil { private int height = defaultHeight; // 单元格是否居中 private boolean isCenter = true; - - + // 固定高度 + private Integer fixedHeight ; /** * 类型 0:文字 1:图片 * */ @@ -260,7 +232,7 @@ public class PdfUtil { /** * 缩放比例 */ - private int scalePercent; + private float scalePercent = 1; } /** @@ -290,4 +262,50 @@ public class PdfUtil { this.scalePercentage = scalePercentage; } } + + public static void main(String[] args) throws IOException, DocumentException { + Document document = new Document(); + // 创建PdfWriter对象 + PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("D:/3.pdf")); + // 打开文档 + document.open(); + // 添加表格,4列 + PdfPTable table = new PdfPTable(1); +// 设置表格宽度比例为%100 + table.setWidthPercentage(100); + // 设置表格的宽度 + table.setTotalWidth(500); + // 也可以每列分别设置宽度 +// table.setTotalWidth(new float[] { 160, 70, 130, 100 }); + // 锁住宽度 + table.setLockedWidth(true); + // 设置表格上面空白宽度 + table.setSpacingBefore(10f); + // 设置表格下面空白宽度 + table.setSpacingAfter(10f); + // 设置表格默认为无边框 + table.getDefaultCell().setBorder(0); + PdfContentByte cb = writer.getDirectContent(); + // 在表格添加图片 + Image cellimg = Image.getInstance("D:/git/bjyy/bjyy-weixin/target/bjyy-weixin//static/train/1-2星迷宫1.jpg"); + PdfPCell cell1 = new PdfPCell(cellimg, true); + cell1.setBorderColor(BaseColor.RED); + cell1.setPaddingLeft(10); + cell1.setFixedHeight(30); + cell1.setHorizontalAlignment(Element.ALIGN_CENTER); + cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); + table.addCell(cell1); + // 在表格添加图片 + + PdfPCell cell4 = new PdfPCell(cellimg, true); + cell4.setBorderColor(BaseColor.RED); + cell4.setPaddingLeft(10); + cell4.setFixedHeight(30); + cell4.setHorizontalAlignment(Element.ALIGN_CENTER); + cell4.setVerticalAlignment(Element.ALIGN_MIDDLE); + table.addCell(cell4); + document.add(table); + // 关闭文档 + document.close(); + } } diff --git a/bjyy-dal/pom.xml b/bjyy-dal/pom.xml index 719e540..6a362f4 100644 --- a/bjyy-dal/pom.xml +++ b/bjyy-dal/pom.xml @@ -18,6 +18,10 @@ + + ${project.groupId} + bjyy-core + org.springframework spring-jdbc diff --git a/bjyy-dal/src/main/java/com/wmeimob/bjyy/dao/TrainDao.java b/bjyy-dal/src/main/java/com/wmeimob/bjyy/dao/TrainDao.java index 6614962..091c5bf 100644 --- a/bjyy-dal/src/main/java/com/wmeimob/bjyy/dao/TrainDao.java +++ b/bjyy-dal/src/main/java/com/wmeimob/bjyy/dao/TrainDao.java @@ -14,4 +14,11 @@ public interface TrainDao { * @return 训练内容 */ List queryByLevel(@Param("level") byte grade); + + /** + * 根据用户ID查看最新的训练内容 + * @param userId 用户ID + * @return 训练内容 + */ + List queryLastPractice(@Param("userId") String userId); } diff --git a/bjyy-dal/src/main/java/com/wmeimob/bjyy/mapping/TrainDao.xml b/bjyy-dal/src/main/java/com/wmeimob/bjyy/mapping/TrainDao.xml index 0563e3b..2127277 100644 --- a/bjyy-dal/src/main/java/com/wmeimob/bjyy/mapping/TrainDao.xml +++ b/bjyy-dal/src/main/java/com/wmeimob/bjyy/mapping/TrainDao.xml @@ -2,18 +2,29 @@ - - + + - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bjyy-dal/src/main/java/com/wmeimob/bjyy/vo/TrainVo.java b/bjyy-dal/src/main/java/com/wmeimob/bjyy/vo/TrainVo.java index d190d4e..1420a1d 100644 --- a/bjyy-dal/src/main/java/com/wmeimob/bjyy/vo/TrainVo.java +++ b/bjyy-dal/src/main/java/com/wmeimob/bjyy/vo/TrainVo.java @@ -1,7 +1,10 @@ package com.wmeimob.bjyy.vo; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.wmeimob.bjyy.util.DateUtil; import lombok.Data; +import java.util.Date; import java.util.List; /** @@ -11,6 +14,29 @@ import java.util.List; */ public class TrainVo { + @Data + public static class TrainQueryVo{ + @JsonFormat(pattern = "yyyy.MM.dd") + private Date startTime; + @JsonFormat(pattern = "yyyy.MM.dd") + private Date endTime; + private String name; + private String description; + /**题目ID*/ + private int id; + /**内容*/ + private String content; + /**图片*/ + private List images; + + public Date getEndTime() { + if (endTime == null) { + endTime = DateUtil.getDate(14, new Date()); + } + return endTime; + } + } + @Data public static class TrainContentVo{ /**教具*/ diff --git a/bjyy-weixin/src/main/java/com/wmeimob/bjyy/controller/MentalController.java b/bjyy-weixin/src/main/java/com/wmeimob/bjyy/controller/MentalController.java index 67aa561..fcf6ca5 100644 --- a/bjyy-weixin/src/main/java/com/wmeimob/bjyy/controller/MentalController.java +++ b/bjyy-weixin/src/main/java/com/wmeimob/bjyy/controller/MentalController.java @@ -72,11 +72,13 @@ public class MentalController { String openId = SessionUtil.getValue(SessionUtil.SESSION_WX_OPENID); User user = RedisUtil.getObject(RedisUtil.PREFIX_USER_INFO + openId); if(StringUtils.isEmpty(user.getRegisterNo())){ - mv.setViewName("/core/register");//跳转到注册码注册页面 + //跳转到注册码注册页面 + mv.setViewName("/core/register"); return mv; } if(StringUtils.isEmpty(user.getMobile())){ - mv.setViewName("/user/first_basic");//跳转到基础信息填写第一页 + //跳转到基础信息填写第一页 + mv.setViewName("/user/first_basic"); //查询所有的省 mv.addObject("provinces", addressService.listAllProvince()); mv.addObject("user", user); @@ -101,7 +103,6 @@ public class MentalController { ResultVO result = new ResultVO(); String openId = SessionUtil.getValue(SessionUtil.SESSION_WX_OPENID); User user = RedisUtil.getObject(RedisUtil.PREFIX_USER_INFO + openId); - try { //查找最新记录,判断是否已满2个月 MentalTest queryMentalRecord = mentalService.queryMentalRecordNewest(user.getId()); if(null != queryMentalRecord){ @@ -128,11 +129,7 @@ public class MentalController { int nextInt = new Random().nextInt(3); result.setData(nextInt+1); } - }catch (ParseException e) { - result.setCode(-2); - result.setMessage("系统出错了,请稍后重试"); - log.debug("###########MentalController toFirstQust###########e="+e.getMessage()); - } + return result; } @@ -374,9 +371,9 @@ public class MentalController { // 生成训练试题 String pdfUrl = trainService.generateTrainPlan(mentalTest.getId(), (byte)grade); - if(addCareRecord>0){ result.setCode(0); + result.setData(pdfUrl); }else{ result.setCode(-1); result.setMessage("操作失败,请重试"); diff --git a/bjyy-weixin/src/main/java/com/wmeimob/bjyy/controller/PracticeController.java b/bjyy-weixin/src/main/java/com/wmeimob/bjyy/controller/PracticeController.java new file mode 100644 index 0000000..351e5a6 --- /dev/null +++ b/bjyy-weixin/src/main/java/com/wmeimob/bjyy/controller/PracticeController.java @@ -0,0 +1,44 @@ +package com.wmeimob.bjyy.controller; + +import com.wmeimob.bjyy.model.User; +import com.wmeimob.bjyy.service.TrainService; +import com.wmeimob.bjyy.util.RedisUtil; +import com.wmeimob.bjyy.util.SessionUtil; +import com.wmeimob.bjyy.vo.ResultVO; +import com.wmeimob.bjyy.vo.TrainVo; +import lombok.extern.log4j.Log4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @description: 康复训练 + * @author: whj + * @time: 2021/2/6 16:05 + */ +@Log4j +@ResponseBody +@RequestMapping("/wx/practice") +public class PracticeController { + + @Resource + private TrainService trainService; + + /** + * 根据用户ID查看最新的训练内容 + * @return 康复训练 + */ + @RequestMapping("/last") + public ResultVO queryLastPractice(){ + ResultVO result=new ResultVO(); + String openId = SessionUtil.getValue(SessionUtil.SESSION_WX_OPENID); + User user = RedisUtil.getObject(RedisUtil.PREFIX_USER_INFO + openId); + log.info("查询训练计划:" + user.getId()); + List list = trainService.queryLastPractice(user.getId()); + result.setCode(0); + result.setData(list); + return result; + } +} diff --git a/bjyy-weixin/src/main/java/com/wmeimob/bjyy/service/TrainService.java b/bjyy-weixin/src/main/java/com/wmeimob/bjyy/service/TrainService.java index dab5172..477bbcc 100644 --- a/bjyy-weixin/src/main/java/com/wmeimob/bjyy/service/TrainService.java +++ b/bjyy-weixin/src/main/java/com/wmeimob/bjyy/service/TrainService.java @@ -1,8 +1,10 @@ package com.wmeimob.bjyy.service; import com.itextpdf.text.DocumentException; +import com.wmeimob.bjyy.vo.TrainVo; import java.io.IOException; +import java.util.List; /** * @author whj @@ -17,4 +19,11 @@ public interface TrainService { * @return 测评计划路径 */ String generateTrainPlan(String testId, byte grade) throws IOException, DocumentException; + + /** + * 根据用户ID查看最新的训练内容 + * @param userId 用户ID + * @return 训练内容 + */ + List queryLastPractice(String userId); } diff --git a/bjyy-weixin/src/main/java/com/wmeimob/bjyy/service/impl/TrainServiceImpl.java b/bjyy-weixin/src/main/java/com/wmeimob/bjyy/service/impl/TrainServiceImpl.java index 557a5a0..23effcb 100644 --- a/bjyy-weixin/src/main/java/com/wmeimob/bjyy/service/impl/TrainServiceImpl.java +++ b/bjyy-weixin/src/main/java/com/wmeimob/bjyy/service/impl/TrainServiceImpl.java @@ -55,13 +55,15 @@ public class TrainServiceImpl implements TrainService { List contents = new ArrayList<>(); Random random = new Random(); + int max = 1; for (int i = 0; i < vos.size(); i+=2) { int day = i/2 + 1; String dayChinese = CommonUtils.numMap.get(day); // pdf第几天 PdfUtil.Row row = new PdfUtil.Row(); + row.setFontSize(16); PdfUtil.Cell cell = new PdfUtil.Cell(); - cell.setContent("第"+dayChinese+"天(________年________月________日)(________年________月________日)"); + cell.setContent("第"+dayChinese+"天(________年____月____日)(________年____月____日)"); cell.setBorderLeft(null); cell.setBorderBottom(null); cell.setCenter(false); @@ -70,17 +72,31 @@ public class TrainServiceImpl implements TrainService { contents.add(row); // 添加题目 TrainVo.TrainContentVo vo = vos.get(i); - fillRows(testId, records, contents, random, vo); + int size1 = fillRows(testId, records, contents, random, vo); + max = Math.max(max, size1); if (i+1 >= vos.size()) { break; } TrainVo.TrainContentVo vo2 = vos.get(i+1); - fillRows(testId, records, contents, random, vo2); + int size2 = fillRows(testId, records, contents, random, vo2); + max = Math.max(max, size2); + } + for (PdfUtil.Row row:contents) { + List cells = row.getCells(); + if (CollectionUtil.isEmpty(cells)) { + continue; + } + int size = cells.size(); + if (size >= max) { + continue; + } + PdfUtil.Cell lastCell = cells.get(size - 1); + lastCell.setColSpan(max - size + 1); } //保存记录 records.forEach(record -> { - trainRecordMapper.insert(record); + trainRecordMapper.insertSelective(record); }); Calendar calendar = Calendar.getInstance(); @@ -88,6 +104,7 @@ public class TrainServiceImpl implements TrainService { //介绍 List intros = new ArrayList<>(); PdfUtil.Row row = new PdfUtil.Row(); + row.setFontSize(16); PdfUtil.Cell cell = new PdfUtil.Cell(); cell.setContent(" 根据长者“脑力测评”,系统生成此训练方案,训练周期为2周,每周训练5天,每天训练时常40分钟左右,第二周训练内容重复第一周方案。"); cell.setBorderBottom(null); @@ -95,6 +112,8 @@ public class TrainServiceImpl implements TrainService { cell.setCenter(false); row.addCell(cell); intros.add(row); + intros.add(PdfUtil.Row.fillBlankRow()); + PdfUtil.Margin margin = new PdfUtil.Margin(); String parentPath = WeChatConfig.getValue("filePath"); String fileName = PdfUtil.credatePdf( @@ -104,7 +123,6 @@ public class TrainServiceImpl implements TrainService { DateUtil.format(new Date(), DateUtil.yyyyMMddDot)+ "-" + DateUtil.format(calendar.getTime(), DateUtil.yyyyMMddDot), intros, contents, margin ); -// PdfUtil.fillImage("", parentPath+fileName, new PdfUtil.ImageFile(WeChatConfig.getValue("logoPath"), 50, 50, 40)); MentalTest test = new MentalTest(); test.setId(testId); @@ -113,7 +131,13 @@ public class TrainServiceImpl implements TrainService { return WeChatConfig.getValue("domain") + fileName; } - private void fillRows(String testId, List records, List contents, Random random, TrainVo.TrainContentVo vo) { + @Override + public List queryLastPractice(String userId) { + return trainDao.queryLastPractice(userId); + } + + + private int fillRows(String testId, List records, List contents, Random random, TrainVo.TrainContentVo vo) { // 生成随机数 List contentVos = vo.getContentVos(); int index = random.nextInt(contentVos.size()); @@ -126,15 +150,18 @@ public class TrainServiceImpl implements TrainService { // 添加pdf内容 //类型 PdfUtil.Row row = new PdfUtil.Row(); + row.setFontSize(16); PdfUtil.Cell cell = new PdfUtil.Cell(); cell.setContent(vo.getName()); cell.setCenter(false); cell.setBorderBottom(null); cell.setBorderLeft(null); + row.addCell(cell); contents.add(row); // 题目 PdfUtil.Row row2 = new PdfUtil.Row(); + row2.setFontSize(16); PdfUtil.Cell cell2 = new PdfUtil.Cell(); cell2.setContent(contentVo.getContent()); cell2.setCenter(false); @@ -142,20 +169,27 @@ public class TrainServiceImpl implements TrainService { cell2.setBorderLeft(null); row2.addCell(cell2); contents.add(row2); - // 图片 - if (CollectionUtil.isNotEmpty(contentVo.getImages())) { - PdfUtil.Row row3 = new PdfUtil.Row(); - contentVo.getImages().forEach(image->{ - PdfUtil.Cell cell3 = new PdfUtil.Cell(); - cell3.setContent(WeChatConfig.getValue("projectPath") + image.getUrl()); - cell3.setType((byte)1); - cell3.setCenter(false); - cell3.setBorderBottom(null); - cell3.setBorderLeft(null); - row3.addCell(cell3); - }); - contents.add(row3); + if (CollectionUtil.isEmpty(contentVo.getImages())) { + contents.add(PdfUtil.Row.fillBlankRow()); + return 0; } - contents.add(new PdfUtil.Row()); + // 图片 + PdfUtil.Row row3 = new PdfUtil.Row(); + contentVo.getImages().forEach(image->{ + PdfUtil.Cell cell3 = new PdfUtil.Cell(); + cell3.setContent(WeChatConfig.getValue("projectPath") + image.getUrl()); + cell3.setScalePercent(10); + cell3.setType((byte)1); + cell3.setBorderBottom(0); + cell3.setBorderLeft(0); + + row3.addCell(cell3); + }); + contents.add(row3); + contents.add(PdfUtil.Row.fillBlankRow()); + log.info("contents:" + contents); + return contentVo.getImages().size(); } + + } diff --git a/bjyy-weixin/src/main/webapp/WEB-INF/pages/mental/practice.jsp b/bjyy-weixin/src/main/webapp/WEB-INF/pages/mental/practice.jsp index 60856a3..f31b65c 100644 --- a/bjyy-weixin/src/main/webapp/WEB-INF/pages/mental/practice.jsp +++ b/bjyy-weixin/src/main/webapp/WEB-INF/pages/mental/practice.jsp @@ -24,189 +24,34 @@
-
+git
-
训练跟踪
+
脑益宝—老年脑健康认知训练方案
+

-

+

根据长者“脑力测评”,系统生成此训练方案,训练周期为2周,每周训练5天,每天训练时常40分钟左右,第二周训练内容重复第一周方案。

+
-
-
- - - <%@include file="/static/train_aid/first_grade.jsp"%> - - - <%@include file="/static/train_aid/second_grade.jsp"%> - - - <%@include file="/static/train_aid/third_grade.jsp"%> - - - <%@include file="/static/train_aid/forth_grade.jsp"%> -
-<%-- --%> - -
-
-
-

确定提交吗?

- -
-
+
@@ -218,14 +63,47 @@ diff --git a/bjyy-weixin/src/main/webapp/WEB-INF/pages/mental/practice_old.jsp b/bjyy-weixin/src/main/webapp/WEB-INF/pages/mental/practice_old.jsp new file mode 100644 index 0000000..60856a3 --- /dev/null +++ b/bjyy-weixin/src/main/webapp/WEB-INF/pages/mental/practice_old.jsp @@ -0,0 +1,261 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f" %> + + + + + + + + + + + +北京燕园 + + + + + + + +
+
+
+
+
+
+ + +
+
+
训练跟踪
+
+ +
+ +
+ + +
+ + + <%@include file="/static/train_aid/first_grade.jsp"%> + + + <%@include file="/static/train_aid/second_grade.jsp"%> + + + <%@include file="/static/train_aid/third_grade.jsp"%> + + + <%@include file="/static/train_aid/forth_grade.jsp"%> + +
+ +<%-- --%> + + +
+
+
+
+
+
+

确定提交吗?

+ +
+
+
+
+ + +<%--//--%> + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 81727b9..6ac60bb 100644 --- a/pom.xml +++ b/pom.xml @@ -351,6 +351,13 @@ itext-asian 5.2.0
+ + + + com.fasterxml.jackson.core + jackson-databind + 2.11.2 +