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
c8a6e240
Commit
c8a6e240
authored
Jan 12, 2021
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
土工平台修改
parent
5c8aa666
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
669 additions
and
5 deletions
+669
-5
HSSFWorkbookUtil.java
...com/patzn/cloud/service/lims/common/HSSFWorkbookUtil.java
+62
-0
SoilEntrustController.java
...d/service/lims/soil/controller/SoilEntrustController.java
+69
-4
SoilReportController.java
...ud/service/lims/soil/controller/SoilReportController.java
+71
-0
SoilStatisticsController.java
...ervice/lims/soil/controller/SoilStatisticsController.java
+7
-0
SoilEntrustMapper.java
...tzn/cloud/service/lims/soil/mapper/SoilEntrustMapper.java
+8
-0
ISoilEntrustService.java
.../cloud/service/lims/soil/service/ISoilEntrustService.java
+7
-0
ISoilReportService.java
...n/cloud/service/lims/soil/service/ISoilReportService.java
+6
-0
SoilEntrustServiceImpl.java
...ervice/lims/soil/service/impl/SoilEntrustServiceImpl.java
+64
-0
SoilExpReportServiceImpl.java
...vice/lims/soil/service/impl/SoilExpReportServiceImpl.java
+1
-1
SoilExperimentServiceImpl.java
...ice/lims/soil/service/impl/SoilExperimentServiceImpl.java
+15
-0
SoilReportServiceImpl.java
...service/lims/soil/service/impl/SoilReportServiceImpl.java
+187
-0
DataSummaryEntity.java
...m/patzn/cloud/service/lims/summary/DataSummaryEntity.java
+22
-0
KeyValueEntity.java
.../com/patzn/cloud/service/lims/summary/KeyValueEntity.java
+22
-0
SoilEntrustSummaryDTO.java
...tzn/cloud/service/lims/summary/SoilEntrustSummaryDTO.java
+60
-0
SoilEntrustMapper.xml
src/main/resources/mapper/soil/SoilEntrustMapper.xml
+59
-0
新增字段.sql
src/test/java/resources/db_sql/v1.1.5/新增字段.sql
+9
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/common/HSSFWorkbookUtil.java
View file @
c8a6e240
...
...
@@ -373,6 +373,68 @@ public class HSSFWorkbookUtil {
}
public
static
XSSFWorkbook
insertImageByIO
(
XSSFWorkbook
wb
,
Map
<
String
,
InputStream
>
imageFileMap
,
boolean
resize
,
int
index
)
throws
FileNotFoundException
,
IOException
{
XSSFSheet
sheet
=
wb
.
getSheetAt
(
index
);
//数据行数
int
n
=
sheet
.
getLastRowNum
();
Map
<
String
,
Integer
>
nameIndex
=
addPicture2WorkbookByIO
(
wb
,
imageFileMap
);
CreationHelper
helper
=
wb
.
getCreationHelper
();
Drawing
drawing
=
sheet
.
createDrawingPatriarch
();
ClientAnchor
anchor
=
helper
.
createClientAnchor
();
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
=
HSSFWorkbookUtil
.
getJavaValue
(
cell
).
toString
();
System
.
out
.
println
(
qrcodeName
);
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
));
// 计算单元格的长宽
cell
.
setCellValue
(
""
);
if
(
resize
){
// 指定我想要的长宽
double
standardWidth
=
600
;
double
standardHeight
=
830
;
double
w
=
sheet
.
getColumnWidth
(
cell
.
getColumnIndex
());
double
h
=
cell
.
getRow
().
getHeight
();
double
cellWidth
=
sheet
.
getColumnWidthInPixels
(
cell
.
getColumnIndex
());
double
cellHeight
=
cell
.
getRow
().
getHeightInPoints
()/
72
*
96
;
// 计算需要的长宽比例的系数
double
a
=
standardWidth
/
cellWidth
;
double
b
=
standardHeight
/
cellHeight
;
pict
.
resize
(
a
,
b
);
}
else
{
pict
.
resize
();
}
}
}
}
}
}
return
wb
;
}
private
static
Map
<
String
,
Integer
>
addPicture2Workbook
(
XSSFWorkbook
wb
,
Map
<
String
,
File
>
qr
)
throws
FileNotFoundException
,
IOException
{
Map
<
String
,
Integer
>
indx
=
Maps
.
newHashMap
();
...
...
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilEntrustController.java
View file @
c8a6e240
...
...
@@ -2,12 +2,10 @@ package com.patzn.cloud.service.lims.soil.controller;
import
java.util.List
;
import
com.google.common.collect.Lists
;
import
com.patzn.cloud.service.lims.soil.service.ISoilEntrustService
;
import
com.patzn.cloud.service.lims.summary.SoilEntrustSummaryDTO
;
import
com.patzn.cloud.service.soil.dto.SoilEntrustDTO
;
import
com.patzn.cloud.service.soil.entity.SoilEntrust
;
import
com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum
;
import
com.patzn.cloud.service.soil.enums.SoilExpReportStatusEnum
;
import
com.patzn.cloud.service.soil.enums.SoilExpStatusEnum
;
import
com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum
;
import
com.patzn.cloud.service.soil.enums.*
;
import
com.patzn.cloud.service.soil.vo.SoilEntrustVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -89,6 +87,21 @@ public class SoilEntrustController 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_report_make_by_exp_report"
)
public
RestResult
<
Page
<
SoilEntrustVO
>>
getPageReportMakeByExpReport
(
SoilEntrustVO
soilEntrust
)
{
soilEntrust
.
setExpReportStatus
(
SoilExpReportStatusEnum
.
END
);
return
success
(
soilEntrustService
.
pageReportMakeByExpReport
(
getPage
(),
soilEntrust
));
}
@ApiOperation
(
value
=
"报告编制历史分页列表"
,
notes
=
"报告编制历史分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"int"
),
...
...
@@ -123,6 +136,50 @@ public class SoilEntrustController 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_report_check_by_summary_report"
)
public
RestResult
<
Page
<
SoilEntrustVO
>>
getPageReportCheckBySummaryReport
(
SoilEntrustVO
soilEntrust
)
{
soilEntrust
.
setReportStatusEnum
(
SoilReportStatusEnum
.
CHECK
);
return
success
(
soilEntrustService
.
pageReportBySummaryReport
(
getPage
(),
soilEntrust
));
}
@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_report_issue_by_summary_report"
)
public
RestResult
<
Page
<
SoilEntrustVO
>>
getPageReportIssueBySummaryReport
(
SoilEntrustVO
soilEntrust
)
{
soilEntrust
.
setReportStatusEnum
(
SoilReportStatusEnum
.
ISSUE
);
return
success
(
soilEntrustService
.
pageReportBySummaryReport
(
getPage
(),
soilEntrust
));
}
@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_report_end_by_summary_report"
)
public
RestResult
<
Page
<
SoilEntrustVO
>>
getPageReportEndBySummaryReport
(
SoilEntrustVO
soilEntrust
)
{
soilEntrust
.
setReportStatusEnum
(
SoilReportStatusEnum
.
END
);
return
success
(
soilEntrustService
.
pageReportBySummaryReport
(
getPage
(),
soilEntrust
));
}
@ApiOperation
(
value
=
"报告审核历史分页列表"
,
notes
=
"报告审核历史分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"int"
),
...
...
@@ -713,4 +770,12 @@ public class SoilEntrustController extends ServiceController {
return
success
(
soilEntrustService
.
pageExpReport
(
getPage
(),
soilEntrust
,(
Integer
)
SoilExpReportStatusEnum
.
END
.
getValue
(),
getAccount
()));
}
@ApiOperation
(
value
=
"查询列表"
,
notes
=
"查询数据列表"
)
@PostMapping
(
"/list_summary_query"
)
public
RestResult
<
List
<
SoilEntrustSummaryDTO
>>
listSummaryQuery
(
SoilEntrustVO
soilEntrust
)
{
return
success
(
soilEntrustService
.
listSummaryQuery
(
soilEntrust
));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilReportController.java
View file @
c8a6e240
...
...
@@ -4,6 +4,7 @@ import java.util.List;
import
com.patzn.cloud.service.soil.dto.SoilReportDTO
;
import
com.patzn.cloud.service.soil.entity.SoilReport
;
import
com.patzn.cloud.service.soil.enums.SoilReportStatusEnum
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -46,10 +47,57 @@ public class SoilReportController extends ServiceController {
})
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
SoilReport
>>
getPage
(
SoilReport
soilReport
)
{
soilReport
.
setStatus
(
SoilReportStatusEnum
.
DRAFT
);
return
success
(
soilReportService
.
page
(
getPage
(),
soilReport
));
}
@ApiOperation
(
value
=
"汇总报告待审核分页列表"
,
notes
=
"分页查询数据列表"
)
@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_summary_check"
)
public
RestResult
<
Page
<
SoilReport
>>
getPageSummaryCheck
(
SoilReport
soilReport
)
{
soilReport
.
setStatus
(
SoilReportStatusEnum
.
CHECK
);
return
success
(
soilReportService
.
page
(
getPage
(),
soilReport
));
}
@ApiOperation
(
value
=
"汇总报告待签发分页列表"
,
notes
=
"汇总报告待签发分页列表"
)
@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_summary_issue"
)
public
RestResult
<
Page
<
SoilReport
>>
getPageSummaryIssue
(
SoilReport
soilReport
)
{
soilReport
.
setStatus
(
SoilReportStatusEnum
.
ISSUE
);
return
success
(
soilReportService
.
page
(
getPage
(),
soilReport
));
}
@ApiOperation
(
value
=
"汇总报告已批准分页列表"
,
notes
=
"汇总报告已批准分页列表"
)
@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_summary_report_end"
)
public
RestResult
<
Page
<
SoilReport
>>
getPageSummaryEnd
(
SoilReport
soilReport
)
{
soilReport
.
setStatus
(
SoilReportStatusEnum
.
END
);
return
success
(
soilReportService
.
page
(
getPage
(),
soilReport
));
}
@ApiOperation
(
value
=
"查询列表"
,
notes
=
"查询数据列表"
)
@PostMapping
(
"/list"
)
public
RestResult
<
List
<
SoilReport
>>
getList
(
SoilReport
soilReport
)
{
...
...
@@ -121,4 +169,27 @@ public class SoilReportController extends ServiceController {
}
@ApiOperation
(
value
=
"汇总报告提交至审核"
,
notes
=
"汇总报告提交至审核"
)
@PostMapping
(
"/summary_report_submit"
)
public
RestResult
<
Boolean
>
summaryReportSubmit
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
soilReportService
.
summaryReportSubmit
(
ids
,
getAccount
()));
}
@ApiOperation
(
value
=
"汇总报告审核提交"
,
notes
=
"汇总报告审核提交"
)
@PostMapping
(
"/summary_report_check_submit"
)
public
RestResult
<
Boolean
>
summaryReportCheckSubmit
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
soilReportService
.
summaryReportCheckSubmit
(
ids
,
getAccount
()));
}
@ApiOperation
(
value
=
"汇总报告签发提交"
,
notes
=
"汇总报告签发提交"
)
@PostMapping
(
"/summary_report_issue_submit"
)
public
RestResult
<
Boolean
>
summaryReportIssueSubmit
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
soilReportService
.
summaryReportIssueSubmit
(
ids
,
getAccount
()));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilStatisticsController.java
View file @
c8a6e240
...
...
@@ -160,4 +160,11 @@ public class SoilStatisticsController extends ServiceController {
}
src/main/java/com/patzn/cloud/service/lims/soil/mapper/SoilEntrustMapper.java
View file @
c8a6e240
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
mapper
;
import
com.baomidou.mybatisplus.annotations.SqlParser
;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.controller.Account
;
...
...
@@ -50,4 +51,11 @@ public interface SoilEntrustMapper extends BaseMapper<SoilEntrust> {
List
<
SoilEntrustVO
>
selectGroupExpReportList
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilEntrustVO
soilEntrust
,
@Param
(
"status"
)
int
status
,
@Param
(
"groupList"
)
List
<
Long
>
groupList
);
List
<
SoilPersonalTaskVO
>
selectPersonalTaskStatistics
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilPersonalTaskVO
expVO
);
List
<
SoilEntrustVO
>
selectReportMakeByExpReportList
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilEntrustVO
soilEntrust
);
List
<
SoilEntrustVO
>
selectReportBySummaryReportList
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilEntrustVO
soilEntrust
);
@SqlParser
(
filter
=
true
)
List
<
SoilEntrustVO
>
selectListForSummaryQuery
(
@Param
(
"vo"
)
SoilEntrustVO
soilEntrust
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilEntrustService.java
View file @
c8a6e240
...
...
@@ -5,6 +5,7 @@ import java.util.List;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.lims.summary.SoilEntrustSummaryDTO
;
import
com.patzn.cloud.service.soil.dto.SoilEntrustDTO
;
import
com.patzn.cloud.service.soil.entity.SoilEntrust
;
import
com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum
;
...
...
@@ -95,4 +96,10 @@ public interface ISoilEntrustService extends IBaseService<SoilEntrust> {
Page
<
SoilPersonalTaskVO
>
pagePersonalTaskStatistics
(
Page
<
SoilPersonalTaskVO
>
page
,
SoilPersonalTaskVO
expVO
);
Page
<
SoilEntrustVO
>
pageReportMakeByExpReport
(
Page
<
SoilEntrustVO
>
page
,
SoilEntrustVO
soilEntrust
);
Page
<
SoilEntrustVO
>
pageReportBySummaryReport
(
Page
<
SoilEntrustVO
>
page
,
SoilEntrustVO
soilEntrust
);
List
<
SoilEntrustSummaryDTO
>
listSummaryQuery
(
SoilEntrustVO
soilEntrust
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilReportService.java
View file @
c8a6e240
...
...
@@ -32,4 +32,10 @@ public interface ISoilReportService extends IBaseService<SoilReport> {
SoilReport
getReport
(
Long
id
);
boolean
uploadReport
(
MultipartFile
file
,
Long
id
,
String
reason
,
Account
account
);
boolean
summaryReportSubmit
(
Long
[]
ids
,
Account
account
);
boolean
summaryReportCheckSubmit
(
Long
[]
ids
,
Account
account
);
boolean
summaryReportIssueSubmit
(
Long
[]
ids
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilEntrustServiceImpl.java
View file @
c8a6e240
...
...
@@ -22,6 +22,8 @@ import com.patzn.cloud.service.lims.common.StringStaticDataUtils;
import
com.patzn.cloud.service.lims.common.service.IExportService
;
import
com.patzn.cloud.service.lims.common.service.ILmsMsgService
;
import
com.patzn.cloud.service.lims.soil.service.*
;
import
com.patzn.cloud.service.lims.summary.KeyValueEntity
;
import
com.patzn.cloud.service.lims.summary.SoilEntrustSummaryDTO
;
import
com.patzn.cloud.service.soil.dto.SoilEntrustDTO
;
import
com.patzn.cloud.service.soil.dto.SoilSampleDTO
;
import
com.patzn.cloud.service.soil.entity.*
;
...
...
@@ -1151,6 +1153,68 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
return
page
.
setRecords
(
taskVOSList
);
}
@Override
public
Page
<
SoilEntrustVO
>
pageReportMakeByExpReport
(
Page
<
SoilEntrustVO
>
page
,
SoilEntrustVO
soilEntrust
)
{
return
page
.
setRecords
(
baseMapper
.
selectReportMakeByExpReportList
(
page
,
soilEntrust
));
}
@Override
public
Page
<
SoilEntrustVO
>
pageReportBySummaryReport
(
Page
<
SoilEntrustVO
>
page
,
SoilEntrustVO
soilEntrust
)
{
return
page
.
setRecords
(
baseMapper
.
selectReportBySummaryReportList
(
page
,
soilEntrust
));
}
@Override
public
List
<
SoilEntrustSummaryDTO
>
listSummaryQuery
(
SoilEntrustVO
soilEntrust
)
{
List
<
SoilEntrustVO
>
voList
=
baseMapper
.
selectListForSummaryQuery
(
soilEntrust
);
List
<
SoilEntrustSummaryDTO
>
dtoList
=
new
ArrayList
<>();
for
(
SoilEntrustVO
entrustVO:
voList
)
{
SoilEntrustSummaryDTO
dto
=
new
SoilEntrustSummaryDTO
();
dto
.
setEntrustVO
(
entrustVO
);
List
<
Map
<
String
,
Object
>>
data
=
new
ArrayList
<>();
List
<
KeyValueEntity
>
entityList
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
entrustVO
.
getReSubmitter
())){
KeyValueEntity
keyValueEntity
=
new
KeyValueEntity
();
keyValueEntity
.
setKey
(
"取样"
);
keyValueEntity
.
setName
(
"receiveSample"
);
entityList
.
add
(
keyValueEntity
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"receiveSample"
,
true
);
data
.
add
(
map
);
}
else
{
break
;
}
if
(
StringUtils
.
isNotBlank
(
entrustVO
.
getReviewer
())){
KeyValueEntity
keyValueEntity
=
new
KeyValueEntity
();
keyValueEntity
.
setKey
(
"任务评审"
);
keyValueEntity
.
setName
(
"review"
);
entityList
.
add
(
keyValueEntity
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"review"
,
true
);
data
.
add
(
map
);
}
else
{
break
;
}
dto
.
setStart
(
entityList
);
dto
.
setData
(
data
);
dtoList
.
add
(
dto
);
}
return
dtoList
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExpReportServiceImpl.java
View file @
c8a6e240
...
...
@@ -472,7 +472,7 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
inputStreamMap
.
put
(
"#{imgIssuer}"
,
ossClient
.
download
(
signature
.
getObjectKey
()));
HSSFWorkbookUtil
.
insertImageByIO
(
xssfWorkbook
,
inputStreamMap
,
false
);
Map
<
String
,
String
>
dateMap
=
new
HashMap
<>();
dateMap
.
put
(
"#{IssueDate}"
,
DateUtils
.
toYearMonthDay
Time
Chinese
(
date
));
dateMap
.
put
(
"#{IssueDate}"
,
DateUtils
.
toYearMonthDayChinese
(
date
));
HSSFWorkbookUtil
.
replaceModel
(
dateMap
,
xssfWorkbook
,
0
);
FileOutputStream
os
=
null
;
File
file
=
null
;
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExperimentServiceImpl.java
View file @
c8a6e240
...
...
@@ -561,7 +561,19 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
sampleBgMum
=
sampleBgMum
+
3
;
}
else
{
sheetOne
.
addMergedRegion
(
new
CellRangeAddress
(
sampleBgMum
,
sampleBgMum
+
2
-
1
,
config
.
getMergeBegin
(),
config
.
getMergeEnd
()));
if
(
config
.
getColumnPlace
()==
10
){
XSSFRow
teshuRow
=
sheetOne
.
getRow
(
sampleBgMum
);
if
(
null
!=
teshuRow
){
XSSFCell
teshuCell
=
teshuRow
.
getCell
(
config
.
getColumnPlace
());
teshuCell
.
setCellFormula
(
"IF(OR(J"
+(
sampleBgMum
+
1
)+
"=\"\",J"
+(
sampleBgMum
+
2
)+
"=\"\",J"
+(
sampleBgMum
+
1
)+
"=\"/\",J"
+(
sampleBgMum
+
2
)+
"=\"/\"),\"\",(J"
+(
sampleBgMum
+
1
)+
"+J"
+((
sampleBgMum
+
2
))+
")/2)"
);
}
}
sampleBgMum
=
sampleBgMum
+
2
;
}
indexJishu
++;
...
...
@@ -596,6 +608,9 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
XSSFSheet
sheet
=
xssfWorkbook
.
cloneSheet
(
0
);
xssfWorkbook
.
setSheetName
(
index
,
vo
.
getSampleCode
());
sheet
.
setForceFormulaRecalculation
(
true
);
index
++;
}
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilReportServiceImpl.java
View file @
c8a6e240
...
...
@@ -9,19 +9,27 @@ import com.baomidou.mybatisplus.mapper.Condition;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.toolkit.DateUtils
;
import
com.patzn.cloud.commons.toolkit.FileUtils
;
import
com.patzn.cloud.feign.base.client.SysUserClient
;
import
com.patzn.cloud.feign.lims.print.client.ElnFormClient
;
import
com.patzn.cloud.oss.starter.OssClient
;
import
com.patzn.cloud.oss.starter.OssFileResult
;
import
com.patzn.cloud.service.base.entity.SysFileSignature
;
import
com.patzn.cloud.service.eln.entity.ElnForm
;
import
com.patzn.cloud.service.lims.common.HSSFWorkbookUtil
;
import
com.patzn.cloud.service.lims.common.service.IExportService
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilReportMapper
;
import
com.patzn.cloud.service.lims.soil.service.ISoilOriginalRecordService
;
import
com.patzn.cloud.service.lims.soil.service.ISoilReportService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.service.soil.dto.SoilReportDTO
;
import
com.patzn.cloud.service.soil.entity.SoilExpReport
;
import
com.patzn.cloud.service.soil.entity.SoilOriginalRecord
;
import
com.patzn.cloud.service.soil.entity.SoilReport
;
import
com.patzn.cloud.service.soil.enums.SoilExpReportStatusEnum
;
import
com.patzn.cloud.service.soil.enums.SoilReportStatusEnum
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.CellType
;
import
org.apache.poi.ss.usermodel.DateUtil
;
...
...
@@ -60,6 +68,9 @@ public class SoilReportServiceImpl extends BaseServiceImpl<SoilReportMapper, Soi
@Autowired
private
IExportService
exportService
;
@Autowired
private
SysUserClient
sysUserClient
;
@Override
public
Page
<
SoilReport
>
page
(
Page
<
SoilReport
>
page
,
SoilReport
soilReport
)
{
...
...
@@ -168,6 +179,182 @@ public class SoilReportServiceImpl extends BaseServiceImpl<SoilReportMapper, Soi
return
save
(
report
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
summaryReportSubmit
(
Long
[]
ids
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要提交的汇总报告"
);
SysFileSignature
signature
=
sysUserClient
.
signature
(
account
.
getUserId
()).
serviceData
();
if
(
null
==
signature
){
return
true
;
}
List
<
SoilReport
>
reportList
=
super
.
list
(
Condition
.
create
().
in
(
"id"
,
ids
));
try
{
List
<
File
>
deletedList
=
new
ArrayList
<>();
List
<
SoilReport
>
updateReportList
=
new
ArrayList
<>();
Date
date
=
new
Date
();
for
(
SoilReport
soilReport:
reportList
)
{
XSSFWorkbook
xssfWorkbook
=
HSSFWorkbookUtil
.
getWorkbookByIO
(
ossClient
.
download
(
soilReport
.
getObjectKey
()));
Map
<
String
,
InputStream
>
inputStreamMap
=
new
HashMap
<>();
int
sheetNum
=
xssfWorkbook
.
getNumberOfSheets
();
for
(
int
i
=
0
;
i
<
sheetNum
;
i
++)
{
inputStreamMap
.
put
(
"#{imgTabulator}"
,
ossClient
.
download
(
signature
.
getObjectKey
()));
HSSFWorkbookUtil
.
insertImageByIO
(
xssfWorkbook
,
inputStreamMap
,
false
,
i
);
}
FileOutputStream
os
=
null
;
File
file
=
null
;
String
generated
=
"汇总项目报告审核"
+
soilReport
.
getId
();
file
=
File
.
createTempFile
(
generated
,
".xlsx"
);
os
=
new
FileOutputStream
(
file
);
xssfWorkbook
.
write
(
os
);
os
.
flush
();
OssFileResult
ossFileResult
=
ossClient
.
upload
(
file
);
deletedList
.
add
(
file
);
os
.
close
();
xssfWorkbook
.
close
();
SoilReport
expReport
=
new
SoilReport
();
expReport
.
setId
(
soilReport
.
getId
());
expReport
.
setObjectKey
(
ossFileResult
.
getObjectKey
());
expReport
.
setBucketName
(
ossFileResult
.
getBucketName
());
expReport
.
setVersionId
(
ossFileResult
.
getVersionId
());
expReport
.
setStatus
(
SoilReportStatusEnum
.
CHECK
);
expReport
.
setProgress
(
SoilReportStatusEnum
.
CHECK
);
updateReportList
.
add
(
expReport
);
}
if
(
CollectionUtils
.
isNotEmpty
(
updateReportList
)){
super
.
updateBatchById
(
updateReportList
);
}
FileUtils
.
deleteFiles
(
deletedList
);
}
catch
(
Exception
e
){
logger
.
error
(
"汇总试验报告插入电子签名失败"
+
e
.
getMessage
());
}
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
summaryReportCheckSubmit
(
Long
[]
ids
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要审核提交的汇总报告"
);
SysFileSignature
signature
=
sysUserClient
.
signature
(
account
.
getUserId
()).
serviceData
();
if
(
null
==
signature
){
return
true
;
}
List
<
SoilReport
>
reportList
=
super
.
list
(
Condition
.
create
().
in
(
"id"
,
ids
));
try
{
List
<
File
>
deletedList
=
new
ArrayList
<>();
List
<
SoilReport
>
updateReportList
=
new
ArrayList
<>();
for
(
SoilReport
soilReport:
reportList
)
{
XSSFWorkbook
xssfWorkbook
=
HSSFWorkbookUtil
.
getWorkbookByIO
(
ossClient
.
download
(
soilReport
.
getObjectKey
()));
Map
<
String
,
InputStream
>
inputStreamMap
=
new
HashMap
<>();
int
sheetNum
=
xssfWorkbook
.
getNumberOfSheets
();
for
(
int
i
=
0
;
i
<
sheetNum
;
i
++)
{
inputStreamMap
.
put
(
"#{imgChecker}"
,
ossClient
.
download
(
signature
.
getObjectKey
()));
HSSFWorkbookUtil
.
insertImageByIO
(
xssfWorkbook
,
inputStreamMap
,
false
,
i
);
}
FileOutputStream
os
=
null
;
File
file
=
null
;
String
generated
=
"汇总项目报告"
+
soilReport
.
getId
();
file
=
File
.
createTempFile
(
generated
,
".xlsx"
);
os
=
new
FileOutputStream
(
file
);
xssfWorkbook
.
write
(
os
);
os
.
flush
();
OssFileResult
ossFileResult
=
ossClient
.
upload
(
file
);
deletedList
.
add
(
file
);
os
.
close
();
xssfWorkbook
.
close
();
SoilReport
expReport
=
new
SoilReport
();
expReport
.
setId
(
soilReport
.
getId
());
expReport
.
setObjectKey
(
ossFileResult
.
getObjectKey
());
expReport
.
setBucketName
(
ossFileResult
.
getBucketName
());
expReport
.
setVersionId
(
ossFileResult
.
getVersionId
());
expReport
.
setStatus
(
SoilReportStatusEnum
.
ISSUE
);
expReport
.
setProgress
(
SoilReportStatusEnum
.
ISSUE
);
updateReportList
.
add
(
expReport
);
}
if
(
CollectionUtils
.
isNotEmpty
(
updateReportList
)){
super
.
updateBatchById
(
updateReportList
);
}
}
catch
(
Exception
e
){
logger
.
error
(
"汇总试验报告审核插入电子签名失败"
+
e
.
getMessage
());
}
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
summaryReportIssueSubmit
(
Long
[]
ids
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要签发提交的汇总报告"
);
SysFileSignature
signature
=
sysUserClient
.
signature
(
account
.
getUserId
()).
serviceData
();
if
(
null
==
signature
){
return
true
;
}
List
<
SoilReport
>
reportList
=
super
.
list
(
Condition
.
create
().
in
(
"id"
,
ids
));
try
{
List
<
File
>
deletedList
=
new
ArrayList
<>();
List
<
SoilReport
>
updateReportList
=
new
ArrayList
<>();
for
(
SoilReport
soilReport:
reportList
)
{
XSSFWorkbook
xssfWorkbook
=
HSSFWorkbookUtil
.
getWorkbookByIO
(
ossClient
.
download
(
soilReport
.
getObjectKey
()));
Map
<
String
,
InputStream
>
inputStreamMap
=
new
HashMap
<>();
int
sheetNum
=
xssfWorkbook
.
getNumberOfSheets
();
for
(
int
i
=
0
;
i
<
sheetNum
;
i
++)
{
inputStreamMap
.
put
(
"#{imgIssuer}"
,
ossClient
.
download
(
signature
.
getObjectKey
()));
HSSFWorkbookUtil
.
insertImageByIO
(
xssfWorkbook
,
inputStreamMap
,
false
,
i
);
}
FileOutputStream
os
=
null
;
File
file
=
null
;
String
generated
=
"汇总项目报告"
+
soilReport
.
getId
();
file
=
File
.
createTempFile
(
generated
,
".xlsx"
);
os
=
new
FileOutputStream
(
file
);
xssfWorkbook
.
write
(
os
);
os
.
flush
();
OssFileResult
ossFileResult
=
ossClient
.
upload
(
file
);
deletedList
.
add
(
file
);
os
.
close
();
xssfWorkbook
.
close
();
SoilReport
expReport
=
new
SoilReport
();
expReport
.
setId
(
soilReport
.
getId
());
expReport
.
setObjectKey
(
ossFileResult
.
getObjectKey
());
expReport
.
setBucketName
(
ossFileResult
.
getBucketName
());
expReport
.
setVersionId
(
ossFileResult
.
getVersionId
());
expReport
.
setStatus
(
SoilReportStatusEnum
.
END
);
expReport
.
setProgress
(
SoilReportStatusEnum
.
END
);
updateReportList
.
add
(
expReport
);
}
if
(
CollectionUtils
.
isNotEmpty
(
updateReportList
)){
super
.
updateBatchById
(
updateReportList
);
}
}
catch
(
Exception
e
){
logger
.
error
(
"汇总试验报告签发插入电子签名失败"
+
e
.
getMessage
());
}
return
true
;
}
private
static
void
copySheet
(
XSSFWorkbook
wb
,
XSSFSheet
fromSheet
,
XSSFSheet
toSheet
)
{
mergeSheetAllRegion
(
fromSheet
,
toSheet
);
...
...
src/main/java/com/patzn/cloud/service/lims/summary/DataSummaryEntity.java
0 → 100644
View file @
c8a6e240
package
com
.
patzn
.
cloud
.
service
.
lims
.
summary
;
public
class
DataSummaryEntity
{
private
String
name
;
private
String
key
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getKey
()
{
return
key
;
}
public
void
setKey
(
String
key
)
{
this
.
key
=
key
;
}
}
src/main/java/com/patzn/cloud/service/lims/summary/KeyValueEntity.java
0 → 100644
View file @
c8a6e240
package
com
.
patzn
.
cloud
.
service
.
lims
.
summary
;
public
class
KeyValueEntity
{
private
String
name
;
private
String
key
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getKey
()
{
return
key
;
}
public
void
setKey
(
String
key
)
{
this
.
key
=
key
;
}
}
src/main/java/com/patzn/cloud/service/lims/summary/SoilEntrustSummaryDTO.java
0 → 100644
View file @
c8a6e240
package
com
.
patzn
.
cloud
.
service
.
lims
.
summary
;
import
com.patzn.cloud.service.soil.vo.SoilEntrustVO
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
public
class
SoilEntrustSummaryDTO
{
private
List
<
KeyValueEntity
>
start
=
new
ArrayList
<>();
private
List
<
List
<
KeyValueEntity
>>
branch
=
new
ArrayList
<>();
private
List
<
KeyValueEntity
>
end
=
new
ArrayList
<>();
private
List
<
Map
<
String
,
Object
>>
data
=
new
ArrayList
<>();
private
SoilEntrustVO
entrustVO
;
public
SoilEntrustVO
getEntrustVO
()
{
return
entrustVO
;
}
public
void
setEntrustVO
(
SoilEntrustVO
entrustVO
)
{
this
.
entrustVO
=
entrustVO
;
}
public
List
<
KeyValueEntity
>
getStart
()
{
return
start
;
}
public
void
setStart
(
List
<
KeyValueEntity
>
start
)
{
this
.
start
=
start
;
}
public
List
<
List
<
KeyValueEntity
>>
getBranch
()
{
return
branch
;
}
public
void
setBranch
(
List
<
List
<
KeyValueEntity
>>
branch
)
{
this
.
branch
=
branch
;
}
public
List
<
KeyValueEntity
>
getEnd
()
{
return
end
;
}
public
void
setEnd
(
List
<
KeyValueEntity
>
end
)
{
this
.
end
=
end
;
}
public
List
<
Map
<
String
,
Object
>>
getData
()
{
return
data
;
}
public
void
setData
(
List
<
Map
<
String
,
Object
>>
data
)
{
this
.
data
=
data
;
}
}
src/main/resources/mapper/soil/SoilEntrustMapper.xml
View file @
c8a6e240
...
...
@@ -302,4 +302,63 @@
</select>
<select
id=
"selectReportMakeByExpReportList"
resultType=
"com.patzn.cloud.service.soil.vo.SoilEntrustVO"
>
SELECT
<include
refid=
"column"
/>
FROM (
SELECT
entrust_id,company_id
FROM
soil_exp_report WHERE deleted = 0
<if
test=
"vo.expReportStatus"
>
AND status = #{vo.expReportStatus}
</if>
GROUP BY entrust_id,company_id
) t
JOIN soil_entrust e ON t.entrust_id = e.id
WHERE e.deleted = 0
<include
refid=
"sqlWhere"
/>
</select>
<select
id=
"selectReportBySummaryReportList"
resultType=
"com.patzn.cloud.service.soil.vo.SoilEntrustVO"
>
SELECT
<include
refid=
"column"
/>
FROM (
SELECT
entrust_id,company_id
FROM
soil_report WHERE deleted = 0
<if
test=
"vo.reportStatusEnum"
>
AND status = #{vo.reportStatusEnum}
</if>
GROUP BY entrust_id,company_id
) t
JOIN soil_entrust e ON t.entrust_id = e.id
WHERE e.deleted = 0
<include
refid=
"sqlWhere"
/>
</select>
<select
id=
"selectListForSummaryQuery"
resultType=
"com.patzn.cloud.service.soil.vo.SoilEntrustVO"
>
SELECT e.id,o.re_submitter,o.reviewer,
<include
refid=
"column"
/>
,(
SELECT count(1) FROM soil_sample WHERE entrust_id = e.id AND deleted = 0
),(
SELECT count(1) FROM soil_sample WHERE entrust_id = e.id AND deleted = 0 AND status IN (0,10,15,20,22)
) AS make_no FROM soil_entrust e JOIN soil_entrust_operation o ON e.id = o.entrust_id
</select>
</mapper>
src/test/java/resources/db_sql/v1.1.5/新增字段.sql
0 → 100644
View file @
c8a6e240
ALTER
TABLE
"public"
.
"soil_report"
ALTER
TABLE
"public"
.
"soil_report"
ADD
COLUMN
"status"
int2
DEFAULT
0
,
ADD
COLUMN
"progress"
int2
DEFAULT
0
;
COMMENT
ON
COLUMN
"public"
.
"soil_report"
.
"status"
IS
'状态'
;
COMMENT
ON
COLUMN
"public"
.
"soil_report"
.
"progress"
IS
'进度'
;
\ No newline at end of file
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