|
@@ -1,17 +1,19 @@
|
|
package com.fdkankan.fusion.controller;
|
|
package com.fdkankan.fusion.controller;
|
|
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.deepoove.poi.XWPFTemplate;
|
|
import com.deepoove.poi.XWPFTemplate;
|
|
-import com.deepoove.poi.data.RowRenderData;
|
|
|
|
-import com.deepoove.poi.data.Rows;
|
|
|
|
-import com.deepoove.poi.data.TableRenderData;
|
|
|
|
-import com.deepoove.poi.data.Tables;
|
|
|
|
|
|
+import com.deepoove.poi.data.*;
|
|
|
|
+import com.deepoove.poi.data.style.Style;
|
|
import com.deepoove.poi.util.PoitlIOUtils;
|
|
import com.deepoove.poi.util.PoitlIOUtils;
|
|
import com.fdkankan.fusion.common.ResultCode;
|
|
import com.fdkankan.fusion.common.ResultCode;
|
|
import com.fdkankan.fusion.common.ResultData;
|
|
import com.fdkankan.fusion.common.ResultData;
|
|
import com.fdkankan.fusion.entity.CaseInquest;
|
|
import com.fdkankan.fusion.entity.CaseInquest;
|
|
import com.fdkankan.fusion.exception.BusinessException;
|
|
import com.fdkankan.fusion.exception.BusinessException;
|
|
|
|
+import com.fdkankan.fusion.response.CaseInquestVo;
|
|
|
|
+import com.fdkankan.fusion.response.WitnessVo;
|
|
import com.fdkankan.fusion.service.ICaseInquestService;
|
|
import com.fdkankan.fusion.service.ICaseInquestService;
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
@@ -64,12 +66,25 @@ public class CaseInquestController {
|
|
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/inquest-template.docx");
|
|
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/inquest-template.docx");
|
|
// 渲染模板
|
|
// 渲染模板
|
|
|
|
|
|
- RowRenderData row0 = Rows.of("姓名", "学历").textColor("FFFFFF")
|
|
|
|
- .bgColor("4472C4").center().create();
|
|
|
|
- RowRenderData row1 = Rows.create("李四", "博士");
|
|
|
|
- TableRenderData tableRenderData = Tables.create(row0, row1);
|
|
|
|
- //caseInquest.setTableRenderData(tableRenderData);
|
|
|
|
- XWPFTemplate template = XWPFTemplate.compile(inputStream).render(caseInquest);
|
|
|
|
|
|
+ CaseInquestVo vo = new CaseInquestVo();
|
|
|
|
+ BeanUtils.copyProperties(caseInquest,vo);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ String info = "证人或当事人(签名):%s %s年 %s月 %s日 身份证件号码:%s\n"
|
|
|
|
+ +" 单位或住址:%s\n";
|
|
|
|
+ StringBuilder msg = new StringBuilder();
|
|
|
|
+ for (Object object : vo.getWitnessInfo()) {
|
|
|
|
+ JSONObject obj = (JSONObject) object;
|
|
|
|
+ WitnessVo witnessVo = JSONObject.toJavaObject(obj,WitnessVo.class);
|
|
|
|
+ String format = String.format(info, witnessVo.getName(), witnessVo.getYear(), witnessVo.getMonth(), witnessVo.getDay(), witnessVo.getId(), witnessVo.getAddress());
|
|
|
|
+ msg.append(format);
|
|
|
|
+ }
|
|
|
|
+ TextRenderData text = new TextRenderData("000000",msg.toString());
|
|
|
|
+ Style style = text.getStyle();
|
|
|
|
+ style.setUnderLine(true);
|
|
|
|
+ vo.setText(text);
|
|
|
|
+
|
|
|
|
+ XWPFTemplate template = XWPFTemplate.compile(inputStream).render(vo);
|
|
|
|
|
|
// 设置响应头,指定文件类型和内容长度
|
|
// 设置响应头,指定文件类型和内容长度
|
|
res.setContentType("application/octet-stream");
|
|
res.setContentType("application/octet-stream");
|