提交 2d19e029 authored 作者: zjm's avatar zjm

feat(文件模块): 添加维修模块的单据接口

在原有的单据上面备注修改为维修原因
上级 96408939
......@@ -59,6 +59,17 @@ public class FileController {
return ResponseEntity.ok(JavaToPdfHtmlFreeMarker.createPdf(content,url,preview,"documents/"));
}
/**
* 生成维修单据
*/
@ApiOperation(value = "生成维修单据")
@PostMapping("/printRepair")
public ResponseEntity printRepair(@RequestBody Documents documents) throws IOException, DocumentException {
String[] content = JavaToPdfHtmlFreeMarker.freeMarkerRenderRepair(documents,url+"htmlModel/");
log.info("[file] 调用了生成出入单据对接口 出入库单据");
return ResponseEntity.ok(JavaToPdfHtmlFreeMarker.createPdf(content,url,preview,"documents/"));
}
/**
......
......@@ -233,6 +233,49 @@ public class JavaToPdfHtmlFreeMarker {
return null;
}
/**
* freemarker渲染html 维修业务单据 生成html页面。
*/
public static String[] freeMarkerRenderRepair(Documents documents,String htmlPath) {
Writer out = new StringWriter();
String [] strings=new String[100000];
int index=0;
try {
String QRCode= ZXingUtil.encode(documents.getId());
// 获取模板,并设置编码方式
Template template = freemarkerCfg.getTemplate("repair.html");
template.setEncoding("UTF-8");
List<DocumentDevice> list=documents.getDocumentDevices();
List<List<DocumentDevice>> listList=toDocList(list);
int count=listList.size();
for (int i=1; i<=3; i++){
Integer page=1;
for (List<DocumentDevice> list1:listList) {
String htmlname=htmlPath+ UUID.randomUUID().toString()+".html";
// 合并数据模型与模板
FileWriter fileWriter = new FileWriter(new File(htmlname));
template.process(toMap(documents,list1,MAP.get(i),page,count,QRCode),fileWriter);
out.flush();
strings[index]=htmlname;
index++;
page++;
}
}
return strings;
} catch (Exception e) {
log.error("[freeMarkerRender] 方法找不到地址:{}",htmlPath);
} finally {
try {
out.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
return null;
}
public static String[] freeMarkerRender1(Documents documents,String htmlPath) {
Writer out = new StringWriter();
String [] strings=new String[100000];
......
......@@ -299,12 +299,20 @@
<#list checks as dev>
<table class="altrowstable" border="0" id="alternatecolor">
<#if (dev.model)??>
<tr>
<td style="overflow: hidden">${dev.model!}</td>
<td style="overflow: hidden">${dev.name!}</td>
<td width="40px">${dev.count!}</td>
</tr>
</#if>
<#if dev.isPart == 0>
<tr>
<td style="font-weight: bold;:overflow: hidden">${dev.model!}</td>
<td style="font-weight: bold;overflow: hidden">${dev.name!}</td>
<td style="font-weight: bold;">${dev.count!}</td>
</tr>
<#else>
<tr>
<td style="overflow: hidden">${dev.model!}</td>
<td style="overflow: hidden">${dev.name!}</td>
<td>${dev.count!}</td>
</tr>
</#if>
</#if>
<tr>
<#if dev.oneCount == 1>
<td colspan="3" style="text-align: left;padding: 0 2em;color: #555;">${dev.seqStirng!}</td>
......@@ -382,7 +390,7 @@
</#list>
</div>
</div>
<p class="person" style="margin-top: 20px;font-size: 10px;width: 100%;text-align: left;">
<p class="person" style="margin-top: 10px;font-size: 15px;width: 100%;text-align: left;">
<span style="width: 200px;text-align: center;width: 24%;margin: 0;">制表单位:${unit!}</span>
<span style="width: 200px;text-align: center;width: 24%;margin: 0;">制表时间:${time!}</span>
<span style="width: 200px;text-align: center;width: 24%;margin: 0;">经办人:</span>
......
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论