Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
73ad44f5
提交
73ad44f5
authored
11月 15, 2021
作者:
zjm
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(PDF模块): 修改了自查核查单据模版
修改了自查核查单据模版
上级
58a106f7
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
254 行增加
和
9 行删除
+254
-9
FileController.java
...a/com/tykj/dev/device/file/Controller/FileController.java
+16
-7
DocumentDevice.java
.../java/com/tykj/dev/device/file/entity/DocumentDevice.java
+3
-0
Documents.java
.../main/java/com/tykj/dev/device/file/entity/Documents.java
+12
-0
JavaToPdfHtmlFreeMarker.java
...om/tykj/dev/device/file/util/JavaToPdfHtmlFreeMarker.java
+215
-0
bill10-copy.html
dev-union/src/main/resources/htmlTemplate/bill10-copy.html
+0
-0
bill10.html
dev-union/src/main/resources/htmlTemplate/bill10.html
+8
-2
billSignature.html
dev-union/src/main/resources/htmlTemplate/billSignature.html
+0
-0
没有找到文件。
dev-file/src/main/java/com/tykj/dev/device/file/Controller/FileController.java
浏览文件 @
73ad44f5
...
@@ -59,6 +59,18 @@ public class FileController {
...
@@ -59,6 +59,18 @@ public class FileController {
return
ResponseEntity
.
ok
(
JavaToPdfHtmlFreeMarker
.
createPdf
(
content
,
url
,
preview
,
"documents/"
));
return
ResponseEntity
.
ok
(
JavaToPdfHtmlFreeMarker
.
createPdf
(
content
,
url
,
preview
,
"documents/"
));
}
}
/**
* 生成单据签字配发单据
*/
@ApiOperation
(
value
=
"生成单据签字配发单据"
)
@PostMapping
(
"/printDocuments/Signature"
)
public
ResponseEntity
printDocumentsSignature
(
@RequestBody
Documents
documents
)
throws
IOException
,
DocumentException
{
String
[]
content
=
JavaToPdfHtmlFreeMarker
.
freeMarkerRenderNew
(
documents
,
url
+
"htmlModel/"
);
log
.
info
(
"[file] 调用了生成出入单据对接口 出入库单据"
);
return
ResponseEntity
.
ok
(
JavaToPdfHtmlFreeMarker
.
createPdf
(
content
,
url
,
preview
,
"documents/"
));
}
/**
/**
* 生成维修单据
* 生成维修单据
*/
*/
...
@@ -204,13 +216,13 @@ public class FileController {
...
@@ -204,13 +216,13 @@ public class FileController {
public
ResponseEntity
printDocuments
(
HttpServletResponse
response
,
HttpServletRequest
request
)
throws
IOException
,
DocumentException
{
public
ResponseEntity
printDocuments
(
HttpServletResponse
response
,
HttpServletRequest
request
)
throws
IOException
,
DocumentException
{
int
interval
=
request
.
getSession
().
getMaxInactiveInterval
();
int
interval
=
request
.
getSession
().
getMaxInactiveInterval
();
System
.
out
.
println
(
"-------"
+
interval
);
System
.
out
.
println
(
"-------"
+
interval
);
List
<
Documents
>
documentsList
=
new
ArrayList
<>();
Documents
documents
=
new
Documents
();
Documents
documents
=
new
Documents
();
documents
.
setNumber
(
"NO:第221321134号"
);
documents
.
setNumber
(
"NO:第221321134号"
);
documents
.
setReceiveUnit
(
"杭州机要"
);
documents
.
setReceiveUnit
(
"杭州机要"
);
documents
.
setReplyNum
(
"123123123131"
);
documents
.
setReplyNum
(
"123123123131"
);
documents
.
setSenderUnit
(
"浙江省"
);
documents
.
setSenderUnit
(
"浙江省"
);
documents
.
setTitle
(
"密码装备清退单"
);
documents
.
setTitle
(
"密码装备清退单"
);
documents
.
setId
(
1
);
List
<
DocumentDevice
>
documentDevices
=
new
ArrayList
<>();
List
<
DocumentDevice
>
documentDevices
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
20
;
i
++){
for
(
int
i
=
0
;
i
<
20
;
i
++){
DocumentDevice
documentDevice
=
new
DocumentDevice
();
DocumentDevice
documentDevice
=
new
DocumentDevice
();
...
@@ -226,14 +238,11 @@ public class FileController {
...
@@ -226,14 +238,11 @@ public class FileController {
documentDevices
.
add
(
documentDevice
);
documentDevices
.
add
(
documentDevice
);
}
}
documents
.
setDocumentDevices
(
documentDevices
);
documents
.
setDocumentDevices
(
documentDevices
);
documentsList
.
add
(
documents
);
String
[]
content
=
JavaToPdfHtmlFreeMarker
.
freeMarkerRender
(
documents
,
url
+
"htmlModel/"
);
List
<
String
>
list
=
new
ArrayList
<>();
documentsList
.
forEach
(
documents1
->
list
.
addAll
(
Objects
.
requireNonNull
(
JavaToPdfHtmlFreeMarker
.
freeMarkerRenderList
(
documents1
,
url
+
"htmlModel/"
)))
);
log
.
info
(
"[file] 调用了生成出入单据对接口 documents"
);
log
.
info
(
"[file] 调用了生成出入单据对接口 documents"
);
return
ResponseEntity
.
ok
(
JavaToPdfHtmlFreeMarker
.
createPdf
(
list
.
toArray
(
new
String
[
0
])
,
url
,
preview
,
"documents/"
));
return
ResponseEntity
.
ok
(
JavaToPdfHtmlFreeMarker
.
createPdf
(
content
,
url
,
preview
,
"documents/"
));
}
}
...
...
dev-file/src/main/java/com/tykj/dev/device/file/entity/DocumentDevice.java
浏览文件 @
73ad44f5
...
@@ -72,6 +72,9 @@ public class DocumentDevice {
...
@@ -72,6 +72,9 @@ public class DocumentDevice {
@ApiModelProperty
(
value
=
"设备类型 装备、配件"
)
@ApiModelProperty
(
value
=
"设备类型 装备、配件"
)
private
Integer
isPart
;
private
Integer
isPart
;
@ApiModelProperty
(
value
=
"是否异常"
)
private
Integer
abnormal
;
public
Integer
getLen
(){
public
Integer
getLen
(){
return
deviceSerialNumber
.
length
();
return
deviceSerialNumber
.
length
();
}
}
...
...
dev-file/src/main/java/com/tykj/dev/device/file/entity/Documents.java
浏览文件 @
73ad44f5
...
@@ -64,6 +64,18 @@ public class Documents {
...
@@ -64,6 +64,18 @@ public class Documents {
@ApiModelProperty
(
value
=
"后端转换使用"
)
@ApiModelProperty
(
value
=
"后端转换使用"
)
private
List
<
ScriptSaveVo
>
scriptSaveVos
;
private
List
<
ScriptSaveVo
>
scriptSaveVos
;
@ApiModelProperty
(
value
=
"发送方人员签字base64"
)
private
String
userSrcA1
;
@ApiModelProperty
(
value
=
"发送方人员签字base64"
)
private
String
userSrcA2
;
@ApiModelProperty
(
value
=
"接收方人员签字base64"
)
private
String
userSrcB1
;
@ApiModelProperty
(
value
=
"接收方人员签字base64"
)
private
String
userSrcB2
;
public
Documents
(
String
number
,
String
title
,
String
receiveUnit
,
String
replyNum
,
String
senderUnit
,
String
srcA
,
String
srcB
,
String
nameA
,
String
nameA1
,
String
nameB
,
String
nameB1
,
List
<
ScriptSaveVo
>
scriptSaveVos
)
{
public
Documents
(
String
number
,
String
title
,
String
receiveUnit
,
String
replyNum
,
String
senderUnit
,
String
srcA
,
String
srcB
,
String
nameA
,
String
nameA1
,
String
nameB
,
String
nameB1
,
List
<
ScriptSaveVo
>
scriptSaveVos
)
{
this
.
number
=
number
;
this
.
number
=
number
;
this
.
title
=
title
;
this
.
title
=
title
;
...
...
dev-file/src/main/java/com/tykj/dev/device/file/util/JavaToPdfHtmlFreeMarker.java
浏览文件 @
73ad44f5
...
@@ -2271,4 +2271,219 @@ public class JavaToPdfHtmlFreeMarker {
...
@@ -2271,4 +2271,219 @@ public class JavaToPdfHtmlFreeMarker {
}
}
return
null
;
return
null
;
}
}
//有异常的分类
/**
* 工作交接计算每一页数据
* @param deviceList
* @return
* @throws UnsupportedEncodingException
*/
public
static
List
<
List
<
DocumentDevice
>>
toWorkHandoverDeviceList2
(
List
<
DocumentDevice
>
deviceList
)
throws
UnsupportedEncodingException
{
List
<
List
<
DocumentDevice
>>
lists
=
new
ArrayList
<>();
List
<
DocumentDevice
>
documentDevices
=
new
ArrayList
<>();
deviceList
=
deviceList
.
stream
().
sorted
(
Comparator
.
comparing
(
DocumentDevice:
:
getModel
).
thenComparing
(
DocumentDevice:
:
getParts
)).
collect
(
Collectors
.
toList
());
Integer
code
=
0
;
int
i
=
0
;
for
(
int
j
=
0
;
j
<
deviceList
.
size
();
j
++){
DocumentDevice
documentDevice
=
deviceList
.
get
(
j
);
int
max
=
toWorkHandoverMax
(
documentDevice
);
if
(
i
+
max
==
15
){
String
s
=
String
.
join
(
""
,
toListString
(
documentDevice
.
getDeviceSerialNumber
(),
56
));
documentDevice
.
setOneCount
(
max
);
documentDevice
.
setModel
(
String
.
join
(
""
,
toListString
(
documentDevice
.
getModel
(),
17
)));
documentDevice
.
setParts
(
String
.
join
(
""
,
toListString
(
documentDevice
.
getParts
(),
17
)));
documentDevice
.
setRemark
(
String
.
join
(
""
,
toListString
(
documentDevice
.
getRemark
(),
15
)));
documentDevice
.
setDeviceSerialNumber
(
isAddUnderline
(
s
,
documentDevice
.
getAbnormal
()));
code
++;
documentDevice
.
setCode
(
code
);
documentDevices
.
add
(
documentDevice
);
lists
.
add
(
documentDevices
);
documentDevices
=
new
ArrayList
<>();
i
=
0
;
}
else
if
(
i
+
max
>
15
){
//当前页面少了多少行
int
differ
=
15
-
i
;
List
<
String
>
modelList
=
toListString
(
documentDevice
.
getModel
(),
17
);
List
<
String
>
seqList
=
toListString
(
documentDevice
.
getDeviceSerialNumber
(),
56
);
List
<
String
>
pasList
=
toListString
(
documentDevice
.
getParts
(),
17
);
List
<
String
>
remarkList
=
toListString
(
documentDevice
.
getRemark
(),
15
);
DocumentDevice
documentDevice1
=
new
DocumentDevice
();
if
(
modelList
.
size
()>
differ
){
documentDevice
.
setModel
(
String
.
join
(
""
,
modelList
.
subList
(
0
,
differ
)));
documentDevice1
.
setModel
(
String
.
join
(
""
,
modelList
.
subList
(
differ
,
modelList
.
size
())));
}
else
{
documentDevice
.
setModel
(
String
.
join
(
""
,
modelList
.
subList
(
0
,
modelList
.
size
())));
}
if
(
seqList
.
size
()>
differ
){
documentDevice
.
setDeviceSerialNumber
(
isAddUnderline
(
String
.
join
(
""
,
seqList
.
subList
(
0
,
differ
)),
documentDevice
.
getAbnormal
()));
documentDevice1
.
setDeviceSerialNumber
(
isAddUnderline
(
String
.
join
(
""
,
seqList
.
subList
(
differ
,
seqList
.
size
())),
documentDevice
.
getAbnormal
()));
}
else
{
documentDevice
.
setDeviceSerialNumber
(
isAddUnderline
(
String
.
join
(
""
,
seqList
.
subList
(
0
,
seqList
.
size
())),
documentDevice
.
getAbnormal
()));
}
if
(
pasList
.
size
()>
differ
){
documentDevice
.
setParts
(
String
.
join
(
""
,
pasList
.
subList
(
0
,
differ
)));
documentDevice1
.
setParts
(
String
.
join
(
""
,
pasList
.
subList
(
differ
,
pasList
.
size
())));
}
else
{
documentDevice
.
setParts
(
String
.
join
(
""
,
pasList
.
subList
(
0
,
pasList
.
size
())));
}
if
(
remarkList
.
size
()>
differ
){
documentDevice
.
setRemark
(
String
.
join
(
""
,
remarkList
.
subList
(
0
,
differ
)));
documentDevice1
.
setRemark
(
String
.
join
(
""
,
remarkList
.
subList
(
differ
,
remarkList
.
size
())));
}
else
{
documentDevice
.
setRemark
(
String
.
join
(
""
,
remarkList
));
}
code
++;
documentDevice
.
setCode
(
code
);
documentDevice
.
setOneCount
(
differ
);
documentDevices
.
add
(
documentDevice
);
lists
.
add
(
documentDevices
);
documentDevices
=
new
ArrayList
<>();
code
++;
documentDevice1
.
setCode
(
code
);
documentDevice1
.
setOneCount
(
max
-
differ
);
documentDevices
.
add
(
documentDevice1
);
i
=
max
-
differ
;
}
else
{
String
s
=
String
.
join
(
""
,
toListString
(
documentDevice
.
getDeviceSerialNumber
(),
56
));
code
++;
documentDevice
.
setModel
(
String
.
join
(
""
,
toListString
(
documentDevice
.
getModel
(),
17
)));
documentDevice
.
setParts
(
String
.
join
(
""
,
toListString
(
documentDevice
.
getParts
(),
17
)));
documentDevice
.
setRemark
(
String
.
join
(
""
,
toListString
(
documentDevice
.
getRemark
(),
15
)));
documentDevice
.
setCode
(
code
);
documentDevice
.
setOneCount
(
max
);
documentDevice
.
setDeviceSerialNumber
(
isAddUnderline
(
s
,
documentDevice
.
getAbnormal
()));
documentDevices
.
add
(
documentDevice
);
i
=
i
+
max
;
}
}
if
(
documentDevices
.
size
()!=
0
){
lists
.
add
(
documentDevices
);
}
return
lists
;
}
private
static
String
isAddUnderline
(
String
seq
,
Integer
isNot
){
if
(
isNot
!=
null
&&
isNot
==
1
)
{
return
"<span class=\"decorationLine\">"
+
seq
+
"</span>"
;
}
else
{
return
seq
;
}
}
/**
* freemarker渲染html 签字图片
*/
public
static
String
[]
freeMarkerRenderNew
(
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
(
"billSignature.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
(
toMapNew
(
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
;
}
private
static
Map
<
String
,
Object
>
toMapNew
(
Documents
documents
,
List
<
DocumentDevice
>
list
,
String
test
,
Integer
page
,
Integer
count
,
String
QRCode
){
Map
<
String
,
Object
>
data
=
new
HashMap
();
data
.
put
(
"ul"
,
test
);
data
.
put
(
"number"
,
documents
.
getNumber
());
data
.
put
(
"title"
,
documents
.
getTitle
());
data
.
put
(
"receiveUnit"
,
documents
.
getReceiveUnit
());
data
.
put
(
"replyNum"
,
documents
.
getReplyNum
());
data
.
put
(
"senderUnit"
,
documents
.
getSenderUnit
());
data
.
put
(
"page"
,
page
);
data
.
put
(
"count"
,
count
);
data
.
put
(
"QRCode"
,
"\""
+
"data:image/png;base64,"
+
QRCode
+
"\""
);
if
(
documents
.
getSrcA
()==
null
||
documents
.
getSrcA
().
equals
(
""
)){
data
.
put
(
"srcA"
,
"\""
+
1
+
"\""
);
}
else
{
data
.
put
(
"srcA"
,
"\""
+
documents
.
getSrcA
()+
"\""
);
}
if
(
documents
.
getUserSrcA1
()==
null
||
documents
.
getUserSrcA1
().
equals
(
""
)){
data
.
put
(
"userSrcA1"
,
"\""
+
1
+
"\""
);
}
else
{
data
.
put
(
"userSrcA1"
,
"\""
+
documents
.
getUserSrcA1
()+
"\""
);
}
if
(
documents
.
getUserSrcA2
()==
null
||
documents
.
getUserSrcA2
().
equals
(
""
)){
data
.
put
(
"userSrcA2"
,
"\""
+
1
+
"\""
);
}
else
{
data
.
put
(
"userSrcA2"
,
"\""
+
documents
.
getUserSrcA2
()+
"\""
);
}
if
(
documents
.
getUserSrcB1
()==
null
||
documents
.
getUserSrcB1
().
equals
(
""
)){
data
.
put
(
"userSrcB1"
,
"\""
+
1
+
"\""
);
}
else
{
data
.
put
(
"userSrcB1"
,
"\""
+
documents
.
getUserSrcB1
()+
"\""
);
}
if
(
documents
.
getUserSrcB2
()==
null
||
documents
.
getUserSrcB2
().
equals
(
""
)){
data
.
put
(
"userSrcB2"
,
"\""
+
1
+
"\""
);
}
else
{
data
.
put
(
"userSrcB2"
,
"\""
+
documents
.
getUserSrcB2
()+
"\""
);
}
data
.
put
(
"nameA"
,
documents
.
getNameA
());
data
.
put
(
"nameA1"
,
documents
.
getNameA1
());
data
.
put
(
"nameB"
,
documents
.
getNameB
());
data
.
put
(
"nameB1"
,
documents
.
getNameB1
());
if
(
documents
.
getSrcB
()==
null
||
documents
.
getSrcB
().
equals
(
""
)){
data
.
put
(
"srcB"
,
"\""
+
1
+
"\""
);
}
else
{
data
.
put
(
"srcB"
,
"\""
+
documents
.
getSrcB
()+
"\""
);
}
// List<DocumentDevice> list1=new ArrayList<>();
// AtomicInteger i= new AtomicInteger(1);
// list.forEach(
// documentDevice -> {
// documentDevice.setCode(i.get());
// i.set(i.get() + 1);
// list1.add(documentDevice);
// }
// );
data
.
put
(
"documentDevices"
,
list
);
return
data
;
}
}
}
dev-union/src/main/resources/htmlTemplate/bill10-copy.html
0 → 100755
浏览文件 @
73ad44f5
差异被折叠。
点击展开。
dev-union/src/main/resources/htmlTemplate/bill10.html
浏览文件 @
73ad44f5
...
@@ -304,8 +304,14 @@
...
@@ -304,8 +304,14 @@
</div>
</div>
</p>
</p>
<div
style=
"height: 853px;overflow: hidden"
>
<div
style=
"height: 853px;overflow: hidden"
>
<
#
list
checks
as
dev
>
<table
class=
"altrowstable"
border=
"0"
id=
"alternatecolor"
>
<table
class=
"altrowstable"
border=
"0"
id=
"alternatecolor"
>
<tr>
<th>
型号
</th>
<th>
名称
</th>
<th>
数量
</th>
</tr>
<
#
list
checks
as
dev
>
<
#
if
(
dev
.
model
)??
>
<
#
if
(
dev
.
model
)??
>
<
#
if
dev
.
isPart =
=
0
>
<
#
if
dev
.
isPart =
=
0
>
<tr>
<tr>
...
@@ -394,8 +400,8 @@
...
@@ -394,8 +400,8 @@
<td
colspan=
"3"
class=
"td30"
style=
"text-align: left;padding: 0 2em;color: #555;"
>
${dev.seqStirng!}
</td>
<td
colspan=
"3"
class=
"td30"
style=
"text-align: left;padding: 0 2em;color: #555;"
>
${dev.seqStirng!}
</td>
</
#
if>
</
#
if>
</tr>
</tr>
</
#
list>
</table>
</table>
</
#
list>
</div>
</div>
</div>
</div>
<p
class=
"person"
style=
"margin-top: 10px;font-size: 15px;width: 100%;text-align: left;"
>
<p
class=
"person"
style=
"margin-top: 10px;font-size: 15px;width: 100%;text-align: left;"
>
...
...
dev-union/src/main/resources/htmlTemplate/billSignature.html
0 → 100755
浏览文件 @
73ad44f5
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论