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
367d1858
Commit
367d1858
authored
Oct 26, 2020
by
qinhu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
产值统计优化(减少查询;添加缓存)
parent
df0614f4
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
283 additions
and
127 deletions
+283
-127
RedisCacheConfig.java
...a/cn/wise/sc/cement/business/config/RedisCacheConfig.java
+63
-45
WeiXinController.java
.../wise/sc/cement/business/controller/WeiXinController.java
+0
-2
EntrustSample.java
...java/cn/wise/sc/cement/business/entity/EntrustSample.java
+10
-9
NormProduction.java
...ava/cn/wise/sc/cement/business/entity/NormProduction.java
+2
-1
SampleHandleMapper.java
...cn/wise/sc/cement/business/mapper/SampleHandleMapper.java
+5
-2
SampleDistributionMapper.xml
...c/cement/business/mapper/xml/SampleDistributionMapper.xml
+8
-8
SampleHandleMapper.xml
...wise/sc/cement/business/mapper/xml/SampleHandleMapper.xml
+27
-2
ISampleHandleService.java
...wise/sc/cement/business/service/ISampleHandleService.java
+15
-7
NormProductionServiceImpl.java
...ment/business/service/impl/NormProductionServiceImpl.java
+136
-40
SampleHandleServiceImpl.java
...cement/business/service/impl/SampleHandleServiceImpl.java
+14
-7
RedisUtil.java
.../main/java/cn/wise/sc/cement/business/util/RedisUtil.java
+3
-4
No files found.
cement-business/src/main/java/cn/wise/sc/cement/business/config/RedisCacheConfig.java
View file @
367d1858
package
cn
.
wise
.
sc
.
cement
.
business
.
config
;
package
cn
.
wise
.
sc
.
cement
.
business
.
config
;
import
com.alibaba.fastjson.parser.ParserConfig
;
import
com.alibaba.fastjson.parser.ParserConfig
;
import
org.redisson.Redisson
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.config.Config
;
import
org.redisson.config.SingleServerConfig
;
import
org.redisson.config.TransportMode
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
...
@@ -83,4 +88,17 @@ public class RedisCacheConfig {
...
@@ -83,4 +88,17 @@ public class RedisCacheConfig {
return
RedisCacheManager
.
builder
(
factory
).
cacheDefaults
(
redisCacheConfiguration
).
build
();
return
RedisCacheManager
.
builder
(
factory
).
cacheDefaults
(
redisCacheConfiguration
).
build
();
}
}
// @Bean
// public RedissonClient redissonClient() {
// Config config = new Config();
// config.useSingleServer()
// .setAddress("redis://127.0.0.1:6379")
// .setConnectionMinimumIdleSize(10)
// .setConnectionPoolSize(50)
// .setPingConnectionInterval(60)
// .setIdleConnectionTimeout(6000)
// .setConnectTimeout(10000)
// .setTimeout(3000);
// return Redisson.create(config);
// }
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/controller/WeiXinController.java
View file @
367d1858
...
@@ -5,14 +5,12 @@ import cn.wise.sc.cement.business.model.BaseResponse;
...
@@ -5,14 +5,12 @@ import cn.wise.sc.cement.business.model.BaseResponse;
import
cn.wise.sc.cement.business.service.impl.WeiXinService
;
import
cn.wise.sc.cement.business.service.impl.WeiXinService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.security.MessageDigest
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.Date
;
import
java.util.Date
;
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/entity/EntrustSample.java
View file @
367d1858
...
@@ -28,4 +28,5 @@ public class EntrustSample {
...
@@ -28,4 +28,5 @@ public class EntrustSample {
private
Integer
teamGroupId
;
private
Integer
teamGroupId
;
private
Integer
userId
;
private
Integer
userId
;
private
LocalDateTime
finishTime
;
private
LocalDateTime
finishTime
;
private
String
content
;
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/NormProduction.java
View file @
367d1858
...
@@ -103,7 +103,8 @@ public class NormProduction implements Serializable {
...
@@ -103,7 +103,8 @@ public class NormProduction implements Serializable {
* 标准产值详情
* 标准产值详情
*/
*/
@Data
@Data
public
static
class
NormProductionDetail
{
public
static
class
NormProductionDetail
implements
Serializable
{
private
static
final
long
serialVersionUID
=
42L
;
private
String
userName
;
private
String
userName
;
private
Integer
distributionId
;
private
Integer
distributionId
;
private
Integer
userId
;
private
Integer
userId
;
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SampleHandleMapper.java
View file @
367d1858
...
@@ -27,6 +27,7 @@ import java.util.Map;
...
@@ -27,6 +27,7 @@ import java.util.Map;
@Mapper
@Mapper
public
interface
SampleHandleMapper
extends
BaseMapper
<
SampleHandle
>
{
public
interface
SampleHandleMapper
extends
BaseMapper
<
SampleHandle
>
{
List
<
SampleHandleVo
>
getSampleHandleList
(
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
List
<
SampleHandleVo
>
getSampleHandleList
(
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
SampleHandleVo
getDetail
(
Integer
id
);
SampleHandleVo
getDetail
(
Integer
id
);
...
@@ -35,4 +36,6 @@ public interface SampleHandleMapper extends BaseMapper<SampleHandle> {
...
@@ -35,4 +36,6 @@ public interface SampleHandleMapper extends BaseMapper<SampleHandle> {
LocalDateTime
getNo1AcceptTime
(
Integer
sampleId
);
LocalDateTime
getNo1AcceptTime
(
Integer
sampleId
);
List
<
EntrustSample
>
getEntrustSample
();
List
<
EntrustSample
>
getEntrustSample
();
List
<
EntrustSample
>
getEntrustSampleOptimize
(
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SampleDistributionMapper.xml
View file @
367d1858
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
</sql>
</sql>
<sql
id=
"sampleDisWhere"
>
<sql
id=
"sampleDisWhere"
>
<where>
<where>
`status` > 5
`status` > 5
AND d.distribution_id IS NOT NULL
<if
test=
"params.start_time != null and params.start_time != ''"
>
<if
test=
"params.start_time != null and params.start_time != ''"
>
and d.finish_time
<![CDATA[>=]]>
#{params.start_time}
and d.finish_time
<![CDATA[>=]]>
#{params.start_time}
</if>
</if>
...
@@ -88,13 +88,13 @@
...
@@ -88,13 +88,13 @@
<select
id=
"getEntrustSample"
<select
id=
"getEntrustSample"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
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
SELECT e.project_name,e.entrust_code,g.distribution_id,g.entrust_id,g.`sample_name`,g.user_id,g.sample_id,e.`status` FROM entrust e
entrust e
RIGHT JOIN
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
(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
RIGHT JOIN
(SELECT user_id, id as distribution_id,sample_id FROM sample_distribution ) d on s.id = d.sample_id ) g
(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
ON g.entrust_id = e.id
WHERE e.status > 5
</select>
</select>
<select
id=
"getSampleDistribution"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
<select
id=
"getSampleDistribution"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SampleHandleMapper.xml
View file @
367d1858
...
@@ -28,8 +28,21 @@
...
@@ -28,8 +28,21 @@
</if>
</if>
</where>
</where>
</sql>
</sql>
<sql
id=
"sampleDisWhere"
>
<where>
e.status > 4 AND h.id IS NOT NULL
<if
test=
"params.start_time != null and params.start_time != ''"
>
and h.finish_time
<![CDATA[>=]]>
#{params.start_time}
</if>
<if
test=
"params.end_time != null and params.end_time != ''"
>
and h.finish_time
<![CDATA[<=]]>
#{params.end_time}
</if>
<if
test=
"params.user_id != null and params.user_id != ''"
>
and h.user_id = #{params.user_id}
</if>
</where>
</sql>
<select
id=
"getSampleHandleList"
resultType=
"cn.wise.sc.cement.business.model.vo.SampleHandleVo"
>
<select
id=
"getSampleHandleList"
resultType=
"cn.wise.sc.cement.business.model.vo.SampleHandleVo"
>
select t.*, p.id as projectId, p.name as projectName, p.code as projectCode,
select t.*, p.id as projectId, p.name as projectName, p.code as projectCode,
e.sample_num as sampleNum,
e.sample_num as sampleNum,
...
@@ -76,7 +89,7 @@
...
@@ -76,7 +89,7 @@
</select>
</select>
<select
id=
"getEntrustSample"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
<select
id=
"getEntrustSample"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
SELECT project_name,entrust_code,h.id,s.entrust_id,h.user_id,s.id as sample_id,e.status FROM entrust e
SELECT project_name,entrust_code,h.id
as distribution_id
,s.entrust_id,h.user_id,s.id as sample_id,e.status FROM entrust e
LEFT JOIN
LEFT JOIN
(SELECT * FROM sample) s
(SELECT * FROM sample) s
ON e.id = s.entrust_id
ON e.id = s.entrust_id
...
@@ -85,6 +98,18 @@
...
@@ -85,6 +98,18 @@
ON h.sample_id = s.id
ON h.sample_id = s.id
WHERE e.status > 4 AND h.id IS NOT NULL
WHERE e.status > 4 AND h.id IS NOT NULL
</select>
</select>
<select
id=
"getEntrustSampleOptimize"
resultType=
"cn.wise.sc.cement.business.entity.EntrustSample"
>
SELECT project_name,entrust_code,h.id,s.entrust_id,h.user_id,s.id as sample_id,e.status,h.content,h.finish_time
FROM entrust e
LEFT JOIN
(SELECT * FROM sample) s
ON e.id = s.entrust_id
LEFT JOIN
(SELECT * FROM sample_handle) h
ON h.sample_id = s.id
<include
refid=
"sampleDisWhere"
/>
</select>
</mapper>
</mapper>
cement-business/src/main/java/cn/wise/sc/cement/business/service/ISampleHandleService.java
View file @
367d1858
...
@@ -3,8 +3,10 @@ package cn.wise.sc.cement.business.service;
...
@@ -3,8 +3,10 @@ package cn.wise.sc.cement.business.service;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.EntrustSample
;
import
cn.wise.sc.cement.business.entity.SampleHandle
;
import
cn.wise.sc.cement.business.entity.SampleHandle
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* <p>
* <p>
...
@@ -18,8 +20,14 @@ public interface ISampleHandleService extends IService<SampleHandle> {
...
@@ -18,8 +20,14 @@ public interface ISampleHandleService extends IService<SampleHandle> {
/**
/**
* 获取处理信息
* 获取处理信息
*
* @return list
* @return list
*/
*/
List
<
EntrustSample
>
getEntrustSample
();
List
<
EntrustSample
>
getEntrustSample
();
/**
* 根据条件获取处理信息
* @param params 参数条件
* @return
*/
List
<
EntrustSample
>
getEntrustSampleOptimize
(
Map
<
String
,
Object
>
params
);
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/NormProductionServiceImpl.java
View file @
367d1858
...
@@ -14,11 +14,12 @@ import cn.wise.sc.cement.business.model.vo.ProductionVo;
...
@@ -14,11 +14,12 @@ import cn.wise.sc.cement.business.model.vo.ProductionVo;
import
cn.wise.sc.cement.business.model.vo.WorkloadStatisticsVo
;
import
cn.wise.sc.cement.business.model.vo.WorkloadStatisticsVo
;
import
cn.wise.sc.cement.business.service.*
;
import
cn.wise.sc.cement.business.service.*
;
import
cn.wise.sc.cement.business.util.ExcelUtil
;
import
cn.wise.sc.cement.business.util.ExcelUtil
;
import
cn.wise.sc.cement.business.util.RedisUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
@@ -28,7 +29,6 @@ import java.time.LocalDate;
...
@@ -28,7 +29,6 @@ import java.time.LocalDate;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.time.temporal.TemporalField
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
...
@@ -50,7 +50,15 @@ import java.util.stream.Collectors;
...
@@ -50,7 +50,15 @@ import java.util.stream.Collectors;
@Service
@Service
public
class
NormProductionServiceImpl
extends
ServiceImpl
<
NormProductionMapper
,
NormProduction
>
implements
INormProductionService
{
public
class
NormProductionServiceImpl
extends
ServiceImpl
<
NormProductionMapper
,
NormProduction
>
implements
INormProductionService
{
/**
* 标准产值配置信息 缓存
*/
final
public
Map
<
String
,
NormProduction
>
normProductionCache
=
new
HashMap
<>();
final
public
Map
<
String
,
NormProduction
>
normProductionCache
=
new
HashMap
<>();
/**
*
*/
final
String
CALCULATE_HANDLE
=
"CALCULATE_HANDLE"
;
final
String
CALCULATE_DISTRIBUTION
=
"CALCULATE_DISTRIBUTION"
;
final
final
ISampleDistributionService
iSampleDistributionService
;
ISampleDistributionService
iSampleDistributionService
;
...
@@ -72,6 +80,8 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -72,6 +80,8 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
INonStandardValueService
iNonStandardValueService
;
INonStandardValueService
iNonStandardValueService
;
final
final
INonStandardApplyService
iNonStandardApplyService
;
INonStandardApplyService
iNonStandardApplyService
;
final
RedisUtil
redisUtil
;
public
NormProductionServiceImpl
(
ISampleDistributionService
iSampleDistributionService
,
public
NormProductionServiceImpl
(
ISampleDistributionService
iSampleDistributionService
,
ISampleHandleService
iSampleHandleService
,
ISampleHandleService
iSampleHandleService
,
...
@@ -81,7 +91,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -81,7 +91,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
ITeamGroupService
iTeamGroupService
,
IHandleService
iHandleService
,
ITeamGroupService
iTeamGroupService
,
IHandleService
iHandleService
,
ISysPostService
iSysPostService
,
ISysPostService
iSysPostService
,
INonStandardValueService
iNonStandardValueService
,
INonStandardValueService
iNonStandardValueService
,
INonStandardApplyService
iNonStandardApplyService
)
{
INonStandardApplyService
iNonStandardApplyService
,
RedisUtil
redisUtil
)
{
this
.
iSampleDistributionService
=
iSampleDistributionService
;
this
.
iSampleDistributionService
=
iSampleDistributionService
;
this
.
iSampleHandleService
=
iSampleHandleService
;
this
.
iSampleHandleService
=
iSampleHandleService
;
this
.
iSysUserService
=
iSysUserService
;
this
.
iSysUserService
=
iSysUserService
;
...
@@ -92,6 +102,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -92,6 +102,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
this
.
iSysPostService
=
iSysPostService
;
this
.
iSysPostService
=
iSysPostService
;
this
.
iNonStandardValueService
=
iNonStandardValueService
;
this
.
iNonStandardValueService
=
iNonStandardValueService
;
this
.
iNonStandardApplyService
=
iNonStandardApplyService
;
this
.
iNonStandardApplyService
=
iNonStandardApplyService
;
this
.
redisUtil
=
redisUtil
;
}
}
@Override
@Override
...
@@ -299,11 +310,8 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -299,11 +310,8 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
.
filter
(
arg
->
arg
.
getId
().
intValue
()
==
sysUser
.
getPostId
()).
.
filter
(
arg
->
arg
.
getId
().
intValue
()
==
sysUser
.
getPostId
()).
findFirst
().
orElse
(
null
);
findFirst
().
orElse
(
null
);
SysGroup
sysGroup1
=
sysGroups
.
stream
()
.
filter
(
arg
->
arg
.
getId
().
intValue
()
==
sysGroup
.
getId
()).
findFirst
().
orElse
(
null
);
productionStatistics
.
setPosition
(
sysPost
==
null
?
"职务一"
:
sysPost
.
getName
());
productionStatistics
.
setPosition
(
sysPost
==
null
?
"职务一"
:
sysPost
.
getName
());
productionStatistics
.
setGroupName
(
sysGroup
==
null
?
"部门名"
:
sysGroup
.
getName
());
productionStatistics
.
setGroupName
(
sysGroup
.
getName
());
rts
.
add
(
productionStatistics
);
rts
.
add
(
productionStatistics
);
}
}
...
@@ -360,7 +368,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -360,7 +368,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
//计算分析任务单产值
//计算分析任务单产值
List
<
NormProduction
.
NormProductionDetail
>
sampleDistributionDetail
=
calculateSampleDistributionOptimize
(
params
);
List
<
NormProduction
.
NormProductionDetail
>
sampleDistributionDetail
=
calculateSampleDistributionOptimize
(
params
);
//计算处理任务单产值
//计算处理任务单产值
List
<
NormProduction
.
NormProductionDetail
>
sampleHandleDetail
=
calculateSampleHandle
(
qwHan
);
List
<
NormProduction
.
NormProductionDetail
>
sampleHandleDetail
=
calculateSampleHandle
Optimize
(
params
);
//todo 计算校核任务单产值
//todo 计算校核任务单产值
// List<NormProduction.NormProductionDetail> sampleCheckTeamDetail = calculateSampleCheck(qwCT);
// List<NormProduction.NormProductionDetail> sampleCheckTeamDetail = calculateSampleCheck(qwCT);
...
@@ -405,6 +413,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -405,6 +413,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
List
<
NonStandardValue
>
nonStandardValues
=
iNonStandardValueService
.
nonValue
(
startDate
,
endDate
,
groupId
).
getData
();
List
<
NonStandardValue
>
nonStandardValues
=
iNonStandardValueService
.
nonValue
(
startDate
,
endDate
,
groupId
).
getData
();
//标准产值
//标准产值
List
<
NormProductionStatistics
>
productionStatistics
=
this
.
normProductionStatistics
(
start
,
end
,
name
,
groupId
).
getData
();
List
<
NormProductionStatistics
>
productionStatistics
=
this
.
normProductionStatistics
(
start
,
end
,
name
,
groupId
).
getData
();
//以userId找关系
//以userId找关系
Set
<
String
>
userIds
=
new
HashSet
<>();
Set
<
String
>
userIds
=
new
HashSet
<>();
nonStandardValues
.
forEach
(
arg
->
userIds
.
add
(
arg
.
getUserId
()
+
""
));
nonStandardValues
.
forEach
(
arg
->
userIds
.
add
(
arg
.
getUserId
()
+
""
));
...
@@ -690,16 +699,21 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -690,16 +699,21 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
/**
/**
* 计算处理派发单每条数据的标准产值
* 计算处理派发单每条数据的标准产值
* (已有替代方法)
*
*
* @param qwHan 统计条件
* @param qwHan 统计条件
* @return 处理任务详情
* @return 处理任务详情
* @Deprecated 已废弃
* @see NormProductionServiceImpl#calculateSampleHandleOptimize(Map)
*/
*/
@Deprecated
private
List
<
NormProduction
.
NormProductionDetail
>
calculateSampleHandle
(
QueryWrapper
<
SampleHandle
>
qwHan
)
{
private
List
<
NormProduction
.
NormProductionDetail
>
calculateSampleHandle
(
QueryWrapper
<
SampleHandle
>
qwHan
)
{
//计算处理的绩效
//计算处理的绩效
List
<
SampleHandle
>
sampleHandles
=
iSampleHandleService
.
list
(
qwHan
);
List
<
SampleHandle
>
sampleHandles
=
iSampleHandleService
.
list
(
qwHan
);
List
<
EntrustSample
>
entrustSamples
=
iSampleHandleService
.
getEntrustSample
();
List
<
EntrustSample
>
entrustSamples
=
iSampleHandleService
.
getEntrustSample
();
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
sampleHandles
.
size
());
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
sampleHandles
.
size
());
List
<
Integer
>
handleIds
=
new
ArrayList
<>();
List
<
Integer
>
handleIds
=
new
ArrayList
<>();
//处理项id
sampleHandles
.
forEach
(
arg
->
{
sampleHandles
.
forEach
(
arg
->
{
String
idsStr
=
arg
.
getContent
();
String
idsStr
=
arg
.
getContent
();
String
[]
split
=
idsStr
.
split
(
"、"
);
String
[]
split
=
idsStr
.
split
(
"、"
);
...
@@ -764,8 +778,83 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -764,8 +778,83 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
return
rts
;
return
rts
;
}
}
/**
* 计算处理派发单每条数据的标准产值
*
* @param params 统计条件
* @return 处理任务详情
*/
private
List
<
NormProduction
.
NormProductionDetail
>
calculateSampleHandleOptimize
(
final
Map
<
String
,
Object
>
params
)
{
if
(!
redisUtil
.
existsKey
(
CALCULATE_HANDLE
))
{
//计算处理的绩效
List
<
EntrustSample
>
entrustSamples
=
iSampleHandleService
.
getEntrustSampleOptimize
(
params
);
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
entrustSamples
.
size
());
List
<
Integer
>
handleIds
=
new
ArrayList
<>();
//处理项id
entrustSamples
.
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传的有问题呀!"
);
}
});
if
(
handleIds
.
size
()
==
0
)
{
return
new
ArrayList
<>();
}
List
<
Handle
>
handles
=
iHandleService
.
listByIds
(
handleIds
);
for
(
EntrustSample
entrustSample
:
entrustSamples
)
{
String
content
=
entrustSample
.
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
(
entrustSample
.
getUserId
());
productionDetail
.
setCheckTime
(
entrustSample
.
getFinishTime
());
productionDetail
.
setDistributionId
(
entrustSample
.
getDistributionId
());
productionDetail
.
setAssessId
(
handleId
);
productionDetail
.
setGroupTeamName
(
handle
.
getName
());
rts
.
add
(
productionDetail
);
}
}
redisUtil
.
setListAll
(
CALCULATE_HANDLE
,
JSON
.
toJSONString
(
rts
),
6000
);
}
return
JSON
.
parseArray
(
redisUtil
.
getString
(
CALCULATE_HANDLE
)
+
""
,
NormProduction
.
NormProductionDetail
.
class
);
}
/**
/**
* 计算分析派发单每条数据的标准产值
* 计算分析派发单每条数据的标准产值
* 优化版本
*
*
* @param param 统计条件
* @param param 统计条件
* @return 分析任务详情
* @return 分析任务详情
...
@@ -773,6 +862,9 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -773,6 +862,9 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
private
List
<
NormProduction
.
NormProductionDetail
>
calculateSampleDistributionOptimize
private
List
<
NormProduction
.
NormProductionDetail
>
calculateSampleDistributionOptimize
(
Map
<
String
,
Object
>
param
)
{
(
Map
<
String
,
Object
>
param
)
{
if
(!
redisUtil
.
existsKey
(
CALCULATE_DISTRIBUTION
))
{
List
<
EntrustSample
>
entrustSamples
=
iSampleDistributionService
.
getSampleDistribution
(
param
);
List
<
EntrustSample
>
entrustSamples
=
iSampleDistributionService
.
getSampleDistribution
(
param
);
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
entrustSamples
.
size
());
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
entrustSamples
.
size
());
...
@@ -809,7 +901,11 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
...
@@ -809,7 +901,11 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
productionDetail
.
setGroupTeamName
(
teamGroup
.
getName
());
productionDetail
.
setGroupTeamName
(
teamGroup
.
getName
());
rts
.
add
(
productionDetail
);
rts
.
add
(
productionDetail
);
}
}
return
rts
;
redisUtil
.
setListAll
(
CALCULATE_DISTRIBUTION
,
JSON
.
toJSONString
(
rts
),
6000
);
}
return
JSON
.
parseArray
(
redisUtil
.
getString
(
CALCULATE_DISTRIBUTION
)
+
""
,
NormProduction
.
NormProductionDetail
.
class
);
}
}
/**
/**
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SampleHandleServiceImpl.java
View file @
367d1858
...
@@ -5,10 +5,12 @@ import cn.wise.sc.cement.business.entity.SampleHandle;
...
@@ -5,10 +5,12 @@ import cn.wise.sc.cement.business.entity.SampleHandle;
import
cn.wise.sc.cement.business.mapper.SampleHandleMapper
;
import
cn.wise.sc.cement.business.mapper.SampleHandleMapper
;
import
cn.wise.sc.cement.business.service.ISampleHandleService
;
import
cn.wise.sc.cement.business.service.ISampleHandleService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* <p>
* <p>
...
@@ -28,4 +30,9 @@ public class SampleHandleServiceImpl extends ServiceImpl<SampleHandleMapper, Sam
...
@@ -28,4 +30,9 @@ public class SampleHandleServiceImpl extends ServiceImpl<SampleHandleMapper, Sam
public
List
<
EntrustSample
>
getEntrustSample
()
{
public
List
<
EntrustSample
>
getEntrustSample
()
{
return
sampleHandleMapper
.
getEntrustSample
();
return
sampleHandleMapper
.
getEntrustSample
();
}
}
@Override
public
List
<
EntrustSample
>
getEntrustSampleOptimize
(
Map
<
String
,
Object
>
params
)
{
return
sampleHandleMapper
.
getEntrustSampleOptimize
(
params
);
}
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/util/RedisUtil.java
View file @
367d1858
...
@@ -167,15 +167,14 @@ public class RedisUtil {
...
@@ -167,15 +167,14 @@ public class RedisUtil {
* 将list集合放入List缓存,并设置时间
* 将list集合放入List缓存,并设置时间
*
*
* @param key key值
* @param key key值
* @param
value
数据的值
* @param
listStr
数据的值
* @param time 缓存的时间
* @param time 缓存的时间
* @return true插入成功,否则返回异常信息
* @return true插入成功,否则返回异常信息
*/
*/
public
Boolean
setListAll
(
String
key
,
Object
value
,
long
time
)
{
public
Boolean
setListAll
(
String
key
,
String
listStr
,
long
time
)
{
try
{
try
{
if
(
time
>
0
)
{
if
(
time
>
0
)
{
redisTemplate
.
opsForList
().
rightPushAll
(
key
,
value
);
setString
(
key
,
listStr
,
time
);
this
.
expire
(
key
,
time
);
return
true
;
return
true
;
}
}
return
false
;
return
false
;
...
...
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