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
147474df
Commit
147474df
authored
Apr 23, 2021
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
土工系统优化
parent
65671bc2
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
339 additions
and
37 deletions
+339
-37
HSSFWorkbookUtil.java
...com/patzn/cloud/service/lims/common/HSSFWorkbookUtil.java
+42
-0
SoilAppendixController.java
.../service/lims/soil/controller/SoilAppendixController.java
+2
-2
SoilExpReportController.java
...service/lims/soil/controller/SoilExpReportController.java
+17
-1
SoilExperimentController.java
...ervice/lims/soil/controller/SoilExperimentController.java
+38
-0
SoilAppendixMapper.java
...zn/cloud/service/lims/soil/mapper/SoilAppendixMapper.java
+7
-0
SoilExpReportMapper.java
...n/cloud/service/lims/soil/mapper/SoilExpReportMapper.java
+7
-0
ISoilAppendixService.java
...cloud/service/lims/soil/service/ISoilAppendixService.java
+3
-0
ISoilExpReportService.java
...loud/service/lims/soil/service/ISoilExpReportService.java
+3
-0
ISoilExperimentService.java
...oud/service/lims/soil/service/ISoilExperimentService.java
+2
-0
SoilAppendixServiceImpl.java
...rvice/lims/soil/service/impl/SoilAppendixServiceImpl.java
+6
-0
SoilExpReportServiceImpl.java
...vice/lims/soil/service/impl/SoilExpReportServiceImpl.java
+6
-0
SoilExperimentServiceImpl.java
...ice/lims/soil/service/impl/SoilExperimentServiceImpl.java
+149
-33
SoilAppendixMapper.xml
src/main/resources/mapper/soil/SoilAppendixMapper.xml
+41
-0
SoilExpReportMapper.xml
src/main/resources/mapper/soil/SoilExpReportMapper.xml
+15
-0
SoilOriginalRecordMapper.xml
src/main/resources/mapper/soil/SoilOriginalRecordMapper.xml
+1
-1
AppendixKFASTM.xlsx
src/main/resources/templates/excel/AppendixKFASTM.xlsx
+0
-0
AppendixKFGB.xlsx
src/main/resources/templates/excel/AppendixKFGB.xlsx
+0
-0
AttachmentTemplateSZYS.xlsx
...ain/resources/templates/excel/AttachmentTemplateSZYS.xlsx
+0
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/common/HSSFWorkbookUtil.java
View file @
147474df
...
...
@@ -270,6 +270,48 @@ public class HSSFWorkbookUtil {
return
doubleStr
;
}
/**
* 图片插入到excel固定的cell
* @throws IOException
* @throws FileNotFoundException
*/
public
static
XSSFWorkbook
insertImageSelf
(
XSSFWorkbook
wb
,
Map
<
String
,
File
>
imageFileMap
,
int
dx1
,
int
dy1
,
int
dx2
,
int
dy2
,
int
col1
,
int
row1
,
int
col2
,
int
row2
)
throws
FileNotFoundException
,
IOException
{
XSSFSheet
sheet
=
wb
.
getSheetAt
(
0
);
//数据行数
int
n
=
sheet
.
getLastRowNum
();
Map
<
String
,
Integer
>
nameIndex
=
addPicture2Workbook
(
wb
,
imageFileMap
);
Drawing
drawing
=
sheet
.
createDrawingPatriarch
();
ClientAnchor
anchor
=
drawing
.
createAnchor
(
dx1
,
dy1
,
dx2
,
dy2
,
col1
,
row1
,
col2
,
row2
);
for
(
int
i
=
0
;
i
<
n
;
i
++)
{
XSSFRow
xssfRow
=
sheet
.
getRow
(
i
);
if
(
null
!=
xssfRow
){
int
column0
=
xssfRow
.
getFirstCellNum
();
int
column1
=
xssfRow
.
getLastCellNum
();
for
(
int
j
=
column0
;
j
<
column1
;
j
++)
{
XSSFCell
cell
=
xssfRow
.
getCell
(
j
);
if
(
null
!=
cell
){
String
qrcodeName
=
cell
.
getStringCellValue
();
if
(
nameIndex
.
containsKey
(
qrcodeName
))
{
anchor
.
setCol1
(
j
);
anchor
.
setRow1
(
i
);
System
.
out
.
println
(
"setCol1:"
+
j
);
System
.
out
.
println
(
"setRow1:"
+
i
);
Picture
pict
=
drawing
.
createPicture
(
anchor
,
nameIndex
.
get
(
qrcodeName
));
// // 计算单元格的长宽
// pict.resize();
}
}
}
}
}
return
wb
;
}
/**
* 图片插入到excel固定的cell
* @throws IOException
...
...
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilAppendixController.java
View file @
147474df
...
...
@@ -47,8 +47,8 @@ public class SoilAppendixController extends ServiceController {
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SORD
,
value
=
"排序方式"
,
paramType
=
"query"
,
dataTypeClass
=
String
.
class
),
})
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
SoilAppendix
>>
getPage
(
SoilAppendix
soilAppendix
)
{
return
success
(
soilAppendixService
.
page
(
getPage
(),
soilAppendix
));
public
RestResult
<
Page
<
SoilAppendix
VO
>>
getPage
(
SoilAppendixVO
soilAppendix
)
{
return
success
(
soilAppendixService
.
page
VO
(
getPage
(),
soilAppendix
));
}
...
...
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilExpReportController.java
View file @
147474df
...
...
@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.soil.controller;
import
com.patzn.cloud.service.soil.entity.SoilExpReport
;
import
com.patzn.cloud.service.soil.entity.SoilReport
;
import
com.patzn.cloud.service.soil.enums.SoilExpReportStatusEnum
;
import
com.patzn.cloud.service.soil.vo.SoilExpReportVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -47,11 +48,26 @@ public class SoilExpReportController extends ServiceController {
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SIDX
,
value
=
"排序字段"
,
paramType
=
"query"
,
dataTypeClass
=
String
.
class
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SORD
,
value
=
"排序方式"
,
paramType
=
"query"
,
dataTypeClass
=
String
.
class
),
})
@PostMapping
(
"/page"
)
@PostMapping
(
"/page
1
"
)
public
RestResult
<
Page
<
SoilExpReport
>>
getPage
(
SoilExpReport
soilExpReport
)
{
return
success
(
soilExpReportService
.
page
(
getPage
(),
soilExpReport
));
}
@ApiOperation
(
"分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_ROWS
,
value
=
"每页条数"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SIDX
,
value
=
"排序字段"
,
paramType
=
"query"
,
dataTypeClass
=
String
.
class
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SORD
,
value
=
"排序方式"
,
paramType
=
"query"
,
dataTypeClass
=
String
.
class
),
})
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
SoilExpReportVO
>>
getPageVO
(
SoilExpReportVO
soilExpReport
)
{
return
success
(
soilExpReportService
.
pageVO
(
getPage
(),
soilExpReport
));
}
@ApiOperation
(
"查询 id 信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
...
...
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilExperimentController.java
View file @
147474df
...
...
@@ -379,6 +379,21 @@ public class SoilExperimentController extends ServiceController {
@ApiOperation
(
value
=
"报告档案按照样品查看原始记录右侧"
,
notes
=
"分页查询数据列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"int"
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_ROWS
,
value
=
"每页条数"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"int"
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SIDX
,
value
=
"排序字段"
,
paramType
=
"query"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SORD
,
value
=
"排序方式"
,
paramType
=
"query"
,
dataType
=
"String"
),
})
@PostMapping
(
"/page_document_test_bath"
)
public
RestResult
<
Page
<
SoilExperimentVO
>>
getPageDocumentTestBath
(
@RequestBody
SoilExperimentQueryDTO
vo
)
{
vo
.
setStatus
(
SoilExpStatusEnum
.
END
);
return
success
(
soilExperimentService
.
pageExpRightBath
(
getPage
(),
vo
));
}
@ApiOperation
(
value
=
"试验项目按照试验项目开土制备(右侧数据)检测分页列表"
,
notes
=
"分页查询数据列表"
)
@ApiImplicitParams
({
...
...
@@ -540,6 +555,22 @@ public class SoilExperimentController extends ServiceController {
@ApiOperation
(
value
=
"报告档案按照样品查看原始记录左边"
,
notes
=
"按照试验项目检测分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"int"
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_ROWS
,
value
=
"每页条数"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"int"
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SIDX
,
value
=
"排序字段"
,
paramType
=
"query"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_SORD
,
value
=
"排序方式"
,
paramType
=
"query"
,
dataType
=
"String"
),
})
@PostMapping
(
"/page_document_by_exp"
)
public
RestResult
<
Page
<
SoilExperimentVO
>>
getDocumentTestByExp
(
SoilExperimentVO
vo
)
{
RestAssert
.
fail
(
null
==
vo
.
getEntrustId
(),
"试验委托单ID不能为空"
);
vo
.
setStatus
(
SoilExpStatusEnum
.
END
);
return
success
(
soilExperimentService
.
pageTestByExp
(
getPage
(),
vo
));
}
@ApiOperation
(
value
=
"按照试验项目(样品制备填写原始记录按照试验项目左侧)分页列表"
,
notes
=
"样品制备填写原始记录按照试验项目左侧"
)
@ApiImplicitParams
({
...
...
@@ -748,4 +779,11 @@ public class SoilExperimentController extends ServiceController {
return
success
(
soilExperimentService
.
uploadDynamicsCollect
(
httpServletRequest
,
entrustId
,
getAccount
()));
}
@ApiOperation
(
value
=
"物性图片采集文件批量上传"
,
notes
=
"附件批量上传"
)
@PostMapping
(
"/upload_wuxing_img_collect/{entrustId}"
)
public
RestResult
<
Boolean
>
uploadWuxingImgCollect
(
@PathVariable
(
"entrustId"
)
Long
entrustId
,
MultipartHttpServletRequest
httpServletRequest
)
{
return
success
(
soilExperimentService
.
uploadWuxingImgCollect
(
httpServletRequest
,
entrustId
,
getAccount
()));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/mapper/SoilAppendixMapper.java
View file @
147474df
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
mapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.service.soil.entity.SoilAppendix
;
import
com.patzn.cloud.service.soil.vo.SoilAppendixVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.session.RowBounds
;
import
java.util.List
;
/**
* <p>
...
...
@@ -13,4 +19,5 @@ import com.patzn.cloud.service.soil.entity.SoilAppendix;
*/
public
interface
SoilAppendixMapper
extends
BatchMapper
<
SoilAppendix
>
{
List
<
SoilAppendixVO
>
selectVOList
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilAppendixVO
soilAppendix
);
}
src/main/java/com/patzn/cloud/service/lims/soil/mapper/SoilExpReportMapper.java
View file @
147474df
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
mapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.service.soil.entity.SoilExpReport
;
import
com.patzn.cloud.service.soil.vo.SoilExpReportVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.session.RowBounds
;
import
java.util.List
;
/**
* <p>
...
...
@@ -13,4 +19,5 @@ import com.patzn.cloud.service.soil.entity.SoilExpReport;
*/
public
interface
SoilExpReportMapper
extends
BatchMapper
<
SoilExpReport
>
{
List
<
SoilExpReportVO
>
selectVOList
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilExpReportVO
soilExpReport
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilAppendixService.java
View file @
147474df
...
...
@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.soil.service;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.soil.entity.SoilAppendix
;
import
com.patzn.cloud.service.soil.vo.SoilAppendixVO
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
...
...
@@ -26,4 +27,6 @@ public interface ISoilAppendixService extends IBaseService<SoilAppendix> {
void
downloadFile
(
Long
id
,
HttpServletResponse
response
);
List
<
SoilAppendix
>
getByExpIds
(
List
<
Long
>
ids
);
Page
<
SoilAppendixVO
>
pageVO
(
Page
<
SoilAppendixVO
>
page
,
SoilAppendixVO
soilAppendix
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilExpReportService.java
View file @
147474df
...
...
@@ -7,6 +7,7 @@ import com.patzn.cloud.service.soil.entity.SoilEntrust;
import
com.patzn.cloud.service.soil.entity.SoilExpReport
;
import
com.patzn.cloud.service.soil.entity.SoilExpReportTemplate
;
import
com.patzn.cloud.service.soil.entity.SoilReport
;
import
com.patzn.cloud.service.soil.vo.SoilExpReportVO
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
...
...
@@ -47,4 +48,6 @@ public interface ISoilExpReportService extends IBaseService<SoilExpReport> {
boolean
backExpReportIssue
(
Long
[]
ids
,
String
remark
,
Account
account
);
boolean
backExpReportCheck
(
Long
[]
ids
,
String
remark
,
Account
account
);
Page
<
SoilExpReportVO
>
pageVO
(
Page
<
SoilExpReportVO
>
page
,
SoilExpReportVO
soilExpReport
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilExperimentService.java
View file @
147474df
...
...
@@ -110,6 +110,8 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
boolean
uploadDynamicsCollect
(
MultipartHttpServletRequest
httpServletRequest
,
Long
entrustId
,
Account
account
);
boolean
uploadWuxingImgCollect
(
MultipartHttpServletRequest
httpServletRequest
,
Long
entrustId
,
Account
account
);
boolean
uploadWaterJieXianCollect
(
MultipartHttpServletRequest
httpServletRequest
,
Long
entrustId
,
Account
account
);
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilAppendixServiceImpl.java
View file @
147474df
...
...
@@ -7,6 +7,7 @@ import com.patzn.cloud.service.lims.soil.mapper.SoilAppendixMapper;
import
com.patzn.cloud.service.lims.soil.service.ISoilAppendixService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.service.soil.entity.SoilAppendix
;
import
com.patzn.cloud.service.soil.vo.SoilAppendixVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -80,4 +81,9 @@ public class SoilAppendixServiceImpl extends BaseServiceImpl<SoilAppendixMapper,
public
List
<
SoilAppendix
>
getByExpIds
(
List
<
Long
>
ids
)
{
return
super
.
list
(
Condition
.
create
().
in
(
"exp_id"
,
ids
));
}
@Override
public
Page
<
SoilAppendixVO
>
pageVO
(
Page
<
SoilAppendixVO
>
page
,
SoilAppendixVO
soilAppendix
)
{
return
page
.
setRecords
(
baseMapper
.
selectVOList
(
page
,
soilAppendix
));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExpReportServiceImpl.java
View file @
147474df
...
...
@@ -21,6 +21,7 @@ import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import
com.patzn.cloud.service.soil.entity.*
;
import
com.patzn.cloud.service.soil.enums.SoilExpReportStatusEnum
;
import
com.patzn.cloud.service.soil.enums.SoilReportStatusEnum
;
import
com.patzn.cloud.service.soil.vo.SoilExpReportVO
;
import
com.patzn.cloud.service.soil.vo.SoilExperimentVO
;
import
com.patzn.cloud.service.soil.vo.SoilSampleVO
;
import
org.apache.commons.lang3.ArrayUtils
;
...
...
@@ -826,6 +827,11 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
return
updateBatchById
(
updateList
);
}
@Override
public
Page
<
SoilExpReportVO
>
pageVO
(
Page
<
SoilExpReportVO
>
page
,
SoilExpReportVO
soilExpReport
)
{
return
page
.
setRecords
(
baseMapper
.
selectVOList
(
page
,
soilExpReport
));
}
public
InputStream
exportToExcelInputStream
(
XSSFWorkbook
workbook
)
{
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExperimentServiceImpl.java
View file @
147474df
...
...
@@ -1310,6 +1310,94 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Override
public
boolean
uploadDynamicsCollect
(
MultipartHttpServletRequest
multipartHttpServletRequest
,
Long
entrustId
,
Account
account
)
{
RestAssert
.
fail
(
null
==
entrustId
,
"请选则委托单ID"
);
List
<
SoilExperimentVO
>
voList
=
baseMapper
.
selectByEntrustId
(
entrustId
);
if
(
CollectionUtils
.
isEmpty
(
voList
)){
RestAssert
.
fail
(
"检测项目不存在"
);
}
Map
<
String
,
SoilExperimentVO
>
nameCodeList
=
new
HashMap
<>();
for
(
SoilExperimentVO
experimentVO:
voList
)
{
if
(
experimentVO
.
getName
().
contains
(
"三轴压缩"
)){
if
(
experimentVO
.
getName
().
contains
(
"重塑"
)){
nameCodeList
.
put
(
"三轴压缩重塑"
+
experimentVO
.
getSampleCode
(),
experimentVO
);
nameCodeList
.
put
(
"三轴压缩重塑"
+
experimentVO
.
getSiteNo
(),
experimentVO
);
}
else
{
nameCodeList
.
put
(
"三轴压缩"
+
experimentVO
.
getSampleCode
(),
experimentVO
);
nameCodeList
.
put
(
"三轴压缩"
+
experimentVO
.
getSiteNo
(),
experimentVO
);
}
}
else
{
nameCodeList
.
put
(
experimentVO
.
getName
()+
experimentVO
.
getSampleCode
(),
experimentVO
);
nameCodeList
.
put
(
experimentVO
.
getName
()+
experimentVO
.
getSiteNo
(),
experimentVO
);
}
}
Iterator
<
String
>
fileNamesIt
=
multipartHttpServletRequest
.
getFileNames
();
List
<
String
>
failedNameList
=
new
ArrayList
<>();
while
(
fileNamesIt
.
hasNext
())
{
String
fileName
=
fileNamesIt
.
next
();
// 获取文件
MultipartFile
multipartFile
=
multipartHttpServletRequest
.
getFile
(
fileName
);
String
originalFilename
=
multipartFile
.
getOriginalFilename
();
if
(
originalFilename
.
contains
(
".bmp"
)||
originalFilename
.
contains
(
".txt"
)){
String
nameCode
=
originalFilename
.
replace
(
".bmp"
,
""
).
replace
(
".txt"
,
""
);
String
lastName
=
nameCode
.
substring
(
nameCode
.
length
()-
1
,
nameCode
.
length
());
if
(
"r"
.
equals
(
lastName
)){
if
(
nameCode
.
contains
(
"三轴压缩"
)&&(!
nameCode
.
contains
(
"重塑"
))){
nameCode
=
nameCode
.
replace
(
"三轴压缩"
,
"三轴压缩重塑"
);
nameCode
=
nameCode
.
substring
(
0
,
nameCode
.
length
()
-
1
);
}
}
if
(!
nameCodeList
.
containsKey
(
nameCode
)){
RestAssert
.
fail
(
"请正确上传委托下的数据采集文件"
);
}
}
else
{
RestAssert
.
fail
(
"请上传 .bmp 或者 .txt格式的文件"
);
}
failedNameList
.
add
(
fileName
);
}
Iterator
<
String
>
fileNamesItOk
=
multipartHttpServletRequest
.
getFileNames
();
while
(
fileNamesItOk
.
hasNext
())
{
String
fileName
=
fileNamesItOk
.
next
();
// 获取文件
MultipartFile
multipartFile
=
multipartHttpServletRequest
.
getFile
(
fileName
);
String
originalFilename
=
multipartFile
.
getOriginalFilename
();
if
(
originalFilename
.
contains
(
".bmp"
)||
originalFilename
.
contains
(
".txt"
)){
String
nameCode
=
originalFilename
.
replace
(
".bmp"
,
""
).
replace
(
".txt"
,
""
);
String
lastName
=
nameCode
.
substring
(
nameCode
.
length
()-
1
,
nameCode
.
length
());
if
(
"r"
.
equals
(
lastName
)){
if
(
nameCode
.
contains
(
"三轴压缩"
)&&(!
nameCode
.
contains
(
"重塑"
))){
nameCode
=
nameCode
.
replace
(
"三轴压缩"
,
"三轴压缩重塑"
);
nameCode
=
nameCode
.
substring
(
0
,
nameCode
.
length
()
-
1
);
}
}
SoilExperimentVO
vo
=
nameCodeList
.
get
(
nameCode
);
CollectDataType
dataType
=
new
CollectDataType
();
dataType
.
setExpId
(
vo
.
getId
());
dataType
.
setSampleCode
(
vo
.
getSampleCode
());
dataType
.
setSiteNo
(
vo
.
getSiteNo
());
dataType
.
setExperiment
(
vo
.
getName
());
dataType
.
setEntrustCode
(
vo
.
getEntrustCode
());
if
(
originalFilename
.
contains
(
".bmp"
)){
uploadCollectPng
(
multipartFile
,
dataType
);
}
else
if
(
originalFilename
.
contains
(
".txt"
)){
parseTxt
(
multipartFile
,
dataType
);
}
}
else
{
RestAssert
.
fail
(
"请上传 .bmp 或者 .txt格式的文件"
);
}
}
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
uploadWuxingImgCollect
(
MultipartHttpServletRequest
multipartHttpServletRequest
,
Long
entrustId
,
Account
account
)
{
RestAssert
.
fail
(
null
==
entrustId
,
"请选则委托单ID"
);
List
<
SoilExperimentVO
>
voList
=
baseMapper
.
selectByEntrustId
(
entrustId
);
...
...
@@ -1320,8 +1408,8 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
Map
<
String
,
SoilExperimentVO
>
nameCodeList
=
new
HashMap
<>();
for
(
SoilExperimentVO
experimentVO:
voList
)
{
nameCodeList
.
put
(
experimentVO
.
getName
()+
experimentVO
.
getSampleCode
(),
experimentVO
);
nameCodeList
.
put
(
experimentVO
.
getName
()+
experimentVO
.
getSiteNo
(),
experimentVO
);
nameCodeList
.
put
(
experimentVO
.
getName
()+
experimentVO
.
getSampleCode
(),
experimentVO
);
nameCodeList
.
put
(
experimentVO
.
getName
()+
experimentVO
.
getSiteNo
(),
experimentVO
);
}
Iterator
<
String
>
fileNamesIt
=
multipartHttpServletRequest
.
getFileNames
();
List
<
String
>
failedNameList
=
new
ArrayList
<>();
...
...
@@ -1371,11 +1459,11 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
dataType
.
setEntrustCode
(
vo
.
getEntrustCode
());
if
(
originalFilename
.
contains
(
".bmp"
)){
if
(
nameCode
.
contains
(
"颗粒分析"
)){
if
(
lastName
.
equals
(
"G"
)){
dataType
.
setTemplateType
(
"颗粒分析GB"
);
}
else
{
dataType
.
setTemplateType
(
"颗粒分析ASTM"
);
}
if
(
lastName
.
equals
(
"G"
)){
dataType
.
setTemplateType
(
"颗粒分析GB"
);
}
else
{
dataType
.
setTemplateType
(
"颗粒分析ASTM"
);
}
}
else
if
(
nameCode
.
contains
(
"界限含水率"
)){
if
(
lastName
.
equals
(
"D"
)){
dataType
.
setTemplateType
(
"界限含水率多点法"
);
...
...
@@ -1394,7 +1482,6 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
uploadWaterJieXianCollect
(
MultipartHttpServletRequest
multipartHttpServletRequest
,
Long
entrustId
,
Account
account
)
{
...
...
@@ -1540,11 +1627,14 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
collectFile
.
setExpId
(
type
.
getExpId
());
InputStream
is
=
null
;
File
fileNew
=
null
;
FileOutputStream
fos
=
null
;
XSSFWorkbook
xssfWorkbook
=
null
;
FileOutputStream
os
=
null
;
try
{
is
=
smbFile
.
getInputStream
();
File
file
=
File
.
createTempFile
(
StringHandleUtils
.
getFileNameNoEx
(
smbFile
.
getOriginalFilename
()),
smbFile
.
getOriginalFilename
().
replace
(
StringHandleUtils
.
getFileNameNoEx
(
smbFile
.
getOriginalFilename
()),
""
));
FileOutputStream
fos
=
new
FileOutputStream
(
file
);
fos
=
new
FileOutputStream
(
file
);
byte
[]
bytes
=
new
byte
[
1024
*
1024
];
int
index
;
while
((
index
=
is
.
read
(
bytes
))
!=
-
1
)
{
...
...
@@ -1553,28 +1643,12 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
String
name
=
smbFile
.
getOriginalFilename
();
String
expname
=
type
.
getExperiment
();
String
nouKuoZhanName
=
name
.
replace
(
".bmp"
,
""
);
if
(
name
.
contains
(
expname
)){
SoilSample
sample
=
soilSampleService
.
getBySampleCode
(
type
.
getSampleCode
());
if
(
null
!=
sample
){
XSSFWorkbook
xssfWorkbook
=
null
;
if
(
type
.
getTemplateType
()==
null
){
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AttachmentTemplateSZYS.xlsx"
);
}
else
if
(
"颗粒分析GB"
.
equals
(
type
.
getTemplateType
())){
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AppendixKFGB.xlsx"
);
}
else
if
(
"颗粒分析ASTM"
.
equals
(
type
.
getTemplateType
())){
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AppendixKFASTM.xlsx"
);
}
else
if
(
"界限含水率多点法"
.
equals
(
type
.
getTemplateType
())){
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AppendixJXHSLDD.xlsx"
);
}
else
{
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AttachmentTemplateSZYS.xlsx"
);
}
Map
<
String
,
File
>
fileMap
=
new
HashMap
<>();
fileMap
.
put
(
"${picTest}"
,
file
);
Map
<
String
,
String
>
replaceMap
=
new
HashMap
<>();
String
testEnglish
=
"FIGURE OF GRAIN DISTRIBUTION ANALYSIS TEST"
;
replaceMap
.
put
(
"#{reportCode}"
,
StringHandleUtils
.
getString
(
type
.
getEntrustCode
()));
...
...
@@ -1617,8 +1691,28 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
replaceMap
.
put
(
"#{"
+
vo
.
getName
()+
"}"
,
StringHandleUtils
.
getString
(
vo
.
getTestValue
()));
}
try
{
HSSFWorkbookUtil
.
replaceModel
(
replaceMap
,
xssfWorkbook
);
HSSFWorkbookUtil
.
insertImage
(
xssfWorkbook
,
fileMap
,
false
);
if
(
type
.
getTemplateType
()==
null
){
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AttachmentTemplateSZYS.xlsx"
);
HSSFWorkbookUtil
.
replaceModel
(
replaceMap
,
xssfWorkbook
);
HSSFWorkbookUtil
.
insertImageSelf
(
xssfWorkbook
,
fileMap
,
0
,
3
,
41
,
9
,
0
,
3
,
10
,
42
);
}
else
if
(
"颗粒分析GB"
.
equals
(
type
.
getTemplateType
())){
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AppendixKFGB.xlsx"
);
HSSFWorkbookUtil
.
replaceModel
(
replaceMap
,
xssfWorkbook
);
HSSFWorkbookUtil
.
insertImageSelf
(
xssfWorkbook
,
fileMap
,
0
,
19
,
9
,
44
,
0
,
19
,
10
,
45
);
}
else
if
(
"颗粒分析ASTM"
.
equals
(
type
.
getTemplateType
())){
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AppendixKFASTM.xlsx"
);
HSSFWorkbookUtil
.
replaceModel
(
replaceMap
,
xssfWorkbook
);
HSSFWorkbookUtil
.
insertImageSelf
(
xssfWorkbook
,
fileMap
,
0
,
18
,
9
,
44
,
0
,
18
,
10
,
45
);
}
else
if
(
"界限含水率多点法"
.
equals
(
type
.
getTemplateType
())){
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AppendixJXHSLDD.xlsx"
);
HSSFWorkbookUtil
.
replaceModel
(
replaceMap
,
xssfWorkbook
);
HSSFWorkbookUtil
.
insertImageSelf
(
xssfWorkbook
,
fileMap
,
0
,
7
,
8
,
34
,
0
,
7
,
9
,
35
);
}
else
{
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"AttachmentTemplateSZYS.xlsx"
);
HSSFWorkbookUtil
.
replaceModel
(
replaceMap
,
xssfWorkbook
);
HSSFWorkbookUtil
.
insertImageSelf
(
xssfWorkbook
,
fileMap
,
0
,
3
,
41
,
9
,
0
,
3
,
10
,
42
);
}
}
catch
(
Exception
e
){
logger
.
error
(
"generateExcelReport错误"
+
e
.
getMessage
());
}
...
...
@@ -1626,13 +1720,13 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
FileOutputStream
os
;
fileNew
=
File
.
createTempFile
(
type
.
getSampleCode
()+
type
.
getExperiment
(),
".xlsx"
);
os
=
new
FileOutputStream
(
fileNew
);
xssfWorkbook
.
write
(
os
);
os
.
flush
();
os
.
close
();
xssfWorkbook
.
close
();
OssFileResult
result
=
ossClient
.
upload
(
fileNew
);
SoilAppendix
appendix
=
new
SoilAppendix
();
...
...
@@ -1649,8 +1743,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
soilAppendixService
.
save
(
appendix
);
}
}
is
.
close
();
fos
.
close
();
OssFileResult
result
=
ossClient
.
upload
(
file
);
collectFile
.
setObjectKey
(
result
.
getObjectKey
());
collectFile
.
setBucketName
(
result
.
getBucketName
());
...
...
@@ -1663,6 +1756,29 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
finally
{
try
{
is
.
close
();
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
try
{
fos
.
close
();
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
try
{
xssfWorkbook
.
close
();
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
try
{
os
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
System
.
out
.
println
(
smbFile
.
getName
());
...
...
@@ -1729,7 +1845,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
"APPENDIX "
+
sample
.
getSiteNo
()+
" "
+
testEnglish
);
try
{
HSSFWorkbookUtil
.
replaceModel
(
replaceMap
,
xssfWorkbook
);
HSSFWorkbookUtil
.
insertImage
(
xssfWorkbook
,
fileMap
,
true
);
HSSFWorkbookUtil
.
insertImage
Self
(
xssfWorkbook
,
fileMap
,
0
,
3
,
41
,
9
,
0
,
3
,
10
,
42
);
}
catch
(
Exception
e
){
logger
.
error
(
"generateExcelReport错误"
+
e
.
getMessage
());
}
...
...
src/main/resources/mapper/soil/SoilAppendixMapper.xml
View file @
147474df
...
...
@@ -2,4 +2,45 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.patzn.cloud.service.lims.soil.mapper.SoilAppendixMapper"
>
<select
id=
"selectVOList"
resultType=
"com.patzn.cloud.service.soil.vo.SoilAppendixVO"
>
SELECT
a.id,
a.title,
a.name,
a.type,
a.sample_code,
a.uname,
a.ctime,
a.remark,
e.borehole_name,
e.entrust_code
FROM
soil_appendix
A JOIN soil_entrust e ON a.entrust_id = e.ID
WHERE
a.deleted = 0
AND e.deleted = 0
<if
test=
"null!=vo.title"
>
AND a.title LIKE CONCAT('%',#{vo.title},'%')
</if>
<if
test=
"null!=vo.entrustId"
>
AND a.entrust_id =#{vo.entrustId}
</if>
<if
test=
"null!=vo.remark"
>
AND a.remark LIKE CONCAT('%',#{vo.remark},'%')
</if>
<if
test=
"null!=vo.sampleCode"
>
AND a.sample_code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
<if
test=
"null!=vo.boreholeName"
>
AND e.borehole_name LIKE CONCAT('%',#{vo.boreholeName},'%')
</if>
</select>
</mapper>
src/main/resources/mapper/soil/SoilExpReportMapper.xml
View file @
147474df
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.patzn.cloud.service.lims.soil.mapper.SoilExpReportMapper"
>
<select
id=
"selectVOList"
resultType=
"com.patzn.cloud.service.soil.vo.SoilExpReportVO"
>
SELECT r.id,r.exp_name,r.remark,r.uname,r.ctime,e.borehole_name,e.entrust_code
FROM soil_exp_report r JOIN soil_entrust e ON r.entrust_id = e.id
WHERE r.deleted = 0
AND e.deleted = 0
<if
test=
"null!=vo.expName"
>
AND r.exp_name LIKE CONCAT('%',#{vo.expName},'%')
</if>
<if
test=
"null!=vo.entrustId"
>
AND r.entrust_id = #{vo.entrustId}
</if>
</select>
</mapper>
src/main/resources/mapper/soil/SoilOriginalRecordMapper.xml
View file @
147474df
...
...
@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.patzn.cloud.service.lims.soil.mapper.SoilOriginalRecordMapper"
>
<select
id=
"selectVOList"
resultType=
"com.patzn.cloud.service.soil.vo.SoilOriginalRecordVO"
>
SELECT r.id,r.original_record_id,r.title,r.ctime,r.uname,r.remark,e.entrust_code,r.object_key FROM soil_original_record r
SELECT r.id,r.original_record_id,r.title,r.ctime,r.uname,r.remark,e.
borehole_name,e.
entrust_code,r.object_key FROM soil_original_record r
JOIN soil_entrust e ON r.entrust_id = e.id
WHERE r.deleted = 0 AND e.deleted = 0
<if
test=
"vo.entrustId!=null"
>
...
...
src/main/resources/templates/excel/AppendixKFASTM.xlsx
View file @
147474df
No preview for this file type
src/main/resources/templates/excel/AppendixKFGB.xlsx
View file @
147474df
No preview for this file type
src/main/resources/templates/excel/AttachmentTemplateSZYS.xlsx
View file @
147474df
No preview for this file type
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