Commit 914d7a6b by 袁伟铭

修改社会救助

parent f9ce7555
......@@ -12,8 +12,9 @@ public class ApiCommonConfig implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) {
log.info(">> 参数配置Cache初始化");
ConfigCache.init();
log.info("------完成初始化系统配置表-------");
log.info(">> 完成初始化系统配置表");
}
}
......@@ -31,7 +31,6 @@ public class ConfigCache {
if (cache == null) {
cache = CacheManager.get(cacheName);
}
log.debug("####参数配置Cache初始化......");
Map<String, SysConfig> cacheMap = new HashMap<>();
SysConfigDao configDao = SpringContextHolder.getBean(SysConfigDao.class);
List<SysConfig> sysConfigList = configDao.selectList(Wrappers.lambdaQuery(null));
......
......@@ -12,7 +12,7 @@ public class ConfigTask {
@Scheduled(cron = "0/5 * * * * ?")
public void updateConfig() {
ConfigCache.init();
ConfigCache.update();
}
}
package com.zq.common.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* 社会救助统计表(EnbuzStats)实体类
*
* @author makejava
* @since 2021-06-25 18:18:35
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName(value = "v_enbuz_stats")
public class EnbuzStats {
/**
* id
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 区域码
*/
@ApiModelProperty("区域码")
private String areaCode;
/**
* 区域名
*/
@ApiModelProperty("区域名")
private String areaName;
/**
* 年份
*/
@ApiModelProperty("年份")
private Integer year;
/**
* 城市低保人数
*/
@ApiModelProperty("城市低保人数")
private Integer cityNum;
/**
* 农村低保人数
*/
@ApiModelProperty("农村低保人数")
private Integer villageNum;
/**
* 特困人数
*/
@ApiModelProperty("特困人数")
private Integer poorNum;
/**
* 临时人数
*/
@ApiModelProperty("临时人数")
private Integer temporaryNum;
/**
* 边民人数
*/
@ApiModelProperty("边民人数")
private Integer borderNum;
/**
* 日期
*/
@ApiModelProperty("日期")
private Date createTime;
}
package com.zq.portal.constant;
import lombok.Getter;
@Getter
public enum CityEnum {
GUANG_XI("45", 25343000, 24257000),
NAN_NING("4501", 4678800, 2666000),
LIU_ZHOU("4502", 2668000, 1410000),
GUI_LIN("4503", 2602000, 2510300),
WU_ZHOU("4504", 1630200, 1446800),
BEI_HAI("4505", 1010900, 689800),
FANG_CHENG_GANG("4506", 575200, 388400),
QIN_ZHOU("4507", 1364100, 1960000),
GUI_GANG("4508", 2257700, 2173100),
YU_LIN("4509", 2944700, 2933100),
BAI_SE("4510", 1383400, 2304000),
HE_ZHOU("4511", 977000, 1108300),
HE_CHI("4512", 1380900, 2182700),
LAI_BIN("4513", 1026000, 1218300),
CHONG_ZUO("4514", 844100, 1266200),
;
private final String code;
private final Integer city;
private final Integer village;
CityEnum(String code, Integer city, Integer village) {
this.code = code;
this.city = city;
this.village = village;
}
public static CityEnum ofCode(String code) {
for (CityEnum item : values()) {
if (item.getCode().equals(code)) {
return item;
}
}
return null;
}
}
......@@ -20,6 +20,24 @@ public class ShjzStatsAdminController {
public final ShjzStatsService shjzStatsService;
@ApiOperation("获取当前享受低保人数")
@PostMapping(value = "/getEnjoyNum")
public ResultVo getEnjoyNum(@RequestBody StatsReqVo vo) {
return ResultVo.success(shjzStatsService.getCacheEnjoyNum(vo));
}
@ApiOperation("获取指定区域下的数据")
@PostMapping(value = "/getAreaUnderNumStats")
public ResultVo getAreaUnderNumStats(@RequestBody StatsReqVo vo) {
return ResultVo.success(shjzStatsService.getCacheAreaUnderNumStats(vo));
}
@ApiOperation("获取近5年折线图")
@PostMapping(value = "/getFivesYearEnjoyStats")
public ResultVo getFivesYearEnjoyStats(@RequestBody StatsReqVo vo) {
return ResultVo.success(shjzStatsService.getCacheFivesYearEnjoyStats(vo));
}
@ApiOperation("获取近五年城市农村低保发放金额统计")
@PostMapping(value = "/getFivesYearShjzProvideStats")
public ResultVo getFivesYearShjzProvideStats(@RequestBody StatsReqVo vo) {
......
......@@ -20,6 +20,24 @@ public class ShjzStatsController {
public final ShjzStatsService shjzStatsService;
@ApiOperation("获取当前享受低保人数")
@PostMapping(value = "/getEnjoyNum")
public ResultVo getEnjoyNum(@RequestBody StatsReqVo vo) {
return ResultVo.success(shjzStatsService.getCacheEnjoyNum(vo));
}
@ApiOperation("获取指定区域下的数据")
@PostMapping(value = "/getAreaUnderNumStats")
public ResultVo getAreaUnderNumStats(@RequestBody StatsReqVo vo) {
return ResultVo.success(shjzStatsService.getCacheAreaUnderNumStats(vo));
}
@ApiOperation("获取近5年折线图")
@PostMapping(value = "/getFivesYearEnjoyStats")
public ResultVo getFivesYearEnjoyStats(@RequestBody StatsReqVo vo) {
return ResultVo.success(shjzStatsService.getCacheFivesYearEnjoyStats(vo));
}
@ApiOperation("获取近五年城市农村低保发放金额统计")
@PostMapping(value = "/getFivesYearShjzProvideStats")
public ResultVo getFivesYearShjzProvideStats(@RequestBody StatsReqVo vo) {
......
......@@ -3,6 +3,8 @@ package com.zq.portal.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.zq.common.constant.DBName;
import com.zq.portal.vo.SearchReqVo;
import com.zq.portal.vo.StatsReqVo;
import com.zq.portal.vo.StatsVo;
import org.springframework.stereotype.Repository;
import java.util.List;
......@@ -19,4 +21,44 @@ public interface ShjzStatsDao {
* @return
*/
List<Map<String, Object>> search(SearchReqVo vo);
/**
* 获取享受低保人数
*
* @param vo
* @return
*/
List<StatsVo> getEnjoyNum(StatsReqVo vo);
/**
* 获取指定区域下的数据
*
* @param vo
* @return
*/
List<StatsVo> getAreaUnderNumStats(StatsReqVo vo);
/**
* 近5年享受人数数据
*
* @param vo
* @return
*/
List<StatsVo> getFivesYearEnjoyStats(StatsReqVo vo);
/**
* 获取临时救助人员
*
* @param vo
* @return
*/
StatsVo getTemporaryNumStats(StatsReqVo vo);
/**
* 获取边民人员
*
* @param vo
* @return
*/
StatsVo getBorderNumStats(StatsReqVo vo);
}
......@@ -106,4 +106,23 @@ public abstract class PortalCacheKeys {
return PREFIX + "gatherSearch." + vo.getKeyword();
}
// 社会组织搜索
public static String soorganSearchKey() {
return PREFIX + "soorganSearch.";
}
// 低保 获取当前享受低保人数
public static String getEnjoyEnbuzNumKey(StatsReqVo vo) {
return PREFIX + "getEnjoyEnbuzNum." + vo.getAreaCode() + "." + vo.getYear();
}
// 低保 获取指定区域下的人数统计
public static String getAreaUnderEnbuzNumStatsKey(StatsReqVo vo) {
return PREFIX + "getAreaUnderEnbuzNumStats." + vo.getAreaCode() + "." + vo.getYear();
}
// 低保 获取近5年折线图
public static String getFivesYearEnbuzEnjoyStatsKey(StatsReqVo vo) {
return PREFIX + "getFivesYearEnbuzEnjoyStats";
}
}
......@@ -24,9 +24,10 @@ public class StatsTimingTask {
private final CjStatsService cjStatsService;
private final BzStatsService bzStatsService;
private final YlStatsService ylStatsService;
private final ShjzStatsService shjzStatsService;
private final AreaDao areaDao;
private final String cron = "0 0 0/12 * * ?";
// private final String cron = "0 0 9 * * ?";
// private final String cron = "0 58 22 * * ?";
@Scheduled(cron = cron)
......@@ -277,4 +278,30 @@ public class StatsTimingTask {
ylStatsService.getAreaNursingStatsList(StatsReqVo.builder().areaCode(areaCode).year(year).build());
}
@Scheduled(cron = cron)
public void shjzStatsTask() {
System.out.println("社会救助-基本数统计 触发时间 :" + new Date());
/****************区域年份统计*******************/
/****************区域无年份统计*******************/
shjzStats("450000000000", null);
List<SystemArea> cityAreaList = areaDao.selectList(Wrappers.lambdaQuery(SystemArea.builder().parentId("450000000000").build()));
for (SystemArea cityArea : cityAreaList) {
shjzStats(cityArea.getCode(), null);
List<SystemArea> areaList = areaDao.selectList(Wrappers.lambdaQuery(SystemArea.builder().parentId(cityArea.getCode()).build()));
for (SystemArea area : areaList) {
shjzStats(area.getCode(), null);
}
}
}
private void shjzStats(String areaCode, Integer year) {
shjzStatsService.getEnjoyNum(StatsReqVo.builder().areaCode(areaCode).year(year).build());
shjzStatsService.getAreaUnderNumStats(StatsReqVo.builder().areaCode(areaCode).year(year).build());
shjzStatsService.getFivesYearEnjoyStats(StatsReqVo.builder().areaCode(areaCode).year(year).build());
}
}
package com.zq.portal.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class StatsVo {
private String year;
@Builder.Default
private Integer num = 0;
private String type;
......@@ -19,4 +26,6 @@ public class StatsVo {
private String code;
private String date;
}
......@@ -3,14 +3,6 @@
<mapper namespace="com.zq.portal.dao.VShjzAchieveDao">
<select id="getFivesYearStats" resultType="java.util.Map">
SELECT help_type,
(select SUM(total) FROM v_shjz_total where `year`=${year} AND `help_type`=${help_type})
FROM `v_shjz_total`
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') =
(SELECT DATE_FORMAT(createTime, '%Y-%m-%d') FROM v_shjz_total ORDER BY createTime DESC LIMIT 1)
GROUP BY
help_type
SELECT iscity,
SUM(s_2017) 's2017', SUM(s_2018) 's2018', SUM(s_2019) 's2019', SUM(s_2020) 's2020', SUM(s_2021) 's2021'
FROM `v_shjz_achieve`
......@@ -21,34 +13,20 @@
</select>
<select id="getStatsByYear" resultType="java.util.Map">
SELECT u.city_name 'city', (select SUM(total) FROM v_shjz_total where AND `year`=${year}) 'achieveNum'
FROM `v_shjz_total` s
LEFT JOIN unit_code u ON s.unit_id=u.county_id
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') =
(SELECT DATE_FORMAT(createTime, '%Y-%m-%d') FROM v_shjz_total ORDER BY createTime DESC
SELECT get_upunitname 'city', s_${year} 'achieveNum'
FROM `v_shjz_achieve`
WHERE DATE_FORMAT(create_time, '%Y-%m-%d') =
(SELECT DATE_FORMAT(create_time, '%Y-%m-%d') FROM v_shjz_achieve ORDER BY create_time DESC
LIMIT 1)
<!-- SELECT get_upunitname 'city', s_${year} 'achieveNum'-->
<!-- FROM `v_shjz_achieve`-->
<!-- WHERE DATE_FORMAT(create_time, '%Y-%m-%d') =-->
<!-- (SELECT DATE_FORMAT(create_time, '%Y-%m-%d') FROM v_shjz_achieve ORDER BY create_time DESC-->
<!-- LIMIT 1)-->
<!-- AND iscity = '低保'-->
AND iscity = '低保'
</select>
<select id="getAreaYearShjzAchieveStats" resultType="com.zq.portal.vo.StatsVo">
SELECT u.city_id 'code', u.city_name 'name', s.help_type 'type', (select SUM(total) FROM v_shjz_total) 'num'
FROM `v_shjz_total` s
LEFT JOIN unit_code u ON s.unit_id=u.county_id
WHERE unit_id != '45' AND DATE_FORMAT(createTime, '%Y-%m-%d') =
(SELECT DATE_FORMAT(createTime, '%Y-%m-%d') FROM v_shjz_total ORDER BY createTime DESC LIMIT 1)
ORDER BY u.city_id
<!-- SELECT unit_id 'code', get_upunitname 'name', iscity 'type', s_2017 + s_2018 + s_2019 + s_2020 + s_2021 'num'-->
<!-- FROM `v_shjz_achieve`-->
<!-- WHERE unit_id != '45' AND DATE_FORMAT(create_time, '%Y-%m-%d') =-->
<!-- (SELECT DATE_FORMAT(create_time, '%Y-%m-%d') FROM v_shjz_achieve ORDER BY create_time DESC LIMIT 1)-->
<!-- ORDER BY unit_id-->
SELECT unit_id 'code', get_upunitname 'name', iscity 'type', s_2017 + s_2018 + s_2019 + s_2020 + s_2021 'num'
FROM `v_shjz_achieve`
WHERE unit_id != '45' AND DATE_FORMAT(create_time, '%Y-%m-%d') =
(SELECT DATE_FORMAT(create_time, '%Y-%m-%d') FROM v_shjz_achieve ORDER BY create_time DESC LIMIT 1)
ORDER BY unit_id
</select>
<select id="getAreaNameList" resultType="java.lang.String">
......
......@@ -41,4 +41,141 @@
</if>
ORDER BY start_provide_date DESC
</select>
<select id="getEnjoyNum" resultType="com.zq.portal.vo.StatsVo">
SELECT DATE_FORMAT(h.PERMIT_DATE, "%Y-%m") 'date',
( CASE h.ISCITY
WHEN 0 THEN '农村低保'
WHEN 1 THEN '城市低保'
WHEN 6 THEN '特困供养'
WHEN 10 THEN '农村低收入'
WHEN 11 THEN '城市低收入'
WHEN 21 THEN '住房救助'
WHEN 31 THEN '城市特困'
ELSE '其他' END ) 'type',
SUM( h.SURE_POPULATION ) 'num'
FROM ENBUZ_APPLY_HOME h
WHERE h.VP_STATE = 4
<if test="subAreaCode != null and subAreaCode != ''">
AND h.UNIT_ID LIKE CONCAT(#{subAreaCode}, '%')
</if>
<choose>
<when test="year != null">
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) = #{year}
</when>
<otherwise>
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) = DATE_FORMAT(NOW(), "%Y" )
</otherwise>
</choose>
GROUP BY
DATE_FORMAT( h.PERMIT_DATE, "%Y-%m" ),
ISCITY
</select>
<select id="getTemporaryNumStats" resultType="com.zq.portal.vo.StatsVo">
SELECT
LEFT(h.UNIT_ID, 4) 'code',
SUM(h.SURE_POPULATION ) 'num'
FROM
tem_home_his h
WHERE
h.VP_STATE = 4
<if test="subAreaCode != null and subAreaCode != ''">
AND h.UNIT_ID LIKE CONCAT(#{subAreaCode}, '%')
</if>
<choose>
<when test="year != null">
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) = #{year}
</when>
<otherwise>
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) = DATE_FORMAT(NOW(), "%Y" )
</otherwise>
</choose>
</select>
<select id="getBorderNumStats" resultType="com.zq.portal.vo.StatsVo">
SELECT
LEFT(h.UNIT_ID, #{size}) 'code',
sum( h.SURE_POPULATION ) 'num'
FROM
border_region_home h
WHERE h.VP_STATE = 4
AND h.ISCITY = 8
<if test="subAreaCode != null and subAreaCode != ''">
AND h.UNIT_ID LIKE CONCAT(#{subAreaCode}, '%')
</if>
<choose>
<when test="year != null">
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) = #{year}
</when>
<otherwise>
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) = DATE_FORMAT(NOW(), "%Y" )
</otherwise>
</choose>
</select>
<select id="getAreaUnderNumStats" resultType="com.zq.portal.vo.StatsVo">
SELECT
LEFT(h.UNIT_ID, #{size}) 'code',
DATE_FORMAT( h.PERMIT_DATE, "%Y-%m" ) 'date',
( CASE h.ISCITY
WHEN 0 THEN '农村低保'
WHEN 1 THEN '城市低保'
WHEN 6 THEN '特困供养'
WHEN 10 THEN '农村低收入'
WHEN 11 THEN '城市低收入'
WHEN 21 THEN '住房救助'
WHEN 31 THEN '城市特困'
ELSE '其他' END ) 'type',
SUM( h.SURE_POPULATION ) 'num'
FROM
ENBUZ_APPLY_HOME h
WHERE h.VP_STATE = 4
AND LEFT(h.UNIT_ID, #{size}) IS NOT NULL
<if test="subAreaCode != null and subAreaCode != ''">
AND h.UNIT_ID LIKE CONCAT(#{subAreaCode}, '%')
</if>
<choose>
<when test="year != null">
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) = #{year}
</when>
<otherwise>
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) = DATE_FORMAT(NOW(), "%Y" )
</otherwise>
</choose>
GROUP BY
LEFT(h.UNIT_ID, #{size}),
DATE_FORMAT( h.PERMIT_DATE, "%Y-%m" ),
ISCITY
</select>
<select id="getFivesYearEnjoyStats" resultType="com.zq.portal.vo.StatsVo">
SELECT LEFT(date, 4) 'year', type, SUM(num) 'num' FROM ( SELECT DATE_FORMAT(h.PERMIT_DATE, "%Y-%m") 'date',
( CASE h.ISCITY
WHEN 0 THEN '农村低保'
WHEN 1 THEN '城市低保'
WHEN 6 THEN '特困供养'
WHEN 10 THEN '农村低收入'
WHEN 11 THEN '城市低收入'
WHEN 21 THEN '住房救助'
WHEN 31 THEN '城市特困'
ELSE '其他' END ) 'type',
SUM( h.SURE_POPULATION ) 'num'
FROM ENBUZ_APPLY_HOME h
WHERE h.VP_STATE = 4
AND h.ISCITY IN(0, 1)
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) > DATE_FORMAT(NOW(), "%Y" ) - 5
AND DATE_FORMAT( h.PERMIT_DATE, "%Y" ) &lt;= DATE_FORMAT(NOW(), "%Y" )
<if test="subAreaCode != null and subAreaCode != ''">
AND h.UNIT_ID LIKE CONCAT(#{subAreaCode}, '%')
</if>
GROUP BY
DATE_FORMAT( h.PERMIT_DATE, "%Y-%m" ),
ISCITY) t
WHERE type IN("城市低保","农村低保")
GROUP BY
LEFT(date, 4),
type
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment