Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doc-transform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
doc-transform
Commits
1c6224b2
Commit
1c6224b2
authored
Sep 22, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改上传附件事件
parent
8ab87b69
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
76 additions
and
56 deletions
+76
-56
doc-transform-manage-ui/admin/src/components/common/formDesigner/custom/previewRender.js
...rc/components/common/formDesigner/custom/previewRender.js
+5
-0
doc-transform-manage-ui/admin/src/components/common/formDesigner/custom/render.js
...admin/src/components/common/formDesigner/custom/render.js
+18
-8
doc-transform-manage-ui/admin/src/components/common/formDesigner/custom/viewRender.js
...n/src/components/common/formDesigner/custom/viewRender.js
+0
-1
doc-transform-manager/src/main/java/com/mortals/xhx/common/code/ComponentEnum.java
.../main/java/com/mortals/xhx/common/code/ComponentEnum.java
+1
-1
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignImageComponent.java
...xhx/common/formdesign/component/DesignImageComponent.java
+13
-8
doc-transform-manager/src/main/java/com/mortals/xhx/common/pdu/gen/component/ComponentCons.java
...m/mortals/xhx/common/pdu/gen/component/ComponentCons.java
+3
-0
doc-transform-manager/src/main/java/com/mortals/xhx/module/doc/baseinfo/service/impl/DocBaseinfoServiceImpl.java
...ule/doc/baseinfo/service/impl/DocBaseinfoServiceImpl.java
+21
-30
doc-transform-manager/src/main/java/com/mortals/xhx/module/doc/baseinfo/web/DocBaseinfoController.java
...ls/xhx/module/doc/baseinfo/web/DocBaseinfoController.java
+7
-4
doc-transform-manager/src/main/java/com/mortals/xhx/module/doc/form/web/DocFormController.java
...om/mortals/xhx/module/doc/form/web/DocFormController.java
+1
-1
doc-transform-manager/src/main/java/com/mortals/xhx/module/doc/template/service/impl/DocTemplateServiceImpl.java
...ule/doc/template/service/impl/DocTemplateServiceImpl.java
+4
-1
doc-transform-manager/src/test/java/com/mortals/system.http
doc-transform-manager/src/test/java/com/mortals/system.http
+3
-2
No files found.
doc-transform-manage-ui/admin/src/components/common/formDesigner/custom/previewRender.js
View file @
1c6224b2
...
@@ -9,6 +9,10 @@ function vModel(self, dataObject) {
...
@@ -9,6 +9,10 @@ function vModel(self, dataObject) {
}
}
//判断是否为上传组件
//判断是否为上传组件
if
(
self
.
conf
.
compType
===
'
upload
'
){
if
(
self
.
conf
.
compType
===
'
upload
'
){
//增加上传回调事件
dataObject
.
attrs
[
'
on-success
'
]
=
(
response
,
file
)
=>
{
self
.
$emit
(
"
input
"
,
response
.
url
);
}
dataObject
.
attrs
[
'
before-upload
'
]
=
file
=>
{
dataObject
.
attrs
[
'
before-upload
'
]
=
file
=>
{
//非限定后缀不允许上传
//非限定后缀不允许上传
const
fileName
=
file
.
name
;
const
fileName
=
file
.
name
;
...
@@ -29,6 +33,7 @@ function vModel(self, dataObject) {
...
@@ -29,6 +33,7 @@ function vModel(self, dataObject) {
export
default
{
export
default
{
render
(
h
)
{
render
(
h
)
{
let
dataObject
=
{
let
dataObject
=
{
attrs
:
{},
attrs
:
{},
props
:
{},
props
:
{},
...
...
doc-transform-manage-ui/admin/src/components/common/formDesigner/custom/render.js
View file @
1c6224b2
import
{
isAttr
,
jsonClone
}
from
'
../utils/index
'
;
import
{
isAttr
,
jsonClone
}
from
'
../utils/index
'
;
import
childrenItem
from
'
./slot/index
'
;
import
childrenItem
from
'
./slot/index
'
;
import
{
remoteData
}
from
'
./mixin
'
;
import
{
remoteData
}
from
'
./mixin
'
;
function
vModel
(
self
,
dataObject
)
{
function
vModel
(
self
,
dataObject
)
{
if
(
self
.
conf
.
ele
===
'
el-upload
'
)
{
dataObject
.
attrs
[
'
on-success
'
]
=
(
response
,
file
)
=>
{
self
.
$emit
(
"
input
"
,
response
.
url
);
}
dataObject
.
attrs
[
'
on-remove
'
]
=
(
file
,
fileList
)
=>
{
self
.
$emit
(
'
deleteUpload
'
,
file
,
fileList
)
}
}
dataObject
.
on
.
input
=
val
=>
{
dataObject
.
on
.
input
=
val
=>
{
self
.
$emit
(
'
input
'
,
val
)
self
.
$emit
(
'
input
'
,
val
)
}
}
}
}
export
default
{
export
default
{
render
(
h
)
{
render
(
h
)
{
let
dataObject
=
{
let
dataObject
=
{
attrs
:
{},
attrs
:
{},
props
:
{},
props
:
{},
...
@@ -19,16 +29,16 @@ export default {
...
@@ -19,16 +29,16 @@ export default {
//远程获取数据
//远程获取数据
this
.
getRemoteData
();
this
.
getRemoteData
();
const
confClone
=
jsonClone
(
this
.
conf
);
const
confClone
=
jsonClone
(
this
.
conf
);
const
children
=
childrenItem
(
h
,
confClone
);
const
children
=
childrenItem
(
h
,
confClone
);
Object
.
keys
(
confClone
).
forEach
(
key
=>
{
Object
.
keys
(
confClone
).
forEach
(
key
=>
{
const
val
=
confClone
[
key
]
const
val
=
confClone
[
key
]
if
(
dataObject
[
key
])
{
if
(
dataObject
[
key
])
{
dataObject
[
key
]
=
val
dataObject
[
key
]
=
val
}
else
if
(
!
isAttr
(
key
))
{
}
else
if
(
!
isAttr
(
key
))
{
dataObject
.
props
[
key
]
=
val
dataObject
.
props
[
key
]
=
val
}
else
if
(
key
===
'
width
'
)
{
}
else
if
(
key
===
'
width
'
)
{
dataObject
.
style
=
'
width:
'
+
val
;
dataObject
.
style
=
'
width:
'
+
val
;
}
else
{
}
else
{
dataObject
.
attrs
[
key
]
=
val
dataObject
.
attrs
[
key
]
=
val
}
}
})
})
...
@@ -37,5 +47,5 @@ export default {
...
@@ -37,5 +47,5 @@ export default {
return
h
(
confClone
.
ele
,
dataObject
,
children
)
return
h
(
confClone
.
ele
,
dataObject
,
children
)
},
},
props
:
[
'
conf
'
],
props
:
[
'
conf
'
],
mixins
:[
remoteData
]
mixins
:
[
remoteData
]
}
}
doc-transform-manage-ui/admin/src/components/common/formDesigner/custom/viewRender.js
View file @
1c6224b2
...
@@ -17,7 +17,6 @@ export default {
...
@@ -17,7 +17,6 @@ export default {
on
:
{},
on
:
{},
style
:
{}
style
:
{}
}
}
//远程获取数据
//远程获取数据
this
.
getRemoteData
();
this
.
getRemoteData
();
const
confClone
=
jsonClone
(
this
.
conf
);
const
confClone
=
jsonClone
(
this
.
conf
);
...
...
doc-transform-manager/src/main/java/com/mortals/xhx/common/code/ComponentEnum.java
View file @
1c6224b2
...
@@ -17,7 +17,7 @@ public enum ComponentEnum {
...
@@ -17,7 +17,7 @@ public enum ComponentEnum {
RADIO
(
"r"
,
"单选框"
),
RADIO
(
"r"
,
"单选框"
),
DATE
(
"date"
,
"日期选择栏"
),
DATE
(
"date"
,
"日期选择栏"
),
AREA
(
"area"
,
"区域选择栏"
),
AREA
(
"area"
,
"区域选择栏"
),
IMAGE
(
"image"
,
"图片选择"
),
IMAGE
(
"
@
image"
,
"图片选择"
),
DYNAMIC_TABLE
(
"dt"
,
"动态表格"
),;
DYNAMIC_TABLE
(
"dt"
,
"动态表格"
),;
private
String
value
;
private
String
value
;
...
...
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignImageComponent.java
View file @
1c6224b2
...
@@ -31,20 +31,25 @@ public class DesignImageComponent extends DesignComponent {
...
@@ -31,20 +31,25 @@ public class DesignImageComponent extends DesignComponent {
columnsItem
.
setId
(
cons
.
getVal
());
columnsItem
.
setId
(
cons
.
getVal
());
columnsItem
.
set_id
(
cons
.
getVal
());
columnsItem
.
set_id
(
cons
.
getVal
());
columnsItem
.
setCompType
(
"upload"
);
columnsItem
.
setCompType
(
"upload"
);
columnsItem
.
setCompName
(
cons
.
getLabel
()
);
columnsItem
.
setCompName
(
"附件"
);
columnsItem
.
setCompIcon
(
"
button
"
);
columnsItem
.
setCompIcon
(
"
att
"
);
columnsItem
.
setEle
(
"el-upload"
);
columnsItem
.
setEle
(
"el-upload"
);
columnsItem
.
setViewType
(
"component"
);
columnsItem
.
setViewType
(
"component"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setType
(
"primary"
);
columnsItem
.
setMultiple
(
false
);
columnsItem
.
setText
(
"按钮"
);
columnsItem
.
setRequired
(
false
);
columnsItem
.
setPlain
(
true
);
columnsItem
.
setAction
(
cons
.
getUploadFileUrl
());
columnsItem
.
setRound
(
false
);
columnsItem
.
setName
(
"file"
);
columnsItem
.
setCircle
(
false
);
columnsItem
.
setShowFileList
(
true
);
columnsItem
.
setLoading
(
false
);
columnsItem
.
setListType
(
"picture-card"
);
columnsItem
.
setShowTip
(
false
);
columnsItem
.
setTips
(
"点击按钮上传附件"
);
columnsItem
.
setAccept
(
"jpg,png,jpeg,bmp"
);
columnsItem
.
setFileSize
(
10
);
columnsItem
.
setLayout
(
"colItem"
);
columnsItem
.
setLayout
(
"colItem"
);
return
columnsItem
;
return
columnsItem
;
...
...
doc-transform-manager/src/main/java/com/mortals/xhx/common/pdu/gen/component/ComponentCons.java
View file @
1c6224b2
...
@@ -31,4 +31,7 @@ public class ComponentCons {
...
@@ -31,4 +31,7 @@ public class ComponentCons {
private
List
<
TableColItem
>
colList
;
private
List
<
TableColItem
>
colList
;
private
String
uploadFileUrl
;
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/module/doc/baseinfo/service/impl/DocBaseinfoServiceImpl.java
View file @
1c6224b2
...
@@ -11,6 +11,9 @@ import com.alibaba.fastjson.JSON;
...
@@ -11,6 +11,9 @@ import com.alibaba.fastjson.JSON;
import
com.deepoove.poi.XWPFTemplate
;
import
com.deepoove.poi.XWPFTemplate
;
import
com.deepoove.poi.config.Configure
;
import
com.deepoove.poi.config.Configure
;
import
com.deepoove.poi.config.ConfigureBuilder
;
import
com.deepoove.poi.config.ConfigureBuilder
;
import
com.deepoove.poi.data.PictureRenderData
;
import
com.deepoove.poi.data.PictureType
;
import
com.deepoove.poi.data.Pictures
;
import
com.deepoove.poi.plugin.table.MultipleRowTableRenderPolicy
;
import
com.deepoove.poi.plugin.table.MultipleRowTableRenderPolicy
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
...
@@ -44,10 +47,7 @@ import org.springframework.util.ObjectUtils;
...
@@ -44,10 +47,7 @@ import org.springframework.util.ObjectUtils;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.awt.image.BufferedImage
;
import
java.awt.image.BufferedImage
;
import
java.io.ByteArrayOutputStream
;
import
java.io.*
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.StringWriter
;
import
java.nio.charset.Charset
;
import
java.nio.charset.Charset
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
...
@@ -114,7 +114,7 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
...
@@ -114,7 +114,7 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
//解析模板变量
//解析模板变量
//docTemplateService.parseDocXml(subEntity, context);
//docTemplateService.parseDocXml(subEntity, context);
//TODO
//TODO
docTemplateService
.
parseDocxToJson
(
subEntity
,
context
);
docTemplateService
.
parseDocxToJson
(
subEntity
,
context
);
}
}
super
.
saveAfter
(
entity
,
context
);
super
.
saveAfter
(
entity
,
context
);
}
}
...
@@ -138,7 +138,7 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
...
@@ -138,7 +138,7 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
}
}
if
(!
sourceEntity
.
getDocTemplateEntity
().
getTemplatePath
().
equals
(
entity
.
getDocTemplateEntity
().
getTemplatePath
()))
{
if
(!
sourceEntity
.
getDocTemplateEntity
().
getTemplatePath
().
equals
(
entity
.
getDocTemplateEntity
().
getTemplatePath
()))
{
// docTemplateService.parseDocXml(entity.getDocTemplateEntity(), context);
// docTemplateService.parseDocXml(entity.getDocTemplateEntity(), context);
}
}
super
.
updateBefore
(
entity
,
context
);
super
.
updateBefore
(
entity
,
context
);
...
@@ -241,7 +241,7 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
...
@@ -241,7 +241,7 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
try
{
try
{
// 渲染模板
// 渲染模板
StringWriter
sw
=
new
StringWriter
();
StringWriter
sw
=
new
StringWriter
();
// template.process(data, sw);
// template.process(data, sw);
MultipartFile
multipartFile
=
new
MockMultipartFile
(
templateName
,
templateName
,
MultipartFile
multipartFile
=
new
MockMultipartFile
(
templateName
,
templateName
,
ContentType
.
APPLICATION_OCTET_STREAM
.
toString
(),
sw
.
toString
().
getBytes
(
Charset
.
forName
(
"UTF-8"
)));
ContentType
.
APPLICATION_OCTET_STREAM
.
toString
(),
sw
.
toString
().
getBytes
(
Charset
.
forName
(
"UTF-8"
)));
String
mergedocPath
=
uploadService
.
saveFileUpload
(
multipartFile
,
"/mergedoc"
,
context
.
getUser
());
String
mergedocPath
=
uploadService
.
saveFileUpload
(
multipartFile
,
"/mergedoc"
,
context
.
getUser
());
...
@@ -268,7 +268,6 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
...
@@ -268,7 +268,6 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
}
}
@Override
@Override
public
String
submitOtherSystem
(
String
form
,
Long
templateId
,
String
previewPath
,
String
mergeDocPath
,
Context
context
)
{
public
String
submitOtherSystem
(
String
form
,
Long
templateId
,
String
previewPath
,
String
mergeDocPath
,
Context
context
)
{
...
@@ -304,21 +303,25 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
...
@@ -304,21 +303,25 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
Map
<
String
,
Object
>
data
=
mapper
.
readValue
(
docFormVo
.
getFormContent
(),
Map
.
class
);
Map
<
String
,
Object
>
data
=
mapper
.
readValue
(
docFormVo
.
getFormContent
(),
Map
.
class
);
//遍历查看是否有图片数据,多选框
//遍历查看是否有图片数据,多选框
data
.
entrySet
().
stream
().
forEach
(
entry
->
{
data
.
entrySet
().
stream
().
forEach
(
entry
->
{
if
(
entry
.
getKey
().
indexOf
(
"image"
)
!=
-
1
)
{
if
(
entry
.
getKey
().
indexOf
(
"
@
image"
)
!=
-
1
)
{
//获取值 读取本地图片
//获取值 读取本地图片
String
imagepath
=
uploadService
.
getFilePath
(
entry
.
getValue
().
toString
());
String
imagepath
=
uploadService
.
getFilePath
(
entry
.
getValue
().
toString
());
log
.
info
(
"Image path: "
+
imagepath
);
log
.
info
(
"Image path: "
+
imagepath
);
BufferedImage
image
=
ImgUtil
.
read
(
imagepath
);
try
{
String
ext
=
FileUtil
.
getSuffix
(
imagepath
);
PictureRenderData
pictureRenderData
=
Pictures
.
ofStream
(
new
FileInputStream
(
imagepath
),
PictureType
.
JPEG
)
String
imageStr
=
ImgUtil
.
toBase64
(
image
,
ext
);
.
size
(
100
,
120
).
create
();
entry
.
setValue
(
imageStr
);
data
.
put
(
StrUtil
.
removePrefixIgnoreCase
(
entry
.
getKey
(),
"@"
),
pictureRenderData
);
//entry.setValue(pictureRenderData);
}
catch
(
FileNotFoundException
e
)
{
log
.
error
(
"error"
,
e
);
}
}
}
//构建填充复选框值
//构建填充复选框值
if
(
entry
.
getKey
().
indexOf
(
"ck_"
)
!=
-
1
&&
entry
.
getKey
().
indexOf
(
"
v
"
)
!=
-
1
)
{
if
(
entry
.
getKey
().
indexOf
(
"ck_"
)
!=
-
1
&&
entry
.
getKey
().
indexOf
(
"
<
"
)
!=
-
1
)
{
//获取复选框选项,并渲染值
//获取复选框选项,并渲染值
String
ckStr
=
StringUtils
.
substringBetween
(
entry
.
getKey
(),
"
v"
,
"v
"
);
String
ckStr
=
StringUtils
.
substringBetween
(
entry
.
getKey
(),
"
<"
,
">
"
);
//获取所有选项
//获取所有选项
List
<
String
>
checkboxs
=
StrUtil
.
splitTrim
(
ckStr
,
"
_
"
,
-
1
);
List
<
String
>
checkboxs
=
StrUtil
.
splitTrim
(
ckStr
,
"
-
"
,
-
1
);
//选中的项
//选中的项
List
<
String
>
ckList
=
Convert
.
toList
(
String
.
class
,
entry
.
getValue
());
List
<
String
>
ckList
=
Convert
.
toList
(
String
.
class
,
entry
.
getValue
());
//合并
//合并
...
@@ -337,37 +340,28 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
...
@@ -337,37 +340,28 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
).
collect
(
Collectors
.
joining
(
""
));
).
collect
(
Collectors
.
joining
(
""
));
entry
.
setValue
(
ckStrs
);
entry
.
setValue
(
ckStrs
);
}
}
//TODO 单选
//TODO 单选
//绑定动态表单
//绑定动态表单
if
(
entry
.
getKey
().
indexOf
(
"dt_"
)
!=
-
1
)
{
if
(
entry
.
getKey
().
indexOf
(
"dt_"
)
!=
-
1
)
{
builder
.
bind
(
entry
.
getKey
(),
new
MultipleRowTableRenderPolicy
());
builder
.
bind
(
entry
.
getKey
(),
new
MultipleRowTableRenderPolicy
());
}
}
});
});
//查询是否有多选框,
//查询是否有多选框,
//获取模板文件地址
//获取模板文件地址
DocTemplateEntity
docTemplateEntity
=
docTemplateService
.
get
(
docFormVo
.
getTemplateId
());
DocTemplateEntity
docTemplateEntity
=
docTemplateService
.
get
(
docFormVo
.
getTemplateId
());
if
(!
ObjectUtils
.
isEmpty
(
docTemplateEntity
))
{
if
(!
ObjectUtils
.
isEmpty
(
docTemplateEntity
))
{
String
path
=
filePath
+
docTemplateEntity
.
getTemplatePath
();
String
path
=
filePath
+
docTemplateEntity
.
getTemplatePath
();
int
index
=
StrUtil
.
lastIndexOfIgnoreCase
(
path
,
"/"
);
String
templatePath
=
path
.
substring
(
0
,
index
);
//FreeMarkerUtils.initFreeMarkerPath(templatePath);
String
templateName
=
FileUtil
.
getName
(
path
);
String
templateName
=
FileUtil
.
getName
(
path
);
Configure
config
=
builder
.
build
();
Configure
config
=
builder
.
build
();
XWPFTemplate
template
=
null
;
XWPFTemplate
template
=
null
;
ByteArrayOutputStream
byteArrayOutputStream
=
null
;
ByteArrayOutputStream
byteArrayOutputStream
=
null
;
try
{
try
{
// ClassPathResource classPathResource = new ClassPathResource(path);
template
=
XWPFTemplate
.
compile
(
path
,
config
).
render
(
data
);
template
=
XWPFTemplate
.
compile
(
path
,
config
).
render
(
data
);
byteArrayOutputStream
=
new
ByteArrayOutputStream
();
byteArrayOutputStream
=
new
ByteArrayOutputStream
();
template
.
write
(
byteArrayOutputStream
);
template
.
write
(
byteArrayOutputStream
);
MultipartFile
multipartFile
=
new
MockMultipartFile
(
templateName
,
templateName
,
MultipartFile
multipartFile
=
new
MockMultipartFile
(
templateName
,
templateName
,
ContentType
.
APPLICATION_OCTET_STREAM
.
toString
(),
byteArrayOutputStream
.
toByteArray
());
ContentType
.
APPLICATION_OCTET_STREAM
.
toString
(),
byteArrayOutputStream
.
toByteArray
());
String
mergedocPath
=
uploadService
.
saveFileUpload
(
multipartFile
,
"/mergedoc"
,
context
.
getUser
());
String
mergedocPath
=
uploadService
.
saveFileUpload
(
multipartFile
,
"/mergedoc"
,
context
.
getUser
());
log
.
info
(
"mergedocPath:"
+
mergedocPath
);
log
.
info
(
"mergedocPath:"
+
mergedocPath
);
String
mergedoc
=
this
.
filePath
+
mergedocPath
;
String
mergedoc
=
this
.
filePath
+
mergedocPath
;
...
@@ -376,13 +370,11 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
...
@@ -376,13 +370,11 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
String
preView
=
this
.
filePath
+
"/preview/"
+
fileName
;
String
preView
=
this
.
filePath
+
"/preview/"
+
fileName
;
WordUtil
.
convertWordToJPEG
(
mergedoc
,
preView
);
WordUtil
.
convertWordToJPEG
(
mergedoc
,
preView
);
log
.
info
(
"preView:"
+
mergedocPath
);
log
.
info
(
"preView:"
+
mergedocPath
);
//下载地址拼装
//下载地址拼装
String
returnStr
=
mergedocPath
+
";"
+
"/preview/"
+
fileName
;
String
returnStr
=
mergedocPath
+
";"
+
"/preview/"
+
fileName
;
return
returnStr
;
return
returnStr
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"渲染模板失败:"
,
e
);
log
.
error
(
"渲染模板失败:"
,
e
);
// return new byte[0];
}
finally
{
}
finally
{
try
{
try
{
template
.
close
();
template
.
close
();
...
@@ -391,7 +383,6 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
...
@@ -391,7 +383,6 @@ public class DocBaseinfoServiceImpl extends AbstractCRUDServiceImpl<DocBaseinfoD
log
.
error
(
"ioEx:"
,
e
);
log
.
error
(
"ioEx:"
,
e
);
}
}
}
}
}
}
}
catch
(
JsonProcessingException
e
)
{
}
catch
(
JsonProcessingException
e
)
{
log
.
error
(
"转换异常"
,
e
);
log
.
error
(
"转换异常"
,
e
);
...
...
doc-transform-manager/src/main/java/com/mortals/xhx/module/doc/baseinfo/web/DocBaseinfoController.java
View file @
1c6224b2
...
@@ -22,6 +22,7 @@ import com.mortals.framework.web.BaseCRUDJsonMappingController;
...
@@ -22,6 +22,7 @@ import com.mortals.framework.web.BaseCRUDJsonMappingController;
import
com.mortals.xhx.module.doc.baseinfo.model.vo.DocBaseinfoVo
;
import
com.mortals.xhx.module.doc.baseinfo.model.vo.DocBaseinfoVo
;
import
com.mortals.xhx.module.doc.baseinfo.service.DocBaseinfoService
;
import
com.mortals.xhx.module.doc.baseinfo.service.DocBaseinfoService
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -89,13 +90,15 @@ public class DocBaseinfoController extends BaseCRUDJsonBodyMappingController<Doc
...
@@ -89,13 +90,15 @@ public class DocBaseinfoController extends BaseCRUDJsonBodyMappingController<Doc
try
{
try
{
String
paths
=
this
.
getService
().
mergeFormToDoc
(
docFormVo
,
getContext
());
String
paths
=
this
.
getService
().
mergeFormToDoc
(
docFormVo
,
getContext
());
String
[]
vals
=
paths
.
split
(
";"
);
String
[]
vals
=
paths
.
split
(
";"
);
// String redirectUrl = this.getService().submitOtherSystem(form, templateId
, vals[0], vals[1], getContext());
String
redirectUrl
=
this
.
getService
().
submitOtherSystem
(
docFormVo
.
getFormContent
(),
docFormVo
.
getTemplateId
()
,
vals
[
0
],
vals
[
1
],
getContext
());
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
jsonObject
.
put
(
"mergeDoc"
,
vals
[
0
]);
jsonObject
.
put
(
"mergeDoc"
,
vals
[
0
]);
jsonObject
.
put
(
"preview"
,
vals
[
1
]);
jsonObject
.
put
(
"preview"
,
vals
[
1
]);
// jsonObject.put("redirectUrl", redirectUrl);
jsonObject
.
put
(
"redirectUrl"
,
redirectUrl
);
docFormService
.
save
(
docFormVo
,
getContext
());
docFormVo
.
setCreateTime
(
new
Date
());
docFormVo
.
setCreateUserId
(
getContextUserId
(
getContext
()));
docFormVo
.
setCreateUser
(
""
);
docFormService
.
save
(
docFormVo
,
getContext
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"合成表单异常"
,
e
);
log
.
error
(
"合成表单异常"
,
e
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
...
...
doc-transform-manager/src/main/java/com/mortals/xhx/module/doc/form/web/DocFormController.java
View file @
1c6224b2
...
@@ -40,7 +40,7 @@ public class DocFormController extends BaseCRUDJsonBodyMappingController<DocForm
...
@@ -40,7 +40,7 @@ public class DocFormController extends BaseCRUDJsonBodyMappingController<DocForm
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
DocFormEntity
docFormEntity
=
new
DocFormEntity
();
DocFormEntity
docFormEntity
=
new
DocFormEntity
();
docFormEntity
.
setFormContent
(
"{\"i_1_标题\":\"
234\",\"date_1_会议时间\":\"2022 年 09 月 12 日\",\"i_1_会议地点\":\"24\",\"dt_1_汇报\":[{\"i_1_汇报人\":\"2313213\",\"date_1_汇报时间\":\"\",\"t_1_汇报内容\":\"1231313\",\"index\":0},{\"i_1_汇报人\":\"啊啊啊\",\"date_1_汇报时间\":\"\",\"t_1_汇报内容\":\"巴巴爸爸\",\"index\":1}],\"i_1_记录人\":\"滚滚滚\",\"ck_1_政治面貌_v党员_非党员_党员先锋岗v\":[\"党员\",\"非党员\"],\"r_1_证件类型_v身份证_军官证_残疾证v\":\"残疾证\",\"s_1_设备类型_v呼叫器_窗口屏_评价器v\":\"窗口屏
\"}"
);
docFormEntity
.
setFormContent
(
"{\"i_1_标题\":\"
1231\",\"date_1_会议时间\":\"2022 年 09 月 14 日\",\"i_1_会议地点\":\"312313\",\"dt_1_汇报\":[{\"i_1_汇报人\":\"12313\",\"date_1_汇报时间\":\"\",\"t_1_汇报内容\":\"12313\",\"index\":0},{\"i_1_汇报人\":\"333\",\"date_1_汇报时间\":\"\",\"t_1_汇报内容\":\"3333\",\"index\":1}],\"i_1_记录人\":\"11123\",\"ck_1_政治面貌_<党员-非党员-党员先锋岗>\":[\"党员\"],\"r_1_证件类型_<身份证-军官证-残疾证>\":\"身份证\",\"s_1_设备类型_<呼叫器-窗口屏-评价器>\":\"窗口屏\",\"@image_1_照片\":\"/file/uploadfile/1663825533953.jpg
\"}"
);
docFormEntity
.
setTemplateId
(
50L
);
docFormEntity
.
setTemplateId
(
50L
);
System
.
out
.
println
(
JSON
.
toJSONString
(
docFormEntity
));
System
.
out
.
println
(
JSON
.
toJSONString
(
docFormEntity
));
...
...
doc-transform-manager/src/main/java/com/mortals/xhx/module/doc/template/service/impl/DocTemplateServiceImpl.java
View file @
1c6224b2
...
@@ -52,6 +52,9 @@ public class DocTemplateServiceImpl extends AbstractCRUDServiceImpl<DocTemplateD
...
@@ -52,6 +52,9 @@ public class DocTemplateServiceImpl extends AbstractCRUDServiceImpl<DocTemplateD
@Value
(
"${upload.path}"
)
@Value
(
"${upload.path}"
)
private
String
filePath
;
private
String
filePath
;
@Value
(
"${upload.url:http://localhost:8084/m/file/commonupload?prePath=/file/uploadfile}"
)
private
String
uploadUrl
;
@Override
@Override
protected
void
saveAfter
(
DocTemplateEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveAfter
(
DocTemplateEntity
entity
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getDocFormEntity
()))
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getDocFormEntity
()))
{
...
@@ -228,7 +231,6 @@ public class DocTemplateServiceImpl extends AbstractCRUDServiceImpl<DocTemplateD
...
@@ -228,7 +231,6 @@ public class DocTemplateServiceImpl extends AbstractCRUDServiceImpl<DocTemplateD
root
.
setConfig
(
config
);
root
.
setConfig
(
config
);
List
<
ListItem
>
collect
=
new
ArrayList
<>();
List
<
ListItem
>
collect
=
new
ArrayList
<>();
for
(
MetaTemplate
item
:
template
.
getElementTemplates
())
{
for
(
MetaTemplate
item
:
template
.
getElementTemplates
())
{
System
.
out
.
println
(
item
.
variable
());
//识别简单输入
//识别简单输入
String
val
=
StrUtil
.
strip
(
item
.
variable
(),
"{{"
,
"}}"
);
String
val
=
StrUtil
.
strip
(
item
.
variable
(),
"{{"
,
"}}"
);
List
<
String
>
keys
=
StrSplitter
.
split
(
val
,
"_"
,
true
,
true
);
List
<
String
>
keys
=
StrSplitter
.
split
(
val
,
"_"
,
true
,
true
);
...
@@ -240,6 +242,7 @@ public class DocTemplateServiceImpl extends AbstractCRUDServiceImpl<DocTemplateD
...
@@ -240,6 +242,7 @@ public class DocTemplateServiceImpl extends AbstractCRUDServiceImpl<DocTemplateD
cons
.
setLabel
(
label
);
cons
.
setLabel
(
label
);
cons
.
setVal
(
val
);
cons
.
setVal
(
val
);
cons
.
setEl
(
item
.
variable
());
cons
.
setEl
(
item
.
variable
());
cons
.
setUploadFileUrl
(
uploadUrl
);
if
(
type
.
equalsIgnoreCase
(
ComponentEnum
.
DYNAMIC_TABLE
.
getValue
()))
{
if
(
type
.
equalsIgnoreCase
(
ComponentEnum
.
DYNAMIC_TABLE
.
getValue
()))
{
List
<
TableColItem
>
colList
=
new
ArrayList
<>();
List
<
TableColItem
>
colList
=
new
ArrayList
<>();
...
...
doc-transform-manager/src/test/java/com/mortals/system.http
View file @
1c6224b2
...
@@ -30,8 +30,9 @@ Authorization: {{authToken}}
...
@@ -30,8 +30,9 @@ Authorization: {{authToken}}
Content-Type: application/json
Content-Type: application/json
{
{
"formContent": "{\"i_1_标题\":\"234\",\"date_1_会议时间\":\"2022 年 09 月 12 日\",\"i_1_会议地点\":\"24\",\"dt_1_汇报\":[{\"i_1_汇报人\":\"2313213\",\"date_1_汇报时间\":\"\",\"t_1_汇报内容\":\"1231313\",\"index\":0},{\"i_1_汇报人\":\"啊啊啊\",\"date_1_汇报时间\":\"\",\"t_1_汇报内容\":\"巴巴爸爸\",\"index\":1}],\"i_1_记录人\":\"滚滚滚\",\"ck_1_政治面貌_v党员_非党员_党员先锋岗v\":[\"党员\",\"非党员\"],\"r_1_证件类型_v身份证_军官证_残疾证v\":\"残疾证\",\"s_1_设备类型_v呼叫器_窗口屏_评价器v\":\"窗口屏\"}",
"deleted": 0,
"templateId": 50
"formContent": "{\"i_1_标题\":\"1231\",\"date_1_会议时间\":\"2022 年 09 月 14 日\",\"i_1_会议地点\":\"312313\",\"dt_1_汇报\":[{\"i_1_汇报人\":\"12313\",\"date_1_汇报时间\":\"\",\"t_1_汇报内容\":\"12313\",\"index\":0},{\"i_1_汇报人\":\"333\",\"date_1_汇报时间\":\"\",\"t_1_汇报内容\":\"3333\",\"index\":1}],\"i_1_记录人\":\"11123\",\"ck_1_政治面貌_<党员-非党员-党员先锋岗>\":[\"党员\"],\"r_1_证件类型_<身份证-军官证-残疾证>\":\"身份证\",\"s_1_设备类型_<呼叫器-窗口屏-评价器>\":\"窗口屏\",\"@image_1_照片\":\"/file/uploadfile/1663825533953.jpg\"}",
"templateId": 52
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment