Commit cf26680f authored by hongguangwu's avatar hongguangwu

MVP1.7.12-瓜子导出offer

parent fee071c6
/*
* 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.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 导出-瓜子offer信息接收表
*
* @author hgw
* @date 2025-6-17 09:38:47
*/
@Data
public class TGzOfferInfoExportDetailVo implements Serializable {
@ExcelProperty("流程ID")
private String bizId;
@ExcelProperty("人员类别编码")
private String empType;
@ExcelProperty("人员类别名称")
private String empTypeDescr;
/**
* 外签类型:A: 洼地外签/ B:属地外签
*/
@ExcelAttribute(name = "外签类型", isDataId = true, dataType = ExcelAttributeConstants.GZ_OUT_SGIN_TYPE)
@ExcelProperty("外签类型")
private String outSginType;
/**
* 合同公司主体:公司信息表
*/
@ExcelProperty("合同公司主体")
private String comраnу;
@ExcelProperty("姓名")
private String name;
@ExcelProperty("姓名拼音")
private String nameAc;
@ExcelProperty("姓氏拼音")
private String lastNameAc;
@ExcelProperty("名字拼音")
private String firstNameAc;
@ExcelProperty("国籍编码")
private String country;
@ExcelProperty("国籍描述")
private String countryDescr;
@ExcelProperty("证件类型编码")
private String nationalIdType;
@ExcelProperty("证件类型描述")
private String nationalIdTypeDescr;
@ExcelProperty("证件号码")
private String nationalId;
@ExcelAttribute(name = "性别", isDataId = true, dataType = ExcelAttributeConstants.GZ_SEX)
@ExcelProperty("性别")
private String sex;
@ExcelProperty("个人手机号")
private String phone;
@ExcelProperty("个人邮箱")
private String email;
@ExcelProperty("直接上级姓名")
private String supervisorName;
@ExcelProperty("职务描述")
private String jobcodeDescr;
@ExcelProperty("工作地点")
private String workLocation;
@ExcelProperty("工作地点描述")
private String workLocationDescr;
@ExcelProperty("预计入职日期")
private String expEntryDate;
@ExcelProperty("部门名称")
private String deptName;
/**
* 基本工资,两位小数
*/
@ExcelProperty("基本工资")
private BigDecimal basePay;
/**
* 绩效工资,两位小数
*/
@ExcelProperty("绩效工资")
private BigDecimal perfomPay;
@ExcelProperty("年终奖月数")
private Integer yearBonusMonth;
@ExcelProperty("社保缴纳地编码")
private String socialInsuranceLocation;
@ExcelProperty("社保缴纳地")
private String socialInsuranceLocationDescr;
@ExcelProperty("社保基数")
private BigDecimal socialInsuranceBase;
@ExcelProperty("公积金基数")
private BigDecimal houseAccFundBaseMax;
/**
* 是否转正后缴纳公积金(Y:是 N:否)
*/
@ExcelAttribute(name = "是否转正后缴纳公积金", isDataId = true, readConverterExp = "Y=是,N=否")
@ExcelProperty("是否转正后缴纳公积金")
private String beRegularEmpPay;
@ExcelProperty("申请人邮箱")
private String applyUserEmail;
@ExcelProperty("接收瓜子Offer时间")
private String createTime;
@ExcelAttribute(name = "Offer短信通知状态", isDataId = true, readConverterExp = "0=已发送,1=未发送")
@ExcelProperty("Offer短信通知状态")
private String offerSendStatus;
@ExcelAttribute(name = "Offer短信通知状态", isDataId = true, readConverterExp = "3=待发送Offer,4=待接受Offer,5=拒绝Offer,7=接受offer,9=候选人填写信息,10=取消offer,12=候选人信息审核,13=待签署,8=合同审核通过,99=已归档,98=信息待收集,97=候选人审核通过")
@ExcelProperty("Offer状态")
private String offerStatus;
}
/*
* 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.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.util.LocalDateTimeUtils;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 导出-瓜子offer信息接收表
*
* @author hgw
* @date 2025-6-17 09:38:47
*/
@Data
public class TGzOfferInfoExportMainVo implements Serializable {
@ExcelProperty("流程ID")
private String bizId;
@ExcelProperty("姓名")
private String name;
@ExcelProperty("证件号码")
private String nationalId;
@ExcelProperty("个人手机号")
private String phone;
@ExcelProperty("职务描述")
private String jobcodeDescr;
@ExcelProperty("预计入职日期")
private String expEntryDate;
@ExcelProperty("接收瓜子Offer时间")
private String createTime;
@ExcelAttribute(name = "Offer短信通知状态", isDataId = true, readConverterExp = "0=已发送,1=未发送")
@ExcelProperty("Offer短信通知状态")
private String offerSendStatus;
@ExcelAttribute(name = "Offer短信通知状态", isDataId = true, readConverterExp = "3=待发送Offer,4=待接受Offer,5=拒绝Offer,7=接受offer,9=候选人填写信息,10=取消offer,12=候选人信息审核,13=待签署,8=合同审核通过,99=已归档,98=信息待收集,97=候选人审核通过")
@ExcelProperty("Offer状态")
private String offerStatus;
}
/*
* 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.archives.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDate;
/**
* 瓜子offer信息接收表——导出查询vo,主要加limit参数
*
* @author hgw
* @date 2025-6-17 10:00:43
*/
@Data
public class TGzOfferInfoExportSearchVo extends TGzOfferInfo {
private LocalDate createTimeStart;
private LocalDate createTimeEnd;
@TableField(exist = false)
@Schema(description = "id集合")
private String[] idList;
@TableField(exist = false)
@Schema(description = "查询起")
private int limitStart;
@TableField(exist = false)
@Schema(description = "查询止")
private int limitEnd;
}
...@@ -19,21 +19,23 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller; ...@@ -19,21 +19,23 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller;
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.archives.entity.TGzOfferInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TGzOfferInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoExportSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo;
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.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TGzOfferInfoService;
import lombok.SneakyThrows;
import org.springframework.security.access.prepost.PreAuthorize;
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 lombok.SneakyThrows;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -181,4 +183,28 @@ public class TGzOfferInfoController { ...@@ -181,4 +183,28 @@ public class TGzOfferInfoController {
return tGzOfferInfoService.sendOfferAlert(tGzOfferInfo); return tGzOfferInfoService.sendOfferAlert(tGzOfferInfo);
} }
/**
* 社保导出花名册记录表 批量导出
* @author hgw
* @date 2025-06-16 14:29:13
**/
@SysLog("导出瓜子offer列表")
@Operation(description = "导出瓜子offer列表")
@PostMapping("/exportMain")
public void exportMain(HttpServletResponse response, @RequestBody TGzOfferInfoExportSearchVo searchVo) {
tGzOfferInfoService.exportMain(response, searchVo);
}
/**
* 社保导出花名册记录表 批量导出
* @author hgw
* @date 2025-06-16 14:29:13
**/
@SysLog("导出瓜子offer详情")
@Operation(description = "导出瓜子offer详情")
@PostMapping("/exportDetail")
public void exportDetail(HttpServletResponse response, @RequestBody TGzOfferInfoExportSearchVo searchVo) {
tGzOfferInfoService.exportDetail(response, searchVo);
}
} }
...@@ -21,6 +21,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -21,6 +21,9 @@ 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.archives.entity.TGzOfferInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoExportDetailVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoExportMainVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoExportSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -64,4 +67,11 @@ public interface TGzOfferInfoMapper extends BaseMapper<TGzOfferInfo> { ...@@ -64,4 +67,11 @@ public interface TGzOfferInfoMapper extends BaseMapper<TGzOfferInfo> {
*/ */
Integer getTGzOfferInfoCount(@Param("tGzOfferInfo") TGzOfferInfoVo tGzOfferInfo); Integer getTGzOfferInfoCount(@Param("tGzOfferInfo") TGzOfferInfoVo tGzOfferInfo);
int getTGzOfferCount(@Param("tGzOfferInfo") TGzOfferInfoExportSearchVo tGzOfferInfo);
List<TGzOfferInfoExportMainVo> getTGzOfferMainList(@Param("tGzOfferInfo") TGzOfferInfoExportSearchVo tGzOfferInfo);
List<TGzOfferInfoExportDetailVo> getTGzOfferDetailList(@Param("tGzOfferInfo") TGzOfferInfoExportSearchVo tGzOfferInfo);
} }
...@@ -21,10 +21,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -21,10 +21,13 @@ 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.archives.entity.TGzOfferInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoExportSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream; import java.io.InputStream;
import java.util.List; import java.util.List;
...@@ -37,6 +40,7 @@ import java.util.List; ...@@ -37,6 +40,7 @@ import java.util.List;
public interface TGzOfferInfoService extends IService<TGzOfferInfo> { public interface TGzOfferInfoService extends IService<TGzOfferInfo> {
/** /**
* 瓜子offer信息接收表简单分页查询 * 瓜子offer信息接收表简单分页查询
*
* @param tGzOfferInfo 瓜子offer信息接收表 * @param tGzOfferInfo 瓜子offer信息接收表
* @return * @return
*/ */
...@@ -62,6 +66,7 @@ public interface TGzOfferInfoService extends IService<TGzOfferInfo> { ...@@ -62,6 +66,7 @@ public interface TGzOfferInfoService extends IService<TGzOfferInfo> {
/** /**
* 修改瓜子offer信息 * 修改瓜子offer信息
*
* @param tGzOfferInfo 字典 * @param tGzOfferInfo 字典
* @return R<String> * @return R<String>
*/ */
...@@ -69,6 +74,7 @@ public interface TGzOfferInfoService extends IService<TGzOfferInfo> { ...@@ -69,6 +74,7 @@ public interface TGzOfferInfoService extends IService<TGzOfferInfo> {
/** /**
* 瓜子offer手动状态更新 * 瓜子offer手动状态更新
*
* @param tGzOfferInfo 字典 * @param tGzOfferInfo 字典
* @return R<String> * @return R<String>
*/ */
...@@ -83,8 +89,31 @@ public interface TGzOfferInfoService extends IService<TGzOfferInfo> { ...@@ -83,8 +89,31 @@ public interface TGzOfferInfoService extends IService<TGzOfferInfo> {
/**
* @Description: 批量导入
* @Author: hgw
* @Date: 2025/6/17 9:32
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.util.List < com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage>>
**/
R<List<ErrorMessage>> importDiy(InputStream inputStream); R<List<ErrorMessage>> importDiy(InputStream inputStream);
R<String> sendOfferAlert(TGzOfferInfoVo tGzOfferInfo); R<String> sendOfferAlert(TGzOfferInfoVo tGzOfferInfo);
/**
* @Description: 导出列表
* @Author: hgw
* @Date: 2025/6/17 9:33
* @return: void
**/
void exportMain(HttpServletResponse response, TGzOfferInfoExportSearchVo searchVo);
/**
* @Description: 导出详情
* @Author: hgw
* @Date: 2025/6/17 9:33
* @return: void
**/
void exportDetail(HttpServletResponse response, TGzOfferInfoExportSearchVo searchVo);
} }
...@@ -290,4 +290,81 @@ ...@@ -290,4 +290,81 @@
<include refid="tGzOfferInfo_where"/> <include refid="tGzOfferInfo_where"/>
</where> </where>
</select> </select>
<!--导出先查条数-->
<select id="getTGzOfferCount" resultType="java.lang.Integer">
SELECT
count(1)
FROM t_gz_offer_info a
where a.del_flag = '0'
<include refid="tGzOfferInfo_where"/>
ORDER by a.create_time desc,a.id desc
</select>
<!-- 导出ORRER字段 -->
<sql id="Export_Column_List">
a.biz_id,
a.offer_status,
a.offer_send_status,
a.update_by,
a.update_time,
a.emp_type,
a.emp_type_descr,
a.out_sgin_type,
a.comраnу,
a.name,
a.name_ac,
a.last_name_ac,
a.first_name_ac,
a.country,
a.country_descr,
a.national_id_type,
a.national_id_type_descr,
a.national_id,
a.sex,
a.phone,
a.email,
a.supervisor_name,
a.jobcode_descr,
a.work_location,
a.work_location_descr,
date_format(a.exp_entry_date, '%Y-%m-%d') exp_entry_date,
a.dept_name,
a.base_pay,
a.perfom_pay,
a.year_bonus_month,
a.social_insurance_location,
a.social_insurance_location_descr,
a.social_insurance_base,
a.house_acc_fund_base_max,
a.be_regular_emp_pay,
a.apply_user_email,
date_format(a.create_time, '%Y-%m-%d %H:%i:%s') create_time
</sql>
<!--导出主表-->
<select id="getTGzOfferMainList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoExportMainVo">
SELECT
<include refid="Export_Column_List"/>
FROM t_gz_offer_info a
where a.del_flag = '0'
<include refid="tGzOfferInfo_where"/>
ORDER by a.create_time desc,a.id desc
<if test="tGzOfferInfo.limitStart != null">
limit #{tGzOfferInfo.limitStart},#{tGzOfferInfo.limitEnd}
</if>
</select>
<!--导出详情-->
<select id="getTGzOfferDetailList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoExportDetailVo">
SELECT
<include refid="Export_Column_List"/>
FROM t_gz_offer_info a
where a.del_flag = '0'
<include refid="tGzOfferInfo_where"/>
ORDER by a.create_time desc,a.id desc
<if test="tGzOfferInfo.limitStart != null">
limit #{tGzOfferInfo.limitStart},#{tGzOfferInfo.limitEnd}
</if>
</select>
</mapper> </mapper>
...@@ -165,4 +165,14 @@ public class ExcelAttributeConstants { ...@@ -165,4 +165,14 @@ public class ExcelAttributeConstants {
//社保派减委托备注 //社保派减委托备注
public static final String TRUST_REMARK_ADD = "trustRemark"; public static final String TRUST_REMARK_ADD = "trustRemark";
// 瓜子的人员类别编码
public static final String GZ_EMP_TYPE = "gz_emp_type";
// 瓜子的证件类型编码
public static final String GZ_NATIONAL_ID_TYPE = "gz_national_id_type";
// 瓜子的国籍
public static final String GZ_COUNTRY = "gz_country";
// 瓜子的性别
public static final String GZ_SEX = "gz_sex";
// 瓜子的外签类型
public static final String GZ_OUT_SGIN_TYPE = "gz_out_sgin_type";
} }
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