Commit b2bc8963 authored by fangxinjiang's avatar fangxinjiang

社保花名册导出增加离职日期-fxj

parent 622305be
...@@ -15,6 +15,7 @@ package com.yifu.cloud.plus.v1.yifu.social.controller;/* ...@@ -15,6 +15,7 @@ package com.yifu.cloud.plus.v1.yifu.social.controller;/*
* Author: lengleng (wangiegie@gmail.com) * Author: lengleng (wangiegie@gmail.com)
*/ */
import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -52,6 +53,8 @@ import org.springframework.web.bind.annotation.*; ...@@ -52,6 +53,8 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
...@@ -307,7 +310,7 @@ public class TPaymentInfoController { ...@@ -307,7 +310,7 @@ public class TPaymentInfoController {
* @author huyc * @author huyc
* @date 2022-07-22 * @date 2022-07-22
**/ **/
@SysLog("实缴导列表不合并导出") @SysLog("实缴导列表不合并导出")
@Operation(description = "导出缴费库 hasPermission('social_tpaymentinfo_export')") @Operation(description = "导出缴费库 hasPermission('social_tpaymentinfo_export')")
@PostMapping("/export") @PostMapping("/export")
@PreAuthorize("@pms.hasPermission('social_tpaymentinfo_export')") @PreAuthorize("@pms.hasPermission('social_tpaymentinfo_export')")
...@@ -315,6 +318,20 @@ public class TPaymentInfoController { ...@@ -315,6 +318,20 @@ public class TPaymentInfoController {
tPaymentInfoService.listExport(response, searchVo); tPaymentInfoService.listExport(response, searchVo);
} }
/**
* @Author fxj
* @Description 实缴导入列表导出不合并数据校验,生成月份为空时 数据量超出2W 前端提示
* @Date 14:57 2024/8/5
* @Param
* @return
**/
@SysLog("实缴导出列表不合并导出--检测")
@Operation(description = "导出缴费库检测 ")
@PostMapping("/exportCheck")
public R<Integer> exportCheck(HttpServletResponse response, @RequestBody TPaymentInfoSearchVo searchVo) {
return tPaymentInfoService.listExportCheck(response, searchVo);
}
/** /**
* 缴费库合并导出 * 缴费库合并导出
* *
...@@ -329,6 +346,20 @@ public class TPaymentInfoController { ...@@ -329,6 +346,20 @@ public class TPaymentInfoController {
tPaymentInfoService.listSumExport(response, searchVo); tPaymentInfoService.listSumExport(response, searchVo);
} }
/**
* @Author fxj
* @Description 缴费库合并导出 检车 生成月份为空 数据条数超出2W条后 前端给提示
* @Date 15:09 2024/8/5
* @Param
* @return
**/
@SysLog("缴费库合并导出检测")
@Operation(description = "合并导出缴费库检测")
@PostMapping("/sumExportCheck")
public R<Integer> sumExportCheck(HttpServletResponse response, @RequestBody TPaymentInfoSearchVo searchVo) {
return tPaymentInfoService.listSumExportCheck(response, searchVo);
}
/** /**
* 缴费库查询合并导出 * 缴费库查询合并导出
* *
...@@ -353,6 +384,30 @@ public class TPaymentInfoController { ...@@ -353,6 +384,30 @@ public class TPaymentInfoController {
tPaymentInfoService.sumSearchExport(response, searchVo); tPaymentInfoService.sumSearchExport(response, searchVo);
} }
/**
* @Author fxj
* @Description 缴费库查询合并导出 校验, 生成月份为空时 导出条数超出2W 前端给提示
* @Date 15:13 2024/8/5
* @Param
* @return
**/
@Operation(description = "缴费库查询合并导出检测")
@PostMapping("/sumSearchExportCheck")
@SysLog("实缴查询列表合并导出检测")
public R<Integer> sumSearchExportCheck(HttpServletResponse response, @RequestBody TPaymentInfoSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, searchVo);
if (Common.isNotNull(searchVo.getAuthSql())) {
if (searchVo.getAuthSql().contains(CommonConstants.A_DEPT_ID)) {
searchVo.setAuthSql(searchVo.getAuthSql().replace(CommonConstants.A_DEPT_ID, "a.SETTLE_DOMAIN_ID"));
}
if (searchVo.getAuthSql().contains("1=2 EXISTS")) {
searchVo.setAuthSql(searchVo.getAuthSql().replace("1=2 EXISTS", "EXISTS"));
}
}
return tPaymentInfoService.sumSearchExportCheck(response, searchVo);
}
/** /**
* 根据条件批量删除 * 根据条件批量删除
* *
......
...@@ -53,6 +53,20 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> { ...@@ -53,6 +53,20 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
*/ */
IPage<TPaymentInfoNewVo> getTPaymentInfoNewPage(Page<TPaymentInfo> page, @Param("tPaymentInfo") TPaymentInfoSearchVo tPaymentInfo); IPage<TPaymentInfoNewVo> getTPaymentInfoNewPage(Page<TPaymentInfo> page, @Param("tPaymentInfo") TPaymentInfoSearchVo tPaymentInfo);
/**
* 缴费库分页查询
* @param tPaymentInfo 缴费库
* @return
*/
List<TPaymentInfoNewVo> getTPaymentInfoNewPageDiy(@Param("tPaymentInfo") TPaymentInfoSearchVo tPaymentInfo,@Param("page") Long page, @Param("size") Long size);
/**
* 缴费库分页查询
* @param tPaymentInfo 缴费库
* @return
*/
List<TPaymentInfoNewVo> getTPaymentInfoNewPageSocial(@Param("tPaymentInfo") TPaymentInfoSearchVo tPaymentInfo,@Param("page") Long page, @Param("size") Long size);
/** /**
* 缴费库查询详情 * 缴费库查询详情
* @param tPaymentInfo * @param tPaymentInfo
...@@ -74,6 +88,27 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> { ...@@ -74,6 +88,27 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
*/ */
Integer selectCountPaymentSearchInfo(@Param("tPaymentInfo") TPaymentInfoSearchVo searchVo); Integer selectCountPaymentSearchInfo(@Param("tPaymentInfo") TPaymentInfoSearchVo searchVo);
/**
* 缴费库简单分页查询
* @param searchVo 缴费库
* @return
*/
Integer selectCountPaymentSearchInfoSocial(@Param("tPaymentInfo") TPaymentInfoSearchVo searchVo);
/**
* 缴费库简单分页查询
* @param searchVo 缴费库
* @return
*/
Integer selectCountPaymentSearchInfoSocialByLimit(@Param("tPaymentInfo") TPaymentInfoSearchVo searchVo);
/**
* 缴费库简单分页查询
* @param searchVo 缴费库
* @return
*/
Integer selectCountPaymentSearchInfoFund(@Param("tPaymentInfo") TPaymentInfoSearchVo searchVo);
/** /**
* 缴费库简单分页查询 * 缴费库简单分页查询
* @param searchVo 缴费库 * @param searchVo 缴费库
...@@ -364,4 +399,16 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> { ...@@ -364,4 +399,16 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
IPage<SocialAndFundReduceBusinessVo> getSocialAndFundReduceInfo(Page page, @Param("month")String month IPage<SocialAndFundReduceBusinessVo> getSocialAndFundReduceInfo(Page page, @Param("month")String month
, @Param("settleDomainId")String settleDomainId, @Param("settleDomainIds")List<String> settleDomainIds); , @Param("settleDomainId")String settleDomainId, @Param("settleDomainIds")List<String> settleDomainIds);
/**
* 实缴查询社保合计查询
* @return
*/
List<TPaymentInfoExportVo> getSumByKeyGroupSocial(@Param("keyGroups") List<String> keyGroups);
/**
* 实缴查询公积金合计查询
* @return
*/
List<TPaymentInfoExportVo> getSumByKeyGroupFund(@Param("keyGroups") List<String> keyGroups);
} }
...@@ -258,6 +258,10 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> { ...@@ -258,6 +258,10 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> {
* @return * @return
**/ **/
IPage<SocialAndFundReduceBusinessVo> getSocialAndFundReduceInfo(Page<SocialAndFundReduceBusinessVo> page, String month, String settleDomainId, List<String> settleDomainIds); IPage<SocialAndFundReduceBusinessVo> getSocialAndFundReduceInfo(Page<SocialAndFundReduceBusinessVo> page, String month, String settleDomainId, List<String> settleDomainIds);
// hgw2023-1-6 10:42:06:以上:B端相关接口
R<Integer> listExportCheck(HttpServletResponse response, TPaymentInfoSearchVo searchVo);
R<Integer> listSumExportCheck(HttpServletResponse response, TPaymentInfoSearchVo searchVo);
R<Integer> sumSearchExportCheck(HttpServletResponse response, TPaymentInfoSearchVo searchVo);
} }
...@@ -180,9 +180,97 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -180,9 +180,97 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
*/ */
@Override @Override
public IPage<TPaymentInfoNewVo> getTPaymentInfoNewPage(Page<TPaymentInfo> page, TPaymentInfoSearchVo tPaymentInfo) { public IPage<TPaymentInfoNewVo> getTPaymentInfoNewPage(Page<TPaymentInfo> page, TPaymentInfoSearchVo tPaymentInfo) {
return baseMapper.getTPaymentInfoNewPage(page, tPaymentInfo); Page<TPaymentInfoNewVo> pageNew = new Page<>();
pageNew.setSize(page.getSize());
pageNew.setCurrent(page.getCurrent());
long totalCount = baseMapper.selectCountPaymentSearchInfoSocial(tPaymentInfo);
pageNew.setTotal(totalCount);
if (totalCount > 0L) {
pageNew.setPages(totalCount / pageNew.getSize());
}
if (pageNew.getCurrent() < 1) {
pageNew.setCurrent(1L);
}
if (pageNew.getSize() < 1) {
pageNew.setSize(10L);
}
if (totalCount > ((page.getCurrent() - 1) * page.getSize())) {
pageNew.setRecords(getPageData(tPaymentInfo,pageNew,totalCount));
}
return pageNew;
}
private List<TPaymentInfoNewVo> getPageData(TPaymentInfoSearchVo searchVo,Page<TPaymentInfoNewVo> pageNew ,long totalCount){
List<TPaymentInfoNewVo> pageData;//baseMapper.getTPaymentInfoNewPageDiy(tPaymentInfo, (pageNew.getCurrent() - 1) * pageNew.getSize(), pageNew.getSize());
// 非大批量数据统计查询时走原逻辑
if (totalCount < 20000){
return baseMapper.getTPaymentInfoNewPageDiy(searchVo, (pageNew.getCurrent() - 1) * pageNew.getSize(), pageNew.getSize());
}
// 社保户、生成月、缴纳月、缴纳地、二级指标归属、单位、公积金户 走优化查询 先查询数据在封装合计金额
if ((Common.isNotNull(searchVo.getSocialHousehold())
|| Common.isNotNull(searchVo.getSocialCreateMonth())
|| Common.isNotNull(searchVo.getSocialPayMonth())
|| Common.isNotNull(searchVo.getSocialProvince())
|| Common.isNotNull(searchVo.getSecondIndicatorBelong())
|| Common.isNotNull(searchVo.getUnitName())
|| Common.isNotNull(searchVo.getProvidentHousehold()))
&& Common.isEmpty(searchVo.getEmpIdcard())
&& Common.isEmpty(searchVo.getSettleDomainName())){
pageData = baseMapper.getTPaymentInfoNewPageSocial(searchVo, (pageNew.getCurrent() - 1) * pageNew.getSize(), pageNew.getSize());
//封装对应的社保及公积金的合计数据处理
if (Common.isNotNull(pageData)){
List<String> keyGroup = new ArrayList<>();
HashMap<String,TPaymentInfoNewVo> newVoHashMap = new HashMap<>();
String key;
for (TPaymentInfoNewVo vo:pageData){
key = vo.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING
+ vo.getSocialPayMonth()+ CommonConstants.DOWN_LINE_STRING
+ vo.getSocialCreateMonth();
keyGroup.add(key);
newVoHashMap.put(key,vo);
}
List<TPaymentInfoExportVo> pageDataSumSocial = baseMapper.getSumByKeyGroupSocial(keyGroup);
List<TPaymentInfoNewVo> pageDataHandle = new ArrayList<>();
if (Common.isNotNull(pageDataSumSocial)){
TPaymentInfoNewVo newVo;
for (TPaymentInfoExportVo exportVo:pageDataSumSocial){
newVo = newVoHashMap.get(exportVo.getKeyGroup());
if (null != newVo){
newVo.setSumAll(BigDecimalUtils.safeAdd(BigDecimalUtils.isNullToZero(newVo.getSumAll()),BigDecimalUtils.isNullToZero(exportVo.getSocialSum())));
newVo.setSocialSum(exportVo.getSocialSum());
newVo.setSocialPayAddr(exportVo.getSocialPayAddr());
newVo.setSocialHousehold(exportVo.getSocialHousehold());
}
newVoHashMap.put(exportVo.getKeyGroup(),newVo);
}
}
List<TPaymentInfoExportVo> pageDataSumFund = baseMapper.getSumByKeyGroupFund(keyGroup);
if (Common.isNotNull(pageDataSumFund)){
TPaymentInfoNewVo newVo;
for (TPaymentInfoExportVo exportVo:pageDataSumFund){
newVo = newVoHashMap.get(exportVo.getKeyGroup());
if (null != newVo){
newVo.setSumAll(BigDecimalUtils.safeAdd(BigDecimalUtils.isNullToZero(newVo.getSumAll()),BigDecimalUtils.isNullToZero(exportVo.getProvidentSum())));
newVo.setProvidentSum(exportVo.getProvidentSum());
newVo.setProvidentHousehold(exportVo.getProvidentHousehold());
newVo.setProvidentPayAddr(exportVo.getProvidentPayAddr());
}
newVoHashMap.put(exportVo.getKeyGroup(),newVo);
}
}
if (Common.isNotNull(newVoHashMap)){
for (TPaymentInfoNewVo k:newVoHashMap.values()){
pageDataHandle.add(k);
}
return pageDataHandle;
}
}
// 身份证查询 项目查询直接走原查询逻辑,因为此处数据量不会很大
}else {
pageData = baseMapper.getTPaymentInfoNewPageDiy(searchVo, (pageNew.getCurrent() - 1) * pageNew.getSize(), pageNew.getSize());
}
return pageData;
} }
/** /**
* 缴费库批量导出 * 缴费库批量导出
* *
...@@ -5067,4 +5155,69 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -5067,4 +5155,69 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
} }
} }
/**
* @Author fxj
* @Description 实缴导入列表导出不合并数据校验,生成月份为空时 数据量超出2W 前端提示
* @Date 14:57 2024/8/5
* @Param
* @return
**/
@Override
public R<Integer> listExportCheck(HttpServletResponse response, TPaymentInfoSearchVo searchVo) {
return R.ok(baseMapper.selectCountTPaymentInfo(searchVo));
}
/**
* @Author fxj
* @Description 缴费库合并导出 检车 生成月份为空 数据条数超出2W条后 前端给提示
* @Date 15:09 2024/8/5
* @Param
* @return
**/
@Override
public R<Integer> listSumExportCheck(HttpServletResponse response, TPaymentInfoSearchVo searchVo){
if (Common.isEmpty(searchVo.getEmpIdcard())
&& Common.isEmpty(searchVo.getUnitName())
&& Common.isEmpty(searchVo.getSettleDomainName())
&& Common.isEmpty(searchVo.getSocialCreateMonth())
&& Common.isEmpty(searchVo.getSocialPayMonth())
&& Common.isEmpty(searchVo.getSocialProvince())
&& Common.isEmpty(searchVo.getSecondIndicatorBelong())){
// 只有社保户
if (Common.isNotNull(searchVo.getSocialHousehold())){
return R.ok(baseMapper.selectCountPaymentSearchInfoSocial(searchVo));
}
//只有公积金户
if (Common.isNotNull(searchVo.getProvidentHousehold())){
return R.ok(baseMapper.selectCountPaymentSearchInfoFund(searchVo));
}
}
return R.ok(baseMapper.selectCountSumPaymentInfo(searchVo));
}
/**
* @Author fxj
* @Description 缴费库查询合并导出 校验, 生成月份为空时 导出条数超出2W 前端给提示
* @Date 15:13 2024/8/5
* @Param
* @return
**/
@Override
public R<Integer> sumSearchExportCheck(HttpServletResponse response, TPaymentInfoSearchVo searchVo){
if (Common.isEmpty(searchVo.getEmpIdcard())
&& Common.isEmpty(searchVo.getUnitName())
&& Common.isEmpty(searchVo.getSettleDomainName())
&& Common.isEmpty(searchVo.getSocialCreateMonth())
&& Common.isEmpty(searchVo.getSocialPayMonth())
&& Common.isEmpty(searchVo.getSocialProvince())
&& Common.isEmpty(searchVo.getSecondIndicatorBelong())){
// 只有社保户
if (Common.isNotNull(searchVo.getSocialHousehold())){
return R.ok(baseMapper.selectCountPaymentSearchInfoSocialByLimit(searchVo));
}
//只有公积金户
if (Common.isNotNull(searchVo.getProvidentHousehold())){
return R.ok(baseMapper.selectCountPaymentSearchInfoSocialByLimit(searchVo));
}
}
return R.ok(baseMapper.selectCountPaymentSearchInfo(searchVo));
}
} }
...@@ -26,7 +26,7 @@ mybatis-plus: ...@@ -26,7 +26,7 @@ mybatis-plus:
logic-not-delete-value: 0 logic-not-delete-value: 0
configuration: configuration:
map-underscore-to-camel-case: true map-underscore-to-camel-case: true
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# spring security 配置 # spring security 配置
security: security:
......
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