Browse Source

特殊人群功能初次提交

feature/syp_points
songyunpeng 5 years ago
parent
commit
f892f09a53
  1. 94
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiScreenSpecialUserController.java
  2. 138
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java
  3. 31
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java
  4. 47
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java
  5. 31
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java
  6. 147
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/SpecialUserDTO.java
  7. 29
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/SpecialUserDisabilityTypeFormDTO.java
  8. 71
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/SpecialUserFormDTO.java
  9. 29
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/SpecialUserMonthlySubsidyFormDTO.java
  10. 26
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSpecialUserErrorResultDTO.java
  11. 50
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/SpecialPopulationDistributionResultDTO.java
  12. 26
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/SpecialUserDisabilityTypeResultDTO.java
  13. 32
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/SpecialUserMonthlySubsidyResultDTO.java
  14. 98
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/SpecialUserResultDTO.java
  15. 89
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/controller/EpdcScreenSpecialUserController.java
  16. 135
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/controller/SpecialUserController.java
  17. 97
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/dao/SpecialUserDao.java
  18. 116
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/entity/SpecialUserEntity.java
  19. 78
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/excel/SpecialUserExcel.java
  20. 152
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/service/SpecialUserService.java
  21. 222
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/service/impl/SpecialUserServiceImpl.java
  22. BIN
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/excel/民政享受政策人员表 - 样表.xlsx
  23. 166
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/SpecialUserDao.xml

94
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiScreenSpecialUserController.java

@ -0,0 +1,94 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.annotation.ReportData;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.form.SpecialUserDisabilityTypeFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserMonthlySubsidyFormDTO;
import com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserResultDTO;
import com.elink.esua.epdc.service.CustomService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 特殊人群分析
*
* @author songyunpeng
* @email yujintao@elink-cn.com
* @date 2019/9/6 19:30
*/
@RestController
@RequestMapping("screenSpecialUser")
public class ApiScreenSpecialUserController {
@Autowired
private CustomService customService;
/**
* @Description 特殊人群分析-人群分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO>
**/
@ReportData
@PostMapping("selectMonthlySubsidy")
public Result<SpecialPopulationDistributionResultDTO> selectPopulationDistribution(){
return customService.selectPopulationDistribution();
}
/**
* @Description 特殊人群分析-查人接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>>
**/
@ReportData
@PostMapping("selectMonthlySubsidy")
public Result<PageData<SpecialUserResultDTO>> selectPageSpecialUser(@RequestBody SpecialUserFormDTO dto){
return customService.selectPageSpecialUser(dto);
}
/**
* @Description 特殊人群分析-详情接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [suId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>
**/
@ReportData
@PostMapping("selectSpecialUserDetail/{suId}")
public Result<SpecialUserResultDTO> selectSpecialUserDetail(@PathVariable String suId){
return customService.selectSpecialUserDetail(suId);
}
/**
* @Description 特殊人群分析-残疾类别分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
**/
@ReportData
@PostMapping("selectDisabilityType")
public Result<PageData<SpecialUserDisabilityTypeResultDTO>> selectDisabilityType(@RequestBody SpecialUserDisabilityTypeFormDTO dto){
return customService.selectDisabilityType(dto);
}
/**
* @Description 特殊人群分析-月度补贴情况接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
**/
@ReportData
@PostMapping("selectMonthlySubsidy")
public Result<PageData<SpecialUserMonthlySubsidyResultDTO>> selectMonthlySubsidy(@RequestBody SpecialUserMonthlySubsidyFormDTO dto){
return customService.selectMonthlySubsidy(dto);
}
}

138
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java

@ -1,11 +1,9 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.form.ArchiveDeptFormDTO;
import com.elink.esua.epdc.dto.form.ArchiveFormDTO;
import com.elink.esua.epdc.dto.form.EpdcDeptInfoFormDTO;
import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.*;
import com.elink.esua.epdc.feign.fallback.CustomFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
@ -13,6 +11,7 @@ import org.springframework.http.MediaType;
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.RequestBody;
import java.util.List;
@ -23,49 +22,49 @@ import java.util.List;
*/
@FeignClient(name = ServiceConstant.EPDC_CUSTOM_SERVER, fallback = CustomFeignClientFallback.class)
public interface CustomFeignClient {
/**
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 疫情上报
* @Date 2020/1/28 13:27
**/
@PostMapping(value = "custom/epidemic/report", consumes = MediaType.APPLICATION_JSON_VALUE)
Result report(EpiDemicReportFormDTO formDTO);
/**
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 疫情上报
* @Date 2020/1/28 13:27
**/
@PostMapping(value = "custom/epidemic/report", consumes = MediaType.APPLICATION_JSON_VALUE)
Result report(EpiDemicReportFormDTO formDTO);
/*
* 移动端获取 了解锦水-模块管理接口
*
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.EpdcModuleResultDTO>>
* @Author zhangyong
* @Date 10:42 2020-05-20
**/
@Deprecated
@GetMapping(value = "custom/epdc-app/module/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcModuleResultDTO>> selectListModule();
/*
* 移动端获取 了解锦水-模块管理接口
*
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.EpdcModuleResultDTO>>
* @Author zhangyong
* @Date 10:42 2020-05-20
**/
@Deprecated
@GetMapping(value = "custom/epdc-app/module/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcModuleResultDTO>> selectListModule();
/**
*
* 根据模块分类获取模块
*
* @params [moduleCategory]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.EpdcModuleResultDTO>>
* @author liuchuang
* @since 2020/7/15 17:43
*/
@GetMapping("custom/epdc-app/module/list/{moduleCategory}")
Result<List<EpdcModuleResultDTO>> listOfModuleByModuleCategory(@PathVariable("moduleCategory") String moduleCategory);
/**
* 根据模块分类获取模块
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.result.EpdcModuleResultDTO>>
* @params [moduleCategory]
* @author liuchuang
* @since 2020/7/15 17:43
*/
@GetMapping("custom/epdc-app/module/list/{moduleCategory}")
Result<List<EpdcModuleResultDTO>> listOfModuleByModuleCategory(@PathVariable("moduleCategory") String moduleCategory);
/**
* 移动端获取 了解锦水-硬核管理接口
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.EpdcDeptInfoResultDTO>>
* @Author zhangyong
* @Date 13:41 2020-05-20
**/
@GetMapping(value = "custom/epdc-app/deptinfo/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcDeptInfoResultDTO>> selectListDeptInfo(EpdcDeptInfoFormDTO formDTO);
/**
* 移动端获取 了解锦水-硬核管理接口
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.result.EpdcDeptInfoResultDTO>>
* @Author zhangyong
* @Date 13:41 2020-05-20
**/
@GetMapping(value = "custom/epdc-app/deptinfo/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcDeptInfoResultDTO>> selectListDeptInfo(EpdcDeptInfoFormDTO formDTO);
@GetMapping(value = "custom/archive/depts", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<ArchiveDeptResultDTO>> listArchiveDeptInfo(ArchiveDeptFormDTO formDTO);
@ -75,4 +74,55 @@ public interface CustomFeignClient {
@GetMapping(value = "custom/archive/detail/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<ArchiveDetailResultDTO> getArchiveDetail(@PathVariable("id") String id);
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO>
* @Description 特殊人群分析-人群分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param []
**/
@PostMapping(value = "custom/screenSpecialUser/selectMonthlySubsidy", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<SpecialPopulationDistributionResultDTO> selectPopulationDistribution();
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.result.SpecialUserResultDTO>>
* @Description 特殊人群分析-查人接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserFormDTO]
**/
@PostMapping(value = "custom/screenSpecialUser/selectMonthlySubsidy", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<PageData<SpecialUserResultDTO>> selectPageSpecialUser(@RequestBody SpecialUserFormDTO dto);
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>
* @Description 特殊人群分析-详情接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [suId]
**/
@PostMapping(value = "custom/screenSpecialUser/selectSpecialUserDetail/{suId}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<SpecialUserResultDTO> selectSpecialUserDetail(@PathVariable String suId);
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
* @Description 特殊人群分析-残疾类别分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
**/
@PostMapping(value = "custom/screenSpecialUser/selectDisabilityType", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<PageData<SpecialUserDisabilityTypeResultDTO>> selectDisabilityType(@RequestBody SpecialUserDisabilityTypeFormDTO dto);
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
* @Description 特殊人群分析-月度补贴情况接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
**/
@PostMapping(value = "custom/screenSpecialUser/selectMonthlySubsidy", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<PageData<SpecialUserMonthlySubsidyResultDTO>> selectMonthlySubsidy(@RequestBody SpecialUserMonthlySubsidyFormDTO dto);
}

31
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java

@ -1,12 +1,10 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.form.ArchiveDeptFormDTO;
import com.elink.esua.epdc.dto.form.ArchiveFormDTO;
import com.elink.esua.epdc.dto.form.EpdcDeptInfoFormDTO;
import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.*;
import com.elink.esua.epdc.feign.CustomFeignClient;
import org.springframework.stereotype.Component;
@ -55,4 +53,29 @@ public class CustomFeignClientFallback implements CustomFeignClient {
public Result<ArchiveDetailResultDTO> getArchiveDetail(String id) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "getArchiveDetail", id);
}
@Override
public Result<SpecialPopulationDistributionResultDTO> selectPopulationDistribution() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "selectPopulationDistribution");
}
@Override
public Result<PageData<SpecialUserResultDTO>> selectPageSpecialUser(SpecialUserFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "selectPageSpecialUser", dto);
}
@Override
public Result<SpecialUserResultDTO> selectSpecialUserDetail(String suId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "selectSpecialUserDetail", suId);
}
@Override
public Result<PageData<SpecialUserDisabilityTypeResultDTO>> selectDisabilityType(SpecialUserDisabilityTypeFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "selectDisabilityType", dto);
}
@Override
public Result<PageData<SpecialUserMonthlySubsidyResultDTO>> selectMonthlySubsidy(SpecialUserMonthlySubsidyFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "selectMonthlySubsidy", dto);
}
}

47
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java

@ -1,11 +1,9 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.DeptOption;
import com.elink.esua.epdc.dto.form.ArchiveDeptFormDTO;
import com.elink.esua.epdc.dto.form.ArchiveFormDTO;
import com.elink.esua.epdc.dto.form.EpdcDeptInfoFormDTO;
import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.*;
import java.util.List;
@ -90,4 +88,45 @@ public interface CustomService {
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.ArchiveDetailResultDTO>
**/
Result<ArchiveDetailResultDTO> getArchiveDetail(String id);
/**
* @Description 特殊人群分析-人群分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO>
**/
Result<SpecialPopulationDistributionResultDTO> selectPopulationDistribution();
/**
* @Description 特殊人群分析-查人接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>>
* @param specialUserFormDTO*/
Result<PageData<SpecialUserResultDTO>> selectPageSpecialUser(SpecialUserFormDTO specialUserFormDTO);
/**
* @Description 特殊人群分析-详情接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [suId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>
**/
Result<SpecialUserResultDTO> selectSpecialUserDetail(String suId);
/**
* @Description 特殊人群分析-残疾类别分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
**/
Result<PageData<SpecialUserDisabilityTypeResultDTO>> selectDisabilityType(SpecialUserDisabilityTypeFormDTO specialUserDisabilityTypeFormDTO);
/**
* @Description 特殊人群分析-月度补贴情况接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO>>
**/
Result<PageData<SpecialUserMonthlySubsidyResultDTO>> selectMonthlySubsidy(SpecialUserMonthlySubsidyFormDTO dto);
}

31
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java

@ -1,13 +1,11 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.DeptOption;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.form.ArchiveDeptFormDTO;
import com.elink.esua.epdc.dto.form.ArchiveFormDTO;
import com.elink.esua.epdc.dto.form.EpdcDeptInfoFormDTO;
import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.*;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.CustomFeignClient;
@ -113,4 +111,29 @@ public class CustomServiceImpl implements CustomService {
public Result<ArchiveDetailResultDTO> getArchiveDetail(String id) {
return customFeignClient.getArchiveDetail(id);
}
@Override
public Result<SpecialPopulationDistributionResultDTO> selectPopulationDistribution() {
return customFeignClient.selectPopulationDistribution();
}
@Override
public Result<PageData<SpecialUserResultDTO>> selectPageSpecialUser(SpecialUserFormDTO specialUserFormDTO) {
return customFeignClient.selectPageSpecialUser(specialUserFormDTO);
}
@Override
public Result<SpecialUserResultDTO> selectSpecialUserDetail(String suId) {
return customFeignClient.selectSpecialUserDetail(suId);
}
@Override
public Result<PageData<SpecialUserDisabilityTypeResultDTO>> selectDisabilityType(SpecialUserDisabilityTypeFormDTO specialUserDisabilityTypeFormDTO) {
return customFeignClient.selectDisabilityType(specialUserDisabilityTypeFormDTO);
}
@Override
public Result<PageData<SpecialUserMonthlySubsidyResultDTO>> selectMonthlySubsidy(SpecialUserMonthlySubsidyFormDTO dto) {
return customFeignClient.selectMonthlySubsidy(dto);
}
}

147
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/SpecialUserDTO.java

@ -0,0 +1,147 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 特殊人群表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-11-03
*/
@Data
public class SpecialUserDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID 主键
*/
private String id;
/**
* 所属村庄
*/
private String suVillage;
/**
* 姓名
*/
private String suName;
/**
* 出生日期
*/
private Date suBirthday;
/**
* 残疾证号
*/
private String suDisabilityNumber;
/**
* 残疾类别及等级
*/
private String suDisabilityType;
/**
* 是否低保 0否1
*/
private String suIsLow;
/**
* 保障人口
*/
private Integer suGuaranteedPopulation;
/**
* 关系
*/
private String suRelationship;
/**
* 低保金额
*/
private BigDecimal suLowMoney;
/**
* 困难残疾人生活补贴
*/
private BigDecimal suLivingSubsidy;
/**
* 重度残疾人护理补贴
*/
private BigDecimal suCareSubsidy;
/**
* 经济困难老年人补贴
*/
private BigDecimal suElderlySubsidy;
/**
* 孤困儿童补贴
*/
private BigDecimal suChildSubsidy;
/**
* 分散五保补贴
*/
private BigDecimal suFiveGuaranteesSubsidy;
/**
* 是否贫困户 0否1
*/
private String suIsPoor;
/**
* 删除表示 0否1
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

29
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/SpecialUserDisabilityTypeFormDTO.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import java.io.Serializable;
/**
* 残疾类别分布接口参数
*
* @author songyunpeng
* @since v1.0.0 2020-05-20
*/
@Data
public class SpecialUserDisabilityTypeFormDTO implements Serializable {
private static final long serialVersionUID = 2379520294973498819L;
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量
*/
@Min(value = 1, message = "页容量必须大于0")
private Integer pageSize;
}

71
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/SpecialUserFormDTO.java

@ -0,0 +1,71 @@
package com.elink.esua.epdc.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import java.io.Serializable;
/**
* 查询特殊人群 参数
*
* @author songyunpeng
* @since v1.0.0 2020-05-20
*/
@Data
public class SpecialUserFormDTO implements Serializable {
private static final long serialVersionUID = 2379520294973498819L;
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量
*/
@Min(value = 1, message = "页容量必须大于0")
private Integer pageSize;
/**
* 姓名
*/
private String suName;
/**
* 残疾类别及等级
*/
private String suDisabilityType;
/**
* 所属村庄
*/
private String suVillage;
/**
* 低保户 0未选中 1选中
*/
private String suIsLow;
/**
* 贫困户 0未选中 1选中
*/
private String suIsPoor;
/**
* 困难残疾人生活补贴 0未选中 1选中
*/
private String suLivingSubsidy;
/**
* 重度残疾人护理补贴 0未选中 1选中
*/
private String suCareSubsidy;
/**
* 经济困难老年人补贴 0未选中 1选中
*/
private String suElderlySubsidy;
/**
* 孤困儿童补贴 0未选中 1选中
*/
private String suChildSubsidy;
/**
* 分散五保补贴 0未选中 1选中
*/
private String suFiveGuaranteesSubsidy;
}

29
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/SpecialUserMonthlySubsidyFormDTO.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import java.io.Serializable;
/**
* 月度补贴情况接口参数
*
* @author songyunpeng
* @since v1.0.0 2020-05-20
*/
@Data
public class SpecialUserMonthlySubsidyFormDTO implements Serializable {
private static final long serialVersionUID = 2379520294973498819L;
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量
*/
@Min(value = 1, message = "页容量必须大于0")
private Integer pageSize;
}

26
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSpecialUserErrorResultDTO.java

@ -0,0 +1,26 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author: songyunpeng
* @Date: 2020/7/4 17:066
* @Description: 批量导入特殊人群错误反馈
*/
@Data
public class EpdcSpecialUserErrorResultDTO implements Serializable {
private static final long serialVersionUID = 5643743407138967806L;
/**
* 错误数据行数
*/
private String erroLine;
/**
* 错误数据信息
*/
private String errorInfo;
}

50
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/SpecialPopulationDistributionResultDTO.java

@ -0,0 +1,50 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 特殊人群分布结果
*
* @author songyunpeng
* @since v1.0.0 2020-05-20
*/
@Data
public class SpecialPopulationDistributionResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 总人数
*/
private Integer total;
/**
* 20岁以下人数
*/
private Integer ageLevel1;
/**
* 20-30岁人数
*/
private Integer ageLevel2;
/**
* 30-40岁人数
*/
private Integer ageLevel3;
/**
* 40-50岁人数
*/
private Integer ageLevel4;
/**
* 50岁以上人数
*/
private Integer ageLevel5;
}

26
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/SpecialUserDisabilityTypeResultDTO.java

@ -0,0 +1,26 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 残疾类别分布接口参数
*
* @author songyunpeng
* @since v1.0.0 2020-05-20
*/
@Data
public class SpecialUserDisabilityTypeResultDTO implements Serializable {
private static final long serialVersionUID = 2379520294973498819L;
/**
* 残疾类别及等级
*/
private String suDisabilityType;
/**
* 人数
*/
private Integer userTotal;
}

32
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/SpecialUserMonthlySubsidyResultDTO.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 月度补贴情况接口参数
*
* @author songyunpeng
* @since v1.0.0 2020-05-20
*/
@Data
public class SpecialUserMonthlySubsidyResultDTO implements Serializable {
private static final long serialVersionUID = 2379520294973498819L;
/**
* 村庄
*/
private Integer suVillage;
/**
* 人数
*/
private Integer userTotal;
/**
* 补贴金额
*/
private BigDecimal subsidyMoney;
}

98
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/SpecialUserResultDTO.java

@ -0,0 +1,98 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 查询特殊人群结果
*
* @author songyunpeng
* @since v1.0.0 2020-05-20
*/
@Data
public class SpecialUserResultDTO implements Serializable {
private static final long serialVersionUID = 2379520294973498819L;
/**
* ID 主键
*/
private String suId;
/**
* 所属村庄
*/
private String suVillage;
/**
* 姓名
*/
private String suName;
/**
* 出生日期
*/
private Date suBirthday;
/**
* 残疾证号
*/
private String suDisabilityNumber;
/**
* 残疾类别及等级
*/
private String suDisabilityType;
/**
* 是否低保 0否1
*/
private String suIsLow;
/**
* 保障人口
*/
private Integer suGuaranteedPopulation;
/**
* 关系
*/
private String suRelationship;
/**
* 低保金额
*/
private BigDecimal suLowMoney;
/**
* 困难残疾人生活补贴
*/
private BigDecimal suLivingSubsidy;
/**
* 重度残疾人护理补贴
*/
private BigDecimal suCareSubsidy;
/**
* 经济困难老年人补贴
*/
private BigDecimal suElderlySubsidy;
/**
* 孤困儿童补贴
*/
private BigDecimal suChildSubsidy;
/**
* 分散五保补贴
*/
private BigDecimal suFiveGuaranteesSubsidy;
/**
* 是否贫困户 0否1
*/
private String suIsPoor;
}

89
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/controller/EpdcScreenSpecialUserController.java

@ -0,0 +1,89 @@
package com.elink.esua.epdc.modules.specialuser.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.form.SpecialUserDisabilityTypeFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserMonthlySubsidyFormDTO;
import com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserResultDTO;
import com.elink.esua.epdc.modules.specialuser.service.SpecialUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
/**
* @author songyunpeng
* @Description
* @create 2020-11-04
*/
@RestController("screenSpecialUser")
public class EpdcScreenSpecialUserController {
@Autowired
private SpecialUserService specialUserService;
/**
* @Description 特殊人群分析-人群分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO>
**/
@PostMapping("selectMonthlySubsidy")
public Result<SpecialPopulationDistributionResultDTO> selectPopulationDistribution(){
return specialUserService.selectPopulationDistribution();
}
/**
* @Description 特殊人群分析-查人接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>>
**/
@PostMapping("selectMonthlySubsidy")
public Result<PageData<SpecialUserResultDTO>> selectPageSpecialUser(@RequestBody SpecialUserFormDTO dto){
return specialUserService.selectPageSpecialUser(dto);
}
/**
* @Description 特殊人群分析-详情接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [suId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>
**/
@PostMapping("selectSpecialUserDetail/{suId}")
public Result<SpecialUserResultDTO> selectSpecialUserDetail(@PathVariable String suId){
return specialUserService.selectSpecialUserDetail(suId);
}
/**
* @Description 特殊人群分析-残疾类别分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
**/
@PostMapping("selectDisabilityType")
public Result<PageData<SpecialUserDisabilityTypeResultDTO>> selectDisabilityType(@RequestBody SpecialUserDisabilityTypeFormDTO dto){
return specialUserService.selectDisabilityType(dto);
}
/**
* @Description 特殊人群分析-月度补贴情况接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
**/
@PostMapping("selectMonthlySubsidy")
public Result<PageData<SpecialUserMonthlySubsidyResultDTO>> selectMonthlySubsidy(@RequestBody SpecialUserMonthlySubsidyFormDTO dto){
return specialUserService.selectMonthlySubsidy(dto);
}
}

135
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/controller/SpecialUserController.java

@ -0,0 +1,135 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.specialuser.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.SpecialUserDTO;
import com.elink.esua.epdc.modules.specialuser.excel.SpecialUserExcel;
import com.elink.esua.epdc.modules.specialuser.service.SpecialUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
/**
* 特殊人群表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-11-03
*/
@RestController
@RequestMapping("specialuser")
public class SpecialUserController {
@Autowired
private SpecialUserService specialUserService;
@GetMapping("page")
public Result<PageData<SpecialUserDTO>> page(@RequestParam Map<String, Object> params){
PageData<SpecialUserDTO> page = specialUserService.page(params);
return new Result<PageData<SpecialUserDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<SpecialUserDTO> get(@PathVariable("id") String id){
SpecialUserDTO data = specialUserService.get(id);
return new Result<SpecialUserDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody SpecialUserDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
specialUserService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody SpecialUserDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
specialUserService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
specialUserService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<SpecialUserDTO> list = specialUserService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, SpecialUserExcel.class);
}
/**
* @Description 批量导入
* @Author songyunpeng
* @Date 2020/8/31
* @Param [file]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
@PostMapping("importExcel")
public Result importExcel(@RequestParam("file") MultipartFile file) {
return specialUserService.importSpecialUser(file);
}
/**
* @Description 导出模板
* @Author songyunpeng
* @Date 2020/8/27
* @Param [params, response]
* @return void
**/
@GetMapping("exportModule")
public void exportModule(HttpServletResponse res) throws Exception{
//获取要下载的模板名称
String fileName = "民政享受政策人员表 - 样表";
//设置要下载的文件的名称
res.setCharacterEncoding("UTF-8");
res.setHeader("content-Type", "application/vnd.ms-excel");
res.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xlsx");
//获取文件的路径
InputStream input = this.getClass().getResourceAsStream("/excel/民政享受政策人员表 - 样表.xlsx");
OutputStream out = res.getOutputStream();
byte[] b = new byte[2048];
int len;
while ((len = input.read(b)) != -1) {
out.write(b, 0, len);
}
input.close();
}
}

97
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/dao/SpecialUserDao.java

@ -0,0 +1,97 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.specialuser.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.form.SpecialUserDisabilityTypeFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserMonthlySubsidyFormDTO;
import com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserResultDTO;
import com.elink.esua.epdc.modules.specialuser.entity.SpecialUserEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 特殊人群表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-11-03
*/
@Mapper
public interface SpecialUserDao extends BaseDao<SpecialUserEntity> {
/**
* @Description 特殊人群分析-人群分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param []
* @return com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO
**/
SpecialPopulationDistributionResultDTO selectPopulationDistribution();
/**
* @Description 特殊人群分析-查人接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserFormDTO]
* @return java.util.List<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>
**/
List<SpecialUserResultDTO> selectPageSpecialUser(SpecialUserFormDTO specialUserFormDTO);
/**
* @Description 特殊人群分析-查人接口count
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserFormDTO]
* @return long
**/
long selectCountSpecialUser(SpecialUserFormDTO specialUserFormDTO);
/**
* @Description 特殊人群分析-残疾类别分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
* @return java.util.List<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
**/
List<SpecialUserDisabilityTypeResultDTO> selectDisabilityType(SpecialUserDisabilityTypeFormDTO specialUserDisabilityTypeFormDTO);
/**
* @Description 特殊人群分析-残疾类别分布接口 count
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
* @return java.util.List<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
**/
long selectCountDisabilityType(SpecialUserDisabilityTypeFormDTO specialUserDisabilityTypeFormDTO);
/**
* @Description 特殊人群分析-月度补贴情况接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [dto]
* @return java.util.List<com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO>
**/
List<SpecialUserMonthlySubsidyResultDTO> selectMonthlySubsidy(SpecialUserMonthlySubsidyFormDTO dto);
/**
* @Description 特殊人群分析-月度补贴情况接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [dto]
* @return java.util.List<com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO>
**/
Long selectCountMonthlySubsidy(SpecialUserMonthlySubsidyFormDTO dto);
}

116
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/entity/SpecialUserEntity.java

@ -0,0 +1,116 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.specialuser.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 特殊人群表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-11-03
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_special_user")
public class SpecialUserEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 所属村庄
*/
private String suVillage;
/**
* 姓名
*/
private String suName;
/**
* 出生日期
*/
private Date suBirthday;
/**
* 残疾证号
*/
private String suDisabilityNumber;
/**
* 残疾类别及等级
*/
private String suDisabilityType;
/**
* 是否低保 0否1
*/
private String suIsLow;
/**
* 保障人口
*/
private Integer suGuaranteedPopulation;
/**
* 关系
*/
private String suRelationship;
/**
* 低保金额
*/
private BigDecimal suLowMoney;
/**
* 困难残疾人生活补贴
*/
private BigDecimal suLivingSubsidy;
/**
* 重度残疾人护理补贴
*/
private BigDecimal suCareSubsidy;
/**
* 经济困难老年人补贴
*/
private BigDecimal suElderlySubsidy;
/**
* 孤困儿童补贴
*/
private BigDecimal suChildSubsidy;
/**
* 分散五保补贴
*/
private BigDecimal suFiveGuaranteesSubsidy;
/**
* 是否贫困户 0否1
*/
private String suIsPoor;
}

78
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/excel/SpecialUserExcel.java

@ -0,0 +1,78 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.specialuser.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
/**
* 特殊人群表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-11-03
*/
@Data
public class SpecialUserExcel {
@Excel(name = "所属村庄")
private String suVillage;
@Excel(name = "姓名")
private String suName;
@Excel(name = "出生日期")
private String suBirthday;
@Excel(name = "残疾证号")
private String suDisabilityNumber;
@Excel(name = "残疾类别及等级")
private String suDisabilityType;
@Excel(name = "是否低保",replace = {"否_0","是_1"})
private String suIsLow;
@Excel(name = "保障人口")
private Integer suGuaranteedPopulation;
@Excel(name = "关系")
private String suRelationship;
@Excel(name = "低保金额")
private BigDecimal suLowMoney;
@Excel(name = "困难残疾人生活补贴")
private BigDecimal suLivingSubsidy;
@Excel(name = "重度残疾人护理补贴")
private BigDecimal suCareSubsidy;
@Excel(name = "经济困难老年人补贴")
private BigDecimal suElderlySubsidy;
@Excel(name = "孤困儿童补贴")
private BigDecimal suChildSubsidy;
@Excel(name = "分散五保补贴")
private BigDecimal suFiveGuaranteesSubsidy;
@Excel(name = "是否贫困户",replace = {"否_0","是_1"})
private String suIsPoor;
}

152
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/service/SpecialUserService.java

@ -0,0 +1,152 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.specialuser.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.SpecialUserDTO;
import com.elink.esua.epdc.dto.form.SpecialUserDisabilityTypeFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserMonthlySubsidyFormDTO;
import com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO;
import com.elink.esua.epdc.dto.result.SpecialUserResultDTO;
import com.elink.esua.epdc.modules.specialuser.entity.SpecialUserEntity;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* 特殊人群表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-11-03
*/
public interface SpecialUserService extends BaseService<SpecialUserEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<SpecialUserDTO>
* @author generator
* @date 2020-11-03
*/
PageData<SpecialUserDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<SpecialUserDTO>
* @author generator
* @date 2020-11-03
*/
List<SpecialUserDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return SpecialUserDTO
* @author generator
* @date 2020-11-03
*/
SpecialUserDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-11-03
*/
void save(SpecialUserDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-11-03
*/
void update(SpecialUserDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-11-03
*/
void delete(String[] ids);
/**
* @Description 批量导入
* @Author songyunpeng
* @Date 2020/11/3
* @Param [file]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
Result importSpecialUser(MultipartFile file);
/**
* @Description 特殊人群分析-人群分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO>
**/
Result<SpecialPopulationDistributionResultDTO> selectPopulationDistribution();
/**
* @Description 特殊人群分析-查人接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>>
* @param specialUserFormDTO*/
Result<PageData<SpecialUserResultDTO>> selectPageSpecialUser(SpecialUserFormDTO specialUserFormDTO);
/**
* @Description 特殊人群分析-详情接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [suId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserResultDTO>
**/
Result<SpecialUserResultDTO> selectSpecialUserDetail(String suId);
/**
* @Description 特殊人群分析-残疾类别分布接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [specialUserDisabilityTypeFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO>
**/
Result<PageData<SpecialUserDisabilityTypeResultDTO>> selectDisabilityType(SpecialUserDisabilityTypeFormDTO specialUserDisabilityTypeFormDTO);
/**
* @Description 特殊人群分析-月度补贴情况接口
* @Author songyunpeng
* @Date 2020/11/4
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO>>
**/
Result<PageData<SpecialUserMonthlySubsidyResultDTO>> selectMonthlySubsidy(SpecialUserMonthlySubsidyFormDTO dto);
}

222
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/specialuser/service/impl/SpecialUserServiceImpl.java

@ -0,0 +1,222 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.specialuser.service.impl;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.config.StreamUtils;
import com.elink.esua.epdc.dto.SpecialUserDTO;
import com.elink.esua.epdc.dto.form.SpecialUserDisabilityTypeFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserFormDTO;
import com.elink.esua.epdc.dto.form.SpecialUserMonthlySubsidyFormDTO;
import com.elink.esua.epdc.dto.result.*;
import com.elink.esua.epdc.modules.specialuser.dao.SpecialUserDao;
import com.elink.esua.epdc.modules.specialuser.entity.SpecialUserEntity;
import com.elink.esua.epdc.modules.specialuser.excel.SpecialUserExcel;
import com.elink.esua.epdc.modules.specialuser.service.SpecialUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 特殊人群表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-11-03
*/
@Service
public class SpecialUserServiceImpl extends BaseServiceImpl<SpecialUserDao, SpecialUserEntity> implements SpecialUserService {
@Override
public PageData<SpecialUserDTO> page(Map<String, Object> params) {
IPage<SpecialUserEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, SpecialUserDTO.class);
}
@Override
public List<SpecialUserDTO> list(Map<String, Object> params) {
List<SpecialUserEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, SpecialUserDTO.class);
}
private QueryWrapper<SpecialUserEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String suVillage = (String)params.get("suVillage");
String suName = (String)params.get("suName");
QueryWrapper<SpecialUserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.like(StringUtils.isNotBlank(suVillage), "SU_VILLAGE", suVillage);
wrapper.like(StringUtils.isNotBlank(suName), "SU_NAME", suName);
return wrapper;
}
@Override
public SpecialUserDTO get(String id) {
SpecialUserEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, SpecialUserDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(SpecialUserDTO dto) {
SpecialUserEntity entity = ConvertUtils.sourceToTarget(dto, SpecialUserEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(SpecialUserDTO dto) {
SpecialUserEntity entity = ConvertUtils.sourceToTarget(dto, SpecialUserEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Result importSpecialUser(MultipartFile file) {
File f = StreamUtils.conversionFile(file);
ImportParams importParams = new ImportParams();
try {
List<SpecialUserExcel> archivesExcelList = ExcelImportUtil.importExcel(f, SpecialUserExcel.class, importParams);
// 校验数据
List<EpdcSpecialUserErrorResultDTO> epdcArchivesErrorResultDTOS = this.checkExcel(archivesExcelList);
if (epdcArchivesErrorResultDTOS.size() > 0) {
return new Result().ok(epdcArchivesErrorResultDTOS);
}
saveList(archivesExcelList);
for (SpecialUserExcel archivesExcel : archivesExcelList) {
System.out.println("从Excel导入数据到数据库的详细为 :{}" + JSON.toJSONString(archivesExcel));
}
System.out.println("从Excel导入数据一共 {} 行 " + archivesExcelList.size());
} catch (Exception e1) {
throw new RuntimeException("导入失败:{}" + e1.getMessage());
}
return new Result();
}
@Override
public Result<SpecialPopulationDistributionResultDTO> selectPopulationDistribution() {
return new Result<SpecialPopulationDistributionResultDTO>().ok(baseDao.selectPopulationDistribution());
}
@Override
public Result<PageData<SpecialUserResultDTO>> selectPageSpecialUser(SpecialUserFormDTO specialUserFormDTO) {
int pageIndex = (specialUserFormDTO.getPageIndex() - NumConstant.ONE) * specialUserFormDTO.getPageSize();
specialUserFormDTO.setPageIndex(pageIndex);
List<SpecialUserResultDTO> list = baseDao.selectPageSpecialUser(specialUserFormDTO);
PageData<SpecialUserResultDTO> pageData = new PageData<>(list, baseDao.selectCountSpecialUser(specialUserFormDTO));
return new Result<PageData<SpecialUserResultDTO>>().ok(pageData);
}
@Override
public Result<SpecialUserResultDTO> selectSpecialUserDetail(String suId) {
SpecialUserEntity specialUserEntity = selectById(suId);
return new Result<SpecialUserResultDTO>().ok(ConvertUtils.sourceToTarget(specialUserEntity,SpecialUserResultDTO.class));
}
@Override
public Result<PageData<SpecialUserDisabilityTypeResultDTO>> selectDisabilityType(SpecialUserDisabilityTypeFormDTO specialUserDisabilityTypeFormDTO) {
int pageIndex = (specialUserDisabilityTypeFormDTO.getPageIndex() - NumConstant.ONE) * specialUserDisabilityTypeFormDTO.getPageSize();
specialUserDisabilityTypeFormDTO.setPageIndex(pageIndex);
List<SpecialUserDisabilityTypeResultDTO> list = baseDao.selectDisabilityType(specialUserDisabilityTypeFormDTO);
PageData<SpecialUserDisabilityTypeResultDTO> pageData = new PageData<>(list, baseDao.selectCountDisabilityType(specialUserDisabilityTypeFormDTO));
return new Result<PageData<SpecialUserDisabilityTypeResultDTO>>().ok(pageData);
}
@Override
public Result<PageData<SpecialUserMonthlySubsidyResultDTO>> selectMonthlySubsidy(SpecialUserMonthlySubsidyFormDTO dto) {
int pageIndex = (dto.getPageIndex() - NumConstant.ONE) * dto.getPageSize();
dto.setPageIndex(pageIndex);
List<SpecialUserMonthlySubsidyResultDTO> list = baseDao.selectMonthlySubsidy(dto);
PageData<SpecialUserMonthlySubsidyResultDTO> pageData = new PageData<>(list, baseDao.selectCountMonthlySubsidy(dto));
return new Result<PageData<SpecialUserMonthlySubsidyResultDTO>>().ok(pageData);
}
/***
* 校验excel表格数据
* @return java.lang.String
* @author songyunpeng
* @date 2020/7/6 10:25
*/
private List<EpdcSpecialUserErrorResultDTO> checkExcel(List<SpecialUserExcel> specialUserExcels) {
List<EpdcSpecialUserErrorResultDTO> errorLineinfoList = new ArrayList<>();
EpdcSpecialUserErrorResultDTO errorLineinfoDto;
for (int i = 0; i < specialUserExcels.size(); i++) {
SpecialUserExcel specialUserExcel = specialUserExcels.get(i);
//档号
String suBirthday = specialUserExcel.getSuBirthday();
if (StringUtils.isNotBlank(suBirthday)) {
String eL = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)";
Pattern pat = Pattern.compile(eL);
Matcher matcher = pat.matcher(suBirthday);
boolean boo = matcher.matches();
if(!boo){
errorLineinfoDto = new EpdcSpecialUserErrorResultDTO();
errorLineinfoDto.setErroLine((i + 2) + "");
errorLineinfoDto.setErrorInfo("请检查出生日期格式,例:2021228");
errorLineinfoList.add(errorLineinfoDto);
}
}
}
return errorLineinfoList;
}
/***
* 批量添加
* @return java.lang.String
* @author songyunpeng
* @date 2020/7/6 10:25
*/
private void saveList(List<SpecialUserExcel> partyList) {
List<SpecialUserEntity> specialUserExcels = new ArrayList<>();
for (SpecialUserExcel archivesExcel : partyList) {
SpecialUserEntity archivesEntity = ConvertUtils.sourceToTarget(archivesExcel, SpecialUserEntity.class);
archivesEntity.setSuBirthday(DateUtil.parse(archivesExcel.getSuBirthday()));
specialUserExcels.add(archivesEntity);
}
insertBatch(specialUserExcels);
}
}

BIN
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/excel/民政享受政策人员表 - 样表.xlsx

Binary file not shown.

166
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/SpecialUserDao.xml

@ -0,0 +1,166 @@
<?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="com.elink.esua.epdc.modules.specialuser.dao.SpecialUserDao">
<resultMap type="com.elink.esua.epdc.modules.specialuser.entity.SpecialUserEntity" id="specialUserMap">
<result property="id" column="ID"/>
<result property="suVillage" column="SU_VILLAGE"/>
<result property="suName" column="SU_NAME"/>
<result property="suBirthday" column="SU_BIRTHDAY"/>
<result property="suDisabilityNumber" column="SU_DISABILITY_NUMBER"/>
<result property="suDisabilityType" column="SU_DISABILITY_TYPE"/>
<result property="suIsLow" column="SU_IS_LOW"/>
<result property="suGuaranteedPopulation" column="SU_GUARANTEED_POPULATION"/>
<result property="suRelationship" column="SU_RELATIONSHIP"/>
<result property="suLowMoney" column="SU_LOW_MONEY"/>
<result property="suLivingSubsidy" column="SU_LIVING_SUBSIDY"/>
<result property="suCareSubsidy" column="SU_CARE_SUBSIDY"/>
<result property="suElderlySubsidy" column="SU_ELDERLY_SUBSIDY"/>
<result property="suChildSubsidy" column="SU_CHILD_SUBSIDY"/>
<result property="suFiveGuaranteesSubsidy" column="SU_FIVE_GUARANTEES_SUBSIDY"/>
<result property="suIsPoor" column="SU_IS_POOR"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectPopulationDistribution"
resultType="com.elink.esua.epdc.dto.result.SpecialPopulationDistributionResultDTO">
select count(ID),
count(if(TIMESTAMPDIFF(YEAR ,SU_BIRTHDAY,curdate())&lt;=20,1,null)) as ageLevel1,
count(if(TIMESTAMPDIFF(YEAR ,SU_BIRTHDAY,curdate())>=20 and TIMESTAMPDIFF(YEAR ,SU_BIRTHDAY,curdate())&lt;30,1,null)) as ageLevel2,
count(if(TIMESTAMPDIFF(YEAR ,SU_BIRTHDAY,curdate())>=30 and TIMESTAMPDIFF(YEAR ,SU_BIRTHDAY,curdate())&lt;40,1,null)) as ageLevel3,
count(if(TIMESTAMPDIFF(YEAR ,SU_BIRTHDAY,curdate())>=40 and TIMESTAMPDIFF(YEAR ,SU_BIRTHDAY,curdate())&lt;50,1,null)) as ageLevel4,
count(if(TIMESTAMPDIFF(YEAR ,SU_BIRTHDAY,curdate())>=50,1,null)) as ageLevel5
from epdc_special_user
where DEL_FLAG = '0'
</select>
<select id="selectPageSpecialUser" resultType="com.elink.esua.epdc.dto.result.SpecialUserResultDTO">
select ID as suId,
SU_VILLAGE,
SU_NAME,
SU_BIRTHDAY,
SU_DISABILITY_NUMBER,
SU_DISABILITY_TYPE,
SU_IS_LOW,
SU_GUARANTEED_POPULATION,
SU_RELATIONSHIP,
SU_LOW_MONEY,
SU_LIVING_SUBSIDY,
SU_CARE_SUBSIDY,
SU_ELDERLY_SUBSIDY,
SU_CHILD_SUBSIDY,
SU_FIVE_GUARANTEES_SUBSIDY,
SU_IS_POOR
from epdc_special_user
where DEL_FLAG = '0'
<if test="suName!=null and suName!=''">
and SU_NAME like concat('%', #{suName}, '%')
</if>
<if test="suDisabilityType!=null and suDisabilityType!=''">
and SU_DISABILITY_TYPE = #{suName}
</if>
<if test="suVillage!=null and suVillage!=''">
and SU_VILLAGE = #{suVillage}
</if>
and SU_IS_LOW = #{suIsLow}
and SU_IS_POOR #{suIsPoor}
<if test="suLivingSubsidy!=null and suLivingSubsidy == '1'">
and SU_LIVING_SUBSIDY > 0
</if>
<if test="suCareSubsidy!=null and suCareSubsidy == '1'">
and SU_CARE_SUBSIDY > 0
</if>
<if test="suElderlySubsidy!=null and suElderlySubsidy == '1'">
and SU_ELDERLY_SUBSIDY > 0
</if>
<if test="suChildSubsidy!=null and suChildSubsidy == '1'">
and SU_CHILD_SUBSIDY > 0
</if>
<if test="suFiveGuaranteesSubsidy!=null and suFiveGuaranteesSubsidy == '1'">
and SU_FIVE_GUARANTEES_SUBSIDY > 0
</if>
order by CREATED_TIME desc
LIMIT #{pageIndex},#{pageSize}
</select>
<select id="selectCountSpecialUser" resultType="java.lang.Long">
select count(1)
from epdc_special_user
where DEL_FLAG = '0'
<if test="suName!=null and suName!=''">
and SU_NAME like concat('%', #{suName}, '%')
</if>
<if test="suDisabilityType!=null and suDisabilityType!=''">
and SU_DISABILITY_TYPE = #{suName}
</if>
<if test="suVillage!=null and suVillage!=''">
and SU_VILLAGE = #{suVillage}
</if>
and SU_IS_LOW = #{suIsLow}
and SU_IS_POOR #{suIsPoor}
<if test="suLivingSubsidy!=null and suLivingSubsidy == '1'">
and SU_LIVING_SUBSIDY > 0
</if>
<if test="suCareSubsidy!=null and suCareSubsidy == '1'">
and SU_CARE_SUBSIDY > 0
</if>
<if test="suElderlySubsidy!=null and suElderlySubsidy == '1'">
and SU_ELDERLY_SUBSIDY > 0
</if>
<if test="suChildSubsidy!=null and suChildSubsidy == '1'">
and SU_CHILD_SUBSIDY > 0
</if>
<if test="suFiveGuaranteesSubsidy!=null and suFiveGuaranteesSubsidy == '1'">
and SU_FIVE_GUARANTEES_SUBSIDY > 0
</if>
order by CREATED_TIME desc
</select>
<select id="selectDisabilityType"
resultType="com.elink.esua.epdc.dto.result.SpecialUserDisabilityTypeResultDTO">
select count(ID) as userTotal,SU_DISABILITY_TYPE as suDisabilityType from epdc_special_user
where DEL_FLAG = '0' and SU_DISABILITY_TYPE is not null and SU_DISABILITY_TYPE != ''
group by SU_DISABILITY_TYPE
order by userTotal desc
LIMIT #{pageIndex},#{pageSize}
</select>
<select id="selectCountDisabilityType" resultType="java.lang.Long">
select count(1) from (
select count(ID) as userTotal,SU_DISABILITY_TYPE as suDisabilityType from epdc_special_user
where DEL_FLAG = '0' and SU_DISABILITY_TYPE is not null and SU_DISABILITY_TYPE != ''
group by SU_DISABILITY_TYPE
order by userTotal desc )a
</select>
<select id="selectMonthlySubsidy"
resultType="com.elink.esua.epdc.dto.result.SpecialUserMonthlySubsidyResultDTO">
select SU_VILLAGE,count(ID) as userTotal,
sum(if(SU_LOW_MONEY is null,0,SU_LOW_MONEY) +
if(SU_LIVING_SUBSIDY is null,0,SU_LIVING_SUBSIDY) +
if(SU_CARE_SUBSIDY is null,0,SU_CARE_SUBSIDY) +
if(SU_ELDERLY_SUBSIDY is null,0,SU_ELDERLY_SUBSIDY) +
if(SU_CHILD_SUBSIDY is null,0,SU_CHILD_SUBSIDY)+
if(SU_FIVE_GUARANTEES_SUBSIDY is null,0,SU_FIVE_GUARANTEES_SUBSIDY)) as subsidyMoney
from epdc_special_user
where DEL_FLAG = '0' and SU_DISABILITY_TYPE is not null and SU_DISABILITY_TYPE != ''
group by SU_VILLAGE
order by userTotal desc
LIMIT #{pageIndex},#{pageSize}
</select>
<select id="selectCountMonthlySubsidy" resultType="java.lang.Long">
select count(1) from (select SU_VILLAGE,count(ID) as userTotal,
sum(if(SU_LOW_MONEY is null,0,SU_LOW_MONEY) +
if(SU_LIVING_SUBSIDY is null,0,SU_LIVING_SUBSIDY) +
if(SU_CARE_SUBSIDY is null,0,SU_CARE_SUBSIDY) +
if(SU_ELDERLY_SUBSIDY is null,0,SU_ELDERLY_SUBSIDY) +
if(SU_CHILD_SUBSIDY is null,0,SU_CHILD_SUBSIDY)+
if(SU_FIVE_GUARANTEES_SUBSIDY is null,0,SU_FIVE_GUARANTEES_SUBSIDY)) as subsidyMoney
from epdc_special_user
where DEL_FLAG = '0' and SU_DISABILITY_TYPE is not null and SU_DISABILITY_TYPE != ''
group by SU_VILLAGE
order by userTotal desc)a
</select>
</mapper>
Loading…
Cancel
Save