Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-service-soil
Overview
Overview
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
wangweidong
patzn-cloud-service-soil
Commits
b3bcc2a2
Commit
b3bcc2a2
authored
Mar 27, 2021
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
土工平台修改
parent
99537cad
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
125 additions
and
33 deletions
+125
-33
PngReportHandle.java
...zn/cloud/service/lims/collect/handle/PngReportHandle.java
+12
-6
AsposeUtil.java
.../java/com/patzn/cloud/service/lims/common/AsposeUtil.java
+12
-5
CollectUtil.java
...java/com/patzn/cloud/service/lims/common/CollectUtil.java
+0
-0
SoilExperimentController.java
...ervice/lims/soil/controller/SoilExperimentController.java
+8
-0
ISoilExperimentService.java
...oud/service/lims/soil/service/ISoilExperimentService.java
+3
-0
SoilExpReportServiceImpl.java
...vice/lims/soil/service/impl/SoilExpReportServiceImpl.java
+22
-4
SoilExperimentServiceImpl.java
...ice/lims/soil/service/impl/SoilExperimentServiceImpl.java
+68
-18
No files found.
src/main/java/com/patzn/cloud/service/lims/collect/handle/PngReportHandle.java
View file @
b3bcc2a2
...
...
@@ -10,7 +10,7 @@ import org.slf4j.LoggerFactory;
public
class
PngReportHandle
implements
ICollectHandler
{
protected
final
Logger
logger
=
LoggerFactory
.
getLogger
(
PngReportHandle
.
class
);
protected
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
PngReportHandle
.
class
);
@Override
public
Boolean
process
(
CollectDataType
request
,
ISoilExperimentService
soilExperimentService
)
{
...
...
@@ -69,12 +69,18 @@ public class PngReportHandle implements ICollectHandler {
public
static
SmbFile
[]
getShareFiles
(
String
url
)
throws
Exception
{
SmbFile
file
=
new
SmbFile
(
url
);
if
(
file
.
exists
()){
SmbFile
[]
files
=
file
.
listFiles
();
return
files
;
public
static
SmbFile
[]
getShareFiles
(
String
url
)
{
try
{
SmbFile
file
=
new
SmbFile
(
url
);
if
(
file
.
exists
()){
SmbFile
[]
files
=
file
.
listFiles
();
return
files
;
}
}
catch
(
Exception
e
){
logger
.
error
(
"共享文件获取失败的原因是:"
+
e
.
getMessage
());
}
return
null
;
}
...
...
src/main/java/com/patzn/cloud/service/lims/common/AsposeUtil.java
View file @
b3bcc2a2
...
...
@@ -3,12 +3,14 @@ package com.patzn.cloud.service.lims.common;
import
com.aspose.cells.SaveFormat
;
import
com.aspose.cells.Workbook
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.patzn.cloud.commons.toolkit.DateUtils
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.util.Date
;
import
java.util.List
;
public
class
AsposeUtil
{
...
...
@@ -20,21 +22,26 @@ public class AsposeUtil {
FileOutputStream
fileOutputStream
=
null
;
FileOutputStream
fileOut
=
null
;
try
{
logger
.
error
(
"mergeWork----------1"
);
for
(
Workbook
book:
workbooksList
)
{
workbook
.
combine
(
book
);
}
logger
.
error
(
"mergeWork----------2"
);
File
tempFile
=
File
.
createTempFile
(
name
+
"pre"
,
".xlsx"
);
File
tempFile
=
File
.
createTempFile
(
DateUtils
.
toYearMonthDayEasy
(
new
Date
())+
"shiyan"
,
".xlsx"
);
logger
.
error
(
"mergeWork----------3"
);
fileOut
=
new
FileOutputStream
(
tempFile
);
logger
.
error
(
"mergeWork----------4"
);
workbook
.
save
(
fileOut
,
SaveFormat
.
XLSX
);
logger
.
error
(
"mergeWork----------5"
);
XSSFWorkbook
workbookOk
=
new
XSSFWorkbook
(
tempFile
);
workbookOk
.
setActiveSheet
(
0
);
workbookOk
.
removeSheetAt
(
workbookOk
.
getNumberOfSheets
()-
1
);
File
file
=
File
.
createTempFile
(
name
,
".xlsx"
);
logger
.
error
(
"mergeWork----------6"
);
File
file
=
File
.
createTempFile
(
DateUtils
.
toYearMonthDayEasy
(
new
Date
())+
name
,
".xlsx"
);
logger
.
error
(
"mergeWork----------7"
);
fileOutputStream
=
new
FileOutputStream
(
file
);
workbookOk
.
write
(
fileOutputStream
);
fileOut
.
flush
();
...
...
src/main/java/com/patzn/cloud/service/lims/common/CollectUtil.java
View file @
b3bcc2a2
This diff is collapsed.
Click to expand it.
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilExperimentController.java
View file @
b3bcc2a2
...
...
@@ -734,6 +734,14 @@ public class SoilExperimentController extends ServiceController {
@ApiOperation
(
value
=
"界限含水率(联合测定)采集文件批量上传"
,
notes
=
"附件批量上传"
)
@PostMapping
(
"/upload_water_jiexian_collect/{entrustId}"
)
public
RestResult
<
Boolean
>
uploadWaterJieXianCollect
(
@PathVariable
(
"entrustId"
)
Long
entrustId
,
MultipartFile
httpServletRequest
)
{
return
success
(
soilExperimentService
.
uploadWaterJieXianCollect
(
httpServletRequest
,
entrustId
,
getAccount
()));
}
@ApiOperation
(
value
=
"力学采集文件批量上传"
,
notes
=
"附件批量上传"
)
@PostMapping
(
"/upload_dynamics_collect/{entrustId}"
)
public
RestResult
<
Boolean
>
uploadDynamicsCollect
(
@PathVariable
(
"entrustId"
)
Long
entrustId
,
MultipartHttpServletRequest
httpServletRequest
)
{
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilExperimentService.java
View file @
b3bcc2a2
...
...
@@ -108,6 +108,9 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
boolean
uploadDynamicsCollect
(
MultipartHttpServletRequest
httpServletRequest
,
Long
entrustId
,
Account
account
);
boolean
uploadWaterJieXianCollect
(
MultipartFile
httpServletRequest
,
Long
entrustId
,
Account
account
);
SoilExpReport
seniorTestReport
(
Long
id
,
Account
account
);
Page
<
SoilExperimentVO
>
pageCheckStatistics
(
Page
<
SoilExperimentVO
>
page
,
SoilExperimentVO
soilExperiment
);
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExpReportServiceImpl.java
View file @
b3bcc2a2
...
...
@@ -629,46 +629,62 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
@Override
public
SoilExpReport
generateAppendix
(
Long
id
,
Account
account
)
{
logger
.
error
(
"开始生成附录generateAppendix-----"
);
RestAssert
.
fail
(
null
==
id
,
"请选择要生成的报告"
);
logger
.
error
(
"1-----------------"
);
List
<
SoilExpReportRelExp
>
reportRelExpList
=
soilExpReportRelExpService
.
list
(
Condition
.
create
().
eq
(
"exp_report_id"
,
id
));
logger
.
error
(
"2-----------------"
);
if
(
CollectionUtils
.
isEmpty
(
reportRelExpList
)){
RestAssert
.
fail
(
"该项目报告不含有项目!!"
);
}
logger
.
error
(
"3-----------------"
);
List
<
Long
>
expIdsList
=
reportRelExpList
.
stream
().
map
(
r
->{
return
r
.
getExpId
();
}).
collect
(
Collectors
.
toList
());
logger
.
error
(
"4-----------------"
);
SoilExpReport
soilExpReport
=
getById
(
id
);
logger
.
error
(
"5-----------------"
);
List
<
SoilAppendix
>
appendixList
=
soilAppendixService
.
list
(
Condition
.
create
().
in
(
"exp_id"
,
expIdsList
));
logger
.
error
(
"6-----------------"
);
List
<
Workbook
>
bookList
=
new
ArrayList
<>();
logger
.
error
(
"List<Workbook> bookList = new ArrayList<>();-----"
);
Workbook
workbook
=
null
;
XSSFWorkbook
xssfWorkbook
=
HSSFWorkbookUtil
.
getWorkbookByIO
(
ossClient
.
download
(
soilExpReport
.
getObjectKey
()));
logger
.
error
(
"7-----------------"
);
if
(
null
!=
xssfWorkbook
){
try
{
workbook
=
new
Workbook
(
exportToExcelInputStream
(
xssfWorkbook
));
logger
.
error
(
"8-----------------"
);
}
catch
(
Exception
e
){
logger
.
error
(
" workbook = new Workbook(exportToExcelInputStream(xssfWorkbook));"
+
e
.
getMessage
());
}
}
logger
.
error
(
"9-----------------"
);
for
(
SoilAppendix
appendix:
appendixList
)
{
try
{
logger
.
error
(
"10-----------------"
);
Workbook
book
=
new
Workbook
(
ossClient
.
download
(
appendix
.
getObjectKey
()));
if
(
null
!=
book
){
logger
.
error
(
"11-----------------"
);
bookList
.
add
(
book
);
}
logger
.
error
(
"12-----------------"
);
}
catch
(
Exception
e
){
logger
.
error
(
" Workbook book = new Workbook(ossClient.download(appendix.getObjectKey()));;"
+
e
.
getMessage
());
}
logger
.
error
(
"13-----------------"
);
}
if
(
CollectionUtils
.
isNotEmpty
(
bookList
))
{
try
{
logger
.
error
(
"14-----------------"
);
File
allFileName
=
AsposeUtil
.
mergeWork
(
soilExpReport
.
getExpName
(),
workbook
,
bookList
);
logger
.
error
(
"15-----------------"
);
OssFileResult
result
=
ossClient
.
upload
(
allFileName
);
soilExpReport
.
setAppendixKey
(
result
.
getObjectKey
());
if
(
updateById
(
soilExpReport
))
{
...
...
@@ -681,6 +697,8 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
}
}
else
{
RestAssert
.
fail
(
"改报告不含有附录请确认!"
);
}
return
null
;
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExperimentServiceImpl.java
View file @
b3bcc2a2
...
...
@@ -1634,33 +1634,22 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
checkChongSuMap
.
put
(
name
,
1
);
}
}
List
<
SoilExperimentVO
>
newVOList
=
new
ArrayList
<>();
Map
<
String
,
SoilExperimentVO
>
newChongSuMap
=
new
HashMap
<>();
for
(
SoilExperimentVO
vo:
voList
)
{
String
name
=
vo
.
getName
().
replace
(
"-重塑"
,
""
)+
vo
.
getSampleCode
();
if
(!
vo
.
getName
().
contains
(
"重塑"
)){
newVOList
.
add
(
vo
);
}
else
{
Integer
num
=
checkChongSuMap
.
get
(
name
);
if
(
null
==
num
||
num
==
1
)
{
newVOList
.
add
(
vo
);
}
newChongSuMap
.
put
(
vo
.
getName
()+
vo
.
getSampleCode
(),
vo
);
}
}
voList
=
newVOList
;
List
<
SoilItem
>
saveNewItemList
=
new
ArrayList
<>();
for
(
SoilExperimentVO
vo:
voList
)
{
SoilExperimentVO
chongSu
=
newChongSuMap
.
get
(
vo
.
getName
()+
"-重塑"
+
vo
.
getSampleCode
());
if
(
null
!=
chongSu
){
...
...
@@ -1673,17 +1662,10 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
}
}
for
(
SoilItem
item
:
saveNewItemList
)
{
soilItemList
.
add
(
item
);
}
}
Map
<
Long
,
List
<
SoilItem
>>
expItemMap
=
new
HashMap
<>();
for
(
SoilItem
item:
soilItemList
)
{
if
(!
expItemMap
.
containsKey
(
item
.
getExperimentId
())){
...
...
@@ -2865,6 +2847,26 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
uploadWaterJieXianCollect
(
MultipartFile
file
,
Long
entrustId
,
Account
account
)
{
RestAssert
.
fail
(
null
==
entrustId
,
"请选则委托单ID"
);
SoilEntrust
entrust
=
soilEntrustService
.
getById
(
entrustId
);
List
<
SoilExperimentVO
>
voList
=
baseMapper
.
selectByEntrustId
(
entrustId
);
if
(
CollectionUtils
.
isEmpty
(
voList
)){
RestAssert
.
fail
(
"检测项目不存在"
);
}
parseWuxingTxt
(
file
,
entrust
,
voList
);
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
SoilExpReport
seniorTestReport
(
Long
id
,
Account
account
)
{
RestAssert
.
fail
(
null
==
id
,
"请选择高级试验!"
);
List
<
SoilExpRelOriginalRecord
>
relOriginalRecordList
=
soilExpRelOriginalRecordService
.
list
(
Condition
.
create
().
eq
(
"exp_id"
,
id
).
last
(
" LIMIT 1 "
));
...
...
@@ -3555,6 +3557,54 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
return
false
;
}
public
boolean
parseWuxingTxt
(
MultipartFile
smbFile
,
SoilEntrust
entrust
,
List
<
SoilExperimentVO
>
voList
)
{
try
{
List
<
SoilExperimentCollectDataVO
>
dataList
=
CollectUtil
.
txt2StringWuxing
(
smbFile
.
getInputStream
());
if
(
CollectionUtils
.
isEmpty
(
dataList
)){
RestAssert
.
fail
(
"采集文件类型不匹配"
);
return
false
;
}
for
(
SoilExperimentCollectDataVO
collectDataVO
:
dataList
)
{
RestAssert
.
fail
(
StringUtils
.
isBlank
(
collectDataVO
.
getEntrustCode
()),
"委托编号不能为空!"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
collectDataVO
.
getSiteNo
()),
"现场编号不能为空!"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
collectDataVO
.
getExpName
()),
"试验项目名称不能为空!"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
collectDataVO
.
getName
()),
"指标名称不能为空!"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
collectDataVO
.
getTestValue
()),
"指标值不能为空!"
);
RestAssert
.
fail
(
collectDataVO
.
getEntrustCode
().
equals
(
entrust
.
getEntrustCode
()),
"委托编号不匹配!"
);
}
if
(
CollectionUtils
.
isNotEmpty
(
voList
)){
List
<
SoilItem
>
saveSoilItemList
=
new
ArrayList
<>();
for
(
SoilExperimentCollectDataVO
dataVO:
dataList
)
{
for
(
SoilExperimentVO
vo
:
voList
)
{
if
(
vo
.
getSiteNo
().
equals
(
dataVO
.
getSiteNo
())&&
vo
.
getName
().
equals
(
dataVO
.
getExpName
())){
SoilItem
item
=
new
SoilItem
();
item
.
setStatus
(
0
);
item
.
setProgress
(
0
);
item
.
setName
(
dataVO
.
getName
());
item
.
setTestValue
(
dataVO
.
getTestValue
());
item
.
setExperimentId
(
vo
.
getId
());
item
.
setUnit
(
dataVO
.
getUnit
());
saveSoilItemList
.
add
(
item
);
break
;
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
saveSoilItemList
)){
soilItemService
.
saveBatch
(
saveSoilItemList
);
}
return
true
;
}
}
catch
(
Exception
e
){
logger
.
error
(
"parseWuxingTxt失败,原因:"
+
e
.
getMessage
());
e
.
printStackTrace
();
}
return
false
;
}
@Override
public
boolean
parseWuxingTxt
(
SmbFile
smbFile
,
CollectDataType
request
)
{
...
...
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