Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-service-hmhj
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangweidong
patzn-cloud-service-hmhj
Commits
571122e9
Commit
571122e9
authored
Jul 13, 2021
by
wangweidong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
c367193c
d91db76f
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
808 additions
and
235 deletions
+808
-235
EntrustController.java
...cloud/service/lims/hmhj/controller/EntrustController.java
+6
-1
EntrustSampleController.java
...service/lims/hmhj/controller/EntrustSampleController.java
+20
-38
EntrustSampleItemController.java
...ice/lims/hmhj/controller/EntrustSampleItemController.java
+6
-0
EntrustSamplePrepareController.java
.../lims/hmhj/controller/EntrustSamplePrepareController.java
+1
-1
QuestionnaireController.java
...service/lims/hmhj/controller/QuestionnaireController.java
+101
-0
QuestionnaireExportHandler.java
...service/lims/hmhj/handler/QuestionnaireExportHandler.java
+41
-0
EntrustMapper.java
...m/patzn/cloud/service/lims/hmhj/mapper/EntrustMapper.java
+2
-0
EntrustSampleItemIndexMapper.java
...ervice/lims/hmhj/mapper/EntrustSampleItemIndexMapper.java
+2
-0
EntrustSampleItemMapper.java
...oud/service/lims/hmhj/mapper/EntrustSampleItemMapper.java
+6
-2
QuestionnaireMapper.java
...n/cloud/service/lims/hmhj/mapper/QuestionnaireMapper.java
+19
-0
IEntrustSampleItemIndexService.java
...ice/lims/hmhj/service/IEntrustSampleItemIndexService.java
+1
-0
IEntrustSampleItemService.java
.../service/lims/hmhj/service/IEntrustSampleItemService.java
+4
-0
IEntrustSamplePrepareService.java
...rvice/lims/hmhj/service/IEntrustSamplePrepareService.java
+1
-1
IEntrustSampleService.java
...loud/service/lims/hmhj/service/IEntrustSampleService.java
+2
-0
IQuestionnaireService.java
...loud/service/lims/hmhj/service/IQuestionnaireService.java
+33
-0
EntrustReportTemplateServiceImpl.java
...s/hmhj/service/impl/EntrustReportTemplateServiceImpl.java
+9
-5
EntrustSampleItemIndexServiceImpl.java
.../hmhj/service/impl/EntrustSampleItemIndexServiceImpl.java
+10
-18
EntrustSampleItemServiceImpl.java
.../lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
+50
-72
EntrustSamplePrepareServiceImpl.java
...ms/hmhj/service/impl/EntrustSamplePrepareServiceImpl.java
+2
-2
EntrustSampleServiceImpl.java
...vice/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
+62
-49
EntrustServiceImpl.java
...ud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
+1
-25
MaterialServiceImpl.java
...d/service/lims/hmhj/service/impl/MaterialServiceImpl.java
+14
-1
QuestionnaireServiceImpl.java
...vice/lims/hmhj/service/impl/QuestionnaireServiceImpl.java
+207
-0
EntrustMapper.xml
src/main/resources/mapper/hmhj/EntrustMapper.xml
+38
-0
EntrustSampleItemIndexMapper.xml
...in/resources/mapper/hmhj/EntrustSampleItemIndexMapper.xml
+18
-0
EntrustSampleItemMapper.xml
src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
+33
-4
EntrustSampleMapper.xml
src/main/resources/mapper/hmhj/EntrustSampleMapper.xml
+31
-16
QuestionnaireMapper.xml
src/main/resources/mapper/hmhj/QuestionnaireMapper.xml
+28
-0
QuestionnaireStatsExport.xlsx
...n/resources/templates/excel/QuestionnaireStatsExport.xlsx
+0
-0
QuestionnaireTpl.xlsx
src/main/resources/templates/excel/QuestionnaireTpl.xlsx
+0
-0
20210713增加字段.sql
src/test/java/resources/db_sql/hmhj/v146/20210713增加字段.sql
+13
-0
20210713新增满意度调查表.sql
...test/java/resources/db_sql/hmhj/v147/20210713新增满意度调查表.sql
+47
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/EntrustController.java
View file @
571122e9
...
...
@@ -8,7 +8,9 @@ import com.patzn.cloud.service.hmhj.entity.Entrust;
import
com.patzn.cloud.service.hmhj.enums.*
;
import
com.patzn.cloud.service.hmhj.vo.EntrustVO
;
import
com.patzn.cloud.service.lims.hmhj.service.impl.UserInfoServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.bind.annotation.*
;
import
com.baomidou.mybatisplus.plugins.Page
;
...
...
@@ -22,6 +24,7 @@ import io.swagger.annotations.ApiImplicitParam;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -481,8 +484,10 @@ public class EntrustController extends ServiceController {
@PostMapping
(
"/page_entrust_test_data"
)
public
RestResult
<
Page
<
EntrustVO
>>
getPageTaskTestData
(
EntrustVO
entrust
)
{
entrust
.
setItemStatus
(
EntrustSampleItemStatusEnum
.
TEST
);
// 过滤当前人为检测人的委托数据
// 过滤当前人为检测人的委托数据 - 节点数据不为空,且为检测时,只查询当前人信息
if
(
StringUtils
.
isNotBlank
(
entrust
.
getSource
())
&&
EntrustFlowEnum
.
TEST
.
getName
().
equalsIgnoreCase
(
entrust
.
getSource
()))
{
entrust
.
setTesterId
(
getAccount
().
getUserId
());
}
// 获取当前用户分组
entrust
.
setGroupNameList
(
userInfoService
.
getCurGroupNameList
());
return
success
(
entrustService
.
pageEntrustByItemData
(
getPage
(),
entrust
));
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/EntrustSampleController.java
View file @
571122e9
...
...
@@ -71,7 +71,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"制备历史样品分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -86,7 +85,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"报告编制样品分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -174,8 +172,8 @@ public class EntrustSampleController extends ServiceController {
@ApiOperation
(
"根据 id 修改信息"
)
@PutMapping
(
"/edit_sample"
)
public
RestResult
<
Boolean
>
editSample
(
EntrustSample
entrustSample
,
String
source
)
{
return
success
(
entrustSampleService
.
updateSample
(
entrustSample
,
source
,
getAccount
()));
public
RestResult
<
Boolean
>
editSample
(
EntrustSample
entrustSample
,
String
source
)
{
return
success
(
entrustSampleService
.
updateSample
(
entrustSample
,
source
,
getAccount
()));
}
@ApiOperation
(
"添加"
)
...
...
@@ -194,9 +192,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
value
=
"增加标样"
,
notes
=
"增加标样"
)
@PostMapping
(
"/add_standard_sample"
)
public
RestResult
<
Boolean
>
addStandardSample
(
@RequestBody
EntrustSampleDTO
dto
)
{
...
...
@@ -206,7 +201,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
value
=
"数据录入添加检测项目"
,
notes
=
"数据录入添加检测项目"
)
@PostMapping
(
"/add_test_item_in_input"
)
public
RestResult
<
Boolean
>
addTestItemInInput
(
@RequestBody
EntrustSampleADDDTO
dto
)
{
...
...
@@ -214,18 +208,13 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"获取制备信息"
)
@PostMapping
(
"/obtain_make_info"
)
public
RestResult
<
List
<
EntrustSampleVO
>>
obtainMakeInfo
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleService
.
obtainMakeInfo
(
ids
,
getAccount
()));
public
RestResult
<
List
<
EntrustSampleVO
>>
obtainMakeInfo
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleService
.
obtainMakeInfo
(
ids
,
getAccount
()));
}
@ApiOperation
(
"样品接收分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -254,7 +243,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"任务分配样品分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -269,8 +257,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"任务分配历史样品分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -291,13 +277,10 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"样品生成报告"
)
@PostMapping
(
"/make_report"
)
public
RestResult
<
Boolean
>
makeReport
(
@RequestBody
ReportDTO
dto
)
{
return
success
(
entrustSampleService
.
makeReport
(
dto
,
getAccount
()));
return
success
(
entrustSampleService
.
makeReport
(
dto
,
getAccount
()));
}
...
...
@@ -310,7 +293,6 @@ public class EntrustSampleController extends ServiceController {
@ApiOperation
(
"质量判定样品分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -337,7 +319,7 @@ public class EntrustSampleController extends ServiceController {
public
RestResult
<
Page
<
EntrustSample
>>
getPageSampleMakeHis
(
EntrustSample
entrustSample
)
{
entrustSample
.
setStatus
(
EntrustSampleStatusEnum
.
END
);
Wrapper
wrapper
=
new
EntityWrapper
<>(
entrustSample
);
wrapper
.
in
(
"judge_status"
,
Lists
.
newArrayList
(
1
,
2
));
wrapper
.
in
(
"judge_status"
,
Lists
.
newArrayList
(
1
,
2
));
return
success
(
entrustSampleService
.
pageByWrapper
(
getPage
(),
wrapper
));
}
...
...
@@ -389,34 +371,32 @@ public class EntrustSampleController extends ServiceController {
@ApiOperation
(
"质量登记提交"
)
@PostMapping
(
"/submit_judge_register"
)
public
RestResult
<
Boolean
>
submitJudgeRegister
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleService
.
submitJudgeRegister
(
ids
,
getAccount
()));
public
RestResult
<
Boolean
>
submitJudgeRegister
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleService
.
submitJudgeRegister
(
ids
,
getAccount
()));
}
@ApiOperation
(
"质量审核通过"
)
@PostMapping
(
"/submit_judge_check"
)
public
RestResult
<
Boolean
>
submitJudgeCheck
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleService
.
submitJudgeCheck
(
ids
,
getAccount
()));
public
RestResult
<
Boolean
>
submitJudgeCheck
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleService
.
submitJudgeCheck
(
ids
,
getAccount
()));
}
@ApiOperation
(
"质量审核提交至验收结果录入"
)
@PostMapping
(
"/submit_to_acceptance_result_input"
)
public
RestResult
<
Boolean
>
submitToAcceptanceResultInput
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleService
.
submitToAcceptanceResultInput
(
ids
,
getAccount
()));
public
RestResult
<
Boolean
>
submitToAcceptanceResultInput
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleService
.
submitToAcceptanceResultInput
(
ids
,
getAccount
()));
}
@ApiOperation
(
"质量审核驳回"
)
@PostMapping
(
"/back_judge_check"
)
public
RestResult
<
Boolean
>
backJudgeCheck
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
@RequestParam
(
"remark"
)
String
remark
)
{
return
success
(
entrustSampleService
.
backJudgeCheck
(
ids
,
remark
,
getAccount
()));
public
RestResult
<
Boolean
>
backJudgeCheck
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
@RequestParam
(
"remark"
)
String
remark
)
{
return
success
(
entrustSampleService
.
backJudgeCheck
(
ids
,
remark
,
getAccount
()));
}
@ApiOperation
(
"任务分配按照样品分配左侧分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -431,7 +411,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"数据录入按照样品录入左侧分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -479,7 +458,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"数据复核历史按照样品复核左侧分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -527,8 +505,6 @@ public class EntrustSampleController extends ServiceController {
}
@ApiOperation
(
"检测结果查询分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
...
...
@@ -558,4 +534,10 @@ public class EntrustSampleController extends ServiceController {
public
RestResult
<
Map
>
getPMakeFeStatsQuery
(
QueryDTO
queryDTO
)
{
return
success
(
entrustSampleService
.
getPMakeFeStatsQuery
(
queryDTO
));
}
@ApiOperation
(
value
=
"扫码接收"
,
notes
=
"扫码接收"
)
@PostMapping
(
"/scan_receive"
)
public
RestResult
<
Boolean
>
scanReceive
(
@RequestParam
(
"sampleCode"
)
String
sampleCode
)
{
return
success
(
entrustSampleService
.
scanReceive
(
sampleCode
,
getAccount
()));
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/EntrustSampleItemController.java
View file @
571122e9
...
...
@@ -597,4 +597,10 @@ public class EntrustSampleItemController extends ServiceController {
return
success
(
entrustSampleItemService
.
getTesterWorkloadStatusQuery
(
queryDTO
));
}
@ApiOperation
(
"项目不写入报告"
)
@PostMapping
(
"/notWriteToReport"
)
public
RestResult
<
Boolean
>
notWriteToReport
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
)
{
return
success
(
entrustSampleItemService
.
notWriteToReport
(
ids
));
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/EntrustSamplePrepareController.java
View file @
571122e9
...
...
@@ -80,7 +80,7 @@ public class EntrustSamplePrepareController extends ServiceController {
@ApiOperation
(
"样品接收提交"
)
@PostMapping
(
"/submit_sample_receive"
)
public
RestResult
<
Boolean
>
submitSampleReceive
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSamplePrepareService
.
submitSampleReceive
(
ids
,
getAccount
()));
return
success
(
entrustSamplePrepareService
.
submitSampleReceive
(
ids
,
null
,
getAccount
()));
}
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/QuestionnaireController.java
0 → 100644
View file @
571122e9
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
controller
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.api.RestConstants
;
import
com.patzn.cloud.commons.api.RestResult
;
import
com.patzn.cloud.commons.controller.ServiceController
;
import
com.patzn.cloud.service.hmhj.entity.Questionnaire
;
import
com.patzn.cloud.service.hmhj.vo.QuestionnaireVO
;
import
com.patzn.cloud.service.lims.hmhj.service.IQuestionnaireService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
* 满意度调查表 前端控制器
*
* @author meazty
* @since 2021-07-11
*/
@Api
(
tags
=
"满意度调查表"
)
@RestController
@RequestMapping
(
"/v1/questionnaire"
)
public
class
QuestionnaireController
extends
ServiceController
{
@Autowired
private
IQuestionnaireService
questionnaireService
;
@ApiOperation
(
"分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_ROWS
,
value
=
"每页条数"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
})
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
Questionnaire
>>
getPage
(
QuestionnaireVO
questionnaire
)
{
return
success
(
questionnaireService
.
page
(
getPage
(),
questionnaire
));
}
@ApiOperation
(
"查询 id 信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
})
@GetMapping
(
"/{id}"
)
public
RestResult
<
Questionnaire
>
get
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
questionnaireService
.
getById
(
id
));
}
@ApiOperation
(
"根据 id 修改信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
})
@PutMapping
(
"/{id}"
)
public
RestResult
<
Boolean
>
edit
(
@PathVariable
(
"id"
)
Long
id
,
Questionnaire
questionnaire
)
{
questionnaire
.
setId
(
id
);
return
success
(
questionnaireService
.
updateById
(
questionnaire
));
}
@ApiOperation
(
"添加"
)
@PostMapping
(
"/"
)
public
RestResult
<
Boolean
>
add
(
Questionnaire
questionnaire
)
{
return
success
(
questionnaireService
.
save
(
questionnaire
));
}
@ApiOperation
(
"添加或修改调查表"
)
@PostMapping
(
"/addOrUpdate"
)
public
RestResult
<
Boolean
>
addQuestionnaire
(
Questionnaire
questionnaire
)
{
return
success
(
questionnaireService
.
saveOrUpdate
(
questionnaire
,
getAccount
()));
}
@ApiOperation
(
"根据 ids 删除"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"主键列表"
,
required
=
true
,
paramType
=
"query"
,
allowMultiple
=
true
,
dataTypeClass
=
Long
.
class
),
})
@DeleteMapping
(
"/"
)
public
RestResult
<
Boolean
>
delete
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
)
{
return
success
(
questionnaireService
.
deleteByIds
(
ids
));
}
@ApiOperation
(
"提交满意度调查"
)
@PostMapping
(
"/submit"
)
public
RestResult
<
Boolean
>
submit
(
@RequestParam
(
"id"
)
Long
id
)
{
return
success
(
questionnaireService
.
submitQuestionnaire
(
id
,
getAccount
()));
}
@ApiOperation
(
"导出Excel"
)
@GetMapping
(
"/export"
)
public
void
export
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
HttpServletResponse
response
)
{
questionnaireService
.
exportExcel
(
ids
,
response
,
getAccount
());
}
@ApiOperation
(
"导出统计Excel"
)
@GetMapping
(
"/exportStatusExcel"
)
public
void
exportStatusExcel
(
@RequestParam
(
"ids"
)
Long
[]
ids
,
HttpServletResponse
response
)
{
questionnaireService
.
exportStatusExcel
(
ids
,
response
,
getAccount
());
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/handler/QuestionnaireExportHandler.java
0 → 100644
View file @
571122e9
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
handler
;
import
com.patzn.cloud.service.hmhj.entity.Questionnaire
;
import
com.patzn.poibox.excel.AbstractExeclExportHandler
;
import
com.patzn.poibox.excel.IExcelTemplate
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
QuestionnaireExportHandler
extends
AbstractExeclExportHandler
{
private
List
<
Questionnaire
>
questionnaires
=
null
;
public
QuestionnaireExportHandler
(
List
<
Questionnaire
>
equipList
)
{
this
.
questionnaires
=
equipList
;
}
@Override
public
IExcelTemplate
exportTemplate
()
{
return
new
IExcelTemplate
()
{
@Override
public
String
tplname
()
{
return
"QuestionnaireTpl"
;
}
@Override
public
String
outname
()
{
return
"客户满意度调查表"
;
}
};
}
@Override
protected
Map
<
String
,
Object
>
renderData
()
{
Map
<
String
,
Object
>
objMap
=
new
HashMap
<>(
1
);
objMap
.
put
(
"questionnaires"
,
questionnaires
);
return
objMap
;
}
}
\ No newline at end of file
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/EntrustMapper.java
View file @
571122e9
...
...
@@ -29,4 +29,6 @@ public interface EntrustMapper extends BatchMapper<Entrust> {
List
<
EntrustVO
>
selectEntrustProgressList
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
EntrustVO
entrust
);
List
<
EntrustVO
>
selectVOListByItem
(
Page
<
EntrustVO
>
page
,
@Param
(
"vo"
)
EntrustVO
entrust
);
List
<
EntrustVO
>
selectEntrustVOHisList
(
Page
<
EntrustVO
>
page
,
@Param
(
"vo"
)
EntrustVO
entrust
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/EntrustSampleItemIndexMapper.java
View file @
571122e9
...
...
@@ -18,4 +18,6 @@ import java.util.List;
public
interface
EntrustSampleItemIndexMapper
extends
BatchMapper
<
EntrustSampleItemIndex
>
{
List
<
EntrustSampleItemIndexVO
>
listVOByExpIds
(
@Param
(
"expIds"
)
List
<
Long
>
expIdsList
);
List
<
EntrustSampleItemIndexVO
>
listBySampleIds
(
@Param
(
"sampleIds"
)
List
<
Long
>
sampleIdList
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/EntrustSampleItemMapper.java
View file @
571122e9
...
...
@@ -2,17 +2,18 @@ package com.patzn.cloud.service.lims.hmhj.mapper;
import
com.baomidou.mybatisplus.annotations.SqlParser
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.entity.EntrustSampleItem
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleCalcResultVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
import
com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup
;
import
com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.session.RowBounds
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
...
...
@@ -53,5 +54,8 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List
<
TesterWorkloadStatsVO
>
selectTesterWorkloadStatus
(
@Param
(
"vo"
)
QueryDTO
queryDTO
);
@SqlParser
(
filter
=
true
)
List
<
LmsUserRelGroupVO
>
selectAllPersonWorkload
(
RowBounds
rowBounds
,
@Param
(
"rel"
)
LmsUserRelGroup
lmsUserRelGroup
);
List
<
EntrustSampleCalcResultVO
>
selectSampleCalcResult
(
@Param
(
"vo"
)
QueryDTO
queryDTO
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/QuestionnaireMapper.java
0 → 100644
View file @
571122e9
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
mapper
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.service.hmhj.entity.Questionnaire
;
import
com.patzn.cloud.service.hmhj.vo.QuestionnaireStatsVO
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
* 满意度调查表 Mapper 接口
* </p>
*
* @author meazty
* @since 2021-07-11
*/
public
interface
QuestionnaireMapper
extends
BatchMapper
<
Questionnaire
>
{
QuestionnaireStatsVO
selectStatsList
(
@Param
(
"ids"
)
Long
[]
ids
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleItemIndexService.java
View file @
571122e9
...
...
@@ -26,4 +26,5 @@ public interface IEntrustSampleItemIndexService extends IBaseService<EntrustSamp
List
<
EntrustSampleItemIndex
>
listBySampleIds
(
List
<
Long
>
sampleIds
);
List
<
EntrustSampleItemIndexVO
>
listVOBySampleIds
(
List
<
Long
>
sampleIds
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleItemService.java
View file @
571122e9
...
...
@@ -83,5 +83,9 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
List
<
TesterWorkloadStatsVO
>
getTesterWorkloadStatusQuery
(
QueryDTO
queryDTO
);
Page
<
LmsUserRelGroupVO
>
selectAllPersonWorkload
(
Page
<
LmsUserRelGroupVO
>
page
,
LmsUserRelGroup
rel
);
List
<
EntrustSampleCalcResultVO
>
getSampleCalcResult
(
QueryDTO
queryDTO
);
Boolean
notWriteToReport
(
List
<
Long
>
ids
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSamplePrepareService.java
View file @
571122e9
...
...
@@ -25,7 +25,7 @@ public interface IEntrustSamplePrepareService extends IBaseService<EntrustSample
boolean
makeEnd
(
SamplePrepareDTO
dto
,
Account
account
);
boolean
submitSampleReceive
(
Long
[]
ids
,
Account
account
);
boolean
submitSampleReceive
(
Long
[]
ids
,
String
receiveType
,
Account
account
);
boolean
addOrUpdateToSetStatus
(
Long
[]
sampleIds
,
EntrustSamplePrepareStatusEnum
statusEnum
);
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleService.java
View file @
571122e9
...
...
@@ -82,5 +82,7 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
boolean
addTestItemInInput
(
EntrustSampleADDDTO
dto
,
Account
account
);
boolean
scanReceive
(
String
sampleCode
,
Account
account
);
boolean
makeSingleReport
(
Long
sampleId
,
Long
[]
itemIds
,
Long
templateId
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IQuestionnaireService.java
0 → 100644
View file @
571122e9
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
;
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.hmhj.entity.Questionnaire
;
import
com.patzn.cloud.service.hmhj.vo.QuestionnaireVO
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
* 满意度调查表 服务类
*
* @author meazty
* @since 2021-07-11
*/
public
interface
IQuestionnaireService
extends
IBaseService
<
Questionnaire
>
{
Page
<
Questionnaire
>
page
(
Page
<
Questionnaire
>
page
,
QuestionnaireVO
questionnaireVO
);
boolean
saveOrUpdate
(
Questionnaire
questionnaire
,
Account
account
);
boolean
removeByIds
(
List
<
Long
>
ids
);
boolean
submitQuestionnaire
(
Long
id
,
Account
account
);
void
exportExcel
(
Long
[]
ids
,
HttpServletResponse
response
,
Account
account
);
void
exportStatusExcel
(
Long
[]
ids
,
HttpServletResponse
response
,
Account
account
);
boolean
deleteByIds
(
List
<
Long
>
ids
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustReportTemplateServiceImpl.java
View file @
571122e9
...
...
@@ -31,8 +31,12 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep
@Override
public
Page
<
EntrustReportTemplate
>
page
(
Page
<
EntrustReportTemplate
>
page
,
EntrustReportTemplate
entrustReportTemplate
)
{
String
name
=
entrustReportTemplate
.
getName
();
entrustReportTemplate
.
setName
(
null
);
Wrapper
wrapper
=
new
EntityWrapper
<>(
entrustReportTemplate
);
if
(
StringUtils
.
isNotBlank
(
name
))
{
wrapper
.
like
(
"name"
,
name
);
}
return
this
.
page
(
page
,
wrapper
);
}
...
...
@@ -42,10 +46,10 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep
}
@Override
public
boolean
uploadTemplate
(
MultipartFile
file
,
String
name
,
String
classType
,
String
remark
)
{
RestAssert
.
fail
(
StringUtils
.
isBlank
(
name
),
"模板名称不能为空"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
classType
),
"模板类别不能为空"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
remark
),
"模板名称说明不能为空"
);
public
boolean
uploadTemplate
(
MultipartFile
file
,
String
name
,
String
classType
,
String
remark
)
{
RestAssert
.
fail
(
StringUtils
.
isBlank
(
name
),
"模板名称不能为空"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
classType
),
"模板类别不能为空"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
remark
),
"模板名称说明不能为空"
);
String
fileName
=
file
.
getOriginalFilename
();
RestAssert
.
fail
(
StringUtils
.
isBlank
(
fileName
),
"请上传文件"
);
EntrustReportTemplate
attachment
=
new
EntrustReportTemplate
();
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemIndexServiceImpl.java
View file @
571122e9
...
...
@@ -53,41 +53,33 @@ public class EntrustSampleItemIndexServiceImpl extends BaseServiceImpl<EntrustSa
@Override
public
List
<
EntrustSampleItemIndex
>
listBySampleId
(
Long
id
)
{
List
<
EntrustSampleItem
>
itemList
=
entrustSampleItemService
.
list
(
Condition
.
create
().
eq
(
"entrust_sample_id"
,
id
));
if
(
CollectionUtils
.
isEmpty
(
itemList
)){
List
<
EntrustSampleItem
>
itemList
=
entrustSampleItemService
.
list
(
Condition
.
create
().
eq
(
"entrust_sample_id"
,
id
));
if
(
CollectionUtils
.
isEmpty
(
itemList
))
{
return
null
;
}
List
<
Long
>
itemIds
=
itemList
.
stream
().
map
(
s
->
{
List
<
Long
>
itemIds
=
itemList
.
stream
().
map
(
s
->
{
return
s
.
getId
();
}).
collect
(
Collectors
.
toList
());
return
list
(
Condition
.
create
().
in
(
"entrust_sample_item_id"
,
itemIds
));
return
list
(
Condition
.
create
().
in
(
"entrust_sample_item_id"
,
itemIds
));
}
@Override
public
List
<
EntrustSampleItemIndex
>
listBySampleIds
(
List
<
Long
>
sampleIds
)
{
List
<
EntrustSampleItem
>
itemList
=
entrustSampleItemService
.
list
(
Condition
.
create
().
in
(
"entrust_sample_id"
,
sampleIds
));
if
(
CollectionUtils
.
isEmpty
(
itemList
)){
List
<
EntrustSampleItem
>
itemList
=
entrustSampleItemService
.
list
(
Condition
.
create
().
in
(
"entrust_sample_id"
,
sampleIds
));
if
(
CollectionUtils
.
isEmpty
(
itemList
))
{
return
null
;
}
List
<
Long
>
itemIds
=
itemList
.
stream
().
map
(
s
->
{
List
<
Long
>
itemIds
=
itemList
.
stream
().
map
(
s
->
{
return
s
.
getId
();
}).
collect
(
Collectors
.
toList
());
return
list
(
Condition
.
create
().
in
(
"entrust_sample_item_id"
,
itemIds
));
return
list
(
Condition
.
create
().
in
(
"entrust_sample_item_id"
,
itemIds
));
}
@Override
public
List
<
EntrustSampleItemIndexVO
>
listVOBySampleIds
(
List
<
Long
>
sampleIds
)
{
List
<
EntrustSampleItem
>
itemList
=
entrustSampleItemService
.
list
(
Condition
.
create
().
setSqlSelect
(
"id"
).
in
(
"entrust_sample_id"
,
sampleIds
));
if
(
CollectionUtils
.
isEmpty
(
itemList
)){
if
(
CollectionUtils
.
isEmpty
(
sampleIds
))
{
return
null
;
}
List
<
Long
>
itemIds
=
new
ArrayList
<>(
itemList
.
size
());
for
(
EntrustSampleItem
itemVO
:
itemList
)
{
itemIds
.
add
(
itemVO
.
getId
());
return
baseMapper
.
listBySampleIds
(
sampleIds
);
}
return
baseMapper
.
listVOByExpIds
(
itemIds
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
View file @
571122e9
This diff is collapsed.
Click to expand it.
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSamplePrepareServiceImpl.java
View file @
571122e9
...
...
@@ -208,11 +208,11 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
submitSampleReceive
(
Long
[]
ids
,
Account
account
)
{
public
boolean
submitSampleReceive
(
Long
[]
ids
,
String
receiveType
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择检测样品"
);
List
<
EntrustSamplePrepare
>
prepareList
=
super
.
list
(
Condition
.
create
().
in
(
"id"
,
ids
));
RestAssert
.
fail
(
CollectionUtils
.
isEmpty
(
prepareList
),
"请选择检测样品"
);
// receiveType : 接收方式,手动或者扫码接收
List
<
Long
>
sampleIdsList
=
new
ArrayList
<>();
for
(
EntrustSamplePrepare
prepare
:
prepareList
)
{
if
(
null
!=
prepare
.
getEntrustSampleId
()
&&
null
!=
prepare
.
getGroupId
())
{
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
View file @
571122e9
This diff is collapsed.
Click to expand it.
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
View file @
571122e9
...
...
@@ -656,31 +656,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if
(
CollectionUtils
.
isEmpty
(
entrust
.
getItemStatusEnumList
()))
{
return
page
;
}
List
<
EntrustSampleItem
>
itemList
=
entrustSampleItemService
.
list
(
Condition
.
create
().
in
(
"status"
,
entrust
.
getItemStatusEnumList
()));
if
(
CollectionUtils
.
isEmpty
(
itemList
))
{
return
page
;
}
List
<
Long
>
sampleIdsList
=
itemList
.
stream
().
map
(
i
->
{
return
i
.
getEntrustSampleId
();
}).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
sampleIdsList
))
{
return
page
;
}
List
<
EntrustSample
>
sampleList
=
entrustSampleService
.
list
(
Condition
.
create
().
in
(
"id"
,
sampleIdsList
));
if
(
CollectionUtils
.
isEmpty
(
sampleList
))
{
return
page
;
}
List
<
Long
>
ids
=
sampleList
.
stream
().
map
(
s
->
{
return
s
.
getEntrustId
();
}).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
ids
))
{
return
page
;
}
entrust
.
setIdsList
(
ids
);
return
page
.
setRecords
(
baseMapper
.
selectVOList
(
page
,
entrust
));
return
page
.
setRecords
(
baseMapper
.
selectEntrustVOHisList
(
page
,
entrust
));
}
@Override
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/MaterialServiceImpl.java
View file @
571122e9
...
...
@@ -5,6 +5,7 @@ import com.patzn.cloud.service.hmhj.entity.Material;
import
com.patzn.cloud.service.lims.hmhj.mapper.MaterialMapper
;
import
com.patzn.cloud.service.lims.hmhj.service.IMaterialService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
...
...
@@ -23,8 +24,20 @@ public class MaterialServiceImpl extends BaseServiceImpl<MaterialMapper, Materia
@Override
public
Page
<
Material
>
page
(
Page
<
Material
>
page
,
Material
material
)
{
String
name
=
material
.
getName
();
String
code
=
material
.
getCode
();
String
supplier
=
material
.
getSupplier
();
material
.
setCode
(
null
).
setName
(
null
).
setSupplier
(
null
);
Wrapper
wrapper
=
new
EntityWrapper
<>(
material
);
if
(
StringUtils
.
isNotBlank
(
name
))
{
wrapper
.
like
(
"name"
,
name
);
}
if
(
StringUtils
.
isNotBlank
(
code
))
{
wrapper
.
like
(
"code"
,
code
);
}
if
(
StringUtils
.
isNotBlank
(
supplier
))
{
wrapper
.
like
(
"supplier"
,
supplier
);
}
return
this
.
page
(
page
,
wrapper
);
}
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/QuestionnaireServiceImpl.java
0 → 100644
View file @
571122e9
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.baomidou.mybatisplus.toolkit.ArrayUtils
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.toolkit.StringUtils
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.toolkit.DateUtils
;
import
com.patzn.cloud.feign.base.client.SysUserClient
;
import
com.patzn.cloud.feign.lims.base.client.LmsBaseDictClient
;
import
com.patzn.cloud.service.base.vo.SysUserOrgVO
;
import
com.patzn.cloud.service.hmhj.entity.Questionnaire
;
import
com.patzn.cloud.service.hmhj.vo.QuestionnaireStatsVO
;
import
com.patzn.cloud.service.hmhj.vo.QuestionnaireVO
;
import
com.patzn.cloud.service.lims.base.entity.LmsBaseDict
;
import
com.patzn.cloud.service.lims.common.service.IExportService
;
import
com.patzn.cloud.service.lims.hmhj.handler.QuestionnaireExportHandler
;
import
com.patzn.cloud.service.lims.hmhj.mapper.QuestionnaireMapper
;
import
com.patzn.cloud.service.lims.hmhj.service.IQuestionnaireService
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.UnsupportedEncodingException
;
import
java.math.BigDecimal
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
/**
* 满意度调查表 服务实现类
*
* @author meazty
* @since 2021-07-11
*/
@Service
public
class
QuestionnaireServiceImpl
extends
BaseServiceImpl
<
QuestionnaireMapper
,
Questionnaire
>
implements
IQuestionnaireService
{
private
static
final
String
DICT_TYPE
=
"满意度间隔时间"
;
@Autowired
private
LmsBaseDictClient
lmsBaseDictClient
;
@Autowired
private
SysUserClient
sysUserClient
;
@Autowired
private
IExportService
exportService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
saveOrUpdate
(
Questionnaire
questionnaire
,
Account
account
)
{
calcScore
(
questionnaire
);
List
<
SysUserOrgVO
>
list
=
sysUserClient
.
getUserOrg
(
Arrays
.
asList
(
account
.
getUserId
())).
serviceData
();
SysUserOrgVO
sysUserOrgVO
=
list
.
get
(
0
);
questionnaire
.
setOrgName
(
sysUserOrgVO
.
getOrgName
());
questionnaire
.
setLid
(
account
.
getUserId
());
if
(
null
!=
questionnaire
.
getStatus
()
&&
1
==
questionnaire
.
getStatus
().
intValue
())
{
questionnaire
.
setSubmitTime
(
new
Date
());
questionnaire
.
setCreator
(
account
.
getUserName
());
submitHandler
(
questionnaire
,
account
);
}
if
(
null
==
questionnaire
.
getId
())
{
return
save
(
questionnaire
);
}
return
updateById
(
questionnaire
);
}
@Override
public
Page
<
Questionnaire
>
page
(
Page
<
Questionnaire
>
page
,
QuestionnaireVO
questionnaireVO
)
{
Wrapper
wrapper
=
new
EntityWrapper
<>(
new
Questionnaire
());
if
(
StringUtils
.
isNotEmpty
(
questionnaireVO
.
getCreator
()))
{
wrapper
.
like
(
"creator"
,
questionnaireVO
.
getCreator
());
}
if
(
null
!=
questionnaireVO
.
getTimeS
())
{
wrapper
.
ge
(
"submit_time"
,
questionnaireVO
.
getTimeS
());
}
if
(
null
!=
questionnaireVO
.
getTimeE
())
{
wrapper
.
le
(
"submit_time"
,
questionnaireVO
.
getTimeE
());
}
if
(
null
!=
questionnaireVO
.
getStatus
())
{
wrapper
.
eq
(
"status"
,
questionnaireVO
.
getStatus
());
}
wrapper
.
orderBy
(
"ctime"
,
false
);
return
this
.
page
(
page
,
wrapper
);
}
@Override
public
boolean
removeByIds
(
List
<
Long
>
ids
)
{
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
submitQuestionnaire
(
Long
id
,
Account
account
)
{
RestAssert
.
fail
(
null
==
id
,
"满意度调查表不能为空"
);
Questionnaire
questionnaire
=
getById
(
id
);
RestAssert
.
fail
(
null
==
questionnaire
,
"满意度调查表不能为空"
);
calcScore
(
questionnaire
);
questionnaire
.
setSubmitTime
(
new
Date
());
submitHandler
(
questionnaire
,
account
);
questionnaire
.
setStatus
(
1
);
questionnaire
.
setCreator
(
account
.
getUserName
());
return
updateById
(
questionnaire
);
}
private
void
submitHandler
(
Questionnaire
questionnaire
,
Account
account
)
{
LmsBaseDict
baseDict
=
lmsBaseDictClient
.
getByType
(
DICT_TYPE
,
account
.
getCompanyId
()).
getData
();
RestAssert
.
fail
(
null
==
baseDict
,
"未配置满意度调查间隔时间,请先配置默认间隔时间"
);
Integer
seqDays
=
Integer
.
parseInt
(
baseDict
.
getCode
());
// 提交时间与当前时间比较,若提交时间满足 + seqDays > new Date(),那么可以继续提交
RestAssert
.
fail
(
DateUtils
.
dateAddDays
(
questionnaire
.
getSubmitTime
(),
seqDays
).
after
(
new
Date
()),
String
.
format
(
"未满 %d 个月,无法继续提交满意度调查表。"
,
seqDays
/
30
));
}
private
void
calcScore
(
Questionnaire
questionnaire
)
{
RestAssert
.
fail
(
null
==
questionnaire
.
getAccuracy
()
||
null
==
questionnaire
.
getClarity
()
||
null
==
questionnaire
.
getCoordination
()
||
null
==
questionnaire
.
getServiceAttitude
()
||
null
==
questionnaire
.
getTimeliness
(),
"满意度调查表分数不能为空"
);
BigDecimal
accuracy
=
questionnaire
.
getAccuracy
();
BigDecimal
clarity
=
questionnaire
.
getClarity
();
BigDecimal
coordination
=
questionnaire
.
getCoordination
();
BigDecimal
serviceAttitude
=
questionnaire
.
getServiceAttitude
();
BigDecimal
timeliness
=
questionnaire
.
getTimeliness
();
BigDecimal
score
=
accuracy
.
add
(
clarity
).
add
(
coordination
).
add
(
serviceAttitude
).
add
(
timeliness
);
questionnaire
.
setScore
(
score
);
}
@Override
public
void
exportExcel
(
Long
[]
ids
,
HttpServletResponse
response
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要导出的调查表"
);
List
<
Questionnaire
>
questionnaireList
=
getBatchIds
(
Arrays
.
asList
(
ids
));
RestAssert
.
fail
(
CollectionUtils
.
isEmpty
(
questionnaireList
),
"请选择要导出的调查表"
);
new
QuestionnaireExportHandler
(
questionnaireList
).
generater
(
response
);
}
@Override
public
void
exportStatusExcel
(
Long
[]
ids
,
HttpServletResponse
response
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要导出的调查表"
);
QuestionnaireStatsVO
questionnaireVO
=
baseMapper
.
selectStatsList
(
ids
);
RestAssert
.
fail
(
null
==
questionnaireVO
,
"请选择要导出的调查表"
);
XSSFWorkbook
xssfWorkbook
=
exportService
.
getXSSFWorkbook
(
"QuestionnaireStatsExport.xlsx"
);
XSSFSheet
sheet
=
xssfWorkbook
.
getSheetAt
(
0
);
Integer
numTotal
=
questionnaireVO
.
getNumTotal
();
for
(
int
i
=
1
;
i
<
7
;
i
++)
{
XSSFRow
row
=
sheet
.
getRow
(
i
);
double
sumValue
=
0.0
,
avgValue
=
0.0
;
switch
(
i
)
{
case
1
:
sumValue
=
questionnaireVO
.
getFwtdSum
();
avgValue
=
questionnaireVO
.
getFwtdAvg
();
break
;
case
2
:
sumValue
=
questionnaireVO
.
getXtgtSum
();
avgValue
=
questionnaireVO
.
getXtgtAvg
();
break
;
case
3
:
sumValue
=
questionnaireVO
.
getRjsxSum
();
avgValue
=
questionnaireVO
.
getRjsxAvg
();
break
;
case
4
:
sumValue
=
questionnaireVO
.
getRzqxSum
();
avgValue
=
questionnaireVO
.
getRzqxAvg
();
break
;
case
5
:
sumValue
=
questionnaireVO
.
getQxzjSum
();
avgValue
=
questionnaireVO
.
getQxzjAvg
();
break
;
case
6
:
sumValue
=
questionnaireVO
.
getSumTotal
();
avgValue
=
questionnaireVO
.
getAvgTotal
();
break
;
}
row
.
getCell
(
1
).
setCellValue
(
sumValue
);
row
.
getCell
(
2
).
setCellValue
(
numTotal
);
row
.
getCell
(
3
).
setCellValue
(
avgValue
);
}
String
fileName
=
null
;
try
{
fileName
=
java
.
net
.
URLEncoder
.
encode
(
"客户满意度调查表"
,
"UTF-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
fileName
=
"questionnaireExcel"
;
}
exportService
.
downloadXlsx
(
response
,
fileName
+
".xlsx"
,
xssfWorkbook
);
}
@Override
public
boolean
deleteByIds
(
List
<
Long
>
ids
)
{
List
list
=
list
(
Condition
.
create
().
in
(
"id"
,
ids
).
eq
(
"status"
,
1
).
eq
(
"deleted"
,
0
));
RestAssert
.
fail
(
CollectionUtils
.
isNotEmpty
(
list
),
"已提交的调查表不能删除!"
);
return
removeByIds
(
ids
);
}
}
src/main/resources/mapper/hmhj/EntrustMapper.xml
View file @
571122e9
...
...
@@ -58,6 +58,44 @@
order by entrust_time desc
</select>
<!--查询委托历史数据-->
<select
id=
"selectEntrustVOHisList"
resultType=
"com.patzn.cloud.service.hmhj.vo.EntrustVO"
>
SELECT * FROM entrust e WHERE e.deleted = 0
<if
test=
"null!=vo.itemStatusEnumList"
>
AND exists (
select 1 from entrust_sample s,entrust_sample_item i where s.deleted = 0 and i.deleted = 0
and s.id = i.entrust_sample_id and e.id = s.entrust_id
and i.status IN
<foreach
collection=
"vo.itemStatusEnumList"
index=
"itemStats"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{itemStats}
</foreach>
)
</if>
<if
test=
"null!=vo.client"
>
AND e.client LIKE CONCAT('%',#{vo.client},'%')
</if>
<if
test=
"null!=vo.code"
>
AND e.code LIKE CONCAT('%',#{vo.code},'%')
</if>
<if
test=
"null!=vo.testSide"
>
AND e.test_side LIKE CONCAT('%',#{vo.testSide},'%')
</if>
<if
test=
"null!=vo.statusList"
>
AND e.status IN
<foreach
collection=
"vo.statusList"
index=
"index"
item=
"status"
open=
"("
separator=
","
close=
")"
>
#{status}
</foreach>
</if>
<if
test=
"null!=vo.groupNameList"
>
AND e.test_side IN
<foreach
collection=
"vo.groupNameList"
index=
"index"
item=
"groupName"
open=
"("
separator=
","
close=
")"
>
#{groupName}
</foreach>
</if>
order by entrust_time desc
</select>
<select
id=
"selectVOListByItem"
resultType=
"com.patzn.cloud.service.hmhj.vo.EntrustVO"
>
SELECT distinct e.* FROM
entrust e,entrust_sample s,entrust_sample_item i
...
...
src/main/resources/mapper/hmhj/EntrustSampleItemIndexMapper.xml
View file @
571122e9
...
...
@@ -16,4 +16,22 @@
#{id}
</foreach>
</select>
<select
id=
"listBySampleIds"
resultType=
"com.patzn.cloud.service.hmhj.vo.EntrustSampleItemIndexVO"
>
select
ii.*,
i.name "item_name",
i.id "item_id",
s.id "sample_id",
s.code "sample_code",
s.entrust_id
from entrust_sample_item_index ii
join entrust_sample_item i on ii.entrust_sample_item_id = i.id
JOIN entrust_sample s ON i.entrust_sample_id = s.id
WHERE ii.deleted =0 AND i.deleted = 0 AND s.deleted = 0
AND s.id IN
<foreach
collection=
"sampleIds"
index=
"index"
item=
"sampleId"
open=
"("
separator=
","
close=
")"
>
#{sampleId}
</foreach>
</select>
</mapper>
src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
View file @
571122e9
...
...
@@ -51,7 +51,8 @@
group_id,
tester,
tester_id,
test_time
test_time,
in_report
FROM
entrust_sample_item
WHERE
...
...
@@ -92,7 +93,7 @@
)
SELECT i.*,s.name AS "sampleName",e.test_side "testSide",COALESCE(s.third_code,s.code) AS "sampleCode",l.record_id,r.object_key AS "recordObjectKey",
s.compliance_test,s.sample_from,sample_shape,s.second_code,s.third_code
s.compliance_test,s.sample_from,sample_shape,s.second_code,s.third_code
,i.in_report
FROM i
JOIN entrust_sample s ON i.entrust_sample_id = s.id
LEFT JOIN ( SELECT id,item_id,record_id FROM item_rel_original_record WHERE deleted = 0 ) l ON i.id = l.item_id
...
...
@@ -118,7 +119,8 @@
standard,
test_value,
group_name,
group_id
group_id,
in_report
FROM
entrust_sample_item
WHERE
...
...
@@ -159,7 +161,7 @@
)
SELECT i.*,s.name AS "sampleName",s.code AS "sampleCode",e.test_side "testSide",l.record_id,r.object_key AS "recordObjectKey",
s.compliance_test,s.second_code,s.third_code
s.compliance_test,s.second_code,s.third_code
,i.in_report
FROM i
JOIN entrust_sample s ON i.entrust_sample_id = s.id
JOIN (select t.id,t.code,t.test_side from entrust t where t.deleted = 0 ) e on s.entrust_id = e.id
...
...
@@ -180,6 +182,8 @@
JOIN entrust_sample s ON i.entrust_sample_id = s.ID
WHERE i.deleted = 0 AND s.deleted = 0
-- 查询在报告中体现的
AND i.in_report = 1
AND i.entrust_sample_id IN
<foreach
collection=
"ids"
index=
"index"
item=
"sampleId"
open=
"("
separator=
","
close=
")"
>
#{sampleId}
...
...
@@ -462,4 +466,29 @@
t.sum_compare,
t.sum_value
</select>
<!-- 所有人员检测任务量查询 -->
<select
id=
"selectAllPersonWorkload"
resultType=
"com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO"
>
select
ug.user_id,
ug.group_id,
ug.realname,
sum(case when i.status = 50 then 1 else 0 end ) "tested",
sum(case when i.status = 20 and coalesce(ii.fill_num,0) > 0 then 1 else 0 end ) "total",
sum(case when i.status = 20 and coalesce(ii.fill_num,0) = 0 then 1 else 0 end ) "notTesting"
from v_lms_user_group ug
left join entrust_sample_item i on ug.user_id = i.tester_Id
left join (
select ii.entrust_sample_item_id,count(1) "fill_num" from entrust_sample_item_index ii
where ii.deleted = 0 group by ii.entrust_sample_item_id
) ii on ii.entrust_sample_item_id = i.id
where 1 = 1
<if
test=
"rel.realname != null"
>
and ug.realname like concat('%',#{rel.realname},'%')
</if>
<if
test=
"rel.groupId != null"
>
and ug.group_id = #{rel.groupId}
</if>
GROUP BY ug.user_id,ug.group_id,ug.realname
</select>
</mapper>
src/main/resources/mapper/hmhj/EntrustSampleMapper.xml
View file @
571122e9
...
...
@@ -27,41 +27,56 @@
<if
test=
"null!=vo.entrustId"
>
AND s.entrust_id = #{vo.entrustId}
</if>
</select>
<select
id=
"selectVOList"
resultType=
"com.patzn.cloud.service.hmhj.vo.EntrustSampleVO"
>
SELECT
s.*
FROM entrust_sample s WHERE deleted = 0
<if
test=
"null != vo.entrustId"
>
AND s.entrust_id = #{vo.entrustId}
</if>
SELECT * FROM entrust_sample WHERE deleted = 0
<if
test=
"null!=vo.entrustId"
>
AND entrust_id = #{vo.entrustId}
<if
test=
"null != vo.status"
>
AND s.status = #{vo.status}
</if>
<if
test=
"null != vo.code"
>
AND s.code LIKE CONCAT('%',#{vo.code},'%')
</if>
<if
test=
"null
!=vo.s
tatus"
>
AND
status = #{vo.s
tatus}
<if
test=
"null
!= vo.notS
tatus"
>
AND
s.status != #{vo.notS
tatus}
</if>
<if
test=
"null!=vo.code"
>
AND code LIKE CONCAT('%',#{vo.code},'%')
<if
test=
"null != vo.itemStatus"
>
AND exists (
select 1 from entrust_sample_item i where i.deleted = 0
and i.entrust_sample_id = s.id
and i.status = #{vo.itemStatus}
)
</if>
<if
test=
"null!=vo.notStatus"
>
AND status != #{vo.notStatus}
<if
test=
"null != vo.itemStatusList"
>
AND exists (
select 1 from entrust_sample_item i where i.deleted = 0
and i.entrust_sample_id = s.id
and i.status IN
<foreach
collection=
"vo.itemStatusList"
index=
"index"
item=
"itemStatus"
open=
"("
separator=
","
close=
")"
>
#{itemStatus}
</foreach>
)
</if>
<if
test=
"null!=vo.ids"
>
AND
id IN
AND
s.
id IN
<foreach
collection=
"vo.ids"
index=
"index"
item=
"sampleId"
open=
"("
separator=
","
close=
")"
>
#{sampleId}
</foreach>
</if>
order by
order_by asc, code ,
ctime desc
order by
s.order_by asc, s.code ,s.
ctime desc
</select>
<select
id=
"selectMinStatusByEntrustIds"
resultType=
"com.patzn.cloud.service.hmhj.vo.EntrustSampleVO"
>
WITH summary AS (
...
...
src/main/resources/mapper/hmhj/QuestionnaireMapper.xml
0 → 100644
View file @
571122e9
<?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.hmhj.mapper.QuestionnaireMapper"
>
<select
id=
"selectStatsList"
resultType=
"com.patzn.cloud.service.hmhj.vo.QuestionnaireStatsVO"
>
select
sum(q.service_attitude) "fwtd_sum",
sum(q.coordination) "xtgt_sum",
sum(q.timeliness) "rjsx_sum",
sum(q.accuracy) "rzqx_sum",
sum(q.clarity) "qxzj_sum",
sum(q.score) "sum_total",
count(distinct q.service_attitude) "num_total",
round(cast((sum(q.service_attitude) / count(distinct q.service_attitude)) as numeric),1) "fwtd_avg",
round(cast((sum(q.coordination) / count(distinct q.service_attitude)) as numeric),1) "xtgt_avg",
round(cast((sum(q.timeliness) / count(distinct q.service_attitude))as numeric),1) "rjsx_avg",
round(cast((sum(q.accuracy) / count(distinct q.service_attitude))as numeric),1) "rzqx_avg",
round(cast((sum(q.clarity) / count(distinct q.service_attitude))as numeric),1) "qxzj_avg",
round(cast((sum(q.score) / count(distinct q.service_attitude))as numeric),1) "avg_total"
from questionnaire q where q.deleted = 0
<if
test=
"null != ids"
>
AND id IN
<foreach
collection=
"ids"
index=
"index"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
</select>
</mapper>
src/main/resources/templates/excel/QuestionnaireStatsExport.xlsx
0 → 100644
View file @
571122e9
File added
src/main/resources/templates/excel/QuestionnaireTpl.xlsx
0 → 100644
View file @
571122e9
File added
src/test/java/resources/db_sql/hmhj/v146/20210713增加字段.sql
0 → 100644
View file @
571122e9
--ghx
--ghx
ALTER
TABLE
"public"
.
"entrust_sample"
ADD
COLUMN
"modified"
int2
DEFAULT
0
;
COMMENT
ON
COLUMN
"public"
.
"entrust_sample"
.
"modified"
IS
'是否被更改【0-未修改,1-被修改】'
;
ALTER
TABLE
"public"
.
"entrust_sample_item"
ADD
COLUMN
"in_report"
int2
DEFAULT
1
;
COMMENT
ON
COLUMN
"public"
.
"entrust_sample_item"
.
"in_report"
IS
'是否在报告中显示(0否1是)'
;
\ No newline at end of file
src/test/java/resources/db_sql/hmhj/v147/20210713新增满意度调查表.sql
0 → 100644
View file @
571122e9
DROP
TABLE
IF
EXISTS
"public"
.
"questionnaire"
;
DROP
TABLE
IF
EXISTS
"public"
.
"questionnaire"
;
CREATE
TABLE
"public"
.
"questionnaire"
(
"id"
int8
NOT
NULL
,
"service_attitude"
numeric
(
3
,
1
)
DEFAULT
0
.
0
,
"coordination"
numeric
(
3
,
1
)
DEFAULT
0
.
0
,
"timeliness"
numeric
(
3
,
1
)
DEFAULT
0
.
0
,
"accuracy"
numeric
(
3
,
1
)
DEFAULT
0
.
0
,
"clarity"
numeric
(
3
,
1
)
DEFAULT
0
.
0
,
"advice"
varchar
(
512
)
COLLATE
"pg_catalog"
.
"default"
,
"status"
int2
DEFAULT
0
,
"score"
numeric
(
10
,
1
)
DEFAULT
0
.
0
,
"creator"
varchar
(
64
)
COLLATE
"pg_catalog"
.
"default"
,
"org_name"
varchar
(
64
)
COLLATE
"pg_catalog"
.
"default"
,
"company_id"
int8
,
"uid"
int8
,
"ctime"
timestamp
(
0
)
DEFAULT
NULL
::
timestamp
without
time
zone
,
"lid"
int8
,
"ltime"
timestamp
(
0
)
DEFAULT
NULL
::
timestamp
without
time
zone
,
"deleted"
int2
DEFAULT
0
,
"submit_time"
timestamp
(
6
)
)
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"service_attitude"
IS
'服务态度'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"coordination"
IS
'协调沟通'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"timeliness"
IS
'报告及时性'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"accuracy"
IS
'报告准确性'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"clarity"
IS
'清晰度和整洁度'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"advice"
IS
'建议和意见'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"status"
IS
'状态【0:草稿,1:已提交】'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"score"
IS
'总分'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"creator"
IS
'提交人,创建人'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"org_name"
IS
'责任单位名称'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"company_id"
IS
'企业ID'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"uid"
IS
'创建者ID'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"ctime"
IS
'创建时间'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"lid"
IS
'最后修改人ID'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"ltime"
IS
'最后修改时间'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"deleted"
IS
'总分'
;
COMMENT
ON
COLUMN
"public"
.
"questionnaire"
.
"submit_time"
IS
'提交时间'
;
COMMENT
ON
TABLE
"public"
.
"questionnaire"
IS
'满意度调查表'
;
-- ----------------------------
-- Primary Key structure for table questionnaire
-- ----------------------------
ALTER
TABLE
"public"
.
"questionnaire"
ADD
CONSTRAINT
"questionnaire_pkey"
PRIMARY
KEY
(
"id"
);
\ 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