Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-service-hmhj
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-hmhj
Commits
787e59e7
Commit
787e59e7
authored
May 06, 2021
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
meter计量修改部分优化
parent
92b0684a
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
673 additions
and
322 deletions
+673
-322
EntrustReportTemplateConfigController.java
...mhj/controller/EntrustReportTemplateConfigController.java
+84
-0
EntrustReportTemplateConfigMapper.java
...e/lims/hmhj/mapper/EntrustReportTemplateConfigMapper.java
+16
-0
MoreSheetMoreOperation.java
...ud/service/lims/hmhj/original/MoreSheetMoreOperation.java
+88
-0
MoreSheetOneOperation.java
...oud/service/lims/hmhj/original/MoreSheetOneOperation.java
+77
-0
Operation.java
...com/patzn/cloud/service/lims/hmhj/original/Operation.java
+5
-0
OriginalFactory.java
...tzn/cloud/service/lims/hmhj/original/OriginalFactory.java
+47
-0
OriginalUtil.java
.../patzn/cloud/service/lims/hmhj/original/OriginalUtil.java
+62
-0
SingleSheetLittleOperation.java
...ervice/lims/hmhj/original/SingleSheetLittleOperation.java
+86
-0
SingleSheetMoreOperation.java
.../service/lims/hmhj/original/SingleSheetMoreOperation.java
+129
-0
IEntrustReportTemplateConfigService.java
...ims/hmhj/service/IEntrustReportTemplateConfigService.java
+20
-0
EntrustReportTemplateConfigServiceImpl.java
.../service/impl/EntrustReportTemplateConfigServiceImpl.java
+34
-0
EntrustSampleItemServiceImpl.java
.../lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
+20
-322
EntrustReportTemplateConfigMapper.xml
...sources/mapper/hmhj/EntrustReportTemplateConfigMapper.xml
+5
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/EntrustReportTemplateConfigController.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
controller
;
import
com.patzn.cloud.service.hmhj.entity.EntrustReportTemplateConfig
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.api.RestConstants
;
import
com.patzn.cloud.commons.api.RestResult
;
import
com.patzn.cloud.commons.controller.ServiceController
;
import
com.patzn.cloud.service.lims.hmhj.service.IEntrustReportTemplateConfigService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
java.util.List
;
/**
* 报告模板配置 前端控制器
*
* @author wwd
* @since 2021-05-06
*/
@Api
(
tags
=
"报告模板配置"
)
@RestController
@RequestMapping
(
"/v1/report_template_config"
)
public
class
EntrustReportTemplateConfigController
extends
ServiceController
{
@Autowired
private
IEntrustReportTemplateConfigService
entrustReportTemplateConfigService
;
@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
),
})
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
EntrustReportTemplateConfig
>>
getPage
(
EntrustReportTemplateConfig
entrustReportTemplateConfig
)
{
return
success
(
entrustReportTemplateConfigService
.
page
(
getPage
(),
entrustReportTemplateConfig
));
}
@ApiOperation
(
"查询 id 信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
})
@GetMapping
(
"/{id}"
)
public
RestResult
<
EntrustReportTemplateConfig
>
get
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
entrustReportTemplateConfigService
.
getById
(
id
));
}
@ApiOperation
(
"根据 id 修改信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
})
@PutMapping
(
"/{id}"
)
public
RestResult
<
Boolean
>
edit
(
@PathVariable
(
"id"
)
Long
id
,
EntrustReportTemplateConfig
entrustReportTemplateConfig
)
{
entrustReportTemplateConfig
.
setId
(
id
);
return
success
(
entrustReportTemplateConfigService
.
updateById
(
entrustReportTemplateConfig
));
}
@ApiOperation
(
"添加"
)
@PostMapping
(
"/"
)
public
RestResult
<
Boolean
>
add
(
EntrustReportTemplateConfig
entrustReportTemplateConfig
)
{
return
success
(
entrustReportTemplateConfigService
.
save
(
entrustReportTemplateConfig
));
}
@ApiOperation
(
"根据 ids 删除"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"主键列表"
,
required
=
true
,
paramType
=
"query"
,
allowMultiple
=
true
,
dataTypeClass
=
Long
.
class
),
})
@DeleteMapping
(
"/"
)
public
RestResult
<
Boolean
>
delete
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
)
{
return
success
(
entrustReportTemplateConfigService
.
removeByIds
(
ids
));
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/EntrustReportTemplateConfigMapper.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
mapper
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.service.hmhj.entity.EntrustReportTemplateConfig
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2021-05-06
*/
public
interface
EntrustReportTemplateConfigMapper
extends
BatchMapper
<
EntrustReportTemplateConfig
>
{
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/MoreSheetMoreOperation.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.patzn.cloud.service.hmhj.entity.Entrust
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
org.apache.commons.collections4.ListUtils
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
MoreSheetMoreOperation
implements
Operation
{
private
OriginalTemplate
template
;
private
List
<
EntrustSampleItemVO
>
voList
;
private
Entrust
entrust
;
private
List
<
OriginalTemplateConfig
>
configList
;
private
XSSFWorkbook
xssfWorkbook
;
public
MoreSheetMoreOperation
(
OriginalTemplate
template
,
List
<
EntrustSampleItemVO
>
voList
,
Entrust
entrust
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
this
.
template
=
template
;
this
.
voList
=
voList
;
this
.
entrust
=
entrust
;
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
}
@Override
public
void
doMakeOriginal
()
{
Integer
templateSampleNum
=
template
.
getTemplateSampleNum
();
Map
<
String
,
String
>
mapReplace
=
new
HashMap
<>();
mapReplace
.
put
(
"#{client}"
,
entrust
.
getClient
());
List
<
List
<
EntrustSampleItemVO
>>
relList
=
ListUtils
.
partition
(
voList
,
templateSampleNum
);
int
templateSheetMum
=
xssfWorkbook
.
getNumberOfSheets
();
XSSFSheet
sheetMy
=
xssfWorkbook
.
getSheetAt
(
0
);
boolean
first
=
true
;
List
<
EntrustSampleItemVO
>
firstList
=
null
;
for
(
List
<
EntrustSampleItemVO
>
expVOList:
relList
)
{
XSSFSheet
sheet
=
null
;
if
(
first
){
sheet
=
sheetMy
;
firstList
=
expVOList
;
first
=
false
;
continue
;
}
else
{
sheet
=
xssfWorkbook
.
cloneSheet
(
0
,
sheetMy
.
getSheetName
()+(
templateSheetMum
));
}
Map
<
String
,
String
>
mapReplaceMy
=
new
HashMap
<>();
for
(
int
i
=
0
;
i
<
templateSampleNum
;
i
++)
{
mapReplaceMy
.
put
(
"#{sampleCode"
+
i
+
"}"
,
""
);
}
mapReplaceMy
.
put
(
"#{client}"
,
entrust
.
getClient
());
int
entitySize
=
expVOList
.
size
();
for
(
int
j
=
0
;
j
<
entitySize
;
j
++)
{
EntrustSampleItemVO
vo
=
expVOList
.
get
(
j
);
mapReplaceMy
.
put
(
"#{sampleCode"
+
j
+
"}"
,
StringHandleUtils
.
getString
(
vo
.
getSampleCode
()));
}
HSSFWorkbookUtil
.
replaceModel
(
mapReplaceMy
,
xssfWorkbook
,
sheet
);
templateSheetMum
++;
}
int
firstSize
=
firstList
.
size
();
Map
<
String
,
String
>
mapReplaceMy
=
new
HashMap
<>();
for
(
int
i
=
0
;
i
<
templateSampleNum
;
i
++)
{
mapReplaceMy
.
put
(
"#{sampleCode"
+
i
+
"}"
,
""
);
}
mapReplaceMy
.
put
(
"#{client}"
,
entrust
.
getClient
());
for
(
int
j
=
0
;
j
<
firstSize
;
j
++)
{
EntrustSampleItemVO
vo
=
firstList
.
get
(
j
);
mapReplaceMy
.
put
(
"#{sampleCode"
+
j
+
"}"
,
StringHandleUtils
.
getString
(
vo
.
getSampleCode
()));
}
HSSFWorkbookUtil
.
replaceModel
(
mapReplaceMy
,
xssfWorkbook
,
sheetMy
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/MoreSheetOneOperation.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.patzn.cloud.service.hmhj.entity.Entrust
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.xssf.usermodel.XSSFCell
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
MoreSheetOneOperation
implements
Operation
{
private
OriginalTemplate
template
;
private
List
<
EntrustSampleItemVO
>
voList
;
private
Entrust
entrust
;
private
List
<
OriginalTemplateConfig
>
configList
;
private
XSSFWorkbook
xssfWorkbook
;
public
MoreSheetOneOperation
(
OriginalTemplate
template
,
List
<
EntrustSampleItemVO
>
voList
,
Entrust
entrust
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
this
.
template
=
template
;
this
.
voList
=
voList
;
this
.
entrust
=
entrust
;
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
}
@Override
public
void
doMakeOriginal
()
{
Map
<
String
,
String
>
mapReplace
=
new
HashMap
<>();
mapReplace
.
put
(
"#{client}"
,
entrust
.
getClient
());
XSSFSheet
xssfSheet
=
xssfWorkbook
.
getSheetAt
(
0
);
xssfSheet
.
setForceFormulaRecalculation
(
true
);
int
index
=
0
;
EntrustSampleItemVO
firstVO
=
null
;
int
sheetNum
=
xssfWorkbook
.
getNumberOfSheets
();
for
(
EntrustSampleItemVO
vo:
voList
)
{
if
(
index
==
0
){
index
++;
firstVO
=
vo
;
continue
;
}
XSSFSheet
sheet
=
xssfWorkbook
.
cloneSheet
(
0
);
index
++;
}
int
nextSample
=
sheetNum
;
boolean
start
=
true
;
for
(
EntrustSampleItemVO
vo:
voList
)
{
if
(
start
){
start
=
false
;
continue
;
}
XSSFSheet
sheet
=
xssfWorkbook
.
getSheetAt
(
nextSample
);
xssfWorkbook
.
setSheetName
(
nextSample
,
vo
.
getSampleCode
());
mapReplace
.
put
(
"#{sampleCode}"
,
vo
.
getSampleCode
());
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
sheet
);
nextSample
++;
}
mapReplace
.
put
(
"#{sampleCode}"
,
firstVO
.
getSampleCode
());
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
xssfSheet
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/Operation.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
public
interface
Operation
{
void
doMakeOriginal
();
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/OriginalFactory.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.patzn.cloud.service.hmhj.entity.Entrust
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
java.util.List
;
public
class
OriginalFactory
{
private
OriginalTemplate
template
;
private
List
<
EntrustSampleItemVO
>
voList
;
private
Entrust
entrust
;
private
List
<
OriginalTemplateConfig
>
configList
;
private
XSSFWorkbook
xssfWorkbook
;
public
OriginalFactory
(
OriginalTemplate
template
,
List
<
EntrustSampleItemVO
>
voList
,
Entrust
entrust
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
this
.
template
=
template
;
this
.
voList
=
voList
;
this
.
entrust
=
entrust
;
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
}
public
Operation
getOperation
(){
if
(
null
==
template
.
getMoreSheet
()
||
0
==
template
.
getMoreSheet
()){
if
(
null
==
template
.
getSampleBeginRow
()||
null
==
template
.
getSampleMergerNum
()||
null
==
template
.
getTemplateSampleNum
()){
return
null
;
}
if
(
voList
.
size
()<
template
.
getTemplateSampleNum
()){
return
new
SingleSheetLittleOperation
(
template
,
voList
,
entrust
,
configList
,
xssfWorkbook
);
}
else
{
return
new
SingleSheetMoreOperation
(
template
,
voList
,
entrust
,
configList
,
xssfWorkbook
);
}
}
else
{
Integer
templateSampleNum
=
template
.
getTemplateSampleNum
();
if
(
null
==
templateSampleNum
||
1
==
templateSampleNum
){
return
new
MoreSheetOneOperation
(
template
,
voList
,
entrust
,
configList
,
xssfWorkbook
);
}
else
{
return
new
MoreSheetMoreOperation
(
template
,
voList
,
entrust
,
configList
,
xssfWorkbook
);
}
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/OriginalUtil.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.patzn.cloud.service.hmhj.entity.Entrust
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
java.util.HashMap
;
import
java.util.Map
;
public
final
class
OriginalUtil
{
public
final
static
String
initFormula
(
String
formula
,
Integer
i
){
formula
=
formula
.
replace
(
"#{sn}"
,(
i
+
1
)+
""
);
if
(
formula
.
contains
(
"#{sneven1}"
)){
if
(
StringHandleUtils
.
isEven
(
i
)){
formula
=
formula
.
replace
(
"#{sneven1}"
,(
i
+
1
)+
""
);
}
else
{
formula
=
formula
.
replace
(
"#{sneven1}"
,
i
+
""
);
}
}
if
(
formula
.
contains
(
"#{snodd1}"
)){
if
(!
StringHandleUtils
.
isEven
(
i
)){
formula
=
formula
.
replace
(
"#{snodd1}"
,(
i
+
1
)+
""
);
}
else
{
formula
=
formula
.
replace
(
"#{snodd1}"
,
i
+
""
);
}
}
if
(
formula
.
contains
(
"#{sn+1}"
)){
formula
=
formula
.
replace
(
"#{sn+1}"
,(
i
+
2
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+2}"
)){
formula
=
formula
.
replace
(
"#{sn+2}"
,(
i
+
3
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+3}"
)){
formula
=
formula
.
replace
(
"#{sn+3}"
,(
i
+
4
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+4}"
)){
formula
=
formula
.
replace
(
"#{sn+4}"
,(
i
+
5
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+5}"
)){
formula
=
formula
.
replace
(
"#{sn+5}"
,(
i
+
6
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+6}"
)){
formula
=
formula
.
replace
(
"#{sn+6}"
,(
i
+
7
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+7}"
)){
formula
=
formula
.
replace
(
"#{sn+7}"
,(
i
+
8
)+
""
);
}
return
formula
;
}
public
final
static
void
doReplace
(
XSSFWorkbook
xssfWorkbook
,
Entrust
entrust
){
Map
<
String
,
String
>
mapReplace
=
new
HashMap
<>();
mapReplace
.
put
(
"#{client}"
,
entrust
.
getClient
());
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
0
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/SingleSheetLittleOperation.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.patzn.cloud.service.hmhj.entity.Entrust
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.xssf.usermodel.XSSFCell
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
SingleSheetLittleOperation
implements
Operation
{
private
OriginalTemplate
template
;
private
List
<
EntrustSampleItemVO
>
voList
;
private
Entrust
entrust
;
private
List
<
OriginalTemplateConfig
>
configList
;
private
XSSFWorkbook
xssfWorkbook
;
public
SingleSheetLittleOperation
(
OriginalTemplate
template
,
List
<
EntrustSampleItemVO
>
voList
,
Entrust
entrust
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
this
.
template
=
template
;
this
.
voList
=
voList
;
this
.
entrust
=
entrust
;
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
}
@Override
public
void
doMakeOriginal
()
{
OriginalUtil
.
doReplace
(
xssfWorkbook
,
entrust
);
XSSFSheet
sheetOne
=
xssfWorkbook
.
getSheetAt
(
0
);
sheetOne
.
setForceFormulaRecalculation
(
true
);
Integer
beginRow
=
template
.
getSampleBeginRow
();
int
sampleMergerNum
=
template
.
getSampleMergerNum
();
int
templateSampleNum
=
template
.
getTemplateSampleNum
();
for
(
EntrustSampleItemVO
vo:
voList
)
{
XSSFRow
xssfRow
=
sheetOne
.
getRow
(
beginRow
);
for
(
OriginalTemplateConfig
config:
configList
)
{
XSSFCell
cell
=
xssfRow
.
getCell
(
config
.
getColumnPlace
());
if
(
"sn"
.
equals
(
config
.
getDataAttribute
())){
continue
;
}
if
(
StringUtils
.
isBlank
(
config
.
getDataAttribute
())){
continue
;
}
cell
.
setCellValue
(
StringHandleUtils
.
getFieldIfNummReturnBlankValueByFieldName
(
config
.
getDataAttribute
(),
vo
));
}
beginRow
+=
sampleMergerNum
;
}
Integer
sampleBgMum
=
template
.
getSampleBeginRow
();
for
(
OriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getMergeRowNum
()){
config
.
setMergeRowNum
(
1
);
}
String
formula
=
config
.
getFormula
();
if
(
StringUtils
.
isBlank
(
formula
)){
continue
;
}
Integer
columnPlace
=
config
.
getColumnPlace
();
if
(
null
==
config
.
getColumnPlace
()){
continue
;
}
if
(
null
==
config
.
getMergeRowNum
()){
continue
;
}
Integer
mergeRowNum
=
config
.
getMergeRowNum
();
int
formulaNum
=
template
.
getSampleBeginRow
()+
sampleMergerNum
*
templateSampleNum
-
1
;
for
(
int
i
=
sampleBgMum
;
i
<=
formulaNum
;
i
+=
mergeRowNum
)
{
XSSFRow
row
=
sheetOne
.
getRow
(
i
);
XSSFCell
cell
=
row
.
getCell
(
columnPlace
);
cell
.
setCellFormula
(
OriginalUtil
.
initFormula
(
formula
,
i
));
}
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/SingleSheetMoreOperation.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.patzn.cloud.service.hmhj.entity.Entrust
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.util.CellRangeAddress
;
import
org.apache.poi.xssf.usermodel.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
SingleSheetMoreOperation
implements
Operation
{
private
OriginalTemplate
template
;
private
List
<
EntrustSampleItemVO
>
voList
;
private
Entrust
entrust
;
private
List
<
OriginalTemplateConfig
>
configList
;
private
XSSFWorkbook
xssfWorkbook
;
public
SingleSheetMoreOperation
(
OriginalTemplate
template
,
List
<
EntrustSampleItemVO
>
voList
,
Entrust
entrust
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
this
.
template
=
template
;
this
.
voList
=
voList
;
this
.
entrust
=
entrust
;
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
}
@Override
public
void
doMakeOriginal
()
{
OriginalUtil
.
doReplace
(
xssfWorkbook
,
entrust
);
XSSFSheet
sheetOne
=
xssfWorkbook
.
getSheetAt
(
0
);
sheetOne
.
setForceFormulaRecalculation
(
true
);
Integer
beginRow
=
template
.
getSampleBeginRow
();
int
sampleMergerNum
=
template
.
getSampleMergerNum
();
int
templateSampleNum
=
template
.
getTemplateSampleNum
();
int
insertRow
=
beginRow
+
sampleMergerNum
*
templateSampleNum
;
XSSFRow
zeroRow
=
sheetOne
.
getRow
(
beginRow
);
XSSFCellStyle
cellStyle
=
zeroRow
.
getCell
(
0
).
getCellStyle
();
int
lastCellNum
=
zeroRow
.
getLastCellNum
();
int
insertCount
=
voList
.
size
()-
templateSampleNum
;
for
(
int
m
=
0
;
m
<
insertCount
;
m
++)
{
for
(
int
i
=
0
;
i
<
sampleMergerNum
;
i
++)
{
sheetOne
.
shiftRows
(
insertRow
,
sheetOne
.
getLastRowNum
(),
1
,
true
,
false
);
XSSFRow
row
=
sheetOne
.
createRow
(
insertRow
);
row
.
setHeight
(
zeroRow
.
getHeight
());
for
(
int
j
=
0
;
j
<
lastCellNum
;
j
++)
{
XSSFCell
xssfCell
=
row
.
createCell
(
j
);
xssfCell
.
setCellStyle
(
cellStyle
);
}
insertRow
++;
}
}
int
sn
=
1
;
for
(
EntrustSampleItemVO
vo:
voList
)
{
XSSFRow
xssfRow
=
sheetOne
.
getRow
(
beginRow
);
for
(
OriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getColumnPlace
()){
continue
;
}
XSSFCell
cell
=
xssfRow
.
getCell
(
config
.
getColumnPlace
());
if
(
"sn"
.
equals
(
config
.
getDataAttribute
())){
cell
.
setCellValue
(
sn
);
}
else
{
cell
.
setCellValue
(
StringHandleUtils
.
getFieldIfNummReturnBlankValueByFieldName
(
config
.
getDataAttribute
(),
vo
));
}
}
beginRow
+=
sampleMergerNum
;
sn
++;
}
for
(
OriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getMergeRowNum
()){
config
.
setMergeRowNum
(
1
);
}
if
(
StringUtils
.
isNotBlank
(
config
.
getFormula
())&&
null
!=
config
.
getColumnPlace
()
&&
null
!=
config
.
getMergeRowNum
()){
Integer
sampleBgMum
=
template
.
getSampleBeginRow
();
Integer
mergeRowNum
=
config
.
getMergeRowNum
();
int
formulaNum
=
template
.
getSampleBeginRow
()+
sampleMergerNum
*
voList
.
size
()-
1
;
for
(
int
i
=
sampleBgMum
;
i
<=
formulaNum
;
i
+=
mergeRowNum
)
{
XSSFRow
row
=
sheetOne
.
getRow
(
i
);
if
(
null
==
row
){
continue
;
}
XSSFCell
cell
=
row
.
getCell
(
config
.
getColumnPlace
());
if
(
null
==
cell
){
continue
;
}
String
formula
=
config
.
getFormula
();
cell
.
setCellFormula
(
OriginalUtil
.
initFormula
(
formula
,
i
));
}
}
}
for
(
OriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getMergeRowNum
()){
config
.
setMergeRowNum
(
1
);
}
if
(
null
==
config
.
getMergeBegin
()){
continue
;
}
if
(
null
==
config
.
getMergeEnd
()){
continue
;
}
int
step
=
config
.
getMergeRowNum
();
if
(
step
==
1
&&
config
.
getMergeEnd
()
==
config
.
getMergeBegin
()){
continue
;
}
if
(
null
!=
config
.
getColumnPlace
()
&&
null
!=
config
.
getMergeRowNum
()){
Integer
sampleBgMum
=
template
.
getSampleBeginRow
()+
templateSampleNum
*
sampleMergerNum
;
Integer
sampleEnMum
=
template
.
getSampleBeginRow
()+
voList
.
size
()*
sampleMergerNum
-
1
;
while
(
sampleBgMum
<=
sampleEnMum
)
{
sheetOne
.
addMergedRegion
(
new
CellRangeAddress
(
sampleBgMum
,
sampleBgMum
+
step
-
1
,
config
.
getMergeBegin
(),
config
.
getMergeEnd
()));
sampleBgMum
=
sampleBgMum
+
step
;
}
}
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustReportTemplateConfigService.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.hmhj.entity.EntrustReportTemplateConfig
;
import
java.util.List
;
/**
* 服务类
*
* @author wwd
* @since 2021-05-06
*/
public
interface
IEntrustReportTemplateConfigService
extends
IBaseService
<
EntrustReportTemplateConfig
>
{
Page
<
EntrustReportTemplateConfig
>
page
(
Page
<
EntrustReportTemplateConfig
>
page
,
EntrustReportTemplateConfig
entrustReportTemplateConfig
);
boolean
removeByIds
(
List
<
Long
>
ids
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustReportTemplateConfigServiceImpl.java
0 → 100644
View file @
787e59e7
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
import
com.patzn.cloud.service.hmhj.entity.EntrustReportTemplateConfig
;
import
com.patzn.cloud.service.lims.hmhj.mapper.EntrustReportTemplateConfigMapper
;
import
com.patzn.cloud.service.lims.hmhj.service.IEntrustReportTemplateConfigService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
java.util.List
;
/**
* 服务实现类
*
* @author wwd
* @since 2021-05-06
*/
@Service
public
class
EntrustReportTemplateConfigServiceImpl
extends
BaseServiceImpl
<
EntrustReportTemplateConfigMapper
,
EntrustReportTemplateConfig
>
implements
IEntrustReportTemplateConfigService
{
@Override
public
Page
<
EntrustReportTemplateConfig
>
page
(
Page
<
EntrustReportTemplateConfig
>
page
,
EntrustReportTemplateConfig
entrustReportTemplateConfig
)
{
Wrapper
wrapper
=
new
EntityWrapper
<>(
entrustReportTemplateConfig
);
return
this
.
page
(
page
,
wrapper
);
}
@Override
public
boolean
removeByIds
(
List
<
Long
>
ids
)
{
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
View file @
787e59e7
...
...
@@ -13,6 +13,8 @@ import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleItemMapper
;
import
com.patzn.cloud.service.lims.hmhj.original.Operation
;
import
com.patzn.cloud.service.lims.hmhj.original.OriginalFactory
;
import
com.patzn.cloud.service.lims.hmhj.service.*
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
org.apache.commons.collections4.ListUtils
;
...
...
@@ -29,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -315,14 +318,13 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
if
(
CollectionUtils
.
isEmpty
(
voList
)){
return
null
;
}
List
<
Long
>
sampleIdList
=
voList
.
stream
().
map
(
s
->{
return
s
.
getEntrustSampleId
();
}).
collect
(
Collectors
.
toList
());
Entrust
entrust
=
entrustService
.
getById
(
voList
.
get
(
0
).
getEntrustId
());
InputStream
io
=
ossClient
.
download
(
template
.
getObjectKey
());
if
(
null
==
io
){
RestAssert
.
fail
(
"模板不存在"
);
}
List
<
OriginalTemplateConfig
>
configList
=
originalTemplateConfigService
.
list
(
Condition
.
create
().
eq
(
"template_id"
,
templateId
));
OriginalRecord
objectKey
=
null
;
XSSFWorkbook
xssfWorkbook
=
null
;
try
{
...
...
@@ -331,324 +333,11 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
logger
.
error
(
"获取证书模板错误"
+
e
.
getMessage
());
e
.
printStackTrace
();
}
Map
<
String
,
String
>
mapReplace
=
new
HashMap
<>();
mapReplace
.
put
(
"#{client}"
,
entrust
.
getClient
());
List
<
OriginalTemplateConfig
>
configList
=
originalTemplateConfigService
.
list
(
Condition
.
create
().
eq
(
"template_id"
,
templateId
));
if
(
null
==
template
.
getMoreSheet
()
||
0
==
template
.
getMoreSheet
()){
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
0
);
XSSFSheet
sheetOne
=
xssfWorkbook
.
getSheetAt
(
0
);
sheetOne
.
setForceFormulaRecalculation
(
true
);
Integer
beginRow
=
template
.
getSampleBeginRow
();
if
(
null
!=
beginRow
&&
null
!=
template
.
getSampleMergerNum
()&&
null
!=
template
.
getTemplateSampleNum
()){
int
templateSampleNum
=
template
.
getTemplateSampleNum
();
if
(
voList
.
size
()<
templateSampleNum
){
int
sampleMergerNum
=
template
.
getSampleMergerNum
();
for
(
EntrustSampleItemVO
vo:
voList
)
{
XSSFRow
xssfRow
=
sheetOne
.
getRow
(
beginRow
);
for
(
OriginalTemplateConfig
config:
configList
)
{
XSSFCell
cell
=
xssfRow
.
getCell
(
config
.
getColumnPlace
());
if
(
"sn"
.
equals
(
config
.
getDataAttribute
())){
continue
;
}
cell
.
setCellValue
(
StringHandleUtils
.
getFieldIfNummReturnBlankValueByFieldName
(
config
.
getDataAttribute
(),
vo
));
}
beginRow
+=
sampleMergerNum
;
}
for
(
OriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getMergeRowNum
()){
config
.
setMergeRowNum
(
1
);
}
if
(
StringUtils
.
isNotBlank
(
config
.
getFormula
())&&
null
!=
config
.
getColumnPlace
()
&&
null
!=
config
.
getMergeRowNum
()){
Integer
sampleBgMum
=
template
.
getSampleBeginRow
();
Integer
mergeRowNum
=
config
.
getMergeRowNum
();
int
formulaNum
=
template
.
getSampleBeginRow
()+
sampleMergerNum
*
templateSampleNum
-
1
;
for
(
int
i
=
sampleBgMum
;
i
<=
formulaNum
;
i
+=
mergeRowNum
)
{
XSSFRow
row
=
sheetOne
.
getRow
(
i
);
XSSFCell
cell
=
row
.
getCell
(
config
.
getColumnPlace
());
String
formula
=
config
.
getFormula
();
formula
=
formula
.
replace
(
"#{sn}"
,(
i
+
1
)+
""
);
if
(
formula
.
contains
(
"#{sneven1}"
)){
if
(
StringHandleUtils
.
isEven
(
i
)){
formula
=
formula
.
replace
(
"#{sneven1}"
,(
i
+
1
)+
""
);
}
else
{
formula
=
formula
.
replace
(
"#{sneven1}"
,
i
+
""
);
}
}
if
(
formula
.
contains
(
"#{snodd1}"
)){
if
(!
StringHandleUtils
.
isEven
(
i
)){
formula
=
formula
.
replace
(
"#{snodd1}"
,(
i
+
1
)+
""
);
}
else
{
formula
=
formula
.
replace
(
"#{snodd1}"
,
i
+
""
);
}
}
if
(
formula
.
contains
(
"#{sn+1}"
)){
formula
=
formula
.
replace
(
"#{sn+1}"
,(
i
+
2
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+2}"
)){
formula
=
formula
.
replace
(
"#{sn+2}"
,(
i
+
3
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+3}"
)){
formula
=
formula
.
replace
(
"#{sn+3}"
,(
i
+
4
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+4}"
)){
formula
=
formula
.
replace
(
"#{sn+4}"
,(
i
+
5
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+5}"
)){
formula
=
formula
.
replace
(
"#{sn+5}"
,(
i
+
6
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+6}"
)){
formula
=
formula
.
replace
(
"#{sn+6}"
,(
i
+
7
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+7}"
)){
formula
=
formula
.
replace
(
"#{sn+7}"
,(
i
+
8
)+
""
);
}
cell
.
setCellFormula
(
formula
);
}
}
}
}
else
{
logger
.
error
(
"----------------------8"
);
int
sampleMergerNum
=
template
.
getSampleMergerNum
();
int
insertRow
=
beginRow
+
sampleMergerNum
*
templateSampleNum
;
logger
.
error
(
"---------------------9"
);
XSSFRow
zeroRow
=
sheetOne
.
getRow
(
beginRow
);
XSSFCellStyle
cellStyle
=
zeroRow
.
getCell
(
0
).
getCellStyle
();
logger
.
error
(
"----------------------10"
);
int
lastCellNum
=
zeroRow
.
getLastCellNum
();
int
insertCount
=
voList
.
size
()-
templateSampleNum
;
for
(
int
m
=
0
;
m
<
insertCount
;
m
++)
{
for
(
int
i
=
0
;
i
<
sampleMergerNum
;
i
++)
{
sheetOne
.
shiftRows
(
insertRow
,
sheetOne
.
getLastRowNum
(),
1
,
true
,
false
);
XSSFRow
row
=
sheetOne
.
createRow
(
insertRow
);
row
.
setHeight
(
zeroRow
.
getHeight
());
for
(
int
j
=
0
;
j
<
lastCellNum
;
j
++)
{
XSSFCell
xssfCell
=
row
.
createCell
(
j
);
xssfCell
.
setCellStyle
(
cellStyle
);
}
insertRow
++;
}
}
int
sn
=
1
;
int
xBegin1
=
9
;
int
xBegin2
=
10
;
int
xBegin3
=
11
;
int
xStep
=
5
;
for
(
EntrustSampleItemVO
vo:
voList
)
{
XSSFRow
xssfRow
=
sheetOne
.
getRow
(
beginRow
);
for
(
OriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getColumnPlace
()){
continue
;
}
XSSFCell
cell
=
xssfRow
.
getCell
(
config
.
getColumnPlace
());
if
(
"sn"
.
equals
(
config
.
getDataAttribute
())){
cell
.
setCellValue
(
sn
);
}
else
{
cell
.
setCellValue
(
StringHandleUtils
.
getFieldIfNummReturnBlankValueByFieldName
(
config
.
getDataAttribute
(),
vo
));
}
}
beginRow
+=
sampleMergerNum
;
sn
++;
}
for
(
OriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getMergeRowNum
()){
config
.
setMergeRowNum
(
1
);
}
if
(
StringUtils
.
isNotBlank
(
config
.
getFormula
())&&
null
!=
config
.
getColumnPlace
()
&&
null
!=
config
.
getMergeRowNum
()){
Integer
sampleBgMum
=
template
.
getSampleBeginRow
();
Integer
mergeRowNum
=
config
.
getMergeRowNum
();
int
formulaNum
=
template
.
getSampleBeginRow
()+
sampleMergerNum
*
voList
.
size
()-
1
;
for
(
int
i
=
sampleBgMum
;
i
<=
formulaNum
;
i
+=
mergeRowNum
)
{
XSSFRow
row
=
sheetOne
.
getRow
(
i
);
if
(
null
==
row
){
continue
;
}
XSSFCell
cell
=
row
.
getCell
(
config
.
getColumnPlace
());
if
(
null
==
cell
){
continue
;
}
String
formula
=
config
.
getFormula
();
formula
=
formula
.
replace
(
"#{sn}"
,(
i
+
1
)+
""
);
if
(
formula
.
contains
(
"#{sneven1}"
)){
if
(
StringHandleUtils
.
isEven
(
i
)){
formula
=
formula
.
replace
(
"#{sneven1}"
,(
i
+
1
)+
""
);
}
else
{
formula
=
formula
.
replace
(
"#{sneven1}"
,
i
+
""
);
}
}
if
(
formula
.
contains
(
"#{snodd1}"
)){
if
(!
StringHandleUtils
.
isEven
(
i
)){
formula
=
formula
.
replace
(
"#{snodd1}"
,(
i
+
1
)+
""
);
}
else
{
formula
=
formula
.
replace
(
"#{snodd1}"
,
i
+
""
);
}
}
if
(
formula
.
contains
(
"#{sn+1}"
)){
formula
=
formula
.
replace
(
"#{sn+1}"
,(
i
+
2
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+2}"
)){
formula
=
formula
.
replace
(
"#{sn+2}"
,(
i
+
3
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+3}"
)){
formula
=
formula
.
replace
(
"#{sn+3}"
,(
i
+
4
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+4}"
)){
formula
=
formula
.
replace
(
"#{sn+4}"
,(
i
+
5
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+5}"
)){
formula
=
formula
.
replace
(
"#{sn+5}"
,(
i
+
6
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+6}"
)){
formula
=
formula
.
replace
(
"#{sn+6}"
,(
i
+
7
)+
""
);
}
if
(
formula
.
contains
(
"#{sn+7}"
)){
formula
=
formula
.
replace
(
"#{sn+7}"
,(
i
+
8
)+
""
);
}
cell
.
setCellFormula
(
formula
);
}
}
}
for
(
OriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getMergeRowNum
()){
config
.
setMergeRowNum
(
1
);
}
if
(
null
==
config
.
getMergeBegin
()){
continue
;
}
if
(
null
==
config
.
getMergeEnd
()){
continue
;
}
int
step
=
config
.
getMergeRowNum
();
if
(
step
==
1
&&
config
.
getMergeEnd
()
==
config
.
getMergeBegin
()){
continue
;
}
if
(
null
!=
config
.
getColumnPlace
()
&&
null
!=
config
.
getMergeRowNum
()){
Integer
sampleBgMum
=
template
.
getSampleBeginRow
()+
templateSampleNum
*
sampleMergerNum
;
Integer
sampleEnMum
=
template
.
getSampleBeginRow
()+
voList
.
size
()*
sampleMergerNum
-
1
;
while
(
sampleBgMum
<=
sampleEnMum
)
{
sheetOne
.
addMergedRegion
(
new
CellRangeAddress
(
sampleBgMum
,
sampleBgMum
+
step
-
1
,
config
.
getMergeBegin
(),
config
.
getMergeEnd
()));
sampleBgMum
=
sampleBgMum
+
step
;
}
}
}
}
}
}
else
{
Integer
templateSampleNum
=
template
.
getTemplateSampleNum
();
if
(
null
==
templateSampleNum
||
1
==
templateSampleNum
){
XSSFSheet
xssfSheet
=
xssfWorkbook
.
getSheetAt
(
0
);
xssfSheet
.
setForceFormulaRecalculation
(
true
);
int
index
=
0
;
EntrustSampleItemVO
firstVO
=
null
;
int
sheetNum
=
xssfWorkbook
.
getNumberOfSheets
();
for
(
EntrustSampleItemVO
vo:
voList
)
{
if
(
index
==
0
){
index
++;
firstVO
=
vo
;
continue
;
}
XSSFSheet
sheet
=
xssfWorkbook
.
cloneSheet
(
0
);
index
++;
}
int
nextSample
=
sheetNum
;
boolean
start
=
true
;
for
(
EntrustSampleItemVO
vo:
voList
)
{
if
(
start
){
start
=
false
;
continue
;
}
XSSFSheet
sheet
=
xssfWorkbook
.
getSheetAt
(
nextSample
);
xssfWorkbook
.
setSheetName
(
nextSample
,
vo
.
getSampleCode
());
mapReplace
.
put
(
"#{sampleCode}"
,
vo
.
getSampleCode
());
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
sheet
);
nextSample
++;
}
mapReplace
.
put
(
"#{sampleCode}"
,
firstVO
.
getSampleCode
());
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
xssfSheet
);
}
else
{
List
<
List
<
EntrustSampleItemVO
>>
relList
=
ListUtils
.
partition
(
voList
,
templateSampleNum
);
int
templateSheetMum
=
xssfWorkbook
.
getNumberOfSheets
();
XSSFSheet
sheetMy
=
xssfWorkbook
.
getSheetAt
(
0
);
boolean
first
=
true
;
List
<
EntrustSampleItemVO
>
firstList
=
null
;
for
(
List
<
EntrustSampleItemVO
>
expVOList:
relList
)
{
XSSFSheet
sheet
=
null
;
if
(
first
){
sheet
=
sheetMy
;
firstList
=
expVOList
;
first
=
false
;
continue
;
}
else
{
sheet
=
xssfWorkbook
.
cloneSheet
(
0
,
sheetMy
.
getSheetName
()+(
templateSheetMum
));
}
Map
<
String
,
String
>
mapReplaceMy
=
new
HashMap
<>();
for
(
int
i
=
0
;
i
<
templateSampleNum
;
i
++)
{
mapReplaceMy
.
put
(
"#{sampleCode"
+
i
+
"}"
,
""
);
}
mapReplaceMy
.
put
(
"#{client}"
,
entrust
.
getClient
());
int
entitySize
=
expVOList
.
size
();
for
(
int
j
=
0
;
j
<
entitySize
;
j
++)
{
EntrustSampleItemVO
vo
=
expVOList
.
get
(
j
);
mapReplaceMy
.
put
(
"#{sampleCode"
+
j
+
"}"
,
StringHandleUtils
.
getString
(
vo
.
getSampleCode
()));
}
HSSFWorkbookUtil
.
replaceModel
(
mapReplaceMy
,
xssfWorkbook
,
sheet
);
templateSheetMum
++;
}
int
firstSize
=
firstList
.
size
();
Map
<
String
,
String
>
mapReplaceMy
=
new
HashMap
<>();
for
(
int
i
=
0
;
i
<
templateSampleNum
;
i
++)
{
mapReplaceMy
.
put
(
"#{sampleCode"
+
i
+
"}"
,
""
);
}
mapReplaceMy
.
put
(
"#{client}"
,
entrust
.
getClient
());
for
(
int
j
=
0
;
j
<
firstSize
;
j
++)
{
EntrustSampleItemVO
vo
=
firstList
.
get
(
j
);
mapReplaceMy
.
put
(
"#{sampleCode"
+
j
+
"}"
,
StringHandleUtils
.
getString
(
vo
.
getSampleCode
()));
}
HSSFWorkbookUtil
.
replaceModel
(
mapReplaceMy
,
xssfWorkbook
,
sheetMy
);
}
OriginalFactory
factory
=
new
OriginalFactory
(
template
,
voList
,
entrust
,
configList
,
xssfWorkbook
);
Operation
operation
=
factory
.
getOperation
();
if
(
null
!=
operation
){
operation
.
doMakeOriginal
();
}
FileOutputStream
os
=
null
;
File
file
=
null
;
...
...
@@ -669,12 +358,21 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
finally
{
try
{
os
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
try
{
xssfWorkbook
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
try
{
io
.
close
();
FileUtils
.
deleteFiles
(
file
);
}
catch
(
Exception
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
FileUtils
.
deleteFiles
(
file
);
}
logger
.
error
(
"----------------------20"
);
...
...
src/main/resources/mapper/hmhj/EntrustReportTemplateConfigMapper.xml
0 → 100644
View file @
787e59e7
<?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.hmhj.mapper.EntrustReportTemplateConfigMapper"
>
</mapper>
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