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
da556a98
Commit
da556a98
authored
Jan 18, 2022
by
lijingjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
霍煤多委托项目原始记录生成;
parent
131e4003
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
493 additions
and
75 deletions
+493
-75
EntrustSampleItemController.java
...ice/lims/hmhj/controller/EntrustSampleItemController.java
+41
-0
OriginalTemplateController.java
...vice/lims/hmhj/controller/OriginalTemplateController.java
+7
-8
EntrustSampleItemMapper.java
...oud/service/lims/hmhj/mapper/EntrustSampleItemMapper.java
+6
-0
OriginalFactory.java
...tzn/cloud/service/lims/hmhj/original/OriginalFactory.java
+25
-14
OriginalUtil.java
.../patzn/cloud/service/lims/hmhj/original/OriginalUtil.java
+42
-29
SingleSheetMoreItemOperation.java
...vice/lims/hmhj/original/SingleSheetMoreItemOperation.java
+17
-0
SingleSheetMoreOperation.java
.../service/lims/hmhj/original/SingleSheetMoreOperation.java
+13
-1
IEntrustSampleItemService.java
.../service/lims/hmhj/service/IEntrustSampleItemService.java
+9
-4
IEntrustSampleService.java
...loud/service/lims/hmhj/service/IEntrustSampleService.java
+1
-0
IOriginalRecordService.java
...oud/service/lims/hmhj/service/IOriginalRecordService.java
+3
-0
EntrustSampleItemServiceImpl.java
.../lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
+186
-5
EntrustSampleServiceImpl.java
...vice/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
+9
-0
EntrustServiceImpl.java
...ud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
+4
-0
OriginalRecordServiceImpl.java
...ice/lims/hmhj/service/impl/OriginalRecordServiceImpl.java
+50
-10
EntrustSampleItemMapper.xml
src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
+71
-4
20220118新增字段.sql
src/test/java/resources/db_sql/hmhj/v172/20220118新增字段.sql
+9
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/EntrustSampleItemController.java
View file @
da556a98
...
...
@@ -13,6 +13,7 @@ import com.patzn.cloud.service.hmhj.entity.ItemDeviate;
import
com.patzn.cloud.service.hmhj.entity.OriginalRecord
;
import
com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.ItemVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
import
com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup
;
import
com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO
;
...
...
@@ -604,6 +605,12 @@ public class EntrustSampleItemController extends ServiceController {
return
success
(
entrustSampleItemService
.
saveExcelOriginalRecord
(
ids
,
templateId
,
getAccount
(),
entrustCode
));
}
@ApiOperation
(
value
=
"填写原始记录 - 多委托检测项目"
,
notes
=
"填写原始记录 - 多委托检测项目"
)
@PostMapping
(
"/save_excel_original_records"
)
public
RestResult
<
OriginalRecord
>
saveExcelOriginalRecords
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
@RequestParam
(
"templateId"
)
Long
templateId
)
{
return
success
(
entrustSampleItemService
.
saveExcelOriginalRecords
(
ids
,
templateId
,
getAccount
()));
}
@ApiOperation
(
"样品质量判定"
)
@PostMapping
(
"/sample_quality_judge"
)
...
...
@@ -673,4 +680,38 @@ public class EntrustSampleItemController extends ServiceController {
RestAssert
.
fail
(
null
==
itemVO
.
getEntrustId
(),
"委托ID为空"
);
return
success
(
entrustSampleItemService
.
getItemFillProgressQuery
(
getPage
(),
itemVO
));
}
@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_input_item_left"
)
public
RestResult
<
Page
<
ItemVO
>>
pageInputItemLeft
(
ItemVO
vo
)
{
vo
.
setCompanyId
(
currentCompanyId
());
vo
.
setUid
(
currentUserId
());
return
success
(
entrustSampleItemService
.
pageInputItemLeft
(
getPage
(),
vo
));
}
@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_input_item_right"
)
public
RestResult
<
Page
<
ItemVO
>>
pageInputItemRight
(
ItemVO
dto
)
{
dto
.
setUid
(
currentUserId
());
dto
.
setCompanyId
(
currentCompanyId
());
return
success
(
entrustSampleItemService
.
pageInputItemRight
(
getPage
(),
dto
));
}
@ApiOperation
(
value
=
"数据录入查询是否项目可以填写原始记录"
,
notes
=
"数据录入查询是否项目可以填写原始记录"
)
@PostMapping
(
"/check_can_write_original"
)
public
RestResult
<
Boolean
>
checkCanWriteOriginal
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleItemService
.
checkCanWriteOriginal
(
ids
));
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/OriginalTemplateController.java
View file @
da556a98
...
...
@@ -2,22 +2,20 @@ package com.patzn.cloud.service.lims.hmhj.controller;
import
com.baomidou.kisso.annotation.Action
;
import
com.baomidou.kisso.annotation.Login
;
import
com.patzn.cloud.feign.lims.hmhj.client.OriginalTemplateClient
;
import
com.patzn.cloud.oss.starter.OssFileResult
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
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.feign.lims.hmhj.client.OriginalTemplateClient
;
import
com.patzn.cloud.oss.starter.OssFileResult
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
com.patzn.cloud.service.lims.hmhj.service.IOriginalTemplateService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
...
...
@@ -100,7 +98,8 @@ public class OriginalTemplateController extends ServiceController implements Ori
@Login
(
action
=
Action
.
Skip
)
@ApiOperation
(
value
=
"编辑原始记录"
,
notes
=
"编辑证书模板"
)
@PostMapping
({
"/edit_original_{someParam}"
})
public
RestResult
<
Boolean
>
editOriginal
(
@PathVariable
(
"someParam"
)
String
someParam
,
@RequestBody
OssFileResult
obsFileResult
)
{
public
RestResult
<
Boolean
>
editOriginal
(
@PathVariable
(
"someParam"
)
String
someParam
,
@RequestBody
OssFileResult
obsFileResult
)
{
return
success
(
originalTemplateService
.
editOriginal
(
someParam
,
obsFileResult
));
}
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/EntrustSampleItemMapper.java
View file @
da556a98
...
...
@@ -79,4 +79,10 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
boolean
updateSampleRetakeInfoByEntrustId
(
@Param
(
"entrustId"
)
Long
entrustId
);
List
<
EntrustSampleItemIndexVO
>
selectItemTestByEntrustId
(
@Param
(
"entrustId"
)
Long
entrustId
);
@SqlParser
(
filter
=
true
)
List
<
ItemVO
>
pageInputItemLeft
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
ItemVO
vo
);
@SqlParser
(
filter
=
true
)
List
<
ItemVO
>
pageInputItemRight
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
ItemVO
vo
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/OriginalFactory.java
View file @
da556a98
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.patzn.cloud.service.hmhj.entity.Entrust
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig
;
...
...
@@ -8,10 +9,14 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import
java.util.List
;
/**
* @author Meazty
*/
public
class
OriginalFactory
{
private
OriginalTemplate
template
;
private
List
<
EntrustSampleItemVO
>
voList
;
private
Entrust
entrust
;
private
Entrust
entrust
;
private
List
<
Entrust
>
entrustList
;
private
List
<
OriginalTemplateConfig
>
configList
;
private
XSSFWorkbook
xssfWorkbook
;
...
...
@@ -23,24 +28,30 @@ public class OriginalFactory {
this
.
xssfWorkbook
=
xssfWorkbook
;
}
public
Operation
getOperation
(){
if
(
null
==
template
.
getMoreSheet
()
||
0
==
template
.
getMoreSheet
()){
public
OriginalFactory
(
OriginalTemplate
template
,
List
<
EntrustSampleItemVO
>
voList
,
List
<
OriginalTemplateConfig
>
configList
,
List
<
Entrust
>
entrustList
,
XSSFWorkbook
xssfWorkbook
)
{
this
.
entrustList
=
entrustList
;
this
.
template
=
template
;
this
.
voList
=
voList
;
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
}
if
(
null
==
template
.
getSampleBeginRow
()||
null
==
template
.
getSampleMergerNum
()||
null
==
template
.
getTemplateSampleNum
()){
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
);
// }
if
(
CollectionUtils
.
isNotEmpty
(
entrustList
))
{
return
new
SingleSheetMoreOperation
(
template
,
entrustList
,
voList
,
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
);
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
View file @
da556a98
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
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.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
public
final
class
OriginalUtil
{
public
final
static
String
initFormula
(
String
formula
,
Integer
i
)
{
formula
=
formula
.
replace
(
"#{sn}"
,(
i
+
1
)+
""
);
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
(
"#{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
(
"#{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+1}"
))
{
formula
=
formula
.
replace
(
"#{sn+1}"
,
(
i
+
2
)
+
""
);
}
if
(
formula
.
contains
(
"#{sn+2}"
)){
formula
=
formula
.
replace
(
"#{sn+2}"
,(
i
+
3
)+
""
);
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+3}"
))
{
formula
=
formula
.
replace
(
"#{sn+3}"
,
(
i
+
4
)
+
""
);
}
if
(
formula
.
contains
(
"#{sn+4}"
)){
formula
=
formula
.
replace
(
"#{sn+4}"
,(
i
+
5
)+
""
);
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+5}"
))
{
formula
=
formula
.
replace
(
"#{sn+5}"
,
(
i
+
6
)
+
""
);
}
if
(
formula
.
contains
(
"#{sn+6}"
)){
formula
=
formula
.
replace
(
"#{sn+6}"
,(
i
+
7
)+
""
);
if
(
formula
.
contains
(
"#{sn+6}"
))
{
formula
=
formula
.
replace
(
"#{sn+6}"
,
(
i
+
7
)
+
""
);
}
if
(
formula
.
contains
(
"#{sn+7}"
)){
formula
=
formula
.
replace
(
"#{sn+7}"
,(
i
+
8
)+
""
);
if
(
formula
.
contains
(
"#{sn+7}"
))
{
formula
=
formula
.
replace
(
"#{sn+7}"
,
(
i
+
8
)
+
""
);
}
return
formula
;
}
public
final
static
void
doReplace
(
XSSFWorkbook
xssfWorkbook
,
Entrust
entrust
){
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
);
mapReplace
.
put
(
"#{client}"
,
entrust
.
getClient
());
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
0
);
}
public
final
static
void
doReplaceMulti
(
XSSFWorkbook
xssfWorkbook
,
List
<
Entrust
>
entrusts
)
{
String
client
=
""
;
if
(
CollectionUtils
.
isNotEmpty
(
entrusts
))
{
client
=
entrusts
.
stream
().
map
(
Entrust:
:
getClient
).
collect
(
Collectors
.
joining
(
","
));
}
Map
<
String
,
String
>
mapReplace
=
new
HashMap
<>();
mapReplace
.
put
(
"#{client}"
,
client
);
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
0
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/original/SingleSheetMoreItemOperation.java
View file @
da556a98
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
original
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.patzn.cloud.service.hmhj.entity.Entrust
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig
;
...
...
@@ -21,6 +22,7 @@ public class SingleSheetMoreItemOperation implements Operation {
private
OriginalTemplate
template
;
private
List
<
EntrustSampleVO
>
voList
;
private
Entrust
entrust
;
private
List
<
Entrust
>
entrustList
;
private
List
<
OriginalTemplateConfig
>
configList
;
private
XSSFWorkbook
xssfWorkbook
;
private
String
collectionDatePrefix
=
"clc."
;
...
...
@@ -29,9 +31,18 @@ public class SingleSheetMoreItemOperation implements Operation {
private
Map
<
Integer
,
String
>
valueMap
;
public
SingleSheetMoreItemOperation
(
OriginalTemplate
template
,
List
<
EntrustSampleVO
>
voList
,
Entrust
entrust
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
initData
(
template
,
voList
,
entrust
,
null
,
configList
,
xssfWorkbook
);
}
public
SingleSheetMoreItemOperation
(
OriginalTemplate
template
,
List
<
Entrust
>
entrustList
,
List
<
EntrustSampleVO
>
voList
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
initData
(
template
,
voList
,
null
,
entrustList
,
configList
,
xssfWorkbook
);
}
private
void
initData
(
OriginalTemplate
template
,
List
<
EntrustSampleVO
>
voList
,
Entrust
entrust
,
List
<
Entrust
>
entrustList
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
this
.
template
=
template
;
this
.
voList
=
voList
;
this
.
entrust
=
entrust
;
this
.
entrustList
=
entrustList
;
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
dealCollectionData
(
voList
,
configList
);
...
...
@@ -73,7 +84,13 @@ public class SingleSheetMoreItemOperation implements Operation {
@Override
public
void
doMakeOriginal
()
{
if
(
CollectionUtils
.
isNotEmpty
(
entrustList
))
{
OriginalUtil
.
doReplaceMulti
(
xssfWorkbook
,
entrustList
);
}
else
{
OriginalUtil
.
doReplace
(
xssfWorkbook
,
entrust
);
}
XSSFSheet
sheetOne
=
xssfWorkbook
.
getSheetAt
(
0
);
sheetOne
.
setForceFormulaRecalculation
(
true
);
Integer
beginRow
=
template
.
getSampleBeginRow
();
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/original/SingleSheetMoreOperation.java
View file @
da556a98
...
...
@@ -18,6 +18,7 @@ public class SingleSheetMoreOperation implements Operation {
private
OriginalTemplate
template
;
private
List
<
EntrustSampleItemVO
>
voList
;
private
Entrust
entrust
;
private
List
<
Entrust
>
entrustList
;
private
List
<
OriginalTemplateConfig
>
configList
;
private
XSSFWorkbook
xssfWorkbook
;
private
String
collectionDataPrefix
=
"clc."
;
...
...
@@ -30,13 +31,24 @@ public class SingleSheetMoreOperation implements Operation {
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
this
.
formulaEvaluator
=
new
XSSFFormulaEvaluator
(
xssfWorkbook
);
}
public
SingleSheetMoreOperation
(
OriginalTemplate
template
,
List
<
Entrust
>
entrustList
,
List
<
EntrustSampleItemVO
>
voList
,
List
<
OriginalTemplateConfig
>
configList
,
XSSFWorkbook
xssfWorkbook
)
{
this
.
entrustList
=
entrustList
;
this
.
template
=
template
;
this
.
voList
=
voList
;
this
.
configList
=
configList
;
this
.
xssfWorkbook
=
xssfWorkbook
;
this
.
formulaEvaluator
=
new
XSSFFormulaEvaluator
(
xssfWorkbook
);
}
@Override
public
void
doMakeOriginal
()
{
if
(
CollectionUtils
.
isNotEmpty
(
entrustList
))
{
OriginalUtil
.
doReplaceMulti
(
xssfWorkbook
,
entrustList
);
}
else
{
OriginalUtil
.
doReplace
(
xssfWorkbook
,
entrust
);
}
XSSFSheet
sheetOne
=
xssfWorkbook
.
getSheetAt
(
0
);
sheetOne
.
setForceFormulaRecalculation
(
true
);
Integer
beginRow
=
template
.
getSampleBeginRow
();
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleItemService.java
View file @
da556a98
...
...
@@ -9,10 +9,7 @@ import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem;
import
com.patzn.cloud.service.hmhj.entity.ItemDeviate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalRecord
;
import
com.patzn.cloud.service.hmhj.enums.EntrustFlowEnum
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleCalcResultVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemIndexVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
import
com.patzn.cloud.service.hmhj.vo.*
;
import
com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup
;
import
com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO
;
...
...
@@ -61,6 +58,8 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
OriginalRecord
saveExcelOriginalRecord
(
Long
[]
ids
,
Long
templateId
,
Account
account
,
String
entrustCode
);
OriginalRecord
saveExcelOriginalRecords
(
Long
[]
ids
,
Long
templateId
,
Account
account
);
boolean
deviateApply
(
Long
[]
ids
,
ItemDeviate
deviate
,
Account
account
);
Page
<
EntrustSampleItemVO
>
pageItemDeviateCheck
(
Page
<
EntrustSampleItemVO
>
page
,
EntrustSampleItemVO
entrustSampleItem
);
...
...
@@ -124,4 +123,10 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
List
<
EntrustSampleItemIndexVO
>
getItemTestByEntrustId
(
Long
entrustIds
);
EntrustSampleItem
getItemModelBySampleId
(
Long
sampleId
);
Page
<
ItemVO
>
pageInputItemLeft
(
Page
<
ItemVO
>
page
,
ItemVO
vo
);
Page
<
ItemVO
>
pageInputItemRight
(
Page
<
ItemVO
>
page
,
ItemVO
vo
);
Boolean
checkCanWriteOriginal
(
Long
[]
ids
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleService.java
View file @
da556a98
...
...
@@ -135,4 +135,5 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
void
exportSampleIndex
(
Long
entrustId
,
Account
account
,
HttpServletResponse
response
);
boolean
isRepeatSampleCode
(
EntrustSample
sample
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IOriginalRecordService.java
View file @
da556a98
...
...
@@ -11,6 +11,7 @@ import com.patzn.cloud.service.hmhj.vo.OriginalRecordVO;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.util.List
;
import
java.util.Map
;
/**
* 土工原始记录表 服务类
...
...
@@ -26,6 +27,8 @@ public interface IOriginalRecordService extends IBaseService<OriginalRecord> {
OriginalRecord
uploadExpGenerate
(
Long
[]
ids
,
OriginalTemplate
template
,
Entrust
entrust
,
Account
account
,
String
remark
,
File
file
);
OriginalRecord
uploadExpGenerate
(
Map
<
Long
,
List
<
Long
>>
entrustItemIdMap
,
OriginalTemplate
template
,
Account
account
,
String
remark
,
File
file
);
Page
<
OriginalRecordVO
>
pageVO
(
Page
<
OriginalRecordVO
>
page
,
OriginalRecordVO
originalRecord
);
void
download
(
Long
entrustId
,
Long
id
,
HttpServletResponse
response
);
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
View file @
da556a98
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.toolkit.IOUtils
;
import
com.google.common.collect.Lists
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
...
...
@@ -32,6 +33,7 @@ import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import
com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO
;
import
com.patzn.cloud.service.lims.collection.entity.LmsOriginalRecordInfo
;
import
com.patzn.cloud.service.lims.common.CompareUtils
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.common.service.IExportService
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
com.patzn.cloud.service.lims.hmhj.common.LabreOfficeUtil
;
...
...
@@ -62,6 +64,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
import
static
java
.
util
.
stream
.
Collectors
.
toSet
;
/**
* 服务实现类
*
...
...
@@ -554,6 +558,149 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return
baseMapper
.
selectVOListBySampleIdsAndIds
(
sampleIds
,
ids
);
}
@Override
public
OriginalRecord
saveExcelOriginalRecords
(
Long
[]
ids
,
Long
templateId
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择试验项目!"
);
RestAssert
.
fail
(
null
==
templateId
,
"请选择原始记录模板"
);
OriginalTemplate
template
=
originalTemplateService
.
getById
(
templateId
);
if
(
null
==
template
)
{
RestAssert
.
fail
(
"模板不存在"
);
}
List
<
EntrustSampleItemVO
>
voList
=
listVOByIds
(
ids
);
if
(
CollectionUtils
.
isEmpty
(
voList
))
{
return
null
;
}
// 过滤空白样
List
<
EntrustSampleItemVO
>
blank
=
voList
.
stream
().
filter
(
vo
->
vo
.
getSampleCode
().
contains
(
"空白"
)
||
vo
.
getSampleName
().
contains
(
"空白"
)).
collect
(
Collectors
.
toList
());
// 手动插入空白样和配置了空白开始行冲突
if
(
null
!=
template
.
getBlankBeginNum
()
&&
blank
.
size
()
>
0
)
{
RestAssert
.
fail
(
"所选原始记录模板中已配置空白开始行,请删除空白标样!"
);
}
voList
=
voList
.
stream
().
sorted
(
Comparator
.
comparing
(
item
->
item
.
getOrderBy
())).
collect
(
Collectors
.
toList
());
// 委托编号:检测项目集合
Map
<
Long
,
List
<
Long
>>
entrustItemIdMap
=
new
HashMap
<>();
Set
<
String
>
sampleCodeSet
=
new
HashSet
<>();
Set
<
Long
>
sampleIdsList
=
new
HashSet
<>();
Set
<
Long
>
entrustIdList
=
new
HashSet
<>();
for
(
EntrustSampleItemVO
vo
:
voList
)
{
MapMergeUtils
.
getorCreateMapArrayList
(
vo
.
getEntrustId
(),
entrustItemIdMap
,
vo
.
getId
());
sampleCodeSet
.
add
(
vo
.
getSampleCode
());
sampleIdsList
.
add
(
vo
.
getEntrustSampleId
());
entrustIdList
.
add
(
vo
.
getEntrustId
());
}
List
<
Entrust
>
entrustList
=
entrustService
.
getBatchIds
(
new
ArrayList
<>(
entrustIdList
));
String
[]
entrustCodes
=
entrustList
.
stream
().
map
(
Entrust:
:
getCode
).
toArray
(
String
[]::
new
);
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
{
xssfWorkbook
=
new
XSSFWorkbook
(
io
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取证书模板错误"
+
e
.
getMessage
());
e
.
printStackTrace
();
}
Map
<
String
,
String
>
mapReplace
=
new
HashMap
<>();
mapReplace
.
put
(
"#{nowDate}"
,
DateUtils
.
toYearMonthDay
(
new
Date
()));
mapReplace
.
put
(
"#{sampleNum}"
,
sampleCodeSet
.
size
()
+
""
);
// itemVoList中的所有项目名 --> 通过检测项目名拿到对应的采集仪器项目名
Set
<
String
>
itemNames
=
voList
.
stream
().
map
(
EntrustSampleItem:
:
getName
).
distinct
().
collect
(
Collectors
.
toSet
());
List
<
Qualification
>
qualifications
=
qualificationService
.
list
(
Condition
.
create
().
in
(
"name"
,
itemNames
));
Map
<
String
,
String
>
itemNameMap
=
qualifications
.
stream
()
.
filter
(
q
->
StringUtils
.
isNotEmpty
(
q
.
getInstrumentItemName
()))
.
collect
(
Collectors
.
toMap
(
Qualification:
:
getName
,
Qualification:
:
getInstrumentItemName
));
if
(
null
!=
template
.
getMoreItem
()
&&
1
==
template
.
getMoreItem
())
{
List
<
EntrustSample
>
sampleList
=
entrustSampleService
.
list
(
Condition
.
create
().
in
(
"id"
,
sampleIdsList
).
orderBy
(
"order_by"
,
true
));
EntrustSample
firstSample
=
null
;
if
(
CollectionUtils
.
isNotEmpty
(
sampleList
))
{
for
(
EntrustSample
sample
:
sampleList
)
{
if
(
sample
.
getType
()
==
0
)
{
firstSample
=
sample
;
break
;
}
}
mapReplace
.
put
(
"#{sampleFrom}"
,
firstSample
==
null
?
""
:
firstSample
.
getSampleFrom
());
mapReplace
.
put
(
"#{sampleName}"
,
firstSample
==
null
?
""
:
firstSample
.
getName
());
}
List
<
EntrustSampleVO
>
sampleVOList
=
new
ArrayList
<>(
sampleList
.
size
());
for
(
EntrustSample
sample
:
sampleList
)
{
EntrustSampleVO
vo
=
sample
.
convert
(
EntrustSampleVO
.
class
);
vo
.
setIndexList
(
entrustSampleItemIndexService
.
listBySampleId
(
sample
.
getId
()));
sampleVOList
.
add
(
vo
);
}
/* 获取采集数据,并保存到SampleVO中 */
getCollectionData
(
null
,
sampleVOList
,
itemNameMap
,
template
,
entrustCodes
);
if
(
null
==
template
.
getSampleBeginRow
()
||
null
==
template
.
getSampleMergerNum
()
||
null
==
template
.
getTemplateSampleNum
())
{
return
null
;
}
/* 多个检测项目放在一个sheet中,一个样品一条记录 */
SingleSheetMoreItemOperation
operation
=
new
SingleSheetMoreItemOperation
(
template
,
entrustList
,
sampleVOList
,
configList
,
xssfWorkbook
);
operation
.
doMakeOriginal
();
}
else
{
/* 获取采集到的数据 */
getCollectionData
(
voList
,
null
,
itemNameMap
,
template
,
entrustCodes
);
EntrustSampleItemVO
firstVO
=
null
;
for
(
EntrustSampleItemVO
vo
:
voList
)
{
if
(
vo
.
getType
()
==
0
)
{
firstVO
=
vo
;
}
}
if
(
CollectionUtils
.
isNotEmpty
(
voList
))
{
mapReplace
.
put
(
"#{sampleFrom}"
,
firstVO
==
null
?
""
:
firstVO
.
getSampleFrom
());
mapReplace
.
put
(
"#{sampleName}"
,
firstVO
==
null
?
""
:
firstVO
.
getSampleName
());
}
OriginalFactory
factory
=
new
OriginalFactory
(
template
,
voList
,
configList
,
entrustList
,
xssfWorkbook
);
Operation
operation
=
factory
.
getOperation
();
if
(
null
!=
operation
)
{
operation
.
doMakeOriginal
();
}
}
HSSFWorkbookUtil
.
replaceModel
(
mapReplace
,
xssfWorkbook
,
0
);
FileOutputStream
os
=
null
;
File
file
=
null
;
String
generated
=
"原始记录"
;
try
{
file
=
File
.
createTempFile
(
generated
,
".xlsx"
);
os
=
new
FileOutputStream
(
file
);
xssfWorkbook
.
write
(
os
);
os
.
flush
();
objectKey
=
originalRecordService
.
uploadExpGenerate
(
entrustItemIdMap
,
template
,
account
,
"原始记录生成"
,
file
);
logger
.
error
(
"----------------------17"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"Exception 报错"
+
e
.
getMessage
());
e
.
printStackTrace
();
}
finally
{
IOUtils
.
closeQuietly
(
os
,
xssfWorkbook
,
io
);
FileUtils
.
deleteFiles
(
file
);
}
logger
.
error
(
"----------------------20"
);
return
objectKey
;
}
@Override
public
OriginalRecord
saveExcelOriginalRecord
(
Long
[]
ids
,
Long
templateId
,
Account
account
,
String
entrustCode
)
{
...
...
@@ -627,7 +774,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
/* 获取采集数据,并保存到SampleVO中 */
getCollectionData
(
null
,
sampleVOList
,
entrustCode
,
itemNameMap
,
templat
e
);
getCollectionData
(
null
,
sampleVOList
,
itemNameMap
,
template
,
entrustCod
e
);
if
(
null
==
template
.
getSampleBeginRow
()
||
null
==
template
.
getSampleMergerNum
()
||
null
==
template
.
getTemplateSampleNum
())
{
...
...
@@ -648,7 +795,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
else
{
/* 获取采集到的数据 */
getCollectionData
(
voList
,
null
,
entrustCode
,
itemNameMap
,
templat
e
);
getCollectionData
(
voList
,
null
,
itemNameMap
,
template
,
entrustCod
e
);
EntrustSampleItemVO
firstVO
=
null
;
for
(
EntrustSampleItemVO
vo
:
voList
)
{
...
...
@@ -714,7 +861,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return
objectKey
;
}
private
void
getCollectionData
(
List
<
EntrustSampleItemVO
>
itemVOList
,
List
<
EntrustSampleVO
>
sampleVOList
,
String
entrustCode
,
Map
<
String
,
String
>
itemNameMap
,
OriginalTemplate
template
)
{
private
void
getCollectionData
(
List
<
EntrustSampleItemVO
>
itemVOList
,
List
<
EntrustSampleVO
>
sampleVOList
,
Map
<
String
,
String
>
itemNameMap
,
OriginalTemplate
template
,
String
...
entrustCodes
)
{
/* 拿到所有样品的编号 */
Set
<
String
>
numSet
=
new
HashSet
<>();
if
(
itemVOList
!=
null
)
{
...
...
@@ -730,7 +877,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
List
<
LmsOriginalRecordInfo
>
records
=
new
ArrayList
<>();
// 采集类型 0-无需采集; 1-文件采集-会带委托编号;2-盒子采集-不带委托编号
if
(
template
.
getCollectionType
()
==
1
)
{
records
=
originalRecordInfoService
.
list
(
Condition
.
create
().
in
(
"sample_num"
,
numSet
).
eq
(
"contract_code"
,
entrustCode
));
records
=
originalRecordInfoService
.
list
(
Condition
.
create
().
in
(
"sample_num"
,
numSet
).
in
(
"contract_code"
,
entrustCodes
));
}
else
if
(
template
.
getCollectionType
()
==
2
)
{
records
=
originalRecordInfoService
.
list
(
Condition
.
create
().
in
(
"sample_num"
,
numSet
));
}
...
...
@@ -1201,7 +1348,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
if
(
updateSampleList
.
size
()
>
0
)
{
entrustSampleService
.
updateBatchById
(
updateSampleList
);
logger
.
error
(
"====更新样品判级:]\r\n"
);
for
(
EntrustSample
s
:
updateSampleList
)
{
for
(
EntrustSample
s
:
updateSampleList
)
{
logger
.
error
(
"====判定合格品级:sampleId:{},sampleName:{},sampleCode:{},grading:{}"
,
s
.
getId
(),
s
.
getName
(),
s
.
getCode
(),
s
.
getSampleGrading
());
}
}
...
...
@@ -1236,6 +1383,40 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return
CollectionUtils
.
isNotEmpty
(
itemList
)
?
itemList
.
get
(
0
)
:
null
;
}
@Override
public
Page
<
ItemVO
>
pageInputItemLeft
(
Page
<
ItemVO
>
page
,
ItemVO
vo
)
{
vo
.
setStatus
(
EntrustSampleItemStatusEnum
.
TEST
);
if
(
StringUtils
.
isNotBlank
(
vo
.
getName
()))
{
vo
.
setNameList
(
Arrays
.
asList
(
vo
.
getName
().
split
(
",|,"
)));
}
return
page
.
setRecords
(
baseMapper
.
pageInputItemLeft
(
page
,
vo
));
}
@Override
public
Page
<
ItemVO
>
pageInputItemRight
(
Page
<
ItemVO
>
page
,
ItemVO
vo
)
{
vo
.
setStatus
(
EntrustSampleItemStatusEnum
.
TEST
);
if
(
StringUtils
.
isNotBlank
(
vo
.
getName
()))
{
vo
.
setNameList
(
Arrays
.
asList
(
vo
.
getName
().
split
(
",|,"
)));
}
List
<
ItemVO
>
list
=
baseMapper
.
pageInputItemRight
(
page
,
vo
);
return
page
.
setRecords
(
list
);
}
@Override
public
Boolean
checkCanWriteOriginal
(
Long
[]
ids
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择项目"
);
// 根据id查出项目
List
<
EntrustSampleItem
>
list
=
super
.
list
(
Condition
.
create
().
in
(
"id"
,
ids
));
RestAssert
.
fail
(
CollectionUtils
.
isEmpty
(
list
),
"没有查询到项目信息"
);
Map
<
Long
,
String
>
itemNameMap
=
list
.
stream
().
collect
(
Collectors
.
toMap
(
EntrustSampleItem:
:
getId
,
t
->
t
.
getName
()));
List
<
ItemRelOriginalRecord
>
itemRelOriginalRecords
=
itemRelOriginalRecordService
.
list
(
Condition
.
create
().
in
(
"item_id"
,
ids
));
if
(
CollectionUtils
.
isNotEmpty
(
itemRelOriginalRecords
))
{
Set
<
String
>
itemNameSet
=
itemRelOriginalRecords
.
stream
().
map
(
t
->
itemNameMap
.
get
(
t
.
getItemId
())).
collect
(
toSet
());
RestAssert
.
fail
(
"选择了已经填写了原始记录的项目:"
+
StringHandleUtils
.
join
(
itemNameSet
,
"、"
));
}
return
true
;
}
private
String
getCellValue
(
XSSFRow
xssfRow
,
int
cellIndex
)
{
XSSFCell
cell
=
xssfRow
.
getCell
(
cellIndex
);
String
value
=
HSSFWorkbookUtil
.
getJavaValue
(
cell
).
toString
();
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
View file @
da556a98
...
...
@@ -2212,4 +2212,12 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
}
@Override
public
boolean
isRepeatSampleCode
(
EntrustSample
sample
){
if
(
StringUtils
.
isBlank
(
sample
.
getCode
())){
return
false
;
}
return
super
.
count
(
Condition
.
create
().
eq
(
"code"
,
sample
.
getCode
()))
>
0
;
}
}
\ No newline at end of file
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
View file @
da556a98
...
...
@@ -339,6 +339,10 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
sample
.
setThirdCode
(
thirdCode
);
}
}
if
(
StringUtils
.
isNotBlank
(
sample
.
getCode
())){
RestAssert
.
fail
(
entrustSampleService
.
isRepeatSampleCode
(
sample
),
String
.
format
(
"样品编号【%s】重复!"
));
}
}
private
String
getSampleThirdCode
(
EntrustSample
sample
)
{
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/OriginalRecordServiceImpl.java
View file @
da556a98
...
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.toolkit.IdWorker
;
import
com.baomidou.mybatisplus.toolkit.MapUtils
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
...
...
@@ -30,6 +31,7 @@ import java.io.File;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 土工原始记录表 服务实现类
...
...
@@ -83,30 +85,68 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap
RestAssert
.
fail
(
null
==
entrust
.
getId
(),
"试验委托单ID不能为空"
);
OriginalRecord
soilO
riginalRecord
=
new
OriginalRecord
();
soilO
riginalRecord
.
setEntrustId
(
entrust
.
getId
());
soilO
riginalRecord
.
setTemplateId
(
template
.
getId
());
soilO
riginalRecord
.
setTitle
(
template
.
getName
());
soilO
riginalRecord
.
setRemark
(
remark
);
soilO
riginalRecord
.
setUname
(
account
.
getUserName
());
OriginalRecord
o
riginalRecord
=
new
OriginalRecord
();
o
riginalRecord
.
setEntrustId
(
entrust
.
getId
());
o
riginalRecord
.
setTemplateId
(
template
.
getId
());
o
riginalRecord
.
setTitle
(
template
.
getName
());
o
riginalRecord
.
setRemark
(
remark
);
o
riginalRecord
.
setUname
(
account
.
getUserName
());
OssFileResult
obsFileResult
=
ossClient
.
upload
(
file
);
if
(
null
==
obsFileResult
)
{
return
null
;
}
soilO
riginalRecord
.
setObjectKey
(
obsFileResult
.
getObjectKey
());
if
(
save
(
soilO
riginalRecord
))
{
o
riginalRecord
.
setObjectKey
(
obsFileResult
.
getObjectKey
());
if
(
save
(
o
riginalRecord
))
{
List
<
ItemRelOriginalRecord
>
saveList
=
new
ArrayList
<>();
for
(
Long
id
:
ids
)
{
ItemRelOriginalRecord
relOriginalRecord
=
new
ItemRelOriginalRecord
();
relOriginalRecord
.
setItemId
(
id
);
relOriginalRecord
.
setRecordId
(
soilO
riginalRecord
.
getId
());
relOriginalRecord
.
setRecordId
(
o
riginalRecord
.
getId
());
saveList
.
add
(
relOriginalRecord
);
}
if
(
CollectionUtils
.
isNotEmpty
(
saveList
))
{
itemRelOriginalRecordService
.
saveBatch
(
saveList
);
}
}
return
soilO
riginalRecord
;
return
o
riginalRecord
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
OriginalRecord
uploadExpGenerate
(
Map
<
Long
,
List
<
Long
>>
entrustItemIdMap
,
OriginalTemplate
template
,
Account
account
,
String
remark
,
File
file
)
{
RestAssert
.
fail
(
MapUtils
.
isEmpty
(
entrustItemIdMap
),
"请选择试验项目"
);
// 先上传文件,后保存记录
OssFileResult
ossFileResult
=
ossClient
.
upload
(
file
);
if
(
null
==
ossFileResult
)
{
return
null
;
}
String
entrustIds
=
StringUtils
.
join
(
entrustItemIdMap
.
keySet
(),
","
);
List
<
ItemRelOriginalRecord
>
itemOriginalList
=
new
ArrayList
<>();
OriginalRecord
originalRecord
=
new
OriginalRecord
();
originalRecord
.
setEntrustIds
(
entrustIds
);
originalRecord
.
setTemplateId
(
template
.
getId
());
originalRecord
.
setTitle
(
template
.
getName
());
originalRecord
.
setRemark
(
remark
);
originalRecord
.
setUname
(
account
.
getUserName
());
originalRecord
.
setObjectKey
(
ossFileResult
.
getObjectKey
());
originalRecord
.
setId
(
IdWorker
.
getId
());
save
(
originalRecord
);
entrustItemIdMap
.
values
().
forEach
(
m
->
{
itemOriginalList
.
addAll
(
m
.
stream
().
map
(
t
->
new
ItemRelOriginalRecord
().
setItemId
(
t
).
setRecordId
(
originalRecord
.
getId
())
).
collect
(
Collectors
.
toList
()));
});
if
(
CollectionUtils
.
isNotEmpty
(
itemOriginalList
))
{
itemRelOriginalRecordService
.
saveBatch
(
itemOriginalList
);
}
return
originalRecord
;
}
}
src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
View file @
da556a98
...
...
@@ -259,13 +259,13 @@
<select
id=
"selectVOListByIds"
resultType=
"com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"
>
SELECT i.id,i.name,i.entrust_sample_id,s.entrust_id,i.agreed_value,i.test_value,i.standard,s.code AS
"sampleCode",s.name AS "sampleName",
s.order_by,s.type,
s.order_by,s.type,
e.code "entrust_code",
s.sample_shape ,s.sample_quantity, s.standard, s.sample_from,s.product_code,s.name_code
FROM
entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.ID
WHERE i.deleted = 0
AND s.deleted = 0
JOIN entrust_sample s ON i.entrust_sample_id = s.ID
and s.deleted = 0
JOIN entrust e on e.id = i.entrust_id and e.deleted = 0
WHERE i.deleted = 0
AND i.id IN
<foreach
collection=
"ids"
index=
"index"
item=
"id"
open=
"("
separator=
","
close=
")"
>
...
...
@@ -725,6 +725,73 @@
ii.NAME
</select>
<!--获取数据录入 - 检测项目列表-->
<select
id=
"pageInputItemLeft"
resultType=
"com.patzn.cloud.service.hmhj.vo.ItemVO"
>
SELECT DISTINCT ON
( NAME, standard ) NAME, standard
FROM
entrust_sample_item i
where i.deleted = 0 and i.status = #{vo.status} and i.company_id = #{vo.companyId}
<if
test=
"null != vo.personal and vo.personal == 1"
>
AND i.tester_id = #{vo.uid}
</if>
<if
test=
"null != vo.nameList"
>
<foreach
collection=
"vo.nameList"
item=
"name"
open=
"AND ( i.name "
close=
")"
separator=
" OR name"
>
LIKE CONCAT ('%',#{name},'%')
</foreach>
</if>
<if
test=
"null != vo.standard"
>
AND i.standard LIKE CONCAT ('%',#{vo.standard},'%')
</if>
<if
test=
"null != vo.uid"
>
AND i.tester_id = #{vo.uid}
</if>
order by i.name
</select>
<!-- 查询数据录入- 按项目录入 - 右侧检测项目数据列表 -->
<select
id=
"pageInputItemRight"
resultType=
"com.patzn.cloud.service.hmhj.vo.ItemVO"
>
SELECT
i.id,i.entrust_sample_id,i.name,i.status,i.company_id,i.standard,i.group_name,i.test_value,i.group_id,i.tester,i.tester_id,i.test_time,i.in_report,i.entrust_id,
s.name "sampleName",s.code "sampleCode",s.compliance_test,s.sample_from,sample_shape,s.first_code,s.second_code,s.third_code,
e.test_side "testSide",e.code "entrustCode",l.record_id,r.object_key AS "recordObjectKey"
FROM entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.id and s.deleted = 0
JOIN entrust e on i.entrust_id = e.id and e.deleted = 0
LEFT JOIN item_rel_original_record l on l.item_id = i.id and l.deleted = 0
LEFT JOIN original_record r on r.id = l.record_id and r.deleted = 0
WHERE i.deleted = 0 and i.company_id = #{vo.companyId}
<if
test=
"null != vo.nameList"
>
<foreach
collection=
"vo.nameList"
item=
"name"
open=
"AND ( i.name "
close=
")"
separator=
" OR i.name "
>
LIKE CONCAT ('%',#{name},'%')
</foreach>
</if>
<if
test=
"null != vo.standard"
>
AND i.standard LIKE CONCAT ('%',#{vo.standard},'%')
</if>
<if
test=
"null != vo.status"
>
AND i.status = #{vo.status}
</if>
<if
test=
"null != vo.uid"
>
AND i.tester_id = #{vo.uid}
</if>
<if
test=
"null != vo.entrustCode"
>
AND e.code LIKE CONCAT ('%',#{vo.entrustCode},'%')
</if>
<if
test=
"null != vo.testSide"
>
AND e.test_side LIKE CONCAT ('%',#{vo.testSide},'%')
</if>
<if
test=
"null != vo.sampleCode"
>
AND s.code LIKE CONCAT ('%',#{vo.sampleCode},'%')
</if>
<if
test=
"null != vo.sampleName"
>
AND s.name LIKE CONCAT ('%',#{vo.sampleName},'%')
</if>
order by i.name, s.code
</select>
<update
id=
"updateBatchByData"
parameterType=
"java.util.List"
>
<foreach
collection=
"itemList"
item=
"item"
index=
"index"
open=
""
close=
""
separator=
";"
>
update entrust_sample_item
...
...
src/test/java/resources/db_sql/hmhj/v172/20220118新增字段.sql
0 → 100644
View file @
da556a98
/** created by meazty on 2022/1/18 16:43 **/
/** created by meazty on 2022/1/18 16:43 **/
-- 委托 --
ALTER
TABLE
"public"
.
"original_record"
ADD
COLUMN
"entrust_ids"
varchar
(
512
);
COMMENT
ON
COLUMN
"public"
.
"original_record"
.
"entrust_ids"
IS
'委托IDS'
;
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