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
a1a0ac88
Commit
a1a0ac88
authored
Sep 17, 2020
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
土工试验
parent
20109acc
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
855 additions
and
105 deletions
+855
-105
LmsMsgService.java
...cloud/service/lims/common/service/impl/LmsMsgService.java
+85
-85
SoilEntrustController.java
...d/service/lims/soil/controller/SoilEntrustController.java
+88
-9
SoilStandardAnnexController.java
...ice/lims/soil/controller/SoilStandardAnnexController.java
+34
-2
SoilEntrustMapper.java
...tzn/cloud/service/lims/soil/mapper/SoilEntrustMapper.java
+11
-0
SoilSampleMapper.java
...atzn/cloud/service/lims/soil/mapper/SoilSampleMapper.java
+2
-0
ISoilEntrustOperationService.java
...rvice/lims/soil/service/ISoilEntrustOperationService.java
+6
-0
ISoilEntrustRecordService.java
.../service/lims/soil/service/ISoilEntrustRecordService.java
+5
-0
ISoilEntrustService.java
.../cloud/service/lims/soil/service/ISoilEntrustService.java
+19
-0
ISoilSampleService.java
...n/cloud/service/lims/soil/service/ISoilSampleService.java
+7
-0
ISoilStandardAnnexService.java
.../service/lims/soil/service/ISoilStandardAnnexService.java
+12
-0
SoilEntrustOperationServiceImpl.java
...ms/soil/service/impl/SoilEntrustOperationServiceImpl.java
+29
-0
SoilEntrustRecordServiceImpl.java
.../lims/soil/service/impl/SoilEntrustRecordServiceImpl.java
+28
-3
SoilEntrustServiceImpl.java
...ervice/lims/soil/service/impl/SoilEntrustServiceImpl.java
+377
-3
SoilSampleServiceImpl.java
...service/lims/soil/service/impl/SoilSampleServiceImpl.java
+31
-0
SoilStandardAnnexServiceImpl.java
.../lims/soil/service/impl/SoilStandardAnnexServiceImpl.java
+43
-1
application-dev.yml
src/main/resources/application-dev.yml
+2
-2
SoilEntrustMapper.xml
src/main/resources/mapper/soil/SoilEntrustMapper.xml
+68
-0
SoilSampleMapper.xml
src/main/resources/mapper/soil/SoilSampleMapper.xml
+8
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/common/service/impl/LmsMsgService.java
View file @
a1a0ac88
//package com.patzn.cloud.service.lims.common.service.impl;
//import com.patzn.cloud.commons.controller.Account;
//import com.patzn.cloud.mq.MqMsg;
//import com.patzn.cloud.mq.MqProperties;
//import com.patzn.cloud.service.lims.common.service.ILmsMsgService;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.amqp.AmqpException;
//import org.springframework.amqp.core.AmqpTemplate;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Service;
//
//import java.util.List;
//
//@Service
//public class LmsMsgService implements ILmsMsgService {
//
// private final Logger logger = LoggerFactory.getLogger(getClass());
//
// @Autowired
// private AmqpTemplate amqpTemplate;
// @Autowired
// private MqProperties mqProperties;
// @Value("${spring.application.name}")
// private String service;
//
// @Override
// public void sendMsg(String uri, String content, String title, Account account, List<Long> toUserId) {
// sendMsg(uri, null, content, title, account, toUserId);
// }
//
// @Override
// public void sendMsg(String uri, String msgType, String content, String title, Account account, List<Long> toUserId) {
// try {
// MqMsg mqMsg = getMqMsg(uri, msgType, content, title, account, toUserId, 0, null);
// mqMsg.setService(service);
// amqpTemplate.convertAndSend(mqProperties.getTopic().getMeterWorkMsg(), mqMsg);
// } catch (AmqpException e) {
// logger.error("发送消息异常:", e);
package
com
.
patzn
.
cloud
.
service
.
lims
.
common
.
service
.
impl
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.mq.MqMsg
;
import
com.patzn.cloud.mq.MqProperties
;
import
com.patzn.cloud.service.lims.common.service.ILmsMsgService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.amqp.AmqpException
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
LmsMsgService
implements
ILmsMsgService
{
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
getClass
());
@Autowired
private
AmqpTemplate
amqpTemplate
;
@Autowired
private
MqProperties
mqProperties
;
@Value
(
"${spring.application.name}"
)
private
String
service
;
@Override
public
void
sendMsg
(
String
uri
,
String
content
,
String
title
,
Account
account
,
List
<
Long
>
toUserId
)
{
sendMsg
(
uri
,
null
,
content
,
title
,
account
,
toUserId
);
}
@Override
public
void
sendMsg
(
String
uri
,
String
msgType
,
String
content
,
String
title
,
Account
account
,
List
<
Long
>
toUserId
)
{
try
{
MqMsg
mqMsg
=
getMqMsg
(
uri
,
msgType
,
content
,
title
,
account
,
toUserId
,
0
,
null
);
mqMsg
.
setService
(
service
);
amqpTemplate
.
convertAndSend
(
mqProperties
.
getTopic
().
getSoilWorkMsg
(),
mqMsg
);
}
catch
(
AmqpException
e
)
{
logger
.
error
(
"发送消息异常:"
,
e
);
}
}
@Override
public
void
sendMsg
(
int
businessType
,
String
groupAlias
,
String
content
,
String
title
,
Account
account
)
{
try
{
MqMsg
mqMsg
=
getMqMsg
(
null
,
null
,
content
,
title
,
account
,
null
,
businessType
,
groupAlias
);
amqpTemplate
.
convertAndSend
(
mqProperties
.
getTopic
().
getSoilWorkMsg
(),
mqMsg
);
}
catch
(
AmqpException
e
)
{
logger
.
error
(
"发送消息异常:"
,
e
);
}
}
private
MqMsg
getMqMsg
(
String
uri
,
String
msgType
,
String
content
,
String
title
,
Account
account
,
List
<
Long
>
toUserId
,
int
businessType
,
String
groupAlias
)
{
MqMsg
mqMsg
=
new
MqMsg
();
// mqMsg.setUid(account.getUserId());
// // 消息类型
// mqMsg.setMsgType(msgType);
// if (StringUtils.isNotEmpty(msgType) && StringUtils.isEmpty(uri)) {
// // 不是空的并且路由是空的,需要根据 msgType 查询标签的路由
// mqMsg.setUri(EnvMessageTypeEnum.getByValue(msgType));
// } else {
// // 路由
// mqMsg.setUri(uri);
// }
// }
//
// @Override
// public void sendMsg(int businessType, String groupAlias, String content, String title, Account account) {
// try {
// MqMsg mqMsg = getMqMsg(null, null, content, title, account, null, businessType, groupAlias);
// amqpTemplate.convertAndSend(mqProperties.getTopic().getMeterWorkMsg(), mqMsg);
// } catch (AmqpException e) {
// logger.error("发送消息异常:", e);
// }
// }
//
// private MqMsg getMqMsg(String uri, String msgType, String content, String title, Account account, List<Long> toUserId, int businessType, String groupAlias) {
// MqMsg mqMsg = new MqMsg();
//// mqMsg.setUid(account.getUserId());
//// // 消息类型
//// mqMsg.setMsgType(msgType);
//// if (StringUtils.isNotEmpty(msgType) && StringUtils.isEmpty(uri)) {
//// // 不是空的并且路由是空的,需要根据 msgType 查询标签的路由
//// mqMsg.setUri(EnvMessageTypeEnum.getByValue(msgType));
//// } else {
//// // 路由
//// mqMsg.setUri(uri);
//// }
//// // 企业ID
//// mqMsg.setCompanyId(account.getCompanyId());
//// // 发送人
//// mqMsg.setSender(account.getUserName());
//// // 标题
//// mqMsg.setTitle(title);
//// // 内容
//// mqMsg.setContent(content);
//// // 类型
//// mqMsg.setType(1);
//// // 服务名称
//// mqMsg.setService(service);
//// // 接收人集合
//// mqMsg.setReceiverIds(toUserId);
//// mqMsg.setBusinessType(businessType);
//// mqMsg.setBusiness(groupAlias);
// return mqMsg;
// }
//
//}
//
// // 企业ID
// mqMsg.setCompanyId(account.getCompanyId());
// // 发送人
// mqMsg.setSender(account.getUserName());
// // 标题
// mqMsg.setTitle(title);
// // 内容
// mqMsg.setContent(content);
// // 类型
// mqMsg.setType(1);
// // 服务名称
// mqMsg.setService(service);
// // 接收人集合
// mqMsg.setReceiverIds(toUserId);
// mqMsg.setBusinessType(businessType);
// mqMsg.setBusiness(groupAlias);
return
mqMsg
;
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilEntrustController.java
View file @
a1a0ac88
...
...
@@ -2,17 +2,15 @@ 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.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.SoilSampleStatusEnum
;
import
com.patzn.cloud.service.soil.vo.SoilEntrustVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.baomidou.mybatisplus.plugins.Page
;
...
...
@@ -53,10 +51,44 @@ public class SoilEntrustController extends ServiceController {
})
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
SoilEntrust
>>
getPage
(
SoilEntrust
soilEntrust
)
{
soilEntrust
.
setStatus
(
SoilEntrustStatusEnum
.
DRAFT
);
return
success
(
soilEntrustService
.
page
(
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_sample_receive"
)
public
RestResult
<
Page
<
SoilEntrustVO
>>
getPageSampleReceive
(
SoilEntrustVO
soilEntrust
)
{
soilEntrust
.
setSampleStatusList
(
Lists
.
newArrayList
(
SoilSampleStatusEnum
.
RECEIVE
));
return
success
(
soilEntrustService
.
pageVO
(
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_review"
)
public
RestResult
<
Page
<
SoilEntrust
>>
getPageReview
(
SoilEntrust
soilEntrust
)
{
soilEntrust
.
setStatus
(
SoilEntrustStatusEnum
.
REVIEW
);
return
success
(
soilEntrustService
.
page
(
getPage
(),
soilEntrust
));
}
@ApiOperation
(
value
=
"查询列表"
,
notes
=
"查询数据列表"
)
@PostMapping
(
"/list"
)
public
RestResult
<
List
<
SoilEntrust
>>
getList
(
SoilEntrust
soilEntrust
)
{
...
...
@@ -88,10 +120,36 @@ public class SoilEntrustController extends ServiceController {
@ApiOperation
(
value
=
"添加"
,
notes
=
"添加一条数据"
)
@PostMapping
(
"/"
)
public
RestResult
<
Boolean
>
add
(
SoilEntrust
soilEntrust
)
{
return
success
(
soilEntrustService
.
save
(
soilEntrust
));
return
success
(
soilEntrustService
.
save
Entrust
(
soilEntrust
));
}
@ApiOperation
(
value
=
"添加委托单"
,
notes
=
"添加委托单"
)
@PostMapping
(
"/add_entrust"
)
public
RestResult
<
Boolean
>
addEntrust
(
@RequestBody
SoilEntrustDTO
dto
)
{
return
success
(
soilEntrustService
.
saveEntrustDTO
(
dto
,
getAccount
()));
}
@ApiOperation
(
value
=
"编辑委托单"
,
notes
=
"编辑报价单"
)
@PostMapping
(
"/edit_entrust"
)
public
RestResult
<
Boolean
>
editEntrust
(
@RequestBody
SoilEntrustDTO
entrustDTO
)
{
return
success
(
soilEntrustService
.
editEntrust
(
entrustDTO
,
getAccount
()));
}
@ApiOperation
(
value
=
"根据ID查询VO查询 id 信息"
,
notes
=
"根据ID查询VO查询 id 的数据内容"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataType
=
"long"
),
})
@GetMapping
(
"/vo/{id}"
)
public
RestResult
<
SoilEntrustDTO
>
getDTO
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
soilEntrustService
.
getDTOById
(
id
));
}
@ApiOperation
(
value
=
"根据 ids 删除"
,
notes
=
"根据 id 数组删除指定的数据内容"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"主键数组"
,
required
=
true
,
paramType
=
"query"
,
dataType
=
"array"
),
...
...
@@ -101,4 +159,25 @@ public class SoilEntrustController extends ServiceController {
return
success
(
soilEntrustService
.
remove
(
Condition
.
create
().
in
(
"id"
,
ids
)));
}
@ApiOperation
(
value
=
"委托单提交评审"
,
notes
=
"委托单提交评审"
)
@PostMapping
(
"/submit_to_review"
)
public
RestResult
<
Boolean
>
submitToReview
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
soilEntrustService
.
submitToReview
(
ids
,
getAccount
()));
}
@ApiOperation
(
value
=
"试验委托单评审通过"
,
notes
=
"委托单提交评审"
)
@PostMapping
(
"/review_pass"
)
public
RestResult
<
Boolean
>
reviewPass
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
soilEntrustService
.
reviewPass
(
ids
,
getAccount
()));
}
@ApiOperation
(
value
=
"委托单评审驳回"
,
notes
=
"委托单评审驳回"
)
@PostMapping
(
"/review_back"
)
public
RestResult
<
Boolean
>
reviewBack
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
@RequestParam
(
"reason"
)
String
reason
)
{
return
success
(
soilEntrustService
.
reviewBack
(
ids
,
reason
,
getAccount
()));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilStandardAnnexController.java
View file @
a1a0ac88
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
controller
;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -24,16 +25,17 @@ 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>
* 土工试验-
委托
附件表 前端控制器
* 土工试验-
标准文件
附件表 前端控制器
* </p>
*
* @author wwd
* @since 2020-09-11
*/
@Api
(
description
=
"土工试验-
委托
附件表"
)
@Api
(
description
=
"土工试验-
标准文件
附件表"
)
@RestController
@RequestMapping
(
"/v1/standard_annex"
)
public
class
SoilStandardAnnexController
extends
ServiceController
{
...
...
@@ -99,4 +101,34 @@ public class SoilStandardAnnexController extends ServiceController {
return
success
(
soilStandardAnnexService
.
remove
(
Condition
.
create
().
in
(
"id"
,
ids
)));
}
@ApiOperation
(
value
=
"附件上传"
,
notes
=
"附件上传"
)
@PostMapping
(
"/upload/{standardId}"
)
public
RestResult
<
Boolean
>
upload
(
@PathVariable
(
"standardId"
)
Long
standardId
,
MultipartFile
file
)
{
return
success
(
soilStandardAnnexService
.
upload
(
file
,
standardId
));
}
@ApiOperation
(
value
=
"下载附件"
,
notes
=
"下载指定附件"
)
@GetMapping
(
"/download/{id}"
)
public
void
downloadFile
(
@PathVariable
(
"id"
)
Long
id
)
{
soilStandardAnnexService
.
downloadFile
(
id
,
response
);
}
@ApiOperation
(
value
=
"批量下载文件"
,
notes
=
"批量下载文件"
)
@GetMapping
(
"/download_batch"
)
public
void
downloadBatch
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
soilStandardAnnexService
.
downloadBatch
(
ids
,
response
);
}
@ApiOperation
(
value
=
"预览标准文件的附件"
,
notes
=
"预览标准文件的附件"
)
@PostMapping
(
"/preview/{standardId}"
)
public
RestResult
<
List
<
SoilStandardAnnex
>>
preview
(
@PathVariable
(
"standardId"
)
Long
standardId
,
MultipartFile
file
)
{
List
<
String
>
list
=
new
ArrayList
<>();
list
.
add
(
"png"
);
list
.
add
(
"jpg"
);
return
success
(
soilStandardAnnexService
.
list
(
Condition
.
create
().
in
(
"type"
,
list
).
eq
(
"standard_id"
,
standardId
)));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/mapper/SoilEntrustMapper.java
View file @
a1a0ac88
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
mapper
;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.service.soil.dto.SoilSampleDTO
;
import
com.patzn.cloud.service.soil.entity.SoilEntrust
;
import
com.patzn.cloud.service.soil.entity.SoilSample
;
import
com.patzn.cloud.service.soil.vo.SoilEntrustVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.session.RowBounds
;
import
java.util.List
;
/**
* <p>
...
...
@@ -13,4 +21,7 @@ import com.patzn.cloud.service.soil.entity.SoilEntrust;
*/
public
interface
SoilEntrustMapper
extends
BaseMapper
<
SoilEntrust
>
{
List
<
SoilSampleDTO
>
listByContractId
(
@Param
(
"entrustId"
)
Long
id
);
List
<
SoilEntrustVO
>
selectVOList
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilEntrustVO
soilEntrust
);
}
src/main/java/com/patzn/cloud/service/lims/soil/mapper/SoilSampleMapper.java
View file @
a1a0ac88
...
...
@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.soil.mapper;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.patzn.cloud.service.soil.entity.SoilSample
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
...
...
@@ -13,4 +14,5 @@ import com.patzn.cloud.service.soil.entity.SoilSample;
*/
public
interface
SoilSampleMapper
extends
BaseMapper
<
SoilSample
>
{
int
selectEntrustCount
(
@Param
(
"entrustIds"
)
Long
[]
entrustIds
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilEntrustOperationService.java
View file @
a1a0ac88
...
...
@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.soil.service;
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.soil.entity.SoilEntrustOperation
;
...
...
@@ -21,4 +22,9 @@ public interface ISoilEntrustOperationService extends IBaseService<SoilEntrustOp
List
<
SoilEntrustOperation
>
list
(
SoilEntrustOperation
soilEntrustOperation
);
void
recordEntrustSubmitter
(
Long
[]
ids
,
Account
account
);
void
recordEntrustReviewer
(
Long
[]
ids
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilEntrustRecordService.java
View file @
a1a0ac88
...
...
@@ -3,8 +3,10 @@ package com.patzn.cloud.service.lims.soil.service;
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.soil.entity.SoilEntrustRecord
;
import
com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum
;
/**
* <p>
...
...
@@ -21,4 +23,7 @@ public interface ISoilEntrustRecordService extends IBaseService<SoilEntrustRecor
List
<
SoilEntrustRecord
>
list
(
SoilEntrustRecord
soilEntrustRecord
);
void
record
(
SoilEntrustStatusEnum
from
,
SoilEntrustStatusEnum
to
,
Long
[]
ids
,
int
type
,
Account
account
,
String
remark
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilEntrustService.java
View file @
a1a0ac88
...
...
@@ -3,8 +3,11 @@ package com.patzn.cloud.service.lims.soil.service;
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.soil.dto.SoilEntrustDTO
;
import
com.patzn.cloud.service.soil.entity.SoilEntrust
;
import
com.patzn.cloud.service.soil.vo.SoilEntrustVO
;
/**
* <p>
...
...
@@ -21,4 +24,20 @@ public interface ISoilEntrustService extends IBaseService<SoilEntrust> {
List
<
SoilEntrust
>
list
(
SoilEntrust
soilEntrust
);
boolean
saveEntrust
(
SoilEntrust
soilEntrust
);
boolean
saveEntrustDTO
(
SoilEntrustDTO
dto
,
Account
account
);
SoilEntrustDTO
getDTOById
(
Long
id
);
boolean
editEntrust
(
SoilEntrustDTO
entrustDTO
,
Account
account
);
boolean
submitToReview
(
Long
[]
ids
,
Account
account
);
boolean
reviewBack
(
Long
[]
ids
,
String
reason
,
Account
account
);
boolean
reviewPass
(
Long
[]
ids
,
Account
account
);
Page
<
SoilEntrustVO
>
pageVO
(
Page
<
SoilEntrustVO
>
page
,
SoilEntrustVO
soilEntrust
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilSampleService.java
View file @
a1a0ac88
...
...
@@ -21,4 +21,11 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
List
<
SoilSample
>
list
(
SoilSample
soilSample
);
List
<
SoilSample
>
listByContractId
(
Long
id
);
boolean
checkEntrustHaveSample
(
Long
[]
ids
);
boolean
updateToReceiveByEntrustIds
(
Long
[]
ids
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilStandardAnnexService.java
View file @
a1a0ac88
...
...
@@ -5,6 +5,9 @@ import java.util.List;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.soil.entity.SoilStandardAnnex
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
/**
* <p>
...
...
@@ -21,4 +24,13 @@ public interface ISoilStandardAnnexService extends IBaseService<SoilStandardAnne
List
<
SoilStandardAnnex
>
list
(
SoilStandardAnnex
soilStandardAnnex
);
boolean
upload
(
MultipartFile
file
,
Long
standardId
);
void
downloadFile
(
Long
id
,
HttpServletResponse
response
);
void
downloadBatch
(
Long
[]
ids
,
HttpServletResponse
response
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilEntrustOperationServiceImpl.java
View file @
a1a0ac88
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
service
.
impl
;
import
java.util.Date
;
import
java.util.List
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilEntrustOperationMapper
;
import
com.patzn.cloud.service.lims.soil.service.ISoilEntrustOperationService
;
import
com.patzn.cloud.service.soil.entity.SoilEntrustOperation
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
...
...
@@ -35,4 +39,29 @@ public class SoilEntrustOperationServiceImpl extends BaseServiceImpl<SoilEntrust
public
List
<
SoilEntrustOperation
>
list
(
SoilEntrustOperation
soilEntrustOperation
)
{
return
this
.
list
(
new
EntityWrapper
<>(
soilEntrustOperation
));
}
@Override
public
void
recordEntrustSubmitter
(
Long
[]
ids
,
Account
account
)
{
if
(
ArrayUtils
.
isEmpty
(
ids
)){
return
;
}
SoilEntrustOperation
operation
=
new
SoilEntrustOperation
();
operation
.
setReSubmitter
(
account
.
getUserName
());
operation
.
setReSubmitterId
(
account
.
getUserId
());
operation
.
setReSubmitTime
(
new
Date
());
super
.
update
(
operation
,
Condition
.
create
().
in
(
"entrust_id"
,
ids
));
}
@Override
public
void
recordEntrustReviewer
(
Long
[]
ids
,
Account
account
)
{
if
(
ArrayUtils
.
isEmpty
(
ids
)){
return
;
}
SoilEntrustOperation
operation
=
new
SoilEntrustOperation
();
operation
.
setReviewer
(
account
.
getUserName
());
operation
.
setReviewerId
(
account
.
getUserId
());
operation
.
setReviewTime
(
new
Date
());
super
.
update
(
operation
,
Condition
.
create
().
in
(
"entrust_id"
,
ids
));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilEntrustRecordServiceImpl.java
View file @
a1a0ac88
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
service
.
impl
;
import
java.util.ArrayList
;
import
java.util.List
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.service.lims.soil.service.ISoilEntrustRecordService
;
import
com.patzn.cloud.service.soil.entity.SoilEntrustRecord
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilEntrustRecordMapper
;
import
com.patzn.cloud.service.lims.soil.service.ISoilEntrustRecordService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.service.
lims.soil.mapper.SoilEntrustRecordMapper
;
import
com.patzn.cloud.service.soil.entity.SoilEntrustRecord
;
import
com.patzn.cloud.service.
soil.enums.SoilEntrustStatusEnum
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
...
...
@@ -38,4 +40,27 @@ public class SoilEntrustRecordServiceImpl extends BaseServiceImpl<SoilEntrustRec
public
List
<
SoilEntrustRecord
>
list
(
SoilEntrustRecord
soilEntrustRecord
)
{
return
this
.
list
(
new
EntityWrapper
<>(
soilEntrustRecord
));
}
@Override
public
void
record
(
SoilEntrustStatusEnum
from
,
SoilEntrustStatusEnum
to
,
Long
[]
ids
,
int
type
,
Account
account
,
String
remark
)
{
if
(
ArrayUtils
.
isEmpty
(
ids
)){
return
;
}
List
<
SoilEntrustRecord
>
saveRecordList
=
new
ArrayList
<>();
for
(
Long
id:
ids
)
{
SoilEntrustRecord
record
=
new
SoilEntrustRecord
();
record
.
setEntrustId
(
id
);
record
.
setOperator
(
account
.
getUserName
());
record
.
setOperatorId
(
account
.
getUserId
());
record
.
setOrigin
(
from
.
getDisplay
());
record
.
setTarget
(
to
.
getDisplay
());
record
.
setType
(
type
);
record
.
setRemark
(
remark
);
saveRecordList
.
add
(
record
);
}
if
(
CollectionUtils
.
isNotEmpty
(
saveRecordList
)){
saveBatch
(
saveRecordList
);
}
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilEntrustServiceImpl.java
View file @
a1a0ac88
package
com
.
patzn
.
cloud
.
service
.
lims
.
soil
.
service
.
impl
;
import
java.util.List
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.patzn.cloud.service.soil.entity.SoilEntrust
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.baomidou.mybatisplus.toolkit.IdWorker
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.toolkit.StringHandleUtils
;
import
com.patzn.cloud.feign.lims.base.client.LmsCodeRuleClient
;
import
com.patzn.cloud.service.lims.base.dto.CodeTypeDTO
;
import
com.patzn.cloud.service.lims.base.enums.CodeTypeEnum
;
import
com.patzn.cloud.service.lims.common.service.ILmsMsgService
;
import
com.patzn.cloud.service.lims.soil.service.*
;
import
com.patzn.cloud.service.meter.entity.MeterSampleQuote
;
import
com.patzn.cloud.service.soil.dto.SoilEntrustDTO
;
import
com.patzn.cloud.service.soil.dto.SoilSampleDTO
;
import
com.patzn.cloud.service.soil.entity.*
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilEntrustMapper
;
import
com.patzn.cloud.service.lims.soil.service.ISoilEntrustService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum
;
import
com.patzn.cloud.service.soil.vo.SoilEntrustVO
;
import
org.apache.bcel.generic.IF_ACMPEQ
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* <p>
...
...
@@ -22,6 +43,35 @@ import com.baomidou.mybatisplus.plugins.Page;
@Service
public
class
SoilEntrustServiceImpl
extends
BaseServiceImpl
<
SoilEntrustMapper
,
SoilEntrust
>
implements
ISoilEntrustService
{
@Autowired
private
LmsCodeRuleClient
lmsCodeRuleClient
;
@Autowired
private
ISoilExpItemService
soilExpItemService
;
@Autowired
private
ISoilSampleService
soilSampleService
;
@Autowired
private
ILmsMsgService
lmsMsgService
;
@Autowired
private
ISoilSampleOperationService
soilSampleOperationService
;
@Autowired
private
ISoilEntrustRecordService
soilEntrustRecordService
;
@Autowired
private
ISoilExperimentService
soilExperimentService
;
@Autowired
private
ISoilExperimentOperationService
soilExperimentOperationService
;
@Autowired
private
ISoilItemService
soilItemService
;
@Autowired
private
ISoilEntrustOperationService
soilEntrustOperationService
;
@Override
public
Page
<
SoilEntrust
>
page
(
Page
<
SoilEntrust
>
page
,
SoilEntrust
soilEntrust
)
{
...
...
@@ -35,4 +85,328 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
public
List
<
SoilEntrust
>
list
(
SoilEntrust
soilEntrust
)
{
return
this
.
list
(
new
EntityWrapper
<>(
soilEntrust
));
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
saveEntrust
(
SoilEntrust
soilEntrust
)
{
CodeTypeDTO
typeDTO
=
new
CodeTypeDTO
();
typeDTO
.
setBaseEntity
(
soilEntrust
);
typeDTO
.
setCodeTypeEnum
(
CodeTypeEnum
.
SOIL_ENTRUST_CODE
);
String
entrustCode
=
lmsCodeRuleClient
.
getKey
(
typeDTO
).
serviceData
();
if
(
StringUtils
.
isNotEmpty
(
entrustCode
)){
soilEntrust
.
setEntrustCode
(
entrustCode
);
}
return
save
(
soilEntrust
);
}
public
void
initSampleCode
(
SoilSample
sample
){
CodeTypeDTO
typeDTO
=
new
CodeTypeDTO
();
typeDTO
.
setBaseEntity
(
sample
);
typeDTO
.
setCodeTypeEnum
(
CodeTypeEnum
.
SOIL_SAMPLE_CODE
);
String
sampleCode
=
lmsCodeRuleClient
.
getKey
(
typeDTO
).
serviceData
();
if
(
StringUtils
.
isNotBlank
(
sampleCode
)){
sample
.
setSampleCode
(
sampleCode
);
}
}
@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
);
List
<
SoilSampleDTO
>
sampleDTOList
=
dto
.
getSampleList
();
if
(
saveEntrust
(
soilEntrust
)){
SoilEntrustOperation
operation
=
new
SoilEntrustOperation
();
operation
.
setEntrustId
(
soilEntrust
.
getId
());
soilEntrustOperationService
.
save
(
operation
);
if
(
CollectionUtils
.
isNotEmpty
(
sampleDTOList
)){
Set
<
Long
>
aptitudeExpIdList
=
getAptitudeExpIdList
(
sampleDTOList
);
Map
<
Long
,
List
<
SoilExpItem
>>
expItemMap
=
getExpItemMap
(
aptitudeExpIdList
);
List
<
SoilSample
>
saveSoilSampleList
=
new
ArrayList
<>();
List
<
SoilSampleOperation
>
saveSoilSampleOperationList
=
new
ArrayList
<>();
List
<
SoilExperiment
>
saveSoilExperimentList
=
new
ArrayList
<>();
List
<
SoilExperimentOperation
>
soilExperimentOperationList
=
new
ArrayList
<>();
List
<
SoilItem
>
saveSoilItemList
=
new
ArrayList
<>();
for
(
SoilSampleDTO
sampleDTO:
sampleDTOList
)
{
SoilSample
sample
=
sampleDTO
.
convert
(
SoilSample
.
class
);
sample
.
setEntrustId
(
soilEntrust
.
getId
());
//生成样品编号
initSampleCode
(
sample
);
sample
.
setId
(
IdWorker
.
getId
());
saveSoilSampleList
.
add
(
sample
);
SoilSampleOperation
soilSampleOperation
=
new
SoilSampleOperation
();
soilSampleOperation
.
setSampleId
(
sample
.
getId
());
saveSoilSampleOperationList
.
add
(
soilSampleOperation
);
List
<
SoilExperiment
>
experiments
=
sampleDTO
.
getExperimentList
();
if
(
CollectionUtils
.
isEmpty
(
experiments
)){
continue
;
}
for
(
SoilExperiment
soilExperiment:
experiments
)
{
soilExperiment
.
setSampleId
(
sample
.
getId
());
soilExperiment
.
setId
(
IdWorker
.
getId
());
saveSoilExperimentList
.
add
(
soilExperiment
);
SoilExperimentOperation
experimentOperation
=
new
SoilExperimentOperation
();
experimentOperation
.
setExperimentId
(
soilExperiment
.
getId
());
soilExperimentOperationList
.
add
(
experimentOperation
);
List
<
SoilExpItem
>
expItemList
=
expItemMap
.
get
(
soilExperiment
.
getAptitudeExpId
());
if
(
CollectionUtils
.
isNotEmpty
(
expItemList
)){
for
(
SoilExpItem
item:
expItemList
)
{
SoilItem
soilItem
=
item
.
convert
(
SoilItem
.
class
);
soilItem
.
setExperimentId
(
soilExperiment
.
getId
());
saveSoilItemList
.
add
(
soilItem
);
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
saveSoilSampleList
)){
soilSampleService
.
saveBatch
(
saveSoilSampleList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
saveSoilSampleOperationList
)){
soilSampleOperationService
.
saveBatch
(
saveSoilSampleOperationList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
saveSoilExperimentList
)){
soilExperimentService
.
saveBatch
(
saveSoilExperimentList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
soilExperimentOperationList
)){
soilExperimentOperationService
.
saveBatch
(
soilExperimentOperationList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
saveSoilItemList
)){
soilItemService
.
saveBatch
(
saveSoilItemList
);
}
}
}
return
true
;
}
@Override
public
SoilEntrustDTO
getDTOById
(
Long
id
)
{
SoilEntrust
entrust
=
getById
(
id
);
if
(
null
!=
entrust
){
SoilEntrustDTO
vo
=
entrust
.
convert
(
SoilEntrustDTO
.
class
);
List
<
SoilSampleDTO
>
sampleList
=
baseMapper
.
listByContractId
(
id
);
vo
.
setSampleList
(
sampleList
);
return
vo
;
}
return
null
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
editEntrust
(
SoilEntrustDTO
entrustDTO
,
Account
account
)
{
if
(
null
==
entrustDTO
.
getId
()){
return
false
;
}
List
<
SoilSampleDTO
>
sampleList
=
entrustDTO
.
getSampleList
();
if
(
CollectionUtils
.
isEmpty
(
sampleList
)){
// PtAssert.fail("样品不能为空");
}
for
(
SoilSampleDTO
sampleDTO:
sampleList
)
{
RestAssert
.
fail
(
StringUtils
.
isBlank
(
sampleDTO
.
getSampleDepth
()),
"试样深度不能为空"
);
RestAssert
.
fail
(
null
==
sampleDTO
.
getSiteNo
(),
"现场编号不能为空"
);
}
SoilEntrust
entrust
=
entrustDTO
.
convert
(
SoilEntrust
.
class
);
if
(
updateById
(
entrust
)){
SoilEntrustOperation
operation
=
entrustDTO
.
getOperation
();
if
(
null
!=
operation
&&
null
!=
operation
.
getId
()){
soilEntrustOperationService
.
updateById
(
operation
);
}
List
<
Long
>
sampleIdsList
=
new
ArrayList
<>();
List
<
SoilSample
>
updateSampleList
=
new
ArrayList
<>();
List
<
SoilSample
>
saveSampleList
=
new
ArrayList
<>();
List
<
SoilSampleOperation
>
saveSampleOperationList
=
new
ArrayList
<>();
List
<
SoilExperiment
>
saveItemList
=
new
ArrayList
<>();
List
<
SoilExperimentOperation
>
saveItemOperationList
=
new
ArrayList
<>();
for
(
SoilSampleDTO
dto:
sampleList
)
{
SoilSample
sample
=
dto
.
convert
(
SoilSample
.
class
);
if
(
null
!=
sample
.
getId
()){
updateSampleList
.
add
(
sample
);
sampleIdsList
.
add
(
sample
.
getId
());
}
else
{
sample
.
setEntrustId
(
entrust
.
getId
());
initSampleCode
(
sample
);
sample
.
setId
(
IdWorker
.
getId
());
saveSampleList
.
add
(
sample
);
SoilSampleOperation
sampleOperation
=
new
SoilSampleOperation
();
sampleOperation
.
setSampleId
(
sample
.
getId
());
saveSampleOperationList
.
add
(
sampleOperation
);
}
List
<
SoilExperiment
>
viewItemList
=
dto
.
getExperimentList
();
if
(
CollectionUtils
.
isNotEmpty
(
viewItemList
)){
for
(
SoilExperiment
item:
viewItemList
)
{
if
(
null
==
item
.
getId
()){
item
.
setId
(
IdWorker
.
getId
());
item
.
setSampleId
(
sample
.
getId
());
item
.
setStatus
(
0
);
item
.
setProgress
(
0
);
saveItemList
.
add
(
item
);
SoilExperimentOperation
itemOperation
=
new
SoilExperimentOperation
();
itemOperation
.
setExperimentId
(
item
.
getId
());
saveItemOperationList
.
add
(
itemOperation
);
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
updateSampleList
)){
soilSampleService
.
updateBatchById
(
updateSampleList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
saveSampleList
)){
soilSampleService
.
saveBatch
(
saveSampleList
);
soilSampleOperationService
.
saveBatch
(
saveSampleOperationList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
saveItemList
)){
soilExperimentService
.
saveBatch
(
saveItemList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
saveItemOperationList
)){
soilExperimentOperationService
.
saveBatch
(
saveItemOperationList
);
}
}
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
submitToReview
(
Long
[]
ids
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要提交至委托单审批的试验委托单!"
);
//验证委托是否添加样品
RestAssert
.
fail
(
soilSampleService
.
checkEntrustHaveSample
(
ids
),
"委托下含有未添加样品的,请您确认!"
);
SoilEntrust
entrust
=
new
SoilEntrust
();
entrust
.
setStatus
(
SoilEntrustStatusEnum
.
REVIEW
);
entrust
.
setProgress
(
SoilEntrustStatusEnum
.
REVIEW
);
if
(
update
(
entrust
,
Condition
.
create
().
in
(
"id"
,
ids
))){
List
<
SoilEntrust
>
entrustList
=
list
(
Condition
.
create
().
setSqlSelect
(
"entrust_code"
).
in
(
"id"
,
ids
));
lmsMsgService
.
sendMsg
(
"/soil/entrust/review"
,
"委托编号:"
+
StringHandleUtils
.
join
(
entrustList
.
stream
().
map
(
i
->{
return
i
.
getEntrustCode
();
})
.
collect
(
Collectors
.
toList
())
)+
"等待评审请及时处理"
,
"新的委托评审工作"
,
account
,
null
);
soilEntrustRecordService
.
record
(
SoilEntrustStatusEnum
.
DRAFT
,
SoilEntrustStatusEnum
.
REVIEW
,
ids
,
0
,
account
,
"试验委托单提交至委托评审"
);
soilEntrustOperationService
.
recordEntrustSubmitter
(
ids
,
account
);
}
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
reviewBack
(
Long
[]
ids
,
String
reason
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要驳回的试验委托单"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
reason
),
"请填写驳回的原因"
);
int
count
=
super
.
count
(
Condition
.
create
().
in
(
"id"
,
ids
).
ne
(
"status"
,
SoilEntrustStatusEnum
.
REVIEW
));
RestAssert
.
fail
(
count
>
0
,
"请驳回待委托评审的试验委托单"
);
SoilEntrust
soilEntrust
=
new
SoilEntrust
();
soilEntrust
.
setStatus
(
SoilEntrustStatusEnum
.
DRAFT
);
soilEntrust
.
setProgress
(
SoilEntrustStatusEnum
.
BACK_REVIEW
);
if
(
update
(
soilEntrust
,
Condition
.
create
().
in
(
"id"
,
ids
))){
//
soilEntrustRecordService
.
record
(
SoilEntrustStatusEnum
.
REVIEW
,
SoilEntrustStatusEnum
.
DRAFT
,
ids
,
1
,
account
,
reason
);
List
<
SoilEntrust
>
entrustList
=
list
(
Condition
.
create
().
setSqlSelect
(
"entrust_code"
).
in
(
"id"
,
ids
));
lmsMsgService
.
sendMsg
(
"/soil/entrust/entrust_register"
,
"委托编号:"
+
StringHandleUtils
.
join
(
entrustList
.
stream
().
map
(
i
->{
return
i
.
getEntrustCode
();
})
.
collect
(
Collectors
.
toList
())
)+
"由委托评审退回,退回原因:"
+
reason
,
"新的委托评审退回工作"
,
account
,
null
);
}
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
reviewPass
(
Long
[]
ids
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要评审通过的试验委托单!"
);
//验证委托是否添加样品
RestAssert
.
fail
(
soilSampleService
.
checkEntrustHaveSample
(
ids
),
"委托下含有未添加样品的,请您确认!"
);
SoilEntrust
entrust
=
new
SoilEntrust
();
entrust
.
setStatus
(
SoilEntrustStatusEnum
.
RECEIVE
);
entrust
.
setProgress
(
SoilEntrustStatusEnum
.
RECEIVE
);
if
(
update
(
entrust
,
Condition
.
create
().
in
(
"id"
,
ids
))){
List
<
SoilEntrust
>
entrustList
=
list
(
Condition
.
create
().
setSqlSelect
(
"entrust_code"
).
in
(
"id"
,
ids
));
lmsMsgService
.
sendMsg
(
"/soil/sample/receive"
,
"委托编号:"
+
StringHandleUtils
.
join
(
entrustList
.
stream
().
map
(
i
->{
return
i
.
getEntrustCode
();
})
.
collect
(
Collectors
.
toList
())
)+
"的试验委托单,待收样请做好收样准备"
,
"新的待收样工作"
,
account
,
null
);
soilEntrustRecordService
.
record
(
SoilEntrustStatusEnum
.
REVIEW
,
SoilEntrustStatusEnum
.
RECEIVE
,
ids
,
0
,
account
,
"试验委托单评审通过"
);
soilEntrustOperationService
.
recordEntrustReviewer
(
ids
,
account
);
soilSampleService
.
updateToReceiveByEntrustIds
(
ids
);
}
return
true
;
}
@Override
public
Page
<
SoilEntrustVO
>
pageVO
(
Page
<
SoilEntrustVO
>
page
,
SoilEntrustVO
soilEntrust
)
{
return
page
.
setRecords
(
baseMapper
.
selectVOList
(
page
,
soilEntrust
));
}
public
Map
<
Long
,
List
<
SoilExpItem
>>
getExpItemMap
(
Set
<
Long
>
aptitudeExpIdList
){
Map
<
Long
,
List
<
SoilExpItem
>>
expItemMap
=
new
HashMap
<>();
if
(
CollectionUtils
.
isNotEmpty
(
aptitudeExpIdList
)){
List
<
SoilExpItem
>
expItemList
=
soilExpItemService
.
list
(
Condition
.
create
().
in
(
"exp_id"
,
aptitudeExpIdList
));
for
(
SoilExpItem
expItem:
expItemList
)
{
List
<
SoilExpItem
>
itemList
;
if
(!
expItemMap
.
containsKey
(
expItem
.
getExpId
())){
itemList
=
new
ArrayList
<>();
}
else
{
itemList
=
expItemMap
.
get
(
expItem
.
getExpId
());
}
itemList
.
add
(
expItem
);
expItemMap
.
put
(
expItem
.
getExpId
(),
itemList
);
}
}
return
expItemMap
;
}
public
Set
<
Long
>
getAptitudeExpIdList
(
List
<
SoilSampleDTO
>
sampleDTOList
){
Set
<
Long
>
aptitudeExpIdList
=
new
HashSet
<>();
for
(
SoilSampleDTO
sampleDTO:
sampleDTOList
)
{
List
<
SoilExperiment
>
list
=
sampleDTO
.
getExperimentList
();
if
(
null
==
list
){
continue
;
}
for
(
SoilExperiment
experiment
:
list
)
{
if
(
null
!=
experiment
.
getAptitudeExpId
()){
aptitudeExpIdList
.
add
(
experiment
.
getAptitudeExpId
());
}
}
}
return
aptitudeExpIdList
;
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilSampleServiceImpl.java
View file @
a1a0ac88
...
...
@@ -2,10 +2,13 @@ package com.patzn.cloud.service.lims.soil.service.impl;
import
java.util.List
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.patzn.cloud.service.soil.entity.SoilSample
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilSampleMapper
;
import
com.patzn.cloud.service.lims.soil.service.ISoilSampleService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
...
...
@@ -35,4 +38,32 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
public
List
<
SoilSample
>
list
(
SoilSample
soilSample
)
{
return
this
.
list
(
new
EntityWrapper
<>(
soilSample
));
}
@Override
public
List
<
SoilSample
>
listByContractId
(
Long
id
)
{
return
super
.
list
(
Condition
.
create
().
eq
(
"entrust_id"
,
id
));
}
@Override
public
boolean
checkEntrustHaveSample
(
Long
[]
entrustIds
)
{
if
(
ArrayUtils
.
isEmpty
(
entrustIds
)){
return
true
;
}
int
sampleList
=
baseMapper
.
selectEntrustCount
(
entrustIds
);
if
(
sampleList
!=
entrustIds
.
length
){
return
true
;
}
return
false
;
}
@Override
public
boolean
updateToReceiveByEntrustIds
(
Long
[]
ids
)
{
if
(
ArrayUtils
.
isEmpty
(
ids
)){
return
false
;
}
SoilSample
sample
=
new
SoilSample
();
sample
.
setStatus
(
SoilSampleStatusEnum
.
RECEIVE
);
sample
.
setProgress
(
SoilSampleStatusEnum
.
RECEIVE
);
return
super
.
update
(
sample
,
Condition
.
create
().
in
(
"entrust_id"
,
ids
));
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilStandardAnnexServiceImpl.java
View file @
a1a0ac88
...
...
@@ -2,14 +2,23 @@ package com.patzn.cloud.service.lims.soil.service.impl;
import
java.util.List
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.oss.starter.OssClient
;
import
com.patzn.cloud.oss.starter.OssFileResult
;
import
com.patzn.cloud.service.meter.entity.MeterEntrustAttachment
;
import
com.patzn.cloud.service.soil.entity.SoilStandardAnnex
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilStandardAnnexMapper
;
import
com.patzn.cloud.service.lims.soil.service.ISoilStandardAnnexService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
/**
* <p>
...
...
@@ -21,7 +30,8 @@ import com.baomidou.mybatisplus.plugins.Page;
*/
@Service
public
class
SoilStandardAnnexServiceImpl
extends
BaseServiceImpl
<
SoilStandardAnnexMapper
,
SoilStandardAnnex
>
implements
ISoilStandardAnnexService
{
@Autowired
private
OssClient
ossClient
;
@Override
public
Page
<
SoilStandardAnnex
>
page
(
Page
<
SoilStandardAnnex
>
page
,
SoilStandardAnnex
soilStandardAnnex
)
{
...
...
@@ -35,4 +45,36 @@ public class SoilStandardAnnexServiceImpl extends BaseServiceImpl<SoilStandardAn
public
List
<
SoilStandardAnnex
>
list
(
SoilStandardAnnex
soilStandardAnnex
)
{
return
this
.
list
(
new
EntityWrapper
<>(
soilStandardAnnex
));
}
@Override
public
boolean
upload
(
MultipartFile
file
,
Long
standardId
)
{
String
fileName
=
file
.
getOriginalFilename
();
RestAssert
.
fail
(
StringUtils
.
isBlank
(
fileName
),
"请上传文件"
);
SoilStandardAnnex
attachment
=
new
SoilStandardAnnex
();
attachment
.
setStandardId
(
standardId
);
OssFileResult
result
=
ossClient
.
upload
(
file
);
if
(
null
==
result
)
{
return
false
;
}
attachment
.
setBucketName
(
result
.
getBucketName
());
attachment
.
setType
(
result
.
getType
());
attachment
.
setFileName
(
result
.
getName
());
attachment
.
setObjectKey
(
result
.
getObjectKey
());
attachment
.
setVersionId
(
result
.
getVersionId
());
return
super
.
save
(
attachment
);
}
@Override
public
void
downloadFile
(
Long
id
,
HttpServletResponse
response
)
{
SoilStandardAnnex
attachment
=
super
.
getById
(
id
);
if
(
null
==
attachment
)
{
RestAssert
.
fail
(
"抱歉!该附件不存在"
);
}
ossClient
.
download
(
attachment
.
getObjectKey
(),
attachment
.
getFileName
()
+
"."
+
attachment
.
getType
(),
response
);
}
@Override
public
void
downloadBatch
(
Long
[]
ids
,
HttpServletResponse
response
)
{
}
}
src/main/resources/application-dev.yml
View file @
a1a0ac88
...
...
@@ -13,7 +13,7 @@ spring:
# url: jdbc:postgresql://localhost:5432/dev_lims_meter
username
:
postgres
password
:
123456
url
:
jdbc:postgresql://192.168.0.115:5432/dev_lims_
meter
url
:
jdbc:postgresql://192.168.0.115:5432/dev_lims_
soil
driver-class-name
:
org.postgresql.Driver
dynamic
:
enabled
:
false
...
...
@@ -37,7 +37,7 @@ spring:
chemical-classify-warning
:
dev.topic.chemical.classify.warning
equip-check-msg
:
dev.topic.equip.check.msg
report-make-msg
:
dev.topic.report.make.msg
meter
-work-msg
:
dev.topic.soil.work.msg
soil
-work-msg
:
dev.topic.soil.work.msg
### jobs
jobs
:
...
...
src/main/resources/mapper/soil/SoilEntrustMapper.xml
View file @
a1a0ac88
...
...
@@ -2,4 +2,72 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.patzn.cloud.service.lims.soil.mapper.SoilEntrustMapper"
>
<select
id=
"listByContractId"
resultType=
"com.patzn.cloud.service.soil.dto.SoilSampleDTO"
>
SELECT * FROM soil_sample WHERE deleted = 0 AND entrust_id =#{entrustId}
</select>
<sql
id=
"column"
>
e.id,
e.client,
e.project_no,
e.borehole_name,
e.borehole_location,
e.water_depth,
e.entrust_code,
e.entrust_date,
e.test_type,
e.report_code,
e.tabulate_date,
e.approve_date,
e.tabulater,
e.approver,
e.status,
e.progress
</sql>
<sql
id=
"sqlWhere"
>
<if
test=
"null!=vo.status"
>
AND e.status = #{vo.status}
</if>
<if
test=
"null!=vo.noStatus"
>
AND e.status != #{vo.noStatus}
</if>
<if
test=
"null!=vo.client"
>
AND e.client LIKE CONCAT('%',#{vo.client},'%')
</if>
<if
test=
"null!=vo.projectNo"
>
AND e.project_no LIKE CONCAT('%',#{vo.projectNo},'%')
</if>
<if
test=
"null!=vo.boreholeName"
>
AND e.borehole_name LIKE CONCAT('%',#{vo.boreholeName},'%')
</if>
<if
test=
"null!=vo.entrustCode"
>
AND e.entrust_code LIKE CONCAT('%',#{vo.entrustCode},'%')
</if>
</sql>
<select
id=
"selectVOList"
resultType=
"com.patzn.cloud.service.soil.vo.SoilEntrustVO"
>
WITH s AS (
SELECT entrust_id FROM soil_sample WHERE deleted = 0
<if
test=
"null!=vo.sampleStatus"
>
AND status = #{vo.sampleStatus}
</if>
<if
test=
"null!=vo.sampleStatusList"
>
AND status IN
<foreach
collection=
"vo.sampleStatusList"
index=
"index"
item=
"status"
open=
"("
separator=
","
close=
")"
>
#{status}
</foreach>
</if>
GROUP BY entrust_id
)
SELECT
<include
refid=
"column"
/>
FROM soil_entrust e JOIN s ON e.id = s.entrust_id
WHERE e.deleted = 0
<include
refid=
"sqlWhere"
/>
</select>
</mapper>
src/main/resources/mapper/soil/SoilSampleMapper.xml
View file @
a1a0ac88
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.patzn.cloud.service.lims.soil.mapper.SoilSampleMapper"
>
<select
id=
"selectEntrustCount"
resultType=
"int"
>
SELECT count(1) FROM (SELECT entrust_id FROM soil_sample
WHERE deleted = 0 AND entrust_id IN
<foreach
collection=
"entrustIds"
index=
"index"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
GROUP BY entrust_id) s
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment