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
e286410e
Commit
e286410e
authored
Sep 24, 2020
by
qinhu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
标准产值
parent
5baf0b6b
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
978 additions
and
14 deletions
+978
-14
NormProductionController.java
.../cement/business/controller/NormProductionController.java
+96
-0
EntrustSample.java
...java/cn/wise/sc/cement/business/entity/EntrustSample.java
+25
-0
NormProduction.java
...ava/cn/wise/sc/cement/business/entity/NormProduction.java
+126
-0
NormProductionStatistics.java
...e/sc/cement/business/entity/NormProductionStatistics.java
+33
-0
Sample.java
...c/main/java/cn/wise/sc/cement/business/entity/Sample.java
+1
-1
SampleCheck.java
...n/java/cn/wise/sc/cement/business/entity/SampleCheck.java
+4
-4
SampleCheckTeam.java
...va/cn/wise/sc/cement/business/entity/SampleCheckTeam.java
+1
-1
SampleHandle.java
.../java/cn/wise/sc/cement/business/entity/SampleHandle.java
+1
-1
NormProductionMapper.java
.../wise/sc/cement/business/mapper/NormProductionMapper.java
+16
-0
SampleCheckTeamMapper.java
...wise/sc/cement/business/mapper/SampleCheckTeamMapper.java
+4
-0
SampleDistributionMapper.java
...e/sc/cement/business/mapper/SampleDistributionMapper.java
+5
-0
SampleHandleMapper.java
...cn/wise/sc/cement/business/mapper/SampleHandleMapper.java
+2
-0
NormProductionMapper.xml
...se/sc/cement/business/mapper/xml/NormProductionMapper.xml
+5
-0
SampleCheckTeamMapper.xml
...e/sc/cement/business/mapper/xml/SampleCheckTeamMapper.xml
+13
-0
SampleDistributionMapper.xml
...c/cement/business/mapper/xml/SampleDistributionMapper.xml
+11
-3
SampleHandleMapper.xml
...wise/sc/cement/business/mapper/xml/SampleHandleMapper.xml
+8
-2
INormProductionService.java
...se/sc/cement/business/service/INormProductionService.java
+72
-0
ISampleCheckTeamService.java
...e/sc/cement/business/service/ISampleCheckTeamService.java
+8
-0
ISampleDistributionService.java
...c/cement/business/service/ISampleDistributionService.java
+8
-0
ISampleHandleService.java
...wise/sc/cement/business/service/ISampleHandleService.java
+8
-0
NormProductionServiceImpl.java
...ment/business/service/impl/NormProductionServiceImpl.java
+491
-0
SampleCheckTeamServiceImpl.java
...ent/business/service/impl/SampleCheckTeamServiceImpl.java
+15
-0
SampleDistributionServiceImpl.java
.../business/service/impl/SampleDistributionServiceImpl.java
+12
-0
SampleHandleServiceImpl.java
...cement/business/service/impl/SampleHandleServiceImpl.java
+11
-0
application.yml
cement-business/src/main/resources/application.yml
+1
-1
GeneratorApplication.java
.../main/java/cn/wise/sc/cement/mg/GeneratorApplication.java
+1
-1
No files found.
cement-business/src/main/java/cn/wise/sc/cement/business/controller/NormProductionController.java
0 → 100644
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
controller
;
import
cn.wise.sc.cement.business.entity.NormProduction
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.service.INormProductionService
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
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.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* <p>
* 前端控制器
* </p>
*
* @author ztw
* @since 2020-09-23
*/
@RestController
@Api
(
tags
=
"人员产值统计-标准产值"
)
@RequestMapping
(
"/business/norm/production"
)
public
class
NormProductionController
{
final
INormProductionService
iNormProductionService
;
public
NormProductionController
(
INormProductionService
iNormProductionService
)
{
this
.
iNormProductionService
=
iNormProductionService
;
}
@PostMapping
(
"/create"
)
@ApiOperation
(
"新增标准产值配置"
)
public
BaseResponse
<
NormProduction
>
addObj
(
@RequestBody
NormProduction
normProduction
)
{
return
iNormProductionService
.
addObj
(
normProduction
);
}
@GetMapping
(
"/page"
)
@ApiOperation
(
"分页查询"
)
public
BaseResponse
<
IPage
<
NormProduction
>>
page
(
PageQuery
pageQuery
)
{
return
iNormProductionService
.
getPage
(
pageQuery
);
}
@PutMapping
(
"/edit"
)
@ApiOperation
(
"编辑标注产值配置"
)
public
BaseResponse
<
Boolean
>
edit
(
@RequestBody
NormProduction
production
)
{
return
iNormProductionService
.
edit
(
production
);
}
@GetMapping
(
"/{id}"
)
@ApiOperation
(
"根据id获取标准产值配置"
)
public
BaseResponse
<
NormProduction
>
getById
(
@PathVariable
(
"id"
)
Integer
id
)
{
if
(
id
==
null
||
id
<=
0
)
{
return
BaseResponse
.
errorMsg
(
"id不能为空!"
);
}
NormProduction
rts
=
iNormProductionService
.
getById
(
id
);
if
(
rts
!=
null
)
{
return
BaseResponse
.
okData
(
rts
);
}
else
{
return
BaseResponse
.
errorMsg
(
"没找着符合要求的信息!"
);
}
}
@PutMapping
(
"/status/{id}"
)
@ApiOperation
(
"启用/禁用"
)
public
BaseResponse
<
Integer
>
activeOrForbidden
(
@PathVariable
(
"id"
)
Integer
id
)
{
if
(
id
==
null
||
id
<=
0
)
{
return
BaseResponse
.
errorMsg
(
"编号id不能为空!"
);
}
return
iNormProductionService
.
activeOrForbidden
(
id
);
}
@GetMapping
(
"/statistics"
)
@ApiOperation
(
"标准产值统计"
)
public
BaseResponse
normProductionStatistics
(
Long
start
,
Long
end
)
{
return
iNormProductionService
.
normProductionStatistics
(
start
,
end
);
}
@GetMapping
(
"/statistics/detail"
)
public
BaseResponse
<
List
<
NormProduction
.
NormProductionDetail
>>
normProductionDetails
(
Integer
userId
,
Long
start
,
Long
end
)
{
List
<
NormProduction
.
NormProductionDetail
>
rts
=
iNormProductionService
.
normProductionDetails
(
userId
,
start
,
end
);
return
BaseResponse
.
okData
(
rts
);
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/EntrustSample.java
0 → 100644
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
io.swagger.models.auth.In
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* @description:
* @author: qh
* @create: 2020-09-23 16:14
**/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
class
EntrustSample
{
private
String
projectName
;
private
Integer
entrustId
;
private
String
entrustCode
;
private
String
sampleName
;
private
Integer
sampleId
;
private
Integer
distributionId
;
private
Integer
teamGroupId
;
private
Integer
userId
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/NormProduction.java
0 → 100644
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2020-09-23
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
class
NormProduction
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 检查组id
*/
@ApiModelProperty
(
"检查组id"
)
private
Integer
assessId
;
/**
* 类型 0:检测组 1:处理项
*/
@ApiModelProperty
(
"类型 0:检测组 1:处理项"
)
private
Integer
type
;
/**
* 定额工日
*/
@ApiModelProperty
(
"定额工日"
)
private
Double
quotaDay
;
/**
* 报出分析结果
*/
@ApiModelProperty
(
"报出分析结果"
)
private
Double
reportedAnalyseResult
;
/**
* 建议系数
*/
@ApiModelProperty
(
"建议系数"
)
private
Double
coefficient
;
/**
* 考核工值
*/
@ApiModelProperty
(
"考核工值"
)
private
Double
assessValue
;
/**
* 分析占比
*/
@ApiModelProperty
(
"分析占比"
)
private
Double
analyseRate
;
/**
* 分样占比
*/
@ApiModelProperty
(
"分样占比"
)
private
Double
separateRate
;
/**
* 考核占比
*/
@ApiModelProperty
(
"考核占比"
)
private
Double
assessRate
;
/**
* 报结果占比
*/
@ApiModelProperty
(
"报结果占比"
)
private
Double
reportedResultRate
;
/**
* 状态
*/
@ApiModelProperty
(
"状态"
)
private
Integer
status
;
/**
* 标准产值详情
*/
@Data
public
static
class
NormProductionDetail
{
private
String
userName
;
private
Integer
distributionId
;
private
Integer
userId
;
private
Integer
entrustId
;
private
Integer
assessId
;
private
LocalDateTime
checkTime
;
private
Double
analyseRate
;
private
Double
separateRate
;
private
Double
assessRate
;
private
Double
reportedResultRate
;
private
String
projectName
;
private
String
sampleName
;
private
String
entrustCode
;
private
Integer
sampleId
;
private
BigDecimal
workTimeCoefficient
;
private
Integer
type
;
private
String
groupTeamName
;
private
Integer
groupId
;
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/NormProductionStatistics.java
0 → 100644
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @description: 标准产值统计对象
* @author: qh
* @create: 2020-09-23 18:18
**/
@Data
public
class
NormProductionStatistics
implements
Serializable
{
private
static
final
long
serialVersionUID
=
42L
;
private
String
userName
;
private
String
userId
;
private
String
account
;
private
String
sex
;
private
String
position
;
private
String
time
;
private
Long
count
;
private
Integer
coefficient
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/Sample.java
View file @
e286410e
...
...
@@ -31,7 +31,7 @@ public class Sample implements Serializable {
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"来样编号"
)
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/entity/SampleCheck.java
View file @
e286410e
...
...
@@ -2,6 +2,7 @@ package cn.wise.sc.cement.business.entity;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
...
...
@@ -12,7 +13,7 @@ import lombok.experimental.Accessors;
/**
* <p>
*
*
* </p>
*
* @author ztw
...
...
@@ -23,12 +24,12 @@ import lombok.experimental.Accessors;
@Accessors
(
chain
=
true
)
public
class
SampleCheck
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"样品表d"
)
...
...
@@ -49,5 +50,4 @@ public class SampleCheck implements Serializable {
@ApiModelProperty
(
"备注"
)
private
String
remark
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/SampleCheckTeam.java
View file @
e286410e
...
...
@@ -28,7 +28,7 @@ public class SampleCheckTeam implements Serializable {
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"样品检测表id"
)
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/entity/SampleHandle.java
View file @
e286410e
...
...
@@ -29,7 +29,7 @@ public class SampleHandle implements Serializable {
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"样品表d"
)
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/NormProductionMapper.java
0 → 100644
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.NormProduction
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-09-23
*/
public
interface
NormProductionMapper
extends
BaseMapper
<
NormProduction
>
{
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SampleCheckTeamMapper.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleCheckTeam
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
...
...
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public
interface
SampleCheckTeamMapper
extends
BaseMapper
<
SampleCheckTeam
>
{
List
<
EntrustSample
>
getEntrustSample
();
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SampleDistributionMapper.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleDistribution
;
import
cn.wise.sc.cement.business.model.vo.SampleCheckGroupVo
;
import
cn.wise.sc.cement.business.model.vo.SampleDistributionTeamVo
;
...
...
@@ -8,6 +9,7 @@ import cn.wise.sc.cement.business.model.vo.SampleHandleVo;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -21,6 +23,7 @@ import java.util.Map;
* @author ztw
* @since 2020-08-24
*/
@Mapper
public
interface
SampleDistributionMapper
extends
BaseMapper
<
SampleDistribution
>
{
IPage
<
SampleDistributionVo
>
getPage
(
@Param
(
"page"
)
Page
page
,
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
...
...
@@ -28,4 +31,6 @@ public interface SampleDistributionMapper extends BaseMapper<SampleDistribution>
List
<
SampleDistributionTeamVo
>
getDistributionTeamList
(
@Param
(
"sampleId"
)
Integer
sampleId
,
@Param
(
"userId"
)
Integer
userId
);
List
<
SampleCheckGroupVo
>
getSampleCheckGroupList
(
@Param
(
"sampleId"
)
Integer
sampleId
);
List
<
EntrustSample
>
getEntrustSample
();
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SampleHandleMapper.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleHandle
;
import
cn.wise.sc.cement.business.model.vo.EntrustVo
;
import
cn.wise.sc.cement.business.model.vo.SampleHandleVo
;
...
...
@@ -32,4 +33,5 @@ public interface SampleHandleMapper extends BaseMapper<SampleHandle> {
@Select
(
"select MIN(accept_time) from sample_handle where sample_id = #{sampleId} and status>0"
)
LocalDateTime
getNo1AcceptTime
(
Integer
sampleId
);
List
<
EntrustSample
>
getEntrustSample
();
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/NormProductionMapper.xml
0 → 100644
View file @
e286410e
<?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=
"cn.wise.sc.cement.business.mapper.NormProductionMapper"
>
</mapper>
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SampleCheckTeamMapper.xml
View file @
e286410e
...
...
@@ -2,4 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.wise.sc.cement.business.mapper.SampleCheckTeamMapper"
>
<select
id=
"getEntrustSample"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
SELECT t.project_name,t.entrust_code,sscc.sample_id,sscc.entrust_id,sscc.`sample_name`,
sscc.user_id,sscc.team_group_id,sscc.distribution_id FROM entrust t
RIGHT JOIN
(SELECT s.entrust_id,s.sample_id,s.`name` as sample_name,scc.user_id,scc.team_group_id,scc.distribution_id FROM sample s
RIGHT JOIN
(SELECT id,sct.check_id,sct.sample_id,sct.user_id,team_group_id,sct.distribution_id FROM sample_check sc
RIGHT JOIN
(SELECT sample_id,user_id,check_id, id as distribution_id FROM sample_check_team) sct
ON sc.id = sct.check_id) scc
ON s.id = scc.sample_id) sscc
ON sscc.entrust_id = t.id
</select>
</mapper>
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SampleDistributionMapper.xml
View file @
e286410e
...
...
@@ -33,7 +33,7 @@
left join sample s on s.id = t.sample_id
left join entrust e on e.id = s.entrust_id
left join project p on p.id = e.project_id
<include
refid=
"where"
/>
<include
refid=
"where"
/>
order by t.create_time desc
</select>
...
...
@@ -61,8 +61,6 @@
order by t.id asc
</select>
<select
id=
"getSampleCheckGroupList"
resultType=
"cn.wise.sc.cement.business.model.vo.SampleCheckGroupVo"
>
select sd.team_group_id as teamGroupId, tg.name as teamGroupName,
sd.user_id as userId, su.name as userName
...
...
@@ -74,5 +72,15 @@
order by sd.team_group_id
</select>
<select
id=
"getEntrustSample"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
SELECT e.project_name,e.entrust_code,g.distribution_id,g.entrust_id,g.`sample_name`,g.user_id,g.sample_id FROM entrust e
RIGHT JOIN
(SELECT s.`name` as sample_name,d.distribution_id,s.entrust_id,d.user_id,s.id as sample_id FROM sample s
RIGHT JOIN
(SELECT user_id, id as distribution_id,sample_id FROM sample_distribution ) d on s.id = d.sample_id ) g
ON g.entrust_id = e.id
</select>
</mapper>
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SampleHandleMapper.xml
View file @
e286410e
...
...
@@ -76,8 +76,14 @@
where t.id = #{id}
</select>
<select
id=
"getEntrustSample"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
SELECT e.project_name,e.entrust_code,g.distribution_id,g.entrust_id,g.`sample_name`,g.user_id,g.sample_id FROM entrust e
RIGHT JOIN
(SELECT s.`name` as sample_name,d.distribution_id,s.entrust_id,d.user_id,s.id as sample_id FROM sample s
RIGHT JOIN
(SELECT user_id, id as distribution_id,sample_id FROM sample_handle ) d
on s.id = d.sample_id ) g ON g.entrust_id = e.id
</select>
</mapper>
cement-business/src/main/java/cn/wise/sc/cement/business/service/INormProductionService.java
0 → 100644
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
service
;
import
cn.wise.sc.cement.business.entity.NormProduction
;
import
cn.wise.sc.cement.business.entity.NormProductionStatistics
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2020-09-23
*/
public
interface
INormProductionService
extends
IService
<
NormProduction
>
{
/**
* 创建新的标准产值配置
*
* @param normProduction 标准产值
* @return BaseResponse
*/
BaseResponse
<
NormProduction
>
addObj
(
NormProduction
normProduction
);
/**
* 分页查询
*
* @param pageQuery 分页条件
* @return 数据
*/
BaseResponse
<
IPage
<
NormProduction
>>
getPage
(
PageQuery
pageQuery
);
/**
* 编辑标准产值
*
* @param production 标准产值
* @return bool
*/
BaseResponse
<
Boolean
>
edit
(
NormProduction
production
);
/**
* 启用禁用标准产值
*
* @param id id
* @return bool
*/
BaseResponse
<
Integer
>
activeOrForbidden
(
Integer
id
);
/**
* 标准产值统计
*
* @param start 开始时间
* @param end 结束时间
* @return BaseResponse
*/
BaseResponse
<
List
<
NormProductionStatistics
>>
normProductionStatistics
(
Long
start
,
Long
end
);
/**
* 标准产值统计 单人详情
*
* @param userId 用户id
* @param start 开始时间
* @param end 结束时间
* @return 详细信息
*/
List
<
NormProduction
.
NormProductionDetail
>
normProductionDetails
(
Integer
userId
,
Long
start
,
Long
end
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/ISampleCheckTeamService.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
service
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleCheckTeam
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 服务类
...
...
@@ -13,4 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
ISampleCheckTeamService
extends
IService
<
SampleCheckTeam
>
{
/**
* 获取校核信息
* @return 项目分样信息
*/
List
<
EntrustSample
>
getEntrustSample
();
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/ISampleDistributionService.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
service
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleDistribution
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 服务类
...
...
@@ -12,5 +15,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @since 2020-08-24
*/
public
interface
ISampleDistributionService
extends
IService
<
SampleDistribution
>
{
/**
* 获取派发项目和分样信息
* @return
*/
List
<
EntrustSample
>
getEntrustSample
();
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/ISampleHandleService.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
service
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleHandle
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 服务类
...
...
@@ -13,4 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
ISampleHandleService
extends
IService
<
SampleHandle
>
{
/**
* 获取处理信息
* @return list
*/
List
<
EntrustSample
>
getEntrustSample
();
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/NormProductionServiceImpl.java
0 → 100644
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
service
.
impl
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.Handle
;
import
cn.wise.sc.cement.business.entity.NormProduction
;
import
cn.wise.sc.cement.business.entity.NormProductionStatistics
;
import
cn.wise.sc.cement.business.entity.SampleCheckTeam
;
import
cn.wise.sc.cement.business.entity.SampleDistribution
;
import
cn.wise.sc.cement.business.entity.SampleHandle
;
import
cn.wise.sc.cement.business.entity.SysUser
;
import
cn.wise.sc.cement.business.entity.TeamGroup
;
import
cn.wise.sc.cement.business.mapper.NormProductionMapper
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.service.IHandleService
;
import
cn.wise.sc.cement.business.service.INormProductionService
;
import
cn.wise.sc.cement.business.service.ISampleCheckTeamService
;
import
cn.wise.sc.cement.business.service.ISampleDistributionService
;
import
cn.wise.sc.cement.business.service.ISampleHandleService
;
import
cn.wise.sc.cement.business.service.ISysUserService
;
import
cn.wise.sc.cement.business.service.ITeamGroupService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2020-09-23
*/
@Service
public
class
NormProductionServiceImpl
extends
ServiceImpl
<
NormProductionMapper
,
NormProduction
>
implements
INormProductionService
{
final
public
Map
<
String
,
NormProduction
>
normProductionCache
=
new
HashMap
<>();
final
ISampleDistributionService
iSampleDistributionService
;
final
ISampleHandleService
iSampleHandleService
;
final
ISysUserService
iSysUserService
;
final
ISampleCheckTeamService
iSampleCheckTeamService
;
final
ITeamGroupService
iTeamGroupService
;
final
IHandleService
iHandleService
;
public
NormProductionServiceImpl
(
ISampleDistributionService
iSampleDistributionService
,
ISampleHandleService
iSampleHandleService
,
ISysUserService
iSysUserService
,
ISampleCheckTeamService
iSampleCheckTeamService
,
ITeamGroupService
iTeamGroupService
,
IHandleService
iHandleService
)
{
this
.
iSampleDistributionService
=
iSampleDistributionService
;
this
.
iSampleHandleService
=
iSampleHandleService
;
this
.
iSysUserService
=
iSysUserService
;
this
.
iSampleCheckTeamService
=
iSampleCheckTeamService
;
this
.
iTeamGroupService
=
iTeamGroupService
;
this
.
iHandleService
=
iHandleService
;
}
@Override
public
BaseResponse
<
NormProduction
>
addObj
(
NormProduction
normProduction
)
{
//判断配置项目是否已存在
QueryWrapper
<
NormProduction
>
qw
=
new
QueryWrapper
<>();
qw
.
eq
(
"assessId_id"
,
normProduction
.
getAssessId
());
qw
.
eq
(
"type"
,
normProduction
.
getType
());
qw
.
eq
(
"status"
,
1
);
int
count
=
this
.
count
(
qw
);
if
(
count
!=
0
)
{
return
BaseResponse
.
errorMsg
(
"当前标准产值已存在!"
);
}
//判断比例是否为总值100%
// if (normProduction.getAnalyseRate()
// + normProduction.getAssessRate()
// + normProduction.getSeparateRate()
// + normProduction.getReportedResultRate() != 1) {
// return BaseResponse.errorMsg("百分比总和不等于1");
// }
//状态为1
normProduction
.
setStatus
(
1
);
boolean
save
=
this
.
save
(
normProduction
);
if
(
save
)
{
return
BaseResponse
.
okData
(
normProduction
);
}
else
{
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
}
@Override
public
BaseResponse
<
IPage
<
NormProduction
>>
getPage
(
PageQuery
pageQuery
)
{
IPage
<
NormProduction
>
page
=
new
Page
<>(
pageQuery
.
getPageNo
(),
pageQuery
.
getPageSize
());
IPage
<
NormProduction
>
rts
=
this
.
page
(
page
);
return
BaseResponse
.
okData
(
rts
);
}
@Override
public
BaseResponse
<
Boolean
>
edit
(
NormProduction
production
)
{
if
(
production
.
getId
()
==
null
||
production
.
getId
()
<=
0
)
{
return
BaseResponse
.
errorMsg
(
"编号id是必须的!"
);
}
//判断比例是否为总值100%
// if (production.getAnalyseRate()
// + production.getAssessRate()
// + production.getSeparateRate()
// + production.getReportedResultRate() != 1) {
// return BaseResponse.errorMsg("百分比总和不等于1");
// }
//检测组和处理组 不允许更新
production
.
setAssessId
(
null
);
boolean
b
=
this
.
updateById
(
production
);
if
(
b
)
{
return
BaseResponse
.
okData
(
true
);
}
else
{
return
BaseResponse
.
errorMsg
(
"修改失败!"
);
}
}
@Override
public
BaseResponse
<
Integer
>
activeOrForbidden
(
Integer
id
)
{
NormProduction
normProduction
=
this
.
getById
(
id
);
Integer
status
=
normProduction
.
getStatus
();
if
(
status
==
1
)
{
normProduction
.
setStatus
(
0
);
this
.
updateById
(
normProduction
);
return
BaseResponse
.
okData
(
0
);
}
else
{
normProduction
.
setStatus
(
1
);
this
.
updateById
(
normProduction
);
return
BaseResponse
.
okData
(
1
);
}
}
@Override
public
BaseResponse
<
List
<
NormProductionStatistics
>>
normProductionStatistics
(
Long
start
,
Long
end
)
{
//统计分样处理的详情
List
<
NormProduction
.
NormProductionDetail
>
normProductionDetails
=
normProductionDetails
(
null
,
start
,
end
);
Map
<
Integer
,
BigDecimal
>
coefficientMap
=
new
HashMap
<>(
normProductionDetails
.
size
());
normProductionDetails
.
forEach
(
arg
->
{
Integer
userId
=
arg
.
getUserId
();
//不存在 添加
if
(
coefficientMap
.
containsKey
(
userId
))
{
coefficientMap
.
put
(
userId
,
arg
.
getWorkTimeCoefficient
());
}
else
{
BigDecimal
bigDecimal
=
coefficientMap
.
get
(
userId
);
BigDecimal
newWorkTime
=
arg
.
getWorkTimeCoefficient
().
add
(
bigDecimal
);
coefficientMap
.
put
(
userId
,
newWorkTime
);
}
});
List
<
NormProductionStatistics
>
rts
=
new
ArrayList
<>();
Set
<
Integer
>
userIds
=
coefficientMap
.
keySet
();
QueryWrapper
<
SysUser
>
qw
=
new
QueryWrapper
<>();
qw
.
in
(
"id"
,
userIds
);
//获取用户id
List
<
SysUser
>
users
=
iSysUserService
.
list
(
qw
);
for
(
Integer
userId
:
coefficientMap
.
keySet
())
{
SysUser
sysUser
=
users
.
stream
()
.
filter
(
arg
->
arg
.
getId
().
intValue
()
==
userId
)
.
findFirst
().
orElse
(
null
);
if
(
sysUser
==
null
)
{
continue
;
}
NormProductionStatistics
productionStatistics
=
new
NormProductionStatistics
();
productionStatistics
.
setAccount
(
sysUser
.
getUsername
());
productionStatistics
.
setCoefficient
(
coefficientMap
.
get
(
userId
).
intValue
());
productionStatistics
.
setCount
(
normProductionDetails
.
stream
()
.
filter
(
arg
->
arg
.
getUserId
().
intValue
()
==
sysUser
.
getId
())
.
count
());
productionStatistics
.
setPosition
(
sysUser
.
getQualifications
());
DateTime
startTime
=
DateUtil
.
date
(
start
);
DateTime
endTime
=
DateUtil
.
date
(
end
);
productionStatistics
.
setTime
(
startTime
.
toDateStr
()
+
"-"
+
endTime
.
toDateStr
());
productionStatistics
.
setSex
(
sysUser
.
getSex
()
==
0
?
"女"
:
"男"
);
productionStatistics
.
setUserId
(
sysUser
.
getId
()
+
""
);
productionStatistics
.
setUserName
(
sysUser
.
getName
());
rts
.
add
(
productionStatistics
);
}
return
BaseResponse
.
okData
(
rts
);
}
@Override
public
List
<
NormProduction
.
NormProductionDetail
>
normProductionDetails
(
Integer
userId
,
Long
start
,
Long
end
)
{
/*
* 计算的地方: 分样派发和分样处理表
* userId == null,计算所有人数据。
* userId != null,计算单人时间线的数据。
* 当start==0&&end==0时计算历史所有数据
*
* 过程:
* 1.获取分样派发表数据,然后获取标准产值配置,它的检测组相同。
* 3.每条记录*标准产值计算出来的结果。==>得出详情信息。
* 处理项目:
* 1.获取处理派发表数据,获取标准产值配置,查询处理项。
* */
//获取标准产值数据
QueryWrapper
<
SampleDistribution
>
qwDis
=
new
QueryWrapper
<>();
QueryWrapper
<
SampleHandle
>
qwHan
=
new
QueryWrapper
<>();
QueryWrapper
<
SampleCheckTeam
>
qwCT
=
new
QueryWrapper
<>();
if
(
userId
!=
null
&&
userId
>
0
)
{
qwDis
.
eq
(
"user_id"
,
userId
);
qwHan
.
eq
(
"user_id"
,
userId
);
qwCT
.
eq
(
"user_id"
,
userId
);
}
if
(
start
!=
null
&&
end
!=
null
)
{
DateTime
startTime
=
DateUtil
.
date
(
start
);
DateTime
endTime
=
DateUtil
.
date
(
end
);
qwDis
.
between
(
"finish_time"
,
startTime
,
endTime
);
qwHan
.
between
(
"finish_time"
,
startTime
,
endTime
);
qwCT
.
between
(
"finish_time"
,
startTime
,
endTime
);
}
//计算分析任务单产值
List
<
NormProduction
.
NormProductionDetail
>
sampleDistributionDetail
=
calculateSampleDistribution
(
qwDis
);
//计算处理任务单产值
List
<
NormProduction
.
NormProductionDetail
>
sampleHandleDetail
=
calculateSampleHandle
(
qwHan
);
//todo 计算校核任务单产值
// List<NormProduction.NormProductionDetail> sampleCheckTeamDetail = calculateSampleCheck(qwCT);
//todo 计算报出结果产值
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
sampleDistributionDetail
.
size
()
+
sampleHandleDetail
.
size
());
rts
.
addAll
(
sampleDistributionDetail
);
rts
.
addAll
(
sampleHandleDetail
);
//关联用户名字
List
<
Integer
>
userIds
=
rts
.
stream
()
.
map
(
NormProduction
.
NormProductionDetail
::
getUserId
)
.
collect
(
Collectors
.
toList
());
List
<
SysUser
>
users
=
iSysUserService
.
listByIds
(
userIds
);
rts
.
forEach
(
arg
->
users
.
stream
()
.
filter
(
opt
->
opt
.
getId
().
intValue
()
==
arg
.
getUserId
())
.
findFirst
()
.
ifPresent
(
sysUser
->
arg
.
setUserName
(
sysUser
.
getName
())));
return
rts
;
}
/**
* 计算校核单每条数据的标准产值
*
* @param qwCheck 统计条件
* @return 校核任务详情
*/
private
List
<
NormProduction
.
NormProductionDetail
>
calculateSampleCheck
(
QueryWrapper
<
SampleCheckTeam
>
qwCheck
)
{
//计算处理的绩效
List
<
SampleCheckTeam
>
sampleCheckTeams
=
iSampleCheckTeamService
.
list
(
qwCheck
);
List
<
EntrustSample
>
entrustSamples
=
iSampleCheckTeamService
.
getEntrustSample
();
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
sampleCheckTeams
.
size
());
for
(
SampleCheckTeam
sampleCheckTeam
:
sampleCheckTeams
)
{
//判断是否已经配置了 获取到核算处理的联表
EntrustSample
entrustSample
=
entrustSamples
.
stream
()
.
filter
(
arg
->
arg
.
getDistributionId
().
intValue
()
==
sampleCheckTeam
.
getId
())
.
findFirst
().
orElse
(
null
);
if
(
entrustSample
==
null
)
{
continue
;
}
String
key
=
sampleCheckTeam
.
getTeamGroupId
()
+
":"
+
"1"
;
//判断缓存是否存在
if
(!
normProductionCache
.
containsKey
(
key
))
{
//初始化
initNormProductionCache
();
}
NormProduction
normProduction
=
normProductionCache
.
get
(
key
);
NormProduction
.
NormProductionDetail
productionDetail
=
initNormProductionDetail
(
entrustSample
,
normProduction
,
normProduction
.
getAssessRate
());
productionDetail
.
setUserId
(
entrustSample
.
getUserId
());
productionDetail
.
setCheckTime
(
sampleCheckTeam
.
getCreateTime
());
productionDetail
.
setDistributionId
(
sampleCheckTeam
.
getId
());
productionDetail
.
setAssessId
(
sampleCheckTeam
.
getTeamGroupId
());
rts
.
add
(
productionDetail
);
}
return
rts
;
}
/**
* 计算处理派发单每条数据的标准产值
*
* @param qwHan 统计条件
* @return 处理任务详情
*/
private
List
<
NormProduction
.
NormProductionDetail
>
calculateSampleHandle
(
QueryWrapper
<
SampleHandle
>
qwHan
)
{
//计算处理的绩效
List
<
SampleHandle
>
sampleHandles
=
iSampleHandleService
.
list
(
qwHan
);
List
<
EntrustSample
>
entrustSamples
=
iSampleHandleService
.
getEntrustSample
();
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
sampleHandles
.
size
());
List
<
Integer
>
handleIds
=
new
ArrayList
<>();
sampleHandles
.
forEach
(
arg
->
{
String
idsStr
=
arg
.
getContent
();
String
[]
split
=
idsStr
.
split
(
"、"
);
try
{
for
(
String
idStr
:
split
)
{
handleIds
.
add
(
Integer
.
parseInt
(
idStr
));
}
}
catch
(
NumberFormatException
ex
)
{
throw
new
RuntimeException
(
"处理项目的id传的有问题呀!"
);
}
});
List
<
Handle
>
handles
=
iHandleService
.
listByIds
(
handleIds
);
//获取每一次派发单的数据
for
(
SampleHandle
sampleHandle
:
sampleHandles
)
{
//判断是否已经配置了
EntrustSample
entrustSample
=
entrustSamples
.
stream
()
.
filter
(
arg
->
arg
.
getDistributionId
().
intValue
()
==
sampleHandle
.
getId
())
.
findFirst
().
orElse
(
null
);
if
(
entrustSample
==
null
)
{
continue
;
}
//处理项是多个处理ids 、分割
String
content
=
sampleHandle
.
getContent
();
String
[]
split
=
content
.
split
(
"、"
);
List
<
Integer
>
ids
=
new
ArrayList
<>(
split
.
length
);
try
{
for
(
String
idStr
:
split
)
{
ids
.
add
(
Integer
.
parseInt
(
idStr
));
}
}
catch
(
NumberFormatException
ex
)
{
throw
new
RuntimeException
(
"处理项目的id传的有问题呀!"
);
}
for
(
Integer
handleId
:
ids
)
{
String
key
=
handleId
+
":"
+
"0"
;
//判断缓存是否存在
if
(!
normProductionCache
.
containsKey
(
key
))
{
//初始化
initNormProductionCache
();
}
NormProduction
normProduction
=
normProductionCache
.
get
(
key
);
Handle
handle
=
handles
.
stream
()
.
filter
(
arg
->
arg
.
getId
().
intValue
()
==
handleId
)
.
findFirst
().
orElse
(
null
);
if
(
normProduction
==
null
||
handle
==
null
)
{
//如果没有配置 标准产值设置 跳过不计算
continue
;
}
NormProduction
.
NormProductionDetail
productionDetail
=
initNormProductionDetail
(
entrustSample
,
normProduction
,
normProduction
.
getAnalyseRate
());
productionDetail
.
setUserId
(
sampleHandle
.
getUserId
());
productionDetail
.
setCheckTime
(
sampleHandle
.
getAcceptTime
());
productionDetail
.
setDistributionId
(
sampleHandle
.
getId
());
productionDetail
.
setAssessId
(
handleId
);
productionDetail
.
setGroupTeamName
(
handle
.
getName
());
rts
.
add
(
productionDetail
);
}
}
return
rts
;
}
/**
* 计算分析派发单每条数据的标准产值
*
* @param qwDis 统计条件
* @return 分析任务详情
*/
private
List
<
NormProduction
.
NormProductionDetail
>
calculateSampleDistribution
(
QueryWrapper
<
SampleDistribution
>
qwDis
)
{
List
<
SampleDistribution
>
distributions
=
iSampleDistributionService
.
list
(
qwDis
);
List
<
EntrustSample
>
entrustSamples
=
iSampleDistributionService
.
getEntrustSample
();
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
distributions
.
size
());
List
<
Integer
>
groupTeamIds
=
distributions
.
stream
().
map
(
SampleDistribution:
:
getTeamGroupId
).
collect
(
Collectors
.
toList
());
List
<
TeamGroup
>
teamGroups
=
iTeamGroupService
.
listByIds
(
groupTeamIds
);
//获取每一次派发单的数据
for
(
SampleDistribution
distribution
:
distributions
)
{
//判断是否已经配置了
EntrustSample
entrustSample
=
entrustSamples
.
stream
()
.
filter
(
arg
->
arg
.
getDistributionId
().
intValue
()
==
distribution
.
getId
())
.
findFirst
().
orElse
(
null
);
TeamGroup
teamGroup
=
teamGroups
.
stream
()
.
filter
(
arg
->
arg
.
getId
().
intValue
()
==
distribution
.
getTeamGroupId
())
.
findFirst
().
orElse
(
null
);
if
(
entrustSample
==
null
||
teamGroup
==
null
)
{
continue
;
}
String
key
=
distribution
.
getTeamGroupId
()
+
":"
+
"1"
;
//判断缓存是否存在
if
(!
normProductionCache
.
containsKey
(
key
))
{
//初始化
initNormProductionCache
();
}
NormProduction
normProduction
=
normProductionCache
.
get
(
key
);
if
(
normProduction
==
null
)
{
//如果没有配置 标准产值设置 跳过不计算
continue
;
}
NormProduction
.
NormProductionDetail
productionDetail
=
initNormProductionDetail
(
entrustSample
,
normProduction
,
normProduction
.
getAnalyseRate
());
productionDetail
.
setUserId
(
distribution
.
getUserId
());
productionDetail
.
setCheckTime
(
distribution
.
getAcceptTime
());
productionDetail
.
setDistributionId
(
distribution
.
getId
());
productionDetail
.
setAssessId
(
distribution
.
getTeamGroupId
());
productionDetail
.
setGroupTeamName
(
teamGroup
.
getName
());
rts
.
add
(
productionDetail
);
}
return
rts
;
}
/**
* 初始化产值明细
*
* @param entrustSample 分样任务
* @param normProduction 标准产值配置表
* @return 标准产值明细
*/
private
NormProduction
.
NormProductionDetail
initNormProductionDetail
(
EntrustSample
entrustSample
,
NormProduction
normProduction
,
Double
rate
)
{
NormProduction
.
NormProductionDetail
productionDetail
=
new
NormProduction
.
NormProductionDetail
();
productionDetail
.
setAnalyseRate
(
normProduction
.
getAnalyseRate
());
productionDetail
.
setAssessRate
(
normProduction
.
getAssessRate
());
productionDetail
.
setSeparateRate
(
normProduction
.
getSeparateRate
());
productionDetail
.
setReportedResultRate
(
normProduction
.
getReportedResultRate
());
productionDetail
.
setAssessId
(
normProduction
.
getAssessId
());
productionDetail
.
setEntrustId
(
entrustSample
.
getEntrustId
());
productionDetail
.
setProjectName
(
entrustSample
.
getProjectName
());
productionDetail
.
setSampleName
(
entrustSample
.
getSampleName
());
productionDetail
.
setSampleId
(
entrustSample
.
getSampleId
());
productionDetail
.
setEntrustCode
(
entrustSample
.
getEntrustCode
());
productionDetail
.
setWorkTimeCoefficient
(
calculateWorkTimeCoefficient
(
normProduction
,
rate
));
return
productionDetail
;
}
/**
* 初始化标准产值缓存
*/
private
void
initNormProductionCache
()
{
QueryWrapper
<
NormProduction
>
qw
=
new
QueryWrapper
<>();
qw
.
eq
(
"status"
,
1
);
List
<
NormProduction
>
list
=
this
.
list
(
qw
);
for
(
NormProduction
normProduction
:
list
)
{
String
key
=
normProduction
.
getAssessId
()
+
":"
+
normProduction
.
getType
();
normProductionCache
.
put
(
key
,
normProduction
);
}
}
/**
* 计算标准产值的工时标准系数
* 额定工日*建议系数/报出对应分析结果*考核工值*分析占比
*
* @param normProduction 标准产值配置对象 如:六元素
* @param rate 具体的操作占比 如:统计分析 85%
* @return BigDecimal
*/
private
BigDecimal
calculateWorkTimeCoefficient
(
NormProduction
normProduction
,
Double
rate
)
{
//计算出工时标准系数:
//额定工日*建议系数/报出对应分析结果*考核工值*分析占比
BigDecimal
quotaDayBig
=
BigDecimal
.
valueOf
(
normProduction
.
getQuotaDay
());
BigDecimal
coefficientBig
=
BigDecimal
.
valueOf
(
normProduction
.
getCoefficient
());
BigDecimal
reportedAnalyseRtsBig
=
BigDecimal
.
valueOf
(
normProduction
.
getReportedAnalyseResult
());
BigDecimal
assessValueBig
=
BigDecimal
.
valueOf
(
normProduction
.
getAssessValue
());
BigDecimal
analyseRateBig
=
BigDecimal
.
valueOf
(
rate
);
return
quotaDayBig
.
multiply
(
coefficientBig
)
.
divide
(
reportedAnalyseRtsBig
,
6
,
RoundingMode
.
HALF_DOWN
)
.
multiply
(
assessValueBig
).
multiply
(
analyseRateBig
)
.
setScale
(
6
,
RoundingMode
.
HALF_DOWN
);
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SampleCheckTeamServiceImpl.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
service
.
impl
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleCheckTeam
;
import
cn.wise.sc.cement.business.mapper.SampleCheckTeamMapper
;
import
cn.wise.sc.cement.business.service.ISampleCheckTeamService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* <p>
* 服务实现类
...
...
@@ -17,4 +21,15 @@ import org.springframework.stereotype.Service;
@Service
public
class
SampleCheckTeamServiceImpl
extends
ServiceImpl
<
SampleCheckTeamMapper
,
SampleCheckTeam
>
implements
ISampleCheckTeamService
{
final
SampleCheckTeamMapper
sampleCheckTeamMapper
;
public
SampleCheckTeamServiceImpl
(
SampleCheckTeamMapper
sampleCheckTeamMapper
)
{
this
.
sampleCheckTeamMapper
=
sampleCheckTeamMapper
;
}
@Override
public
List
<
EntrustSample
>
getEntrustSample
()
{
return
sampleCheckTeamMapper
.
getEntrustSample
();
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SampleDistributionServiceImpl.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
service
.
impl
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleDistribution
;
import
cn.wise.sc.cement.business.mapper.SampleDistributionMapper
;
import
cn.wise.sc.cement.business.service.ISampleDistributionService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* <p>
* 服务实现类
...
...
@@ -17,4 +21,12 @@ import org.springframework.stereotype.Service;
@Service
public
class
SampleDistributionServiceImpl
extends
ServiceImpl
<
SampleDistributionMapper
,
SampleDistribution
>
implements
ISampleDistributionService
{
@Autowired
SampleDistributionMapper
sampleDistributionMapper
;
@Override
public
List
<
EntrustSample
>
getEntrustSample
()
{
return
sampleDistributionMapper
.
getEntrustSample
();
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SampleHandleServiceImpl.java
View file @
e286410e
package
cn
.
wise
.
sc
.
cement
.
business
.
service
.
impl
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleHandle
;
import
cn.wise.sc.cement.business.mapper.SampleHandleMapper
;
import
cn.wise.sc.cement.business.service.ISampleHandleService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* <p>
* 服务实现类
...
...
@@ -17,4 +21,11 @@ import org.springframework.stereotype.Service;
@Service
public
class
SampleHandleServiceImpl
extends
ServiceImpl
<
SampleHandleMapper
,
SampleHandle
>
implements
ISampleHandleService
{
@Autowired
SampleHandleMapper
sampleHandleMapper
;
@Override
public
List
<
EntrustSample
>
getEntrustSample
()
{
return
sampleHandleMapper
.
getEntrustSample
();
}
}
cement-business/src/main/resources/application.yml
View file @
e286410e
...
...
@@ -11,7 +11,7 @@ spring:
url
:
jdbc:mysql://192.168.110.85:3306/sinoma_tcdri?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username
:
root
password
:
admin!@#123
driverClassName
:
com.mysql.jdbc.Driver
driverClassName
:
com.mysql.
cj.
jdbc.Driver
hikari
:
minimum-idle
:
3
maximum-pool-size
:
10
...
...
mybatis-generator/src/main/java/cn/wise/sc/cement/mg/GeneratorApplication.java
View file @
e286410e
...
...
@@ -56,7 +56,7 @@ public class GeneratorApplication {
// 全局配置
GlobalConfig
gc
=
new
GlobalConfig
();
String
projectPath
=
System
.
getProperty
(
"user.dir"
);
gc
.
setOutputDir
(
projectPath
+
"
/cement-business/src/main/
java"
);
gc
.
setOutputDir
(
projectPath
+
"
\\cement-business\\src\\main\\
java"
);
gc
.
setAuthor
(
"ztw"
);
gc
.
setOpen
(
false
);
// gc.setSwagger2(true); 实体属性 Swagger2 注解
...
...
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