Commit 7acb81bd by 袁伟铭

修改

parent cfb1416f
...@@ -20,6 +20,12 @@ public interface PortalFeign { ...@@ -20,6 +20,12 @@ public interface PortalFeign {
@PostMapping("/stats/getFivesYearMarriageLine") @PostMapping("/stats/getFivesYearMarriageLine")
ResultVo getFivesYearMarriageLine(@RequestBody Map<String, Object> paramsMap); ResultVo getFivesYearMarriageLine(@RequestBody Map<String, Object> paramsMap);
@PostMapping("/stats/getAreaDisabledIssueStats")
ResultVo getAreaDisabledIssueStats(@RequestBody Map<String, Object> paramsMap);
@PostMapping("/stats/getYearDisabledIssueStats")
ResultVo getYearDisabledIssueStats(@RequestBody Map<String, Object> paramsMap);
@GetMapping("/area/getChildAreaList") @GetMapping("/area/getChildAreaList")
ResultVo getChildAreaList(@RequestParam String areaCode); ResultVo getChildAreaList(@RequestParam String areaCode);
......
...@@ -70,12 +70,10 @@ public class ApiInterceptor extends HandlerInterceptorAdapter { ...@@ -70,12 +70,10 @@ public class ApiInterceptor extends HandlerInterceptorAdapter {
// 调试日志 // 调试日志
if (ApiUtils.DEBUG) { if (ApiUtils.DEBUG) {
log.info("API DEBUG INTERCEPTOR \n[path=" + uri + "/" + queryString + "]" // log.info("API DEBUG INTERCEPTOR \n[path=" + uri + "/" + queryString + "]" //
+ "[from:" + form.toString() + "]" // + "[from:" + form + "]" //
+ "\n[time=" + (System.currentTimeMillis() - start) + "ms]"); + "\n[time=" + (System.currentTimeMillis() - start) + "ms]");
} }
return true; return true;
} }
......
...@@ -69,6 +69,22 @@ public interface IApiLogic extends IApiCommon { ...@@ -69,6 +69,22 @@ public interface IApiLogic extends IApiCommon {
ApiResp getFivesYearMarriageLine(ApiForm form); ApiResp getFivesYearMarriageLine(ApiForm form);
/** /**
* 获取区域残疾发放统计
*
* @param form
* @return
*/
ApiResp getAreaDisabledIssueStats(ApiForm form);
/**
* 近五年发放人数和金额统计
*
* @param form
* @return
*/
ApiResp getYearDisabledIssueStats(ApiForm form);
/**
* 获取子区域列表 * 获取子区域列表
* *
* @param form * @param form
......
...@@ -53,6 +53,16 @@ public class ApiV100Logic extends BaseApiLogic implements IApiLogic { ...@@ -53,6 +53,16 @@ public class ApiV100Logic extends BaseApiLogic implements IApiLogic {
} }
@Override @Override
public ApiResp getAreaDisabledIssueStats(ApiForm form) {
return ApiUtils.toApiResp(form, portalFeign.getAreaDisabledIssueStats(form.getParamsMap()));
}
@Override
public ApiResp getYearDisabledIssueStats(ApiForm form) {
return ApiUtils.toApiResp(form, portalFeign.getYearDisabledIssueStats(form.getParamsMap()));
}
@Override
public ApiResp getChildAreaList(ApiForm form) { public ApiResp getChildAreaList(ApiForm form) {
return ApiUtils.toApiResp(form, portalFeign.getChildAreaList(form.get("areaCode"))); return ApiUtils.toApiResp(form, portalFeign.getChildAreaList(form.get("areaCode")));
} }
......
package com.zq.portal.controller.admin;
import com.zq.common.utils.AssertUtils;
import com.zq.common.vo.ResultVo;
import com.zq.portal.service.CjStatsService;
import com.zq.portal.vo.StatsReqVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "残疾统计相关接口")
@RequiredArgsConstructor
@RestController
@RequestMapping(value = "/portal/admin/stats")
public class CjStatsAdminController {
public final CjStatsService cjStatsService;
@ApiOperation("近五年发放人数和金额统计")
@PostMapping(value = "/getYearDisabledIssueStats")
public ResultVo getYearDisabledIssueStats(@RequestBody StatsReqVo vo) {
return ResultVo.success(cjStatsService.getCacheYearDisabledIssueStats(vo));
}
@ApiOperation("获取残疾等级统计")
@PostMapping(value = "/getDisabledLevelStats")
public ResultVo getDisabledLevelStats(@RequestBody StatsReqVo vo) {
AssertUtils.notNull(vo.getYear(), "年份不能为空");
return ResultVo.success(cjStatsService.getCacheDisabledLevelStats(vo));
}
@ApiOperation("获取区域残疾发放统计")
@PostMapping(value = "/getAreaDisabledIssueStats")
public ResultVo getAreaDisabledIssueStats(@RequestBody StatsReqVo vo) {
AssertUtils.notNull(vo.getYear(), "年份不能为空");
return ResultVo.success(cjStatsService.getCacheAreaDisabledIssueStats(vo));
}
}
package com.zq.portal.controller.app; package com.zq.portal.controller.app;
import com.zq.common.utils.AssertUtils;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.portal.service.CjStatsService; import com.zq.portal.service.CjStatsService;
import com.zq.portal.vo.StatsReqVo; import com.zq.portal.vo.StatsReqVo;
...@@ -20,15 +21,23 @@ public class CjStatsController { ...@@ -20,15 +21,23 @@ public class CjStatsController {
public final CjStatsService cjStatsService; public final CjStatsService cjStatsService;
@ApiOperation("近五年发放人数和金额统计") @ApiOperation("近五年发放人数和金额统计")
@PostMapping(value = "/getPeopleAmountStats") @PostMapping(value = "/getYearDisabledIssueStats")
public ResultVo getPeopleAmountStats(@RequestBody StatsReqVo vo) { public ResultVo getYearDisabledIssueStats(@RequestBody StatsReqVo vo) {
return ResultVo.success(cjStatsService.getCachePeopleAmountStats()); return ResultVo.success(cjStatsService.getCacheYearDisabledIssueStats(vo));
} }
@ApiOperation("获取残疾等级统计") @ApiOperation("获取残疾等级统计")
@PostMapping(value = "/getDisabledLevelStats") @PostMapping(value = "/getDisabledLevelStats")
public ResultVo getDisabledLevelStats(@RequestBody StatsReqVo vo) { public ResultVo getDisabledLevelStats(@RequestBody StatsReqVo vo) {
AssertUtils.notNull(vo.getYear(), "年份不能为空");
return ResultVo.success(cjStatsService.getCacheDisabledLevelStats(vo)); return ResultVo.success(cjStatsService.getCacheDisabledLevelStats(vo));
} }
@ApiOperation("获取区域残疾发放统计")
@PostMapping(value = "/getAreaDisabledIssueStats")
public ResultVo getAreaDisabledIssueStats(@RequestBody StatsReqVo vo) {
AssertUtils.notNull(vo.getYear(), "年份不能为空");
return ResultVo.success(cjStatsService.getCacheAreaDisabledIssueStats(vo));
}
} }
...@@ -13,6 +13,13 @@ import java.util.List; ...@@ -13,6 +13,13 @@ import java.util.List;
public interface CjStatsDao { public interface CjStatsDao {
/** /**
* 获取近五年年份
*
* @return
*/
List<String> getYearList();
/**
* 统计进5年发放人数和金额 * 统计进5年发放人数和金额
* *
* @return * @return
...@@ -24,4 +31,30 @@ public interface CjStatsDao { ...@@ -24,4 +31,30 @@ public interface CjStatsDao {
*/ */
List<StatsVo> getDisabledLevelStats(StatsReqVo vo); List<StatsVo> getDisabledLevelStats(StatsReqVo vo);
/**
* 获取近五年重度残疾人数
*/
List<StatsVo> getYearSevereDisabledStats(StatsReqVo vo);
/**
* 获取区域下的残疾人统计
*
* @param vo
* @return
*/
StatsVo getSeverePeopleNumStats(StatsReqVo vo);
/**
* 获取区域发放统计
*
* @return
*/
List<StatsVo> getAreaIssueStats(StatsReqVo vo);
/**
* 获取年份发放统计
*
* @return
*/
List<StatsVo> getYearIssueStats(StatsReqVo vo);
} }
...@@ -61,13 +61,18 @@ public abstract class PortalCacheKeys { ...@@ -61,13 +61,18 @@ public abstract class PortalCacheKeys {
return PREFIX + "getAgencyUnderChildStatsList." + vo.getAreaCode() + "." + vo.getYear(); return PREFIX + "getAgencyUnderChildStatsList." + vo.getAreaCode() + "." + vo.getYear();
} }
// 统计进5年发放人数和金额
public static String getPeopleAmountStatsKey() {
return PREFIX + "getPeopleAmountStats.";
}
// 残疾等级统计 // 残疾等级统计
public static String getDisabledLevelStatsKey(StatsReqVo vo) { public static String getDisabledLevelStatsKey(StatsReqVo vo) {
return PREFIX + "getCacheDisabledLevelStats." + vo.getAreaCode() + "." + vo.getYear(); return PREFIX + "getDisabledLevelStats." + vo.getAreaCode() + "." + vo.getYear();
}
// 统计年发放人数和金额
public static String getYearDisabledIssueStatsKey(StatsReqVo vo) {
return PREFIX + "getYearDisabledIssueStats." + vo.getAreaCode();
}
// 获取区域残疾统计
public static String getAreaDisabledIssueStatsKey(StatsReqVo vo) {
return PREFIX + "getAreaDisabledIssueStats." + vo.getAreaCode() + "." + vo.getYear();
} }
} }
package com.zq.portal.service; package com.zq.portal.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.zq.common.config.redis.RedisUtils; import com.zq.common.config.redis.RedisUtils;
import com.zq.common.entity.SystemArea; import com.zq.common.entity.SystemArea;
...@@ -11,6 +12,7 @@ import com.zq.portal.vo.StatsVo; ...@@ -11,6 +12,7 @@ import com.zq.portal.vo.StatsVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
@Service @Service
...@@ -22,84 +24,212 @@ public class CjStatsService { ...@@ -22,84 +24,212 @@ public class CjStatsService {
private final RedisUtils redisUtils; private final RedisUtils redisUtils;
/** /**
* 统计进5年发放人数和金额 * 残疾等级统计
*
* @param vo
* @return
*/
public Object getCacheDisabledLevelStats(StatsReqVo vo) {
Object obj = redisUtils.getObj(PortalCacheKeys.getDisabledLevelStatsKey(vo));
if (obj != null) {
return obj;
}
return getDisabledLevelStats(vo);
}
/**
* 残疾等级统计
*
* @param vo
* @return
*/
public Object getDisabledLevelStats(StatsReqVo vo) {
if (StrUtil.isBlank(vo.getAreaCode())) {
vo.setAreaCode("450000000000");
}
SystemArea systemArea = areaDao.selectById(vo.getAreaCode());
vo.setSubAreaCode(systemArea.subAreaCode());
List<Map<String, Object>> returnData = new ArrayList<>();
List<StatsVo> disabledLevelStats = cjStatsDao.getDisabledLevelStats(vo);
for (StatsVo disabledLevelStat : disabledLevelStats) {
Map<String, Object> data = new HashMap<>();
data.put("level", disabledLevelStat.getType() + "级残疾");
data.put("num", "总数" + disabledLevelStat.getNum());
returnData.add(data);
}
redisUtils.setObj(PortalCacheKeys.getDisabledLevelStatsKey(vo), returnData);
return returnData;
}
/**
* 近五年发放人数和金额统计
* *
* @return * @return
*/ */
public Object getCachePeopleAmountStats() { public Object getCacheYearDisabledIssueStats(StatsReqVo vo) {
Object obj = redisUtils.getObj(PortalCacheKeys.getPeopleAmountStatsKey()); Object obj = redisUtils.getObj(PortalCacheKeys.getYearDisabledIssueStatsKey(vo));
if (obj != null) { if (obj != null) {
return obj; return obj;
} }
return getPeopleAmountStats(); return getYearDisabledIssueStats(vo);
} }
/** /**
* 统计进5年发放人数和金额 * 近五年发放人数和金额统计
* *
* @return * @return
*/ */
public Object getPeopleAmountStats() { public Object getYearDisabledIssueStats(StatsReqVo vo) {
List<StatsVo> peopleAmountStats = cjStatsDao.getPeopleAmountStats(); SystemArea systemArea = areaDao.selectById(vo.getAreaCode());
peopleAmountStats.sort(Comparator.comparing(StatsVo::getYear)); vo.setSubAreaCode(systemArea.subAreaCode());
List<String> dateList = new ArrayList<>(); List<String> dateList = cjStatsDao.getYearList();
List<String> numList = new ArrayList<>(); Collections.sort(dateList);
List<String> amountList = new ArrayList<>(); List<String> severeNumList = new ArrayList<>();
List<String> severeAmountList = new ArrayList<>();
for (StatsVo peopleAmountStat : peopleAmountStats) {
dateList.add(peopleAmountStat.getYear()); vo.setDate(DateUtil.today());
numList.add(String.valueOf(peopleAmountStat.getNum())); vo.setSize(dateList.size());
amountList.add(peopleAmountStat.getAmount());
vo.setType("1");// 1 重度残疾
getYearStatsData(vo, severeNumList, severeAmountList);
List<String> difficultNumList = new ArrayList<>();
List<String> difficultAmountList = new ArrayList<>();
vo.setType("2");// 2 困难残疾
getYearStatsData(vo, difficultNumList, difficultAmountList);
List<String> severePeopleNumList = new ArrayList<>();
List<StatsVo> yearSevereDisabledStats = cjStatsDao.getYearSevereDisabledStats(vo);
Collections.reverse(yearSevereDisabledStats);
for (StatsVo yearSevereDisabledStat : yearSevereDisabledStats) {
severePeopleNumList.add(String.valueOf(yearSevereDisabledStat.getNum()));
} }
Map<String, Object> adminData = new HashMap<>();
adminData.put("dateList", dateList);
adminData.put("severeNumList", severeNumList);
adminData.put("severeAmountList", severeAmountList);
adminData.put("difficultNumList", difficultNumList);
adminData.put("difficultAmountList", difficultAmountList);
//App数据
Map<String, Object> appData = new HashMap<>();
appData.put("categories", dateList);
Map<String, Object> data1 = new HashMap<>();
data1.put("name", "重度残疾人");
data1.put("data", severePeopleNumList);
Map<String, Object> data2 = new HashMap<>();
data2.put("name", "补贴发放人数");
data2.put("data", severeNumList);
List<Map<String, Object>> seriesList = new ArrayList<>();
seriesList.add(data1);
seriesList.add(data2);
appData.put("series", seriesList);
Map<String, Object> returnData = new HashMap<>(); Map<String, Object> returnData = new HashMap<>();
returnData.put("dateList", dateList); returnData.put("admin", adminData);
returnData.put("numList", numList); returnData.put("app", appData);
returnData.put("amountList", amountList);
redisUtils.setObj(PortalCacheKeys.getPeopleAmountStatsKey(), returnData); redisUtils.setObj(PortalCacheKeys.getYearDisabledIssueStatsKey(vo), returnData);
return returnData; return returnData;
} }
/** /**
* 残疾等级统计 * 获取年统计数据
*
* @param vo
* @param numList
* @param amountList
*/
private void getYearStatsData(StatsReqVo vo, List<String> numList, List<String> amountList) {
List<StatsVo> issueStatsList = cjStatsDao.getYearIssueStats(vo);
issueStatsList.sort(Comparator.comparing(StatsVo::getYear));
for (StatsVo difficultStats : issueStatsList) {
numList.add(String.valueOf(difficultStats.getNum()));
amountList.add(difficultStats.getAmount());
}
}
/**
* 获取区域残疾统计
* *
* @param vo * @param vo
* @return * @return
*/ */
public Object getCacheDisabledLevelStats(StatsReqVo vo) { public Object getCacheAreaDisabledIssueStats(StatsReqVo vo) {
Object obj = redisUtils.getObj(PortalCacheKeys.getDisabledLevelStatsKey(vo)); Object obj = redisUtils.getObj(PortalCacheKeys.getAreaDisabledIssueStatsKey(vo));
if (obj != null) { if (obj != null) {
return obj; return obj;
} }
return getDisabledLevelStats(vo); return getAreaDisabledIssueStats(vo);
} }
/** /**
* 残疾等级统计 * 获取区域残疾统计
* *
* @param vo * @param vo
* @return * @return
*/ */
public Object getDisabledLevelStats(StatsReqVo vo) { public Object getAreaDisabledIssueStats(StatsReqVo vo) {
if (StrUtil.isBlank(vo.getAreaCode())) {
vo.setAreaCode("450000000000");
}
SystemArea systemArea = areaDao.selectById(vo.getAreaCode()); SystemArea systemArea = areaDao.selectById(vo.getAreaCode());
vo.setSubAreaCode(systemArea.subAreaCode()); vo.setSubAreaCode(systemArea.subAreaCode());
vo.setDate(DateUtil.today());
List<Map<String, Object>> returnData = new ArrayList<>();
List<StatsVo> disabledLevelStats = cjStatsDao.getDisabledLevelStats(vo); List<String> areaList = new ArrayList<>();
for (StatsVo disabledLevelStat : disabledLevelStats) { List<String> severeIssueNumList = new ArrayList<>();
List<String> severeIssueAmountList = new ArrayList<>();
List<String> difficultIssueNumList = new ArrayList<>();
List<String> difficultIssueAmountList = new ArrayList<>();
// 区域列表
List<Map<String, Object>> areaPeopleNumList = new ArrayList<>();
vo.setType("1"); // 重度
List<StatsVo> severeAreaIssueStats = cjStatsDao.getAreaIssueStats(vo);
for (StatsVo severeAreaIssueStat : severeAreaIssueStats) {
areaList.add(severeAreaIssueStat.getName());
severeIssueNumList.add(String.valueOf(severeAreaIssueStat.getNum()));
severeIssueAmountList.add(severeAreaIssueStat.getAmount());
vo.setSubAreaCode(severeAreaIssueStat.getCode());
Map<String, Object> data = new HashMap<>(); Map<String, Object> data = new HashMap<>();
data.put("level", disabledLevelStat.getType() + "级残疾"); data.put("areaName", severeAreaIssueStat.getName());
data.put("num", "总数" + disabledLevelStat.getNum()); data.put("severePeopleNum", cjStatsDao.getSeverePeopleNumStats(vo).getNum());
returnData.add(data); data.put("issueNum", severeAreaIssueStat.getNum());
data.put("issueAmount", severeAreaIssueStat.getAmount());
areaPeopleNumList.add(data);
} }
redisUtils.setObj(PortalCacheKeys.getDisabledLevelStatsKey(vo), returnData); vo.setSubAreaCode(systemArea.subAreaCode());
vo.setType("2"); // 困难
List<StatsVo> difficultAreaIssueStats = cjStatsDao.getAreaIssueStats(vo);
for (int i = 0; i < difficultAreaIssueStats.size(); i++) {
difficultIssueNumList.add(String.valueOf(difficultAreaIssueStats.get(i).getNum()));
difficultIssueAmountList.add(difficultAreaIssueStats.get(i).getAmount());
// 拿上面的数据下来累加
Map<String, Object> data = areaPeopleNumList.get(i);
BigDecimal issueNum = new BigDecimal(data.get("issueNum").toString()).add(BigDecimal.valueOf(difficultAreaIssueStats.get(i).getNum()));
BigDecimal issueAmount = new BigDecimal(data.get("issueAmount").toString()).add(new BigDecimal(difficultAreaIssueStats.get(i).getAmount()));
data.put("issueNum", issueNum);
data.put("issueAmount", issueAmount);
}
Map<String, Object> returnData = new HashMap<>();
returnData.put("areaList", areaList);
returnData.put("severeIssueNumList", severeIssueNumList);
returnData.put("severeIssueAmountList", severeIssueAmountList);
returnData.put("difficultIssueNumList", difficultIssueNumList);
returnData.put("difficultIssueAmountList", difficultIssueAmountList);
returnData.put("areaPeopleNumList", areaPeopleNumList);
redisUtils.setObj(PortalCacheKeys.getAreaDisabledIssueStatsKey(vo), returnData);
return returnData; return returnData;
} }
......
...@@ -70,6 +70,9 @@ public class EtStatsService { ...@@ -70,6 +70,9 @@ public class EtStatsService {
VChildWelfareStats childWelfareStats = vChildWelfareStatsDao.selectOne(Wrappers.lambdaQuery(VChildWelfareStats.builder().year(vo.getYear() == null ? 0 : vo.getYear()).areaCode(systemArea.getCode()).createTime(DateUtil.parseDate(DateUtil.today())).build())); VChildWelfareStats childWelfareStats = vChildWelfareStatsDao.selectOne(Wrappers.lambdaQuery(VChildWelfareStats.builder().year(vo.getYear() == null ? 0 : vo.getYear()).areaCode(systemArea.getCode()).createTime(DateUtil.parseDate(DateUtil.today())).build()));
if (childWelfareStats == null) { if (childWelfareStats == null) {
vChildWelfareStatsDao.insert(build); vChildWelfareStatsDao.insert(build);
} else {
build.setId(childWelfareStats.getId());
vChildWelfareStatsDao.updateById(build);
} }
return build; return build;
......
...@@ -103,6 +103,9 @@ public class HyStatsService { ...@@ -103,6 +103,9 @@ public class HyStatsService {
VMarriageStats marriageStats = vMarriageStatsDao.selectOne(Wrappers.lambdaQuery(VMarriageStats.builder().year(vo.getYear() == null ? 0 : vo.getYear()).areaCode(area.getCode()).createTime(DateUtil.parseDate(DateUtil.today())).build())); VMarriageStats marriageStats = vMarriageStatsDao.selectOne(Wrappers.lambdaQuery(VMarriageStats.builder().year(vo.getYear() == null ? 0 : vo.getYear()).areaCode(area.getCode()).createTime(DateUtil.parseDate(DateUtil.today())).build()));
if (marriageStats == null) { if (marriageStats == null) {
vMarriageStatsDao.insert(build); vMarriageStatsDao.insert(build);
} else {
build.setId(marriageStats.getId());
vMarriageStatsDao.updateById(build);
} }
return build; return build;
......
...@@ -83,6 +83,9 @@ public class ShzzStatsService { ...@@ -83,6 +83,9 @@ public class ShzzStatsService {
VSoorganStats soorganStats = vSoorganStatsDao.selectOne(Wrappers.lambdaQuery(VSoorganStats.builder().year(vo.getYear() == null ? 0 : vo.getYear()).areaCode(systemArea.getCode()).createTime(DateUtil.parseDate(DateUtil.today())).build())); VSoorganStats soorganStats = vSoorganStatsDao.selectOne(Wrappers.lambdaQuery(VSoorganStats.builder().year(vo.getYear() == null ? 0 : vo.getYear()).areaCode(systemArea.getCode()).createTime(DateUtil.parseDate(DateUtil.today())).build()));
if (soorganStats == null) { if (soorganStats == null) {
vSoorganStatsDao.insert(build); vSoorganStatsDao.insert(build);
} else {
build.setId(soorganStats.getId());
vSoorganStatsDao.updateById(build);
} }
return build; return build;
......
...@@ -3,10 +3,7 @@ package com.zq.portal.task; ...@@ -3,10 +3,7 @@ package com.zq.portal.task;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zq.common.entity.SystemArea; import com.zq.common.entity.SystemArea;
import com.zq.portal.dao.AreaDao; import com.zq.portal.dao.AreaDao;
import com.zq.portal.service.EtStatsService; import com.zq.portal.service.*;
import com.zq.portal.service.HyStatsService;
import com.zq.portal.service.PeopleService;
import com.zq.portal.service.ShzzStatsService;
import com.zq.portal.vo.StatsReqVo; import com.zq.portal.vo.StatsReqVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
...@@ -24,6 +21,7 @@ public class StatsTimingTask { ...@@ -24,6 +21,7 @@ public class StatsTimingTask {
private final HyStatsService hyStatsService; private final HyStatsService hyStatsService;
private final EtStatsService etStatsService; private final EtStatsService etStatsService;
private final ShzzStatsService shzzStatsService; private final ShzzStatsService shzzStatsService;
private final CjStatsService cjStatsService;
private final AreaDao areaDao; private final AreaDao areaDao;
...@@ -70,5 +68,12 @@ public class StatsTimingTask { ...@@ -70,5 +68,12 @@ public class StatsTimingTask {
shzzStatsService.getSoorganPercentageStats(StatsReqVo.builder().areaCode("450000000000").build()); shzzStatsService.getSoorganPercentageStats(StatsReqVo.builder().areaCode("450000000000").build());
} }
@Scheduled(cron = "0 0/10 * * * ?")
public void cjStats() {
System.out.println("残疾-基本数统计 触发时间 :" + new Date());
cjStatsService.getDisabledLevelStats(StatsReqVo.builder().areaCode("450000000000").year(2021).build());
}
} }
...@@ -11,7 +11,7 @@ import lombok.NoArgsConstructor; ...@@ -11,7 +11,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
public class StatsReqVo { public class StatsReqVo {
private String areaCode; private String areaCode = "450000000000";
private String subAreaCode; private String subAreaCode;
...@@ -19,10 +19,14 @@ public class StatsReqVo { ...@@ -19,10 +19,14 @@ public class StatsReqVo {
private Integer month; private Integer month;
private String date;
private String startTime; private String startTime;
private String endTime; private String endTime;
private String type; private String type;
private Integer size;
} }
...@@ -17,4 +17,6 @@ public class StatsVo { ...@@ -17,4 +17,6 @@ public class StatsVo {
private String amount; private String amount;
private String code;
} }
...@@ -16,6 +16,9 @@ ...@@ -16,6 +16,9 @@
SELECT ENSURE_LEVEL_ID 'type', COUNT( 1 ) 'num' SELECT ENSURE_LEVEL_ID 'type', COUNT( 1 ) 'num'
FROM `cjrjz_proposer` FROM `cjrjz_proposer`
WHERE ENSURE_LEVEL_ID IS NOT NULL WHERE ENSURE_LEVEL_ID IS NOT NULL
<if test="type != null">
AND ENSURE_LEVEL_ID = #{type}
</if>
<if test="subAreaCode != null and subAreaCode != ''"> <if test="subAreaCode != null and subAreaCode != ''">
AND CARD_CODE LIKE CONCAT(#{subAreaCode}, '%') AND CARD_CODE LIKE CONCAT(#{subAreaCode}, '%')
</if> </if>
...@@ -25,4 +28,81 @@ ...@@ -25,4 +28,81 @@
GROUP BY ENSURE_LEVEL_ID GROUP BY ENSURE_LEVEL_ID
</select> </select>
<!--获取近年重度残疾人数-->
<select id="getYearSevereDisabledStats" resultType="com.zq.portal.vo.StatsVo">
SELECT
LEFT ( CREATE_DATE, 4 ) 'year',
COUNT( 1 ) 'num'
FROM
`cjrjz_proposer`
WHERE
ENSURE_LEVEL_ID IS NOT NULL
AND ENSURE_LEVEL_ID IN (1,2)
<if test="subAreaCode != null and subAreaCode != ''">
AND CARD_CODE LIKE CONCAT(#{subAreaCode}, '%')
</if>
<if test="year != null">
AND LEFT(CREATE_DATE, 4) = #{year}
</if>
GROUP BY LEFT ( CREATE_DATE, 4 )
ORDER BY LEFT ( CREATE_DATE, 4 ) DESC
LIMIT #{size}
</select>
<select id="getSeverePeopleNumStats" resultType="com.zq.portal.vo.StatsVo">
SELECT
COUNT( 1 ) 'num'
FROM
`cjrjz_proposer`
WHERE
ENSURE_LEVEL_ID IS NOT NULL
AND ENSURE_LEVEL_ID IN (1,2)
<if test="subAreaCode != null and subAreaCode != ''">
AND CARD_CODE LIKE CONCAT(#{subAreaCode}, '%')
</if>
<if test="year != null">
AND LEFT(CREATE_DATE, 4) = #{year}
</if>
</select>
<select id="getAreaIssueStats" resultType="com.zq.portal.vo.StatsVo">
SELECT UNIT_ID 'code',UNIT_NAME 'name', APPLY_TYPE_ID 'type', GRANT_YEAR 'year', COUNT_PEOPLE 'num', SUM_MONEY 'amount'
FROM `statics_grant`
WHERE 1=1
<if test="date != null and date != ''">
AND DATE_FORMAT(create_time, '%Y-%m-%d') = #{date}
</if>
<if test="year != null">
AND GRANT_YEAR = #{year}
</if>
<if test="type != null">
AND APPLY_TYPE_ID = #{type}
</if>
ORDER BY UNIT_ID
</select>
<select id="getYearIssueStats" resultType="com.zq.portal.vo.StatsVo">
SELECT APPLY_TYPE_ID 'type', GRANT_YEAR 'year', SUM( COUNT_PEOPLE ) 'num', SUM( SUM_MONEY ) 'amount'
FROM `statics_grant`
WHERE 1 = 1
<if test="subAreaCode != null and subAreaCode != ''">
AND UNIT_ID LIKE CONCAT( #{subAreaCode}, '%' )
</if>
<if test="date != null and date != ''">
AND DATE_FORMAT(create_time, '%Y-%m-%d') = #{date}
</if>
<if test="type != null">
AND APPLY_TYPE_ID = #{type}
</if>
GROUP BY GRANT_YEAR
ORDER BY GRANT_YEAR DESC LIMIT #{size}
</select>
<select id="getYearList" resultType="java.lang.String">
SELECT GRANT_YEAR 'year'
FROM `statics_grant`
GROUP BY GRANT_YEAR
ORDER BY GRANT_YEAR DESC LIMIT 5
</select>
</mapper> </mapper>
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
AND o.AXAA0001 LIKE CONCAT(#{subAreaCode}, '%') AND o.AXAA0001 LIKE CONCAT(#{subAreaCode}, '%')
</if> </if>
<if test="year != null"> <if test="year != null">
AND DATE_FORMAT(c.AJAX0107, "%Y") = #{year} AND DATE_FORMAT(o.AJEE0109, "%Y") = #{year}
</if> </if>
</select> </select>
...@@ -58,7 +58,6 @@ ...@@ -58,7 +58,6 @@
jep08 j1 jep08 j1
LEFT JOIN jep01 j2 ON j1.AJEP0100 = j2.AJEP0100 LEFT JOIN jep01 j2 ON j1.AJEP0100 = j2.AJEP0100
WHERE 1=1 WHERE 1=1
j2.AXAA0001 LIKE CONCAT(#{subAreaCode},'%')
<if test="subAreaCode !=null and subAreaCode != ''"> <if test="subAreaCode !=null and subAreaCode != ''">
AND j2.AXAA0001 LIKE CONCAT(#{subAreaCode}, '%') AND j2.AXAA0001 LIKE CONCAT(#{subAreaCode}, '%')
</if> </if>
......
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