Commit 0847b9f6 authored by hongguangwu's avatar hongguangwu

社保公积金查询-导出

parent d5baee3f
......@@ -340,7 +340,7 @@ public class TDispatchInfo extends BaseEntity {
* 业务细分 personnel_type_sub
*/
@ExcelAttribute(name = "业务细分", maxLength = 32)
@Schema(description = "业务细分", name = "contractName")
@Schema(description = "业务细分", name = "contractSubName")
private String contractSubName;
/**
......
......@@ -225,28 +225,28 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelProperty("公积金户" )
private String providentHouseholdName;
/**
* 缴纳地-省
* 公积金缴纳地-省
*/
@Length(max = 32, message = "缴纳地-省 不能超过32个字符" )
@ExcelAttribute(name = "缴纳地-省", maxLength = 32)
@Schema(description = "缴纳地-省" )
@ExcelProperty("缴纳地-省" )
@Length(max = 32, message = "公积金缴纳地-省 不能超过32个字符" )
@ExcelAttribute(name = "公积金缴纳地-省", maxLength = 32)
@Schema(description = "公积金缴纳地-省" )
@ExcelProperty("公积金缴纳地-省" )
private String fundProvince;
/**
* 缴纳地-市
* 公积金缴纳地-市
*/
@Length(max = 32, message = "缴纳地-市 不能超过32个字符" )
@ExcelAttribute(name = "缴纳地-市", maxLength = 32)
@Schema(description = "缴纳地-市" )
@ExcelProperty("缴纳地-市" )
@Length(max = 32, message = "公积金缴纳地-市 不能超过32个字符" )
@ExcelAttribute(name = "公积金缴纳地-市", maxLength = 32)
@Schema(description = "公积金缴纳地-市" )
@ExcelProperty("公积金缴纳地-市" )
private String fundCity;
/**
* 缴纳地-县
* 公积金缴纳地-县
*/
@Length(max = 32, message = "缴纳地-县 不能超过32个字符" )
@ExcelAttribute(name = "缴纳地-县", maxLength = 32)
@Schema(description = "缴纳地-县" )
@ExcelProperty("缴纳地-县" )
@Length(max = 32, message = "公积金缴纳地-县 不能超过32个字符" )
@ExcelAttribute(name = "公积金缴纳地-县", maxLength = 32)
@Schema(description = "公积金缴纳地-县" )
@ExcelProperty("公积金缴纳地-县" )
private String fundTown;
/**
* 社保派增状态:0待审核、1待办理、2办理成功、3部分办理失败、4办理失败
......
......@@ -21,6 +21,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 社保公积金查询表
......@@ -31,28 +32,29 @@ import java.time.LocalDateTime;
@Data
public class TSocialFundInfoSearchVo extends TSocialFundInfo {
/**
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
private List<String> idList;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
@Schema(description = "查询limit 数据条数")
private int limitEnd;
}
......@@ -21,6 +21,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -57,4 +59,7 @@ public interface TSocialFundInfoMapper extends BaseMapper<TSocialFundInfo> {
**/
List<TSocialFundInfo> getFundList(@Param("empIdCard") String empIdCard, @Param("settleDomainIds") List<String> settleDomainIds);
List<TSocialFundInfoExportVo> exportList(@Param("tSocialFundInfo") TSocialFundInfoSearchVo tSocialFundInfo);
}
......@@ -53,6 +53,12 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> {
**/
R<List<ErrorMessage>> importDiy(InputStream inputStream);
/**
* @Description: 导出
* @Author: hgw
* @Date: 2022/7/26 16:45
* @return: void
**/
void listExport(HttpServletResponse response, TSocialFundInfoSearchVo searchVo);
List<TSocialFundInfo> noPageDiy(TSocialFundInfoSearchVo searchVo);
......
......@@ -40,10 +40,7 @@ import com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants;
import com.yifu.cloud.plus.v1.yifu.social.entity.*;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialFundInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.*;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundHistoryVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
......@@ -99,7 +96,7 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
public void listExport(HttpServletResponse response, TSocialFundInfoSearchVo searchVo) {
String fileName = "社保公积金批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TSocialFundInfo> list = new ArrayList<>();
List<TSocialFundInfoExportVo> list = new ArrayList<>();
long count = noPageCountDiy(searchVo);
ServletOutputStream out = null;
try {
......@@ -115,10 +112,10 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = noPageDiy(searchVo);
list = export(searchVo);
if (Common.isNotNull(list)) {
ExcelUtil<TSocialFundInfo> util = new ExcelUtil<>(TSocialFundInfo.class);
for (TSocialFundInfo vo : list) {
ExcelUtil<TSocialFundInfoExportVo> util = new ExcelUtil<>(TSocialFundInfoExportVo.class);
for (TSocialFundInfoExportVo vo : list) {
util.convertEntity(vo, null, null, null);
}
}
......@@ -162,6 +159,14 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
return baseMapper.selectList(wrapper);
}
private List<TSocialFundInfoExportVo> export(TSocialFundInfoSearchVo searchVo) {
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
searchVo.setIdList(idList);
}
return baseMapper.exportList(searchVo);
}
private Long noPageCountDiy(TSocialFundInfoSearchVo searchVo) {
LambdaQueryWrapper<TSocialFundInfo> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
......
......@@ -157,8 +157,110 @@
<result property="dispatchId" column="DISPATCH_ID"/>
</resultMap>
<!-- 社保公积金查询的导出专用 -->
<resultMap id="exportMap" type="com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoExportVo">
<id property="id" column="ID"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="empType" column="EMP_TYPE"/>
<result property="empMobile" column="EMP_MOBILE"/>
<result property="settleDomainCode" column="SETTLE_DOMAIN_CODE"/>
<result property="unitName" column="UNIT_NAME"/>
<result property="settleDomainName" column="SETTLE_DOMAIN_NAME"/>
<result property="idCardProvince" column="ID_CARD_PROVINCE"/>
<result property="idCardCity" column="ID_CARD_CITY"/>
<result property="idCardTown" column="ID_CARD_TOWN"/>
<result property="idCardAddress" column="ID_CARD_ADDRESS"/>
<result property="fileProvince" column="FILE_PROVINCE"/>
<result property="fileCity" column="FILE__CITY"/>
<result property="fileTown" column="FILE__TOWN"/>
<result property="post" column="POST"/>
<result property="tryPeriod" column="TRY_PERIOD"/>
<result property="workingHours" column="WORKING_HOURS"/>
<result property="contractName" column="CONTRACT_NAME"/>
<result property="contractSubName" column="CONTRACT_SUB_NAME"/>
<result property="contractParty" column="CONTRACT_PARTY"/>
<result property="contractType" column="CONTRACT_TYPE"/>
<result property="contractStart" column="CONTRACT_START"/>
<result property="contractEnd" column="CONTRACT_END"/>
<result property="contractTerm" column="CONTRACT_TERM"/>
<result property="educationName" column="EDUCATION_NAME"/>
<result property="recordBase" column="RECORD_BASE"/>
<result property="socialStatus" column="SOCIAL_STATUS"/>
<result property="fundStatus" column="FUND_STATUS"/>
<result property="socialStartDate" column="SOCIAL_START_DATE"/>
<result property="providentStart" column="PROVIDENT_START"/>
<result property="socialReduceDate" column="SOCIAL_REDUCE_DATE"/>
<result property="fundReduceDate" column="FUND_REDUCE_DATE"/>
<result property="unitSocialSum" column="UNIT_SOCIAL_SUM"/>
<result property="personalSocialSum" column="PERSONAL_SOCIAL_SUM"/>
<result property="unitFundSum" column="UNIT_FUND_SUM"/>
<result property="personalFundSum" column="PERSONAL_FUND_SUM"/>
<result property="allSum" column="ALL_SUM"/>
<result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/>
<result property="socialProvince" column="SOCIAL_PROVINCE"/>
<result property="socialCity" column="SOCIAL_CITY"/>
<result property="socialTown" column="SOCIAL_TOWN"/>
<result property="pensionStart" column="PENSION_START"/>
<result property="medicalStart" column="MEDICAL_START"/>
<result property="unemployStart" column="UNEMPLOY_START"/>
<result property="workInjuryStart" column="WORK_INJURY_START"/>
<result property="birthStart" column="BIRTH_START"/>
<result property="bigailmentStart" column="BIGAILMENT_START"/>
<result property="paymentType" column="PAYMENT_TYPE"/>
<result property="unitPensionCardinal" column="UNIT_PENSION_CARDINAL"/>
<result property="unitMedicalCardinal" column="UNIT_MEDICAL_CARDINAL"/>
<result property="unitUnemploymentCardinal" column="UNIT_UNEMPLOYMENT_CARDINAL"/>
<result property="unitWorkInjuryCardinal" column="UNIT_WORK_INJURY_CARDINAL"/>
<result property="unitBirthCardinal" column="UNIT_BIRTH_CARDINAL"/>
<result property="unitBigailmentCardinal" column="UNIT_BIGAILMENT_CARDINAL"/>
<result property="unitPensionPer" column="UNIT_PENSION_PER"/>
<result property="unitMedicalPer" column="UNIT_MEDICAL_PER"/>
<result property="unitUnemploymentPer" column="UNIT_UNEMPLOYMENT_PER"/>
<result property="unitWorkUnjuryPer" column="UNIT_WORK_UNJURY_PER"/>
<result property="unitBirthPer" column="UNIT_BIRTH_PER"/>
<result property="unitBigailmentPer" column="UNIT_BIGAILMENT_PER"/>
<result property="unitPersionMoney" column="UNIT_PERSION_MONEY"/>
<result property="unitMedicalMoney" column="UNIT_MEDICAL_MONEY"/>
<result property="unitUnemploymentMoney" column="UNIT_UNEMPLOYMENT_MONEY"/>
<result property="unitInjuryMoney" column="UNIT_INJURY_MONEY"/>
<result property="unitBirthMoney" column="UNIT_BIRTH_MONEY"/>
<result property="unitBigailmentMoney" column="UNIT_BIGAILMENT_MONEY"/>
<result property="personalPensionPer" column="PERSONAL_PENSION_PER"/>
<result property="personalMedicalPer" column="PERSONAL_MEDICAL_PER"/>
<result property="personalUnemploymentPer" column="PERSONAL_UNEMPLOYMENT_PER"/>
<result property="personalBigailmentPer" column="PERSONAL_BIGAILMENT_PER"/>
<result property="personalPersionMoney" column="PERSONAL_PERSION_MONEY"/>
<result property="personalMedicalMoney" column="PERSONAL_MEDICAL_MONEY"/>
<result property="personalUnemploymentMoney" column="PERSONAL_UNEMPLOYMENT_MONEY"/>
<result property="personalBigailmentMoney" column="PERSONAL_BIGAILMENT_MONEY"/>
<result property="persionMoney" column="PERSION_MONEY"/>
<result property="medicalMoney" column="MEDICAL_MONEY"/>
<result property="unemploymentMoney" column="UNEMPLOYMENT_MONEY"/>
<result property="bigailmentMoney" column="BIGAILMENT_MONEY"/>
<result property="providentHouseholdName" column="PROVIDENT_HOUSEHOLD_NAME"/>
<result property="fundProvince" column="FUND_PROVINCE"/>
<result property="fundCity" column="FUND_CITY"/>
<result property="fundTown" column="FUND_TOWN"/>
<result property="unitProvidengCardinal" column="UNIT_PROVIDENG_CARDINAL"/>
<result property="unitProvidentPer" column="UNIT_PROVIDENT_PER"/>
<result property="personalProvidentPer" column="PERSONAL_PROVIDENT_PER"/>
<result property="unitFundSum2" column="UNIT_FUND_SUM2"/>
<result property="personalFundSum2" column="PERSONAL_FUND_SUM2"/>
<result property="fundSum" column="FUND_SUM"/>
<result property="trustRemark" column="TRUST_REMARK"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a
.
ID
,
a.EMP_ID,
a.EMP_NO,
a.EMP_NAME,
......@@ -289,6 +391,12 @@
</sql>
<sql id="tSocialFundInfo_where">
<if test="tSocialFundInfo != null">
<if test="tSocialFundInfo.idList != null">
AND a.id in
<foreach item="idStr" index="index" collection="tSocialFundInfo.idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
<if test="tSocialFundInfo.id != null and tSocialFundInfo.id.trim() != ''">
AND a.ID = #{tSocialFundInfo.id}
</if>
......@@ -674,4 +782,115 @@
</if>
</where>
</select>
<!--导出-->
<select id="exportList" resultMap="exportMap">
select
a.ID,
a.EMP_NAME,
a.EMP_IDCARD,
a.EMP_TYPE,
d.EMP_MOBILE,
a.UNIT_NAME,
a.SETTLE_DOMAIN_NAME,
d.ID_CARD_PROVINCE,
d.ID_CARD_CITY,
d.ID_CARD_TOWN,
d.ID_CARD_ADDRESS,
d.FILE_PROVINCE,
d.FILE_CITY,
d.FILE_TOWN,
d.POST,
d.TRY_PERIOD,
d.WORKING_HOURS,
d.CONTRACT_NAME,
d.CONTRACT_SUB_NAME,
a.SOCIAL_HOUSEHOLD_NAME CONTRACT_PARTY,
d.CONTRACT_TYPE,
d.CONTRACT_START,
d.CONTRACT_END,
d.CONTRACT_TERM,
d.EDUCATION_NAME,
a.RECORD_BASE,
a.SOCIAL_STATUS,
a.FUND_STATUS,
a.SOCIAL_START_DATE,
a.PROVIDENT_START,
a.SOCIAL_REDUCE_DATE,
a.FUND_REDUCE_DATE,
a.UNIT_SOCIAL_SUM,
a.PERSONAL_SOCIAL_SUM,
a.UNIT_FUND_SUM,
a.PERSONAL_FUND_SUM,
ifnull(a.UNIT_SOCIAL_SUM,0) + ifnull(a.PERSONAL_SOCIAL_SUM,0) + ifnull(a.UNIT_FUND_SUM,0) + ifnull(a.PERSONAL_FUND_SUM,0) ALL_SUM,
a.SOCIAL_HOUSEHOLD_NAME,
a.SOCIAL_PROVINCE,
a.SOCIAL_CITY,
a.SOCIAL_TOWN,
a.PENSION_START,
a.MEDICAL_START,
a.UNEMPLOY_START,
a.WORK_INJURY_START,
a.BIRTH_START,
a.BIGAILMENT_START,
a.PAYMENT_TYPE,
a.UNIT_PENSION_CARDINAL,
a.UNIT_PENSION_PER,
a.PERSONAL_PENSION_PER,
a.UNIT_PERSION_MONEY,
a.PERSONAL_PERSION_MONEY,
ifnull(a.UNIT_PERSION_MONEY,0) + ifnull(a.PERSONAL_PERSION_MONEY,0) PERSION_MONEY,
a.UNIT_MEDICAL_CARDINAL,
a.UNIT_MEDICAL_PER,
a.PERSONAL_MEDICAL_PER,
a.UNIT_MEDICAL_MONEY,
a.PERSONAL_MEDICAL_MONEY,
ifnull(a.UNIT_MEDICAL_MONEY,0) + ifnull(a.PERSONAL_MEDICAL_MONEY,0) MEDICAL_MONEY,
a.UNIT_UNEMPLOYMENT_CARDINAL,
a.UNIT_UNEMPLOYMENT_PER,
a.PERSONAL_UNEMPLOYMENT_PER,
a.UNIT_UNEMPLOYMENT_MONEY,
a.PERSONAL_UNEMPLOYMENT_MONEY,
ifnull(a.UNIT_UNEMPLOYMENT_MONEY,0) + ifnull(a.PERSONAL_UNEMPLOYMENT_MONEY,0) UNEMPLOYMENT_MONEY,
a.UNIT_WORK_INJURY_CARDINAL,
a.UNIT_WORK_UNJURY_PER,
a.UNIT_INJURY_MONEY,
a.UNIT_BIRTH_CARDINAL,
a.UNIT_BIRTH_PER,
a.UNIT_BIRTH_MONEY,
a.UNIT_BIGAILMENT_CARDINAL,
a.UNIT_BIGAILMENT_PER,
a.PERSONAL_BIGAILMENT_PER,
a.UNIT_BIGAILMENT_MONEY,
a.PERSONAL_BIGAILMENT_MONEY,
ifnull(a.UNIT_BIGAILMENT_MONEY,0) + ifnull(a.PERSONAL_BIGAILMENT_MONEY,0) BIGAILMENT_MONEY,
a.PROVIDENT_HOUSEHOLD_NAME,
d.FUND_PROVINCE,
d.FUND_CITY,
d.FUND_TOWN,
a.UNIT_PROVIDENG_CARDINAL,
a.UNIT_PROVIDENT_PER,
a.PERSONAL_PROVIDENT_PER,
a.UNIT_FUND_SUM UNIT_FUND_SUM2,
a.PERSONAL_FUND_SUM PERSONAL_FUND_SUM2,
ifnull(a.UNIT_FUND_SUM,0) + ifnull(a.PERSONAL_FUND_SUM,0) FUND_SUM,
a.TRUST_REMARK
from t_social_fund_info a
left join t_dispatch_info d on a.DISPATCH_ID=d.ID
<where>
1=1
<include refid="tSocialFundInfo_where"/>
</where>
order by a.CREATE_TIME desc
<if test="tSocialFundInfo.limitStart != null">
limit #{tSocialFundInfo.limitStart},#{tSocialFundInfo.limitEnd}
</if>
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment