Commit 98b47e62 authored by hongguangwu's avatar hongguangwu

Merge remote-tracking branch 'origin/develop'

# Conflicts:
#	yifu-archives/yifu-archives-biz/src/main/resources/mapper/TCompleteMonitorMapper.xml
#	yifu-social/yifu-social-biz/src/main/resources/mapper/TDispatchInfoPreMapper.xml
parents 16391e5b 7dd00e74
...@@ -33,8 +33,8 @@ spec: # 资源规范字段 ...@@ -33,8 +33,8 @@ spec: # 资源规范字段
#dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。 #dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量 #dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量 #dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
dapr.io/app-max-request-size: "600" # 明确指定应用请求大小 dapr.io/app-max-request-size: "800" # 明确指定应用请求大小
dapr.io/http-max-request-size: "600" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB dapr.io/http-max-request-size: "800" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "4096" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header dapr.io/http-read-buffer-size: "4096" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/sidecar-listen-addresses: "0.0.0.0" dapr.io/sidecar-listen-addresses: "0.0.0.0"
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md # 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
...@@ -64,7 +64,7 @@ spec: # 资源规范字段 ...@@ -64,7 +64,7 @@ spec: # 资源规范字段
#cpu: 300m # CPU,1核心 = 1000m #cpu: 300m # CPU,1核心 = 1000m
requests: # 容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行 requests: # 容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行
#cpu: 100m #cpu: 100m
memory: "500Mi" memory: "800Mi"
#livenessProbe: # pod 内部健康检查的设置 #livenessProbe: # pod 内部健康检查的设置
# httpGet: # 通过httpget检查健康,返回200-399之间,则认为容器正常 # httpGet: # 通过httpget检查健康,返回200-399之间,则认为容器正常
# path: /healthCheck # URI地址 # path: /healthCheck # URI地址
......
...@@ -189,4 +189,10 @@ public class EmployeeRegistrationPre extends BaseEntity { ...@@ -189,4 +189,10 @@ public class EmployeeRegistrationPre extends BaseEntity {
@Schema(description = "合同是否可修改") @Schema(description = "合同是否可修改")
@TableField(exist = false) @TableField(exist = false)
private Boolean contractUpdateFlag; private Boolean contractUpdateFlag;
/**
* 是否拒绝入职: 0 是 1 否
*/
@Schema(description = "是否拒绝入职: 0 是 1 ")
private String isRefuse;
} }
...@@ -362,5 +362,9 @@ public class TEmployeeContractPre extends BaseEntity { ...@@ -362,5 +362,9 @@ public class TEmployeeContractPre extends BaseEntity {
@ExcelAttribute(name = "紧急联系人地址") @ExcelAttribute(name = "紧急联系人地址")
private String contactAddress; private String contactAddress;
// 电子签推送需要的新字段——END // 电子签推送需要的新字段——END
/**
* 是否拒绝入职: 0 是 1 否
*/
@Schema(description = "是否拒绝入职: 0 是 1 ")
private String isRefuse;
} }
...@@ -185,7 +185,6 @@ public class TFascTemplate extends BaseEntity { ...@@ -185,7 +185,6 @@ public class TFascTemplate extends BaseEntity {
@ExcelProperty("当前必填总数量") @ExcelProperty("当前必填总数量")
private String isMustAll; private String isMustAll;
/** /**
* 是否删除0否1是 * 是否删除0否1是
*/ */
...@@ -195,4 +194,5 @@ public class TFascTemplate extends BaseEntity { ...@@ -195,4 +194,5 @@ public class TFascTemplate extends BaseEntity {
@Schema(description = "是否删除0否1是") @Schema(description = "是否删除0否1是")
private String deleteFlag; private String deleteFlag;
} }
...@@ -504,6 +504,12 @@ public class TSettleDomain extends BaseEntity { ...@@ -504,6 +504,12 @@ public class TSettleDomain extends BaseEntity {
@ExcelIgnore @ExcelIgnore
private String bpoFlag; private String bpoFlag;
/**
* EKP的 是否启用BPO结算模式: 是 否
*/
@Schema(description = "是否启用BPO结算模式", name = "bpoEnable")
private String bpoEnable;
/** /**
* EKP的服务团队 : 存 * EKP的服务团队 : 存
*/ */
......
...@@ -108,6 +108,12 @@ public class ProjectSetInfoVo implements Serializable { ...@@ -108,6 +108,12 @@ public class ProjectSetInfoVo implements Serializable {
@ExcelIgnore @ExcelIgnore
private String bpoFlag; private String bpoFlag;
/**
* EKP的 是否启用BPO结算模式: 是 否
*/
@Schema(description = "是否启用BPO结算模式", name = "bpoEnable")
private String bpoEnable;
/** /**
* MVP1.7.11 增加: 服务项目 * MVP1.7.11 增加: 服务项目
*/ */
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
package com.yifu.cloud.plus.v1.yifu.archives.vo; package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate; import com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
...@@ -55,4 +56,8 @@ public class TFascTemplateSearchVo extends TFascTemplate { ...@@ -55,4 +56,8 @@ public class TFascTemplateSearchVo extends TFascTemplate {
@Schema(description = "查询limit 数据条数") @Schema(description = "查询limit 数据条数")
private int limitEnd; private int limitEnd;
//必填是否已配置0未配置1部分配置2已配置
@Schema(description = "必填是否已配置多个")
@TableField(exist = false)
private String[] isMustEditArray;
} }
...@@ -425,6 +425,12 @@ public class TSettleDomainEkpVo implements Serializable { ...@@ -425,6 +425,12 @@ public class TSettleDomainEkpVo implements Serializable {
@Schema(description = "是否BPO", name = "bpoFlag") @Schema(description = "是否BPO", name = "bpoFlag")
private String bpoFlag; private String bpoFlag;
/**
* EKP的 是否启用BPO结算模式: 是 否
*/
@Schema(description = "是否启用BPO结算模式", name = "bpoEnable")
private String bpoEnable;
/** /**
* EKP的服务团队 : 存 * EKP的服务团队 : 存
*/ */
......
...@@ -334,4 +334,15 @@ public class TEmployeeContractPreController { ...@@ -334,4 +334,15 @@ public class TEmployeeContractPreController {
public R contractUrg(@RequestParam String id) { public R contractUrg(@RequestParam String id) {
return tEmployeeContractPreService.contractUrg(id); return tEmployeeContractPreService.contractUrg(id);
} }
/**
* 通过id查询合同待签订任务记录表
* @param registId
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/getInfoByRegistId" )
public R<TEmployeeContractPre> getInfoByRegistId(@RequestParam("registId" ) String registId) {
return tEmployeeContractPreService.getInfoByRegistId(registId);
}
} }
...@@ -237,7 +237,7 @@ public class TSettleDomainController { ...@@ -237,7 +237,7 @@ public class TSettleDomainController {
TSettleDomainListVo listVo = new TSettleDomainListVo(); TSettleDomainListVo listVo = new TSettleDomainListVo();
listVo.setListSelectVO(list); listVo.setListSelectVO(list);
if (Common.isNotNull(list)){ if (Common.isNotNull(list)){
listVo.setMapSelectVo(list.stream().collect(Collectors.toMap(TSettleDomain::getDepartNo, k->k))); listVo.setMapSelectVo(list.stream().collect(Collectors.toMap(TSettleDomain::getDepartNo, k->k, (existing, replacement) -> existing)));
} }
return listVo; return listVo;
} }
...@@ -255,7 +255,7 @@ public class TSettleDomainController { ...@@ -255,7 +255,7 @@ public class TSettleDomainController {
TSettleDomainListVo listVo = new TSettleDomainListVo(); TSettleDomainListVo listVo = new TSettleDomainListVo();
listVo.setListSelectVO(list); listVo.setListSelectVO(list);
if (Common.isNotNull(list)){ if (Common.isNotNull(list)){
listVo.setMapSelectVo(list.stream().collect(Collectors.toMap(TSettleDomain::getId, k->k))); listVo.setMapSelectVo(list.stream().collect(Collectors.toMap(TSettleDomain::getId, k->k, (existing, replacement) -> existing)));
} }
return listVo; return listVo;
} }
...@@ -293,8 +293,10 @@ public class TSettleDomainController { ...@@ -293,8 +293,10 @@ public class TSettleDomainController {
.eq(TSettleDomain::getDepartNo, tSettleDomainSelectVo.getDepartNo()) .eq(TSettleDomain::getDepartNo, tSettleDomainSelectVo.getDepartNo())
.eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING) .eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING)
.last(CommonConstants.LAST_ONE_SQL)); .last(CommonConstants.LAST_ONE_SQL));
BeanUtils.copyProperties(tSettleDomain,tSettleDomainSelectVo); if (tSettleDomain != null) {
tSettleDomainSelectVo.setCustomerCode(tSettleDomain.getCustomerNo()); BeanUtils.copyProperties(tSettleDomain, tSettleDomainSelectVo);
tSettleDomainSelectVo.setCustomerCode(tSettleDomain.getCustomerNo());
}
list.add(tSettleDomainSelectVo); list.add(tSettleDomainSelectVo);
TSettleDomainListVo listVo = new TSettleDomainListVo(); TSettleDomainListVo listVo = new TSettleDomainListVo();
listVo.setListSelectVO(list); listVo.setListSelectVO(list);
......
...@@ -41,11 +41,12 @@ public interface TFascTemplateMapper extends BaseMapper<TFascTemplate> { ...@@ -41,11 +41,12 @@ public interface TFascTemplateMapper extends BaseMapper<TFascTemplate> {
* @param tFascTemplate 法大大专业版模板表 * @param tFascTemplate 法大大专业版模板表
* @return * @return
*/ */
IPage<TFascTemplate> getTFascTemplatePage(Page<TFascTemplate> page, @Param("tFascTemplate") TFascTemplate tFascTemplate); IPage<TFascTemplate> getTFascTemplatePage(Page<TFascTemplate> page, @Param("tFascTemplate") TFascTemplateSearchVo tFascTemplate);
List<TFascTemplate> getTFascTemplateListAll(@Param("tFascTemplate") TFascTemplate tFascTemplate); List<TFascTemplate> getTFascTemplateListAll(@Param("tFascTemplate") TFascTemplate tFascTemplate);
List<TFascTemplate> getTFascTemplateList(@Param("tFascTemplate") TFascTemplate tFascTemplate); List<TFascTemplate> getTFascTemplateList(@Param("tFascTemplate") TFascTemplate tFascTemplate);
long getTFascTemplateExportCount(@Param("tFascTemplate") TFascTemplateSearchVo tFascTemplate, @Param("idList") List<String> idList);
List<TFascTemplateExportVo> getTFascTemplateExport(@Param("tFascTemplate") TFascTemplateSearchVo tFascTemplate, @Param("idList") List<String> idList); List<TFascTemplateExportVo> getTFascTemplateExport(@Param("tFascTemplate") TFascTemplateSearchVo tFascTemplate, @Param("idList") List<String> idList);
/** /**
......
...@@ -103,4 +103,6 @@ public interface TEmployeeContractPreService extends IService<TEmployeeContractP ...@@ -103,4 +103,6 @@ public interface TEmployeeContractPreService extends IService<TEmployeeContractP
* @return * @return
*/ */
R contractUrg(String id); R contractUrg(String id);
R<TEmployeeContractPre> getInfoByRegistId(String registId);
} }
...@@ -23,6 +23,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.*; ...@@ -23,6 +23,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.alisms.AliSmsResult; import com.yifu.cloud.plus.v1.yifu.common.core.util.alisms.AliSmsResult;
import com.yifu.cloud.plus.v1.yifu.common.core.util.alisms.RegistParamVo; import com.yifu.cloud.plus.v1.yifu.common.core.util.alisms.RegistParamVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.alisms.YiFuSmsUtil; import com.yifu.cloud.plus.v1.yifu.common.core.util.alisms.YiFuSmsUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO;
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.config.DaprCheckProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprCheckProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprInsurancesProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprInsurancesProperties;
...@@ -263,6 +264,7 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -263,6 +264,7 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
} }
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
employeeRegistrationPre.setProcessStatus(CommonConstants.THREE_STRING); employeeRegistrationPre.setProcessStatus(CommonConstants.THREE_STRING);
employeeRegistrationPre.setIsRefuse(CommonConstants.ZERO_STRING);
baseMapper.updateById(employeeRegistrationPre); baseMapper.updateById(employeeRegistrationPre);
//新增操作记录 //新增操作记录
EmployeeRegistrationUpdateVo receiveVo = new EmployeeRegistrationUpdateVo(); EmployeeRegistrationUpdateVo receiveVo = new EmployeeRegistrationUpdateVo();
...@@ -271,12 +273,65 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -271,12 +273,65 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
receiveVo.setEmpIdcard(updatePre.getEmpIdcard()); receiveVo.setEmpIdcard(updatePre.getEmpIdcard());
receiveVo.setReason(employeeRegistrationPre.getReason()); receiveVo.setReason(employeeRegistrationPre.getReason());
receiveVo.setEmployeeId(user.getId()); receiveVo.setEmployeeId(user.getId());
StringBuilder sb = new StringBuilder("档案");
try { try {
//调用csp服务更新状态和新增操作记录 //调用csp服务更新状态和新增操作记录
cspDaprUtils.updateRegistByPreInfo(receiveVo); cspDaprUtils.updateRegistByPreInfo(receiveVo);
//处理社保待办信息
R<Boolean> booleanR = socialDaprUtils.updateRefuseSocialPreInfo(updatePre.getId());
if (null != booleanR && booleanR.getData().booleanValue()){
if (sb.length() == 0){
sb.append("社保");
}else {
sb.append("/社保");
}
}
//处理公积金待办信息
booleanR = socialDaprUtils.updateRefuseFundPreInfo(updatePre.getId());
if (null != booleanR && booleanR.getData().booleanValue()){
if (sb.length() == 0){
sb.append("公积金");
}else {
sb.append("/公积金");
}
}
//处理商险待办信息
BaseSearchVO insuranceSearchVo = new BaseSearchVO();
insuranceSearchVo.setRegisterId(updatePre.getId());
booleanR = insuranceDaprUtil.refuseInsurancePreByRegisterId(insuranceSearchVo);
if (null != booleanR && booleanR.getData().booleanValue()){
if (sb.length() == 0){
sb.append("商险");
}else {
sb.append("/商险");
}
}
//处理合同待办信息
LambdaUpdateWrapper<TEmployeeContractPre> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(TEmployeeContractPre::getRegisterId, updatePre.getId());
updateWrapper.set(TEmployeeContractPre::getIsRefuse,CommonConstants.ZERO_STRING);
int res = contractPreMapper.update(null,updateWrapper);
if (res > 0){
if (sb.length() == 0){
sb.append("合同");
}else {
sb.append("/合同");
}
}
} catch (Exception e) { } catch (Exception e) {
log.error("调用csp服务更新数据异常", e); log.error("调用csp服务更新数据异常", e);
} }
//增加操作日期
TEmployeePreLog log = new TEmployeePreLog();
log.setCreateTime(LocalDateTime.now());
log.setCreateName(user.getNickname());
log.setUpdateTime(LocalDateTime.now());
log.setPreId(employeeRegistrationPre.getId());
log.setDiffTitle("拒绝入职联动删除的待办:"+sb);
log.setMenuInfo("入职建档");
tEmployeePreLogService.save(log);
return R.ok(); return R.ok();
} }
...@@ -1178,7 +1233,8 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -1178,7 +1233,8 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
List<TEmployeeInsurancePre> list = dataR.getData().getInsurancePreList(); List<TEmployeeInsurancePre> list = dataR.getData().getInsurancePreList();
for (TEmployeeInsurancePre pre : list) { for (TEmployeeInsurancePre pre : list) {
//项目不同 //项目不同
if (!preVo.getDeptNo().equals(pre.getDeptNo()) && (pre.getProcessStatus().equals(CommonConstants.ZERO_STRING) || if (!preVo.getDeptNo().equals(pre.getDeptNo()) && (
pre.getProcessStatus().equals(CommonConstants.ZERO_STRING) ||
pre.getProcessStatus().equals(CommonConstants.ONE_STRING) || pre.getProcessStatus().equals(CommonConstants.ONE_STRING) ||
pre.getProcessStatus().equals(CommonConstants.TWO_STRING))) { pre.getProcessStatus().equals(CommonConstants.TWO_STRING))) {
erorFlag = true; erorFlag = true;
...@@ -1201,7 +1257,9 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -1201,7 +1257,9 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
//第一次确认接收场景 //第一次确认接收场景
if (Common.isNotNull(insuranceDetail)) { if (Common.isNotNull(insuranceDetail)) {
//项目不同 //项目不同
if (!preVo.getDeptNo().equals(insuranceDetail.getDeptNo()) && (insuranceDetail.getBuyHandleStatus() == CommonConstants.ONE_INT || if (!preVo.getDeptNo().equals(insuranceDetail.getDeptNo()) && (
insuranceDetail.getBuyHandleStatus() == CommonConstants.SIX_INT ||
insuranceDetail.getBuyHandleStatus() == CommonConstants.ONE_INT ||
insuranceDetail.getBuyHandleStatus() == CommonConstants.TWO_INT || insuranceDetail.getBuyHandleStatus() == CommonConstants.TWO_INT ||
insuranceDetail.getBuyHandleStatus() == CommonConstants.THREE_INT)) { insuranceDetail.getBuyHandleStatus() == CommonConstants.THREE_INT)) {
erorFlag = true; erorFlag = true;
...@@ -1216,6 +1274,8 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -1216,6 +1274,8 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
preVo.setProcessStatus(CommonConstants.SIX_STRING); preVo.setProcessStatus(CommonConstants.SIX_STRING);
} else if (insuranceDetail.getBuyHandleStatus() == CommonConstants.FOUR_INT) { } else if (insuranceDetail.getBuyHandleStatus() == CommonConstants.FOUR_INT) {
preVo.setProcessStatus(CommonConstants.FIVE_STRING); preVo.setProcessStatus(CommonConstants.FIVE_STRING);
} else if (insuranceDetail.getBuyHandleStatus() == CommonConstants.SIX_INT) {
preVo.setProcessStatus(CommonConstants.SEVEN_STRING);
} }
//是否地市自购 //是否地市自购
preVo.setIsAddress(insuranceDetail.getIsAdress()); preVo.setIsAddress(insuranceDetail.getIsAdress());
...@@ -1639,7 +1699,8 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -1639,7 +1699,8 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
if (Common.isNotNull(oldInsurance.getProcessStatus()) if (Common.isNotNull(oldInsurance.getProcessStatus())
&& (CommonConstants.THREE_STRING.equals(oldInsurance.getProcessStatus()) && (CommonConstants.THREE_STRING.equals(oldInsurance.getProcessStatus())
|| CommonConstants.FOUR_STRING.equals(oldInsurance.getProcessStatus()) || CommonConstants.FOUR_STRING.equals(oldInsurance.getProcessStatus())
|| CommonConstants.SIX_STRING.equals(oldInsurance.getProcessStatus()))) { || CommonConstants.SIX_STRING.equals(oldInsurance.getProcessStatus())
|| CommonConstants.SEVEN_STRING.equals(oldInsurance.getProcessStatus()))) {
oldInsurance.setModelType(CommonConstants.FOUR_STRING); oldInsurance.setModelType(CommonConstants.FOUR_STRING);
} }
} }
......
...@@ -903,8 +903,6 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -903,8 +903,6 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
&& CommonConstants.ZERO_STRING.equals(contractInfo.getChangeContractAndEmployee())) { && CommonConstants.ZERO_STRING.equals(contractInfo.getChangeContractAndEmployee())) {
changeStatus(contractInfo, user); changeStatus(contractInfo, user);
} else { } else {
//先停用项目内的其他的员工合同————不要这个逻辑了
// 2022-7-22 16:54:12 产品倩倩与测试说,作废终止审核通过,仅将原先选择的合同不在用即可
//baseMapper.updateInUseStatusById(contractInfo.getEmpId(), contractInfo.getSettleDomain(), contractInfo.getId(), CommonConstants.ONE_STRING) //baseMapper.updateInUseStatusById(contractInfo.getEmpId(), contractInfo.getSettleDomain(), contractInfo.getId(), CommonConstants.ONE_STRING)
if (Common.isNotNull(contractInfo.getOldContractId())) { if (Common.isNotNull(contractInfo.getOldContractId())) {
TEmployeeContractInfo old = this.getById(contractInfo.getOldContractId()); TEmployeeContractInfo old = this.getById(contractInfo.getOldContractId());
...@@ -921,6 +919,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -921,6 +919,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
} else { } else {
return R.failed("未找到关联的原合同"); return R.failed("未找到关联的原合同");
} }
doZhongZhiContract(contractInfo, user);
// 作废、终止审核通过: // 作废、终止审核通过:
// 更新项目合同状态为(2不在用),档案状态要判断 // 更新项目合同状态为(2不在用),档案状态要判断
TEmployeeProject tEmployeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query() TEmployeeProject tEmployeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query()
...@@ -1984,21 +1983,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -1984,21 +1983,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
StringBuilder failueInfo = new StringBuilder(); StringBuilder failueInfo = new StringBuilder();
workInfo.append("合同终止成功,"); workInfo.append("合同终止成功,");
//该项目下其他在用的合同统一更新成不在用 //该项目下其他在用的合同统一更新成不在用
contractInfoList = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query() doOtherContract(contract, user);
.lambda().eq(TEmployeeContractInfo::getEmpId, contract.getEmpId())
.eq(TEmployeeContractInfo::getSettleDomain, contract.getSettleDomain())
.eq(TEmployeeContractInfo::getInUse, CommonConstants.ZERO_STRING)
.eq(TEmployeeContractInfo::getDeleteFlag, CommonConstants.ZERO_INT)
.ne(TEmployeeContractInfo::getId, contract.getId()));
if (Common.isNotNull(contractInfoList)) {
for (TEmployeeContractInfo contractInfo1 : contractInfoList) {
contractInfo1.setInUse(CommonConstants.ONE_STRING);
contractInfo1.setAuditUserName(user.getNickname());
baseMapper.updateById(contractInfo1);
//增加审核记录
this.setAuditInfoNew(contractInfo1);
}
}
//在途的合同更新为审核不通过 //在途的合同更新为审核不通过
contractInfoListZt = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query() contractInfoListZt = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query()
.lambda().eq(TEmployeeContractInfo::getEmpId, contract.getEmpId()) .lambda().eq(TEmployeeContractInfo::getEmpId, contract.getEmpId())
...@@ -2117,6 +2102,10 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -2117,6 +2102,10 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
errorCount++; errorCount++;
continue; continue;
} }
//该项目下其他在用的合同统一更新成不在用
doZhongZhiContract(contract, user);
// 作废、终止审核通过: // 作废、终止审核通过:
// 更新项目合同状态为(2不在用),档案状态要判断 // 更新项目合同状态为(2不在用),档案状态要判断
tEmployeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query() tEmployeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query()
...@@ -2335,21 +2324,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -2335,21 +2324,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
StringBuilder failueInfo = new StringBuilder(); StringBuilder failueInfo = new StringBuilder();
workInfo.append("合同终止成功,"); workInfo.append("合同终止成功,");
//该项目下其他在用的合同统一更新成不在用 //该项目下其他在用的合同统一更新成不在用
List<TEmployeeContractInfo> contractInfoList = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query() doOtherContract(contractInfo, user);
.lambda().eq(TEmployeeContractInfo::getEmpId, contractInfo.getEmpId())
.eq(TEmployeeContractInfo::getSettleDomain, contractInfo.getSettleDomain())
.eq(TEmployeeContractInfo::getInUse, CommonConstants.ZERO_STRING)
.eq(TEmployeeContractInfo::getDeleteFlag, CommonConstants.ZERO_INT)
.ne(TEmployeeContractInfo::getId, contractInfo.getId()));
if (Common.isNotNull(contractInfoList)) {
for (TEmployeeContractInfo contractInfo1 : contractInfoList) {
contractInfo1.setInUse(CommonConstants.ONE_STRING);
contractInfo1.setAuditUserName(user.getNickname());
baseMapper.updateById(contractInfo1);
//增加审核记录
this.setAuditInfoNew(contractInfo1);
}
}
//在途的合同更新为审核不通过 //在途的合同更新为审核不通过
List<TEmployeeContractInfo> contractInfoListZt = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query() List<TEmployeeContractInfo> contractInfoListZt = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query()
.lambda().eq(TEmployeeContractInfo::getEmpId, contractInfo.getEmpId()) .lambda().eq(TEmployeeContractInfo::getEmpId, contractInfo.getEmpId())
...@@ -2455,6 +2430,48 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -2455,6 +2430,48 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
} }
} }
// 同步处理其他合同
private void doOtherContract(TEmployeeContractInfo contract, YifuUser user) {
List<TEmployeeContractInfo> contractInfoList = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query()
.lambda().eq(TEmployeeContractInfo::getEmpId, contract.getEmpId())
.eq(TEmployeeContractInfo::getSettleDomain, contract.getSettleDomain())
.eq(TEmployeeContractInfo::getInUse, CommonConstants.ZERO_STRING)
.eq(TEmployeeContractInfo::getDeleteFlag, CommonConstants.ZERO_INT)
.ne(TEmployeeContractInfo::getId, contract.getId()));
if (Common.isNotNull(contractInfoList)) {
for (TEmployeeContractInfo contractInfo1 : contractInfoList) {
contractInfo1.setInUse(CommonConstants.ONE_STRING);
contractInfo1.setAuditUserName(user.getNickname());
baseMapper.updateById(contractInfo1);
//增加审核记录
this.setAuditInfoNew(contractInfo1);
}
}
}
// 同步处理终止合同(2026-01-29 倩倩:作废、终止的合同审核通过后,将待审核的终止的合同处理为审核不通过,以使得 自动化离职的合同 变为无需处理。未处理作废的合同,后续有需要再追加)
private void doZhongZhiContract(TEmployeeContractInfo contractInfo, YifuUser user) {
// 1将待审核的变为审核不通过且不在用
List<TEmployeeContractInfo> contractInfoList = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query()
.lambda().eq(TEmployeeContractInfo::getEmpIdcard, contractInfo.getEmpIdcard())
.eq(TEmployeeContractInfo::getSettleDomain, contractInfo.getSettleDomain())
.eq(TEmployeeContractInfo::getAuditStatus, CommonConstants.ONE_STRING)
.eq(TEmployeeContractInfo::getSituation, EmployeeConstants.SITUATION_SEVEN)
.eq(TEmployeeContractInfo::getDeleteFlag, CommonConstants.ZERO_INT)
.ne(TEmployeeContractInfo::getId, contractInfo.getId()));
if (Common.isNotNull(contractInfoList)) {
for (TEmployeeContractInfo contractInfo1 : contractInfoList) {
contractInfo1.setInUse(CommonConstants.ONE_STRING);
contractInfo1.setAuditStatus(CommonConstants.THREE_INT);
contractInfo1.setAuditUserName(user.getNickname());
baseMapper.updateById(contractInfo1);
//增加审核记录
this.setAuditInfoNew(contractInfo1);
//this.sendLeave(contractInfo1.getId(), CommonConstants.EIGHT_STRING, CommonConstants.ONE_STRING, "终止合同联动", user);
}
}
}
//更新瓜子offer状态 //更新瓜子offer状态
@Override @Override
public void updateGzOfferStatus(TEmployeeContractInfo contractInfo,String preStatus,String updStatus, String userId, String nickname) { public void updateGzOfferStatus(TEmployeeContractInfo contractInfo,String preStatus,String updStatus, String userId, String nickname) {
......
...@@ -1244,5 +1244,14 @@ public class TEmployeeContractPreServiceImpl extends ServiceImpl<TEmployeeContra ...@@ -1244,5 +1244,14 @@ public class TEmployeeContractPreServiceImpl extends ServiceImpl<TEmployeeContra
} }
} }
} }
@Override
public R<TEmployeeContractPre> getInfoByRegistId(String registId) {
if (Common.isEmpty(registId)) {
return R.failed(CommonConstants.PARAM_INFO_ERROR);
}
return R.ok(baseMapper.selectOne(Wrappers.<TEmployeeContractPre>query().lambda()
.notIn(TEmployeeContractPre::getProcessStatus, Arrays.asList("0","1","3","5","7","10","11"))
.eq(TEmployeeContractPre::getRegisterId, registId)
.last(CommonConstants.LAST_ONE_SQL)));
}
} }
...@@ -101,7 +101,7 @@ public class TFascTemplateServiceImpl extends ServiceImpl<TFascTemplateMapper, T ...@@ -101,7 +101,7 @@ public class TFascTemplateServiceImpl extends ServiceImpl<TFascTemplateMapper, T
//获取要导出的列表 //获取要导出的列表
List<TFascTemplateExportVo> list = new ArrayList<>(); List<TFascTemplateExportVo> list = new ArrayList<>();
List<String> idList = Common.getList(searchVo.getIds()); List<String> idList = Common.getList(searchVo.getIds());
long count = noPageCountDiy(searchVo, idList); long count = baseMapper.getTFascTemplateExportCount(searchVo, idList);
ServletOutputStream out = null; ServletOutputStream out = null;
try { try {
out = response.getOutputStream(); out = response.getOutputStream();
......
...@@ -244,6 +244,9 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T ...@@ -244,6 +244,9 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
// 处理服务团队数据权限 2022-09-19 fxj // 处理服务团队数据权限 2022-09-19 fxj
initServerTeamPermission(domain); initServerTeamPermission(domain);
domain.setDeleteFlag(CommonConstants.ZERO_STRING); domain.setDeleteFlag(CommonConstants.ZERO_STRING);
if (Common.isEmpty(domain.getBpoEnable())){
domain.setBpoEnable(CommonConstants.IS_FALSE);
}
if (Common.isNotNull(tSettleDomainInfo)) { if (Common.isNotNull(tSettleDomainInfo)) {
baseMapper.updateById(domain); baseMapper.updateById(domain);
} else { } else {
...@@ -422,7 +425,7 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T ...@@ -422,7 +425,7 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
List<TSettleDomain> voList = baseMapper.getSettleInfoByCodes(codes); List<TSettleDomain> voList = baseMapper.getSettleInfoByCodes(codes);
TSettleDomainListVo setMap = new TSettleDomainListVo(); TSettleDomainListVo setMap = new TSettleDomainListVo();
if (Common.isNotNull(voList)){ if (Common.isNotNull(voList)){
setMap.setMapVO(voList.stream().collect(Collectors.toMap(TSettleDomain::getDepartNo, k->k))); setMap.setMapVO(voList.stream().collect(Collectors.toMap(TSettleDomain::getDepartNo, k->k, (existing, replacement) -> existing)));
} }
return setMap; return setMap;
} }
......
...@@ -119,6 +119,9 @@ ...@@ -119,6 +119,9 @@
</sql> </sql>
<sql id="employeeRegistrationPre_where"> <sql id="employeeRegistrationPre_where">
<if test="employeeRegistrationPre != null"> <if test="employeeRegistrationPre != null">
<if test="employeeRegistrationPre.isRefuse != null and employeeRegistrationPre.isRefuse.trim() != ''">
AND a.IS_REFUSE = #{employeeRegistrationPre.isRefuse}
</if>
<if test="employeeRegistrationPre.id != null and employeeRegistrationPre.id.trim() != ''"> <if test="employeeRegistrationPre.id != null and employeeRegistrationPre.id.trim() != ''">
AND a.id = #{employeeRegistrationPre.id} AND a.id = #{employeeRegistrationPre.id}
</if> </if>
...@@ -144,7 +147,7 @@ ...@@ -144,7 +147,7 @@
</foreach> </foreach>
</if> </if>
<if test="employeeRegistrationPre.customerUsernameNew != null and employeeRegistrationPre.customerUsernameNew.trim() != ''"> <if test="employeeRegistrationPre.customerUsernameNew != null and employeeRegistrationPre.customerUsernameNew.trim() != ''">
AND a.customer_username_new = #{employeeRegistrationPre.customerUsernameNew} AND a.customer_username_new like CONCAT('%',#{employeeRegistrationPre.customerUsernameNew},'%')
</if> </if>
<if test="employeeRegistrationPre.customerUserLoginname != null and employeeRegistrationPre.customerUserLoginname.trim() != ''"> <if test="employeeRegistrationPre.customerUserLoginname != null and employeeRegistrationPre.customerUserLoginname.trim() != ''">
AND a.customer_user_loginname = #{employeeRegistrationPre.customerUserLoginname} AND a.customer_user_loginname = #{employeeRegistrationPre.customerUserLoginname}
......
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
AND a.PROJECT_SOURCE = #{employeeRegistrationPre.dataSource} AND a.PROJECT_SOURCE = #{employeeRegistrationPre.dataSource}
</if> </if>
<if test="employeeRegistrationPre.customerUsernameNew != null and employeeRegistrationPre.customerUsernameNew.trim() != ''"> <if test="employeeRegistrationPre.customerUsernameNew != null and employeeRegistrationPre.customerUsernameNew.trim() != ''">
AND c.CS_NAME = #{employeeRegistrationPre.customerUsernameNew} AND c.CS_NAME like CONCAT('%',#{employeeRegistrationPre.customerUsernameNew},'%')
</if> </if>
<if test="employeeRegistrationPre.authSql != null and employeeRegistrationPre.authSql.trim() != ''"> <if test="employeeRegistrationPre.authSql != null and employeeRegistrationPre.authSql.trim() != ''">
${employeeRegistrationPre.authSql} ${employeeRegistrationPre.authSql}
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
inner join t_employee_info b on a.EMP_ID = b.id inner join t_employee_info b on a.EMP_ID = b.id
inner join t_settle_domain c on a.DEPT_NO = c.DEPART_NO inner join t_settle_domain c on a.DEPT_NO = c.DEPART_NO
<where> <where>
a.delete_flag = '0' and a.IS_COMPLETE = '1' and a.project_status = 0 a.delete_flag = '0' and a.IS_COMPLETE = '1' and a.project_status = 0
<include refid="employeeRegistrationPre_where"/> <include refid="employeeRegistrationPre_where"/>
</where> </where>
</select> </select>
......
...@@ -446,13 +446,13 @@ ...@@ -446,13 +446,13 @@
</where> </where>
order by a.APPLY_NO desc order by a.APPLY_NO desc
</select> </select>
<!--审核列表--> <!--审核列表 电子签不要审核,但是作废、终止的要审核-->
<select id="getTEmployeeContractInfoPageByAudit" resultMap="tEmployeeContrctInfoMap"> <select id="getTEmployeeContractInfoPageByAudit" resultMap="tEmployeeContrctInfoMap">
SELECT SELECT
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
FROM t_employee_contract_info a FROM t_employee_contract_info a
<where> <where>
a.DELETE_FLAG = 0 and (a.sign_type is null or a.sign_type = '1') a.DELETE_FLAG = 0 and (a.sign_type is null or a.sign_type = '1' or a.SITUATION in ('作废','终止') )
<include refid="tEmployeeContractInfo_where"/> <include refid="tEmployeeContractInfo_where"/>
<if test="tEmployeeContractInfo.authSql != null and tEmployeeContractInfo.authSql.trim() != ''"> <if test="tEmployeeContractInfo.authSql != null and tEmployeeContractInfo.authSql.trim() != ''">
${tEmployeeContractInfo.authSql} ${tEmployeeContractInfo.authSql}
......
...@@ -179,6 +179,9 @@ ...@@ -179,6 +179,9 @@
</sql> </sql>
<sql id="tEmployeeContractPre_where"> <sql id="tEmployeeContractPre_where">
<if test="tEmployeeContractPre != null"> <if test="tEmployeeContractPre != null">
<if test="tEmployeeContractPre.isRefuse != null and tEmployeeContractPre.isRefuse.trim() != ''">
AND a.IS_REFUSE = #{tEmployeeContractPre.isRefuse}
</if>
<if test="tEmployeeContractPre.id != null and tEmployeeContractPre.id.trim() != ''"> <if test="tEmployeeContractPre.id != null and tEmployeeContractPre.id.trim() != ''">
AND a.id = #{tEmployeeContractPre.id} AND a.id = #{tEmployeeContractPre.id}
</if> </if>
...@@ -201,9 +204,6 @@ ...@@ -201,9 +204,6 @@
<if test="tEmployeeContractPre.employeeName != null and tEmployeeContractPre.employeeName.trim() != ''"> <if test="tEmployeeContractPre.employeeName != null and tEmployeeContractPre.employeeName.trim() != ''">
AND a.employee_name = #{tEmployeeContractPre.employeeName} AND a.employee_name = #{tEmployeeContractPre.employeeName}
</if> </if>
<if test="tEmployeeContractPre.archivesIsCreate != null and tEmployeeContractPre.archivesIsCreate.trim() != ''">
AND a.archives_is_create = #{tEmployeeContractPre.archivesIsCreate}
</if>
<if test="tEmployeeContractPre.empIdcard != null and tEmployeeContractPre.empIdcard.trim() != ''"> <if test="tEmployeeContractPre.empIdcard != null and tEmployeeContractPre.empIdcard.trim() != ''">
AND a.emp_idcard like CONCAT('%',#{tEmployeeContractPre.empIdcard},'%') AND a.emp_idcard like CONCAT('%',#{tEmployeeContractPre.empIdcard},'%')
</if> </if>
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
AND a.signatory like CONCAT('%',#{tEmployeeContractPre.signatory},'%') AND a.signatory like CONCAT('%',#{tEmployeeContractPre.signatory},'%')
</if> </if>
<if test="tEmployeeContractPre.customerUsername != null and tEmployeeContractPre.customerUsername.trim() != ''"> <if test="tEmployeeContractPre.customerUsername != null and tEmployeeContractPre.customerUsername.trim() != ''">
AND a.customer_username = #{tEmployeeContractPre.customerUsername} AND a.customer_username like CONCAT('%',#{tEmployeeContractPre.customerUsername},'%')
</if> </if>
<if test="tEmployeeContractPre.customerUserLoginname != null and tEmployeeContractPre.customerUserLoginname.trim() != ''"> <if test="tEmployeeContractPre.customerUserLoginname != null and tEmployeeContractPre.customerUserLoginname.trim() != ''">
AND a.customer_user_loginname = #{tEmployeeContractPre.customerUserLoginname} AND a.customer_user_loginname = #{tEmployeeContractPre.customerUserLoginname}
...@@ -286,6 +286,18 @@ ...@@ -286,6 +286,18 @@
<where> <where>
1=1 1=1
<include refid="tEmployeeContractPre_where"/> <include refid="tEmployeeContractPre_where"/>
<if test="tEmployeeContractPre != null">
<if test="tEmployeeContractPre.archivesIsCreate != null and tEmployeeContractPre.archivesIsCreate.trim() != ''">
<if test='tEmployeeContractPre.archivesIsCreate == "0" '>
AND b.id is not null
</if>
<if test='tEmployeeContractPre.archivesIsCreate == "1" '>
AND b.id is null
</if>
</if>
</if>
</where> </where>
order by a.create_time desc order by a.create_time desc
</select> </select>
...@@ -308,9 +320,21 @@ ...@@ -308,9 +320,21 @@
SELECT SELECT
count(1) count(1)
FROM t_employee_contract_pre a FROM t_employee_contract_pre a
left join t_employee_project b on a.emp_idcard = b.EMP_IDCARD and a.DEPT_NO = b.DEPT_NO
and b.PROJECT_STATUS = 0 and b.DELETE_FLAG = '0'
<where> <where>
1=1 1=1
<include refid="tEmployeeContractPre_where"/> <include refid="tEmployeeContractPre_where"/>
<if test="tEmployeeContractPre != null">
<if test="tEmployeeContractPre.archivesIsCreate != null and tEmployeeContractPre.archivesIsCreate.trim() != ''">
<if test='tEmployeeContractPre.archivesIsCreate == "0" '>
AND b.id is not null
</if>
<if test='tEmployeeContractPre.archivesIsCreate == "1" '>
AND b.id is null
</if>
</if>
</if>
</where> </where>
</select> </select>
...@@ -350,6 +374,16 @@ ...@@ -350,6 +374,16 @@
<where> <where>
1=1 1=1
<include refid="tEmployeeContractPre_where"/> <include refid="tEmployeeContractPre_where"/>
<if test="tEmployeeContractPre != null">
<if test="tEmployeeContractPre.archivesIsCreate != null and tEmployeeContractPre.archivesIsCreate.trim() != ''">
<if test='tEmployeeContractPre.archivesIsCreate == "0" '>
AND b.id is not null
</if>
<if test='tEmployeeContractPre.archivesIsCreate == "1" '>
AND b.id is null
</if>
</if>
</if>
</where> </where>
order by a.create_time desc order by a.create_time desc
<if test="tEmployeeContractPre.limitStart != null"> <if test="tEmployeeContractPre.limitStart != null">
......
...@@ -970,7 +970,7 @@ ...@@ -970,7 +970,7 @@
b.CONTRACT_START,b.CONTRACT_END,b.CONTRACT_TERM,b.CONTRACT_SUB_NAME,b.CONTRACT_ID, b.CONTRACT_START,b.CONTRACT_END,b.CONTRACT_TERM,b.CONTRACT_SUB_NAME,b.CONTRACT_ID,
c.UNIT_NAME, c.UNIT_NAME,
c.UNIT_NO,c.DEPT_ID,c.DEPT_NAME,c.DEPT_NO,c.POST,c.EMP_NO,c.PROJECT_STATUS,c.EMP_NATRUE,c.TRY_PERIOD c.UNIT_NO,c.DEPT_ID,c.DEPT_NAME,c.DEPT_NO,c.POST,c.EMP_NO,c.PROJECT_STATUS,c.EMP_NATRUE,ifnull(c.TRY_PERIOD,b.TRY_PERIOD) TRY_PERIOD
,a.SCHOOL ,a.SCHOOL
from ( from (
select e.ID,e.EMP_CODE,e.EMP_NAME,e.EMP_IDCARD,e.EMP_NATIONAL,e.EMP_PHONE,e.ID_PROVINCE,e.ID_CITY, select e.ID,e.EMP_CODE,e.EMP_NAME,e.EMP_IDCARD,e.EMP_NATIONAL,e.EMP_PHONE,e.ID_PROVINCE,e.ID_CITY,
...@@ -1012,7 +1012,7 @@ ...@@ -1012,7 +1012,7 @@
x.CONTRACT_TERM, x.CONTRACT_TERM,
x.CONTRACT_SUB_NAME, x.CONTRACT_SUB_NAME,
x.ID as "CONTRACT_ID", x.ID as "CONTRACT_ID",
x.EMP_IDCARD x.EMP_IDCARD,x.TRY_PERIOD
FROM FROM
t_employee_contract_info x t_employee_contract_info x
WHERE WHERE
......
...@@ -137,6 +137,15 @@ ...@@ -137,6 +137,15 @@
<if test="tFascTemplate.isMustEdit != null and tFascTemplate.isMustEdit.trim() != ''"> <if test="tFascTemplate.isMustEdit != null and tFascTemplate.isMustEdit.trim() != ''">
AND a.is_must_edit = #{tFascTemplate.isMustEdit} AND a.is_must_edit = #{tFascTemplate.isMustEdit}
</if> </if>
<if test="tFascTemplate.isMustEditArray != null and tFascTemplate.isMustEditArray.length > 0">
AND a.is_must_edit in
<foreach item="statusStr" index="index" collection="tFascTemplate.isMustEditArray" open="("
separator="," close=")">
#{statusStr}
</foreach>
</if>
<if test="tFascTemplate.createBy != null and tFascTemplate.createBy.trim() != ''"> <if test="tFascTemplate.createBy != null and tFascTemplate.createBy.trim() != ''">
AND a.CREATE_BY = #{tFascTemplate.createBy} AND a.CREATE_BY = #{tFascTemplate.createBy}
</if> </if>
...@@ -222,6 +231,23 @@ ...@@ -222,6 +231,23 @@
</if> </if>
</select> </select>
<!--导出条数-->
<select id="getTFascTemplateExportCount" resultType="java.lang.Long">
SELECT
count(1)
FROM t_fasc_template a
<where>
a.delete_flag = '0'
<include refid="tFascTemplate_where"/>
<if test="idList != null and idList.size>0">
AND a.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</where>
</select>
<!--获取所有要更新是否必填的模板数据--> <!--获取所有要更新是否必填的模板数据-->
<select id="getTFascTemplateResutList" resultMap="tFascTemplateMap"> <select id="getTFascTemplateResutList" resultMap="tFascTemplateMap">
SELECT SELECT
......
...@@ -90,6 +90,7 @@ ...@@ -90,6 +90,7 @@
<result property="riskServerItem" column="RISK_SERVER_ITEM"/> <result property="riskServerItem" column="RISK_SERVER_ITEM"/>
<result property="unitSeriousIllnessProp" column="UNIT_SERIOUS_ILLNESS_PROP"/> <result property="unitSeriousIllnessProp" column="UNIT_SERIOUS_ILLNESS_PROP"/>
<result property="bpoFlag" column="BPO_FLAG"/> <result property="bpoFlag" column="BPO_FLAG"/>
<result property="bpoEnable" column="BPO_ENABLE"/>
<result property="buBelong" column="BU_BELONG"/> <result property="buBelong" column="BU_BELONG"/>
<result property="firstIndicatorBelong" column="FIRST_INDICATOR_BELONG"/> <result property="firstIndicatorBelong" column="FIRST_INDICATOR_BELONG"/>
<result property="secondIndicatorBelong" column="SECOND_INDICATOR_BELONG"/> <result property="secondIndicatorBelong" column="SECOND_INDICATOR_BELONG"/>
...@@ -187,6 +188,7 @@ ...@@ -187,6 +188,7 @@
a.RISK_SERVER_ITEM, a.RISK_SERVER_ITEM,
a.UNIT_SERIOUS_ILLNESS_PROP, a.UNIT_SERIOUS_ILLNESS_PROP,
a.BPO_FLAG, a.BPO_FLAG,
a.BPO_ENABLE,
a.BU_BELONG, a.BU_BELONG,
a.ISSUE_STATUS, a.ISSUE_STATUS,
a.FIRST_INDICATOR_BELONG, a.FIRST_INDICATOR_BELONG,
...@@ -229,6 +231,7 @@ ...@@ -229,6 +231,7 @@
<result property="commitUserName" column="COMMIT_USER_NAME"/> <result property="commitUserName" column="COMMIT_USER_NAME"/>
<result property="stopFlag" column="STOP_FLAG"/> <result property="stopFlag" column="STOP_FLAG"/>
<result property="bpoFlag" column="BPO_FLAG"/> <result property="bpoFlag" column="BPO_FLAG"/>
<result property="bpoEnable" column="BPO_ENABLE"/>
<!-- 2025-01-10 FXJ V1.7.5 --> <!-- 2025-01-10 FXJ V1.7.5 -->
<result property="hasContainRisks" column="HAS_CONTAIN_RISKS"/> <result property="hasContainRisks" column="HAS_CONTAIN_RISKS"/>
...@@ -444,6 +447,7 @@ ...@@ -444,6 +447,7 @@
a.RISK_SERVER_ITEM, a.RISK_SERVER_ITEM,
a.UNIT_SERIOUS_ILLNESS_PROP, a.UNIT_SERIOUS_ILLNESS_PROP,
a.BPO_FLAG, a.BPO_FLAG,
a.BPO_ENABLE,
a.BU_BELONG, a.BU_BELONG,
a.ISSUE_STATUS, a.ISSUE_STATUS,
a.FIRST_INDICATOR_BELONG, a.FIRST_INDICATOR_BELONG,
...@@ -506,6 +510,7 @@ ...@@ -506,6 +510,7 @@
a.INVOICE_TITLE_SALARY, a.INVOICE_TITLE_SALARY,
a.INVOICE_TITLE_INSURANCE, a.INVOICE_TITLE_INSURANCE,
a.BPO_FLAG, a.BPO_FLAG,
a.BPO_ENABLE,
a.SERVER_ITEM a.SERVER_ITEM
FROM t_settle_domain a FROM t_settle_domain a
where a.DELETE_FLAG = '0' where a.DELETE_FLAG = '0'
......
...@@ -34,9 +34,9 @@ spring: ...@@ -34,9 +34,9 @@ spring:
servlet: servlet:
multipart: multipart:
#所有上传文件最大大小 #所有上传文件最大大小
max-request-size: 600MB max-request-size: 800MB
#单个文件最大大小 #单个文件最大大小
max-file-size: 600MB max-file-size: 800MB
#swagger 文档 https://springdoc.org/ #swagger 文档 https://springdoc.org/
### OpenAPI3 注解 ### OpenAPI3 注解
# OpenAPI 3 注解位置 # OpenAPI 3 注解位置
......
...@@ -298,6 +298,15 @@ public class ChecksUtil { ...@@ -298,6 +298,15 @@ public class ChecksUtil {
if (mobileList.size() > CommonConstants.ZERO_INT){ if (mobileList.size() > CommonConstants.ZERO_INT){
TCheckMobile mobile = null; TCheckMobile mobile = null;
for (String mb : mobileList){ for (String mb : mobileList){
//广电号码放行,硬编码 后续要优化
if (mb.indexOf("192") == 0){
mobile = new TCheckMobile();
mobile.setMobile(mb);
mobile.setStatus(CommonConstants.ONE_STRING);
mobile.setMessage("广电号码放行");
checkMobileMap.put(mb,mobile);
continue;
}
jsonObject = ChecksUtil.invokeMobileBasic(mb); jsonObject = ChecksUtil.invokeMobileBasic(mb);
// 2.处理返回结果 // 2.处理返回结果
if (jsonObject != null) { if (jsonObject != null) {
...@@ -342,10 +351,19 @@ public class ChecksUtil { ...@@ -342,10 +351,19 @@ public class ChecksUtil {
} }
} else { } else {
// 记录错误日志,正式项目中请换成log打印 // 记录错误日志,正式项目中请换成log打印
return R.failed("手机号校验失败:" + jsonObject.get(ChecksConstants.MESSAGE).getAsString()); //return R.failed("手机号校验失败:" + jsonObject.get(ChecksConstants.MESSAGE).getAsString());
mobile = new TCheckMobile();
mobile.setMobile(mb);
mobile.setStatus(CommonConstants.TEN_STRING);
mobile.setMessage(getJsonElementValue(jsonObject.get(ChecksConstants.MESSAGE))+getJsonElementValue(jsonObject.get(ChecksConstants.REMARK)));
checkMobileMap.put(mb,mobile);
} }
} else { } else {
return R.failed(ChecksConstants.NO_DATA_RESULT); mobile = new TCheckMobile();
mobile.setMobile(mb);
mobile.setStatus(CommonConstants.TEN_STRING);
mobile.setMessage("调用第三方服务失败!");
checkMobileMap.put(mb,mobile);
} }
} }
} }
......
...@@ -658,7 +658,7 @@ public interface CommonConstants { ...@@ -658,7 +658,7 @@ public interface CommonConstants {
List<String> processInsurancesStatus = Stream.of("1","2","5").collect(Collectors.toList()); List<String> processInsurancesStatus = Stream.of("1","2","5").collect(Collectors.toList());
List<String> processListPreArchivesStatus = Stream.of("0","1","2","3","4","5").collect(Collectors.toList()); List<String> processListPreArchivesStatus = Stream.of("0","1","2","3","4","5","7").collect(Collectors.toList());
String[] INSURANCE_ALERT_STATUS = {"0","1","2","3","4","5"}; String[] INSURANCE_ALERT_STATUS = {"0","1","2","3","4","5"};
List<String> deptList = Stream.of("安徽一册档案管理有限公司","安徽顾合企业管理咨询有限公司","安徽赤道线数字传媒科技有限公司","劳务业务中心","易服智享&研究院").collect(Collectors.toList()); List<String> deptList = Stream.of("安徽一册档案管理有限公司","安徽顾合企业管理咨询有限公司","安徽赤道线数字传媒科技有限公司","劳务业务中心","易服智享&研究院").collect(Collectors.toList());
......
...@@ -87,6 +87,27 @@ public class BigDecimalUtils { ...@@ -87,6 +87,27 @@ public class BigDecimalUtils {
return isZero ? (r.compareTo(BigDecimal.ZERO) == -1 ? BigDecimal.ZERO : r) : r; return isZero ? (r.compareTo(BigDecimal.ZERO) == -1 ? BigDecimal.ZERO : r) : r;
} }
/**
* BigDecimal的减法运算,允许返回负数值
* @author : Lingma
* 2026年1月26日
* @param b1 被减数
* @param bn 需要减的减数数组
* @return 返回实际减法结果,如果结果为负数也会返回
*/
public static BigDecimal subtractAllowNegative(BigDecimal b1, BigDecimal... bn) {
if (null == b1) {
b1 = BigDecimal.ZERO;
}
BigDecimal r = b1;
if (null != bn) {
for (BigDecimal b : bn) {
r = r.subtract((null == b ? BigDecimal.ZERO : b));
}
}
return r;
}
/** /**
* 整型的减法运算,小于0时返回0 * 整型的减法运算,小于0时返回0
* @author : shijing * @author : shijing
......
...@@ -65,4 +65,7 @@ public class BaseSearchVO implements Serializable { ...@@ -65,4 +65,7 @@ public class BaseSearchVO implements Serializable {
private Date startDate; private Date startDate;
//入职登记表ID
private String registerId;
} }
...@@ -112,7 +112,37 @@ public class InsuranceDaprUtil { ...@@ -112,7 +112,37 @@ public class InsuranceDaprUtil {
} }
return res; return res;
} }
/**
* @Author fxj
* @Description 通过如入职ID删除商险待办数据
* @Date 20:28 2026/1/22
* @Param
* @return
**/
public R<Boolean> delInsurancePreByRegisterId(BaseSearchVO paramVo) {
R<Boolean> res = HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(),daprInsurancesProperties.getAppId()
,"/temployeeinsurancepre/inner/delInsurancePreByRegisterId", paramVo, Boolean.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("通过如入职ID删除商险待办数据!");
}
return res;
}
/**
* @Author fxj
* @Description 拒绝入职状态更新
* @Date 20:28 2026/1/22
* @Param
* @return
**/
public R<Boolean> refuseInsurancePreByRegisterId(BaseSearchVO paramVo) {
R<Boolean> res = HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(),daprInsurancesProperties.getAppId()
,"/temployeeinsurancepre/inner/refuseInsurancePreByRegisterId", paramVo, Boolean.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("拒绝入职更新商险待办数据!");
}
return res;
}
/** /**
* @param paramVo 查询参数,主要是身份证与项目编码 * @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 查询人员的已减完成的商险(返回值,则表示有未减完成的商险 * @Description: 查询人员的已减完成的商险(返回值,则表示有未减完成的商险
......
...@@ -140,6 +140,16 @@ public class SocialDaprUtils { ...@@ -140,6 +140,16 @@ public class SocialDaprUtils {
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tincomedetail/inner/deleteById", JSON.toJSONString(infoVo), Object.class, SecurityConstants.FROM_IN); HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tincomedetail/inner/deleteById", JSON.toJSONString(infoVo), Object.class, SecurityConstants.FROM_IN);
} }
/**
* @Author fxj
* @Description 通过收入id收入数据
* @Date 16:56 2026/1/27
* @Param
* @return
**/
public void deleteIncomeById(TIncomeDetail infoVo) {
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tincome/inner/deleteById", JSON.toJSONString(infoVo), Object.class, SecurityConstants.FROM_IN);
}
/** /**
* @Author huyc * @Author huyc
* @Description 更新结算信息 * @Description 更新结算信息
...@@ -348,11 +358,23 @@ public class SocialDaprUtils { ...@@ -348,11 +358,23 @@ public class SocialDaprUtils {
* @Param * @Param
* @return * @return
**/ **/
public void deleteUnProcessSocialPreInfo(String id){ public R<Boolean> deleteUnProcessSocialPreInfo(String id){
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl() return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl()
, daprProperties.getAppId(),"/tdispatchinfopre/deleteUnProcessSocialPreInfo" , id , daprProperties.getAppId(),"/tdispatchinfopre/deleteUnProcessSocialPreInfo" , id
, Object.class, SecurityConstants.FROM_IN); , Object.class, SecurityConstants.FROM_IN);
} }
/**
* @Author huych
* @Description 拒绝入职更新社保已购买非流程中的数据
* @Date 2025-10-10 15:51:36
* @Param
* @return
**/
public R<Boolean> updateRefuseSocialPreInfo(String id){
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl()
, daprProperties.getAppId(),"/tdispatchinfopre/updateRefuseSocialPreInfo" , id
, Object.class, SecurityConstants.FROM_IN);
}
/** /**
* @Author fxj * @Author fxj
...@@ -366,6 +388,11 @@ public class SocialDaprUtils { ...@@ -366,6 +388,11 @@ public class SocialDaprUtils {
"/tdispatchinfopre/deleteUnProcessFundPreInfo", id, Boolean.class, SecurityConstants.FROM_IN); "/tdispatchinfopre/deleteUnProcessFundPreInfo", id, Boolean.class, SecurityConstants.FROM_IN);
} }
public R<Boolean> updateRefuseFundPreInfo(String id) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),
"/tdispatchinfopre/updateRefuseFundPreInfo", id, Boolean.class, SecurityConstants.FROM_IN);
}
/** /**
* @Author fxj * @Author fxj
* @Description 获取公积金待购买信息 * @Description 获取公积金待购买信息
......
...@@ -128,4 +128,8 @@ public class EmployeeRegistration extends BaseEntity { ...@@ -128,4 +128,8 @@ public class EmployeeRegistration extends BaseEntity {
@Schema(description = "离职处理状态:0待确认1待处理2处理中3已处理") @Schema(description = "离职处理状态:0待确认1待处理2处理中3已处理")
private String leaveStatus; private String leaveStatus;
@TableField(exist = false)
@Schema(description = "拒绝入职原因")
private String leaveReason;
} }
...@@ -84,4 +84,7 @@ public class EmployeeRegistrationLeaveExportVo { ...@@ -84,4 +84,7 @@ public class EmployeeRegistrationLeaveExportVo {
@ExcelProperty("减档") @ExcelProperty("减档")
private String doStatusEmp; private String doStatusEmp;
@ExcelProperty("前端客服")
private String customerUsernameNew;
} }
...@@ -62,7 +62,8 @@ public class EmployeeRegistrationLeaveSearchVo extends EmployeeRegistrationLeave ...@@ -62,7 +62,8 @@ public class EmployeeRegistrationLeaveSearchVo extends EmployeeRegistrationLeave
private List<String> idList; private List<String> idList;
@Schema(description = "状态多个") // 0待确认1待处理2处理中3已处理
@Schema(description = "离职处理状态多个")
@TableField(exist = false) @TableField(exist = false)
private String[] processStatusArray; private String[] processStatusArray;
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package com.yifu.cloud.plus.v1.csp.vo; package com.yifu.cloud.plus.v1.csp.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
...@@ -204,4 +205,8 @@ public class EmployeeRegistrationLeaveTableVo extends EmployeeRegistrationLeaveE ...@@ -204,4 +205,8 @@ public class EmployeeRegistrationLeaveTableVo extends EmployeeRegistrationLeaveE
@Schema(description = "项目档案失败时间") @Schema(description = "项目档案失败时间")
private LocalDateTime failEmpProjectTime; private LocalDateTime failEmpProjectTime;
@TableField(exist = false)
@Schema(description = "前端客服")
private String customerUsernameNew;
} }
...@@ -132,6 +132,20 @@ public class EmployeeRegistrationController { ...@@ -132,6 +132,20 @@ public class EmployeeRegistrationController {
return employeeRegistrationService.updateRegist(employeeRegistration); return employeeRegistrationService.updateRegist(employeeRegistration);
} }
/**
* @Author fxj
* @Description 拒绝入职
* @Date 20:08 2026/1/22
* @Param
* @return
**/
@Operation(summary = "拒绝入职")
@SysLog("拒绝入职")
@PostMapping("/refuseOffer")
public R refuseOffer(@RequestBody EmployeeRegistration employeeRegistration) {
return employeeRegistrationService.refuseOffer(employeeRegistration);
}
/** /**
* 单个更新,更新入离职日期和手机号码 * 单个更新,更新入离职日期和手机号码
* *
......
...@@ -181,4 +181,5 @@ public interface EmployeeRegistrationService extends IService<EmployeeRegistrati ...@@ -181,4 +181,5 @@ public interface EmployeeRegistrationService extends IService<EmployeeRegistrati
EkpDeptContractInfoVo selectContractInfoByDetptNo(EkpDeptContractInfoVo vo); EkpDeptContractInfoVo selectContractInfoByDetptNo(EkpDeptContractInfoVo vo);
R refuseOffer(EmployeeRegistration employeeRegistration);
} }
...@@ -841,6 +841,9 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -841,6 +841,9 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
case "5": // 全部成功 case "5": // 全部成功
leave.setLeaveStatus("3"); // 已处理 leave.setLeaveStatus("3"); // 已处理
break; break;
case "6": // 无需处理
leave.setLeaveStatus("3"); // 已处理
break;
// case "1": // 未执行 - 保持原有状态(可能是待处理) // case "1": // 未执行 - 保持原有状态(可能是待处理)
// case "6": // 无需处理 - 保持原有状态 // case "6": // 无需处理 - 保持原有状态
// default: // 其他情况保持原有状态不变 // default: // 其他情况保持原有状态不变
...@@ -1242,6 +1245,10 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1242,6 +1245,10 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
List<ErrorMessage> contractParamList ; List<ErrorMessage> contractParamList ;
List<ErrorMessage> projectParamList ; List<ErrorMessage> projectParamList ;
List<ErrorMessage> empParamList ; List<ErrorMessage> empParamList ;
String closeRemark = "已在其他入口处理";
BaseSearchVO returnVo;
BaseSearchVO paramVo;
R<BaseSearchVO> returnR;
// 社保-完成 // 社保-完成
if (!socialOldList.isEmpty()) { if (!socialOldList.isEmpty()) {
TDispatchReduceListVo paramListVo = new TDispatchReduceListVo(); TDispatchReduceListVo paramListVo = new TDispatchReduceListVo();
...@@ -1281,6 +1288,21 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1281,6 +1288,21 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
leave.setDoStatusSocial(CommonConstants.THREE_STRING); leave.setDoStatusSocial(CommonConstants.THREE_STRING);
} }
} }
// 1社保:加一重保险:失败的再查一下是否已完结,变为无需处理
if (CommonConstants.THREE_STRING.equals(leave.getDoStatusSocial())) {
paramVo = new BaseSearchVO();
paramVo.setEmpIdCard(leave.getEmpIdcard());
paramVo.setDeptNo(leave.getDeptNo());
returnR = socialDaprUtils.getSocialAndFundStatusByClose(paramVo);
if (null != returnR && Common.isNotNull(returnR.getData())) {
returnVo = returnR.getData();
if (Common.isNotNull(returnVo.getResultIdOne())) {
leave.setSocialId(returnVo.getResultIdOne());
leave.setDoStatusSocial(CommonConstants.ONE_STRING);
leave.setCloseRemarkSocial(closeRemark);
}
}
}
} }
} }
} }
...@@ -1323,6 +1345,21 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1323,6 +1345,21 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
leave.setDoStatusFund(CommonConstants.THREE_STRING); leave.setDoStatusFund(CommonConstants.THREE_STRING);
} }
} }
// 2公积金:加一重保险:失败的再查一下是否已完结,变为无需处理
if (CommonConstants.THREE_STRING.equals(leave.getDoStatusFund())) {
paramVo = new BaseSearchVO();
paramVo.setEmpIdCard(leave.getEmpIdcard());
paramVo.setDeptNo(leave.getDeptNo());
returnR = socialDaprUtils.getSocialAndFundStatusByClose(paramVo);
if (null != returnR && Common.isNotNull(returnR.getData())) {
returnVo = returnR.getData();
if (Common.isNotNull(returnVo.getResultIdTwo())) {
leave.setFundId(returnVo.getResultIdTwo());
leave.setDoStatusFund(CommonConstants.ONE_STRING);
leave.setCloseRemarkFund(closeRemark);
}
}
}
} }
} }
} }
...@@ -1351,6 +1388,7 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1351,6 +1388,7 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
// 错误的商险派单 // 错误的商险派单
List<String> errorList = new ArrayList<>(); List<String> errorList = new ArrayList<>();
List<String> successList = new ArrayList<>(); List<String> successList = new ArrayList<>();
String insuranceIdTemp;
for (EmployeeRegistrationLeave leave : leaveList) { for (EmployeeRegistrationLeave leave : leaveList) {
if (judgeToUpdateInsurance(isExit, doType, nowTime, leave) ) { if (judgeToUpdateInsurance(isExit, doType, nowTime, leave) ) {
errorMsg = new StringBuilder(); errorMsg = new StringBuilder();
...@@ -1381,9 +1419,31 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1381,9 +1419,31 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
} }
} }
} }
// 3商险:加一重保险:失败的再查一下是否已完结,变为无需处理
if (CommonConstants.THREE_STRING.equals(leave.getDoStatusInsurance())) {
paramVo = new BaseSearchVO();
paramVo.setEmpIdCard(leave.getEmpIdcard());
paramVo.setDeptNo(leave.getDeptNo());
insuranceIdTemp = "";
returnR = insuranceDaprUtil.getInsurancesStatusByClose(paramVo);
if (null != returnR && Common.isNotNull(returnR.getData())) {
returnVo = returnR.getData();
if (Common.isNotNull(returnVo.getResultIdOne())) {
insuranceIdTemp = returnVo.getResultIdOne();
}
}
// 这个反着查的,有未减完的,表示不可以关闭它,只能忽略它
if (Common.isEmpty(insuranceIdTemp)) {
leave.setInsuranceId(leave.getInsuranceIdOld());
leave.setDoStatusInsurance(CommonConstants.ONE_STRING);
leave.setCloseRemarkInsurance(closeRemark);
}
}
} }
// 批量处理商险明细表的状态为失败: // 批量处理商险明细表的状态为失败:
if (!errorList.isEmpty()) { if (!errorList.isEmpty()) {
// 可以再将【3商险:加一重保险】里无需处理的部分摘出来,改为无需处理,也可以不变,不影响总状态
leaveInsuranceMapper.updateLeaveInsuranceListByIdAndStatus(CommonConstants.THREE_STRING, errorList); leaveInsuranceMapper.updateLeaveInsuranceListByIdAndStatus(CommonConstants.THREE_STRING, errorList);
} }
if (!successList.isEmpty()) { if (!successList.isEmpty()) {
...@@ -1451,6 +1511,41 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1451,6 +1511,41 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
} }
} }
} }
// 4合同:加一重保险:失败的再查一下是否已完结,变为无需处理
String contractId = "";
String contractIdEnd = "";
for (EmployeeRegistrationLeave leave : leaveList) {
// 判断了不等于 空、无需处理、完成,再去查合同
if (judgeToQueryContract(isExit, doType, nowTime, leave) ) {
contractId = "";
contractIdEnd = "";
paramVo = new BaseSearchVO();
paramVo.setEmpIdCard(leave.getEmpIdcard());
paramVo.setDeptNo(leave.getDeptNo());
returnR = archivesDaprUtil.getEmpAndContractStatus(paramVo);
if (null != returnR && Common.isNotNull(returnR.getData())) {
returnVo = returnR.getData();
if (Common.isNotNull(returnVo.getResultIdThree())) {
contractId = returnVo.getResultIdThree();
}
if (Common.isNotNull(returnVo.getResultIdFourStatus())) {
contractIdEnd = returnVo.getResultIdFourStatus();
}
}
if (Common.isEmpty(contractId)) {
if (Common.isNotNull(contractIdEnd)) {
leave.setContractId(contractIdEnd);
} else {
// errorInfo.append("未找到终止的合同!")
// 社保派减,同步减合同,是没有终止的合同的,而是在合同本身改状态
leave.setContractId(leave.getContractIdOld());
}
leave.setDoStatusContract(CommonConstants.ONE_STRING);
leave.setCloseRemarkContract(closeRemark);
}
}
}
// 项目-完成 // 项目-完成
if (!listParamProject.isEmpty()) { if (!listParamProject.isEmpty()) {
projectParamList = new ArrayList<>(); projectParamList = new ArrayList<>();
...@@ -1488,6 +1583,22 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1488,6 +1583,22 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
leave.setDoStatusProject(CommonConstants.EIGHT_STRING); leave.setDoStatusProject(CommonConstants.EIGHT_STRING);
} }
} }
// 5项目档案:加一重保险:失败的再查一下是否已完结,变为无需处理
if (CommonConstants.NINE_STRING.equals(leave.getDoStatusProject())) {
paramVo = new BaseSearchVO();
paramVo.setEmpIdCard(leave.getEmpIdcard());
paramVo.setDeptNo(leave.getDeptNo());
returnR = archivesDaprUtil.getEmpAndContractStatus(paramVo);
if (null != returnR && Common.isNotNull(returnR.getData())) {
returnVo = returnR.getData();
if (Common.isEmpty(returnVo.getResultIdTwo())) {
leave.setEmpProjectId(leave.getEmpProjectIdOld());
leave.setCloseRemarkEmpProject(closeRemark);
leave.setDoStatusProject(CommonConstants.ONE_STRING);
}
}
}
} }
} else { } else {
// 全部成功 // 全部成功
...@@ -1538,6 +1649,21 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1538,6 +1649,21 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
leave.setDoStatusEmp(CommonConstants.EIGHT_STRING); leave.setDoStatusEmp(CommonConstants.EIGHT_STRING);
} }
} }
// 6人员档案:加一重保险:失败的再查一下是否已完结,变为无需处理
if (CommonConstants.NINE_STRING.equals(leave.getDoStatusEmp())) {
paramVo = new BaseSearchVO();
paramVo.setEmpIdCard(leave.getEmpIdcard());
paramVo.setDeptNo(leave.getDeptNo());
returnR = archivesDaprUtil.getEmpAndContractStatus(paramVo);
if (null != returnR && Common.isNotNull(returnR.getData())) {
returnVo = returnR.getData();
if (Common.isEmpty(returnVo.getResultIdOne())) {
leave.setEmpId(leave.getEmpIdOld());
leave.setCloseRemarkEmp(closeRemark);
leave.setDoStatusEmp(CommonConstants.ONE_STRING);
}
}
}
} }
} else { } else {
// 全部成功 // 全部成功
...@@ -1595,6 +1721,7 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1595,6 +1721,7 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
); );
} }
// 判断是否要发起
private boolean judgeToUpdateContract(String isExit, String doType, LocalDateTime nowTime, EmployeeRegistrationLeave leave) { private boolean judgeToUpdateContract(String isExit, String doType, LocalDateTime nowTime, EmployeeRegistrationLeave leave) {
return (Common.isEmpty(doType) || doType.contains(CommonConstants.FOUR_STRING)) return (Common.isEmpty(doType) || doType.contains(CommonConstants.FOUR_STRING))
&& Common.isNotNull(leave.getContractIdOld()) && (CommonConstants.ZERO_STRING.equals(isExit) && Common.isNotNull(leave.getContractIdOld()) && (CommonConstants.ZERO_STRING.equals(isExit)
...@@ -1606,6 +1733,17 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe ...@@ -1606,6 +1733,17 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
); );
} }
// 判断是否要关闭为无需处理
private boolean judgeToQueryContract(String isExit, String doType, LocalDateTime nowTime, EmployeeRegistrationLeave leave) {
return (Common.isEmpty(doType) || doType.contains(CommonConstants.FOUR_STRING))
&& Common.isNotNull(leave.getContractIdOld()) && (CommonConstants.ZERO_STRING.equals(isExit)
|| (CommonConstants.ONE_STRING.equals(isExit) && Common.isNotNull(leave.getContractExpectedTime()) && leave.getContractExpectedTime().isBefore(nowTime)))
&& Common.isNotNull(leave.getDoStatusContract())
&& !leave.getDoStatusContract().equals(CommonConstants.ZERO_STRING)
&& !leave.getDoStatusContract().equals(CommonConstants.ONE_STRING)
&& !leave.getDoStatusContract().equals(CommonConstants.EIGHT_STRING);
}
private boolean judgeToUpdateSocial(String isExit, String doType, LocalDateTime nowTime, EmployeeRegistrationLeave leave) { private boolean judgeToUpdateSocial(String isExit, String doType, LocalDateTime nowTime, EmployeeRegistrationLeave leave) {
return (Common.isEmpty(doType) || doType.contains(CommonConstants.ONE_STRING)) return (Common.isEmpty(doType) || doType.contains(CommonConstants.ONE_STRING))
&& Common.isNotNull(leave.getSocialDispatchIdOld()) && (CommonConstants.ZERO_STRING.equals(isExit) && Common.isNotNull(leave.getSocialDispatchIdOld()) && (CommonConstants.ZERO_STRING.equals(isExit)
......
...@@ -1135,7 +1135,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -1135,7 +1135,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
//前端客服的所有项目权限赋值 //前端客服的所有项目权限赋值
EmployeeRegistrationSearchVo searchVo = new EmployeeRegistrationSearchVo(); EmployeeRegistrationSearchVo searchVo = new EmployeeRegistrationSearchVo();
initSearchVo(searchVo); initSearchVo(searchVo);
searchVo.setStatusList(CommonConstants.processPreStatus); List<String> statusList = CommonConstants.processPreStatus;
CommonConstants.processPreStatus.add(CommonConstants.THREE_STRING);
searchVo.setStatusList(statusList);
searchVo.setTypeList(CommonConstants.processPreStatus); searchVo.setTypeList(CommonConstants.processPreStatus);
searchVo.setDeptNo(preVo.getDeptNo()); searchVo.setDeptNo(preVo.getDeptNo());
if (Common.isNotNull(preVo.getIdcardList())) { if (Common.isNotNull(preVo.getIdcardList())) {
...@@ -1162,6 +1164,12 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -1162,6 +1164,12 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
exitCheckVo.setEmpIdcard(registration.getEmpIdcard()); exitCheckVo.setEmpIdcard(registration.getEmpIdcard());
exitCheckVo.setDeptName(registration.getDeptName()); exitCheckVo.setDeptName(registration.getDeptName());
exitCheckVo.setDeptNo(registration.getDeptNo()); exitCheckVo.setDeptNo(registration.getDeptNo());
if (CommonConstants.THREE_STRING.equals(registration.getProcessStatus())) {
exitCheckVo.setType(preVo.getServerItem());
exitCheckVo.setErrorMsg("已拒绝入职,不可操作!");
errorList.add(exitCheckVo);
continue;
}
if (preVo.getServerItem().contains("商险") && !preVo.getEmployeeInsurancePreVos().isEmpty()) { if (preVo.getServerItem().contains("商险") && !preVo.getEmployeeInsurancePreVos().isEmpty()) {
//批量的商险是否已购买默认为否 //批量的商险是否已购买默认为否
if (Common.isEmpty(preVo.getInsuranceIsBuy())) { if (Common.isEmpty(preVo.getInsuranceIsBuy())) {
...@@ -2290,7 +2298,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -2290,7 +2298,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
//第一次确认接收场景 //第一次确认接收场景
if (Common.isNotNull(insuranceDetail)) { if (Common.isNotNull(insuranceDetail)) {
//项目不同 //项目不同
if (!preVo.getDeptNo().equals(insuranceDetail.getDeptNo()) && (insuranceDetail.getBuyHandleStatus() == CommonConstants.ONE_INT || if (!preVo.getDeptNo().equals(insuranceDetail.getDeptNo()) && (
insuranceDetail.getBuyHandleStatus() == CommonConstants.ONE_INT ||
insuranceDetail.getBuyHandleStatus() == CommonConstants.SIX_INT ||
insuranceDetail.getBuyHandleStatus() == CommonConstants.TWO_INT || insuranceDetail.getBuyHandleStatus() == CommonConstants.TWO_INT ||
insuranceDetail.getBuyHandleStatus() == CommonConstants.THREE_INT)) { insuranceDetail.getBuyHandleStatus() == CommonConstants.THREE_INT)) {
erorFlag = true; erorFlag = true;
...@@ -2305,6 +2315,8 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -2305,6 +2315,8 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
preVo.setProcessStatus(CommonConstants.SIX_STRING); preVo.setProcessStatus(CommonConstants.SIX_STRING);
} else if (insuranceDetail.getBuyHandleStatus() == CommonConstants.FOUR_INT) { } else if (insuranceDetail.getBuyHandleStatus() == CommonConstants.FOUR_INT) {
preVo.setProcessStatus(CommonConstants.FIVE_STRING); preVo.setProcessStatus(CommonConstants.FIVE_STRING);
} else if (insuranceDetail.getBuyHandleStatus() == CommonConstants.SIX_INT) {
preVo.setProcessStatus(CommonConstants.SEVEN_STRING);
} }
//是否地市自购 //是否地市自购
preVo.setIsAddress(insuranceDetail.getIsAdress()); preVo.setIsAddress(insuranceDetail.getIsAdress());
...@@ -2384,5 +2396,27 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -2384,5 +2396,27 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
} }
} }
} }
/**
* @Author fxj
* @Description 拒绝入职--入职待确认列表
* @Date 20:14 2026/1/22
* @Param
* @return
**/
@Override
public R refuseOffer(EmployeeRegistration registration) {
YifuUser user = SecurityUtils.getUser();
EmployeeRegistration registrationNow = baseMapper.selectById(registration.getId());
if (Common.isEmpty(registrationNow)) {
return R.failed(RegistConstants.NO_DATA_TO_HANDLE);
}
if (!CommonConstants.ONE_STRING.equals(registrationNow.getProcessStatus())){
return R.failed("状态非未处理状态,请刷新确认后操作!");
}
registrationNow.setProcessStatus(CommonConstants.THREE_STRING);
logService.saveLog(registration.getId(), CommonConstants.ZERO_STRING, RegistConstants.BACK_RECEIVE, LocalDateTime.now(),
user.getNickname(), registration.getLeaveReason());
baseMapper.updateById(registrationNow);
return R.ok();
}
} }
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
<result property="joinLeaveDate" column="join_leave_date"/> <result property="joinLeaveDate" column="join_leave_date"/>
<result property="deptName" column="dept_name"/> <result property="deptName" column="dept_name"/>
<result property="deptNo" column="dept_no"/> <result property="deptNo" column="dept_no"/>
<result property="customerUsernameNew" column="customer_username_new"/>
</resultMap> </resultMap>
<!-- 新表全量字段-确认、派单时使用 --> <!-- 新表全量字段-确认、派单时使用 -->
...@@ -248,6 +249,9 @@ ...@@ -248,6 +249,9 @@
#{idStr} #{idStr}
</foreach> </foreach>
</if> </if>
<if test="employeeRegistrationLeave.customerUsernameNew != null and employeeRegistrationLeave.customerUsernameNew.trim() != ''">
AND b.customer_username_new like CONCAT('%',#{employeeRegistrationLeave.customerUsernameNew},'%')
</if>
<if test="employeeRegistrationLeave.employeeName != null and employeeRegistrationLeave.employeeName.trim() != ''"> <if test="employeeRegistrationLeave.employeeName != null and employeeRegistrationLeave.employeeName.trim() != ''">
AND b.employee_name like CONCAT('%',#{employeeRegistrationLeave.employeeName},'%') AND b.employee_name like CONCAT('%',#{employeeRegistrationLeave.employeeName},'%')
</if> </if>
...@@ -276,6 +280,13 @@ ...@@ -276,6 +280,13 @@
<if test="employeeRegistrationLeave.leaveStatus != null and employeeRegistrationLeave.leaveStatus.trim() != ''"> <if test="employeeRegistrationLeave.leaveStatus != null and employeeRegistrationLeave.leaveStatus.trim() != ''">
AND a.leave_status = #{employeeRegistrationLeave.leaveStatus} AND a.leave_status = #{employeeRegistrationLeave.leaveStatus}
</if> </if>
<if test="employeeRegistrationLeave.processStatusArray != null and employeeRegistrationLeave.processStatusArray.length > 0">
AND a.leave_status in
<foreach item="statusStr" index="index" collection="employeeRegistrationLeave.processStatusArray" open="("
separator="," close=")">
#{statusStr}
</foreach>
</if>
<if test="employeeRegistrationLeave.doStatus != null and employeeRegistrationLeave.doStatus.trim() != ''"> <if test="employeeRegistrationLeave.doStatus != null and employeeRegistrationLeave.doStatus.trim() != ''">
AND a.do_status = #{employeeRegistrationLeave.doStatus} AND a.do_status = #{employeeRegistrationLeave.doStatus}
</if> </if>
...@@ -406,7 +417,8 @@ when '4' then '待减员' when '5' then '待办理' when '6' then '减员中' wh ...@@ -406,7 +417,8 @@ when '4' then '待减员' when '5' then '待办理' when '6' then '减员中' wh
b.emp_idcard, b.emp_idcard,
DATE_FORMAT(b.join_leave_date,'%Y-%m-%d') join_leave_date, DATE_FORMAT(b.join_leave_date,'%Y-%m-%d') join_leave_date,
b.dept_name, b.dept_name,
b.dept_no b.dept_no,
b.customer_username_new
</sql> </sql>
<!-- 离职确认列表 --> <!-- 离职确认列表 -->
......
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
AND a.data_source = #{employeeRegistration.dataSource} AND a.data_source = #{employeeRegistration.dataSource}
</if> </if>
<if test="employeeRegistration.customerUsernameNew != null and employeeRegistration.customerUsernameNew.trim() != ''"> <if test="employeeRegistration.customerUsernameNew != null and employeeRegistration.customerUsernameNew.trim() != ''">
AND a.customer_username_new = #{employeeRegistration.customerUsernameNew} AND a.customer_username_new like CONCAT('%',#{employeeRegistration.customerUsernameNew},'%')
</if> </if>
<if test="employeeRegistration.departIdSet != null and employeeRegistration.departIdSet.size > 0"> <if test="employeeRegistration.departIdSet != null and employeeRegistration.departIdSet.size > 0">
AND a.emp_deptid in AND a.emp_deptid in
......
...@@ -121,6 +121,12 @@ public class InsurancesConstants { ...@@ -121,6 +121,12 @@ public class InsurancesConstants {
* 投保记录不存在 * 投保记录不存在
*/ */
public static final String DATA_IS_NOT_EXIST = "投保记录不存在"; public static final String DATA_IS_NOT_EXIST = "投保记录不存在";
/**
* 投保记录为提前缴费不可删除
*/
public static final String NOT_JFCD_ERROR = "投保记录为提前缴费不可删除";
/** /**
* 未找到符合条件的参保记录 * 未找到符合条件的参保记录
*/ */
...@@ -221,6 +227,11 @@ public class InsurancesConstants { ...@@ -221,6 +227,11 @@ public class InsurancesConstants {
* 商险减员中,无法退回 * 商险减员中,无法退回
*/ */
public static final String REDUCE_ROLLBACK_REDUCE_IS_NOT_ALLOW = "商险减员中,无法退回"; public static final String REDUCE_ROLLBACK_REDUCE_IS_NOT_ALLOW = "商险减员中,无法退回";
/**
* 实缴数据支出中或已支出,若要退回,请撤回支出结算后尝试!
*/
public static final String REDUCE_ROLLBACK_PAY_IS_NOT_ALLOW = "实缴数据支出中或已支出,若要退回,请撤回支出结算后尝试!";
/** /**
* 员工姓名不能为空 * 员工姓名不能为空
*/ */
...@@ -461,6 +472,11 @@ public class InsurancesConstants { ...@@ -461,6 +472,11 @@ public class InsurancesConstants {
* 商险待投保,无法登记保单保费 * 商险待投保,无法登记保单保费
*/ */
public static final String BUY_HANDLE_ONE_NOT_REGISTERED = "商险待投保,无法登记保单保费"; public static final String BUY_HANDLE_ONE_NOT_REGISTERED = "商险待投保,无法登记保单保费";
/**
* 商险待投保,无法登记保单保费
*/
public static final String BUY_HANDLE_SIX_NOT_REGISTERED = "商险待缴费,无法登记保单保费";
/** /**
* 商险投保中,无法登记保单保费 * 商险投保中,无法登记保单保费
*/ */
...@@ -1176,6 +1192,11 @@ public class InsurancesConstants { ...@@ -1176,6 +1192,11 @@ public class InsurancesConstants {
*/ */
public static final String ACTUAL_SETTLE_BILL = "实缴"; public static final String ACTUAL_SETTLE_BILL = "实缴";
/**
* 差额
*/
public static final String BALANCE_SETTLE_BILL = "差额";
/** /**
* 新增结算单 * 新增结算单
*/ */
......
package com.yifu.cloud.plus.v1.yifu.insurances.entity; package com.yifu.cloud.plus.v1.yifu.insurances.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -116,6 +114,7 @@ public class EkpInsurancesInfo { ...@@ -116,6 +114,7 @@ public class EkpInsurancesInfo {
private String fd_3af9197b31071c; private String fd_3af9197b31071c;
@Schema(description = "实际结算月份") @Schema(description = "实际结算月份")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date fd_3af9d11088facc; private Date fd_3af9d11088facc;
@Schema(description = "有无预估") @Schema(description = "有无预估")
...@@ -181,4 +180,8 @@ public class EkpInsurancesInfo { ...@@ -181,4 +180,8 @@ public class EkpInsurancesInfo {
@Schema(description = "创建时间") @Schema(description = "创建时间")
private Date createTime; private Date createTime;
@Schema(description = "是否见费出单")
private String fd_jfcd;
} }
...@@ -54,7 +54,7 @@ public class TEmployeeInsurancePre extends BaseEntity { ...@@ -54,7 +54,7 @@ public class TEmployeeInsurancePre extends BaseEntity {
@Schema(description = "登记人") @Schema(description = "登记人")
private String registUser; private String registUser;
@Schema(description = "状态,0待确认,1待派单,2派单失败,3待投保,4投保中,5投保退回,6已完成") @Schema(description = "状态,0待确认,1待派单,2派单失败,3待投保,4投保中,5投保退回,6已完成,7待缴费")
private String processStatus; private String processStatus;
@Schema(description = "前端客服") @Schema(description = "前端客服")
...@@ -159,5 +159,9 @@ public class TEmployeeInsurancePre extends BaseEntity { ...@@ -159,5 +159,9 @@ public class TEmployeeInsurancePre extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
@Schema(description = "修改类型:1新增;2修改;3删除;4状态346为不可编辑") @Schema(description = "修改类型:1新增;2修改;3删除;4状态346为不可编辑")
private String modelType; private String modelType;
/**
* 是否拒绝入职: 0 是 1 否
*/
@Schema(description = "是否拒绝入职: 0 是 1 ")
private String isRefuse;
} }
...@@ -292,5 +292,9 @@ public class TInsuranceAlert extends BaseEntity { ...@@ -292,5 +292,9 @@ public class TInsuranceAlert extends BaseEntity {
@Schema(description = "保单生效日期-新") @Schema(description = "保单生效日期-新")
private LocalDate policyEffectNew; private LocalDate policyEffectNew;
@TableField(exist = false)
@Schema(description = "前端客服")
private String customerUsername;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode; ...@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date;
/** /**
...@@ -207,9 +208,9 @@ public class TInsuranceDetail extends BaseEntity { ...@@ -207,9 +208,9 @@ public class TInsuranceDetail extends BaseEntity {
private String insuranceHandleCityName; private String insuranceHandleCityName;
/** /**
* 结算类型 (0、与薪资合并结算 1、单独结算) * 结算类型 (0、与薪资合并结算 1、单独结算 2、差额结算--只做结算用)
*/ */
@Schema(description = "结算类型 (0、与薪资合并结算 1、单独结算)") @Schema(description = "结算类型 (0、与薪资合并结算 1、单独结算 2、差额结算)")
private Integer settleType; private Integer settleType;
/** /**
...@@ -231,9 +232,9 @@ public class TInsuranceDetail extends BaseEntity { ...@@ -231,9 +232,9 @@ public class TInsuranceDetail extends BaseEntity {
private Integer signFlag; private Integer signFlag;
/** /**
* 投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员 * 投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员 6待缴费
*/ */
@Schema(description = "投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员") @Schema(description = "投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员 6待缴费")
private Integer buyHandleStatus; private Integer buyHandleStatus;
/** /**
...@@ -406,5 +407,44 @@ public class TInsuranceDetail extends BaseEntity { ...@@ -406,5 +407,44 @@ public class TInsuranceDetail extends BaseEntity {
@Schema(description = "是否地市自购") @Schema(description = "是否地市自购")
private String isAdress; private String isAdress;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
/**
* 差额settleId
*/
@TableField(exist = false)
@Schema(description = "差额settleId")
private String balanceId;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -39,9 +39,9 @@ public class TInsuranceSettle implements Serializable { ...@@ -39,9 +39,9 @@ public class TInsuranceSettle implements Serializable {
private String settleHandleStatus; private String settleHandleStatus;
/** /**
* 结算类型 (0、与薪资合并结算 1、单独结算) * 结算类型 (0、与薪资合并结算 1、单独结算 2、差额)
*/ */
@Schema(description = "结算类型 (0、与薪资合并结算 1、单独结算)") @Schema(description = "结算类型 (0、与薪资合并结算 1、单独结算 2、差额)")
private Integer settleType; private Integer settleType;
/** /**
......
...@@ -91,4 +91,10 @@ public class TInsuranceType extends BaseEntity { ...@@ -91,4 +91,10 @@ public class TInsuranceType extends BaseEntity {
@Schema(description = "启用状态") @Schema(description = "启用状态")
private String enable; private String enable;
/**
* 是否见费出单 0是 1 否
*/
@NotBlank(message = "是否见费出单不能为空")
@Schema(description = "是否见费出单")
private String isJfcd;
} }
\ No newline at end of file
...@@ -8,6 +8,7 @@ import java.text.ParseException; ...@@ -8,6 +8,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.chrono.ChronoLocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
...@@ -311,7 +312,94 @@ public class LocalDateUtil { ...@@ -311,7 +312,94 @@ public class LocalDateUtil {
}*/ }*/
return dif; return dif;
} }
/**
* @Author fxj
* @Description
* 计算相差月份, 如果开始时间晚于结束时间会对调--纯享版,不+1
* 公式:(endYear - starYear) * 12 + endMonth - startMonth
* @Date 17:05 2026/1/20
* @Param
* @return
**/
public static long betweenMonthTwo(String startDate,String endDate){
long dif = 0;
//在日期字符串非空时执行
if (!Common.isEmpty(startDate) && !Common.isEmpty(endDate)) {
Date parseStartDate = null;
Date parseEndDate = null;
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat(NORM_DATE_PATTERN, Locale.CHINA);
try {
//将字符串转为日期格式,如果此处字符串为非合法日期就会抛出异常。
parseStartDate = sdf.parse(startDate);
parseEndDate = sdf.parse(endDate);
//如果开始时间晚于结束时间对调
if (parseStartDate.after(parseEndDate)) {
Date t = parseStartDate;
parseStartDate = parseEndDate;
parseEndDate = t;
}
Calendar starCalendar = Calendar.getInstance();
starCalendar.setTime(parseStartDate);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(parseEndDate);
int starYear = starCalendar.get(Calendar.YEAR);
int startMonth = starCalendar.get(Calendar.MONTH);
int endYear = endCalendar.get(Calendar.YEAR);
int endMonth = endCalendar.get(Calendar.MONTH);
dif = (endYear - starYear) * 12 + endMonth - startMonth;
} catch (ParseException e) {
e.printStackTrace();
}
}
return dif;
}
/**
* 计算两个日期之间的月数(Excel DATEDIF逻辑)
* @param startDateStr 开始日期,格式:yyyy/MM/dd
* @param endDateStr 结束日期,格式:yyyy/MM/dd
* @return 月数(整月数 + 1)
*/
public static int calculateMonths(String startDateStr, String endDateStr) {
// 定义日期格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 解析日期
LocalDate startDate = LocalDate.parse(startDateStr, formatter);
LocalDate endDate = LocalDate.parse(endDateStr, formatter);
// 计算整月数(Excel DATEDIF的"m"参数逻辑)
int monthsBetween = calculateFullMonths(startDate, endDate);
// 加1(根据Excel公式要求)
return monthsBetween + 1;
}
/**
* 计算两个日期之间的整月数(模仿Excel DATEDIF的"m"参数)
*/
private static int calculateFullMonths(LocalDate startDate, LocalDate endDate) {
// 如果开始日期晚于结束日期,返回0
if (startDate.isAfter(endDate)) {
return 0;
}
// 计算年份和月份的差值
int years = endDate.getYear() - startDate.getYear();
int months = endDate.getMonthValue() - startDate.getMonthValue();
int totalMonths = years * 12 + months;
// 如果结束日的日份小于开始日的日份,减1个月
// 这是Excel DATEDIF的规则:不足整月的不计入
if (endDate.getDayOfMonth() < startDate.getDayOfMonth()) {
totalMonths--;
}
return totalMonths;
}
/** /**
* 判断两个时间段是否有交集 * 判断两个时间段是否有交集
* *
......
...@@ -43,7 +43,7 @@ public class EkpInteractiveParam implements Serializable { ...@@ -43,7 +43,7 @@ public class EkpInteractiveParam implements Serializable {
/** /**
* 单据类型 (0、与薪资合并结算 1、单独结算) * 单据类型 (0、与薪资合并结算 1、单独结算)
*/ */
@Schema(description = "单据类型 (1、预估单 2、实缴单)") @Schema(description = "单据类型 (1、预估单 2、实缴单 3、差额)")
private String settleType; private String settleType;
/** /**
...@@ -70,6 +70,12 @@ public class EkpInteractiveParam implements Serializable { ...@@ -70,6 +70,12 @@ public class EkpInteractiveParam implements Serializable {
@Schema(description = "客户编码") @Schema(description = "客户编码")
private String customerCode; private String customerCode;
@Schema(description ="客户名称")
private String unitName;
@Schema(description ="客户编码")
private String unitNo;
/** /**
* 员工姓名 * 员工姓名
*/ */
...@@ -190,4 +196,16 @@ public class EkpInteractiveParam implements Serializable { ...@@ -190,4 +196,16 @@ public class EkpInteractiveParam implements Serializable {
@Schema(description = "是否BPO", name = "bpoFlag") @Schema(description = "是否BPO", name = "bpoFlag")
@ExcelIgnore @ExcelIgnore
private String bpoFlag; private String bpoFlag;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 差额settleId
*/
@Schema(description = "差额settleId")
private String balanceId;
} }
...@@ -3,6 +3,8 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo; ...@@ -3,6 +3,8 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/** /**
* @Description: 查询EKP中的状态,拦截批量保单号保费 * @Description: 查询EKP中的状态,拦截批量保单号保费
...@@ -14,12 +16,34 @@ import java.io.Serializable; ...@@ -14,12 +16,34 @@ import java.io.Serializable;
public class EkpSettleStatusVo implements Serializable { public class EkpSettleStatusVo implements Serializable {
/** /**
* 结算状态 * 结算状态: 已结算 结算中 未结算 无需结算
**/ **/
private String settleStatus; private String settleStatus;
/** /**
* 支出状态 * 支出状态: 已结算 结算中 未结算 无需结算
**/ **/
private String payStatus; private String payStatus;
/**
* 收款状态: 已收 垫付 未收
**/
private String paymentStatus;
/**
* 商险ID
**/
private String detailId;
/**
* 应收
**/
private Double paymentBalance;
/**
* 待收
**/
private String statusUpdateTime;
} }
...@@ -27,4 +27,19 @@ public class EkpStatusParamVo implements Serializable { ...@@ -27,4 +27,19 @@ public class EkpStatusParamVo implements Serializable {
* 结算单类型 0 社保/管理费 1公积金/风险金 * 结算单类型 0 社保/管理费 1公积金/风险金
*/ */
private String typeFlag; private String typeFlag;
/**
* 收款结算单退单或款项撤销表示 0 表示要退单&撤销款项
*/
private String callBackFlag;
/**
* 收款结算单退单或款项撤销表示 商险ID
*/
private String detailIds;
/**
* 0代表收款结算单已收或垫付
*/
private String paymentStatsus;
} }
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
...@@ -8,6 +9,8 @@ import lombok.Data; ...@@ -8,6 +9,8 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -232,4 +235,43 @@ public class InsuranceAddParam implements Serializable { ...@@ -232,4 +235,43 @@ public class InsuranceAddParam implements Serializable {
private String isExit; private String isExit;
private List<TInsurancePreDetail> inProgressList; private List<TInsurancePreDetail> inProgressList;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
/**
* 预估保费
*/
@Schema(description = "预估保费")
private BigDecimal estimatePremium;
} }
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
...@@ -9,6 +10,7 @@ import lombok.Data; ...@@ -9,6 +10,7 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -237,4 +239,42 @@ public class InsuranceBatchParam implements Serializable { ...@@ -237,4 +239,42 @@ public class InsuranceBatchParam implements Serializable {
private String isExit; private String isExit;
private List<TInsurancePreDetail> inProgressList; private List<TInsurancePreDetail> inProgressList;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
/**
* 预估保费
*/
@Schema(description = "预估保费")
private BigDecimal estimatePremium;
} }
...@@ -412,4 +412,36 @@ public class InsuranceDetailVO implements Serializable { ...@@ -412,4 +412,36 @@ public class InsuranceDetailVO implements Serializable {
*/ */
@Schema(description = "是否地市自购") @Schema(description = "是否地市自购")
private String isAdress; private String isAdress;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
} }
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle; import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
...@@ -192,4 +193,17 @@ public class InsuranceExportListOneVO implements Serializable { ...@@ -192,4 +193,17 @@ public class InsuranceExportListOneVO implements Serializable {
*/ */
@Schema(description = "客户名称") @Schema(description = "客户名称")
private String unitName; private String unitName;
/**
* 默认结算信息id
*/
@ExcelIgnore
@Schema(description = "默认结算信息id")
private String defaultSettleId;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
} }
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle; import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
...@@ -204,4 +207,11 @@ public class InsuranceExportListVO implements Serializable { ...@@ -204,4 +207,11 @@ public class InsuranceExportListVO implements Serializable {
@ExcelProperty(value = "派单备注") @ExcelProperty(value = "派单备注")
private String remarkDispatch; private String remarkDispatch;
/**
* 默认结算信息id
*/
@ExcelIgnore
@Schema(description = "默认结算信息id")
private String defaultSettleId;
} }
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
...@@ -16,6 +18,11 @@ import java.util.List; ...@@ -16,6 +18,11 @@ import java.util.List;
@Schema(description = "投保列表请求参数") @Schema(description = "投保列表请求参数")
public class InsuranceListParam extends BaseEntity { public class InsuranceListParam extends BaseEntity {
/**
* 派单ID
*/
@Schema(description = "派单ID")
private String id;
/** /**
* 项目编码 * 项目编码
*/ */
...@@ -123,5 +130,43 @@ public class InsuranceListParam extends BaseEntity { ...@@ -123,5 +130,43 @@ public class InsuranceListParam extends BaseEntity {
*/ */
@Schema(description = "是否地市自购") @Schema(description = "是否地市自购")
private String isAdress; private String isAdress;
//2026-01-20 v1.7.19 fxj 新增
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间--开始
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间--开始")
private String paymentTimeStart;
/**
* 缴费时间--结束
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间--结束")
private String paymentTimeEnd;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 预估保费--开始
*/
@Schema(description = "预估保费--开始")
private BigDecimal estimatePremiumStart;
/**
* 预估保费--截止
*/
@Schema(description = "预估保费--截止")
private BigDecimal estimatePremiumEnd;
} }
...@@ -8,8 +8,10 @@ import io.swagger.v3.oas.annotations.media.Schema; ...@@ -8,8 +8,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date;
/** /**
* @author licancan * @author licancan
...@@ -49,7 +51,7 @@ public class InsuranceListVO implements Serializable { ...@@ -49,7 +51,7 @@ public class InsuranceListVO implements Serializable {
* 购买月数 * 购买月数
*/ */
@Schema(description = "购买月数") @Schema(description = "购买月数")
private Long buyMonth; private String buyMonth;
/** /**
* 项目名称 * 项目名称
...@@ -175,4 +177,48 @@ public class InsuranceListVO implements Serializable { ...@@ -175,4 +177,48 @@ public class InsuranceListVO implements Serializable {
*/ */
@Schema(description = "是否地市自购") @Schema(description = "是否地市自购")
private String isAdress; private String isAdress;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
/**
* 预估保费
*/
@Schema(description = "预估保费")
private BigDecimal estimatePremium;
/**
* 计费方式
*/
@Schema(description = "计费方式(0:按天,1:按月)")
private Integer billingType;
} }
...@@ -61,4 +61,10 @@ public class InsuranceTypeExportVo { ...@@ -61,4 +61,10 @@ public class InsuranceTypeExportVo {
@Schema(description = "启用状态") @Schema(description = "启用状态")
private String enable; private String enable;
/**
* 是否见费出单 0是 1 否
*/
@Schema(description = "是否见费出单")
private String isJfcd;
} }
...@@ -68,7 +68,7 @@ public class TEmployeeInsurancePreVo implements Serializable { ...@@ -68,7 +68,7 @@ public class TEmployeeInsurancePreVo implements Serializable {
* 状态,0短信待发送,1信息待填写,2信息待审核,3拒绝入职4已完成 * 状态,0短信待发送,1信息待填写,2信息待审核,3拒绝入职4已完成
*/ */
@ExcelAttribute(name = "状态,0短信待发送,1信息待填写,2信息待审核,3拒绝入职4已完成") @ExcelAttribute(name = "状态,0短信待发送,1信息待填写,2信息待审核,3拒绝入职4已完成")
@Schema(description = "状态,0待确认,1待派单,2派单失败,3待投保,4投保中,5投保退回,6已完成") @Schema(description = "状态,0待确认,1待派单,2派单失败,3待投保,4投保中,5投保退回,6已完成, 待缴费")
@ExcelProperty("状态,0待确认,1待派单,2派单失败,3待投保,4投保中,5投保退回,6已完成") @ExcelProperty("状态,0待确认,1待派单,2派单失败,3待投保,4投保中,5投保退回,6已完成")
private String processStatus; private String processStatus;
/** /**
......
...@@ -20,6 +20,7 @@ import com.alibaba.excel.annotation.ExcelProperty; ...@@ -20,6 +20,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle; import com.alibaba.excel.annotation.write.style.HeadFontStyle;
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 lombok.Data; import lombok.Data;
/** /**
...@@ -101,4 +102,8 @@ public class TInsuranceAlertExportVO { ...@@ -101,4 +102,8 @@ public class TInsuranceAlertExportVO {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "状态") @ExcelProperty(value = "状态")
private String processStatus; private String processStatus;
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "前端客服")
private String customerUsername;
} }
...@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationCustomerUserUpdateVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationCustomerUserUpdateVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre; import com.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreVo; 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.BaseSearchVO;
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;
...@@ -312,4 +314,48 @@ public class TEmployeeInsurancePreController { ...@@ -312,4 +314,48 @@ public class TEmployeeInsurancePreController {
return tEmployeeInsurancePreService.getExitInsuranceListByEmpPreId(empPreId); return tEmployeeInsurancePreService.getExitInsuranceListByEmpPreId(empPreId);
} }
/**
* @Author fxj
* @Description 通过如入职ID删除商险待办数据
* @Date 20:31 2026/1/22
* @Param
* @return
**/
@Operation(description = "通过如入职ID删除商险待办数据")
@Inner
@PostMapping("/inner/delInsurancePreByRegisterId")
public Boolean delInsurancePreByRegisterId(@RequestBody BaseSearchVO preVo) {
if (null == preVo || preVo.getRegisterId() == null){
return false;
}
return tEmployeeInsurancePreService.delInsurancePreByRegisterId(preVo);
}
/**
* @Author fxj
* @Description 拒绝入职更新商险待办数据
* @Date 11:13 2026/1/27
* @Param
* @return
**/
@Operation(description = "拒绝入职更新商险待办数据")
@Inner
@PostMapping("/inner/refuseInsurancePreByRegisterId")
public Boolean refuseInsurancePreByRegisterId(@RequestBody BaseSearchVO preVo) {
if (null == preVo || preVo.getRegisterId() == null){
return false;
}
return tEmployeeInsurancePreService.refuseInsurancePreByRegisterId(preVo);
}
/**
* 通过id查询商险待签订任务记录表
* @param registId
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/getInfoByRegistId" )
public R<TEmployeeInsurancePre> getInfoByRegistId(@RequestParam("registId" ) String registId) {
return tEmployeeInsurancePreService.getInfoByRegistId(registId);
}
} }
...@@ -15,6 +15,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; ...@@ -15,6 +15,7 @@ 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.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants; import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceOperate; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceOperate;
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.service.insurance.TInsuranceDetailService; import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceDetailService;
...@@ -94,6 +95,21 @@ public class TInsuranceDetailController { ...@@ -94,6 +95,21 @@ public class TInsuranceDetailController {
return R.ok(tInsuranceDetailService.getInsuranceListPage(page, param, mId)); return R.ok(tInsuranceDetailService.getInsuranceListPage(page, param, mId));
} }
/**
* @Author fxj
* @Description
* @Date 11:55 2026/1/27
* @Param
* @return
**/
@Operation(summary = "投保页查询待缴费金额", description = "投保分页查询")
@PostMapping("/getInsuranceListPagePaymentMoney")
public R<Double> getInsuranceListPagePaymentMoney(@RequestBody InsuranceListParam param,
@RequestParam(required = false) String mId) {
param.setPaymentStatus(CommonConstants.ZERO_STRING);
return R.ok(tInsuranceDetailService.getInsuranceListPagePaymentMoney(param, mId));
}
/** /**
* 投保不分页查询 * 投保不分页查询
* *
...@@ -788,7 +804,12 @@ public class TInsuranceDetailController { ...@@ -788,7 +804,12 @@ public class TInsuranceDetailController {
@SysLog("更新商险收款状态--EKP调用接口") @SysLog("更新商险收款状态--EKP调用接口")
@PostMapping("/updateInsuranceSettleStatus") @PostMapping("/updateInsuranceSettleStatus")
public R updateInsuranceSettleStatus(@RequestBody EkpStatusParamVo vo) { public R updateInsuranceSettleStatus(@RequestBody EkpStatusParamVo vo) {
return tInsuranceDetailService.updateInsuranceSettleStatus(vo); if (null != vo && "0".equals(vo.getCallBackFlag())){
//收款结算单退单或款项撤销处理逻辑
return tInsuranceDetailService.callBackInsuranceBuyHandleStatus(vo);
}else {
return tInsuranceDetailService.updateInsuranceSettleStatus(vo);
}
} }
/** /**
...@@ -955,4 +976,76 @@ public class TInsuranceDetailController { ...@@ -955,4 +976,76 @@ public class TInsuranceDetailController {
return tInsuranceDetailService.getInsurancesStatusByClose(paramVo); return tInsuranceDetailService.getInsurancesStatusByClose(paramVo);
} }
/**
* @Author fxj
* @Description 查询提前缴费的预估结算状态
* @Date 10:27 2026/1/21
* @Param
* @return
**/
@Operation(summary = "查询提前缴费的预估结算状态", description = "查询提前缴费的预估结算状态")
@GetMapping("/getSettleStatusFromEkp")
public R getSettleStatusFromEkp(@RequestParam String id) {
TInsuranceDetail detail = tInsuranceDetailService.getById(id);
if (detail == null) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
return tInsuranceDetailService.getSettleStatusFromEkpInsuranceDetailAsso(detail.getId(),detail.getDefaultSettleId());
}
/**
* @Author fxj
* @Description 查询实缴的结算&支出状态
* @Date 10:27 2026/1/21
* @Param
* @return
**/
@Operation(summary = "查询实缴的结算&支出状态", description = "查询实缴的结算&支出状态")
@GetMapping("/getPaymentSettleStatusFromEkp")
public R getPaymentSettleStatusFromEkp(@RequestParam String id) {
TInsuranceDetail detail = tInsuranceDetailService.getById(id);
if (detail == null) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
EkpSettleStatusVo vo = tInsuranceDetailService.getSettleStatusFromEkpInsuranceDetail(detail.getId(),detail.getDefaultSettleId());
if (null != vo){
return R.ok(vo);
}
return R.failed();
}
/**
* @Author fxj
* @Description 撤回 --待缴费状态的投保记录 可撤回
* @Date 10:33 2026/1/21
* @Param
* @return
**/
@Operation(summary = "撤回", description = "撤回")
@PostMapping("/callBack")
public R callBack(@RequestParam String id) {
TInsuranceDetail detail = tInsuranceDetailService.getById(id);
if (detail == null) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
if (null != detail.getBuyHandleStatus() && CommonConstants.SIX_INT != detail.getBuyHandleStatus().intValue()){
return R.failed("请选择待缴费状态的投保记录!");
}
return tInsuranceDetailService.callBack(detail);
}
/**
* @Author fxj
* @Description 手动拉取缴费状态
* @Date 10:52 2026/1/21
* @Param
* @return
**/
@Operation(summary = "手动拉取缴费状态", description = "手动拉取缴费状态")
@PostMapping("/pullPaymentStatus")
public R pullPaymentStatus() {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
}
return tInsuranceDetailService.pullPaymentStatus(null,user );
}
} }
package com.yifu.cloud.plus.v1.yifu.insurances.mapper.ekp; package com.yifu.cloud.plus.v1.yifu.insurances.mapper.ekp;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.EkpInsurancesInfo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.*; import com.yifu.cloud.plus.v1.yifu.insurances.vo.*;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -49,6 +50,24 @@ public interface EkpSettleMapper { ...@@ -49,6 +50,24 @@ public interface EkpSettleMapper {
*/ */
EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetail(String id); EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetail(String id);
/**
* @Author fxj
* @Description 从商险订单明细中获取当前保单的结算状态--提前缴费专用
* @Date 10:17 2026/1/21
* @Param
* @return
**/
EkpSettleStatusVo getSettleStatusFromEkpAsso(@Param("id")String id);
/**
* @Author fxj
* @Description 从商险订单明细中获取当前保单的结算状态--提前缴费专用
* @Date 10:17 2026/1/21
* @Param
* @return
**/
List<EkpSettleStatusVo> getSettleStatusFromEkpAssoByIds(@Param("ids")List<String> ids);
List<EkpInsuranceViewVo> selectSettleStatusBySettleNo(@Param("settleNo") String settleNo, @Param("payFlag") String payFlag); List<EkpInsuranceViewVo> selectSettleStatusBySettleNo(@Param("settleNo") String settleNo, @Param("payFlag") String payFlag);
List<EkpSocialViewVo> selectSocialViewStatusBySettleNo(@Param("settleNo") String settleNo,@Param("payFlag") String payFlag); List<EkpSocialViewVo> selectSocialViewStatusBySettleNo(@Param("settleNo") String settleNo,@Param("payFlag") String payFlag);
...@@ -63,4 +82,15 @@ public interface EkpSettleMapper { ...@@ -63,4 +82,15 @@ public interface EkpSettleMapper {
EkpInsuranceDeptInfoVo getInsuranceEkpDeptInfo(@Param("deptNo") String deptNo); EkpInsuranceDeptInfoVo getInsuranceEkpDeptInfo(@Param("deptNo") String deptNo);
void deleteEkpInsuranceDetail(@Param("id")String id);
List<EkpSettleStatusVo> getBalanceByInsuranceId(@Param("id")String id);
void deleteEkpInsuranceDetailAsso(@Param("id")String id);
void callBackBalance(@Param("id")String id);
void deleteEkpManagerInfo(@Param("id")String id);
void deleteEkpEkpRiskInfo(@Param("id")String id);
} }
...@@ -31,6 +31,8 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> { ...@@ -31,6 +31,8 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> {
*/ */
IPage<InsuranceListVO> getInsuranceListPage(Page<InsuranceListVO> page, @Param("param") InsuranceListParam param); IPage<InsuranceListVO> getInsuranceListPage(Page<InsuranceListVO> page, @Param("param") InsuranceListParam param);
Double getInsuranceListPagePaymentMoney(@Param("param") InsuranceListParam param);
/** /**
* 投保不分页查询 * 投保不分页查询
* *
......
...@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.ekp; ...@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.ekp;
import com.baomidou.mybatisplus.extension.service.IService; 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.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.EkpInsurancesInfo;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeRate; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeRate;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.*; import com.yifu.cloud.plus.v1.yifu.insurances.vo.*;
...@@ -70,4 +71,19 @@ public interface EkpSettleService extends IService<TInsuranceTypeRate> { ...@@ -70,4 +71,19 @@ public interface EkpSettleService extends IService<TInsuranceTypeRate> {
*/ */
List<EkpSocialViewVo> selectSalarylViewBySettleNo(String settleNo,String payFlag); List<EkpSocialViewVo> selectSalarylViewBySettleNo(String settleNo,String payFlag);
EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetailAsso(String id);
List<EkpSettleStatusVo> getSettleStatusFromEkpAssoByIds(List<String> ids);
void deleteEkpInsuranceDetail(String id);
void deleteEkpManagerInfo(String id);
void deleteEkpEkpRiskInfo(String id);
List<EkpSettleStatusVo> getBalanceByInsuranceId(String id);
void deleteEkpInsuranceDetailAsso(String id);
void callBackBalance(String id);
} }
...@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.ekp.impl; ...@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.ekp.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.EkpInsurancesInfo;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeRate; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeRate;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.ekp.EkpSettleMapper; import com.yifu.cloud.plus.v1.yifu.insurances.mapper.ekp.EkpSettleMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.service.ekp.EkpSettleService; import com.yifu.cloud.plus.v1.yifu.insurances.service.ekp.EkpSettleService;
...@@ -123,4 +124,60 @@ public class EkpSettleServiceImpl implements EkpSettleService { ...@@ -123,4 +124,60 @@ public class EkpSettleServiceImpl implements EkpSettleService {
public Class<TInsuranceTypeRate> getEntityClass() { public Class<TInsuranceTypeRate> getEntityClass() {
return null; return null;
} }
@Override
public EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetailAsso(String id) {
return ekpSettleMapper.getSettleStatusFromEkpAsso(id);
}
@Override
public List<EkpSettleStatusVo> getSettleStatusFromEkpAssoByIds(List<String> ids) {
return ekpSettleMapper.getSettleStatusFromEkpAssoByIds(ids);
}
@Override
public void deleteEkpInsuranceDetail(String id) {
//删除商险明细数据
ekpSettleMapper.deleteEkpInsuranceDetail(id);
}
@Override
public void deleteEkpManagerInfo(String id) {
//删除管理费明细数据
ekpSettleMapper.deleteEkpManagerInfo(id);
}
@Override
public void deleteEkpEkpRiskInfo(String id) {
//删除风险金明细数据
ekpSettleMapper.deleteEkpEkpRiskInfo(id);
}
@Override
public List<EkpSettleStatusVo> getBalanceByInsuranceId(String id) {
return ekpSettleMapper.getBalanceByInsuranceId(id);
}
/**
* @Author fxj
* @Description 见费出单直接删除实缴及实缴与预估的差额
* @Date 17:28 2026/1/21
* @Param
* @return
**/
@Override
public void deleteEkpInsuranceDetailAsso(String id) {
ekpSettleMapper.deleteEkpInsuranceDetailAsso(id);
}
/**
* @Author fxj
* @Description 见费出单直接删除实缴与预估的差额
* @Date 15:45 2026/1/22
* @Param
* @return
**/
@Override
public void callBackBalance(String id) {
ekpSettleMapper.callBackBalance(id);
}
} }
...@@ -23,6 +23,18 @@ public interface TBusinessOperateService extends IService<TBusinessOperate> { ...@@ -23,6 +23,18 @@ public interface TBusinessOperateService extends IService<TBusinessOperate> {
*/ */
<T> TBusinessOperate saveModificationRecord(String businessId, T oldInfo, T newInfo, String remark); <T> TBusinessOperate saveModificationRecord(String businessId, T oldInfo, T newInfo, String remark);
/**
* 保存修改记录
*
* @author licancan
* @param businessId 业务表主键
* @param oldInfo 老的实体类
* @param newInfo 新的实体类
* @param remark 备注
* @return {@link TBusinessOperate}
*/
<T> TBusinessOperate saveModificationRecord(String businessId, T oldInfo, T newInfo, String remark,String userName);
/** /**
* 根据业务主键获取操作记录 * 根据业务主键获取操作记录
* *
......
...@@ -7,6 +7,7 @@ import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationCustomerUserUpdateVo; ...@@ -7,6 +7,7 @@ import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationCustomerUserUpdateVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre; import com.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreVo; 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.BaseSearchVO;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.*; import com.yifu.cloud.plus.v1.yifu.insurances.vo.*;
...@@ -131,4 +132,10 @@ public interface TEmployeeInsurancePreService extends IService<TEmployeeInsuranc ...@@ -131,4 +132,10 @@ public interface TEmployeeInsurancePreService extends IService<TEmployeeInsuranc
**/ **/
List<InsuranceAutoParam> getInsuranceAutoParamList(List<InsuranceAddParam> addParamList, List<InsuranceBatchParam> batchParamList List<InsuranceAutoParam> getInsuranceAutoParamList(List<InsuranceAddParam> addParamList, List<InsuranceBatchParam> batchParamList
, List<InsuranceReplaceParam> replaceParamList); , List<InsuranceReplaceParam> replaceParamList);
Boolean delInsurancePreByRegisterId(BaseSearchVO preVo);
Boolean refuseInsurancePreByRegisterId(BaseSearchVO preVo);
R<TEmployeeInsurancePre> getInfoByRegistId(String registId);
} }
...@@ -489,6 +489,8 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> { ...@@ -489,6 +489,8 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
DeptSettleVo deptYgGetSettleStatusFromEkpInsuranceDetail(String detailId, String defaultSettleId); DeptSettleVo deptYgGetSettleStatusFromEkpInsuranceDetail(String detailId, String defaultSettleId);
EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetail(String detailId, String settleId);
/** /**
* @param changeDeptVo * @param changeDeptVo
* @Description: ekp费用划转,商险划转项目 * @Description: ekp费用划转,商险划转项目
...@@ -600,4 +602,13 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> { ...@@ -600,4 +602,13 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
BaseSearchVO getInsurancesStatusByClose(BaseSearchVO paramVo); BaseSearchVO getInsurancesStatusByClose(BaseSearchVO paramVo);
R getSettleStatusFromEkpInsuranceDetailAsso(String id,String settleId);
R callBack(TInsuranceDetail detail);
R pullPaymentStatus(String idStr,YifuUser user );
R callBackInsuranceBuyHandleStatus(EkpStatusParamVo vo);
Double getInsuranceListPagePaymentMoney(InsuranceListParam param, String mId);
} }
...@@ -67,6 +67,31 @@ public class TBusinessOperateServiceImpl extends ServiceImpl<TBusinessOperateMap ...@@ -67,6 +67,31 @@ public class TBusinessOperateServiceImpl extends ServiceImpl<TBusinessOperateMap
return null; return null;
} }
@Override
public <T> TBusinessOperate saveModificationRecord(String businessId, T oldInfo, T newInfo, String remark,String userName) {
try{
//比较记录不影响业务逻辑,用try套住
//比较差异
String differenceKey = HrEquator.comparisonValue(oldInfo, newInfo);
//如果有差异保存差异
if(!Common.isEmpty(differenceKey)){
TBusinessOperate operate = new TBusinessOperate();
operate.setBusinessId(businessId);
operate.setCreateTime(LocalDateTime.now());
operate.setOldInfo(JSON.toJSONString(oldInfo,features));
operate.setNewInfo(JSON.toJSONString(newInfo,features));
operate.setDifferenceInfo(differenceKey);
operate.setRemark(remark);
operate.setCreateName(userName);
baseMapper.insert(operate);
return operate;
}
}catch (Exception e){
log.error(JSON.toJSON(oldInfo)+"插入修改记录报错>>>",e);
}
return null;
}
/** /**
* 根据业务主键获取操作记录 * 根据业务主键获取操作记录
* *
......
...@@ -21,6 +21,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; ...@@ -21,6 +21,7 @@ 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.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.BaseSearchVO;
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.dapr.util.UpmsDaprUtils; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
...@@ -299,10 +300,10 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur ...@@ -299,10 +300,10 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
).collect(Collectors.toList()); ).collect(Collectors.toList());
if (autoAddParamList.isEmpty()) { if (autoAddParamList.isEmpty()) {
LambdaUpdateWrapper<TEmployeeInsurancePre> updateWrapper = new LambdaUpdateWrapper<>(); /*LambdaUpdateWrapper<TEmployeeInsurancePre> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(TEmployeeInsurancePre::getId,pushIdList) updateWrapper.in(TEmployeeInsurancePre::getId,pushIdList)
.set(TEmployeeInsurancePre::getProcessStatus, CommonConstants.THREE_STRING); .set(TEmployeeInsurancePre::getProcessStatus, CommonConstants.THREE_STRING);
this.update(updateWrapper); this.update(updateWrapper);*/
} else { } else {
// 将 autoAddParamList 中的id等信息提取出来,放入一个 Set 中 // 将 autoAddParamList 中的id等信息提取出来,放入一个 Set 中
Set<String> autoAddParamSet = new HashSet<>(); Set<String> autoAddParamSet = new HashSet<>();
...@@ -406,11 +407,11 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur ...@@ -406,11 +407,11 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
updateList.add(updatePre); updateList.add(updatePre);
} else { } else {
// 派单成功的 // 派单成功的 在各个口禅
//nonExistingList.add(pre) //nonExistingList.add(pre)
updatePre.setProcessStatus(CommonConstants.THREE_STRING); /*updatePre.setProcessStatus(CommonConstants.THREE_STRING);
updateList.add(updatePre); updateList.add(updatePre)*/;
} }
} }
if (!updateList.isEmpty()) { if (!updateList.isEmpty()) {
...@@ -676,6 +677,7 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur ...@@ -676,6 +677,7 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
.eq(TInsuranceDetail::getIsOverdue, CommonConstants.ZERO_INT) .eq(TInsuranceDetail::getIsOverdue, CommonConstants.ZERO_INT)
.eq(TInsuranceDetail::getBuyHandleStatus, CommonConstants.THREE_INT) .eq(TInsuranceDetail::getBuyHandleStatus, CommonConstants.THREE_INT)
.or().eq(TInsuranceDetail::getBuyHandleStatus, CommonConstants.TWO_INT) .or().eq(TInsuranceDetail::getBuyHandleStatus, CommonConstants.TWO_INT)
.or().eq(TInsuranceDetail::getBuyHandleStatus, CommonConstants.SIX_INT)
.or().eq(TInsuranceDetail::getBuyHandleStatus, CommonConstants.ONE_INT))); .or().eq(TInsuranceDetail::getBuyHandleStatus, CommonConstants.ONE_INT)));
return count == preVo.getExitInsuranceInfoList().size(); return count == preVo.getExitInsuranceInfoList().size();
} }
...@@ -812,6 +814,7 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur ...@@ -812,6 +814,7 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
).collect(Collectors.toList()); ).collect(Collectors.toList());
} }
private InsuranceAutoParam convertAddParam(InsuranceAddParam addParam) { private InsuranceAutoParam convertAddParam(InsuranceAddParam addParam) {
InsuranceAutoParam autoParam = new InsuranceAutoParam(); InsuranceAutoParam autoParam = new InsuranceAutoParam();
// 复制InsuranceAddParam的字段 // 复制InsuranceAddParam的字段
...@@ -986,5 +989,32 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur ...@@ -986,5 +989,32 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
vo.setPreList(preList); vo.setPreList(preList);
return vo; return vo;
} }
/**
* @Author fxj
* @Description 通过如入职ID删除商险待办数据
* @Date 20:31 2026/1/22
* @Param
* @return
**/
@Override
public Boolean delInsurancePreByRegisterId(BaseSearchVO preVo) {
return this.remove(Wrappers.<TEmployeeInsurancePre>query().lambda()
.eq(TEmployeeInsurancePre::getRegisterId, preVo.getRegisterId()));
}
@Override
public Boolean refuseInsurancePreByRegisterId(BaseSearchVO preVo) {
LambdaUpdateWrapper<TEmployeeInsurancePre> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(TEmployeeInsurancePre::getRegisterId, preVo.getRegisterId());
updateWrapper.set(TEmployeeInsurancePre::getIsRefuse, CommonConstants.ZERO_STRING);
return this.update(updateWrapper);
}
@Override
public R<TEmployeeInsurancePre> getInfoByRegistId(String registId) {
if (Common.isEmpty(registId)){
return R.failed(CommonConstants.PARAM_INFO_ERROR);
}
return R.ok(baseMapper.selectOne(Wrappers.<TEmployeeInsurancePre>query().lambda()
.notIn(TEmployeeInsurancePre::getProcessStatus, Arrays.asList("0","1","2","5"))
.eq(TEmployeeInsurancePre::getRegisterId, registId).last(CommonConstants.LAST_ONE_SQL)));
}
} }
...@@ -379,10 +379,10 @@ public class TInsurancePreRenewDetailServiceImpl extends ServiceImpl<TInsuranceP ...@@ -379,10 +379,10 @@ public class TInsurancePreRenewDetailServiceImpl extends ServiceImpl<TInsuranceP
List<InsuranceAutoParam> autoAddParamList = this.getInsuranceAutoParamList(paramList, batchParamList, replaceParamList); List<InsuranceAutoParam> autoAddParamList = this.getInsuranceAutoParamList(paramList, batchParamList, replaceParamList);
if (autoAddParamList.isEmpty()) { if (autoAddParamList.isEmpty()) {
LambdaUpdateWrapper<TInsurancePreRenewDetail> updateWrapper = new LambdaUpdateWrapper<>(); /*LambdaUpdateWrapper<TInsurancePreRenewDetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(TInsurancePreRenewDetail::getId, pushIdList) updateWrapper.in(TInsurancePreRenewDetail::getId, pushIdList)
.set(TInsurancePreRenewDetail::getProcessStatus, CommonConstants.THREE_STRING); .set(TInsurancePreRenewDetail::getProcessStatus, CommonConstants.THREE_STRING);
this.update(updateWrapper); this.update(updateWrapper);*/
} else { } else {
// 将 autoAddParamList 中的id等信息提取出来,放入一个 Set 中 // 将 autoAddParamList 中的id等信息提取出来,放入一个 Set 中
Set<String> autoAddParamSet = new HashSet<>(); Set<String> autoAddParamSet = new HashSet<>();
...@@ -465,8 +465,8 @@ public class TInsurancePreRenewDetailServiceImpl extends ServiceImpl<TInsuranceP ...@@ -465,8 +465,8 @@ public class TInsurancePreRenewDetailServiceImpl extends ServiceImpl<TInsuranceP
} else { } else {
// 派单成功的 // 派单成功的
updatePre.setProcessStatus(CommonConstants.THREE_STRING); /*updatePre.setProcessStatus(CommonConstants.THREE_STRING);
updateList.add(updatePre); updateList.add(updatePre);*/
} }
} }
if (!updateList.isEmpty()) { if (!updateList.isEmpty()) {
......
...@@ -93,6 +93,10 @@ public class TInsuranceTypeServiceImpl extends ServiceImpl<TInsuranceTypeMapper, ...@@ -93,6 +93,10 @@ public class TInsuranceTypeServiceImpl extends ServiceImpl<TInsuranceTypeMapper,
if(!ValidityUtil.validate50(receiptUnitName)){ if(!ValidityUtil.validate50(receiptUnitName)){
return R.failed("收款单位名称格式不正确"); return R.failed("收款单位名称格式不正确");
} }
if (!CommonConstants.ZERO_STRING.equals(insuranceType.getIsJfcd())
&& !CommonConstants.ONE_STRING.equals(insuranceType.getIsJfcd())){
return R.failed("是否见费出单必填且只能为是或否");
}
LambdaQueryWrapper<TInsuranceCompany> companyWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TInsuranceCompany> companyWrapper = new LambdaQueryWrapper<>();
companyWrapper.eq(TInsuranceCompany::getId,companyId).eq(TInsuranceCompany::getDeleteFlag, CommonConstants.ZERO_INT); companyWrapper.eq(TInsuranceCompany::getId,companyId).eq(TInsuranceCompany::getDeleteFlag, CommonConstants.ZERO_INT);
TInsuranceCompany insuranceCompany = tInsuranceCompanyService.getOne(companyWrapper); TInsuranceCompany insuranceCompany = tInsuranceCompanyService.getOne(companyWrapper);
...@@ -158,6 +162,10 @@ public class TInsuranceTypeServiceImpl extends ServiceImpl<TInsuranceTypeMapper, ...@@ -158,6 +162,10 @@ public class TInsuranceTypeServiceImpl extends ServiceImpl<TInsuranceTypeMapper,
if(Common.isEmpty(byId) || byId.getDeleteFlag() == CommonConstants.ONE_INT){ if(Common.isEmpty(byId) || byId.getDeleteFlag() == CommonConstants.ONE_INT){
return R.failed("当前险种信息不存在或已被删除"); return R.failed("当前险种信息不存在或已被删除");
} }
if (!CommonConstants.ZERO_STRING.equals(insuranceType.getIsJfcd())
&& !CommonConstants.ONE_STRING.equals(insuranceType.getIsJfcd())){
return R.failed("是否见费出单必填且只能为是或否");
}
if(byId.getName().equals(insuranceType.getName())){ if(byId.getName().equals(insuranceType.getName())){
insuranceType.setUpdateBy(user.getId()); insuranceType.setUpdateBy(user.getId());
insuranceType.setUpdateTime(LocalDateTime.now()); insuranceType.setUpdateTime(LocalDateTime.now());
......
...@@ -63,13 +63,63 @@ ...@@ -63,13 +63,63 @@
<select id="getSettleStatusFromEkpInsuranceDetail" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo"> <select id="getSettleStatusFromEkpInsuranceDetail" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo">
select select
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus,fd_3adfe6ef5dfaac paymentStatus
from from
ekp_insurances_info ekp_insurances_info
where where
fd_3b0a5743acab7e = #{id} and fd_3adfe6af71a1cc = '实缴' limit 1 fd_3b0a5743acab7e like CONCAT(#{id},'%') and fd_3adfe6af71a1cc = '实缴' limit 1
</select>
<select id="getSettleStatusFromEkpAsso" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo">
select
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus,fd_3adfe6ef5dfaac paymentStatus,fd_3b0a5743acab7e detailId
from
ekp_insurances_info
where
fd_3b0a5743acab7e = #{id} and fd_3adfe6af71a1cc = '预估' and fd_jfcd='是' limit 1
</select>
<select id="getSettleStatusFromEkpAssoByIds" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo">
select
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus,fd_3adfe6ef5dfaac paymentStatus,fd_3b0a5743acab7e detailId,update_time_status statusUpdateTime
from
ekp_insurances_info
where
fd_3adfe6af71a1cc = '预估' and fd_jfcd='是'
<if test="ids != null and ids.size() > 0">
and fd_3b0a5743acab7e in
<foreach item="id" index="index" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</select>
<select id="getBalanceByInsuranceId" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo">
select
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus,fd_3adfe6ef5dfaac paymentStatus,fd_3b0a5743acab7e detailId,fd_3adfe6e30f2a3c paymentBalance
from
ekp_insurances_info
where
fd_3adfe6af71a1cc = '差额' and fd_jfcd='是' and
fd_3b0a5743acab7e like CONCAT(#{id},'%')
</select> </select>
<delete id="deleteEkpInsuranceDetail">
delete from ekp_insurances_info where fd_3b0a5743acab7e=#{id} and fd_jfcd='是' and fd_3adfe6af71a1cc = '预估'
</delete>
<delete id="deleteEkpInsuranceDetailAsso">
delete from ekp_insurances_info where fd_3b0a5743acab7e like CONCAT(#{id},'%') and fd_jfcd='是' and (fd_3adfe6af71a1cc = '差额' or fd_3adfe6af71a1cc = '实缴')
</delete>
<delete id="callBackBalance">
delete from ekp_insurances_info where fd_3b0a5743acab7e like CONCAT(#{id},'%') and fd_jfcd='是' and fd_3adfe6af71a1cc = '差额'
</delete>
<delete id="deleteEkpManagerInfo">
delete from ekp_manager_info where fd_3b13dc864a3052 = #{id}
</delete>
<delete id="deleteEkpEkpRiskInfo">
delete from ekp_risk_info where fd_3b13db120a8224 = #{id}
</delete>
<select id="getDeptSettle" resultMap="BaseDeptResultMap"> <select id="getDeptSettle" resultMap="BaseDeptResultMap">
select select
<include refid="Base_Column_Dept"></include> <include refid="Base_Column_Dept"></include>
......
...@@ -107,6 +107,9 @@ ...@@ -107,6 +107,9 @@
</sql> </sql>
<sql id="tEmployeeInsurancePre_where"> <sql id="tEmployeeInsurancePre_where">
<if test="tEmployeeInsurancePre != null"> <if test="tEmployeeInsurancePre != null">
<if test="tEmployeeInsurancePre.isRefuse != null and tEmployeeInsurancePre.isRefuse.trim() != ''">
AND a.IS_REFUSE = #{tEmployeeInsurancePre.isRefuse}
</if>
<if test="tEmployeeInsurancePre.id != null and tEmployeeInsurancePre.id.trim() != ''"> <if test="tEmployeeInsurancePre.id != null and tEmployeeInsurancePre.id.trim() != ''">
AND a.id = #{tEmployeeInsurancePre.id} AND a.id = #{tEmployeeInsurancePre.id}
</if> </if>
...@@ -145,7 +148,7 @@ ...@@ -145,7 +148,7 @@
</foreach> </foreach>
</if> </if>
<if test="tEmployeeInsurancePre.customerUsername != null and tEmployeeInsurancePre.customerUsername.trim() != ''"> <if test="tEmployeeInsurancePre.customerUsername != null and tEmployeeInsurancePre.customerUsername.trim() != ''">
AND a.customer_username = #{tEmployeeInsurancePre.customerUsername} AND a.customer_username like CONCAT('%',#{tEmployeeInsurancePre.customerUsername},'%')
</if> </if>
<if test="tEmployeeInsurancePre.deptName != null and tEmployeeInsurancePre.deptName.trim() != ''"> <if test="tEmployeeInsurancePre.deptName != null and tEmployeeInsurancePre.deptName.trim() != ''">
AND a.dept_name like CONCAT('%',#{tEmployeeInsurancePre.deptName},'%') AND a.dept_name like CONCAT('%',#{tEmployeeInsurancePre.deptName},'%')
...@@ -294,6 +297,7 @@ ...@@ -294,6 +297,7 @@
WHEN a.process_status ='4' THEN "投保中" WHEN a.process_status ='4' THEN "投保中"
WHEN a.process_status ='5' THEN "投保退回" WHEN a.process_status ='5' THEN "投保退回"
WHEN a.process_status ='6' THEN "已完成" WHEN a.process_status ='6' THEN "已完成"
WHEN a.process_status ='7' THEN "待缴费"
ELSE a.process_status END as process_status, ELSE a.process_status END as process_status,
a.customer_username, a.customer_username,
concat(DATE_FORMAT(a.policy_start,'%Y-%m-%d'),'-',DATE_FORMAT(a.policy_end,'%Y-%m-%d')) as policy_start_end, concat(DATE_FORMAT(a.policy_start,'%Y-%m-%d'),'-',DATE_FORMAT(a.policy_end,'%Y-%m-%d')) as policy_start_end,
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<result property="updateTime" column="UPDATE_TIME" jdbcType="TIMESTAMP"/> <result property="updateTime" column="UPDATE_TIME" jdbcType="TIMESTAMP"/>
<result property="isAdress" column="IS_ADRESS" jdbcType="VARCHAR"/> <result property="isAdress" column="IS_ADRESS" jdbcType="VARCHAR"/>
<result property="enable" column="ENABLE" jdbcType="VARCHAR"/> <result property="enable" column="ENABLE" jdbcType="VARCHAR"/>
<result property="isJfcd" column="IS_JFCD" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
...@@ -68,7 +69,7 @@ ...@@ -68,7 +69,7 @@
a.BANK_NAME as bankName, a.BANK_NAME as bankName,
a.BANK_NO as bankNo, a.BANK_NO as bankNo,
a.AGE_LIMIT as ageLimit, a.AGE_LIMIT as ageLimit,
a.IS_ADRESS as isAdress,a.ENABLE as enable a.IS_ADRESS as isAdress,a.ENABLE as enable,a.IS_JFCD as isJfcd
from from
t_insurance_type a, t_insurance_type a,
t_insurance_company b t_insurance_company b
...@@ -91,6 +92,9 @@ ...@@ -91,6 +92,9 @@
<if test="insuranceType.enable != null and insuranceType.enable.trim() != ''"> <if test="insuranceType.enable != null and insuranceType.enable.trim() != ''">
and a.ENABLE = #{insuranceType.enable} and a.ENABLE = #{insuranceType.enable}
</if> </if>
<if test="insuranceType.isJfcd != null and insuranceType.isJfcd.trim() != ''">
and a.IS_JFCD = #{insuranceType.isJfcd}
</if>
ORDER BY a.CREATE_TIME DESC ORDER BY a.CREATE_TIME DESC
</select> </select>
...@@ -102,7 +106,7 @@ ...@@ -102,7 +106,7 @@
a.BANK_NO as bankNo, a.BANK_NO as bankNo,
a.RECEIPT_UNIT_NAME as receiptUnitName, a.RECEIPT_UNIT_NAME as receiptUnitName,
if(a.AGE_LIMIT = '0','限制(16-70岁)','无') as ageLimit, if(a.AGE_LIMIT = '0','限制(16-70岁)','无') as ageLimit,
if(a.IS_ADRESS = '0','是',if(ifnull(a.IS_ADRESS,3) = 3,'','否')) as isAdress,a.ENABLE as enable if(a.IS_ADRESS = '0','是',if(ifnull(a.IS_ADRESS,3) = 3,'','否')) as isAdress,a.ENABLE as enable,a.IS_JFCD as isJfcd
from from
t_insurance_type a, t_insurance_type a,
t_insurance_company b t_insurance_company b
...@@ -122,6 +126,9 @@ ...@@ -122,6 +126,9 @@
<if test="insuranceType.enable != null and insuranceType.enable.trim() != ''"> <if test="insuranceType.enable != null and insuranceType.enable.trim() != ''">
and a.ENABLE = #{insuranceType.enable} and a.ENABLE = #{insuranceType.enable}
</if> </if>
<if test="insuranceType.isJfcd != null and insuranceType.isJfcd.trim() != ''">
and a.IS_JFCD = #{insuranceType.isJfcd}
</if>
ORDER BY a.CREATE_TIME DESC ORDER BY a.CREATE_TIME DESC
</select> </select>
...@@ -136,7 +143,7 @@ ...@@ -136,7 +143,7 @@
a.BANK_NAME as bankName, a.BANK_NAME as bankName,
a.BANK_NO as bankNo, a.BANK_NO as bankNo,
a.AGE_LIMIT as ageLimit, a.AGE_LIMIT as ageLimit,
a.IS_ADRESS as isAdress,a.ENABLE as enable a.IS_ADRESS as isAdress,a.ENABLE as enable,a.IS_JFCD as isJfcd
from from
t_insurance_type a, t_insurance_type a,
t_insurance_company b t_insurance_company b
......
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
<result property="policyStartNew" column="POLICY_START_NEW" jdbcType="DATE"/> <result property="policyStartNew" column="POLICY_START_NEW" jdbcType="DATE"/>
<result property="policyEndNew" column="POLICY_END_NEW" jdbcType="DATE"/> <result property="policyEndNew" column="POLICY_END_NEW" jdbcType="DATE"/>
<result property="policyEffectNew" column="POLICY_EFFECT_NEW" jdbcType="DATE"/> <result property="policyEffectNew" column="POLICY_EFFECT_NEW" jdbcType="DATE"/>
<result property="customerUsername" column="CUSTOMER_USERNAME" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<!-- 商险续签待办专用 --> <!-- 商险续签待办专用 -->
...@@ -111,6 +112,7 @@ ...@@ -111,6 +112,7 @@
b.error_time b.error_time
,DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d %H:%i') expected_collection_time ,DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d %H:%i') expected_collection_time
,b.INSURANCES_ID_NEW ,b.INSURANCES_ID_NEW
,b.CUSTOMER_USERNAME
</sql> </sql>
<sql id="tInsuranceAlert_where"> <sql id="tInsuranceAlert_where">
<if test="tInsuranceAlert != null"> <if test="tInsuranceAlert != null">
...@@ -249,6 +251,9 @@ ...@@ -249,6 +251,9 @@
<if test="tInsuranceAlert.haveWorkDay != null and tInsuranceAlert.haveWorkDay.trim() != ''"> <if test="tInsuranceAlert.haveWorkDay != null and tInsuranceAlert.haveWorkDay.trim() != ''">
AND a.HAVE_WORK_DAY = #{tInsuranceAlert.haveWorkDay} AND a.HAVE_WORK_DAY = #{tInsuranceAlert.haveWorkDay}
</if> </if>
<if test="tInsuranceAlert.customerUsername != null and tInsuranceAlert.customerUsername.trim() != ''">
AND b.CUSTOMER_USERNAME like CONCAT('%',#{tInsuranceAlert.customerUsername},'%')
</if>
<if test="tInsuranceAlert.deptNoList != null and tInsuranceAlert.deptNoList.size > 0"> <if test="tInsuranceAlert.deptNoList != null and tInsuranceAlert.deptNoList.size > 0">
AND a.DEPT_NO in AND a.DEPT_NO in
<foreach item="idStr" index="index" collection="tInsuranceAlert.deptNoList" open="(" separator="," <foreach item="idStr" index="index" collection="tInsuranceAlert.deptNoList" open="(" separator=","
...@@ -421,7 +426,8 @@ ...@@ -421,7 +426,8 @@
,'临期' isOverdue,a.HAVE_WORK_DAY,'否' EXPIRE_IGNORE_FLAG,a.CREATE_NAME,a.ALERTER ,'临期' isOverdue,a.HAVE_WORK_DAY,'否' EXPIRE_IGNORE_FLAG,a.CREATE_NAME,a.ALERTER
,DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d %H:%i') expected_collection_time ,DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d %H:%i') expected_collection_time
,case b.process_status when '0' then '待确认' when '1' then '待派单' when '2' then '派单失败' ,case b.process_status when '0' then '待确认' when '1' then '待派单' when '2' then '派单失败'
when '3' then '待投保' when '4' then '投保中' when '5' then '投保退回' when '6' then '已投保' else '-' end process_status when '3' then '待投保' when '4' then '投保中' when '5' then '投保退回' when '6' then '已投保' when '7' then '待缴费' else '-' end process_status
,b.CUSTOMER_USERNAME
FROM t_insurance_alert a FROM t_insurance_alert a
JOIN t_insurance_pre_renew_detail b ON a.INSURANCES_PRE_RENEW_DETAIL_ID = b.ID JOIN t_insurance_pre_renew_detail b ON a.INSURANCES_PRE_RENEW_DETAIL_ID = b.ID
<where> <where>
......
...@@ -437,6 +437,16 @@ public class SysHouseHoldInfo extends BaseEntity { ...@@ -437,6 +437,16 @@ public class SysHouseHoldInfo extends BaseEntity {
@ExcelProperty("医保推送类型") @ExcelProperty("医保推送类型")
private String isSingleYsdPush; private String isSingleYsdPush;
/**
* 推送时,医保完成后才推送社保,默认0否
*/
@ExcelAttribute(name = "根据医保结果办理养工失" )
@Schema(description ="根据医保结果办理养工失")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("根据医保结果办理养工失")
private String isYsdOkPushYgs;
/** /**
* 户与失败原因关联list * 户与失败原因关联list
*/ */
......
...@@ -677,4 +677,10 @@ public class TDispatchInfoPre extends BaseEntity { ...@@ -677,4 +677,10 @@ public class TDispatchInfoPre extends BaseEntity {
@Schema(description = "起缴日期类型:0 入职日期 1 入职满个月 2 入职满2个月 3 入职满3个月 4 入职满4个月 5 入职满5个月 6 入职满6个月 7 入职满7个月 8 入职满8个月 9 入职满9个月 10 入职满10个月 11 入职满11个月 12 入职满12个月") @Schema(description = "起缴日期类型:0 入职日期 1 入职满个月 2 入职满2个月 3 入职满3个月 4 入职满4个月 5 入职满5个月 6 入职满6个月 7 入职满7个月 8 入职满8个月 9 入职满9个月 10 入职满10个月 11 入职满11个月 12 入职满12个月")
private String socialDateType; private String socialDateType;
/**
* 是否拒绝入职: 0 是 1 否
*/
@Schema(description = "是否拒绝入职: 0 是 1 ")
private String isRefuse;
} }
...@@ -72,5 +72,14 @@ public class TSocialFreindPushAndGet { ...@@ -72,5 +72,14 @@ public class TSocialFreindPushAndGet {
@ExcelProperty("创建人姓名") @ExcelProperty("创建人姓名")
@Schema(description = "创建人姓名") @Schema(description = "创建人姓名")
private String createUserName; private String createUserName;
/**
* 创建人ID
*/
@ExcelAttribute(name = "创建人ID", isNotEmpty = true, errorInfo = "创建人ID不能为空", maxLength = 64)
@NotBlank(message = "创建人ID不能为空")
@Length(max = 64, message = "创建人ID不能超过64个字符")
@ExcelProperty("创建人ID")
@Schema(description = "创建人ID")
private String createBy;
} }
...@@ -93,5 +93,13 @@ public class TSocialFriendReduceSet { ...@@ -93,5 +93,13 @@ public class TSocialFriendReduceSet {
@ExcelProperty("类型") @ExcelProperty("类型")
@Schema(description = "类型1:社保;2:医保;3池州特殊减员映射") @Schema(description = "类型1:社保;2:医保;3池州特殊减员映射")
private String mvpType; private String mvpType;
/**
* 户名称(可以为空)
*/
@ExcelAttribute(name = "户名称", maxLength = 50)
@Length(max = 50, message = "户名称")
@ExcelProperty("户名称")
@Schema(description = "户名称")
private String huName;
} }
...@@ -204,7 +204,7 @@ public class SociaFriendYgsAddVo implements Serializable { ...@@ -204,7 +204,7 @@ public class SociaFriendYgsAddVo implements Serializable {
@ExcelProperty("是否强制停保" ) @ExcelProperty("是否强制停保" )
private String sfqztb; private String sfqztb;
// 池州特殊减员映射1:减员原因 // 池州特殊减员映射1:减员原因(用作花名册)
@ExcelProperty("池州特殊减员映射1:减员原因") @ExcelProperty("池州特殊减员映射1:减员原因")
private String chiZhouTbyy; private String chiZhouTbyy;
// 池州特殊减员映射2:劳动用工备案解除/终止原因 // 池州特殊减员映射2:劳动用工备案解除/终止原因
......
...@@ -233,6 +233,22 @@ public class TDispatchInfoController { ...@@ -233,6 +233,22 @@ public class TDispatchInfoController {
return new R<>(tDispatchInfoService.getTSocialSoldierHandlePage(page,tDispatchInfo)); return new R<>(tDispatchInfoService.getTSocialSoldierHandlePage(page,tDispatchInfo));
} }
/**
* @Description: 获取税友自动化办理推送的条数,限制【社保办理权限】菜单的办理人权限
* @Author: hgw
* @Date: 2026-01-21 09点16分
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.baomidou.mybatisplus.core.metadata.IPage < com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo>>
**/
@Operation(description = "获取税友自动化办理推送的条数,限制【社保办理权限】菜单的办理人权限")
@GetMapping("/countSocialFriendByAuth")
public R<Long> countSocialFriendByAuth() {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed("请登录!");
}
return new R<>(tDispatchInfoService.countSocialFriendByAuth(user.getId()));
}
/** /**
* @Description: 简单分页查询--自动化办理查询 * @Description: 简单分页查询--自动化办理查询
* @Author: hgw * @Author: hgw
......
...@@ -13,6 +13,7 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil; ...@@ -13,6 +13,7 @@ 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.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre;
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;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreSearchVo;
...@@ -56,7 +57,7 @@ public class TDispatchInfoPreController { ...@@ -56,7 +57,7 @@ public class TDispatchInfoPreController {
//typeSuB 0 社保 1 公积金 //typeSuB 0 社保 1 公积金
if (Common.isEmpty(tDispatchInfoPre.getTypeSub())){ if (Common.isEmpty(tDispatchInfoPre.getTypeSub())){
tDispatchInfoPre.setTypeSub(CommonConstants.ZERO_STRING); tDispatchInfoPre.setTypeSub(CommonConstants.ZERO_STRING);
}else if (Common.isEmpty(tDispatchInfoPre.getTypeSub())){ }else if (!Common.isEmpty(tDispatchInfoPre.getTypeSub())){
tDispatchInfoPre.setTypeSub(tDispatchInfoPre.getTypeSub()); tDispatchInfoPre.setTypeSub(tDispatchInfoPre.getTypeSub());
} }
return new R<>(tDispatchInfoPreService.getTDispatchInfoPrePage(page, tDispatchInfoPre)); return new R<>(tDispatchInfoPreService.getTDispatchInfoPrePage(page, tDispatchInfoPre));
...@@ -358,8 +359,8 @@ public class TDispatchInfoPreController { ...@@ -358,8 +359,8 @@ public class TDispatchInfoPreController {
@Operation(description = "删除非流程中的社保待购买数据") @Operation(description = "删除非流程中的社保待购买数据")
@Inner @Inner
@PostMapping("/deleteUnProcessSocialPreInfo") @PostMapping("/deleteUnProcessSocialPreInfo")
public void deleteUnProcessSocialPreInfo(@RequestBody String id) { public Boolean deleteUnProcessSocialPreInfo(@RequestBody String id) {
tDispatchInfoPreService.deleteUnProcessSocialPreInfo(id); return tDispatchInfoPreService.deleteUnProcessSocialPreInfo(id);
} }
/** /**
...@@ -372,10 +373,22 @@ public class TDispatchInfoPreController { ...@@ -372,10 +373,22 @@ public class TDispatchInfoPreController {
@Operation(description = "删除非流程中的公积金待购买数据") @Operation(description = "删除非流程中的公积金待购买数据")
@Inner @Inner
@PostMapping("/deleteUnProcessFundPreInfo") @PostMapping("/deleteUnProcessFundPreInfo")
public void deleteUnProcessFundPreInfo(@RequestBody String id) { public Boolean deleteUnProcessFundPreInfo(@RequestBody String id) {
tDispatchInfoPreService.deleteUnProcessFundPreInfo(id); return tDispatchInfoPreService.deleteUnProcessFundPreInfo(id);
}
/**
* @Author fxj
* @Description 拒绝入职更新非流程中的公积金待购买数据
* @Date 11:09 2026/1/27
* @Param
* @return
**/
@Operation(description = "拒绝入职更新非流程中的公积金待购买数据")
@Inner
@PostMapping("/updateRefuseFundPreInfo")
public Boolean updateRefuseFundPreInfo(@RequestBody String id) {
return tDispatchInfoPreService.updateRefuseFundPreInfo(id);
} }
/** /**
* 派单当日9点统一推送确认信息 公积金可以通用 * 派单当日9点统一推送确认信息 公积金可以通用
...@@ -402,4 +415,29 @@ public class TDispatchInfoPreController { ...@@ -402,4 +415,29 @@ public class TDispatchInfoPreController {
public void pushDisConfrimSocial() { public void pushDisConfrimSocial() {
tDispatchInfoPreService.pushDisConfrimSocial(); tDispatchInfoPreService.pushDisConfrimSocial();
} }
/**
* 通过id查询社保或公积金待签订任务记录表
* @param registId
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/getInfoByRegistId" )
public R<TDispatchInfoPre> getInfoByRegistId(@RequestParam("registId" ) String registId, @RequestParam("type" ) String type) {
return tDispatchInfoPreService.getInfoByRegistId(registId,type);
}
/**
* @Author fxj
* @Description 拒绝入职更新非流程中的社保待购买数据
* @Date 11:04 2026/1/27
* @Param
* @return
**/
@Operation(description = "拒绝入职更新非流程中的社保待购买数据")
@Inner
@PostMapping("/updateRefuseSocialPreInfo")
public Boolean updateRefuseSocialPreInfo(@RequestBody String id) {
return tDispatchInfoPreService.updateRefuseSocialPreInfo(id);
}
} }
...@@ -242,4 +242,16 @@ public class TIncomeController { ...@@ -242,4 +242,16 @@ public class TIncomeController {
public Boolean updateSocialSettleStatus(@RequestBody List<EkpInsuranceViewVo> viewVo) { public Boolean updateSocialSettleStatus(@RequestBody List<EkpInsuranceViewVo> viewVo) {
return tIncomeService.updateIncomeSettleStatus(viewVo); return tIncomeService.updateIncomeSettleStatus(viewVo);
} }
/**
* 通过id删除收入明细表
*
* @param tIncomeDetail
* @return R
*/
@Inner
@PostMapping("/inner/deleteById")
public void deleteMainById(@RequestBody TIncomeDetail tIncomeDetail) {
tIncomeService.removeById(tIncomeDetail.getId());
}
} }
...@@ -74,7 +74,7 @@ public class TIncomeDetailController { ...@@ -74,7 +74,7 @@ public class TIncomeDetailController {
* @return R * @return R
*/ */
@Inner @Inner
@PostMapping("/deleteById") @PostMapping("/inner/deleteById")
public void deleteById(@RequestBody TIncomeDetail tIncomeDetail) { public void deleteById(@RequestBody TIncomeDetail tIncomeDetail) {
tIncomeDetailService.removeById(tIncomeDetail.getId()); tIncomeDetailService.removeById(tIncomeDetail.getId());
} }
......
...@@ -84,7 +84,7 @@ public class TSocialFriendController { ...@@ -84,7 +84,7 @@ public class TSocialFriendController {
@SysLog("1定时任务推送税友") @SysLog("1定时任务推送税友")
@Inner @Inner
public R<String> doPushFriendTest() { public R<String> doPushFriendTest() {
return tSocialFriendPushService.pushFriend(null); return tSocialFriendPushService.pushFriend(null, null, CommonConstants.ONE_INT, null);
} }
@Operation(description = "2定时任务获取税友") @Operation(description = "2定时任务获取税友")
...@@ -102,12 +102,12 @@ public class TSocialFriendController { ...@@ -102,12 +102,12 @@ public class TSocialFriendController {
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String> * @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/ **/
@Operation(description = "主动推送税友") @Operation(description = "主动推送税友")
@GetMapping("/doPushFriendByActive") @PostMapping("/doPushFriendByActive")
@SysLog("主动推送税友") @SysLog("主动推送税友")
public R<String> doPushFriendActive() { public R<String> doPushFriendActive(@RequestBody List<String> dispatchIdList) {
if (atomicPush.incrementAndGet() <= 1) { if (atomicPush.incrementAndGet() <= 1) {
try { try {
R<String> failed = getCore(CommonConstants.ONE_INT); R<String> failed = getCore(CommonConstants.ONE_INT, dispatchIdList);
if (failed != null) return failed; if (failed != null) return failed;
} finally { } finally {
atomicPush.decrementAndGet(); atomicPush.decrementAndGet();
...@@ -126,7 +126,7 @@ public class TSocialFriendController { ...@@ -126,7 +126,7 @@ public class TSocialFriendController {
* @Date: 2025/3/18 17:27 * @Date: 2025/3/18 17:27
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String> * @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/ **/
private R<String> getCore(int type) { private R<String> getCore(int type, List<String> dispatchIdList) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getNickname())) { if (user == null || Common.isEmpty(user.getNickname())) {
return R.failed("请先登录!"); return R.failed("请先登录!");
...@@ -136,16 +136,18 @@ public class TSocialFriendController { ...@@ -136,16 +136,18 @@ public class TSocialFriendController {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// 计算10分钟前的时间 // 计算10分钟前的时间
LocalDateTime tenMinutesAgo = now.minusMinutes(10); LocalDateTime tenMinutesAgo = now.minusMinutes(10);
LocalDateTime time = tSocialFreindPushAndGetService.getMaxTimeByType(type); LocalDateTime time = tSocialFreindPushAndGetService.getMaxTimeByType(type, user.getId());
if (Common.isEmpty(time) || time.isBefore(tenMinutesAgo)) { if (Common.isEmpty(time) || time.isBefore(tenMinutesAgo)) {
TSocialFreindPushAndGet info = new TSocialFreindPushAndGet(); TSocialFreindPushAndGet info = new TSocialFreindPushAndGet();
info.setType(type); info.setType(type);
info.setCreateTime(now); info.setCreateTime(now);
info.setCreateUserName(user.getNickname()); info.setCreateUserName(user.getNickname());
info.setCreateBy(user.getId());
tSocialFreindPushAndGetService.save(info); tSocialFreindPushAndGetService.save(info);
if (type == CommonConstants.ONE_INT) { if (type == CommonConstants.ONE_INT) {
// isAuto 参数:是否自动,自动要查户配置。手动可推送养工失。 手动的都推送(大部分都是推送,芜湖要先推送医保办理成功后才推送社保)
//doJointFriendTask.pushFriendByAsync() //doJointFriendTask.pushFriendByAsync()
tSocialFriendPushService.pushFriend(null); tSocialFriendPushService.pushFriend(null, dispatchIdList, CommonConstants.ZERO_INT, user.getId());
} else { } else {
//doJointFriendTask.getInfoByRequestIdByAsync() //doJointFriendTask.getInfoByRequestIdByAsync()
tSocialFriendService.getInfoByRequestId(); tSocialFriendService.getInfoByRequestId();
...@@ -174,7 +176,7 @@ public class TSocialFriendController { ...@@ -174,7 +176,7 @@ public class TSocialFriendController {
public R<String> doGetFriendByActive() { public R<String> doGetFriendByActive() {
if (atomicGet.incrementAndGet() <= 1) { if (atomicGet.incrementAndGet() <= 1) {
try { try {
R<String> failed = getCore(CommonConstants.TWO_INT); R<String> failed = getCore(CommonConstants.TWO_INT, null);
if (failed != null) return failed; if (failed != null) return failed;
} finally { } finally {
atomicGet.decrementAndGet(); atomicGet.decrementAndGet();
......
...@@ -51,6 +51,8 @@ public interface TDispatchInfoMapper extends BaseMapper<TDispatchInfo> { ...@@ -51,6 +51,8 @@ public interface TDispatchInfoMapper extends BaseMapper<TDispatchInfo> {
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoExportVo> * @return: java.util.List<com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoExportVo>
**/ **/
List<TDispatchInfoExportVo> exportDispatch(@Param("tDispatchInfo") TDispatchInfoSearchVo tDispatchInfo); List<TDispatchInfoExportVo> exportDispatch(@Param("tDispatchInfo") TDispatchInfoSearchVo tDispatchInfo);
// 派单导出count
long exportDispatchCount(@Param("tDispatchInfo") TDispatchInfoSearchVo tDispatchInfo);
/** /**
* @Description: 派单审核导出 * @Description: 派单审核导出
...@@ -123,6 +125,12 @@ public interface TDispatchInfoMapper extends BaseMapper<TDispatchInfo> { ...@@ -123,6 +125,12 @@ public interface TDispatchInfoMapper extends BaseMapper<TDispatchInfo> {
IPage<TSocialSoldierPageVo> getTSocialSoldierHandlePage(Page<TSocialSoldierPageVo> page, IPage<TSocialSoldierPageVo> getTSocialSoldierHandlePage(Page<TSocialSoldierPageVo> page,
@Param("tDispatchInfo") SocialHandleSearchVo tDispatchInfo, @Param("tDispatchInfo") SocialHandleSearchVo tDispatchInfo,
@Param("idsStr") List<String> idsStr); @Param("idsStr") List<String> idsStr);
/**
* @Description: 获取税友自动化办理推送的条数,限制【社保办理权限】菜单的办理人权限
* @Author: hgw
* @Date: 2026/1/21
**/
Long countSocialFriendByAuth(@Param("userId") String userId);
/** /**
* @Description: 社保士兵列表查询 * @Description: 社保士兵列表查询
......
...@@ -54,4 +54,6 @@ public interface TDispatchInfoPreMapper extends BaseMapper<TDispatchInfoPre> { ...@@ -54,4 +54,6 @@ public interface TDispatchInfoPreMapper extends BaseMapper<TDispatchInfoPre> {
long selectFundCount(@Param("tDispatchInfoPre") TDispatchInfoPreSearchVo searchVo); long selectFundCount(@Param("tDispatchInfoPre") TDispatchInfoPreSearchVo searchVo);
long selectSocialCount(@Param("tDispatchInfoPre") TDispatchInfoPreSearchVo searchVo);
} }
...@@ -39,5 +39,5 @@ public interface TSocialFreindPushAndGetMapper extends BaseMapper<TSocialFreindP ...@@ -39,5 +39,5 @@ public interface TSocialFreindPushAndGetMapper extends BaseMapper<TSocialFreindP
* @Date: 2025/3/18 15:57 * @Date: 2025/3/18 15:57
* @return: java.time.LocalDateTime * @return: java.time.LocalDateTime
**/ **/
LocalDateTime getMaxTimeByType(@Param("type") Integer type); LocalDateTime getMaxTimeByType(@Param("type") Integer type, @Param("createUserId") String createUserId);
} }
...@@ -39,7 +39,8 @@ public interface TSocialFriendMapper extends BaseMapper<TSocialInfo> { ...@@ -39,7 +39,8 @@ public interface TSocialFriendMapper extends BaseMapper<TSocialInfo> {
* @Author hgw * @Author hgw
* @Date 2024-5-10 21:16:41 * @Date 2024-5-10 21:16:41
**/ **/
List<SociaFriendYgsAddVo> getSocialSoldierYgsAddVoList(@Param("idsStr") List<String> idsStr); List<SociaFriendYgsAddVo> getSocialSoldierYgsAddVoList(@Param("idsStr") List<String> idsStr, @Param("pushIdsStr") List<String> pushIdsStr
, @Param("isAuto") Integer isAuto, @Param("userId") String userId);
/** /**
* 社保士兵养工失减少模板 * 社保士兵养工失减少模板
...@@ -47,7 +48,8 @@ public interface TSocialFriendMapper extends BaseMapper<TSocialInfo> { ...@@ -47,7 +48,8 @@ public interface TSocialFriendMapper extends BaseMapper<TSocialInfo> {
* @Author hgw * @Author hgw
* @Date 2024-5-10 21:16:41 * @Date 2024-5-10 21:16:41
**/ **/
List<SociaFriendYgsAddVo> getSocialSoldierYgsReduceVoList(@Param("idsStr") List<String> idsStr); List<SociaFriendYgsAddVo> getSocialSoldierYgsReduceVoList(@Param("idsStr") List<String> idsStr, @Param("pushIdsStr") List<String> pushIdsStr
, @Param("isAuto") Integer isAuto, @Param("userId") String userId);
/** /**
* 社保士兵医生大增加模板 * 社保士兵医生大增加模板
...@@ -55,7 +57,8 @@ public interface TSocialFriendMapper extends BaseMapper<TSocialInfo> { ...@@ -55,7 +57,8 @@ public interface TSocialFriendMapper extends BaseMapper<TSocialInfo> {
* @Author hgw * @Author hgw
* @Date 2024-5-10 21:16:41 * @Date 2024-5-10 21:16:41
**/ **/
List<SociaFriendYgsAddVo> getSocialSoldierYsdAddVoList(@Param("idsStr") List<String> idsStr); List<SociaFriendYgsAddVo> getSocialSoldierYsdAddVoList(@Param("idsStr") List<String> idsStr, @Param("pushIdsStr") List<String> pushIdsStr
, @Param("isAuto") Integer isAuto, @Param("userId") String userId);
/** /**
* 社保士兵医生大减少模板 * 社保士兵医生大减少模板
...@@ -63,8 +66,11 @@ public interface TSocialFriendMapper extends BaseMapper<TSocialInfo> { ...@@ -63,8 +66,11 @@ public interface TSocialFriendMapper extends BaseMapper<TSocialInfo> {
* @Author hgw * @Author hgw
* @Date 2024-5-10 21:16:41 * @Date 2024-5-10 21:16:41
**/ **/
List<SociaFriendYgsAddVo> getSocialSoldierYsdReduceVoList(@Param("idsStr") List<String> idsStr); List<SociaFriendYgsAddVo> getSocialSoldierYsdReduceVoList(@Param("idsStr") List<String> idsStr, @Param("pushIdsStr") List<String> pushIdsStr
, @Param("isAuto") Integer isAuto, @Param("userId") String userId);
// 当前徽州区的户名配置表,后续可扩展类型,存其他对应表
List<String> getSpecialHuName();
} }
...@@ -77,9 +77,9 @@ public interface TDispatchInfoPreService extends IService<TDispatchInfoPre> { ...@@ -77,9 +77,9 @@ public interface TDispatchInfoPreService extends IService<TDispatchInfoPre> {
EmployeePreSocialListVo getSocialPreInfoStatus(String id); EmployeePreSocialListVo getSocialPreInfoStatus(String id);
void deleteUnProcessSocialPreInfo(String id); Boolean deleteUnProcessSocialPreInfo(String id);
void deleteUnProcessFundPreInfo(String id); Boolean deleteUnProcessFundPreInfo(String id);
/** /**
* 社保待购买信息单个/批量发起签署任务 * 社保待购买信息单个/批量发起签署任务
...@@ -106,4 +106,10 @@ public interface TDispatchInfoPreService extends IService<TDispatchInfoPre> { ...@@ -106,4 +106,10 @@ public interface TDispatchInfoPreService extends IService<TDispatchInfoPre> {
R confirmFund(List<String> idList); R confirmFund(List<String> idList);
Boolean getFundPreStatus(String id); Boolean getFundPreStatus(String id);
R<TDispatchInfoPre> getInfoByRegistId(String registId,String type);
Boolean updateRefuseSocialPreInfo(String id);
Boolean updateRefuseFundPreInfo(String id);
} }
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