Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
yn-health-science
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐俊
yn-health-science
Commits
9c5f747e
Commit
9c5f747e
authored
Feb 19, 2025
by
wangxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
11eff3d6
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
54 additions
and
12 deletions
+54
-12
pom.xml
science-admin/pom.xml
+1
-0
ComProjectController.java
...ava/com/yiboshi/science/rest/v1/ComProjectController.java
+18
-6
ComProjectTaskController.java
...com/yiboshi/science/rest/v1/ComProjectTaskController.java
+33
-0
PDF.java
...ce-admin/src/main/java/com/yiboshi/science/utils/PDF.java
+2
-6
tmp-task.html
science-admin/src/main/resources/template/tmp-task.html
+0
-0
No files found.
science-admin/pom.xml
View file @
9c5f747e
...
...
@@ -205,6 +205,7 @@
<artifactId>
flying-saucer-pdf
</artifactId>
<version>
9.1.22
</version>
</dependency>
<dependency>
<groupId>
org.xhtmlrenderer
</groupId>
<artifactId>
flying-saucer-pdf-itext5
</artifactId>
...
...
science-admin/src/main/java/com/yiboshi/science/rest/v1/ComProjectController.java
View file @
9c5f747e
...
...
@@ -14,8 +14,8 @@ import com.yiboshi.science.rest.BaseController;
import
com.yiboshi.science.service.ComFileService
;
import
com.yiboshi.science.service.ComProjectService
;
import
com.yiboshi.science.service.ComProjectTaskService
;
import
com.yiboshi.science.utils.*
;
import
com.yiboshi.science.service.SystemParameterService
;
import
com.yiboshi.science.utils.PDF
;
import
com.yiboshi.science.utils.ProjectInfoToPDF
;
import
com.yiboshi.science.utils.StringUtil
;
import
io.swagger.annotations.Api
;
...
...
@@ -44,15 +44,15 @@ public class ComProjectController extends BaseController<ComProjectService, ComP
@Autowired
private
ComProjectService
comProjectService
;
@Autowired
private
SystemParameterService
systemParameterService
;
@Autowired
private
ComProjectTaskService
comProjectTaskService
;
@Autowired
private
ComFileService
comFileService
;
@Autowired
private
SystemParameterService
systemParameterService
;
/**
* 功能:分页查询
*
...
...
@@ -87,13 +87,25 @@ public class ComProjectController extends BaseController<ComProjectService, ComP
return
ResponseDataModel
.
ok
(
comProjectService
.
getCount
(
e
));
}
@ApiOperation
(
value
=
"项目信息导出"
,
httpMethod
=
"POST"
,
notes
=
"项目信息导出"
)
@RequestMapping
(
"/export1/{id}"
)
@PostMapping
public
void
export1
(
@PathVariable
String
id
)
{
comProjectService
.
export
(
id
,
request
,
response
);
}
@ApiOperation
(
value
=
"项目信息导出"
,
httpMethod
=
"POST"
,
notes
=
"项目信息导出"
)
@RequestMapping
(
"/export/{id}"
)
@PostMapping
public
void
export
(
@PathVariable
String
id
)
{
comProjectService
.
export
(
id
,
request
,
response
);
public
ResponseDataModel
<
byte
[]>
export
(
@PathVariable
String
id
)
{
try
{
return
ResponseDataModel
.
ok
(
PDF
.
createPDF
(
response
,
"tmp-report.html"
,
new
ComProject
()));
}
catch
(
Exception
e
)
{
return
new
ResponseDataModel
(
ResponseCode
.
SERVER_ERROR
,
""
);
}
}
/**
* 根据id获取项目信息
*
...
...
science-admin/src/main/java/com/yiboshi/science/rest/v1/ComProjectTaskController.java
View file @
9c5f747e
package
com
.
yiboshi
.
science
.
rest
.
v1
;
import
com.yiboshi.arch.base.ResponseCode
;
import
com.yiboshi.arch.base.ResponseDataModel
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.config.annotation.Logs
;
import
com.yiboshi.science.config.security.SecurityUserHolder
;
import
com.yiboshi.science.entity.ComProject
;
import
com.yiboshi.science.entity.ComProjectAudit
;
import
com.yiboshi.science.entity.ComProjectTask
;
import
com.yiboshi.science.entity.SelectListItem
;
...
...
@@ -16,17 +18,22 @@ import com.yiboshi.science.param.query.ComProjectTaskQueryVO;
import
com.yiboshi.science.rest.BaseController
;
import
com.yiboshi.science.service.ComProjectTaskService
;
import
com.yiboshi.science.service.SystemParameterService
;
import
com.yiboshi.science.utils.PDF
;
import
com.yiboshi.science.utils.PdfUtil
;
import
com.yiboshi.science.utils.StringUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.velocity.VelocityContext
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.ServletOutputStream
;
import
javax.validation.constraints.NotBlank
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.List
;
/**
...
...
@@ -142,4 +149,29 @@ public class ComProjectTaskController extends BaseController<ComProjectTaskServi
return
ResponseDataModel
.
ok
(
list
);
}
@ApiOperation
(
value
=
"项目导出"
,
httpMethod
=
"POST"
,
notes
=
"项目导出"
)
@RequestMapping
(
"/export/{id}"
)
@PostMapping
public
ResponseDataModel
<
byte
[]>
export
(
@PathVariable
String
id
)
{
try
{
try
(
ServletOutputStream
outputStream
=
response
.
getOutputStream
())
{
VelocityContext
context
=
new
VelocityContext
();
Calendar
calendar
=
Calendar
.
getInstance
();
int
month
=
calendar
.
get
(
Calendar
.
MONTH
)
+
1
;
int
day
=
calendar
.
get
(
Calendar
.
DATE
);
context
.
put
(
"reportYear"
,
2024
);
context
.
put
(
"year"
,
calendar
.
get
(
Calendar
.
YEAR
));
context
.
put
(
"month"
,
month
>=
10
?
month
:
"0"
+
month
);
context
.
put
(
"day"
,
day
>=
10
?
day
:
"0"
+
day
);
PdfUtil
.
pdfFile
(
context
,
"/template/demo.html"
,
outputStream
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ResponseDataModel
.
ok
(
null
);
// return ResponseDataModel.ok(PDF.createPDF(response, "tmp-task.html", ComProjectTaskService.getTaskByProjId(id)));
}
catch
(
Exception
e
)
{
return
new
ResponseDataModel
(
ResponseCode
.
SERVER_ERROR
,
""
);
}
}
}
\ No newline at end of file
science-admin/src/main/java/com/yiboshi/science/utils/PDF.java
View file @
9c5f747e
...
...
@@ -8,16 +8,10 @@ import freemarker.template.Configuration;
import
freemarker.template.Template
;
import
freemarker.template.TemplateException
;
import
freemarker.template.TemplateExceptionHandler
;
import
org.apache.velocity.app.Velocity
;
import
org.springframework.ui.freemarker.FreeMarkerTemplateUtils
;
import
org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer
;
import
org.xhtmlrenderer.pdf.ITextFontResolver
;
import
org.xhtmlrenderer.pdf.ITextRenderer
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.*
;
import
java.util.HashMap
;
import
java.util.Map
;
import
static
java
.
lang
.
System
.
in
;
...
...
@@ -45,6 +39,8 @@ public class PDF {
String
htmlContent
=
tmpText
.
toString
();
// 创建PDF渲染器
ITextRenderer
renderer
=
new
ITextRenderer
();
// Java代码示例
// renderer.getSharedContext().setDPI(1); // 提高DPI减少锯齿
// 设置中文字体
String
simPath
=
ResourceFileUtil
.
getAbsolutePath
(
"/fonts/simsun.ttc"
);
String
msyhPath
=
ResourceFileUtil
.
getAbsolutePath
(
"/fonts/msyh.ttc"
);
...
...
science-admin/src/main/resources/template/tmp-task.html
View file @
9c5f747e
This diff is collapsed.
Click to expand it.
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