Commit 2f3b4d3e authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/MVP1.7.16' into MVP1.7.16

parents 460ebd75 3e5be199
package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
/**
* 入职确认信息社保已购买记录
*
* @author huych
* @date 2025-09-30 16:41:57
*/
@Data
@TableName("t_social_pre_detail")
@EqualsAndHashCode(callSuper = true)
@Schema(description = " 入职确认信息社保已购买记录")
public class TSocialPreDetail extends BaseEntity {
/**
* ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("ID")
@Schema(description = "ID")
private String id;
/**
* 社保缴纳地-省
*/
@ExcelAttribute(name = "社保缴纳地-省", maxLength = 32)
@Length(max = 32, message = "社保缴纳地-省不能超过32个字符")
@ExcelProperty("社保缴纳地-省")
@Schema(description = "社保缴纳地-省")
private String socialProvince;
/**
* 社保缴纳地-市
*/
@ExcelAttribute(name = "社保缴纳地-市", maxLength = 32)
@Length(max = 32, message = "社保缴纳地-市不能超过32个字符")
@ExcelProperty("社保缴纳地-市")
@Schema(description = "社保缴纳地-市")
private String socialCity;
/**
* 社保缴纳地-县
*/
@ExcelAttribute(name = "社保缴纳地-县", maxLength = 32)
@Length(max = 32, message = "社保缴纳地-县不能超过32个字符")
@ExcelProperty("社保缴纳地-县")
@Schema(description = "社保缴纳地-县")
private String socialTown;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称", maxLength = 50)
@Length(max = 50, message = "项目名称不能超过50个字符")
@ExcelProperty("项目名称")
@Schema(description = "项目名称")
private String deptName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", maxLength = 50)
@Length(max = 50, message = "项目编码不能超过50个字符")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
private String deptNo;
/**
* 社保户名称
*/
@ExcelAttribute(name = "社保户名称", maxLength = 50)
@Length(max = 50, message = "社保户名称不能超过50个字符")
@ExcelProperty("社保户名称")
@Schema(description = "社保户名称")
private String socialHouseholdName;
/**
* 入职确认信息主表id
*/
@ExcelAttribute(name = "入职确认信息主表id", maxLength = 36)
@Length(max = 36, message = "入职确认信息主表id不能超过36个字符")
@ExcelProperty("入职确认信息主表id")
@Schema(description = "入职确认信息主表id")
private String registerId;
/**
* 0未删除1删除
*/
@ExcelAttribute(name = "0未删除1删除", maxLength = 1)
@Length(max = 1, message = "0未删除1删除不能超过1个字符")
@ExcelProperty("0未删除1删除")
@Schema(description = "0未删除1删除")
private String deleteFlag;
/**
* 派单人
*/
@ExcelAttribute(name = "派单人", maxLength = 64)
@Length(max = 64, message = "派单人不能超过64个字符")
@ExcelProperty("派单人")
@Schema(description = "派单人")
private String dispatchName;
/**
* 派单时间
*/
@ExcelAttribute(name = "派单时间", isDate = true)
@ExcelProperty("派单时间")
@Schema(description = "派单时间")
private Date dispatchTime;
}
package com.yifu.cloud.plus.v1.yifu.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSocialPreDetail;
import org.apache.ibatis.annotations.Mapper;
/**
* 入职确认信息社保已购买记录
*
* @author huych
* @date 2025-09-30 16:41:57
*/
@Mapper
public interface TSocialPreDetailMapper extends BaseMapper<TSocialPreDetail> {
}
package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSocialPreDetail;
/**
* 入职确认信息社保已购买记录
*
* @author huych
* @date 2025-09-30 16:41:57
*/
public interface TSocialPreDetailService extends IService<TSocialPreDetail> {
}
package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSocialPreDetail;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TSocialPreDetailMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TSocialPreDetailService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 入职确认信息社保已购买记录
*
* @author huych
* @date 2025-09-30 16:41:57
*/
@Log4j2
@Service
public class TSocialPreDetailServiceImpl extends ServiceImpl<TSocialPreDetailMapper, TSocialPreDetail> implements TSocialPreDetailService {
}
<?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.yifu.cloud.plus.v1.yifu.archives.mapper.TSocialPreDetailMapper">
<resultMap id="tSocialPreDetailMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TSocialPreDetail">
<id property="id" column="ID"/>
<result property="socialProvince" column="SOCIAL_PROVINCE"/>
<result property="socialCity" column="SOCIAL_CITY"/>
<result property="socialTown" column="SOCIAL_TOWN"/>
<result property="deptName" column="DEPT_NAME"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/>
<result property="registerId" column="REGISTER_ID"/>
<result property="createBy" column="CREATE_BY"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="deleteFlag" column="DELETE_FLAG"/>
<result property="dispatchName" column="DISPATCH_NAME"/>
<result property="dispatchTime" column="DISPATCH_TIME"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.SOCIAL_PROVINCE,
a.SOCIAL_CITY,
a.SOCIAL_TOWN,
a.DEPT_NAME,
a.DEPT_NO,
a.SOCIAL_HOUSEHOLD_NAME,
a.REGISTER_ID,
a.CREATE_BY,
a.UPDATE_BY,
a.CREATE_NAME,
a.UPDATE_TIME,
a.CREATE_TIME,
a.DELETE_FLAG,
a.DISPATCH_NAME,
a.DISPATCH_TIME
</sql>
<sql id="tSocialPreDetail_where">
<if test="tSocialPreDetail != null">
<if test="tSocialPreDetail.id != null and tSocialPreDetail.id.trim() != ''">
AND a.ID = #{tSocialPreDetail.id}
</if>
<if test="tSocialPreDetail.socialProvince != null and tSocialPreDetail.socialProvince.trim() != ''">
AND a.SOCIAL_PROVINCE = #{tSocialPreDetail.socialProvince}
</if>
<if test="tSocialPreDetail.socialCity != null and tSocialPreDetail.socialCity.trim() != ''">
AND a.SOCIAL_CITY = #{tSocialPreDetail.socialCity}
</if>
<if test="tSocialPreDetail.socialTown != null and tSocialPreDetail.socialTown.trim() != ''">
AND a.SOCIAL_TOWN = #{tSocialPreDetail.socialTown}
</if>
<if test="tSocialPreDetail.deptName != null and tSocialPreDetail.deptName.trim() != ''">
AND a.DEPT_NAME = #{tSocialPreDetail.deptName}
</if>
<if test="tSocialPreDetail.deptNo != null and tSocialPreDetail.deptNo.trim() != ''">
AND a.DEPT_NO = #{tSocialPreDetail.deptNo}
</if>
<if test="tSocialPreDetail.socialHouseholdName != null and tSocialPreDetail.socialHouseholdName.trim() != ''">
AND a.SOCIAL_HOUSEHOLD_NAME = #{tSocialPreDetail.socialHouseholdName}
</if>
<if test="tSocialPreDetail.registerId != null and tSocialPreDetail.registerId.trim() != ''">
AND a.REGISTER_ID = #{tSocialPreDetail.registerId}
</if>
<if test="tSocialPreDetail.createBy != null and tSocialPreDetail.createBy.trim() != ''">
AND a.CREATE_BY = #{tSocialPreDetail.createBy}
</if>
<if test="tSocialPreDetail.updateBy != null and tSocialPreDetail.updateBy.trim() != ''">
AND a.UPDATE_BY = #{tSocialPreDetail.updateBy}
</if>
<if test="tSocialPreDetail.createName != null and tSocialPreDetail.createName.trim() != ''">
AND a.CREATE_NAME = #{tSocialPreDetail.createName}
</if>
<if test="tSocialPreDetail.updateTime != null">
AND a.UPDATE_TIME = #{tSocialPreDetail.updateTime}
</if>
<if test="tSocialPreDetail.createTime != null">
AND a.CREATE_TIME = #{tSocialPreDetail.createTime}
</if>
<if test="tSocialPreDetail.deleteFlag != null and tSocialPreDetail.deleteFlag.trim() != ''">
AND a.DELETE_FLAG = #{tSocialPreDetail.deleteFlag}
</if>
<if test="tSocialPreDetail.dispatchName != null and tSocialPreDetail.dispatchName.trim() != ''">
AND a.DISPATCH_NAME = #{tSocialPreDetail.dispatchName}
</if>
<if test="tSocialPreDetail.dispatchTime != null">
AND a.DISPATCH_TIME = #{tSocialPreDetail.dispatchTime}
</if>
</if>
</sql>
<!--tSocialPreDetail简单分页查询-->
<select id="getTSocialPreDetailPage" resultMap="tSocialPreDetailMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_social_pre_detail a
<where>
1=1
<include refid="tSocialPreDetail_where"/>
</where>
</select>
</mapper>
package com.yifu.cloud.plus.v1.yifu.social.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.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 社保待购买表
*
* @author huych
* @date 2025-09-30 16:40:07
*/
@Data
public class TDispatchInfoPreExportVo extends RowIndex implements Serializable {
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称")
@Schema(description = "项目名称")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码")
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名")
@Schema(description = "员工姓名")
@ExcelProperty("员工姓名")
private String empName;
/**
* 员工身份证
*/
@ExcelAttribute(name = "身份证号")
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 社保户
*/
@ExcelAttribute(name = "社保户")
@Schema(description = "社保户")
@ExcelProperty("社保户")
private String socialHouseholdName;
/**
* 备案基数
*/
@ExcelAttribute(name = "备案基数")
@Schema(description = "备案基数")
@ExcelProperty("备案基数")
private String recordBase;
/**
* 入职日期
*/
@ExcelAttribute(name = "入职日期")
@Schema(description = "入职日期")
@ExcelProperty("入职日期")
private String joinLeaveDate;
/**
* 合同签署状态 0已签署 1未签署
*/
@ExcelAttribute(name = "合同签署状态")
@Schema(description = "合同签署状态 0已签署 1未签署")
@ExcelProperty("合同签署状态")
private String contractStatus;
/**
* 社保购买状态,0待确认,1待派单,2派单失败,3待审核,4审核不通过,5待办理,6办理中,7办理成功,8办理失败,9部分办理失败
*/
@ExcelAttribute(name = "社保购买状态")
@Schema(description = "社保购买状态,0待确认,1待派单,2派单失败,3待审核,4审核不通过,5待办理,6办理中,7办理成功,8办理失败,9部分办理失败")
@ExcelProperty("社保购买状态")
private String processStatus;
/**
* 预计派单时间
*/
@ExcelAttribute(name = "预计派单时间")
@Schema(description = "预计派单时间")
@ExcelProperty("预计派单时间")
private LocalDateTime expectedCollectionTime;
/**
* 前端客服姓名
*/
@ExcelAttribute(name = "前端客服")
@Schema(description = "前端客服")
@ExcelProperty("前端客服")
private String customerUsername;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfoPre;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* 社保待购买表
*
* @author huych
* @date 2025-09-30 16:40:07
*/
@Data
public class TDispatchInfoPreSearchVo extends TDispatchInfoPre {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID")
private List<String> idList;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
@Schema(description = "处理状态数组")
@TableField(exist = false)
private List<String> statusList;
@Schema(description = "项目权限数组")
@TableField(exist = false)
private List<String> deptNoList;
@Schema(description = "列表类型 1 待办 2监控 3入职确认信息")
private String type;
@Schema(description = "预计派单时间开始时间")
@TableField(exist = false)
private String dispatcherTimeStart;
@Schema(description = "预计派单时间截止时间")
@TableField(exist = false)
private String dispatcherTimeEnd;
}
package com.yifu.cloud.plus.v1.yifu.social.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.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 社保待购买表
*
* @author huych
* @date 2025-09-30 16:40:07
*/
@Data
public class TDispatchInfoPreVo extends RowIndex implements Serializable {
/**
* ID
*/
@ExcelAttribute(name = "ID")
@Schema(description = "ID")
@ExcelProperty("ID")
private String id;
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名")
@Schema(description = "员工姓名")
@ExcelProperty("员工姓名")
private String empName;
/**
* 员工身份证
*/
@ExcelAttribute(name = "员工身份证")
@Schema(description = "员工身份证")
@ExcelProperty("员工身份证")
private String empIdcard;
/**
* 社保购买状态,0待确认,1待派单,2派单失败,3待审核,4审核不通过,5待办理,6办理中,7办理成功,8办理失败,9部分办理失败
*/
@ExcelAttribute(name = "社保购买状态")
@Schema(description = "社保购买状态,0待确认,1待派单,2派单失败,3待审核,4审核不通过,5待办理,6办理中,7办理成功,8办理失败,9部分办理失败")
@ExcelProperty("社保购买状态")
private String processStatus;
/**
* 项目id
*/
@ExcelAttribute(name = "项目id")
@Schema(description = "项目id")
@ExcelProperty("项目id")
private String deptId;
/**
* 社保缴纳地-省
*/
@ExcelAttribute(name = "社保缴纳地-省")
@Schema(description = "社保缴纳地-省")
@ExcelProperty("社保缴纳地-省")
private String socialProvince;
/**
* 社保缴纳地-市
*/
@ExcelAttribute(name = "社保缴纳地-市")
@Schema(description = "社保缴纳地-市")
@ExcelProperty("社保缴纳地-市")
private String socialCity;
/**
* 社保缴纳地-县
*/
@ExcelAttribute(name = "社保缴纳地-县")
@Schema(description = "社保缴纳地-县")
@ExcelProperty("社保缴纳地-县")
private String socialTown;
/**
* 公积金缴纳地-省
*/
@ExcelAttribute(name = "公积金缴纳地-省")
@Schema(description = "公积金缴纳地-省")
@ExcelProperty("公积金缴纳地-省")
private String fundProvince;
/**
* 公积金缴纳地-市
*/
@ExcelAttribute(name = "公积金缴纳地-市")
@Schema(description = "公积金缴纳地-市")
@ExcelProperty("公积金缴纳地-市")
private String fundCity;
/**
* 公积金缴纳地-县
*/
@ExcelAttribute(name = "公积金缴纳地-县")
@Schema(description = "公积金缴纳地-县")
@ExcelProperty("公积金缴纳地-县")
private String fundTown;
/**
* 派单项:如 养老、公积金
*/
@ExcelAttribute(name = "派单项")
@Schema(description = "派单项:如 养老、公积金")
@ExcelProperty("派单项")
private String dispatchItem;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称")
@Schema(description = "项目名称")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码")
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 公积金户名称
*/
@ExcelAttribute(name = "公积金户名称")
@Schema(description = "公积金户名称")
@ExcelProperty("公积金户名称")
private String providentHouseholdName;
/**
* 社保户名称
*/
@ExcelAttribute(name = "社保户名称")
@Schema(description = "社保户名称")
@ExcelProperty("社保户名称")
private String socialHouseholdName;
/**
* 0社保1公积金
*/
@ExcelAttribute(name = "0社保1公积金")
@Schema(description = "0社保1公积金")
@ExcelProperty("0社保1公积金")
private String typeSub;
/**
* 备案基数
*/
@ExcelAttribute(name = "备案基数")
@Schema(description = "备案基数")
@ExcelProperty("备案基数")
private String recordBase;
/**
* 备案基数类型 0固定值 1自定义
*/
@ExcelAttribute(name = "备案基数类型")
@Schema(description = "备案基数类型 0固定值 1自定义")
@ExcelProperty("备案基数类型")
private String recordBaseType;
/**
* 入职日期
*/
@ExcelAttribute(name = "入职日期", isDate = true)
@Schema(description = "入职日期")
@ExcelProperty("入职日期")
private Date joinLeaveDate;
/**
* 前端客服姓名
*/
@ExcelAttribute(name = "前端客服姓名")
@Schema(description = "前端客服姓名")
@ExcelProperty("前端客服姓名")
private String customerUsername;
/**
* 预计派单时间
*/
@ExcelAttribute(name = "预计派单时间", isDate = true)
@Schema(description = "预计派单时间")
@ExcelProperty("预计派单时间")
private Date expectedCollectionTime;
/**
* 派单确认时间
*/
@ExcelAttribute(name = "派单确认时间", isDate = true)
@Schema(description = "派单确认时间")
@ExcelProperty("派单确认时间")
private Date expectedConfirmTime;
/**
* 是否自动触发派增 0 是 1否
*/
@ExcelAttribute(name = "是否自动触发派增")
@Schema(description = "是否自动触发派增 0 是 1否")
@ExcelProperty("是否自动触发派增")
private String isAutoDis;
/**
* 起缴日期是否一致 0 是 1否
*/
@ExcelAttribute(name = "起缴日期是否一致")
@Schema(description = "起缴日期是否一致 0 是 1否")
@ExcelProperty("起缴日期是否一致")
private String isCreateDate;
/**
* 配置名称
*/
@ExcelAttribute(name = "配置名称")
@Schema(description = "配置名称")
@ExcelProperty("配置名称")
private String configName;
/**
* 入职确认信息主表id
*/
@ExcelAttribute(name = "入职确认信息主表id")
@Schema(description = "入职确认信息主表id")
@ExcelProperty("入职确认信息主表id")
private String registerId;
/**
* 养老起缴日期
*/
@ExcelAttribute(name = "养老起缴日期", isDate = true)
@Schema(description = "养老起缴日期")
@ExcelProperty("养老起缴日期")
private Date pensionStart;
/**
* 医疗起缴日期
*/
@ExcelAttribute(name = "医疗起缴日期", isDate = true)
@Schema(description = "医疗起缴日期")
@ExcelProperty("医疗起缴日期")
private Date medicalStart;
/**
* 失业起缴日期
*/
@ExcelAttribute(name = "失业起缴日期", isDate = true)
@Schema(description = "失业起缴日期")
@ExcelProperty("失业起缴日期")
private Date unemployStart;
/**
* 工伤起缴日期
*/
@ExcelAttribute(name = "工伤起缴日期", isDate = true)
@Schema(description = "工伤起缴日期")
@ExcelProperty("工伤起缴日期")
private Date workInjuryStart;
/**
* 生育起缴日期
*/
@ExcelAttribute(name = "生育起缴日期", isDate = true)
@Schema(description = "生育起缴日期")
@ExcelProperty("生育起缴日期")
private Date birthStart;
/**
* 大病起缴日期
*/
@ExcelAttribute(name = "大病起缴日期", isDate = true)
@Schema(description = "大病起缴日期")
@ExcelProperty("大病起缴日期")
private Date bigailmentStart;
/**
* 委托备注
*/
@ExcelAttribute(name = "委托备注")
@Schema(description = "委托备注")
@ExcelProperty("委托备注")
private String trustRemark;
/**
* 养老基数
*/
@ExcelAttribute(name = "养老基数")
@Schema(description = "养老基数")
@ExcelProperty("养老基数")
private BigDecimal pensionCardinal;
/**
* 医疗基数
*/
@ExcelAttribute(name = "医疗基数")
@Schema(description = "医疗基数")
@ExcelProperty("医疗基数")
private BigDecimal medicalCardinal;
/**
* 失业基数
*/
@ExcelAttribute(name = "失业基数")
@Schema(description = "失业基数")
@ExcelProperty("失业基数")
private BigDecimal unemploymentCardinal;
/**
* 大病救助基数
*/
@ExcelAttribute(name = "大病救助基数")
@Schema(description = "大病救助基数")
@ExcelProperty("大病救助基数")
private BigDecimal bigailmentCardinal;
/**
* 工伤基数
*/
@ExcelAttribute(name = "工伤基数")
@Schema(description = "工伤基数")
@ExcelProperty("工伤基数")
private BigDecimal workInjuryCardinal;
/**
* 生育基数
*/
@ExcelAttribute(name = "生育基数")
@Schema(description = "生育基数")
@ExcelProperty("生育基数")
private BigDecimal birthCardinal;
/**
* 缴纳类型(0最低缴纳、1自定义缴纳、2最高缴纳)
*/
@ExcelAttribute(name = "缴纳类型")
@Schema(description = "缴纳类型(0最低缴纳、1自定义缴纳、2最高缴纳)")
@ExcelProperty("缴纳类型")
private String paymentType;
/**
* 合同签署状态 0已签署 1未签署
*/
@ExcelAttribute(name = "合同签署状态")
@Schema(description = "合同签署状态 0已签署 1未签署")
@ExcelProperty("合同签署状态")
private String contractStatus;
/**
* 合同id
*/
@ExcelAttribute(name = "合同id")
@Schema(description = "合同id")
@ExcelProperty("合同id")
private String contractId;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 参保人员信息VO
*/
@Data
public class UnSocialFundInfoVo implements Serializable {
/**
* 主键ID
*/
private String id;
/**
* 社保户名称
*/
private String socialHouseholdName;
/**
* 缴费政策类型 0-最低 1-自定义 2-最高
*/
private Integer paymentType;
/**
* 社保状态
*/
private String socialStatus;
/**
* 项目编码
*/
private String settleDomainCode;
/**
* 项目名称
*/
private String settleDomainName;
/**
* 缴纳地-省
*/
private String socialProvince;
/**
* 缴纳地-市
*/
private String socialCity;
/**
* 缴纳地-县
*/
private String socialTown;
/**
* 派单人姓名
*/
private String createName;
/**
* 创建时间
*/
private LocalDateTime createTime;
}
package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil;
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.social.entity.TDispatchInfoPre;
import com.yifu.cloud.plus.v1.yifu.social.service.TDispatchInfoPreService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 社保待购买表
*
* @author huych
* @date 2025-09-30 16:40:07
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tdispatchinfopre")
@Tag(name = "社保待购买表管理")
public class TDispatchInfoPreController {
private final TDispatchInfoPreService tDispatchInfoPreService;
private final MenuUtil menuUtil;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tDispatchInfoPre 社保待购买表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TDispatchInfoPre>> getTDispatchInfoPrePage(Page<TDispatchInfoPre> page, TDispatchInfoPreSearchVo tDispatchInfoPre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tDispatchInfoPre);
return new R<>(tDispatchInfoPreService.getTDispatchInfoPrePage(page, tDispatchInfoPre));
}
/**
* 不分页查询
*
* @param tDispatchInfoPre 社保待购买表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/getNoPageList")
public R<List<TDispatchInfoPre>> getTDispatchInfoPreNoPage(@RequestBody TDispatchInfoPreSearchVo tDispatchInfoPre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tDispatchInfoPre);
return R.ok(tDispatchInfoPreService.getNoPageList(tDispatchInfoPre));
}
/**
* 通过id查询社保待购买表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
public R<TDispatchInfoPre> getById(@PathVariable("id") String id) {
return R.ok(tDispatchInfoPreService.getById(id));
}
/**
* 修改社保待购买表
*
* @param tDispatchInfoPre 社保待购买表
* @return R
*/
@Operation(summary = "修改社保待购买表", description = "修改社保待购买表")
@SysLog("修改社保待购买表")
@PutMapping
public R<Boolean> updateById(@RequestBody TDispatchInfoPre tDispatchInfoPre) {
return R.ok(tDispatchInfoPreService.updateById(tDispatchInfoPre));
}
/**
* 通过id删除社保待购买表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除社保待购买表", description = "通过id删除社保待购买表:hasPermission('social_tdispatchinfopre_del')")
@SysLog("通过id删除社保待购买表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tdispatchinfopre_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tDispatchInfoPreService.removeById(id));
}
/**
* 社保待购买表 批量导出
*
* @author huych
* @date 2025-09-30 16:40:07
**/
@Operation(description = "导出社保待购买表")
@PostMapping("/export")
public void export(HttpServletResponse response, @RequestBody TDispatchInfoPreSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, searchVo);
tDispatchInfoPreService.listExport(response, searchVo);
}
/**
* 社保待购买信息单个/批量确认
* @author huych
* @date 2025-10-09 10:25:13
**/
@Operation(description = "社保待购买信息单个/批量确认")
@PostMapping("/confirm")
public R confirm(@RequestBody List<String> idList) {
return tDispatchInfoPreService.confirm(idList);
}
/**
* 社保待购买数量查询
* @param searchVo 社保待购买任务表
* @return
*/
@Operation(description = "社保待购买数量查询")
@GetMapping("/getListCount")
public R getListCount(TDispatchInfoPreSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, searchVo);
return R.ok(tDispatchInfoPreService.getDispatchInfoCount(searchVo));
}
}
......@@ -34,10 +34,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.vo.TInsuranceUnpurchasePersonCardVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialFundInfoService;
import com.yifu.cloud.plus.v1.yifu.social.vo.DispatchOneDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoOneVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.*;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
......@@ -225,4 +222,15 @@ public class TSocialFundInfoController {
return new SocialFundVo();
}
/**
* 通过身份证查询在途或在保的数据
* @param UnSocialFundInfoVo 社保公积金查询表
* @return
*/
@Operation(summary = "通过身份证查询在途或在保的数据", description = "通过身份证查询在途或在保的数据")
@PostMapping("/selectUnSocialFundInfoByEmpIdcard" )
public R<List<UnSocialFundInfoVo>> selectUnSocialFundInfoByEmpIdcard(@RequestParam String empIdcard) {
return R.ok(tSocialFundInfoService.selectUnSocialFundInfoByEmpIdcard(empIdcard));
}
}
package com.yifu.cloud.plus.v1.yifu.social.mapper;
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.TDispatchInfoPre;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 社保待购买表
*
* @author huych
* @date 2025-09-30 16:40:07
*/
@Mapper
public interface TDispatchInfoPreMapper extends BaseMapper<TDispatchInfoPre> {
/**
* 社保待购买表简单分页查询
* @param tDispatchInfoPre 社保待购买表
* @return
*/
IPage<TDispatchInfoPre> getTDispatchInfoPrePage(Page<TDispatchInfoPre> page, @Param("tDispatchInfoPre") TDispatchInfoPreSearchVo tDispatchInfoPre);
List<TDispatchInfoPre> geNoPageList(@Param("tDispatchInfoPre") TDispatchInfoPreSearchVo tDispatchInfoPre);
long selectExportCount(@Param("tDispatchInfoPre") TDispatchInfoPreSearchVo searchVo);
List<TDispatchInfoPreExportVo> selectExportList(@Param("tDispatchInfoPre") TDispatchInfoPreSearchVo searchVo);
}
......@@ -24,6 +24,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
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 com.yifu.cloud.plus.v1.yifu.social.vo.UnSocialFundInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -96,4 +97,6 @@ public interface TSocialFundInfoMapper extends BaseMapper<TSocialFundInfo> {
**/
List<String> getSocialWorkInjuryList();
List<UnSocialFundInfoVo> selectUnSocialFundInfoByEmpIdcard(@Param("empIdcard") String empIdcard);
}
package com.yifu.cloud.plus.v1.yifu.social.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfoPre;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 社保待购买表
*
* @author huych
* @date 2025-09-30 16:40:07
*/
public interface TDispatchInfoPreService extends IService<TDispatchInfoPre> {
/**
* 社保待购买表简单分页查询
* @param tDispatchInfoPre 社保待购买表
* @return
*/
IPage<TDispatchInfoPre> getTDispatchInfoPrePage(Page<TDispatchInfoPre> page, TDispatchInfoPreSearchVo tDispatchInfoPre);
/**
* 社保待购买批量导出
* @param searchVo 社保待购买信息
* @return
*/
void listExport(HttpServletResponse response, TDispatchInfoPreSearchVo searchVo);
List<TDispatchInfoPre> getNoPageList(TDispatchInfoPreSearchVo searchVo);
/**
* 社保待购买单个/批量确认
* @param idList id集合
* @return
*/
R confirm(List<String> idList);
/**
* 查询社保待购买数量
* @param searchVo 查询社保待购买vo
* @return
*/
long getDispatchInfoCount(TDispatchInfoPreSearchVo searchVo);
}
......@@ -27,10 +27,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.vo.ListStringVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TInsuranceUnpurchasePersonCardVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.DispatchOneDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoOneVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.*;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
......@@ -97,4 +94,6 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> {
SocialFundVo getSocialAndFundReduceListByEmpIdCardSet(Set<String> empIdCardSet);
List<UnSocialFundInfoVo> selectUnSocialFundInfoByEmpIdcard(String empIdcard);
}
package com.yifu.cloud.plus.v1.yifu.social.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainRegistListVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ClientNameConstants;
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.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfoPre;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TDispatchInfoPreMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TDispatchInfoPreService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* 社保待购买表
*
* @author huych
* @date 2025-09-30 16:40:07
*/
@Log4j2
@Service
@RequiredArgsConstructor
public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMapper, TDispatchInfoPre> implements TDispatchInfoPreService {
@Autowired
private ArchivesDaprUtil archivesDaprUtil;
/**
* 社保待购买表简单分页查询
* @param tDispatchInfoPre 社保待购买表
* @return
*/
@Override
public IPage<TDispatchInfoPre> getTDispatchInfoPrePage(Page<TDispatchInfoPre> page, TDispatchInfoPreSearchVo tDispatchInfoPre){
//权限赋值
initSearchVo(tDispatchInfoPre);
return baseMapper.getTDispatchInfoPrePage(page,tDispatchInfoPre);
}
/**
* 社保待购买表批量导出
* @param searchVo 社保待购买表
* @return
*/
@Override
public void listExport(HttpServletResponse response, TDispatchInfoPreSearchVo searchVo){
String fileName = "社保待购买批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TDispatchInfoPreExportVo> list = new ArrayList<>();
initSearchVo(searchVo);
long count = baseMapper.selectExportCount(searchVo);
try (ServletOutputStream 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 = EasyExcel.write(out, TDispatchInfoPreExportVo.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.selectExportList(searchVo);
if (Common.isNotNull(list)){
WriteSheet writeSheet = EasyExcel.writerSheet("社保待购买"+index).build();
excelWriter.write(list,writeSheet);
index++;
}
if (Common.isNotNull(list)){
list.clear();
}
}
}else {
WriteSheet writeSheet = EasyExcel.writerSheet("社保待购买"+index).build();
excelWriter.write(list,writeSheet);
}
if (Common.isNotNull(list)){
list.clear();
}
excelWriter.finish();
}catch (Exception e){
log.error("执行异常" ,e);
}
}
@Override
public List<TDispatchInfoPre> getNoPageList(TDispatchInfoPreSearchVo searchVo) {
searchVo.setType(CommonConstants.ONE_STRING);
initSearchVo(searchVo);
return baseMapper.geNoPageList(searchVo);
}
@Override
public R confirm(List<String> idList) {
List<TDispatchInfoPre> socialPreList = baseMapper.selectList(Wrappers.<TDispatchInfoPre>query()
.lambda().in(TDispatchInfoPre::getId, idList)
.eq(TDispatchInfoPre::getProcessStatus, CommonConstants.ZERO_STRING));
if (Common.isEmpty(socialPreList)) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
LambdaUpdateWrapper<TDispatchInfoPre> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(TDispatchInfoPre::getId,idList)
.eq(TDispatchInfoPre::getProcessStatus, CommonConstants.ZERO_STRING)
.set(TDispatchInfoPre::getProcessStatus, CommonConstants.ONE_STRING);
this.update(updateWrapper);
return R.ok();
}
@Override
public long getDispatchInfoCount(TDispatchInfoPreSearchVo searchVo) {
initSearchVo(searchVo);
return baseMapper.selectExportCount(searchVo);
}
/**
* @Description: 获取前端客服的所有项目权限
* @Author: huych
* @Date: 2025/3/13 17:02
* @return:
**/
public void initSearchVo(TDispatchInfoPreSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
long roleId = 1839501715787390978L;
boolean isSsc = this.haveRole(user, roleId);
if (isSsc || CommonConstants.ZERO_STRING.equals(user.getSystemFlag())) {
searchVo.setAuthSql(null);
return;
}
if (Common.isNotNull(searchVo.getType()) && CommonConstants.ONE_STRING.equals(searchVo.getType())) {
searchVo.setAuthSql(null);
//获取项目信息
R<TSettleDomainRegistListVo> domainR = archivesDaprUtil.getAllDeptByCustomerLoginName(user.getUsername());
if (null != domainR && null != domainR.getData() && null != domainR.getData().getDeptNos() && !domainR.getData().getDeptNos().isEmpty()) {
searchVo.setDeptNoList(domainR.getData().getDeptNos());
} else {
searchVo.setId(CommonConstants.ONE_STRING_NEGATE);
}
}
}
public boolean haveRole(YifuUser user, long roleId) {
List<Long> roleList = user.getClientRoleMap().get(ClientNameConstants.CLIENT_MVP);
for (Long role : roleList) {
if (role == roleId) {
return true;
}
}
return false;
}
}
......@@ -950,4 +950,9 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
return socialFundVo;
}
@Override
public List<UnSocialFundInfoVo> selectUnSocialFundInfoByEmpIdcard(String empIdcard) {
return baseMapper.selectUnSocialFundInfoByEmpIdcard(empIdcard);
}
}
......@@ -269,6 +269,21 @@
<result property="empRegisType" column="EMP_REGIS_TYPE"/>
</resultMap>
<resultMap id="unSocialFundInfoMap" type="com.yifu.cloud.plus.v1.yifu.social.vo.UnSocialFundInfoVo">
<result property="id" column="ID"/>
<result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/>
<result property="paymentType" column="PAYMENT_TYPE"/>
<result property="socialStatus" column="SOCIAL_STATUS"/>
<result property="settleDomainCode" column="SETTLE_DOMAIN_CODE"/>
<result property="settleDomainName" column="SETTLE_DOMAIN_NAME"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="socialProvince" column="SOCIAL_PROVINCE"/>
<result property="socialCity" column="SOCIAL_CITY"/>
<result property="socialTown" column="SOCIAL_TOWN"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.EMP_ID,
......@@ -1201,4 +1216,23 @@
SELECT EMP_IDCARD FROM t_social_fund_info s where s.WORK_INJURY_HANDLE in ('0','1','4','5')
</select>
<!--tSocialFundInfo简单分页查询-->
<select id="selectUnSocialFundInfoByEmpIdcard" resultMap="unSocialFundInfoMap">
SELECT a.ID,
a.SOCIAL_HOUSEHOLD_NAME,
a.PAYMENT_TYPE,
a.SOCIAL_STATUS,
a.SETTLE_DOMAIN_CODE,
a.SETTLE_DOMAIN_NAME,
a.SOCIAL_PROVINCE,
a.SOCIAL_CITY,
a.SOCIAL_TOWN,
d.CREATE_NAME,
d.CREATE_TIME
FROM t_social_fund_info a
inner join t_dispatch_info d on a.DISPATCH_ID = d.ID
where a.EMP_IDCARD = #{empIdcard}
and a.social_status in ('0', '1', '2', '3', '4', '6', '7', '9', '11', '12')
</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