Commit aba68e5f authored by hongguangwu's avatar hongguangwu

MVP1.7.18-正常分支-查询条件与2个导出

parent 67af361d
...@@ -51,13 +51,13 @@ public class FailReasonConfig extends BaseEntity { ...@@ -51,13 +51,13 @@ public class FailReasonConfig extends BaseEntity {
@Schema(description = "关键字") @Schema(description = "关键字")
private String reasonKey; private String reasonKey;
/** /**
* 精简原因 * 精简失败原因
*/ */
@ExcelAttribute(name = "精简原因", isNotEmpty = true, errorInfo = "精简原因不能为空", maxLength = 200) @ExcelAttribute(name = "精简失败原因", isNotEmpty = true, errorInfo = "精简失败原因不能为空", maxLength = 200)
@NotBlank(message = "精简原因不能为空") @NotBlank(message = "精简失败原因不能为空")
@Length(max = 200, message = "精简原因不能超过200个字符") @Length(max = 200, message = "精简失败原因不能超过200个字符")
@ExcelProperty("精简原因") @ExcelProperty("精简失败原因")
@Schema(description = "精简原因") @Schema(description = "精简失败原因")
private String simpleReason; private String simpleReason;
/** /**
* 重新办理动作 1 继续办理 2 中止办理 3 人工办理 * 重新办理动作 1 继续办理 2 中止办理 3 人工办理
......
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
/**
* 失败原因配置-导出Vo
*/
@Data
@ColumnWidth(17)
public class FailReasonConfigExport {
@ExcelProperty("失败原因")
private String reason;
@ExcelProperty("关键字")
private String reasonKey;
@ExcelProperty("精简失败原因")
private String simpleReason;
@ExcelProperty("重新办理动作")
private String replay;
@ExcelProperty("状态")
private String status;
@ExcelProperty("更新人")
private String updateName;
@ExcelProperty("更新时间")
private String updateTime;
@ExcelProperty("创建人")
private String createName;
@ExcelProperty("创建时间")
private String createTime;
}
\ No newline at end of file
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 失败原因配置
*
* @author hgw
* @date 2025-12-09 15:55:26
*/
@Data
public class FailReasonConfigSearchVo extends FailReasonConfig {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
private List<String> idList;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
/**
* 社保医疗截止日配置-导出Vo
*/
@Data
@ColumnWidth(17)
public class TSocialDeadlineInfoExport {
@ExcelProperty("月份")
private String month;
@ExcelProperty("缴纳地")
private String provinceCityTown;
@ExcelProperty("社保增员起始日期")
private String socialStartDate;
@ExcelProperty("社保增员截止日期")
private String socialEndDate;
@ExcelProperty("社保减员起始日期")
private String socialStartDateReduce;
@ExcelProperty("社保减员截止日期")
private String socialEndDateReduce;
@ExcelProperty("社保预减员起始日期")
private String socialPreReduceStartDate;
@ExcelProperty("社保预减员截止日期")
private String socialPreReduceEndDate;
@ExcelProperty("医保增员起始日期")
private String medicalStartDate;
@ExcelProperty("医保增员截止日期")
private String medicalEndDate;
@ExcelProperty("医保减员起始日期")
private String medicalStartDateReduce;
@ExcelProperty("医保减员截止日期")
private String medicalEndDateReduce;
@ExcelProperty("更新人")
private String updateName;
@ExcelProperty("更新时间")
private String updateTime;
// 0 非基础配置 1基础配置
@ExcelProperty("基准")
private String type;
// 启用禁用:0启用 1 禁用
@ExcelProperty("状态")
private String status;
}
...@@ -21,6 +21,7 @@ import io.swagger.v3.oas.annotations.media.Schema; ...@@ -21,6 +21,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* 社保医疗截止日配置 * 社保医疗截止日配置
...@@ -31,47 +32,49 @@ import java.time.LocalDateTime; ...@@ -31,47 +32,49 @@ import java.time.LocalDateTime;
@Data @Data
public class TSocialDeadlineInfoSearchVo extends TSocialDeadlineInfo { public class TSocialDeadlineInfoSearchVo extends TSocialDeadlineInfo {
/** /**
* 多选导出或删除等操作 * 多选导出或删除等操作
*/ */
@Schema(description = "选中ID,多个逗号分割") @Schema(description = "选中ID,多个逗号分割")
private String ids; private String ids;
/** /**
* 创建时间区间 [开始时间,结束时间] * 创建时间区间 [开始时间,结束时间]
*/ */
@Schema(description = "创建时间区间") @Schema(description = "创建时间区间")
private LocalDateTime[] createTimes; private LocalDateTime[] createTimes;
@Schema(description = "更新时间起") @Schema(description = "更新时间起")
private LocalDateTime updateTimeStart; private LocalDateTime updateTimeStart;
@Schema(description = "更新时间止") @Schema(description = "更新时间止")
private LocalDateTime updateTimeEnd; private LocalDateTime updateTimeEnd;
/** /**
* @Author fxj * @Author fxj
* 查询数据起 * 查询数据起
**/ **/
@Schema(description = "查询limit 开始") @Schema(description = "查询limit 开始")
private int limitStart; private int limitStart;
/** /**
* @Author fxj * @Author fxj
* 查询数据止 * 查询数据止
**/ **/
@Schema(description = "查询limit 数据条数") @Schema(description = "查询limit 数据条数")
private int limitEnd; private int limitEnd;
/** /**
* @Author fxj * @Author fxj
* 月份起时间 * 月份起时间
**/ **/
@Schema(description = "查询month 开始") @Schema(description = "查询month 开始")
private int monthStart; private int monthStart;
/** /**
* @Author fxj * @Author fxj
* 月份止时间 * 月份止时间
**/ **/
@Schema(description = "查询month 数据条数") @Schema(description = "查询month 数据条数")
private int monthEnd; private int monthEnd;
private List<String> idList;
} }
...@@ -11,11 +11,14 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; ...@@ -11,11 +11,14 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig; import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig;
import com.yifu.cloud.plus.v1.yifu.social.service.FailReasonConfigService; import com.yifu.cloud.plus.v1.yifu.social.service.FailReasonConfigService;
import com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigSearchVo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
...@@ -126,4 +129,16 @@ public class FailReasonConfigController { ...@@ -126,4 +129,16 @@ public class FailReasonConfigController {
return R.ok(failReasonConfigService.removeById(id)); return R.ok(failReasonConfigService.removeById(id));
} }
/**
* 失败原因配置批量导出
* @author hgw
* @date 2025-12-09 15:55:26
**/
@Operation(description = "失败原因配置批量导出")
@SysLog("失败原因配置批量导出")
@PostMapping("/export")
public void export(HttpServletResponse response, @RequestBody FailReasonConfigSearchVo searchVo) {
failReasonConfigService.listExport(response,searchVo);
}
} }
\ No newline at end of file
...@@ -17,13 +17,9 @@ ...@@ -17,13 +17,9 @@
package com.yifu.cloud.plus.v1.yifu.social.controller; package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil; import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
...@@ -34,7 +30,6 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; ...@@ -34,7 +30,6 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner; import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeRate;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialDeadlineInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialDeadlineInfo;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialDeadlineInfoService; import com.yifu.cloud.plus.v1.yifu.social.service.TSocialDeadlineInfoService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoSearchVo;
...@@ -195,14 +190,14 @@ public class TSocialDeadlineInfoController { ...@@ -195,14 +190,14 @@ public class TSocialDeadlineInfoController {
} }
/** /**
* 社保医疗截止日配置 批量导出 * @Description: 办理截止日期批量导出
* * @Author: hgw
* @author fxj * @Date: 2025/12/9 17:09
* @date 2024-05-08 11:52:09 * @return: void
**/ **/
@Operation(description = "导出社保医疗截止日配置 hasPermission('demo_tsocialdeadlineinfo-export')") @Operation(description = "办理截止日期批量导出")
@SysLog("办理截止日期批量导出")
@PostMapping("/export") @PostMapping("/export")
@PreAuthorize("@pms.hasPermission('demo_tsocialdeadlineinfo-export')")
public void export(HttpServletResponse response, @RequestBody TSocialDeadlineInfoSearchVo searchVo) { public void export(HttpServletResponse response, @RequestBody TSocialDeadlineInfoSearchVo searchVo) {
tSocialDeadlineInfoService.listExport(response, searchVo); tSocialDeadlineInfoService.listExport(response, searchVo);
} }
......
...@@ -3,7 +3,11 @@ package com.yifu.cloud.plus.v1.yifu.social.mapper; ...@@ -3,7 +3,11 @@ package com.yifu.cloud.plus.v1.yifu.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveExportVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig; import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig;
import com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigExport;
import com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigSearchVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -32,4 +36,8 @@ public interface FailReasonConfigMapper extends BaseMapper<FailReasonConfig> { ...@@ -32,4 +36,8 @@ public interface FailReasonConfigMapper extends BaseMapper<FailReasonConfig> {
// 获取户里的配置 // 获取户里的配置
List<FailReasonConfig> getFailReasonConfigListByHu(); List<FailReasonConfig> getFailReasonConfigListByHu();
int getFailReasonConfigExportCount(@Param("failReasonConfig") FailReasonConfigSearchVo failReasonConfig);
List<FailReasonConfigExport> getFailReasonConfigListExport(@Param("failReasonConfig") FailReasonConfigSearchVo failReasonConfig);
} }
...@@ -21,9 +21,15 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -21,9 +21,15 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialDeadlineInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialDeadlineInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigExport;
import com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoExport;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoSearchVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 社保医疗截止日配置 * 社保医疗截止日配置
* *
...@@ -39,4 +45,9 @@ public interface TSocialDeadlineInfoMapper extends BaseMapper<TSocialDeadlineInf ...@@ -39,4 +45,9 @@ public interface TSocialDeadlineInfoMapper extends BaseMapper<TSocialDeadlineInf
* @return * @return
*/ */
IPage<TSocialDeadlineInfo> getTSocialDeadlineInfoPage(Page<TSocialDeadlineInfo> page, @Param("tSocialDeadlineInfo") TSocialDeadlineInfo tSocialDeadlineInfo); IPage<TSocialDeadlineInfo> getTSocialDeadlineInfoPage(Page<TSocialDeadlineInfo> page, @Param("tSocialDeadlineInfo") TSocialDeadlineInfo tSocialDeadlineInfo);
int getTSocialDeadlineInfoExportCount(@Param("tSocialDeadlineInfo") TSocialDeadlineInfoSearchVo tSocialDeadlineInfo);
List<TSocialDeadlineInfoExport> getTSocialDeadlineInfoListExport(@Param("tSocialDeadlineInfo") TSocialDeadlineInfoSearchVo tSocialDeadlineInfo);
} }
...@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig; import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig;
import com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -32,4 +34,8 @@ public interface FailReasonConfigService extends IService<FailReasonConfig> { ...@@ -32,4 +34,8 @@ public interface FailReasonConfigService extends IService<FailReasonConfig> {
* @return: java.util.Map<java.lang.String, com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig> * @return: java.util.Map<java.lang.String, com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig>
**/ **/
Map<String, FailReasonConfig> getFailReasonMap(); Map<String, FailReasonConfig> getFailReasonMap();
// 导出
void listExport(HttpServletResponse response, FailReasonConfigSearchVo searchVo);
} }
\ No newline at end of file
...@@ -47,6 +47,7 @@ public interface TSocialDeadlineInfoService extends IService<TSocialDeadlineInfo ...@@ -47,6 +47,7 @@ public interface TSocialDeadlineInfoService extends IService<TSocialDeadlineInfo
R<List<ErrorMessage>> importDiy(InputStream inputStream); R<List<ErrorMessage>> importDiy(InputStream inputStream);
// 办理截止日期批量导出
void listExport(HttpServletResponse response, TSocialDeadlineInfoSearchVo searchVo); void listExport(HttpServletResponse response, TSocialDeadlineInfoSearchVo searchVo);
List<TSocialDeadlineInfo> noPageDiy(TSocialDeadlineInfoSearchVo searchVo); List<TSocialDeadlineInfo> noPageDiy(TSocialDeadlineInfoSearchVo searchVo);
......
package com.yifu.cloud.plus.v1.yifu.social.service.impl; package com.yifu.cloud.plus.v1.yifu.social.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveExportVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ExcelUtil;
import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig; import com.yifu.cloud.plus.v1.yifu.social.entity.FailReasonConfig;
import com.yifu.cloud.plus.v1.yifu.social.mapper.FailReasonConfigMapper; import com.yifu.cloud.plus.v1.yifu.social.mapper.FailReasonConfigMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.FailReasonConfigService; import com.yifu.cloud.plus.v1.yifu.social.service.FailReasonConfigService;
import com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigExport;
import com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigSearchVo;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -62,4 +78,57 @@ public class FailReasonConfigServiceImpl extends ServiceImpl<FailReasonConfigMap ...@@ -62,4 +78,57 @@ public class FailReasonConfigServiceImpl extends ServiceImpl<FailReasonConfigMap
return map; return map;
} }
@Override
public void listExport(HttpServletResponse response, FailReasonConfigSearchVo searchVo) {
String fileName = "失败原因配置批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<FailReasonConfigExport> list = new ArrayList<>();
//获取要导出的列表
if (Common.isNotNull(searchVo.getIds())) {
searchVo.setIdList(Common.getList(searchVo.getIds()));
}
long count = baseMapper.getFailReasonConfigExportCount(searchVo);
ServletOutputStream out = null;
try {
out = response.getOutputStream();
response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcelFactory.write(out, FailReasonConfigExport.class).build();
int index = 0;
if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getFailReasonConfigListExport(searchVo);
if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcelFactory.writerSheet("失败原因配置" + index).build();
excelWriter.write(list, writeSheet);
index++;
}
}
} else {
WriteSheet writeSheet = EasyExcelFactory.writerSheet("失败原因配置" + index).build();
excelWriter.write(list, writeSheet);
}
if (Common.isNotNull(list)) {
list.clear();
}
out.flush();
excelWriter.finish();
} catch (Exception e) {
log.error("执行异常", e);
} finally {
try {
if (null != out) {
out.close();
}
} catch (IOException e) {
log.error("执行异常", e);
}
}
}
} }
\ No newline at end of file
...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.social.service.impl; ...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.social.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener; import com.alibaba.excel.read.listener.ReadListener;
...@@ -31,6 +32,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -31,6 +32,8 @@ 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;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveExportVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
...@@ -39,6 +42,7 @@ import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialDeadlineInfo; ...@@ -39,6 +42,7 @@ import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialDeadlineInfo;
import com.yifu.cloud.plus.v1.yifu.social.mapper.THolidayInfoMapper; import com.yifu.cloud.plus.v1.yifu.social.mapper.THolidayInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialDeadlineInfoMapper; import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialDeadlineInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialDeadlineInfoService; import com.yifu.cloud.plus.v1.yifu.social.service.TSocialDeadlineInfoService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoExport;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -77,18 +81,17 @@ public class TSocialDeadlineInfoServiceImpl extends ServiceImpl<TSocialDeadlineI ...@@ -77,18 +81,17 @@ public class TSocialDeadlineInfoServiceImpl extends ServiceImpl<TSocialDeadlineI
return baseMapper.getTSocialDeadlineInfoPage(page, tSocialDeadlineInfo); return baseMapper.getTSocialDeadlineInfoPage(page, tSocialDeadlineInfo);
} }
/**
* 社保医疗截止日配置批量导出
*
* @param searchVo 社保医疗截止日配置
* @return
*/
@Override @Override
public void listExport(HttpServletResponse response, TSocialDeadlineInfoSearchVo searchVo) { public void listExport(HttpServletResponse response, TSocialDeadlineInfoSearchVo searchVo) {
String fileName = "社保医疗截止日配置批量导出" + DateUtil.getThisTime() + ".xlsx"; String fileName = "办理截止日期批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TSocialDeadlineInfoExport> list = new ArrayList<>();
//获取要导出的列表 //获取要导出的列表
List<TSocialDeadlineInfo> list = new ArrayList<>(); if (Common.isNotNull(searchVo.getIds())) {
long count = noPageCountDiy(searchVo); searchVo.setIdList(Common.getList(searchVo.getIds()));
}
//权限赋值
long count = baseMapper.getTSocialDeadlineInfoExportCount(searchVo);
ServletOutputStream out = null; ServletOutputStream out = null;
try { try {
out = response.getOutputStream(); out = response.getOutputStream();
...@@ -96,33 +99,22 @@ public class TSocialDeadlineInfoServiceImpl extends ServiceImpl<TSocialDeadlineI ...@@ -96,33 +99,22 @@ public class TSocialDeadlineInfoServiceImpl extends ServiceImpl<TSocialDeadlineI
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8)); response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭 // 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
//EasyExcel.write(out, TEmpBadRecord.class).sheet("不良记录").doWrite(list); ExcelWriter excelWriter = EasyExcelFactory.write(out, TSocialDeadlineInfoExport.class).build();
ExcelWriter excelWriter = EasyExcel.write(out, TSocialDeadlineInfo.class).build();
int index = 0; int index = 0;
if (count > CommonConstants.ZERO_INT) { if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; ) { for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录 // 获取实际记录
searchVo.setLimitStart(i); searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT); searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = noPageDiy(searchVo); list = baseMapper.getTSocialDeadlineInfoListExport(searchVo);
if (Common.isNotNull(list)) {
ExcelUtil<TSocialDeadlineInfo> util = new ExcelUtil<>(TSocialDeadlineInfo.class);
for (TSocialDeadlineInfo vo : list) {
util.convertEntity(vo, null, null, null);
}
}
if (Common.isNotNull(list)) { if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcel.writerSheet("社保医疗截止日配置" + index).build(); WriteSheet writeSheet = EasyExcelFactory.writerSheet("办理截止日期" + index).build();
excelWriter.write(list, writeSheet); excelWriter.write(list, writeSheet);
index++; index++;
} }
i = i + CommonConstants.EXCEL_EXPORT_LIMIT;
if (Common.isNotNull(list)) {
list.clear();
}
} }
} else { } else {
WriteSheet writeSheet = EasyExcel.writerSheet("社保医疗截止日配置" + index).build(); WriteSheet writeSheet = EasyExcelFactory.writerSheet("办理截止日期" + index).build();
excelWriter.write(list, writeSheet); excelWriter.write(list, writeSheet);
} }
if (Common.isNotNull(list)) { if (Common.isNotNull(list)) {
......
...@@ -42,10 +42,10 @@ ...@@ -42,10 +42,10 @@
AND a.REASON LIKE concat('%',#{failReasonConfig.reason},'%') AND a.REASON LIKE concat('%',#{failReasonConfig.reason},'%')
</if> </if>
<if test="failReasonConfig.reasonKey != null and failReasonConfig.reasonKey.trim() != ''"> <if test="failReasonConfig.reasonKey != null and failReasonConfig.reasonKey.trim() != ''">
AND a.REASON_KEY = #{failReasonConfig.reasonKey} AND a.REASON_KEY LIKE concat('%',#{failReasonConfig.reasonKey},'%')
</if> </if>
<if test="failReasonConfig.simpleReason != null and failReasonConfig.simpleReason.trim() != ''"> <if test="failReasonConfig.simpleReason != null and failReasonConfig.simpleReason.trim() != ''">
AND a.SIMPLE_REASON = #{failReasonConfig.simpleReason} AND a.SIMPLE_REASON LIKE concat('%',#{failReasonConfig.simpleReason},'%')
</if> </if>
<if test="failReasonConfig.replay != null and failReasonConfig.replay.trim() != ''"> <if test="failReasonConfig.replay != null and failReasonConfig.replay.trim() != ''">
AND a.REPLAY = #{failReasonConfig.replay} AND a.REPLAY = #{failReasonConfig.replay}
...@@ -56,6 +56,12 @@ ...@@ -56,6 +56,12 @@
<if test="failReasonConfig.isReplace != null and failReasonConfig.isReplace.trim() != ''"> <if test="failReasonConfig.isReplace != null and failReasonConfig.isReplace.trim() != ''">
AND a.IS_REPLACE = #{failReasonConfig.isReplace} AND a.IS_REPLACE = #{failReasonConfig.isReplace}
</if> </if>
<if test="failReasonConfig.createName != null and failReasonConfig.createName.trim() != ''">
AND a.CREATE_NAME LIKE concat('%',#{failReasonConfig.createName},'%')
</if>
<if test="failReasonConfig.updateName != null and failReasonConfig.updateName.trim() != ''">
AND a.UPDATE_NAME LIKE concat('%',#{failReasonConfig.updateName},'%')
</if>
</if> </if>
</sql> </sql>
<!--failReasonConfig简单分页查询--> <!--failReasonConfig简单分页查询-->
...@@ -114,4 +120,57 @@ ...@@ -114,4 +120,57 @@
LEFT JOIN fail_reason_config a on r.FAIL_ID=a.id LEFT JOIN fail_reason_config a on r.FAIL_ID=a.id
where a.status = '0' where a.status = '0'
</select> </select>
<!-- 导出查条数 -->
<select id="getFailReasonConfigExportCount" resultType="java.lang.Integer">
SELECT
count(1)
FROM fail_reason_config a
<where>
1=1
<include refid="failReasonConfig_where"/>
<if test="failReasonConfig != null">
<if test="failReasonConfig.idList != null">
AND a.id in
<foreach item="idStr" index="index" collection="failReasonConfig.idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</if>
</where>
</select>
<!-- 导出数据 -->
<select id="getFailReasonConfigListExport" resultType="com.yifu.cloud.plus.v1.yifu.social.vo.FailReasonConfigExport">
SELECT
a.REASON reason,
a.REASON_KEY reasonKey,
a.SIMPLE_REASON simpleReason,
case a.REPLAY when '1' then '继续办理' when '2' then '中止办理' when '3' then '人工办理' else a.REPLAY end replay,
if(a.STATUS = '0','正常','禁用') status,
a.UPDATE_NAME updateName,
DATE_FORMAT(a.UPDATE_TIME,'%Y-%m-%d %H:%i:%s') updateTime,
a.CREATE_NAME createName,
DATE_FORMAT(a.CREATE_TIME,'%Y-%m-%d %H:%i:%s') createTime
FROM fail_reason_config a
<where>
1=1
<include refid="failReasonConfig_where"/>
<if test="failReasonConfig != null">
<if test="failReasonConfig.idList != null">
AND a.id in
<foreach item="idStr" index="index" collection="failReasonConfig.idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</if>
</where>
order by a.CREATE_TIME desc
<if test="failReasonConfig != null">
<if test="failReasonConfig.limitStart != null">
limit #{failReasonConfig.limitStart},#{failReasonConfig.limitEnd}
</if>
</if>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -144,4 +144,70 @@ ...@@ -144,4 +144,70 @@
order by a.month DESC order by a.month DESC
,a.id desc ,a.id desc
</select> </select>
<!-- 导出查条数 -->
<select id="getTSocialDeadlineInfoExportCount" resultType="java.lang.Integer">
SELECT
count(1)
FROM t_social_deadline_info a
<where>
1=1
<include refid="tSocialDeadlineInfo_where"/>
<if test="tSocialDeadlineInfo != null">
<if test="tSocialDeadlineInfo.idList != null">
AND a.id in
<foreach item="idStr" index="index" collection="tSocialDeadlineInfo.idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</if>
</where>
</select>
<!-- 导出数据 -->
<select id="getTSocialDeadlineInfoListExport" resultType="com.yifu.cloud.plus.v1.yifu.social.vo.TSocialDeadlineInfoExport">
SELECT
a.MONTH month,
concat(ifnull(sp.AREA_NAME,'')
,if(sc.AREA_NAME is not null,concat('/',sc.AREA_NAME),'')
,if(st.AREA_NAME is not null,concat('/',st.AREA_NAME),'')
) provinceCityTown,
DATE_FORMAT(a.SOCIAL_START_DATE,'%Y-%m-%d %H:%i') socialStartDate,
DATE_FORMAT(a.SOCIAL_END_DATE,'%Y-%m-%d %H:%i') socialEndDate,
DATE_FORMAT(a.SOCIAL_START_DATE_REDUCE,'%Y-%m-%d %H:%i') socialStartDateReduce,
DATE_FORMAT(a.SOCIAL_END_DATE_REDUCE,'%Y-%m-%d %H:%i') socialEndDateReduce,
DATE_FORMAT(a.SOCIAL_PRE_REDUCE_START_DATE,'%Y-%m-%d %H:%i') socialPreReduceStartDate,
DATE_FORMAT(a.SOCIAL_PRE_REDUCE_END_DATE,'%Y-%m-%d %H:%i') socialPreReduceEndDate,
DATE_FORMAT(a.MEDICAL_START_DATE,'%Y-%m-%d %H:%i') medicalStartDate,
DATE_FORMAT(a.MEDICAL_END_DATE,'%Y-%m-%d %H:%i') medicalEndDate,
DATE_FORMAT(a.MEDICAL_START_DATE_REDUCE,'%Y-%m-%d %H:%i') medicalStartDateReduce,
DATE_FORMAT(a.MEDICAL_END_DATE_REDUCE,'%Y-%m-%d %H:%i') medicalEndDateReduce,
a.UPDATE_NAME updateName,
DATE_FORMAT(a.UPDATE_TIME,'%Y-%m-%d %H:%i:%s') updateTime,
if(a.TYPE='0','非基础配置','基础配置') type,
if(a.status='0','启用','禁用') status
FROM t_social_deadline_info a
left join sys_area sp on sp.id = a.PROVINCE
left join sys_area sc on sc.id = a.CITY
left join sys_area st on st.id = a.TOWN
<where>
1=1
<include refid="tSocialDeadlineInfo_where"/>
<if test="tSocialDeadlineInfo != null">
<if test="tSocialDeadlineInfo.idList != null">
AND a.id in
<foreach item="idStr" index="index" collection="tSocialDeadlineInfo.idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</if>
</where>
order by a.month DESC,a.id desc
<if test="tSocialDeadlineInfo != null">
<if test="tSocialDeadlineInfo.limitStart != null">
limit #{tSocialDeadlineInfo.limitStart},#{tSocialDeadlineInfo.limitEnd}
</if>
</if>
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment