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
-
-
-
- <%@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" %>
+
+
+
+