Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
pt-tobacco-lims-service
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
pt-tobacco-lims-service
Commits
a6c3daee
Commit
a6c3daee
authored
Jun 14, 2020
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
烟草系统demo修改
parent
8bd24004
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
357 additions
and
25 deletions
+357
-25
StringHandleUtils.java
src/main/java/com/patzn/lims/common/StringHandleUtils.java
+0
-1
DrugSampleController.java
.../com/patzn/lims/drug/controller/DrugSampleController.java
+23
-0
DrugItem.java
src/main/java/com/patzn/lims/drug/entity/DrugItem.java
+6
-0
DrugSample.java
src/main/java/com/patzn/lims/drug/entity/DrugSample.java
+2
-2
IDrugItemOperationService.java
...om/patzn/lims/drug/service/IDrugItemOperationService.java
+2
-0
IDrugItemService.java
...in/java/com/patzn/lims/drug/service/IDrugItemService.java
+6
-1
IDrugSampleOperationService.java
.../patzn/lims/drug/service/IDrugSampleOperationService.java
+4
-0
IDrugSampleService.java
.../java/com/patzn/lims/drug/service/IDrugSampleService.java
+7
-0
ITestValueExtendService.java
.../com/patzn/lims/drug/service/ITestValueExtendService.java
+4
-0
DrugItemOperationServiceImpl.java
.../lims/drug/service/impl/DrugItemOperationServiceImpl.java
+6
-0
DrugItemServiceImpl.java
...com/patzn/lims/drug/service/impl/DrugItemServiceImpl.java
+14
-4
DrugSampleOperationServiceImpl.java
...ims/drug/service/impl/DrugSampleOperationServiceImpl.java
+12
-0
DrugSampleServiceImpl.java
...m/patzn/lims/drug/service/impl/DrugSampleServiceImpl.java
+0
-0
TestValueExtendServiceImpl.java
...zn/lims/drug/service/impl/TestValueExtendServiceImpl.java
+7
-0
DrugSampleVO.java
src/main/java/com/patzn/lims/drug/vo/DrugSampleVO.java
+4
-0
IExportService.java
src/main/java/com/patzn/lims/res/service/IExportService.java
+34
-4
ExportServiceImpl.java
...va/com/patzn/lims/res/service/impl/ExportServiceImpl.java
+201
-12
DrugItemMapper.xml
src/main/resources/mapper/drug/DrugItemMapper.xml
+25
-1
TestDataExport.xlsx
src/main/resources/templates/excel/TestDataExport.xlsx
+0
-0
No files found.
src/main/java/com/patzn/lims/common/StringHandleUtils.java
View file @
a6c3daee
...
@@ -719,6 +719,5 @@ public class StringHandleUtils {
...
@@ -719,6 +719,5 @@ public class StringHandleUtils {
public
static
int
compareBig
(
String
one
,
String
two
)
{
public
static
int
compareBig
(
String
one
,
String
two
)
{
return
new
BigDecimal
(
one
).
compareTo
(
new
BigDecimal
(
two
));
return
new
BigDecimal
(
one
).
compareTo
(
new
BigDecimal
(
two
));
}
}
}
}
src/main/java/com/patzn/lims/drug/controller/DrugSampleController.java
View file @
a6c3daee
...
@@ -1123,4 +1123,27 @@ public class DrugSampleController extends ServiceController<IDrugSampleService,
...
@@ -1123,4 +1123,27 @@ public class DrugSampleController extends ServiceController<IDrugSampleService,
return
success
(
baseService
.
submitFlow
(
flowDTO
,
getAccount
()));
return
success
(
baseService
.
submitFlow
(
flowDTO
,
getAccount
()));
}
}
@ApiOperation
(
value
=
"样品数据查阅"
,
notes
=
"样品数据查阅"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
PtConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"int"
),
@ApiImplicitParam
(
name
=
PtConstants
.
PAGE_ROWS
,
value
=
"每页条数"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"int"
),
@ApiImplicitParam
(
name
=
PtConstants
.
PAGE_SIDX
,
value
=
"排序字段"
,
paramType
=
"query"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
PtConstants
.
PAGE_SORD
,
value
=
"排序方式"
,
paramType
=
"query"
,
dataType
=
"String"
),
})
@PostMapping
(
"/page-sample-data-query"
)
public
PtResult
<
IPage
<
DrugSampleVO
>>
getPageSampleDataQuery
(
DrugSampleVO
vo
)
{
vo
.
setStatusList
(
Lists
.
newArrayList
(
SampleStatusEnum
.
REPORT_MAKE
,
SampleStatusEnum
.
REPORT_CHECK
,
SampleStatusEnum
.
REPORT_ISSUE
,
SampleStatusEnum
.
END
));
vo
.
setCompanyId
(
getAccount
().
getCompanyId
());
return
success
(
baseService
.
pageSampleDataQuery
(
getPage
(),
vo
));
}
@ApiOperation
(
value
=
"导出低倍结果"
,
notes
=
"导出低倍结果"
)
@PostMapping
(
"/export_sample_test_data/"
)
public
void
exportSampleTestData
(
DrugSampleVO
sampleVO
){
baseService
.
exportSampleTestData
(
response
,
sampleVO
);
}
}
}
src/main/java/com/patzn/lims/drug/entity/DrugItem.java
View file @
a6c3daee
...
@@ -92,4 +92,10 @@ public class DrugItem extends BaseEntity {
...
@@ -92,4 +92,10 @@ public class DrugItem extends BaseEntity {
private
BigDecimal
sampleQuantity
;
private
BigDecimal
sampleQuantity
;
@ApiModelProperty
(
value
=
"不合格数量"
)
private
Integer
failQuantity
;
@ApiModelProperty
(
value
=
"标偏"
)
private
String
deviation
;
}
}
src/main/java/com/patzn/lims/drug/entity/DrugSample.java
View file @
a6c3daee
...
@@ -111,6 +111,6 @@ public class DrugSample extends BaseEntity {
...
@@ -111,6 +111,6 @@ public class DrugSample extends BaseEntity {
@ApiModelProperty
(
value
=
"被复检样品ID"
)
@ApiModelProperty
(
value
=
"被复检样品ID"
)
private
Long
recheckId
;
private
Long
recheckId
;
@ApiModelProperty
(
value
=
"是否流转"
)
private
Integer
flowed
;
}
}
src/main/java/com/patzn/lims/drug/service/IDrugItemOperationService.java
View file @
a6c3daee
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.patzn.lims.core.web.Account
;
import
com.patzn.lims.core.web.Account
;
import
com.patzn.lims.core.web.IBaseService
;
import
com.patzn.lims.core.web.IBaseService
;
import
com.patzn.lims.drug.entity.DrugItemOperation
;
import
com.patzn.lims.drug.entity.DrugItemOperation
;
import
com.patzn.lims.drug.entity.DrugSampleOperation
;
/**
/**
* <p>
* <p>
...
@@ -22,4 +23,5 @@ public interface IDrugItemOperationService extends IBaseService<DrugItemOperatio
...
@@ -22,4 +23,5 @@ public interface IDrugItemOperationService extends IBaseService<DrugItemOperatio
boolean
writeChecker
(
Long
[]
ids
,
Account
account
);
boolean
writeChecker
(
Long
[]
ids
,
Account
account
);
boolean
writeAuditor
(
Long
[]
ids
,
Account
account
);
boolean
writeAuditor
(
Long
[]
ids
,
Account
account
);
}
}
src/main/java/com/patzn/lims/drug/service/IDrugItemService.java
View file @
a6c3daee
...
@@ -9,6 +9,7 @@ import com.patzn.lims.drug.entity.DrugItemAllocate;
...
@@ -9,6 +9,7 @@ import com.patzn.lims.drug.entity.DrugItemAllocate;
import
com.patzn.lims.drug.eunms.ItemStatusEnum
;
import
com.patzn.lims.drug.eunms.ItemStatusEnum
;
import
com.patzn.lims.drug.vo.DrugItemVO
;
import
com.patzn.lims.drug.vo.DrugItemVO
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -50,7 +51,7 @@ public interface IDrugItemService extends IBaseService<DrugItem> {
...
@@ -50,7 +51,7 @@ public interface IDrugItemService extends IBaseService<DrugItem> {
boolean
updateByCondition
(
Long
[]
ids
,
ItemStatusEnum
allocate
);
boolean
updateByCondition
(
Long
[]
ids
,
ItemStatusEnum
allocate
);
boolean
updateByCondition
(
List
<
Long
>
ids
,
ItemStatusEnum
allocate
);
boolean
updateByCondition
(
Collection
<
Long
>
ids
,
ItemStatusEnum
allocate
);
boolean
updateByConditionIds
(
List
<
Long
>
ids
,
ItemStatusEnum
allocate
);
boolean
updateByConditionIds
(
List
<
Long
>
ids
,
ItemStatusEnum
allocate
);
...
@@ -82,4 +83,8 @@ public interface IDrugItemService extends IBaseService<DrugItem> {
...
@@ -82,4 +83,8 @@ public interface IDrugItemService extends IBaseService<DrugItem> {
Page
<
DrugItemVO
>
pageItemFail
(
Page
page
,
DrugItemVO
notOK
,
Account
account
);
Page
<
DrugItemVO
>
pageItemFail
(
Page
page
,
DrugItemVO
notOK
,
Account
account
);
StatisticSampleItem
getSampleItemNum
(
StatisticSampleItem
sampleItem
,
Account
account
);
StatisticSampleItem
getSampleItemNum
(
StatisticSampleItem
sampleItem
,
Account
account
);
List
<
DrugItem
>
listBySampleIds
(
Long
[]
ids
);
List
<
DrugItem
>
listBySampleIds
(
Collection
<
Long
>
ids
);
}
}
src/main/java/com/patzn/lims/drug/service/IDrugSampleOperationService.java
View file @
a6c3daee
...
@@ -32,6 +32,8 @@ public interface IDrugSampleOperationService extends IBaseService<DrugSampleOper
...
@@ -32,6 +32,8 @@ public interface IDrugSampleOperationService extends IBaseService<DrugSampleOper
boolean
updateReceiveToFlow
(
Account
account
,
Long
[]
ids
);
boolean
updateReceiveToFlow
(
Account
account
,
Long
[]
ids
);
boolean
updateReceiveToFlow
(
Account
account
,
Collection
<
Long
>
ids
);
boolean
updateSampleToReport
(
List
<
Long
>
sampleIdEnd
,
Account
account
);
boolean
updateSampleToReport
(
List
<
Long
>
sampleIdEnd
,
Account
account
);
boolean
updateReportMakeInfo
(
Long
[]
ids
,
Account
account
);
boolean
updateReportMakeInfo
(
Long
[]
ids
,
Account
account
);
...
@@ -39,4 +41,6 @@ public interface IDrugSampleOperationService extends IBaseService<DrugSampleOper
...
@@ -39,4 +41,6 @@ public interface IDrugSampleOperationService extends IBaseService<DrugSampleOper
boolean
updateCheckReportInfo
(
Long
[]
ids
,
Account
account
);
boolean
updateCheckReportInfo
(
Long
[]
ids
,
Account
account
);
boolean
updateIssueReportInfo
(
Long
[]
ids
,
Account
account
);
boolean
updateIssueReportInfo
(
Long
[]
ids
,
Account
account
);
DrugSampleOperation
getBySampleId
(
Long
id
);
}
}
src/main/java/com/patzn/lims/drug/service/IDrugSampleService.java
View file @
a6c3daee
...
@@ -11,6 +11,7 @@ import com.patzn.lims.drug.vo.DrugSampleOosVO;
...
@@ -11,6 +11,7 @@ import com.patzn.lims.drug.vo.DrugSampleOosVO;
import
com.patzn.lims.drug.vo.DrugSampleVO
;
import
com.patzn.lims.drug.vo.DrugSampleVO
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -41,6 +42,8 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
...
@@ -41,6 +42,8 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
boolean
submitReceive
(
Long
[]
ids
,
Account
account
);
boolean
submitReceive
(
Long
[]
ids
,
Account
account
);
boolean
submitReceive
(
Collection
<
Long
>
ids
,
Account
account
);
boolean
submitReceiveToFlow
(
Long
[]
ids
,
Account
account
);
boolean
submitReceiveToFlow
(
Long
[]
ids
,
Account
account
);
...
@@ -52,6 +55,9 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
...
@@ -52,6 +55,9 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
Page
<
DrugSampleVO
>
pageVOReport
(
Page
page
,
DrugSampleVO
vo
);
Page
<
DrugSampleVO
>
pageVOReport
(
Page
page
,
DrugSampleVO
vo
);
Page
<
DrugSampleVO
>
pageSampleDataQuery
(
Page
page
,
DrugSampleVO
vo
);
boolean
submitReportMake
(
Long
[]
ids
,
Account
account
);
boolean
submitReportMake
(
Long
[]
ids
,
Account
account
);
List
<
DrugSample
>
getListByIds
(
Long
[]
ids
);
List
<
DrugSample
>
getListByIds
(
Long
[]
ids
);
...
@@ -104,4 +110,5 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
...
@@ -104,4 +110,5 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
boolean
submitFlow
(
DrugSampleFlowDTO
flowDTO
,
Account
account
);
boolean
submitFlow
(
DrugSampleFlowDTO
flowDTO
,
Account
account
);
void
exportSampleTestData
(
HttpServletResponse
response
,
DrugSampleVO
sampleVO
);
}
}
src/main/java/com/patzn/lims/drug/service/ITestValueExtendService.java
View file @
a6c3daee
...
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.patzn.lims.core.web.IBaseService
;
import
com.patzn.lims.core.web.IBaseService
;
import
com.patzn.lims.drug.entity.TestValueExtend
;
import
com.patzn.lims.drug.entity.TestValueExtend
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 检测值扩展表 服务类
* 检测值扩展表 服务类
...
@@ -15,4 +17,6 @@ import com.patzn.lims.drug.entity.TestValueExtend;
...
@@ -15,4 +17,6 @@ import com.patzn.lims.drug.entity.TestValueExtend;
public
interface
ITestValueExtendService
extends
IBaseService
<
TestValueExtend
>
{
public
interface
ITestValueExtendService
extends
IBaseService
<
TestValueExtend
>
{
Page
<
TestValueExtend
>
page
(
Page
<
TestValueExtend
>
page
,
TestValueExtend
testValueExtend
);
Page
<
TestValueExtend
>
page
(
Page
<
TestValueExtend
>
page
,
TestValueExtend
testValueExtend
);
List
<
TestValueExtend
>
listBySampleIds
(
Long
id
);
}
}
src/main/java/com/patzn/lims/drug/service/impl/DrugItemOperationServiceImpl.java
View file @
a6c3daee
package
com
.
patzn
.
lims
.
drug
.
service
.
impl
;
package
com
.
patzn
.
lims
.
drug
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.patzn.lims.core.web.Account
;
import
com.patzn.lims.core.web.Account
;
import
com.patzn.lims.drug.entity.DrugItemOperation
;
import
com.patzn.lims.drug.entity.DrugItemOperation
;
import
com.patzn.lims.drug.entity.DrugSample
;
import
com.patzn.lims.drug.entity.DrugSampleOos
;
import
com.patzn.lims.drug.entity.DrugSampleOperation
;
import
com.patzn.lims.drug.mapper.DrugItemOperationMapper
;
import
com.patzn.lims.drug.mapper.DrugItemOperationMapper
;
import
com.patzn.lims.drug.service.IDrugItemOperationService
;
import
com.patzn.lims.drug.service.IDrugItemOperationService
;
import
com.patzn.lims.core.web.BaseServiceImpl
;
import
com.patzn.lims.core.web.BaseServiceImpl
;
...
@@ -57,4 +61,6 @@ public class DrugItemOperationServiceImpl extends BaseServiceImpl<DrugItemOperat
...
@@ -57,4 +61,6 @@ public class DrugItemOperationServiceImpl extends BaseServiceImpl<DrugItemOperat
}
}
}
}
src/main/java/com/patzn/lims/drug/service/impl/DrugItemServiceImpl.java
View file @
a6c3daee
...
@@ -178,9 +178,9 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
...
@@ -178,9 +178,9 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
}
}
}
}
if
((
equipMap
==
null
||
equipMap
.
size
()==
0
&&(
extendsMap
==
null
||
extendsMap
.
size
()==
0
))){
return
voPage
;
}
for
(
DrugItemVO
itemVO:
list
)
{
for
(
DrugItemVO
itemVO:
list
)
{
Set
<
String
>
set
=
equipMap
.
get
(
itemVO
.
getId
());
Set
<
String
>
set
=
equipMap
.
get
(
itemVO
.
getId
());
if
(
null
!=
set
){
if
(
null
!=
set
){
...
@@ -392,7 +392,7 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
...
@@ -392,7 +392,7 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
@Override
@Override
public
boolean
updateByCondition
(
List
<
Long
>
ids
,
ItemStatusEnum
allocate
)
{
public
boolean
updateByCondition
(
Collection
<
Long
>
ids
,
ItemStatusEnum
allocate
)
{
if
(
CollectionUtils
.
isEmpty
(
ids
)){
if
(
CollectionUtils
.
isEmpty
(
ids
)){
return
false
;
return
false
;
}
}
...
@@ -880,4 +880,14 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
...
@@ -880,4 +880,14 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
statisticSampleItem
.
setTotalSample
(
drugSampleService
.
count
());
statisticSampleItem
.
setTotalSample
(
drugSampleService
.
count
());
return
statisticSampleItem
;
return
statisticSampleItem
;
}
}
@Override
public
List
<
DrugItem
>
listBySampleIds
(
Long
[]
ids
)
{
return
super
.
list
(
Wrappers
.<
DrugItem
>
query
().
in
(
"sample_id"
,
ids
));
}
@Override
public
List
<
DrugItem
>
listBySampleIds
(
Collection
<
Long
>
ids
)
{
return
super
.
list
(
Wrappers
.<
DrugItem
>
query
().
in
(
"sample_id"
,
ids
));
}
}
}
src/main/java/com/patzn/lims/drug/service/impl/DrugSampleOperationServiceImpl.java
View file @
a6c3daee
...
@@ -70,6 +70,13 @@ public class DrugSampleOperationServiceImpl extends BaseServiceImpl<DrugSampleOp
...
@@ -70,6 +70,13 @@ public class DrugSampleOperationServiceImpl extends BaseServiceImpl<DrugSampleOp
@Override
@Override
public
boolean
updateReceiveToFlow
(
Account
account
,
Collection
<
Long
>
ids
)
{
return
super
.
update
(
new
DrugSampleOperation
().
setReceiver
(
account
.
getUserName
()).
setReceiverId
(
account
.
getUserId
())
.
setReceiveTime
(
new
Date
()),
Wrappers
.<
DrugSampleOperation
>
query
().
in
(
"sample_id"
,
ids
));
}
@Override
public
boolean
updateSampleToReport
(
List
<
Long
>
sampleIdEnd
,
Account
account
)
{
public
boolean
updateSampleToReport
(
List
<
Long
>
sampleIdEnd
,
Account
account
)
{
return
super
.
update
(
new
DrugSampleOperation
().
setTestEndTime
(
new
Date
()),
Wrappers
.<
DrugSampleOperation
>
query
().
in
(
"sample_id"
,
sampleIdEnd
));
return
super
.
update
(
new
DrugSampleOperation
().
setTestEndTime
(
new
Date
()),
Wrappers
.<
DrugSampleOperation
>
query
().
in
(
"sample_id"
,
sampleIdEnd
));
}
}
...
@@ -96,4 +103,9 @@ public class DrugSampleOperationServiceImpl extends BaseServiceImpl<DrugSampleOp
...
@@ -96,4 +103,9 @@ public class DrugSampleOperationServiceImpl extends BaseServiceImpl<DrugSampleOp
Wrappers
.<
DrugSampleOperation
>
query
().
in
(
"sample_id"
,
ids
));
Wrappers
.<
DrugSampleOperation
>
query
().
in
(
"sample_id"
,
ids
));
}
}
@Override
public
DrugSampleOperation
getBySampleId
(
Long
id
)
{
return
super
.
getOne
(
Wrappers
.<
DrugSampleOperation
>
query
().
eq
(
"sample_id"
,
id
).
last
(
"LIMIT 1"
));
}
}
}
src/main/java/com/patzn/lims/drug/service/impl/DrugSampleServiceImpl.java
View file @
a6c3daee
This diff is collapsed.
Click to expand it.
src/main/java/com/patzn/lims/drug/service/impl/TestValueExtendServiceImpl.java
View file @
a6c3daee
...
@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...
@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 检测值扩展表 服务实现类
* 检测值扩展表 服务实现类
...
@@ -26,4 +28,9 @@ public class TestValueExtendServiceImpl extends BaseServiceImpl<TestValueExtendM
...
@@ -26,4 +28,9 @@ public class TestValueExtendServiceImpl extends BaseServiceImpl<TestValueExtendM
wrapper
.
orderByAsc
(
"ctime"
);
wrapper
.
orderByAsc
(
"ctime"
);
return
this
.
page
(
page
,
wrapper
);
return
this
.
page
(
page
,
wrapper
);
}
}
@Override
public
List
<
TestValueExtend
>
listBySampleIds
(
Long
id
)
{
return
list
(
Wrappers
.<
TestValueExtend
>
query
().
eq
(
"item_id"
,
id
).
orderByAsc
(
"ctime"
));
}
}
}
src/main/java/com/patzn/lims/drug/vo/DrugSampleVO.java
View file @
a6c3daee
...
@@ -118,4 +118,8 @@ public class DrugSampleVO extends DrugSample {
...
@@ -118,4 +118,8 @@ public class DrugSampleVO extends DrugSample {
@ApiModelProperty
(
value
=
"流转单位"
)
@ApiModelProperty
(
value
=
"流转单位"
)
private
String
unit
;
private
String
unit
;
@ApiModelProperty
(
"ids字符串"
)
private
String
idsStr
;
}
}
src/main/java/com/patzn/lims/res/service/IExportService.java
View file @
a6c3daee
package
com
.
patzn
.
lims
.
res
.
service
;
package
com
.
patzn
.
lims
.
res
.
service
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.apache.poi.xwpf.usermodel.XWPFDocument
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.util.Map
;
public
interface
IExportService
{
public
interface
IExportService
{
String
storageWord
(
XWPFDocument
doc
,
String
filePath
);
Map
<
String
,
Object
>
wordToMap
(
String
docFilePath
);
String
filePath
(
String
fileName
);
String
filePath
(
String
fileName
);
String
fileFolderPath
(
String
folder
,
String
fileName
);
String
fileFolderPath
(
String
folder
,
String
fileName
);
InputStream
fileWordInputStreamFolderPath
(
String
folder
,
String
fileName
);
/**
/**
* <p>
* <p>
* 下载 DOCX 文件
* 下载 DOCX 文件
...
@@ -26,4 +32,28 @@ public interface IExportService {
...
@@ -26,4 +32,28 @@ public interface IExportService {
* @param fileName 文件名
* @param fileName 文件名
* @param doc DOCX 文档对象
* @param doc DOCX 文档对象
*/
*/
void
downloadDoc
(
HttpServletResponse
response
,
String
fileName
,
XWPFDocument
doc
);
void
downloadXls
(
HttpServletResponse
response
,
String
fileName
,
HSSFWorkbook
workbook
);
void
downloadXlsx
(
HttpServletResponse
response
,
String
fileName
,
XSSFWorkbook
workbook
);
void
downloadXlsxs
(
HttpServletResponse
response
,
String
fileName
,
SXSSFWorkbook
workbook
);
XWPFDocument
getXWPFDoc
(
String
folder
,
String
modelName
);
XWPFDocument
getXWPFDoc
(
InputStream
io
);
XSSFWorkbook
getXSSFWorkbook
(
String
modelName
);
SXSSFWorkbook
getSXSSFWorkbook
(
String
modelName
);
XSSFWorkbook
getXSSFWorkbook
(
InputStream
io
);
HSSFWorkbook
getHSSFWorkbook
(
String
modelName
);
}
}
src/main/java/com/patzn/lims/res/service/impl/ExportServiceImpl.java
View file @
a6c3daee
package
com
.
patzn
.
lims
.
res
.
service
.
impl
;
package
com
.
patzn
.
lims
.
res
.
service
.
impl
;
import
com.patzn.lims.core.api.PtAssert
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.lims.res.service.IExportService
;
import
com.patzn.lims.res.service.IExportService
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.apache.poi.xwpf.usermodel.XWPFDocument
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.io.InputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.*
;
import
java.net.URL
;
import
java.net.URL
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
/**
* <p>
* <p>
...
@@ -23,36 +31,216 @@ public class ExportServiceImpl implements IExportService {
...
@@ -23,36 +31,216 @@ public class ExportServiceImpl implements IExportService {
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ExportServiceImpl
.
class
);
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ExportServiceImpl
.
class
);
@Override
public
String
storageWord
(
XWPFDocument
doc
,
String
filePath
)
{
try
(
ByteArrayOutputStream
bos
=
new
ByteArrayOutputStream
();
FileOutputStream
out
=
new
FileOutputStream
(
filePath
,
true
)
)
{
doc
.
write
(
bos
);
out
.
write
(
bos
.
toByteArray
());
}
catch
(
Exception
e
)
{
logger
.
error
(
"保存 word 异常"
,
e
);
return
null
;
}
return
filePath
;
}
@Override
public
Map
<
String
,
Object
>
wordToMap
(
String
docFilePath
)
{
String
filePath
=
String
.
format
(
"templates/word/model/%s"
,
docFilePath
);
// 兼容打包 JAR 压缩情况处理
logger
.
debug
(
"doc 文件路径 {}"
,
docFilePath
);
XWPFDocument
doc
=
null
;
try
(
InputStream
in
=
this
.
getClass
().
getClassLoader
().
getResourceAsStream
(
filePath
))
{
doc
=
new
XWPFDocument
(
in
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"word 转 map 异常"
,
e
);
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
2
);
if
(
null
!=
doc
&&
null
!=
doc
.
getTables
())
{
map
.
put
(
"table"
,
doc
.
getTables
().
iterator
());
}
map
.
put
(
"doc"
,
doc
);
return
map
;
}
@Override
@Override
public
String
filePath
(
String
fileName
)
{
public
String
filePath
(
String
fileName
)
{
URL
url
=
this
.
getClass
().
getClassLoader
().
getResource
(
"templates/word/model/"
+
fileName
);
URL
url
=
this
.
getClass
().
getClassLoader
().
getResource
(
"templates/word/model/"
+
fileName
);
P
tAssert
.
fail
(
null
==
url
,
fileName
+
"不存在"
);
Res
tAssert
.
fail
(
null
==
url
,
fileName
+
"不存在"
);
return
url
.
getPath
();
return
url
.
getPath
();
}
}
@Override
@Override
public
String
fileFolderPath
(
String
folder
,
String
fileName
)
{
public
String
fileFolderPath
(
String
folder
,
String
fileName
)
{
URL
url
=
this
.
getClass
().
getClassLoader
().
getResource
(
"templates/word/"
+
folder
+
"/"
+
fileName
);
URL
url
=
this
.
getClass
().
getClassLoader
().
getResource
(
"templates/word/"
+
folder
+
"/"
+
fileName
);
PtAssert
.
fail
(
null
==
url
,
fileName
+
"不存在"
);
RestAssert
.
fail
(
null
==
url
,
fileName
+
"不存在"
);
return
url
.
getPath
();
}
public
String
fileFolderPath
(
String
fileName
)
{
URL
url
=
this
.
getClass
().
getClassLoader
().
getResource
(
"templates/excel/"
+
fileName
);
RestAssert
.
fail
(
null
==
url
,
fileName
+
"不存在"
);
return
url
.
getPath
();
return
url
.
getPath
();
}
}
public
InputStream
fileInputStreamPath
(
String
fileName
)
{
InputStream
url
=
this
.
getClass
().
getClassLoader
().
getResourceAsStream
(
"templates/excel/"
+
fileName
);
return
url
;
}
@Override
@Override
public
InputStream
fileWordInputStreamFolderPath
(
String
folder
,
String
fileName
)
{
public
void
downloadDoc
(
HttpServletResponse
response
,
String
fileName
,
XWPFDocument
doc
)
{
InputStream
io
=
this
.
getClass
().
getClassLoader
().
getResourceAsStream
(
"templates/word/"
+
folder
+
"/"
+
fileName
);
response
.
reset
();
PtAssert
.
fail
(
null
==
io
,
fileName
+
"不存在"
);
response
.
setCharacterEncoding
(
"UTF-8"
);
return
io
;
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
);
response
.
addHeader
(
"Content-Disposition"
,
String
.
format
(
"attachment; filename=%s;charset=UTF-8"
,
fileName
));
try
(
ByteArrayOutputStream
bos
=
new
ByteArrayOutputStream
();
OutputStream
os
=
response
.
getOutputStream
()
)
{
doc
.
write
(
bos
);
os
.
write
(
bos
.
toByteArray
());
os
.
flush
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"word 转 map 异常"
,
e
);
}
}
}
@Override
public
void
downloadXls
(
HttpServletResponse
response
,
String
fileName
,
HSSFWorkbook
workbook
)
{
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
);
response
.
addHeader
(
"Content-Disposition"
,
String
.
format
(
"attachment; filename=%s;charset=UTF-8"
,
fileName
));
try
(
ByteArrayOutputStream
bos
=
new
ByteArrayOutputStream
();
OutputStream
os
=
response
.
getOutputStream
()
)
{
workbook
.
write
(
bos
);
os
.
write
(
bos
.
toByteArray
());
os
.
flush
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"excel 转 map 异常"
,
e
);
}
}
public
InputStream
fileFolderPath
(
String
fileName
)
{
@Override
return
getClass
().
getClassLoader
().
getResourceAsStream
(
"templates/excel/"
+
fileName
);
public
void
downloadXlsx
(
HttpServletResponse
response
,
String
fileName
,
XSSFWorkbook
workbook
)
{
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
);
response
.
addHeader
(
"Content-Disposition"
,
String
.
format
(
"attachment; filename=%s;charset=UTF-8"
,
fileName
));
try
(
ByteArrayOutputStream
bos
=
new
ByteArrayOutputStream
();
OutputStream
os
=
response
.
getOutputStream
()
)
{
workbook
.
write
(
bos
);
os
.
write
(
bos
.
toByteArray
());
os
.
flush
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"excel 转 map 异常"
,
e
);
}
}
}
@Override
public
void
downloadXlsxs
(
HttpServletResponse
response
,
String
fileName
,
SXSSFWorkbook
workbook
)
{
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
);
response
.
addHeader
(
"Content-Disposition"
,
String
.
format
(
"attachment; filename=%s;charset=UTF-8"
,
fileName
));
try
(
ByteArrayOutputStream
bos
=
new
ByteArrayOutputStream
();
OutputStream
os
=
response
.
getOutputStream
()
)
{
workbook
.
write
(
bos
);
os
.
write
(
bos
.
toByteArray
());
os
.
flush
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"excel 转 map 异常"
,
e
);
}
}
@Override
public
XWPFDocument
getXWPFDoc
(
String
folder
,
String
modelName
)
{
FileInputStream
in
;
XWPFDocument
doc
=
null
;
try
{
in
=
new
FileInputStream
(
new
File
(
fileFolderPath
(
folder
,
modelName
)));
doc
=
new
XWPFDocument
(
in
);
}
catch
(
Exception
e1
)
{
e1
.
printStackTrace
();
}
return
doc
;
}
@Override
public
XWPFDocument
getXWPFDoc
(
InputStream
io
)
{
XWPFDocument
doc
=
null
;
try
{
doc
=
new
XWPFDocument
(
io
);
}
catch
(
Exception
e1
)
{
e1
.
printStackTrace
();
}
return
doc
;
}
@Override
public
XSSFWorkbook
getXSSFWorkbook
(
String
modelName
){
InputStream
is
;
XSSFWorkbook
xssfWorkbook
=
null
;
try
{
is
=
fileInputStreamPath
(
modelName
);
xssfWorkbook
=
new
XSSFWorkbook
(
is
);
}
catch
(
Exception
e1
)
{
e1
.
printStackTrace
();
}
return
xssfWorkbook
;
}
@Override
public
SXSSFWorkbook
getSXSSFWorkbook
(
String
modelName
){
InputStream
is
;
SXSSFWorkbook
xssfWorkbook
=
null
;
try
{
is
=
fileInputStreamPath
(
modelName
);
xssfWorkbook
=
new
SXSSFWorkbook
(
new
XSSFWorkbook
(
is
));
xssfWorkbook
.
setCompressTempFiles
(
true
);
//压缩临时文件,很重要,否则磁盘很快就会被写满
}
catch
(
Exception
e1
)
{
e1
.
printStackTrace
();
}
return
xssfWorkbook
;
}
@Override
public
XSSFWorkbook
getXSSFWorkbook
(
InputStream
io
)
{
XSSFWorkbook
xssfWorkbook
=
null
;
try
{
xssfWorkbook
=
new
XSSFWorkbook
(
io
);
}
catch
(
Exception
e1
)
{
e1
.
printStackTrace
();
}
return
xssfWorkbook
;
}
@Override
public
HSSFWorkbook
getHSSFWorkbook
(
String
modelName
){
FileInputStream
is
;
HSSFWorkbook
xssfWorkbook
=
null
;
try
{
is
=
new
FileInputStream
(
new
File
(
fileFolderPath
(
modelName
)));
xssfWorkbook
=
new
HSSFWorkbook
(
is
);
}
catch
(
Exception
e1
)
{
e1
.
printStackTrace
();
}
return
xssfWorkbook
;
}
}
}
\ No newline at end of file
src/main/resources/mapper/drug/DrugItemMapper.xml
View file @
a6c3daee
...
@@ -48,10 +48,34 @@
...
@@ -48,10 +48,34 @@
</select>
</select>
<sql
id=
"iColumn"
>
i.ID,
i.NAME,
i.group_name,
i.group_id,
i.sample_id,
i.compare_symbol,
i.limit_value,
i.unit,
i.judged,
i.test_value,
i.status,
i.progress,
i.single_judge,
i.code,
i.standard_name,
i.type,
i.sample_quantity,
i.fail_quantity,
i.deviation ,
i.order_by
</sql>
<select
id=
"selectVOList"
resultType=
"com.patzn.lims.drug.vo.DrugItemVO"
>
<select
id=
"selectVOList"
resultType=
"com.patzn.lims.drug.vo.DrugItemVO"
>
WITH item AS (
WITH item AS (
SELECT
i.*
FROM drug_item i WHERE i.deleted = 0
SELECT
<include
refid=
"iColumn"
/>
FROM drug_item i WHERE i.deleted = 0
<if
test=
"vo.status!=null"
>
<if
test=
"vo.status!=null"
>
AND i.status = #{vo.status}
AND i.status = #{vo.status}
</if>
</if>
...
...
src/main/resources/templates/excel/TestDataExport.xlsx
0 → 100644
View file @
a6c3daee
File added
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