Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
civil-bigdata
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
civil
civil-bigdata
Commits
1f5d6506
Commit
1f5d6506
authored
Jun 28, 2021
by
zlr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新殡葬
parent
966da1ce
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
175 additions
and
20 deletions
+175
-20
common-utils/src/main/java/com/zq/common/config/redis/RedisUtils.java
+2
-0
portal-server/src/main/java/com/zq/portal/controller/admin/BzStatsAdminController.java
+9
-5
portal-server/src/main/java/com/zq/portal/dao/BzStatsDao.java
+11
-0
portal-server/src/main/java/com/zq/portal/dao/VBzCremationStatsDao.java
+14
-0
portal-server/src/main/java/com/zq/portal/manager/PortalCacheKeys.java
+15
-5
portal-server/src/main/java/com/zq/portal/service/BzStatsService.java
+104
-10
portal-server/src/main/resources/mapper/BzStatsMapper.xml
+20
-0
No files found.
common-utils/src/main/java/com/zq/common/config/redis/RedisUtils.java
View file @
1f5d6506
...
...
@@ -811,4 +811,6 @@ public class RedisUtils {
log
.
debug
(
"缓存删除数量:{}个"
,
count
);
log
.
debug
(
"--------------------------------------------"
);
}
}
portal-server/src/main/java/com/zq/portal/controller/admin/BzStatsAdminController.java
View file @
1f5d6506
...
...
@@ -27,11 +27,15 @@ public class BzStatsAdminController {
public
final
BzStatsService
bzStatsService
;
@ApiOperation
(
"
统计该区域的殡葬火化量
"
)
@PostMapping
(
value
=
"/getCremationStats"
)
public
ResultVo
<
Object
>
getCremationStats
(
@RequestBody
StatsReqVo
vo
)
{
return
ResultVo
.
success
(
bzStatsService
.
getCacheCremationStats
(
vo
));
@ApiOperation
(
"
获取区域殡葬火化分析列表
"
)
@PostMapping
(
value
=
"/getCremationStats
List
"
)
public
ResultVo
<
Object
>
getCremationStats
List
(
@RequestBody
StatsReqVo
vo
)
{
return
ResultVo
.
success
(
bzStatsService
.
getCacheCremationStats
List
(
vo
));
}
@ApiOperation
(
"获取区域火化率占比"
)
@PostMapping
(
value
=
"/getCremationRateStats"
)
public
ResultVo
<
Object
>
getCremationRateStats
(
@RequestBody
StatsReqVo
vo
){
return
ResultVo
.
success
(
bzStatsService
.
getCacheCremationRateStats
(
vo
));
}
}
portal-server/src/main/java/com/zq/portal/dao/BzStatsDao.java
View file @
1f5d6506
...
...
@@ -2,6 +2,7 @@ package com.zq.portal.dao;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.zq.common.constant.DBName
;
import
com.zq.portal.vo.StatsReqVo
;
import
com.zq.portal.vo.StatsVo
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -14,4 +15,14 @@ public interface BzStatsDao {
List
<
StatsVo
>
getDeathsPerYear
(
@Param
(
"areaCode"
)
String
areaCode
);
/**
* 获取区域火化统计
*
* @param vo
* @return
*/
List
<
StatsVo
>
getAreaCremationStats
(
StatsReqVo
vo
);
StatsVo
getCremationRateStats
(
StatsReqVo
vo
);
}
portal-server/src/main/java/com/zq/portal/dao/VBzCremationStatsDao.java
0 → 100644
View file @
1f5d6506
package
com
.
zq
.
portal
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zq.common.entity.VBzCremationStats
;
import
org.springframework.stereotype.Repository
;
/**
*火化统计表(VBzCremationStats)表数据库访问层
* @author Administrater
*/
@Repository
public
interface
VBzCremationStatsDao
extends
BaseMapper
<
VBzCremationStats
>
{
}
portal-server/src/main/java/com/zq/portal/manager/PortalCacheKeys.java
View file @
1f5d6506
...
...
@@ -61,11 +61,6 @@ public abstract class PortalCacheKeys {
return
PREFIX
+
"getAgencyUnderChildStatsList."
+
vo
.
getAreaCode
()
+
"."
+
vo
.
getYear
();
}
// 殡葬火化量统计
public
static
String
getCremationStatsKey
(
StatsReqVo
vo
)
{
return
PREFIX
+
"getCremationStats."
+
vo
.
getAreaCode
()
+
"."
+
vo
.
getYear
();
}
// 残疾等级统计
public
static
String
getDisabledLevelStatsKey
(
StatsReqVo
vo
)
{
return
PREFIX
+
"getDisabledLevelStats."
+
vo
.
getAreaCode
()
+
"."
+
vo
.
getYear
();
...
...
@@ -85,4 +80,19 @@ public abstract class PortalCacheKeys {
public
static
String
getAreaNursingStatsListKey
(
StatsReqVo
vo
)
{
return
PREFIX
+
"getAreaNursingStatsList."
+
vo
.
getAreaCode
()
+
"."
+
vo
.
getYear
();
}
// 殡葬火化量统计列表
public
static
String
getCremationStatsListKey
(
StatsReqVo
vo
)
{
return
PREFIX
+
"getCremationStatsList."
+
vo
.
getAreaCode
()
+
"."
+
vo
.
getYear
();
}
// 区域火化率占比
public
static
String
getCremationRateStatsKey
(
StatsReqVo
vo
)
{
return
PREFIX
+
"getCremationRateStats."
+
vo
.
getAreaCode
()
+
"."
+
vo
.
getYear
();
}
//火化量汇总Key
public
static
String
getCremationStatsKey
(
StatsReqVo
vo
)
{
return
PREFIX
+
"getCremationStats."
+
vo
.
getAreaCode
()
+
"."
+
vo
.
getYear
();
}
}
portal-server/src/main/java/com/zq/portal/service/BzStatsService.java
View file @
1f5d6506
package
com
.
zq
.
portal
.
service
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.zq.common.config.redis.RedisUtils
;
import
com.zq.common.entity.SystemArea
;
import
com.zq.common.entity.VBzCremationStats
;
import
com.zq.common.entity.VChildWelfareStats
;
import
com.zq.portal.dao.AreaDao
;
import
com.zq.portal.dao.BzStatsDao
;
import
com.zq.portal.dao.HyStatsDao
;
import
com.zq.portal.dao.VChildWelfareStatsDao
;
import
com.zq.portal.dao.VBzCremationStatsDao
;
import
com.zq.portal.manager.PortalCacheKeys
;
import
com.zq.portal.vo.StatsReqVo
;
import
com.zq.portal.vo.StatsVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
@Service
@RequiredArgsConstructor
public
class
BzStatsService
{
private
final
BzStatsDao
bzStatsDao
;
//
private final VBzCremationStatsDao vBzCremationStatsDao;
private
final
VBzCremationStatsDao
vBzCremationStatsDao
;
private
final
AreaDao
areaDao
;
private
final
RedisUtils
redisUtils
;
public
VBzCremationStats
getCacheCremationStats
(
StatsReqVo
vo
)
{
/**
* 汇总数据量
* @param vo
* @return
*/
public
VBzCremationStats
getCacheCremationStats
(
StatsReqVo
vo
){
Object
obj
=
redisUtils
.
getObj
(
PortalCacheKeys
.
getCremationStatsKey
(
vo
));
if
(
obj
!=
null
)
{
return
(
VBzCremationStats
)
obj
;
...
...
@@ -33,28 +39,116 @@ public class BzStatsService {
}
/**
* 统计该区域的殡葬火化量
*
* 火化汇总量
* @param vo
* @return
*/
p
rivate
VBzCremationStats
getCremationStats
(
StatsReqVo
vo
)
{
p
ublic
VBzCremationStats
getCremationStats
(
StatsReqVo
vo
)
{
if
(
StrUtil
.
isBlank
(
vo
.
getAreaCode
()))
{
vo
.
setAreaCode
(
"450000000000"
);
}
SystemArea
systemArea
=
areaDao
.
selectById
(
vo
.
getAreaCode
());
vo
.
setSubAreaCode
(
systemArea
.
subAreaCode
());
VBzCremationStats
build
=
VBzCremationStats
.
builder
()
VBzCremationStats
build
=
VBzCremationStats
.
builder
()
.
areaCode
(
systemArea
.
getCode
())
.
areaName
(
systemArea
.
getName
())
.
year
(
vo
.
getYear
())
.
createTime
(
DateUtil
.
date
())
.
build
();
List
<
StatsVo
>
sumStats
=
bzStatsDao
.
getAreaCremationStats
(
vo
);
Iterator
<
StatsVo
>
iterator
=
sumStats
.
iterator
();
while
(
iterator
.
hasNext
())
{
StatsVo
statsVo
=
iterator
.
next
();
build
.
setCremationSum
(
statsVo
.
getNum
());
}
StatsVo
hastats
=
bzStatsDao
.
getCremationRateStats
(
vo
);
build
.
setCremationRate
(
hastats
.
getNum
());
redisUtils
.
setObj
(
PortalCacheKeys
.
getCremationStatsKey
(
vo
),
build
);
// 放进数据库 有时间条件的不存库
VBzCremationStats
vBzCremationStats
=
vBzCremationStatsDao
.
selectOne
(
Wrappers
.
lambdaQuery
(
VBzCremationStats
.
builder
().
year
(
vo
.
getYear
()
==
null
?
0
:
vo
.
getYear
()).
areaCode
(
systemArea
.
getCode
()).
createTime
(
DateUtil
.
parseDate
(
DateUtil
.
today
())).
build
()));
if
(
vBzCremationStats
==
null
)
{
vBzCremationStatsDao
.
insert
(
build
);
}
else
{
build
.
setId
(
vBzCremationStats
.
getId
());
vBzCremationStatsDao
.
updateById
(
build
);
}
return
build
;
}
public
Object
getCacheCremationStatsList
(
StatsReqVo
vo
)
{
Object
obj
=
redisUtils
.
getObj
(
PortalCacheKeys
.
getCremationStatsListKey
(
vo
));
if
(
obj
!=
null
)
{
return
obj
;
}
return
getCremationStatsList
(
vo
);
}
/**
* 统计该区域的殡葬火化量列表
*
* @param vo
*/
public
Object
getCremationStatsList
(
StatsReqVo
vo
)
{
SystemArea
systemArea
=
areaDao
.
selectById
(
vo
.
getAreaCode
());
vo
.
setSubAreaCode
(
systemArea
.
subAreaCode
());
vo
.
setSize
(
SystemArea
.
getNextLevelLength
(
vo
.
getSubAreaCode
()));
List
<
String
>
cityList
=
new
ArrayList
<>();
List
<
String
>
numList
=
new
ArrayList
<>();
List
<
StatsVo
>
statsList
=
bzStatsDao
.
getAreaCremationStats
(
vo
);
Iterator
<
StatsVo
>
iterator
=
statsList
.
iterator
();
while
(
iterator
.
hasNext
())
{
StatsVo
statsVo
=
iterator
.
next
();
SystemArea
area
=
areaDao
.
selectById
(
SystemArea
.
patchZero
(
statsVo
.
getCode
()));
if
(!
"0"
.
equals
(
area
.
getParentId
()))
{
statsVo
.
setName
(
area
.
getName
());
cityList
.
add
(
area
.
getName
());
numList
.
add
(
NumberUtil
.
toStr
(
statsVo
.
getNum
(),
"0"
));
}
else
{
iterator
.
remove
();
}
}
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
returnMap
.
put
(
"cityList"
,
cityList
);
returnMap
.
put
(
"numList"
,
numList
);
returnMap
.
put
(
"statsLst"
,
statsList
);
redisUtils
.
setObj
(
PortalCacheKeys
.
getCremationStatsListKey
(
vo
),
returnMap
);
return
returnMap
;
}
/**
* 统计火化率占比
*
* @param vo
* @return
*/
public
Object
getCacheCremationRateStats
(
StatsReqVo
vo
)
{
Object
obj
=
redisUtils
.
getObj
(
PortalCacheKeys
.
getCremationRateStatsKey
(
vo
));
if
(
obj
!=
null
)
{
return
obj
;
}
return
getCremationRateStats
(
vo
);
}
/**
* 统计火化率占比
*
* @param vo
* @return
*/
public
Object
getCremationRateStats
(
StatsReqVo
vo
)
{
return
null
;
}
}
portal-server/src/main/resources/mapper/BzStatsMapper.xml
View file @
1f5d6506
...
...
@@ -14,4 +14,24 @@
LIMIT 3
</select>
<select
id=
"getAreaCremationStats"
resultType=
"com.zq.portal.vo.StatsVo"
>
SELECT
LEFT(d.ups, 4) 'code',
COUNT( 1 ) 'num'
FROM
dic_city d
LEFT JOIN fis_cremation_info_sum f ON d.P_ID = f.POPULACE
WHERE 1=1
<if
test=
"subAreaCode != null and subAreaCode != ''"
>
ANd d.ups LIKE CONCAT (#{subAreaCode},'%')
</if>
AND
LEFT(f.CREMATION_TIME, 4) >= '2017'
GROUP BY LEFT(d.ups, #{size})
</select>
<select
id=
"getCremationRateStats"
resultType=
"com.zq.portal.vo.StatsVo"
>
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment