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
2d77bb1f
Commit
2d77bb1f
authored
Nov 10, 2020
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
土工试验平台修改
parent
b083b723
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
645 additions
and
31 deletions
+645
-31
StringHandleUtils.java
...om/patzn/cloud/service/lims/common/StringHandleUtils.java
+19
-0
StringStaticDataUtils.java
...atzn/cloud/service/lims/common/StringStaticDataUtils.java
+4
-0
SoilEntrustController.java
...d/service/lims/soil/controller/SoilEntrustController.java
+15
-0
SoilExperimentController.java
...ervice/lims/soil/controller/SoilExperimentController.java
+11
-0
SoilPrepareController.java
...d/service/lims/soil/controller/SoilPrepareController.java
+7
-0
SoilSampleBackupController.java
...vice/lims/soil/controller/SoilSampleBackupController.java
+8
-0
SoilSampleController.java
...ud/service/lims/soil/controller/SoilSampleController.java
+23
-0
ISoilEntrustService.java
.../cloud/service/lims/soil/service/ISoilEntrustService.java
+6
-0
ISoilExperimentService.java
...oud/service/lims/soil/service/ISoilExperimentService.java
+2
-0
ISoilPrepareService.java
.../cloud/service/lims/soil/service/ISoilPrepareService.java
+2
-0
ISoilSampleBackupService.java
...d/service/lims/soil/service/ISoilSampleBackupService.java
+2
-0
ISoilSampleService.java
...n/cloud/service/lims/soil/service/ISoilSampleService.java
+13
-0
SoilEntrustServiceImpl.java
...ervice/lims/soil/service/impl/SoilEntrustServiceImpl.java
+366
-10
SoilExperimentServiceImpl.java
...ice/lims/soil/service/impl/SoilExperimentServiceImpl.java
+39
-20
SoilPrepareServiceImpl.java
...ervice/lims/soil/service/impl/SoilPrepareServiceImpl.java
+13
-0
SoilSampleBackupServiceImpl.java
...e/lims/soil/service/impl/SoilSampleBackupServiceImpl.java
+12
-0
SoilSampleOperationServiceImpl.java
...ims/soil/service/impl/SoilSampleOperationServiceImpl.java
+3
-0
SoilSampleServiceImpl.java
...service/lims/soil/service/impl/SoilSampleServiceImpl.java
+71
-0
SoilExperimentMapper.xml
src/main/resources/mapper/soil/SoilExperimentMapper.xml
+15
-1
SoilPrepareMapper.xml
src/main/resources/mapper/soil/SoilPrepareMapper.xml
+6
-0
SoilPrepareRecordExport.xlsx
...in/resources/templates/excel/SoilPrepareRecordExport.xlsx
+0
-0
SoilSampleImport.xlsx
...ain/resources/templates/excel/input/SoilSampleImport.xlsx
+0
-0
修改菜单名称.sql
src/test/java/resources/db_base_sql/v1/0/2/修改菜单名称.sql
+2
-0
新增字段.sql
src/test/java/resources/db_sql/v1/0/2/新增字段.sql
+6
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/common/StringHandleUtils.java
View file @
2d77bb1f
...
...
@@ -11,6 +11,7 @@ import org.apache.poi.xwpf.usermodel.XWPFTable;
import
org.apache.poi.xwpf.usermodel.XWPFTableCell
;
import
org.openxmlformats.schemas.wordprocessingml.x2006.main.*
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Method
;
import
java.util.*
;
import
java.util.regex.Matcher
;
...
...
@@ -75,6 +76,24 @@ public class StringHandleUtils {
}
public
static
boolean
isAllFieldNull
(
Object
object
)
{
Class
clazz
=
object
.
getClass
();
Field
[]
fields
=
clazz
.
getDeclaredFields
();
try
{
for
(
Field
field:
fields
)
{
field
.
setAccessible
(
true
);
Object
value
=
field
.
get
(
object
);
if
(
value
!=
null
){
return
false
;
}
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
return
true
;
}
public
static
String
join
(
Collection
<
String
>
collection
)
{
return
join
(
collection
,
"、"
);
}
...
...
src/main/java/com/patzn/cloud/service/lims/common/StringStaticDataUtils.java
View file @
2d77bb1f
...
...
@@ -32,6 +32,8 @@ public final class StringStaticDataUtils {
public
static
final
String
MSG_TITLE_QC_TASK
=
"新的质控编制任务"
;
public
static
final
Map
<
String
,
List
<
String
>>
mapItemFlows
=
new
HashMap
<>();
static
{
List
<
String
>
draftItemList
=
new
ArrayList
<>();
draftItemList
.
add
(
"ALLOT"
);
...
...
@@ -247,4 +249,6 @@ public final class StringStaticDataUtils {
"编\n"
+
"号"
);
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilEntrustController.java
View file @
2d77bb1f
...
...
@@ -550,4 +550,19 @@ public class SoilEntrustController extends ServiceController {
@ApiOperation
(
value
=
"编辑导入试验委托单 EXCEL"
,
notes
=
"导入导入试验委托单 EXCEL 的数据内容"
)
@PostMapping
(
"/edit_import_entrust/"
)
public
RestResult
<
Boolean
>
editImportEntrust
(
@RequestParam
(
"id"
)
Long
id
,
MultipartFile
file
)
{
return
success
(
soilEntrustService
.
editImportEntrust
(
id
,
file
,
getAccount
()));
}
@ApiOperation
(
value
=
"导出开土制备记录"
,
notes
=
"导出开土制备记录"
)
@GetMapping
(
"/export_soil_prepare_record"
)
public
void
exportSoilPrepareRecord
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
soilEntrustService
.
exportSoilPrepareRecord
(
ids
,
response
,
getAccount
());
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilExperimentController.java
View file @
2d77bb1f
...
...
@@ -114,6 +114,17 @@ public class SoilExperimentController extends ServiceController {
}
@ApiOperation
(
value
=
"试验项目分配调整"
,
notes
=
"试验项目分配调整"
)
@PostMapping
(
"/change_exp_allot"
)
public
RestResult
<
Boolean
>
changeExpAllot
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
@RequestParam
(
"user"
)
String
user
,
@RequestParam
(
"userId"
)
Long
userId
)
{
return
success
(
soilExperimentService
.
changeExpAllot
(
ids
,
user
,
userId
,
getAccount
()));
}
@ApiOperation
(
value
=
"试验项目检测完成"
,
notes
=
"试验项目检测完成"
)
@PostMapping
(
"/end_exp"
)
public
RestResult
<
Boolean
>
endExp
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
...
...
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilPrepareController.java
View file @
2d77bb1f
...
...
@@ -240,4 +240,11 @@ public class SoilPrepareController extends ServiceController {
return
success
(
soilPrepareService
.
handleOk
(
ids
,
getAccount
()));
}
@ApiOperation
(
value
=
"批量修改余样信息"
,
notes
=
"批量修改余样信息"
)
@PostMapping
(
"/bath_update_surplus_info"
)
public
RestResult
<
Boolean
>
bathUpdateSurplusInfo
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
SoilPrepare
prepare
)
{
return
success
(
soilPrepareService
.
bathUpdateSurplusInfo
(
ids
,
prepare
,
getAccount
()));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilSampleBackupController.java
View file @
2d77bb1f
...
...
@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.soil.controller;
import
java.util.List
;
import
com.google.common.collect.Lists
;
import
com.patzn.cloud.service.soil.entity.SoilSample
;
import
com.patzn.cloud.service.soil.entity.SoilSampleBackup
;
import
com.patzn.cloud.service.soil.enums.SoilBackupStatusEnum
;
import
com.patzn.cloud.service.soil.vo.SoilSampleBackupVO
;
...
...
@@ -201,4 +202,11 @@ public class SoilSampleBackupController extends ServiceController {
return
success
(
soilSampleBackupService
.
handleOk
(
ids
,
getAccount
()));
}
@ApiOperation
(
value
=
"批量修改备样信息"
,
notes
=
"批量修改备样信息"
)
@PostMapping
(
"/bath_update_backup_info"
)
public
RestResult
<
Boolean
>
bathUpdateBackupInfo
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
SoilSampleBackup
backup
)
{
return
success
(
soilSampleBackupService
.
bathUpdateBackupInfo
(
ids
,
backup
,
getAccount
()));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilSampleController.java
View file @
2d77bb1f
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
controller
;
import
java.util.List
;
import
java.util.Map
;
import
com.google.common.collect.Lists
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.service.soil.dto.SoilPrepareDTO
;
import
com.patzn.cloud.service.soil.enums.SoilExpStatusEnum
;
import
com.patzn.cloud.service.soil.enums.SoilPrepareStatusEnum
;
...
...
@@ -24,6 +26,7 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* <p>
...
...
@@ -392,6 +395,14 @@ public class SoilSampleController extends ServiceController {
@ApiOperation
(
value
=
"留存样品检测"
,
notes
=
"留存样品检测"
)
@PostMapping
(
"/retain_sample_test"
)
public
RestResult
<
Boolean
>
retainSampleTest
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
soilSampleService
.
retainSampleTest
(
ids
,
getAccount
()));
}
@ApiOperation
(
value
=
"批量填写土质描述"
,
notes
=
"批量填写土质描述"
)
@PostMapping
(
"/write_soil_detail"
)
public
RestResult
<
Boolean
>
writeSoilDetail
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
@RequestParam
(
"detail"
)
String
detail
)
{
...
...
@@ -451,4 +462,16 @@ public class SoilSampleController extends ServiceController {
return
success
(
soilSampleService
.
sampleRetain
(
ids
,
locationId
,
receiveLocation
,
getAccount
()));
}
/**
* 原始记录数据绑定
*/
@ApiOperation
(
value
=
"原始记录数据绑定"
,
notes
=
"原始记录数据绑定"
)
@ResponseBody
@GetMapping
(
"/original_record_data_bind"
)
public
RestResult
<
Map
<
String
,
Object
>>
originalRecordDataBind
(
@RequestParam
(
"sampleId"
)
Long
sampleId
,
@RequestParam
(
"modelId"
)
Long
modelId
)
{
return
success
(
soilSampleService
.
originalRecordDataBind
(
sampleId
,
modelId
,
getAccount
()));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilEntrustService.java
View file @
2d77bb1f
...
...
@@ -13,6 +13,8 @@ import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO;
import
com.patzn.cloud.service.soil.vo.SoilEntrustVO
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
/**
* <p>
* 土工试验委托表 服务类
...
...
@@ -76,4 +78,8 @@ public interface ISoilEntrustService extends IBaseService<SoilEntrust> {
Page
<
SoilEntrustVO
>
pageVOTake
(
Page
<
SoilEntrustVO
>
page
,
SoilEntrustVO
soilEntrust
);
void
changeStatus
(
SoilEntrustStatusEnum
receive
,
SoilEntrustStatusEnum
send
,
List
<
Long
>
entrustIds
,
Account
account
,
String
样品接收完成
);
boolean
editImportEntrust
(
Long
id
,
MultipartFile
file
,
Account
account
);
void
exportSoilPrepareRecord
(
Long
[]
ids
,
HttpServletResponse
response
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilExperimentService.java
View file @
2d77bb1f
...
...
@@ -59,4 +59,6 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
boolean
parseTxt
(
SmbFile
smbFile
,
CollectDataType
request
);
boolean
importExperiments
(
Long
[]
ids
,
Long
[]
aptitudeIds
,
Account
account
);
boolean
changeExpAllot
(
Long
[]
ids
,
String
user
,
Long
userId
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilPrepareService.java
View file @
2d77bb1f
...
...
@@ -42,4 +42,6 @@ public interface ISoilPrepareService extends IBaseService<SoilPrepare> {
Page
<
SoilPrepareVO
>
pagePrepareVO
(
Page
<
SoilPrepareVO
>
page
,
SoilPrepareVO
soilPrepare
);
List
<
SoilPrepareVO
>
listVOTake
(
SoilPrepareVO
prepareVO
,
List
<
Long
>
groupIds
);
boolean
bathUpdateSurplusInfo
(
Long
[]
ids
,
SoilPrepare
prepare
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilSampleBackupService.java
View file @
2d77bb1f
...
...
@@ -37,4 +37,6 @@ public interface ISoilSampleBackupService extends IBaseService<SoilSampleBackup>
boolean
disposalFail
(
Long
[]
ids
,
String
reason
,
Account
account
);
boolean
handleOk
(
Long
[]
ids
,
Account
account
);
boolean
bathUpdateBackupInfo
(
Long
[]
ids
,
SoilSampleBackup
backup
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilSampleService.java
View file @
2d77bb1f
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
service
;
import
java.util.List
;
import
java.util.Map
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.controller.Account
;
...
...
@@ -10,6 +11,7 @@ import com.patzn.cloud.service.soil.entity.SoilPrepare;
import
com.patzn.cloud.service.soil.entity.SoilSample
;
import
com.patzn.cloud.service.soil.vo.SoilPrepareVO
;
import
com.patzn.cloud.service.soil.vo.SoilSampleVO
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* <p>
...
...
@@ -36,6 +38,9 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
Page
<
SoilSampleVO
>
pageVO
(
Page
<
SoilSampleVO
>
page
,
SoilSampleVO
soilSample
);
List
<
SoilSampleVO
>
initItemInfo
(
List
<
SoilSampleVO
>
sampleVOList
);
boolean
receiveSample
(
Long
[]
ids
,
Long
locationId
,
String
receiveLocation
,
Account
account
);
boolean
sendSample
(
Long
[]
ids
,
Account
account
);
...
...
@@ -57,4 +62,12 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
Page
<
SoilSampleVO
>
pageLocationSample
(
Page
<
SoilSampleVO
>
page
,
SoilSampleVO
soilSample
);
boolean
sampleRetain
(
Long
[]
ids
,
Long
locationId
,
String
location
,
Account
account
);
boolean
retainSampleTest
(
Long
[]
ids
,
Account
account
);
boolean
importSample
(
MultipartFile
file
,
Long
entrustId
,
Account
account
);
List
<
SoilSample
>
listByContractIdForPrepare
(
Long
entrustId
);
Map
<
String
,
Object
>
originalRecordDataBind
(
Long
sampleId
,
Long
modelId
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilEntrustServiceImpl.java
View file @
2d77bb1f
...
...
@@ -10,6 +10,7 @@ import com.google.common.collect.Maps;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.controller.LoginHelper
;
import
com.patzn.cloud.commons.toolkit.DateUtils
;
import
com.patzn.cloud.commons.toolkit.StringHandleUtils
;
import
com.patzn.cloud.feign.lims.base.client.LmsCodeRuleClient
;
import
com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient
;
...
...
@@ -18,6 +19,7 @@ import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import
com.patzn.cloud.service.lims.base.enums.CodeTypeEnum
;
import
com.patzn.cloud.service.lims.common.MyComparator
;
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.soil.dto.SoilEntrustDTO
;
...
...
@@ -37,10 +39,10 @@ import com.patzn.poibox.xwpf.HSSFWorkbookUtil;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.
xssf.usermodel.XSSFCell
;
import
org.apache.poi.
xssf.usermodel.XSSFRow
;
import
org.apache.poi.
xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.
XSSFWorkbook
;
import
org.apache.poi.
ss.usermodel.HorizontalAlignment
;
import
org.apache.poi.
ss.usermodel.VerticalAlignment
;
import
org.apache.poi.
ss.util.CellRangeAddress
;
import
org.apache.poi.xssf.usermodel.
*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
...
...
@@ -49,6 +51,8 @@ import com.baomidou.mybatisplus.plugins.Page;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
/**
* <p>
* 土工试验委托表 服务实现类
...
...
@@ -83,25 +87,24 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
@Autowired
private
ISoilExperimentOperationService
soilExperimentOperationService
;
@Autowired
private
ISoilItemService
soilItemService
;
@Autowired
private
I
SoilEntrustOperationService
soilEntrustOperation
Service
;
private
I
ExportService
export
Service
;
@Autowired
private
ISoilEntrustOperationService
soilEntrustOperationService
;
@Autowired
private
ISoilReportService
soilReportService
;
@Autowired
private
ISoilAptitudeExpService
soilAptitudeExpService
;
@Autowired
private
LmsUserGroupClient
userGroupClient
;
@Autowired
private
ISoilPrepareService
soilPrepareService
;
...
...
@@ -146,8 +149,6 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
saveEntrustDTO
(
SoilEntrustDTO
dto
,
Account
account
)
{
RestAssert
.
fail
(
StringUtils
.
isBlank
(
dto
.
getClient
()),
"委托商不能为空!"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
dto
.
getBoreholeName
()),
"钻孔名称不能为空!"
);
SoilEntrust
soilEntrust
=
dto
.
convert
(
SoilEntrust
.
class
);
soilEntrust
.
setStatus
(
SoilEntrustStatusEnum
.
DRAFT
);
soilEntrust
.
setProgress
(
SoilEntrustStatusEnum
.
DRAFT
);
...
...
@@ -611,6 +612,361 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
editImportEntrust
(
Long
id
,
MultipartFile
file
,
Account
account
)
{
RestAssert
.
fail
(
null
==
id
,
"请选择试验委托单"
);
SoilEntrust
soilEntrust
=
super
.
getById
(
id
);
RestAssert
.
fail
(
null
==
soilEntrust
,
"试验委托单不存在!"
);
InputStream
is
=
null
;
XSSFWorkbook
workbook
=
null
;
try
{
is
=
file
.
getInputStream
();
workbook
=
new
XSSFWorkbook
(
is
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
XSSFSheet
sheet
=
workbook
.
getSheetAt
(
0
);
int
num
=
sheet
.
getLastRowNum
();
Map
<
Integer
,
String
>
itemIndexMap
=
new
HashMap
<>();
Map
<
String
,
Map
<
String
,
String
>>
sampleInfoMap
=
new
TreeMap
<>(
new
MyComparator
());
String
gch
=
""
;
String
client
=
""
;
String
zkmc
=
""
;
String
zkwz
=
""
;
String
ss
=
""
;
boolean
endEn
=
false
;
for
(
int
i
=
0
;
i
<
num
;
i
++)
{
XSSFRow
row
=
sheet
.
getRow
(
i
);
short
lastCellNum
=
row
.
getLastCellNum
();
XSSFCell
cell0
=
row
.
getCell
(
0
);
String
cellValue0
=
HSSFWorkbookUtil
.
getJavaValue
(
cell0
).
toString
();
if
(!
"样品编号"
.
equals
(
cellValue0
.
replace
(
"\n"
,
""
))){
for
(
int
j
=
0
;
j
<
lastCellNum
;
j
++)
{
XSSFCell
cell
=
row
.
getCell
(
j
);
String
cellValue
=
HSSFWorkbookUtil
.
getJavaValue
(
cell
).
toString
();
if
(
"平均容重"
.
equals
(
cellValue
)){
for
(
int
m
=
j
+
1
;
m
<
lastCellNum
;
m
++)
{
String
value
=
HSSFWorkbookUtil
.
getJavaValue
(
row
.
getCell
(
m
)).
toString
();
if
(
StringUtils
.
isNotBlank
(
value
)){
gch
=
value
;
break
;
}
}
}
else
if
(
"委托商"
.
equals
(
cellValue
)){
for
(
int
m
=
j
+
1
;
m
<
lastCellNum
;
m
++)
{
String
value
=
HSSFWorkbookUtil
.
getJavaValue
(
row
.
getCell
(
m
)).
toString
();
if
(
StringUtils
.
isNotBlank
(
value
)){
client
=
value
;
break
;
}
}
}
else
if
(
"钻孔名称"
.
equals
(
cellValue
)){
for
(
int
m
=
j
+
1
;
m
<
lastCellNum
;
m
++)
{
String
value
=
HSSFWorkbookUtil
.
getJavaValue
(
row
.
getCell
(
m
)).
toString
();
if
(
StringUtils
.
isNotBlank
(
value
)){
zkmc
=
value
;
break
;
}
}
}
else
if
(
"钻孔位置"
.
equals
(
cellValue
)){
for
(
int
m
=
j
+
1
;
m
<
lastCellNum
;
m
++)
{
String
value
=
HSSFWorkbookUtil
.
getJavaValue
(
row
.
getCell
(
m
)).
toString
();
if
(
StringUtils
.
isNotBlank
(
value
)){
zkwz
=
value
;
break
;
}
}
}
else
if
(
"水 深, m"
.
equals
(
cellValue
)||
"水深, m"
.
equals
(
cellValue
)||
"水深"
.
equals
(
cellValue
)){
for
(
int
m
=
j
+
1
;
m
<
lastCellNum
;
m
++)
{
String
value
=
HSSFWorkbookUtil
.
getJavaValue
(
row
.
getCell
(
m
)).
toString
();
if
(
StringUtils
.
isNotBlank
(
value
)){
ss
=
value
;
if
(
StringUtils
.
isNotBlank
(
ss
)){
try
{
new
BigDecimal
(
ss
);
}
catch
(
Exception
e
){
RestAssert
.
fail
(
"水深请填写数字"
);
}
}
endEn
=
true
;
break
;
}
}
}
if
(
endEn
){
break
;
}
}
if
(
endEn
){
break
;
}
}
}
for
(
int
i
=
0
;
i
<
num
;
i
++)
{
XSSFRow
row
=
sheet
.
getRow
(
i
);
short
lastCellNum
=
row
.
getLastCellNum
();
XSSFCell
cell0
=
row
.
getCell
(
0
);
String
cellValue0
=
HSSFWorkbookUtil
.
getJavaValue
(
cell0
).
toString
();
if
(
StringUtils
.
isBlank
(
cellValue0
)){
continue
;
}
if
(
"样品编号"
.
equals
(
cellValue0
.
replace
(
"\n"
,
""
))){
if
(
itemIndexMap
.
size
()==
0
){
for
(
int
j
=
0
;
j
<
lastCellNum
;
j
++)
{
XSSFCell
cell
=
row
.
getCell
(
j
);
String
cellValue
=
HSSFWorkbookUtil
.
getJavaValue
(
cell
).
toString
().
replace
(
"\n"
,
""
).
replace
(
" "
,
""
).
trim
();
itemIndexMap
.
put
(
j
,
cellValue
);
}
}
}
if
(
itemIndexMap
.
size
()>
0
){
if
(
StringHandleUtils
.
isNumeric
(
cellValue0
)||
!
StringStaticDataUtils
.
importEntrustTitle
.
contains
(
cellValue0
.
trim
())){
sampleInfoMap
.
put
(
cellValue0
,
Maps
.
newHashMap
());
Map
<
String
,
String
>
mapInfo
=
sampleInfoMap
.
get
(
cellValue0
);
for
(
int
j
=
0
;
j
<
lastCellNum
;
j
++)
{
String
key
=
itemIndexMap
.
get
(
j
);
if
(
StringUtils
.
isBlank
(
key
)){
continue
;
}
XSSFCell
cell
=
row
.
getCell
(
j
);
String
cellValue
=
HSSFWorkbookUtil
.
getJavaValue
(
cell
).
toString
().
trim
();
if
(
StringUtils
.
isBlank
(
cellValue
)){
continue
;
}
mapInfo
.
put
(
key
,
cellValue
);
}
sampleInfoMap
.
put
(
cellValue0
,
mapInfo
);
}
}
}
System
.
out
.
println
(
sampleInfoMap
.
toString
());
SoilEntrust
entrust
=
new
SoilEntrust
();
if
(
StringUtils
.
isBlank
(
soilEntrust
.
getClient
())){
entrust
.
setClient
(
client
);
}
if
(
null
==
soilEntrust
.
getEntrustDate
()){
entrust
.
setEntrustDate
(
new
Date
());
}
if
(
null
==
soilEntrust
.
getWaterDepth
()){
entrust
.
setWaterDepth
(
new
BigDecimal
(
ss
));
}
if
(
StringUtils
.
isBlank
(
soilEntrust
.
getBoreholeLocation
())){
entrust
.
setBoreholeLocation
(
zkwz
);
}
if
(
StringUtils
.
isBlank
(
soilEntrust
.
getBoreholeName
())){
entrust
.
setBoreholeName
(
zkmc
);
}
if
(
StringUtils
.
isBlank
(
soilEntrust
.
getProjectNo
())){
entrust
.
setProjectNo
(
gch
);
}
SoilEntrustDTO
dto
=
entrust
.
convert
(
SoilEntrustDTO
.
class
);
List
<
SoilSampleDTO
>
sampleDTOS
=
new
ArrayList
<>();
dto
.
setId
(
id
);
List
<
SoilAptitudeExp
>
aptitudeExpList
=
soilAptitudeExpService
.
list
(
Condition
.
create
());
Map
<
String
,
SoilAptitudeExp
>
expMap
=
new
HashMap
<>();
for
(
SoilAptitudeExp
soilAptitudeExp:
aptitudeExpList
)
{
expMap
.
put
(
soilAptitudeExp
.
getName
(),
soilAptitudeExp
);
}
for
(
Map
.
Entry
<
String
,
Map
<
String
,
String
>>
e:
sampleInfoMap
.
entrySet
())
{
String
eKey
=
e
.
getKey
();
if
(
"0"
.
equals
(
eKey
)){
continue
;
}
Map
<
String
,
String
>
itemMap
=
e
.
getValue
();
SoilSampleDTO
sampleDTO
=
new
SoilSampleDTO
();
sampleDTO
.
setSiteNo
(
"S-"
+
e
.
getKey
());
sampleDTO
.
setSampleDepth
(
itemMap
.
get
(
"深度(m)"
));
sampleDTO
.
setSamplePack
(
itemMap
.
get
(
"样品包装类型"
));
sampleDTO
.
setSampleDescribe
(
itemMap
.
get
(
"土质描述"
));
List
<
SoilExperiment
>
experimentList
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
String
>
s:
itemMap
.
entrySet
())
{
String
key
=
s
.
getKey
();
String
value
=
s
.
getValue
();
if
(
"深度(m)"
.
equals
(
key
)){
continue
;
}
else
if
(
"样品包装类型"
.
equals
(
key
)){
continue
;
}
else
if
(
"土质描述"
.
equals
(
key
)){
continue
;
}
else
if
(
"样品编号"
.
equals
(
key
)){
continue
;
}
else
if
(
"C"
.
equals
(
value
)){
continue
;
}
else
if
(
""
.
equals
(
value
)){
continue
;
}
else
if
(
"Ö"
.
equals
(
value
)){
SoilExperiment
experiment
=
new
SoilExperiment
();
experiment
.
setName
(
key
);
SoilAptitudeExp
soilAptitudeExp
=
expMap
.
get
(
key
);
if
(
null
!=
soilAptitudeExp
){
experiment
.
setGroupName
(
soilAptitudeExp
.
getGroupName
());
experiment
.
setGroupId
(
soilAptitudeExp
.
getGroupId
());
experiment
.
setShortName
(
soilAptitudeExp
.
getShortName
());
experiment
.
setTestBasis
(
soilAptitudeExp
.
getTestBasis
());
experiment
.
setTestMethod
(
soilAptitudeExp
.
getTestMethod
());
experiment
.
setElName
(
soilAptitudeExp
.
getElName
());
experiment
.
setMainType
(
soilAptitudeExp
.
getMainType
());
experiment
.
setSmallType
(
soilAptitudeExp
.
getSmallType
());
}
experiment
.
setStatus
(
SoilExpStatusEnum
.
DRAFT
);
experiment
.
setProgress
(
SoilExpStatusEnum
.
DRAFT
);
experimentList
.
add
(
experiment
);
}
}
sampleDTO
.
setEntrustId
(
id
);
sampleDTO
.
setExperimentList
(
experimentList
);
sampleDTOS
.
add
(
sampleDTO
);
}
dto
.
setSampleList
(
sampleDTOS
);
if
(
editEntrust
(
dto
,
account
)){
return
true
;
}
return
false
;
}
@Override
public
void
exportSoilPrepareRecord
(
Long
[]
ids
,
HttpServletResponse
response
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要导出的试验委托单"
);
for
(
Long
entrustId:
ids
)
{
SoilEntrust
entrust
=
getById
(
entrustId
);
List
<
SoilSample
>
sampleListPre
=
soilSampleService
.
listByContractIdForPrepare
(
entrustId
);
List
<
SoilSampleVO
>
sampleList
=
new
ArrayList
<>();
List
<
Long
>
sampleIdsList
=
new
ArrayList
<>();
for
(
SoilSample
sample:
sampleListPre
)
{
sampleList
.
add
(
sample
.
convert
(
SoilSampleVO
.
class
));
sampleIdsList
.
add
(
sample
.
getId
());
}
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"#{boreholeName}"
,
StringHandleUtils
.
getString
(
entrust
.
getBoreholeName
()));
map
.
put
(
"#{client}"
,
StringHandleUtils
.
getString
(
entrust
.
getClient
()));
map
.
put
(
"#{projectNo}"
,
StringHandleUtils
.
getString
(
entrust
.
getProjectNo
()));
map
.
put
(
"#{entrustCode}"
,
"报告编号:"
+
StringHandleUtils
.
getString
(
entrust
.
getEntrustCode
()));
map
.
put
(
"#{waterDepth}"
,
null
==
entrust
.
getWaterDepth
()?
""
:
entrust
.
getWaterDepth
().
toString
());
List
<
SoilPrepare
>
soilPrepares
=
soilPrepareService
.
list
(
Condition
.
create
().
setSqlSelect
(
"prepare_date"
).
in
(
"sample_id"
,
sampleIdsList
).
isNotNull
(
"prepare_date"
));
if
(
CollectionUtils
.
isNotEmpty
(
soilPrepares
)){
List
<
Date
>
listDate
=
soilPrepares
.
stream
().
map
(
p
->{
return
p
.
getPrepareDate
();
}).
collect
(
Collectors
.
toList
());
String
s
=
DateUtils
.
getMinToMaxDate
(
listDate
);
map
.
put
(
"#{openDate}"
,
s
);
}
else
{
map
.
put
(
"#{openDate}"
,
""
);
}
RestAssert
.
fail
(
CollectionUtils
.
isEmpty
(
sampleList
),
"委托项目"
+
entrust
.
getBoreholeName
()+
"不含样品"
);
XSSFWorkbook
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"SoilPrepareRecordExport.xlsx"
);
XSSFSheet
sheet
=
xssfWorkbook
.
getSheetAt
(
0
);
System
.
out
.
println
(
sheet
.
getSheetName
());
XSSFRow
row7
=
sheet
.
getRow
(
7
);
XSSFCellStyle
xssfCellStyle
=
row7
.
getCell
(
1
).
getCellStyle
();
HSSFWorkbookUtil
.
replaceModel
(
map
,
xssfWorkbook
);
xssfCellStyle
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
xssfCellStyle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
soilSampleService
.
initItemInfo
(
sampleList
);
int
index
=
7
;
int
length
=
sampleList
.
size
();
if
(
length
<=
10
){
}
else
{
int
createSize
=
length
-
10
;
for
(
int
i
=
0
;
i
<
createSize
;
i
++)
{
sheet
.
shiftRows
(
16
+
i
,
sheet
.
getLastRowNum
(),
1
,
true
,
false
);
XSSFRow
row
=
sheet
.
createRow
(
16
+
i
);
row
.
setHeight
(
row7
.
getHeight
());
for
(
int
j
=
0
;
j
<
12
;
j
++)
{
XSSFCell
cell
=
row
.
createCell
(
j
);
cell
.
setCellStyle
(
xssfCellStyle
);
}
CellRangeAddress
region1
=
new
CellRangeAddress
(
16
+
i
,
16
+
i
,
2
,
3
);
CellRangeAddress
region2
=
new
CellRangeAddress
(
16
+
i
,
16
+
i
,
4
,
5
);
CellRangeAddress
region3
=
new
CellRangeAddress
(
16
+
i
,
16
+
i
,
7
,
9
);
sheet
.
addMergedRegion
(
region1
);
sheet
.
addMergedRegion
(
region2
);
sheet
.
addMergedRegion
(
region3
);
}
}
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
SoilSampleVO
sample
=
sampleList
.
get
(
i
);
XSSFRow
row
=
sheet
.
getRow
(
index
+
i
);
XSSFCell
cell
=
row
.
getCell
(
0
);
cell
.
setCellValue
(
i
+
1
);
XSSFCell
cellPack
=
row
.
getCell
(
1
);
cellPack
.
setCellValue
(
sample
.
getSamplePack
());
XSSFCell
cell1SampleCode
=
row
.
getCell
(
2
);
cell1SampleCode
.
setCellValue
(
sample
.
getSampleCode
());
XSSFCell
cell1Site
=
row
.
getCell
(
4
);
cell1Site
.
setCellValue
(
sample
.
getSiteNo
());
XSSFCell
cell1Shen
=
row
.
getCell
(
6
);
cell1Shen
.
setCellValue
(
sample
.
getSampleDepth
());
XSSFCell
cell1Desc
=
row
.
getCell
(
7
);
cell1Desc
.
setCellValue
(
sample
.
getDescribeDetail
());
XSSFCell
cell1Item
=
row
.
getCell
(
10
);
cell1Item
.
setCellValue
(
sample
.
getExperimentShortNames
());
}
exportService
.
downloadXlsx
(
response
,
entrust
.
getBoreholeName
()+
".xlsx"
,
xssfWorkbook
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
importEntrust
(
MultipartFile
file
,
Account
account
)
{
InputStream
is
=
null
;
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExperimentServiceImpl.java
View file @
2d77bb1f
...
...
@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.mapper.Condition;
import
com.baomidou.mybatisplus.toolkit.ArrayUtils
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.toolkit.IdWorker
;
import
com.google.common.collect.Lists
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.toolkit.FileUtils
;
...
...
@@ -76,6 +77,10 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Autowired
private
OssClient
ossClient
;
@Autowired
private
ISoilOriginalRecordService
soilOriginalRecordService
;
@Override
public
Page
<
SoilExperiment
>
page
(
Page
<
SoilExperiment
>
page
,
SoilExperiment
soilExperiment
)
{
Wrapper
wrapper
=
new
EntityWrapper
<>(
soilExperiment
);
...
...
@@ -123,6 +128,26 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
changeExpAllot
(
Long
[]
ids
,
String
user
,
Long
userId
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要调整分配的试验项目"
);
int
count
=
super
.
count
(
Condition
.
create
().
in
(
"id"
,
ids
).
eq
(
"status"
,
SoilExpStatusEnum
.
TEST
));
RestAssert
.
fail
(
count
!=
ids
.
length
,
"请选择未检测完成的试验项目"
);
RestAssert
.
fail
(
null
==
userId
||
StringUtils
.
isEmpty
(
user
),
"请选择要分配给的试验员"
);
SoilExperiment
experiment
=
new
SoilExperiment
();
experiment
.
setTesterId
(
userId
);
experiment
.
setTester
(
user
);
if
(
update
(
experiment
,
Condition
.
create
().
in
(
"id"
,
ids
))){
soilExperimentOperationService
.
recordAllotInfo
(
ids
,
account
);
soilExperimentRecordService
.
record
(
ids
,
SoilExpStatusEnum
.
TEST
,
SoilExpStatusEnum
.
TEST
,
0
,
account
,
"试验项目重新分配给:"
+
user
);
}
return
true
;
}
@Override
public
Page
<
SoilExperimentVO
>
pageBySampleIds
(
Page
<
SoilExperimentVO
>
page
,
Long
[]
sampleIds
,
SoilExperimentVO
vo
)
{
return
page
.
setRecords
(
initOriginalRecord
(
baseMapper
.
selectListBySampleIds
(
page
,
sampleIds
,
vo
)));
...
...
@@ -234,11 +259,11 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
public
boolean
entrustStatusChange
(
List
<
Long
>
sampleIds
){
List
<
SoilSample
>
sampleList
=
soilSampleService
.
list
(
Condition
.
create
().
setSqlSelect
(
"id,entrust_id"
).
in
(
"id"
,
sampleIds
));
List
<
SoilSample
>
sampleList
=
soilSampleService
.
list
(
Condition
.
create
().
setSqlSelect
(
"id,entrust_id"
).
in
(
"id"
,
sampleIds
)
.
ne
(
"status"
,
SoilSampleStatusEnum
.
RETAIN
)
);
List
<
Long
>
entrustIds
=
sampleList
.
stream
().
map
(
e
->{
return
e
.
getEntrustId
();
}).
collect
(
Collectors
.
toList
());
List
<
SoilSample
>
notOkEntrust
=
soilSampleService
.
list
(
Condition
.
create
().
setSqlSelect
(
"entrust_id"
).
in
(
"entrust_id"
,
entrustIds
).
n
e
(
"status"
,
SoilSampleStatusEnum
.
END
).
groupBy
(
"entrust_id"
));
List
<
SoilSample
>
notOkEntrust
=
soilSampleService
.
list
(
Condition
.
create
().
setSqlSelect
(
"entrust_id"
).
in
(
"entrust_id"
,
entrustIds
).
n
otIn
(
"status"
,
Lists
.
newArrayList
(
SoilSampleStatusEnum
.
END
,
SoilSampleStatusEnum
.
RETAIN
)
).
groupBy
(
"entrust_id"
));
List
<
Long
>
notOkEntrustIds
=
notOkEntrust
.
stream
().
map
(
e
->{
return
e
.
getEntrustId
();
}).
collect
(
Collectors
.
toList
());
...
...
@@ -312,7 +337,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Override
public
boolean
bathUpdateInfo
(
Long
[]
ids
,
SoilExperiment
experiment
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要修改的试验项目"
);
if
(
isAllFieldNull
(
experiment
)){
if
(
StringHandleUtils
.
isAllFieldNull
(
experiment
)){
RestAssert
.
fail
(
"请填写试验项目信息"
);
}
return
super
.
update
(
experiment
,
Condition
.
create
().
in
(
"id"
,
ids
));
...
...
@@ -425,22 +450,6 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
public
static
boolean
isAllFieldNull
(
Object
object
)
{
Class
clazz
=
object
.
getClass
();
Field
[]
fields
=
clazz
.
getDeclaredFields
();
try
{
for
(
Field
field:
fields
)
{
field
.
setAccessible
(
true
);
Object
value
=
field
.
get
(
object
);
if
(
value
!=
null
){
return
false
;
}
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
return
true
;
}
public
List
<
SoilExperimentVO
>
initOriginalRecord
(
List
<
SoilExperimentVO
>
voList
){
if
(
CollectionUtils
.
isEmpty
(
voList
)){
...
...
@@ -455,16 +464,26 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
return
voList
;
}
List
<
Long
>
originalIds
=
new
ArrayList
<>();
Map
<
Long
,
Long
>
map
=
new
HashMap
<>();
for
(
SoilExpRelOriginalRecord
expRelOriginalRecord:
relOriginalRecordList
)
{
map
.
put
(
expRelOriginalRecord
.
getExpId
(),
expRelOriginalRecord
.
getRecordId
());
originalIds
.
add
(
expRelOriginalRecord
.
getRecordId
());
}
List
<
SoilOriginalRecord
>
soilOriginalRecordList
=
soilOriginalRecordService
.
list
(
Condition
.
create
().
in
(
"id"
,
originalIds
));
Map
<
Long
,
Long
>
mapSoilOriginalRecord
=
new
HashMap
<>();
for
(
SoilOriginalRecord
originalRecord:
soilOriginalRecordList
)
{
mapSoilOriginalRecord
.
put
(
originalRecord
.
getId
(),
originalRecord
.
getOriginalRecordId
());
}
for
(
SoilExperimentVO
vo:
voList
)
{
if
(
null
==
map
.
get
(
vo
.
getId
())){
vo
.
setRecorded
(
"否"
);
}
else
{
vo
.
setRecorded
(
"是"
);
vo
.
setRecordId
(
map
.
get
(
vo
.
getId
(
)));
vo
.
setRecordId
(
map
SoilOriginalRecord
.
get
(
map
.
get
(
vo
.
getId
()
)));
}
}
return
voList
;
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilPrepareServiceImpl.java
View file @
2d77bb1f
...
...
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.mapper.Condition;
import
com.baomidou.mybatisplus.toolkit.ArrayUtils
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.soil.service.ISoilPrepareRecordService
;
import
com.patzn.cloud.service.soil.entity.SoilPrepare
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilPrepareMapper
;
...
...
@@ -165,4 +166,16 @@ public class SoilPrepareServiceImpl extends BaseServiceImpl<SoilPrepareMapper, S
public
List
<
SoilPrepareVO
>
listVOTake
(
SoilPrepareVO
prepareVO
,
List
<
Long
>
groupIds
)
{
return
baseMapper
.
selectTakeVOList
(
prepareVO
,
groupIds
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
bathUpdateSurplusInfo
(
Long
[]
ids
,
SoilPrepare
prepare
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要修改的余样信息"
);
if
(
StringHandleUtils
.
isAllFieldNull
(
prepare
)){
RestAssert
.
fail
(
"请填写余样信息"
);
}
return
super
.
update
(
prepare
,
Condition
.
create
().
in
(
"id"
,
ids
));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilSampleBackupServiceImpl.java
View file @
2d77bb1f
...
...
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.toolkit.ArrayUtils;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilSampleBackupMapper
;
import
com.patzn.cloud.service.lims.soil.service.ISoilSampleBackupRecordService
;
import
com.patzn.cloud.service.lims.soil.service.ISoilSampleBackupService
;
...
...
@@ -151,4 +152,15 @@ public class SoilSampleBackupServiceImpl extends BaseServiceImpl<SoilSampleBacku
return
soilSampleBackupRecordService
.
record
(
SoilBackupStatusEnum
.
DISPOSAL_OK
,
SoilBackupStatusEnum
.
HANDLE_END
,
ids
,
0
,
account
,
"备样处理完成"
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
bathUpdateBackupInfo
(
Long
[]
ids
,
SoilSampleBackup
backup
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要修改的备样信息"
);
if
(
StringHandleUtils
.
isAllFieldNull
(
backup
)){
RestAssert
.
fail
(
"请填写备样信息"
);
}
return
super
.
update
(
backup
,
Condition
.
create
().
in
(
"id"
,
ids
));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilSampleOperationServiceImpl.java
View file @
2d77bb1f
...
...
@@ -51,6 +51,9 @@ public class SoilSampleOperationServiceImpl extends BaseServiceImpl<SoilSampleOp
return
super
.
update
(
operation
,
Condition
.
create
().
in
(
"sample_id"
,
ids
));
}
@Override
public
boolean
recordSenderInfo
(
Long
[]
ids
,
Account
account
)
{
SoilSampleOperation
operation
=
new
SoilSampleOperation
();
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilSampleServiceImpl.java
View file @
2d77bb1f
...
...
@@ -6,14 +6,18 @@ import java.util.stream.Collectors;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.controller.LoginHelper
;
import
com.patzn.cloud.commons.toolkit.StringHandleUtils
;
import
com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient
;
import
com.patzn.cloud.service.lims.base.entity.LmsUserGroup
;
import
com.patzn.cloud.service.lims.common.ExcelReader
;
import
com.patzn.cloud.service.lims.common.StringStaticDataUtils
;
import
com.patzn.cloud.service.lims.soil.service.*
;
import
com.patzn.cloud.service.soil.dto.SoilPrepareDTO
;
import
com.patzn.cloud.service.soil.entity.SoilAptitudeExp
;
import
com.patzn.cloud.service.soil.entity.SoilExperiment
;
import
com.patzn.cloud.service.soil.entity.SoilPrepare
;
import
com.patzn.cloud.service.soil.entity.SoilSample
;
...
...
@@ -33,6 +37,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* <p>
...
...
@@ -92,6 +97,20 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
return
super
.
list
(
Condition
.
create
().
eq
(
"entrust_id"
,
id
));
}
@Override
public
List
<
SoilSample
>
listByContractIdForPrepare
(
Long
id
)
{
return
super
.
list
(
Condition
.
create
().
eq
(
"entrust_id"
,
id
).
ne
(
"status"
,
SoilSampleStatusEnum
.
RETAIN
).
orderBy
(
"sample_code"
));
}
@Override
public
Map
<
String
,
Object
>
originalRecordDataBind
(
Long
sampleId
,
Long
modelId
,
Account
account
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"#{client}"
,
"续点费"
);
return
map
;
}
@Override
public
boolean
checkEntrustHaveSample
(
Long
[]
entrustIds
)
{
if
(
ArrayUtils
.
isEmpty
(
entrustIds
)){
...
...
@@ -538,4 +557,56 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
soilSampleOperationService
.
recordReceiveInfo
(
ids
,
locationId
,
location
,
account
);
return
super
.
update
(
sample
,
Condition
.
create
().
in
(
"id"
,
ids
));
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
retainSampleTest
(
Long
[]
ids
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要接收的样品"
);
int
count
=
super
.
count
(
Condition
.
create
().
in
(
"id"
,
ids
).
ne
(
"status"
,
SoilSampleStatusEnum
.
RETAIN
));
RestAssert
.
fail
(
count
>
0
,
"请选择待留存的样品"
);
SoilSample
sample
=
new
SoilSample
();
sample
.
setStatus
(
SoilSampleStatusEnum
.
SEND
);
sample
.
setProgress
(
SoilSampleStatusEnum
.
SEND
);
List
<
SoilExperiment
>
experimentList
=
soilExperimentService
.
list
(
Condition
.
create
().
setSqlSelect
(
"sample_id"
).
in
(
"sample_id"
,
ids
).
groupBy
(
"sample_id"
));
RestAssert
.
fail
(
experimentList
.
size
()!=
ids
.
length
,
"请选择含有试验项目的委托"
);
if
(
super
.
update
(
sample
,
Condition
.
create
().
in
(
"id"
,
ids
))){
soilSampleRecordService
.
record
(
SoilSampleStatusEnum
.
RECEIVE
,
SoilSampleStatusEnum
.
SEND
,
ids
,
0
,
account
,
"收样室收样"
);
}
//更改委托状态
List
<
SoilSample
>
sampleList
=
super
.
list
(
Condition
.
create
().
setSqlSelect
(
"entrust_id"
).
in
(
"id"
,
ids
).
groupBy
(
"entrust_id"
));
if
(
CollectionUtils
.
isEmpty
(
sampleList
)){
return
true
;
}
List
<
Long
>
entrustIds
=
sampleList
.
stream
().
map
(
s
->{
return
s
.
getEntrustId
();
}).
collect
(
Collectors
.
toList
());
List
<
SoilSample
>
checkList
=
super
.
list
(
Condition
.
create
().
setSqlSelect
(
"entrust_id"
).
in
(
"entrust_id"
,
entrustIds
).
eq
(
"status"
,
SoilSampleStatusEnum
.
RECEIVE
));
if
(
CollectionUtils
.
isEmpty
(
checkList
)){
soilEntrustService
.
changeStatus
(
SoilEntrustStatusEnum
.
RECEIVE
,
SoilEntrustStatusEnum
.
SEND
,
entrustIds
,
account
,
"样品接收完成"
);
}
else
{
List
<
Long
>
noReceiveOkList
=
checkList
.
stream
().
map
(
s
->{
return
s
.
getEntrustId
();
}).
collect
(
Collectors
.
toList
());
for
(
Long
eId:
noReceiveOkList
)
{
if
(
entrustIds
.
contains
(
eId
)){
entrustIds
.
remove
(
eId
);
}
}
if
(
CollectionUtils
.
isNotEmpty
(
entrustIds
)){
soilEntrustService
.
changeStatus
(
SoilEntrustStatusEnum
.
RECEIVE
,
SoilEntrustStatusEnum
.
SEND
,
entrustIds
,
account
,
"样品接收完成"
);
}
}
return
sendSample
(
ids
,
account
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
importSample
(
MultipartFile
file
,
Long
entrustId
,
Account
account
)
{
return
false
;
}
}
src/main/resources/mapper/soil/SoilExperimentMapper.xml
View file @
2d77bb1f
...
...
@@ -61,6 +61,16 @@
</if>
<if
test=
"null!=vo.grouped"
>
<if
test=
"vo.grouped == 0"
>
AND t.group_id IS NULL
</if>
<if
test=
"vo.grouped == 1"
>
AND t.group_id IS NOT NULL
</if>
</if>
ORDER BY t.name ,s.sample_code
</select>
...
...
@@ -110,11 +120,15 @@
s.sample_code,
s.sample_depth,
s.describe_detail,
s.sample_pack
s.sample_pack,
o.alloter,
o.allot_time,
e.client
FROM soil_experiment t
JOIN soil_sample s ON t.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
JOIN soil_experiment_operation o ON t.id = o.experiment_id
WHERE e.deleted = 0 AND s.deleted = 0 AND t.deleted = 0
AND t.name = #{vo.name}
AND s.entrust_id = #{vo.entrustId}
...
...
src/main/resources/mapper/soil/SoilPrepareMapper.xml
View file @
2d77bb1f
...
...
@@ -32,6 +32,11 @@
<if
test=
"vo.status!=null"
>
AND p.status = #{vo.status}
</if>
<if
test=
"vo.entrustId!=null"
>
AND e.id = #{vo.entrustId}
</if>
<if
test=
"vo.sampleCode!=null"
>
AND s.sample_code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
...
...
@@ -52,6 +57,7 @@
p.id,
p.type,
p.group_name,
p.keep_location,
p.group_id,
p.quantity,
p.unit,
...
...
src/main/resources/templates/excel/SoilPrepareRecordExport.xlsx
0 → 100644
View file @
2d77bb1f
File added
src/main/resources/templates/excel/input/SoilSampleImport.xlsx
0 → 100644
View file @
2d77bb1f
File added
src/test/java/resources/db_base_sql/v1/0/2/修改菜单名称.sql
0 → 100644
View file @
2d77bb1f
UPDATE
"public"
.
"sys_resource"
SET
"system_id"
=
1304006677087891457
,
"pid"
=
1304244453771292673
,
"name"
=
'备样样品处理'
,
"type"
=
0
,
"code"
=
'sample_dispose'
,
"uri"
=
'/soil/sample/dispose'
,
"icon"
=
'pt-config'
,
"remark"
=
NULL
,
"status"
=
1
,
"sort"
=
50
,
"ctime"
=
'2020-09-11 10:46:42.391'
,
"ename"
=
NULL
WHERE
"id"
=
1304249982975455234
;
UPDATE
"public"
.
"sys_resource"
SET
"system_id"
=
1304006677087891457
,
"pid"
=
1304244453771292673
,
"name"
=
'备样样品处理'
,
"type"
=
0
,
"code"
=
'sample_dispose'
,
"uri"
=
'/soil/sample/dispose'
,
"icon"
=
'pt-config'
,
"remark"
=
NULL
,
"status"
=
1
,
"sort"
=
50
,
"ctime"
=
'2020-09-11 10:46:42.391'
,
"ename"
=
NULL
WHERE
"id"
=
1304249982975455234
;
src/test/java/resources/db_sql/v1/0/2/新增字段.sql
0 → 100644
View file @
2d77bb1f
ALTER
TABLE
"public"
.
"soil_prepare"
ALTER
TABLE
"public"
.
"soil_prepare"
ADD
COLUMN
"keep_location"
varchar
(
255
);
COMMENT
ON
COLUMN
"public"
.
"soil_prepare"
.
"keep_location"
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