Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
T
tianjin-cement
Project
Project
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
竹天卫
tianjin-cement
Commits
8ab88823
Commit
8ab88823
authored
Sep 29, 2020
by
竹天卫
Browse files
Options
Browse Files
Download
Plain Diff
计划管理 start
parents
d1c44ec6
2548f57c
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
346 additions
and
77 deletions
+346
-77
QualityController.java
...wise/sc/cement/business/controller/QualityController.java
+25
-16
ReportController.java
.../wise/sc/cement/business/controller/ReportController.java
+1
-1
QualityDetail.java
...java/cn/wise/sc/cement/business/entity/QualityDetail.java
+47
-0
EntrustMapper.java
...java/cn/wise/sc/cement/business/mapper/EntrustMapper.java
+3
-0
EntrustMapper.xml
...a/cn/wise/sc/cement/business/mapper/xml/EntrustMapper.xml
+13
-1
QualityDetailVo.java
.../cn/wise/sc/cement/business/model/vo/QualityDetailVo.java
+45
-0
IEntrustService.java
...a/cn/wise/sc/cement/business/service/IEntrustService.java
+11
-2
EntrustServiceImpl.java
...e/sc/cement/business/service/impl/EntrustServiceImpl.java
+201
-57
No files found.
cement-business/src/main/java/cn/wise/sc/cement/business/controller/QualityController.java
View file @
8ab88823
...
...
@@ -3,18 +3,21 @@ package cn.wise.sc.cement.business.controller;
import
cn.wise.sc.cement.business.entity.EntrustReport
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.vo.EntrustVo
;
import
cn.wise.sc.cement.business.model.vo.QualityDetailVo
;
import
cn.wise.sc.cement.business.service.IEntrustService
;
import
cn.wise.sc.cement.business.util.PageUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -36,21 +39,27 @@ public class QualityController {
this
.
iEntrustService
=
iEntrustService
;
}
@GetMapping
(
"/{entrustId}"
)
@ApiOperation
(
"获取报告详情"
)
public
BaseResponse
<
com
.
baomidou
.
mybatisplus
.
extension
.
plugins
.
pagination
.
Page
<
EntrustReport
>>
getReportDetail
(
@PathVariable
(
"entrustId"
)
Integer
entrustId
,
PageQuery
pageQuery
)
{
List
<
EntrustReport
>
entrustReports
=
iEntrustService
.
getReportDetail
(
entrustId
);
if
(
entrustReports
.
size
()
!=
0
)
{
//过滤 id==null 和 projectType != '常规项目'
List
<
EntrustReport
>
list
=
entrustReports
.
stream
()
.
filter
(
arg
->
arg
.
getId
()
!=
null
&&
"质量控制"
.
equals
(
arg
.
getProjectType
()))
.
collect
(
Collectors
.
toList
());
Page
<
EntrustReport
>
rts
=
PageUtil
.
listConvertToPage
(
list
,
pageQuery
);
return
BaseResponse
.
okData
(
rts
);
@ApiOperation
(
value
=
"质量检测分页列表"
)
@ApiImplicitParams
(
value
=
{
@ApiImplicitParam
(
name
=
"startDate"
,
value
=
"开始日期"
,
paramType
=
"query"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"结束日期"
,
paramType
=
"query"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"clientId"
,
value
=
"委托单位id"
,
paramType
=
"query"
,
dataType
=
"Integer"
),
@ApiImplicitParam
(
name
=
"projectName"
,
value
=
"项目名称"
,
paramType
=
"query"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectCode"
,
value
=
"项目编号"
,
paramType
=
"query"
,
dataType
=
"String"
)
})
@GetMapping
(
"/getPage"
)
public
BaseResponse
<
IPage
<
EntrustVo
>>
page
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
)
{
return
iEntrustService
.
getQualityPage
(
pageQuery
,
startDate
,
endDate
,
clientId
,
projectName
,
projectCode
);
}
return
BaseResponse
.
errorMsg
(
"没找到相关数据!"
);
@GetMapping
(
"/{entrustId}"
)
@ApiOperation
(
"获取质量详情"
)
public
BaseResponse
<
QualityDetailVo
>
getReportDetail
(
@PathVariable
(
"entrustId"
)
Integer
entrustId
)
{
return
BaseResponse
.
okData
(
iEntrustService
.
getQualityDetail
(
entrustId
));
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/controller/ReportController.java
View file @
8ab88823
...
...
@@ -40,7 +40,7 @@ public class ReportController {
this
.
iEntrustService
=
iEntrustService
;
}
@ApiOperation
(
value
=
"
委托
分页列表"
)
@ApiOperation
(
value
=
"
报告
分页列表"
)
@ApiImplicitParams
(
value
=
{
@ApiImplicitParam
(
name
=
"startDate"
,
value
=
"开始日期"
,
paramType
=
"query"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"结束日期"
,
paramType
=
"query"
,
dataType
=
"String"
),
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/entity/QualityDetail.java
0 → 100644
View file @
8ab88823
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @description: 质量检测详情
* @author: qh
* @create: 2020-09-28 14:01
**/
@Data
@ApiModel
(
"质量检测详情实体"
)
public
class
QualityDetail
implements
Serializable
{
private
static
final
long
serialVersionUID
=
42L
;
@ApiModelProperty
(
"样品名字"
)
private
String
sampleName
;
@ApiModelProperty
(
"检测数据"
)
private
String
inputResult
;
@ApiModelProperty
(
"检测组名字"
)
private
String
teamGroupName
;
@ApiModelProperty
(
"项目编号"
)
private
String
entrustCode
;
@ApiModelProperty
(
"项目名字"
)
private
String
projectName
;
@ApiModelProperty
(
"委托人名字"
)
private
String
sendName
;
@ApiModelProperty
(
"委托人电话"
)
private
String
sendPhone
;
@ApiModelProperty
(
"样品id"
)
private
Integer
sampleId
;
@ApiModelProperty
(
"项目id"
)
private
Integer
entrustId
;
@ApiModelProperty
(
"检测组id"
)
private
Integer
teamGroupId
;
@ApiModelProperty
(
"用户id"
)
private
Integer
userId
;
@ApiModelProperty
(
"样品数量"
)
private
Integer
sampleNum
;
private
Integer
clientId
;
private
String
userName
;
private
String
clientName
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/EntrustMapper.java
View file @
8ab88823
...
...
@@ -2,6 +2,7 @@ package cn.wise.sc.cement.business.mapper;
import
cn.wise.sc.cement.business.entity.Entrust
;
import
cn.wise.sc.cement.business.entity.EntrustReport
;
import
cn.wise.sc.cement.business.entity.QualityDetail
;
import
cn.wise.sc.cement.business.model.vo.EntrustVo
;
import
cn.wise.sc.cement.business.model.vo.ProjectVo
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
...
...
@@ -38,4 +39,6 @@ public interface EntrustMapper extends BaseMapper<Entrust> {
List
<
EntrustReport
>
getReportDetail
(
@Param
(
"entrustId"
)
Integer
entrustId
);
List
<
QualityDetail
>
getQualityDetail
(
@Param
(
"entrustId"
)
Integer
entrustId
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/EntrustMapper.xml
View file @
8ab88823
...
...
@@ -154,7 +154,6 @@
order by e.update_time desc
</select>
<!--数据校核分页列表-->
<select
id=
"getCheckPage"
resultType=
"cn.wise.sc.cement.business.model.vo.EntrustVo"
>
select e.*, p.name as projectName, c.name as clientName, su.name as userName,
...
...
@@ -193,6 +192,19 @@
ON sscct.entrust_id = e.id AND e.id = #{entrustId}
</select>
<select
id=
"getQualityDetail"
resultType=
"cn.wise.sc.cement.business.entity.QualityDetail"
>
SELECT s.sample_name,esscct.* FROM (SELECT sscct.*,client_id,entrust_code,project_name,sample_num,send_name,send_phone FROM entrust e
RIGHT JOIN
(SELECT sct.input_result,sample_id,entrust_id,team_group_name,team_group_id,user_id FROM sample_check sc
RIGHT JOIN
(SELECT * FROM sample_check_team) sct
ON sct.check_id = sc.id WHERE sc.entrust_id = #{entrustId}) sscct
ON e.id = sscct.entrust_id) esscct
LEFT JOIN
(SELECT name as sample_name,id FROM sample) s
ON esscct.sample_id = s.id
</select>
<sql
id=
"checkWhere"
>
<where>
and e.is_delete = 1 and e.status >= 6
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/model/vo/QualityDetailVo.java
0 → 100644
View file @
8ab88823
package
cn
.
wise
.
sc
.
cement
.
business
.
model
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @description: 质量检测详情Vo
* @author: qh
* @create: 2020-09-28 14:55
**/
@Data
public
class
QualityDetailVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
42L
;
private
String
projectName
;
private
String
clientName
;
private
String
entrustCode
;
private
Integer
sampleNum
;
private
String
sendName
;
private
String
sendPhone
;
List
<
QualityTeamGroup
>
qualityTeamGroups
=
new
ArrayList
<>();
@Data
public
static
class
QualityTeamGroup
{
private
String
teamGroupName
;
private
List
<
QualitySample
>
qualitySamples
=
new
ArrayList
<>();
}
@Data
public
static
class
QualitySample
{
private
String
sampleName
;
private
List
<
SampleOriginal
>
sampleOriginals
=
new
ArrayList
<>();
}
@Data
public
static
class
SampleOriginal
{
private
String
cementCode
;
private
String
userName
;
private
String
teamValues
;
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/IEntrustService.java
View file @
8ab88823
...
...
@@ -79,9 +79,18 @@ public interface IEntrustService extends IService<Entrust> {
BaseResponse
<
String
>
check
(
CheckQuery
query
);
BaseResponse
<
IPage
<
EntrustVo
>>
getReportPage
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
);
BaseResponse
<
IPage
<
EntrustVo
>>
getReportPage
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
);
BaseResponse
<
Boolean
>
deleteById
(
Integer
id
);
List
<
EntrustReport
>
getReportDetail
(
Integer
entrustId
);
BaseResponse
<
IPage
<
EntrustVo
>>
getQualityPage
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
);
QualityDetailVo
getQualityDetail
(
Integer
entrustId
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/EntrustServiceImpl.java
View file @
8ab88823
...
...
@@ -11,9 +11,7 @@ import cn.wise.sc.cement.business.model.vo.*;
import
cn.wise.sc.cement.business.service.*
;
import
cn.wise.sc.cement.business.util.CheckCountUtil
;
import
cn.wise.sc.cement.business.util.RedisUtil
;
import
cn.wise.sc.cement.business.wrapper.page.Query
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -23,13 +21,13 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* <p>
...
...
@@ -96,6 +94,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
private
SampleCheckTeamMapper
sampleCheckTeamMapper
;
@Resource
private
EquipmentUseMapper
equipmentUseMapper
;
@Resource
private
ClientMapper
clientMapper
;
/**
* 委托分页
...
...
@@ -1716,4 +1716,148 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return
list
;
}
@Override
public
BaseResponse
<
IPage
<
EntrustVo
>>
getQualityPage
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
errorMsg
(
"请登录账号"
);
}
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"startDate"
,
startDate
);
params
.
put
(
"endDate"
,
endDate
);
params
.
put
(
"status"
,
8
);
params
.
put
(
"clientId"
,
clientId
);
params
.
put
(
"projectName"
,
projectName
);
params
.
put
(
"projectCode"
,
projectCode
);
params
.
put
(
"projectType"
,
"质量检测"
);
Integer
approvalId
=
sysApprovalMapper
.
getApprovalId
(
"委托评审"
);
if
(
approvalId
==
null
)
{
return
BaseResponse
.
errorMsg
(
"委托评审信息错误"
);
}
if
(
loginUser
.
getId
()
!=
approvalId
)
{
params
.
put
(
"userId"
,
loginUser
.
getId
());
}
Page
<
EntrustVo
>
page
=
new
Page
<>(
pageQuery
.
getPageNo
(),
pageQuery
.
getPageSize
());
IPage
<
EntrustVo
>
pages
=
entrustMapper
.
getPage
(
page
,
params
);
List
<
EntrustVo
>
list
=
pages
.
getRecords
();
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
for
(
EntrustVo
entrustVo
:
list
)
{
QueryWrapper
<
SampleTmp
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"entrust_id"
,
entrustVo
.
getId
());
List
<
SampleTmp
>
sampleTmpList
=
sampleTmpService
.
list
(
queryWrapper
);
//检测项目名称
String
sampleNames
=
""
;
if
(
sampleTmpList
!=
null
&&
sampleTmpList
.
size
()
>
0
)
{
//样品名称 列表中的拼接
for
(
SampleTmp
sampleTmp
:
sampleTmpList
)
{
sampleNames
=
sampleNames
.
equals
(
""
)
?
sampleTmp
.
getName
()
:
(
sampleNames
+
"、"
+
sampleTmp
.
getName
());
}
entrustVo
.
setSampleNames
(
sampleNames
);
//检测项 和检测依据 列表里只显示第一个样品的
SampleTmp
sampleTmp
=
sampleTmpList
.
get
(
0
);
String
teamIds
=
sampleTmp
.
getTeamIds
();
String
checkTeam
=
""
;
if
(
teamIds
!=
null
)
{
String
[]
teamIdS
=
teamIds
.
split
(
"、"
);
for
(
String
teamId
:
teamIdS
)
{
Team
team
=
teamMapper
.
selectById
(
Integer
.
valueOf
(
teamId
));
if
(
team
!=
null
)
{
checkTeam
=
checkTeam
.
equals
(
""
)
?
team
.
getName
()
:
(
checkTeam
+
"、"
+
team
.
getName
());
}
}
}
entrustVo
.
setCheckTeam
(
checkTeam
);
entrustVo
.
setCheckMethodNumber
(
sampleTmp
.
getMethodNumbers
());
}
}
}
pages
.
setRecords
(
list
);
return
BaseResponse
.
okData
(
pages
);
}
@Override
public
QualityDetailVo
getQualityDetail
(
Integer
entrustId
)
{
List
<
QualityDetail
>
qualityDetails
=
entrustMapper
.
getQualityDetail
(
entrustId
);
if
(
qualityDetails
.
size
()
==
0
)
{
return
null
;
}
QualityDetail
firstQualityDetail
=
qualityDetails
.
get
(
0
);
QualityDetailVo
qualityDetailVo
=
new
QualityDetailVo
();
qualityDetailVo
.
setProjectName
(
firstQualityDetail
.
getProjectName
());
qualityDetailVo
.
setEntrustCode
(
firstQualityDetail
.
getEntrustCode
());
qualityDetailVo
.
setSampleNum
(
firstQualityDetail
.
getSampleNum
());
qualityDetailVo
.
setSendPhone
(
firstQualityDetail
.
getSendPhone
());
qualityDetailVo
.
setSendName
(
firstQualityDetail
.
getSendName
());
//获取clientId和userName
String
userCacheKey
=
"CACHE:USER"
;
String
clientCacheKey
=
"CACHE:CLIENT"
;
//缓存 60s
if
(!
redisUtil
.
existsKey
(
userCacheKey
))
{
List
<
SysUser
>
users
=
userService
.
list
();
String
value
=
JSON
.
toJSONString
(
users
);
redisUtil
.
setString
(
userCacheKey
,
value
,
60
);
}
if
(!
redisUtil
.
existsKey
(
clientCacheKey
))
{
List
<
Client
>
clients
=
clientMapper
.
selectList
(
new
QueryWrapper
<>());
String
value
=
JSON
.
toJSONString
(
clients
);
redisUtil
.
setString
(
clientCacheKey
,
value
,
60
);
}
List
<
SysUser
>
sysUsers
=
JSON
.
parseArray
(
redisUtil
.
getString
(
userCacheKey
)
+
""
,
SysUser
.
class
);
List
<
Client
>
clients
=
JSON
.
parseArray
(
redisUtil
.
getString
(
clientCacheKey
)
+
""
,
Client
.
class
);
//关联委托方
clients
.
stream
()
.
filter
(
opt
->
opt
.
getId
().
intValue
()
==
firstQualityDetail
.
getClientId
())
.
findFirst
().
ifPresent
(
opt
->
qualityDetailVo
.
setClientName
(
opt
.
getName
()));
//关联检测者名字
qualityDetails
.
forEach
(
arg
->
{
sysUsers
.
stream
()
.
filter
(
opt
->
opt
.
getId
().
intValue
()
==
arg
.
getUserId
())
.
findFirst
().
ifPresent
(
opt
->
{
arg
.
setUserName
(
opt
.
getName
());
});
});
//为每个检测组 创建实体
qualityDetails
.
stream
()
.
map
(
QualityDetail:
:
getTeamGroupName
)
.
collect
(
Collectors
.
toSet
())
.
forEach
(
arg
->
{
//遍历每个检测组名字 创建检测组集合
QualityDetailVo
.
QualityTeamGroup
qualityTeamGroup
=
new
QualityDetailVo
.
QualityTeamGroup
();
qualityTeamGroup
.
setTeamGroupName
(
arg
);
qualityDetailVo
.
getQualityTeamGroups
().
add
(
qualityTeamGroup
);
qualityDetails
.
stream
()
//找到当前检测组下的是要样品
.
filter
(
opt
->
opt
.
getTeamGroupName
().
equals
(
arg
))
.
collect
(
Collectors
.
toList
())
.
stream
()
.
map
(
QualityDetail:
:
getSampleName
)
.
collect
(
Collectors
.
toSet
())
.
forEach
(
opt
->
{
//拿到了样品名字和检测组名字 开始创建Vo对象
QualityDetailVo
.
QualitySample
qualitySample
=
new
QualityDetailVo
.
QualitySample
();
qualitySample
.
setSampleName
(
opt
);
qualityTeamGroup
.
getQualitySamples
().
add
(
qualitySample
);
qualityDetails
.
forEach
(
param
->
{
//找到检测组和样品相同的详情
if
(
param
.
getTeamGroupName
().
equals
(
arg
)
&&
param
.
getSampleName
().
equals
(
opt
))
{
QualityDetailVo
.
SampleOriginal
sampleOriginal
=
new
QualityDetailVo
.
SampleOriginal
();
sampleOriginal
.
setCementCode
(
param
.
getEntrustCode
());
sampleOriginal
.
setTeamValues
(
param
.
getInputResult
());
sampleOriginal
.
setUserName
(
param
.
getUserName
());
qualitySample
.
getSampleOriginals
().
add
(
sampleOriginal
);
}
});
});
});
return
qualityDetailVo
;
}
}
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