Commit b44684ad authored by huyuchen's avatar huyuchen

huych-社保自动化相关提价

parent 2b2c201f
...@@ -42,11 +42,5 @@ ...@@ -42,11 +42,5 @@
<version>1.0.0</version> <version>1.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-social-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>
...@@ -2,10 +2,8 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo; ...@@ -2,10 +2,8 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSocialPreDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo; import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreVo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
...@@ -141,7 +139,7 @@ public class EmployeeRegistrationPreVo implements Serializable { ...@@ -141,7 +139,7 @@ public class EmployeeRegistrationPreVo implements Serializable {
private TDispatchInfoPreVo dispatchInfoPreVo; private TDispatchInfoPreVo dispatchInfoPreVo;
@Schema(description = "社保流程中信息集合") @Schema(description = "社保流程中信息集合")
private List<TSocialPreDetail> exitSocialInfoList; private List<TSocialPreDetailVo> exitSocialInfoList;
@Schema(description = "附件集合") @Schema(description = "附件集合")
private List<TAttaInfoSaveVo> attaList; private List<TAttaInfoSaveVo> attaList;
......
package com.yifu.cloud.plus.v1.yifu.social.vo; package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty; 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.ExcelAttribute;
......
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import java.io.Serializable;
/**
* 入职确认信息社保已购买记录
*
* @author huych
* @date 2025-09-30 16:41:57
*/
@Data
public class TSocialPreDetailVo implements Serializable {
/**
* 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-自定义 2-最高
*/
private String paymentType;
/**
* 社保状态
*/
private String socialStatus;
/**
* 派单人
*/
@ExcelAttribute(name = "派单人", maxLength = 64)
@Length(max = 64, message = "派单人不能超过64个字符")
@ExcelProperty("派单人")
@Schema(description = "派单人")
private String dispatchName;
/**
* 派单时间
*/
@ExcelAttribute(name = "派单时间")
@ExcelProperty("派单时间")
@Schema(description = "派单时间")
private String dispatchTime;
}
...@@ -135,12 +135,6 @@ ...@@ -135,12 +135,6 @@
<version>1.0.0</version> <version>1.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-social-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>com.fadada.api</groupId> <groupId>com.fadada.api</groupId>
<artifactId>fasc-openapi-java-sdk</artifactId> <artifactId>fasc-openapi-java-sdk</artifactId>
......
...@@ -212,14 +212,4 @@ public class EmployeeRegistrationPreController { ...@@ -212,14 +212,4 @@ public class EmployeeRegistrationPreController {
return employeeRegistrationPreService.getGzEmployeeInfo(vo); return employeeRegistrationPreService.getGzEmployeeInfo(vo);
} }
/**
* @Author huyc
* @Description 新增社保已购买明细数据
* @Date 18:02 2025/10/9
**/
@Inner
@PostMapping("/saveExitSocialDetailInfo")
public String saveExitSocialDetailInfo(@RequestBody EmployeeRegistrationPreVo preVo) {
return employeeRegistrationPreService.saveExitSocialDetailInfo(preVo);
}
} }
package com.yifu.cloud.plus.v1.yifu.archives.mapper; package com.yifu.cloud.plus.v1.yifu.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSocialPreDetail; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialPreDetail;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
......
...@@ -121,6 +121,4 @@ public interface EmployeeRegistrationPreService extends IService<EmployeeRegistr ...@@ -121,6 +121,4 @@ public interface EmployeeRegistrationPreService extends IService<EmployeeRegistr
**/ **/
EmployeeRegistrationPre getEmployeeRegistrationPreById(String id); EmployeeRegistrationPre getEmployeeRegistrationPreById(String id);
String saveExitSocialDetailInfo(EmployeeRegistrationPreVo preVo);
} }
...@@ -102,8 +102,6 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -102,8 +102,6 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
private final TGzOfferInfoMapper gzOfferInfoMapper; private final TGzOfferInfoMapper gzOfferInfoMapper;
private final TSocialPreDetailService socialPreDetailService;
@Autowired @Autowired
@Lazy @Lazy
private ScheduleService scheduleService; private ScheduleService scheduleService;
...@@ -1493,12 +1491,4 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -1493,12 +1491,4 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
return pre; return pre;
} }
@Override
public String saveExitSocialDetailInfo(EmployeeRegistrationPreVo preVo) {
if (Common.isNotNull(preVo.getExitSocialInfoList()) && !preVo.getExitSocialInfoList().isEmpty()) {
socialPreDetailService.saveBatch(preVo.getExitSocialInfoList());
}
return CommonConstants.RESULT_DATA_SUCESS;
}
} }
...@@ -649,15 +649,4 @@ public class ArchivesDaprUtil { ...@@ -649,15 +649,4 @@ public class ArchivesDaprUtil {
return HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(), return HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),
"/temployeecontractpre/inner/saveContractPreInfo", JSON.toJSONString(preVo), Boolean.class, SecurityConstants.FROM_IN); "/temployeecontractpre/inner/saveContractPreInfo", JSON.toJSONString(preVo), Boolean.class, SecurityConstants.FROM_IN);
} }
/**
* @Author huyc
* @Description 新增社保已购买明细数据
* @Date 18:02 2025/10/9
* @Param
* @return
**/
public R<String> saveExitSocialDetailInfo(EmployeeRegistrationPreVo preVo) {
return HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/employeeregistrationpre/saveExitSocialDetailInfo", JSON.toJSONString(preVo), String.class, SecurityConstants.FROM_IN);
}
} }
package com.yifu.cloud.plus.v1.yifu.common.dapr.util; package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeAutoRegistCheckVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeAutoRegistCheckVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
...@@ -222,4 +223,17 @@ public class SocialDaprUtils { ...@@ -222,4 +223,17 @@ public class SocialDaprUtils {
public R<Boolean> selectExitEmpSocial(TEmployeeAutoRegistCheckVo cardVo) { public R<Boolean> selectExitEmpSocial(TEmployeeAutoRegistCheckVo cardVo) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialfundinfo/selectExitEmpSocial", JSON.toJSONString(cardVo), Boolean.class, SecurityConstants.FROM_IN); return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialfundinfo/selectExitEmpSocial", JSON.toJSONString(cardVo), Boolean.class, SecurityConstants.FROM_IN);
} }
/**
* @Author huyc
* @Description 新增社保待购买信息
* @Date 9:22 2025/10/10
* @Param
* @return
**/
public R<Boolean> saveSocialPreInfo(EmployeeRegistrationPreVo preVo) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),
"/tdispatchinfopre/saveSocialPreInfo", JSON.toJSONString(preVo), Boolean.class, SecurityConstants.FROM_IN);
}
} }
...@@ -43,7 +43,6 @@ import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail; ...@@ -43,7 +43,6 @@ import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.util.ValidityUtil; import com.yifu.cloud.plus.v1.yifu.insurances.util.ValidityUtil;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo; import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsuranceSelectVo; import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsuranceSelectVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TEmployeeInsuranceWorkDayVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TEmployeeInsuranceWorkDayVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
...@@ -701,24 +700,15 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -701,24 +700,15 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
initContractPreInfo(registration, preVo.getEmployeeContractPreVos(), user, domainR.getData()); initContractPreInfo(registration, preVo.getEmployeeContractPreVos(), user, domainR.getData());
} }
//服务类型包含社保购买时 //服务类型包含社保购买时
if (preVo.getServerItem().contains("社保购买") if (preVo.getServerItem().contains("社保购买") && (null != preVo.getExitSocialInfoList()
&& null != preVo.getExitSocialInfoList() || null != preVo.getDispatchInfoPreVo())) {
&& !preVo.getExitSocialInfoList().isEmpty() //生成社保待购买或者已购买数据
&& Common.isNotNull(preVo.getSocialIsBuy())
&& preVo.getSocialIsBuy().equals(CommonConstants.ZERO_STRING)) {
preVo.getExitSocialInfoList().forEach(s -> s.setRegisterId(domainR.getData()));
//生成社保已购买数据
archivesDaprUtil.saveExitSocialDetailInfo(preVo);
} else if (preVo.getServerItem().contains("社保购买")
&& null != preVo.getDispatchInfoPreVo()
&& Common.isNotNull(preVo.getSocialIsBuy())
&& preVo.getSocialIsBuy().equals(CommonConstants.ONE_STRING)) {
//生成社保待购买数据
initSocialPreInfo(registration, preVo.getDispatchInfoPreVo(), user, domainR.getData()); initSocialPreInfo(registration, preVo.getDispatchInfoPreVo(), user, domainR.getData());
socialDaprUtils.saveSocialPreInfo(preVo);
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.error("执行异常", e); log.error("自动化办理执行异常", e);
} }
return R.ok(); return R.ok();
} }
...@@ -1686,6 +1676,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -1686,6 +1676,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
preVo.setCreateName(user.getNickname()); preVo.setCreateName(user.getNickname());
preVo.setUpdateBy(user.getId()); preVo.setUpdateBy(user.getId());
preVo.setTypeSub(CommonConstants.ZERO_STRING); preVo.setTypeSub(CommonConstants.ZERO_STRING);
preVo.setProcessStatus(CommonConstants.ZERO_STRING);
preVo.setExpectedCollectionTime(DateUtil.parseDate(DateUtil.dateToString( preVo.setExpectedCollectionTime(DateUtil.parseDate(DateUtil.dateToString(
preVo.getExpectedCollectionTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT) + " 15:20", DateUtil.DATETIME_PATTERN_MINUTE)); preVo.getExpectedCollectionTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT) + " 15:20", DateUtil.DATETIME_PATTERN_MINUTE));
preVo.setExpectedConfirmTime(DateUtil.parseDate(DateUtil.dateToString( preVo.setExpectedConfirmTime(DateUtil.parseDate(DateUtil.dateToString(
......
...@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelProperty; ...@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
...@@ -12,6 +13,7 @@ import lombok.EqualsAndHashCode; ...@@ -12,6 +13,7 @@ import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -180,8 +182,7 @@ public class TDispatchInfoPre extends BaseEntity { ...@@ -180,8 +182,7 @@ public class TDispatchInfoPre extends BaseEntity {
/** /**
* 入职日期 * 入职日期
*/ */
@ExcelAttribute(name = "入职日期", isDate = true) @JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
@ExcelProperty("入职日期")
@Schema(description = "入职日期") @Schema(description = "入职日期")
private Date joinLeaveDate; private Date joinLeaveDate;
/** /**
...@@ -202,17 +203,15 @@ public class TDispatchInfoPre extends BaseEntity { ...@@ -202,17 +203,15 @@ public class TDispatchInfoPre extends BaseEntity {
/** /**
* 预计派单时间 * 预计派单时间
*/ */
@ExcelAttribute(name = "预计派单时间", isDate = true) @JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
@ExcelProperty("预计派单时间")
@Schema(description = "预计派单时间") @Schema(description = "预计派单时间")
private Date expectedCollectionTime; private LocalDateTime expectedCollectionTime;
/** /**
* 派单确认时间 * 派单确认时间
*/ */
@ExcelAttribute(name = "派单确认时间", isDate = true) @JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
@ExcelProperty("派单确认时间")
@Schema(description = "派单确认时间") @Schema(description = "派单确认时间")
private Date expectedConfirmTime; private LocalDateTime expectedConfirmTime;
/** /**
* 是否自动触发派增 0 是 1否 * 是否自动触发派增 0 是 1否
*/ */
......
package com.yifu.cloud.plus.v1.yifu.archives.entity; package com.yifu.cloud.plus.v1.yifu.social.entity;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
......
...@@ -2,10 +2,12 @@ package com.yifu.cloud.plus.v1.yifu.social.controller; ...@@ -2,10 +2,12 @@ package com.yifu.cloud.plus.v1.yifu.social.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.vo.EmployeeRegistrationPreVo;
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.core.vo.YifuUser; 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.dapr.util.MenuUtil;
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.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.social.entity.TDispatchInfoPre; 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.service.TDispatchInfoPreService;
...@@ -140,4 +142,16 @@ public class TDispatchInfoPreController { ...@@ -140,4 +142,16 @@ public class TDispatchInfoPreController {
menuUtil.setAuthSql(user, searchVo); menuUtil.setAuthSql(user, searchVo);
return R.ok(tDispatchInfoPreService.getDispatchInfoCount(searchVo)); return R.ok(tDispatchInfoPreService.getDispatchInfoCount(searchVo));
} }
/**
* 新增社保待购买
* @author huych
* @date 2025-10-10 9:26:35
**/
@Operation(description = "新增社保待购买")
@Inner
@PostMapping("/saveSocialPreInfo")
public Boolean saveSocialPreInfo(@RequestBody EmployeeRegistrationPreVo preVo) {
return tDispatchInfoPreService.saveSocialPreInfo(preVo);
}
} }
package com.yifu.cloud.plus.v1.yifu.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialPreDetail;
import org.apache.ibatis.annotations.Mapper;
/**
* 入职确认信息社保已购买记录
*
* @author huych
* @date 2025-09-30 16:41:57
*/
@Mapper
public interface TSocialPreDetailMapper extends BaseMapper<TSocialPreDetail> {
}
...@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.social.service; ...@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.social.service;
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.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreVo;
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.social.entity.TDispatchInfoPre; import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfoPre;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo;
...@@ -46,4 +47,11 @@ public interface TDispatchInfoPreService extends IService<TDispatchInfoPre> { ...@@ -46,4 +47,11 @@ public interface TDispatchInfoPreService extends IService<TDispatchInfoPre> {
* @return * @return
*/ */
long getDispatchInfoCount(TDispatchInfoPreSearchVo searchVo); long getDispatchInfoCount(TDispatchInfoPreSearchVo searchVo);
/**
* 新增社保待购买信息
* @param preVo
* @return
*/
Boolean saveSocialPreInfo(EmployeeRegistrationPreVo preVo);
} }
package com.yifu.cloud.plus.v1.yifu.archives.service; package com.yifu.cloud.plus.v1.yifu.social.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSocialPreDetail; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialPreDetail;
/** /**
* 入职确认信息社保已购买记录 * 入职确认信息社保已购买记录
......
...@@ -8,22 +8,29 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -8,22 +8,29 @@ 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.yifu.archives.vo.EmployeeRegistrationPreVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TDispatchInfoPreVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainRegistListVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainRegistListVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSocialPreDetailVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ClientNameConstants; 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.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;
import com.yifu.cloud.plus.v1.yifu.common.core.util.LocalDateTimeUtils;
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.core.vo.YifuUser; 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.dapr.util.ArchivesDaprUtil;
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.TDispatchInfoPre; import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfoPre;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialPreDetail;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TDispatchInfoPreMapper; 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.service.TDispatchInfoPreService;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialPreDetailService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreExportVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -31,6 +38,7 @@ import javax.servlet.ServletOutputStream; ...@@ -31,6 +38,7 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
...@@ -47,6 +55,8 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap ...@@ -47,6 +55,8 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap
@Autowired @Autowired
private ArchivesDaprUtil archivesDaprUtil; private ArchivesDaprUtil archivesDaprUtil;
private final TSocialPreDetailService socialPreDetailService;
/** /**
* 社保待购买表简单分页查询 * 社保待购买表简单分页查询
* @param tDispatchInfoPre 社保待购买表 * @param tDispatchInfoPre 社保待购买表
...@@ -135,6 +145,64 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap ...@@ -135,6 +145,64 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap
return baseMapper.selectExportCount(searchVo); return baseMapper.selectExportCount(searchVo);
} }
@Override
public Boolean saveSocialPreInfo(EmployeeRegistrationPreVo registrationPreVo) {
if (Common.isNotNull(registrationPreVo.getSocialIsBuy())
&& registrationPreVo.getSocialIsBuy().equals(CommonConstants.ZERO_STRING)
&& !registrationPreVo.getExitSocialInfoList().isEmpty()) {
//删除已存在的入职确认信息对应的社保明细
socialPreDetailService.remove(Wrappers.<TSocialPreDetail>lambdaQuery()
.eq(TSocialPreDetail::getRegisterId, registrationPreVo.getExitSocialInfoList()
.get(0).getRegisterId()));
//批量新增
for (TSocialPreDetailVo vo :registrationPreVo.getExitSocialInfoList()) {
TSocialPreDetail preDetal = new TSocialPreDetail();
BeanUtils.copyProperties(vo, preDetal);
socialPreDetailService.save(preDetal);
}
//批量删除社保待购买列表中的待确认、待派单、派单失败、审核、办理失败的数据
baseMapper.delete(Wrappers.<TDispatchInfoPre>query().lambda().in(
TDispatchInfoPre::getProcessStatus,Arrays.asList("0", "1", "2", "4","8"))
.eq(TDispatchInfoPre::getRegisterId,registrationPreVo.getExitSocialInfoList()
.get(0).getRegisterId()));
} else {
TDispatchInfoPreVo preVo = registrationPreVo.getDispatchInfoPreVo();
if (null != preVo) {
try {
//删除已存在的入职确认信息对应的社保明细
socialPreDetailService.remove(Wrappers.<TSocialPreDetail>lambdaQuery()
.eq(TSocialPreDetail::getRegisterId, preVo.getRegisterId()));
//判断是否存在社保待购买信息
TDispatchInfoPre preExit = baseMapper.selectOne(Wrappers.<TDispatchInfoPre>query().lambda()
.eq(TDispatchInfoPre::getRegisterId, preVo.getRegisterId())
.eq(TDispatchInfoPre::getEmpIdcard, preVo.getEmpIdcard())
.in(TDispatchInfoPre::getProcessStatus, Arrays.asList("0", "1", "2", "4","8"))
.last(CommonConstants.LAST_ONE_SQL));
TDispatchInfoPre pre = new TDispatchInfoPre();
BeanUtils.copyProperties(preVo, pre);
//时间格式转化
if (Common.isNotNull(preVo.getExpectedCollectionTime())) {
pre.setExpectedCollectionTime(LocalDateTimeUtils.dateToLocalDateTime(preVo.getExpectedCollectionTime()));
}
if (Common.isNotNull(preVo.getExpectedConfirmTime())) {
pre.setExpectedConfirmTime(LocalDateTimeUtils.dateToLocalDateTime(preVo.getExpectedConfirmTime()));
}
if (Common.isNotNull(preExit)) {
pre.setId(preExit.getId());
baseMapper.deleteById(preExit);
baseMapper.insert(pre);
} else {
baseMapper.insert(pre);
}
} catch (Exception e) {
log.error("执行异常", e);
return false;
}
}
}
return true;
}
/** /**
* @Description: 获取前端客服的所有项目权限 * @Description: 获取前端客服的所有项目权限
* @Author: huych * @Author: huych
......
package com.yifu.cloud.plus.v1.yifu.archives.service.impl; package com.yifu.cloud.plus.v1.yifu.social.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.social.entity.TSocialPreDetail;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TSocialPreDetailMapper; import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialPreDetailMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TSocialPreDetailService; import com.yifu.cloud.plus.v1.yifu.social.service.TSocialPreDetailService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!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"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialPreDetailMapper">
<resultMap id="tSocialPreDetailMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TSocialPreDetail"> <resultMap id="tSocialPreDetailMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.TSocialPreDetail">
<id property="id" column="ID"/> <id property="id" column="ID"/>
<result property="socialProvince" column="SOCIAL_PROVINCE"/> <result property="socialProvince" column="SOCIAL_PROVINCE"/>
<result property="socialCity" column="SOCIAL_CITY"/> <result property="socialCity" column="SOCIAL_CITY"/>
......
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