Commit a1ef31de authored by fangxinjiang's avatar fangxinjiang

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

parents 64395bc7 b8a7fab0
...@@ -227,6 +227,18 @@ public class EmployeeContractVO extends RowIndex implements Serializable { ...@@ -227,6 +227,18 @@ public class EmployeeContractVO extends RowIndex implements Serializable {
@ExcelProperty(value ="试用期") @ExcelProperty(value ="试用期")
private String tryPeriod; private String tryPeriod;
/**
* id
*/
@ExcelAttribute(name = "contractId")
@ExcelProperty(value ="contractId")
private String contractId;
// 离职待办ID
@ExcelAttribute(name = "leaveId")
@ExcelProperty(value ="leaveId")
private String leaveId;
/** /**
* id * id
*/ */
......
...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo; ...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty; 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.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 com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex; import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import lombok.Data; import lombok.Data;
...@@ -89,4 +90,9 @@ public class EmployeeXProjectVO extends RowIndex implements Serializable { ...@@ -89,4 +90,9 @@ public class EmployeeXProjectVO extends RowIndex implements Serializable {
// @NotNull(message = "是否同步减档不能为空") // @NotNull(message = "是否同步减档不能为空")
// @ExcelAttribute(name = "是否同步减档",isNotEmpty = true, errorInfo = "是否同步减档不能为空",maxLength = 1) // @ExcelAttribute(name = "是否同步减档",isNotEmpty = true, errorInfo = "是否同步减档不能为空",maxLength = 1)
private String isLeaveEmployee; private String isLeaveEmployee;
@TableField(exist = false)
private String leaveId;
@TableField(exist = false)
private String oldId;
} }
...@@ -94,6 +94,18 @@ public class TEmpContractAlertController { ...@@ -94,6 +94,18 @@ public class TEmpContractAlertController {
setAuth(searchVo); setAuth(searchVo);
return R.ok(tEmpContractAlertService.getAutoContractCount(searchVo)); return R.ok(tEmpContractAlertService.getAutoContractCount(searchVo));
} }
/**
* 不分页查询
* @param searchVo 员工合同续签待办
* @return
*/
@Operation(summary = "给自动化用的-导出-不分页查询", description = "不分页查询")
@PostMapping("/noPageToAuto" )
public R<List<TEmpContractAlert>> noPageToAuto(@RequestBody ContractAlertSearchVo searchVo) {
setAuth(searchVo);
return R.ok(tEmpContractAlertService.noPageToAuto(searchVo));
}
/** /**
* 不分页查询 * 不分页查询
* @param searchVo 员工合同续签待办 * @param searchVo 员工合同续签待办
......
...@@ -27,6 +27,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; ...@@ -27,6 +27,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
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;
...@@ -291,6 +292,19 @@ public class TEmployeeContractInfoController { ...@@ -291,6 +292,19 @@ public class TEmployeeContractInfoController {
return tEmployeeContractInfoService.batchImport(file.getInputStream()); return tEmployeeContractInfoService.batchImport(file.getInputStream());
} }
/**
* @param paramVo
* @Description: 离职待办减少合同
* @Author: hgw
* @Date: 2025/11/22 17:04
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO
**/
@Inner
@PostMapping("/inner/leaveToReduceContract")
public BaseSearchListVO leaveToReduceContract(@RequestBody BaseSearchListVO paramVo){
return tEmployeeContractInfoService.leaveToReduceContract(paramVo);
}
/** /**
* 批量更新-合同 * 批量更新-合同
* *
......
...@@ -29,6 +29,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants; ...@@ -29,6 +29,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.redis.RedisDistributedLock; import com.yifu.cloud.plus.v1.yifu.common.core.redis.RedisDistributedLock;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO; 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.DaprUpmsProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties;
...@@ -609,16 +610,29 @@ public class TEmployeeInfoController { ...@@ -609,16 +610,29 @@ public class TEmployeeInfoController {
} }
/** /**
* @param paramVo * @Description: 查询人员的档案、项目档案、合同状态
* @Description: 查询是否存在派增部分失败与成功的的社保
* @Author: hgw * @Author: hgw
* @Date: 2025/11/20 17:15 * @Date: 2025/11/20 17:15
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO * @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO
**/ **/
@Operation(summary = "查询是否存在派增部分失败与成功的的社保、公积金", description = "查询是否存在派增部分失败与成功的的社保") @Operation(summary = "查询人员的档案、项目档案、合同状态", description = "查询人员的档案、项目档案、合同状态")
@Inner @Inner
@PostMapping("/inner/getEmpAndContractStatus") @PostMapping("/inner/getEmpAndContractStatus")
public BaseSearchVO getEmpAndContractStatus(@RequestBody BaseSearchVO paramVo) { public BaseSearchVO getEmpAndContractStatus(@RequestBody BaseSearchVO paramVo) {
return tEmployeeInfoService.getEmpAndContractStatus(paramVo); return tEmployeeInfoService.getEmpAndContractStatus(paramVo);
} }
/**
* @param paramVo
* @Description: 离职待办减少项目档案
* @Author: hgw
* @Date: 2025/11/22 17:04
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO
**/
@Inner
@PostMapping("/inner/leaveToReduceEmp")
public BaseSearchListVO leaveToReduceEmp(@RequestBody BaseSearchListVO paramVo){
return tEmployeeInfoService.leaveToReduceEmp(paramVo);
}
} }
...@@ -27,6 +27,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; ...@@ -27,6 +27,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
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;
...@@ -206,6 +207,19 @@ public class TEmployeeProjectController { ...@@ -206,6 +207,19 @@ public class TEmployeeProjectController {
return tEmployeeProjectService.batchDeleteEmpPro(file.getInputStream()); return tEmployeeProjectService.batchDeleteEmpPro(file.getInputStream());
} }
/**
* @param paramVo
* @Description: 离职待办减少项目档案
* @Author: hgw
* @Date: 2025/11/22 17:04
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO
**/
@Inner
@PostMapping("/inner/leaveToReduceProject")
public BaseSearchListVO leaveToReduceProject(@RequestBody BaseSearchListVO paramVo){
return tEmployeeProjectService.leaveToReduceProject(paramVo);
}
/** /**
* 批量新增项目档案信息 * 批量新增项目档案信息
* *
......
...@@ -114,11 +114,13 @@ public interface TEmployeeContractInfoMapper extends BaseMapper<TEmployeeContrac ...@@ -114,11 +114,13 @@ public interface TEmployeeContractInfoMapper extends BaseMapper<TEmployeeContrac
void updateContractChange(@Param("idCard")String empIdcard, @Param("deptNo")String deptNo, @Param("oldDeptNo")String odlDeptNo); void updateContractChange(@Param("idCard")String empIdcard, @Param("deptNo")String deptNo, @Param("oldDeptNo")String odlDeptNo);
String getContractByEmpIdCardAndDeptId(@Param("empIdCard") String empIdCard, @Param("deptId") String deptId); String getContractByEmpIdCardAndDeptId(@Param("empIdCard") String empIdCard, @Param("deptId") String deptId);
String getContractByEmpIdCardAndDeptNo(@Param("empIdCard") String empIdCard, @Param("deptId") String deptNo); String getContractByEmpIdCardAndDeptNo(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo);
String getMinDateByCardAndDeptId(@Param("vo") IdNameNoVo vo); String getMinDateByCardAndDeptId(@Param("vo") IdNameNoVo vo);
void updateContractEnd( @Param("tEmployeeContractInfo")TEmployeeContractInfo tEmployeeContractInfo); void updateContractEnd( @Param("tEmployeeContractInfo")TEmployeeContractInfo tEmployeeContractInfo);
List<TEmployeeContractInfo> getContractAlertDeptNosList(); List<TEmployeeContractInfo> getContractAlertDeptNosList();
List<EmployeeContractVO> getLeaveContractList(@Param("idList") List<String> idList);
} }
...@@ -46,6 +46,7 @@ public interface TEmpContractAlertService extends IService<TEmpContractAlert> { ...@@ -46,6 +46,7 @@ public interface TEmpContractAlertService extends IService<TEmpContractAlert> {
// 合同待续签数量查询 // 合同待续签数量查询
long getAutoContractCount(ContractAlertSearchVo searchVo); long getAutoContractCount(ContractAlertSearchVo searchVo);
List<TEmpContractAlert> noPageToAuto(ContractAlertSearchVo searchVo);
List<TEmpContractAlert> listDiy(ContractAlertSearchVo searchVo); List<TEmpContractAlert> listDiy(ContractAlertSearchVo searchVo);
void listExport(HttpServletResponse response, ContractAlertSearchVo searchVo); void listExport(HttpServletResponse response, ContractAlertSearchVo searchVo);
......
...@@ -24,6 +24,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo; ...@@ -24,6 +24,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*; import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -147,6 +148,9 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract ...@@ -147,6 +148,9 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract
**/ **/
R<List<ErrorMessage>> batchImport(InputStream inputStream); R<List<ErrorMessage>> batchImport(InputStream inputStream);
// 离职待办减少合同
BaseSearchListVO leaveToReduceContract(BaseSearchListVO paramVo);
void importContract(List<EmployeeContractVO> excelVOList, List<ErrorMessage> errorMessageList); void importContract(List<EmployeeContractVO> excelVOList, List<ErrorMessage> errorMessageList);
/** /**
......
...@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo; ...@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*; import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
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.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO; 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 org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -143,6 +144,9 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> { ...@@ -143,6 +144,9 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> {
**/ **/
R<String> restoreEmployee(String id, String projectIds); R<String> restoreEmployee(String id, String projectIds);
// 离职待办减少人员档案
BaseSearchListVO leaveToReduceEmp(BaseSearchListVO paramVo);
/** /**
* @Description: 批量减档 * @Description: 批量减档
* @Author: hgw * @Author: hgw
...@@ -300,4 +304,5 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> { ...@@ -300,4 +304,5 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> {
Set<String> getEmpOnlineMap(List<String> empIdCardList); Set<String> getEmpOnlineMap(List<String> empIdCardList);
BaseSearchVO getEmpAndContractStatus(BaseSearchVO paramVo); BaseSearchVO getEmpAndContractStatus(BaseSearchVO paramVo);
} }
...@@ -26,6 +26,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject; ...@@ -26,6 +26,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*; import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TInsuranceUnpurchasePersonCardVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TInsuranceUnpurchasePersonCardVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSelectViewVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSelectViewVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardUnprojectVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardUnprojectVo;
...@@ -112,6 +113,10 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> { ...@@ -112,6 +113,10 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
**/ **/
R<List<ErrorMessage>> batchDeleteEmpPro(InputStream inputStream); R<List<ErrorMessage>> batchDeleteEmpPro(InputStream inputStream);
// 离职待办减少项目档案
BaseSearchListVO leaveToReduceProject(BaseSearchListVO paramVo);
/** /**
* @param inputStream * @param inputStream
* @param isAdd * @param isAdd
......
...@@ -160,6 +160,35 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM ...@@ -160,6 +160,35 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
return baseMapper.selectPage(page,wrapper); return baseMapper.selectPage(page,wrapper);
} }
@Override
public List<TEmpContractAlert> noPageToAuto(ContractAlertSearchVo searchVo) {
LambdaQueryWrapper<TEmpContractAlert> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
wrapper.isNotNull(TEmpContractAlert::getId);
List<String> deptList = tAutoMainRelMapper.getAutoDeptNo();
if (deptList != null && !deptList.isEmpty()) {
wrapper.in(TEmpContractAlert::getProjectNo, deptList);
}
if (Common.isNotNull(idList)){
wrapper.in(TEmpContractAlert::getId,idList);
}
if (Common.isNotNull(searchVo.getContractEndStart())){
wrapper.ge(TEmpContractAlert::getContractEnd,searchVo.getContractEndStart());
}
if (Common.isNotNull(searchVo.getContractEndEnd())){
wrapper.le(TEmpContractAlert::getContractEnd,searchVo.getContractEndEnd());
}
if (Common.isNotNull(searchVo.getAuthSql())) {
if (Common.isNotNull(searchVo.getAuthSql()) && searchVo.getAuthSql().contains("a.")) {
searchVo.setAuthSql(searchVo.getAuthSql().replace("a.", " "));
}
wrapper.last(searchVo.getAuthSql());
}
return baseMapper.selectList(wrapper);
}
@Override @Override
public List<TEmpContractAlert> listDiy(ContractAlertSearchVo searchVo) { public List<TEmpContractAlert> listDiy(ContractAlertSearchVo searchVo) {
LambdaQueryWrapper<TEmpContractAlert> wrapper = buildQueryWrapper(searchVo); LambdaQueryWrapper<TEmpContractAlert> wrapper = buildQueryWrapper(searchVo);
......
...@@ -43,8 +43,12 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; ...@@ -43,8 +43,12 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseServiceParamListVO;
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.DaprSocialProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprSocialProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.CspDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
...@@ -116,6 +120,8 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -116,6 +120,8 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
private final TGzEmpInfoMapper tGzEmpInfoMapper; private final TGzEmpInfoMapper tGzEmpInfoMapper;
private final CspDaprUtils cspDaprUtil;
/** /**
* 员工合同信息表简单分页查询 * 员工合同信息表简单分页查询
* *
...@@ -1299,6 +1305,60 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -1299,6 +1305,60 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
} }
} }
@Override
public BaseSearchListVO leaveToReduceContract(BaseSearchListVO paramVo) {
List<String> idList = new ArrayList<>();
List<BaseSearchVO> listParam = paramVo.getListParam();
Map<String, BaseSearchVO> paramMap = new HashMap<>();
for (BaseSearchVO param : listParam) {
idList.add(param.getSearchKey());
paramMap.put(param.getSearchKey(), param);
}
// 合同ID,离职待办ID
List<EmployeeContractVO> excelVOList = baseMapper.getLeaveContractList(idList);
BaseSearchListVO baseSearchListVO = new BaseSearchListVO();
BaseSearchVO baseSearchVO;
if (excelVOList != null && !excelVOList.isEmpty()) {
Map<Integer, String> rowLeaveMap = new HashMap<>();
int i=0;
String leaveId;
String leaveDate;
String leaveReason;
for (EmployeeContractVO vo : excelVOList) {
i++;
vo.setRowIndex(i);
baseSearchVO = paramMap.get(vo.getContractId());
leaveId = null;
if (baseSearchVO != null) {
leaveId = baseSearchVO.getResultIdOne();
leaveDate = baseSearchVO.getResultIdTwo();
leaveReason = baseSearchVO.getResultIdThree();
vo.setLeaveDate(leaveDate);
vo.setReduceReason(leaveReason);
vo.setChangeContractAndEmployee(CommonConstants.ONE_STRING);
}
if (Common.isNotNull(leaveId)) {
rowLeaveMap.put(i, leaveId);
vo.setLeaveId(leaveId);
}
}
List<ErrorMessage> errorMessageList = new ArrayList<>();
// 调用原导入方法
this.importContract(excelVOList, errorMessageList);
// 组装对应关系,key是原id,name是新ID
if (!errorMessageList.isEmpty()) {
for (ErrorMessage message : errorMessageList) {
if (Common.isNotNull(message.getLineNum())) {
message.setKey(rowLeaveMap.get(message.getLineNum()));
}
}
}
baseSearchListVO.setErrorMessageList(errorMessageList);
}
return baseSearchListVO;
}
/** /**
* @Author hgw * @Author hgw
* @Description 批量导入 * @Description 批量导入
...@@ -1484,7 +1544,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -1484,7 +1544,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
// 核心保存 // 核心保存
R<List<ErrorMessage>> info = this.setBaseInfo(insert, project); R<List<ErrorMessage>> info = this.setBaseInfo(insert, project);
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), info.getMsg())); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), info.getMsg(), CommonConstants.ZERO_STRING, insert.getId()));
} }
} else { } else {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), errorInfo.toString())); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), errorInfo.toString()));
...@@ -1764,6 +1824,25 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -1764,6 +1824,25 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
return baseMapper.noPageCountDiy(searchVo); return baseMapper.noPageCountDiy(searchVo);
} }
// 审核或办理,更新离职待办
// isSuccess 0:失败;1:成功
private void sendLeave(String id, String doStatus, String isSuccess, String failRemark, YifuUser user) {
BaseServiceParamListVO updateVo = new BaseServiceParamListVO();
List<String> idList = new ArrayList<>();
idList.add(id);
updateVo.setListParam(idList);
updateVo.setDoType(CommonConstants.FOUR_STRING);
updateVo.setDoStatus(doStatus);
updateVo.setIsSuccess(isSuccess);
if (Common.isNotNull(isSuccess) && CommonConstants.ZERO_STRING.equals(isSuccess)) {
updateVo.setRemark(failRemark);
if (user != null && Common.isNotNull(user.getNickname())) {
updateVo.setUserName(user.getNickname());
}
}
cspDaprUtil.reduceHandleToLeave(updateVo);
}
/** /**
* @Author fxj * @Author fxj
* @Description 批量审核合同 * @Description 批量审核合同
...@@ -1792,6 +1871,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -1792,6 +1871,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
Map<String,String> dicObj = (Map<String, String>) RedisUtil.redis.opsForValue().get( Map<String,String> dicObj = (Map<String, String>) RedisUtil.redis.opsForValue().get(
CacheConstants.DICT_DETAILS + CommonConstants.COLON_STRING + "personnel_type"); CacheConstants.DICT_DETAILS + CommonConstants.COLON_STRING + "personnel_type");
String auditRemark = contractAuditVo.getAuditRemark();
for (TEmployeeContractInfo contract : contractInfos) { for (TEmployeeContractInfo contract : contractInfos) {
i++; i++;
if (contract.getAuditStatus() != CommonConstants.ONE_INT) { if (contract.getAuditStatus() != CommonConstants.ONE_INT) {
...@@ -2059,6 +2139,10 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -2059,6 +2139,10 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
//审核通过瓜子合同状态更新成合同审核通过 //审核通过瓜子合同状态更新成合同审核通过
updateGzOfferStatus(contract,CommonConstants.THIRTEEN_STRING,CommonConstants.EIGHT_STRING,user.getId(),user.getNickname()); updateGzOfferStatus(contract,CommonConstants.THIRTEEN_STRING,CommonConstants.EIGHT_STRING,user.getId(),user.getNickname());
} }
if (EmployeeConstants.SITUATION_SEVEN.equals(contract.getSituation())) {
this.sendLeave(contract.getId(), CommonConstants.EIGHT_STRING, CommonConstants.ONE_STRING, auditRemark, user);
}
} }
if (tEmployeeContractInfo.getAuditStatus() == CommonConstants.dingleDigitIntArray[3]) { if (tEmployeeContractInfo.getAuditStatus() == CommonConstants.dingleDigitIntArray[3]) {
//更新合同状态为3线下签审核不通过 //更新合同状态为3线下签审核不通过
...@@ -2070,6 +2154,9 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -2070,6 +2154,9 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
contractPre.setProcessStatus(CommonConstants.THREE_STRING); contractPre.setProcessStatus(CommonConstants.THREE_STRING);
contractPreMapper.updateById(contractPre); contractPreMapper.updateById(contractPre);
} }
if (EmployeeConstants.SITUATION_SEVEN.equals(contract.getSituation())) {
this.sendLeave(contract.getId(), CommonConstants.TEN_STRING, CommonConstants.ZERO_STRING, auditRemark, user);
}
} }
// 不是待提交,记录审核记录 // 不是待提交,记录审核记录
this.setAuditInfo(tEmployeeContractInfo); this.setAuditInfo(tEmployeeContractInfo);
......
...@@ -44,10 +44,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.vo.*; ...@@ -44,10 +44,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.*; import com.yifu.cloud.plus.v1.yifu.common.core.constant.*;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes; import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO; import com.yifu.cloud.plus.v1.yifu.common.core.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.ExcelColumnVo;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.ExcelSheetVo;
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.DaprSalaryProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprSalaryProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties;
...@@ -71,6 +68,8 @@ import org.springframework.cache.Cache; ...@@ -71,6 +68,8 @@ import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
import org.springframework.cache.support.SimpleValueWrapper; import org.springframework.cache.support.SimpleValueWrapper;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -674,10 +673,70 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -674,10 +673,70 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
} }
} }
private YifuUser getNewYifuUser(String userId, String userName) {
Set<String> dbAuthsSet = new HashSet<>();
Collection<? extends GrantedAuthority> authorities = AuthorityUtils
.createAuthorityList(dbAuthsSet.toArray(new String[0]));
return new YifuUser(userId, 1L, "", userName,
userName, "0", SecurityConstants.BCRYPT + "123456",
"12345678911", true, true, true,
true,
"1", authorities, "1",
null, null,
null, null);
}
// 离职待办减少项目档案
@Override
public BaseSearchListVO leaveToReduceEmp(BaseSearchListVO paramVo) {
List<BaseSearchVO> listParam = paramVo.getListParam();
YifuUser newUser = getNewYifuUser(paramVo.getUserId(), paramVo.getUserName());
// 合同ID,离职待办ID
BaseSearchListVO baseSearchListVO = new BaseSearchListVO();
if (listParam != null && !listParam.isEmpty()) {
List<EmployeeLeaveVO> cachedDataList = new ArrayList<>();
EmployeeLeaveVO vo;
Map<Integer, String> rowLeaveMap = new HashMap<>();
int i=1;// 内部是i+2
for (BaseSearchVO param : listParam) {
i++;
vo = new EmployeeLeaveVO();
vo.setRowIndex(i);
vo.setEmpName(param.getEmpName());
vo.setEmpIdcard(param.getEmpIdCard());
vo.setLeaveReason(param.getResultIdThree());
cachedDataList.add(vo);
rowLeaveMap.put(i, param.getResultIdOne());
}
List<ErrorMessageVO> errorMessageList = new ArrayList<>();
List<com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage> errorMessageReturnList = new ArrayList<>();
// 调用原导入方法
this.batchMinusEmployeeCore(cachedDataList, errorMessageList, newUser);
// 组装对应关系,key是原id,name是新ID
if (!errorMessageList.isEmpty()) {
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage errorMessage;
for (ErrorMessageVO message : errorMessageList) {
if (Common.isNotNull(message.getLineNum())) {
if (message.getErrorSet() !=null && !message.getErrorSet().isEmpty()) {
errorMessage = new com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage(
message.getLineNum(), String.join(CommonConstants.COMMA_STRING, message.getErrorSet())
, null, null, rowLeaveMap.get(message.getLineNum()));
errorMessageReturnList.add(errorMessage);
}
}
}
}
baseSearchListVO.setErrorMessageList(errorMessageReturnList);
}
return baseSearchListVO;
}
@Override @Override
public R<List<ErrorMessageVO>> batchMinusEmployee(InputStream inputStream) { public R<List<ErrorMessageVO>> batchMinusEmployee(InputStream inputStream) {
List<ErrorMessageVO> errorMessageList = new ArrayList<>(); List<ErrorMessageVO> errorMessageList = new ArrayList<>();
ExcelUtil<EmployeeLeaveVO> util1 = new ExcelUtil<>(EmployeeLeaveVO.class); ExcelUtil<EmployeeLeaveVO> util1 = new ExcelUtil<>(EmployeeLeaveVO.class);
YifuUser user = SecurityUtils.getUser();
// 写法2: // 写法2:
// 匿名内部类 不用额外写一个DemoDataListener // 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
...@@ -726,7 +785,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -726,7 +785,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
private void saveData() { private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size()); log.info("{}条数据,开始存储数据库!", cachedDataList.size());
if (!cachedDataList.isEmpty()) { if (!cachedDataList.isEmpty()) {
batchMinusEmployeeCore(cachedDataList, errorMessageList); batchMinusEmployeeCore(cachedDataList, errorMessageList, user);
} }
log.info("存储数据库成功!"); log.info("存储数据库成功!");
} }
...@@ -751,11 +810,10 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -751,11 +810,10 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.util.List < com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorMessageVO>> * @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.util.List < com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorMessageVO>>
**/ **/
public R<List<ErrorMessageVO>> batchMinusEmployeeCore(List<EmployeeLeaveVO> excelVOList public R<List<ErrorMessageVO>> batchMinusEmployeeCore(List<EmployeeLeaveVO> excelVOList
, List<ErrorMessageVO> errorMessageList) { , List<ErrorMessageVO> errorMessageList, YifuUser user) {
if (excelVOList == null || excelVOList.isEmpty()) { if (excelVOList == null || excelVOList.isEmpty()) {
return R.failed(CommonConstants.DATA_CAN_NOT_EMPTY); return R.failed(CommonConstants.DATA_CAN_NOT_EMPTY);
} }
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) { if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN); return R.failed(CommonConstants.PLEASE_LOG_IN);
} }
...@@ -4709,7 +4767,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -4709,7 +4767,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
String contractId = contractServicer.getContractByEmpIdCardAndDeptNo(paramVo.getEmpIdCard(), paramVo.getDeptNo()); String contractId = contractServicer.getContractByEmpIdCardAndDeptNo(paramVo.getEmpIdCard(), paramVo.getDeptNo());
if (Common.isNotNull(contractId)) { if (Common.isNotNull(contractId)) {
returnVo.setResultIdThree(empId); returnVo.setResultIdThree(contractId);
returnVo.setResultIdThreeStatus("可用"); returnVo.setResultIdThreeStatus("可用");
} }
} }
......
...@@ -46,6 +46,8 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.EmpBusinessConstants; ...@@ -46,6 +46,8 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.EmpBusinessConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes; import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
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.DaprCspProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprCspProperties;
...@@ -61,6 +63,8 @@ import lombok.extern.log4j.Log4j2; ...@@ -61,6 +63,8 @@ import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -603,8 +607,64 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap ...@@ -603,8 +607,64 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR); return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
} }
private YifuUser getNewYifuUser(String userId, String userName) {
Set<String> dbAuthsSet = new HashSet<>();
Collection<? extends GrantedAuthority> authorities = AuthorityUtils
.createAuthorityList(dbAuthsSet.toArray(new String[0]));
return new YifuUser(userId, 1L, "", userName,
userName, "0", SecurityConstants.BCRYPT + "123456",
"12345678911", true, true, true,
true,
"1", authorities, "1",
null, null,
null, null);
}
// 离职待办减少项目档案
@Override
public BaseSearchListVO leaveToReduceProject(BaseSearchListVO paramVo) {
List<BaseSearchVO> listParam = paramVo.getListParam();
YifuUser newUser = getNewYifuUser(paramVo.getUserId(), paramVo.getUserName());
// 合同ID,离职待办ID
BaseSearchListVO baseSearchListVO = new BaseSearchListVO();
if (listParam != null && !listParam.isEmpty()) {
List<EmployeeXProjectVO> cachedDataList = new ArrayList<>();
EmployeeXProjectVO vo;
Map<Integer, String> rowLeaveMap = new HashMap<>();
int i=0;
for (BaseSearchVO param : listParam) {
i++;
vo = new EmployeeXProjectVO();
vo.setRowIndex(i);
vo.setEmpName(param.getEmpName());
vo.setEmpIdcard(param.getEmpIdCard());
vo.setDeptNo(param.getDeptNo());
vo.setLeaveReason(param.getResultIdThree());
vo.setLeaveId(param.getResultIdOne());
vo.setOldId(param.getSearchKey());
cachedDataList.add(vo);
rowLeaveMap.put(i, param.getResultIdOne());
}
List<ErrorMessage> errorMessageList = new ArrayList<>();
// 调用原导入方法
this.deleteListAdd(cachedDataList, errorMessageList, newUser);
// 组装对应关系,key是原id,name是新ID
if (!errorMessageList.isEmpty()) {
for (ErrorMessage message : errorMessageList) {
if (Common.isNotNull(message.getLineNum())) {
message.setKey(rowLeaveMap.get(message.getLineNum()));
}
}
}
baseSearchListVO.setErrorMessageList(errorMessageList);
}
return baseSearchListVO;
}
@Override @Override
public R<List<ErrorMessage>> batchDeleteEmpPro(InputStream inputStream) { public R<List<ErrorMessage>> batchDeleteEmpPro(InputStream inputStream) {
YifuUser user = SecurityUtils.getUser();
List<ErrorMessage> errorMessageList = new ArrayList<>(); List<ErrorMessage> errorMessageList = new ArrayList<>();
ExcelUtil<EmployeeXProjectVO> util1 = new ExcelUtil<>(EmployeeXProjectVO.class); ExcelUtil<EmployeeXProjectVO> util1 = new ExcelUtil<>(EmployeeXProjectVO.class);
// 写法2: // 写法2:
...@@ -650,7 +710,7 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap ...@@ -650,7 +710,7 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
*/ */
private void saveData() { private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size()); log.info("{}条数据,开始存储数据库!", cachedDataList.size());
deleteListAdd(cachedDataList, errorMessageList); deleteListAdd(cachedDataList, errorMessageList, user);
log.info("存储数据库成功!"); log.info("存储数据库成功!");
} }
}).sheet().doRead(); }).sheet().doRead();
...@@ -661,7 +721,8 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap ...@@ -661,7 +721,8 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
return R.ok(errorMessageList); return R.ok(errorMessageList);
} }
public R<List<ErrorMessage>> deleteListAdd(List<EmployeeXProjectVO> excelVOList, List<ErrorMessage> errorMessageList) { public R<List<ErrorMessage>> deleteListAdd(List<EmployeeXProjectVO> excelVOList, List<ErrorMessage> errorMessageList
, YifuUser user) {
//项目档案更新list //项目档案更新list
List<TEmployeeProject> updProjectList = new ArrayList<>(); List<TEmployeeProject> updProjectList = new ArrayList<>();
...@@ -683,7 +744,6 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap ...@@ -683,7 +744,6 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
long contractCount; long contractCount;
StringBuilder errorTemp; StringBuilder errorTemp;
StringBuilder errorMessage; StringBuilder errorMessage;
YifuUser user = SecurityUtils.getUser();
// 执行数据插入操作 组装 PostDto // 执行数据插入操作 组装 PostDto
for (EmployeeXProjectVO excel : excelVOList) { for (EmployeeXProjectVO excel : excelVOList) {
//根据身份证和项目编码获取项目档案 //根据身份证和项目编码获取项目档案
......
...@@ -896,4 +896,39 @@ ...@@ -896,4 +896,39 @@
a.DELETE_FLAG = 0 a.DELETE_FLAG = 0
</where> </where>
</select> </select>
<!--tEmployeeContractPre合同派单查询-->
<select id="getLeaveContractList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractVO">
SELECT
a.EMP_NAME empName,
a.EMP_IDCARD empIdcard,
a.dept_no deptNo,
'终止' situation,
a.contract_type contractName,
a.CONTRACT_SUB_NAME contractSubName,
null reason,
a.contract_Party contractParty,
if(a.CONTRACT_TERM = '' or a.CONTRACT_TERM is null,'2',a.CONTRACT_TERM) contractType,
a.CONTRACT_START as contractStart,
if(a.contract_type = '实习协议',a.CONTRACT_END,if(a.CONTRACT_TERM ='1' ,a.CONTRACT_END,null)) as contractEnd,
a.post,
if(a.working_hours = '' or a.working_hours is null,'4',a.working_hours) as workingHours,
null contractNo,
null fileCabinetNo,
null leaveDate,
null reduceReason,
null remark,
a.sign_type signType,
null changeContractAndEmployee,
if(a.TRY_PERIOD = '' or a.TRY_PERIOD is null,'无',a.TRY_PERIOD) as tryPeriod
,a.id contractId
FROM t_employee_contract_info a
<where> a.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</where>
</select>
</mapper> </mapper>
...@@ -1533,7 +1533,7 @@ ...@@ -1533,7 +1533,7 @@
select select
a.id a.id
from t_employee_info a from t_employee_info a
where a.DELETE_FLAG = '0' and a.file_Status = 0 and a.EMP_IDCARD = {empIdCard} where a.DELETE_FLAG = '0' and a.file_Status = 0 and a.EMP_IDCARD = #{empIdCard}
limit 1 limit 1
</select> </select>
......
...@@ -27,6 +27,7 @@ public class ErrorMessage<T> implements Serializable { ...@@ -27,6 +27,7 @@ public class ErrorMessage<T> implements Serializable {
* @Author: fxj * @Author: fxj
**/ **/
private String name; private String name;
private String key;
/** /**
* 错误信息 * 错误信息
*/ */
...@@ -36,6 +37,10 @@ public class ErrorMessage<T> implements Serializable { ...@@ -36,6 +37,10 @@ public class ErrorMessage<T> implements Serializable {
*/ */
private T data; private T data;
// 添加默认构造函数
public ErrorMessage() {
}
public ErrorMessage(Integer lineNum, String message) { public ErrorMessage(Integer lineNum, String message) {
this.lineNum = lineNum; this.lineNum = lineNum;
this.color = "red"; this.color = "red";
...@@ -67,6 +72,14 @@ public class ErrorMessage<T> implements Serializable { ...@@ -67,6 +72,14 @@ public class ErrorMessage<T> implements Serializable {
this.name= name; this.name= name;
} }
public ErrorMessage(Integer lineNum, String message, String color, String name, String key) {
this.lineNum = lineNum;
this.color = color;
this.message = message;
this.name= name;
this.key= key;
}
public ErrorMessage(Integer lineNum, Set<String> errors) { public ErrorMessage(Integer lineNum, Set<String> errors) {
this.lineNum = lineNum; this.lineNum = lineNum;
this.errors = errors; this.errors = errors;
......
...@@ -36,6 +36,11 @@ public class BaseSearchListVO implements Serializable { ...@@ -36,6 +36,11 @@ public class BaseSearchListVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String userId;
private String userName;
// 商险使用
private List<String> listStringParam = new ArrayList<>();
// 其他查询参数 // 其他查询参数
private List<BaseSearchVO> listParam = new ArrayList<>(); private List<BaseSearchVO> listParam = new ArrayList<>();
......
...@@ -36,11 +36,14 @@ public class BaseSearchVO implements Serializable { ...@@ -36,11 +36,14 @@ public class BaseSearchVO implements Serializable {
// 其他查询参数 // 其他查询参数
private String searchKey; private String searchKey;
private String empName;
// 身份证 // 身份证
private String empIdCard; private String empIdCard;
// 项目编码 // 项目编码
private String deptNo; private String deptNo;
// 操作人名称
private YifuUser newUser;
// 返回结果1(社保ID)(商险ID)(人员档案ID) // 返回结果1(社保ID)(商险ID)(人员档案ID)
private String resultIdOne; private String resultIdOne;
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.common.core.vo;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Description: 通用跨服务调用Vo
* @Author: hgw
* @Date: 2025-11-24 10:35:06
* @return:
**/
@Getter
@Setter
public class BaseServiceParamListVO implements Serializable {
private static final long serialVersionUID = 1L;
// 跨服务调用,多消息专用
private List<String> listParam = new ArrayList<>();
// 需处理项:1社保2公积金3商险4合同5项目档案6人员档案
private String doType;
// 结果 0失败
// @Schema(description = "社保减员:0空1无需处理2待派单3发起失败4待审核5待办理6部分办理失败8办理成功9办理失败10审核不通过")
// @Schema(description = "公积金减员:0空1无需处理2待派单3发起失败4待审核5待办理8办理成功9办理失败10审核不通过")
// @Schema(description = "商险退保:0空1无需处理2待派单3发起失败4待减员5待办理6减员中8减员成功9减员退回")
// @Schema(description = "合同终止:0空1无需处理2待发起3发起失败4待审核8审核通过10审核不通过")
// @Schema(description = "减项:0空1无需处理2待减项8减项成功9减项失败")
// @Schema(description = "减档:0空1无需处理2待减档8减档成功9减档失败")
private String doStatus;
// 0:失败;1:成功
private String isSuccess;
// 备注
private String remark;
// 操作人
private String userName;
}
...@@ -12,6 +12,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; ...@@ -12,6 +12,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
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.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO; 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.DaprArchivesProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprArchivesProperties;
...@@ -682,4 +683,70 @@ public class ArchivesDaprUtil { ...@@ -682,4 +683,70 @@ public class ArchivesDaprUtil {
} }
return res; return res;
} }
/**
* @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 查询人员的合同状态失败
* @Author: hgw
* @Date: 2025/11/20 15:50
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO>
**/
public R<BaseSearchVO> getEmpAndContractStatusByClose(BaseSearchVO paramVo) {
R<BaseSearchVO> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId()
,"/temployeeinfo/inner/getEmpAndContractStatusByClose", paramVo, BaseSearchVO.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("查询人员的合同状态失败!");
}
return res;
}
/**
* @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 离职待办调用的批量派减合同
* @Author: hgw
* @Date: 2025-11-21 14:54:37
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO>
**/
public R<BaseSearchListVO> leaveToReduceContract(BaseSearchListVO paramVo) {
R<BaseSearchListVO> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId()
,"/temployeecontractinfo/inner/leaveToReduceContract", paramVo, BaseSearchListVO.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("离职待办调用的批量派减合同失败!");
}
return res;
}
/**
* @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 离职待办调用的批量派减合同
* @Author: hgw
* @Date: 2025-11-21 14:54:37
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO>
**/
public R<BaseSearchListVO> leaveToReduceProject(BaseSearchListVO paramVo) {
R<BaseSearchListVO> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId()
,"/temployeeproject/inner/leaveToReduceProject", paramVo, BaseSearchListVO.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("离职待办调用的批量派减项目档案失败!");
}
return res;
}
/**
* @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 离职待办调用的批量派减合同
* @Author: hgw
* @Date: 2025-11-21 14:54:37
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO>
**/
public R<BaseSearchListVO> leaveToReduceEmp(BaseSearchListVO paramVo) {
R<BaseSearchListVO> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId()
,"/temployeeinfo/inner/leaveToReduceEmp", paramVo, BaseSearchListVO.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("离职待办调用的批量派减人员档案失败!");
}
return res;
}
} }
...@@ -5,6 +5,7 @@ import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationCustomerUserUpdateVo; ...@@ -5,6 +5,7 @@ import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationCustomerUserUpdateVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationUpdateVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationUpdateVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseServiceParamListVO;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprCspProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprCspProperties;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -45,4 +46,16 @@ public class CspDaprUtils { ...@@ -45,4 +46,16 @@ public class CspDaprUtils {
public R<Boolean> updateRegistCustomerUserInfo(EmployeeRegistrationCustomerUserUpdateVo updateVo) { public R<Boolean> updateRegistCustomerUserInfo(EmployeeRegistrationCustomerUserUpdateVo updateVo) {
return HttpDaprUtil.invokeMethodPost(daprCspProperties.getAppUrl(),daprCspProperties.getAppId(),"/employeeregistration/inner/updateRegistCustomerUserInfo", JSON.toJSONString(updateVo), Boolean.class, SecurityConstants.FROM_IN); return HttpDaprUtil.invokeMethodPost(daprCspProperties.getAppUrl(),daprCspProperties.getAppId(),"/employeeregistration/inner/updateRegistCustomerUserInfo", JSON.toJSONString(updateVo), Boolean.class, SecurityConstants.FROM_IN);
} }
/**
* @Description: 社保、公积金、商险、合同办理成功或失败,更新离职待办
* @Author: hgw
* @Date: 2025/11/24 16:50
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
public R<String> reduceHandleToLeave(BaseServiceParamListVO vo) {
return HttpDaprUtil.invokeMethodPost(daprCspProperties.getAppUrl(),daprCspProperties.getAppId()
,"/employeeregistrationleave/inner/reduceHandleToLeave"
, vo, String.class, SecurityConstants.FROM_IN);
}
} }
...@@ -12,10 +12,13 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprInsurancesProperties; ...@@ -12,10 +12,13 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprInsurancesProperties;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo; import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsuranceSelectVo; import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsuranceSelectVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.ChangeDeptVo; import com.yifu.cloud.plus.v1.yifu.social.vo.ChangeDeptVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchReduceVo;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import java.util.List;
/** /**
* @Author hgw * @Author hgw
* @Date 2022-11-17 10:16:59 * @Date 2022-11-17 10:16:59
...@@ -110,6 +113,22 @@ public class InsuranceDaprUtil { ...@@ -110,6 +113,22 @@ public class InsuranceDaprUtil {
return res; return res;
} }
/**
* @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 查询人员的已减完成的商险(返回值,则表示有未减完成的商险
* @Author: hgw
* @Date: 2025/11/20 15:50
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO>
**/
public R<BaseSearchVO> getInsurancesStatusByClose(BaseSearchVO paramVo) {
R<BaseSearchVO> res = HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(),daprInsurancesProperties.getAppId()
,"/insuranceDetail/inner/getInsurancesStatusByClose", paramVo, BaseSearchVO.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("查询人员的已减完成的商险!");
}
return res;
}
/** /**
* @param paramVo 查询参数,主要是身份证与项目编码 * @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 离职待办确认后,更新为商险续签待办为已离职 * @Description: 离职待办确认后,更新为商险续签待办为已离职
...@@ -134,4 +153,20 @@ public class InsuranceDaprUtil { ...@@ -134,4 +153,20 @@ public class InsuranceDaprUtil {
,"/tinsuranceprerenewdetail/inner/updateInsurancePreRenewToIsLeaveList", paramVo, String.class, SecurityConstants.FROM_IN); ,"/tinsuranceprerenewdetail/inner/updateInsurancePreRenewToIsLeaveList", paramVo, String.class, SecurityConstants.FROM_IN);
} }
/**
* @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 离职待办调用的批量派减商险
* @Author: hgw
* @Date: 2025-11-21 14:54:37
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO>
**/
public R<BaseSearchListVO> leaveToReduceInsurance(BaseSearchListVO paramVo) {
R<BaseSearchListVO> res = HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(),daprInsurancesProperties.getAppId()
,"/insuranceDetail/inner/leaveToReduceInsurance", paramVo, BaseSearchListVO.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("离职待办调用的批量派减商险失败!");
}
return res;
}
} }
...@@ -17,10 +17,7 @@ import com.yifu.cloud.plus.v1.yifu.insurances.vo.HolidayListVO; ...@@ -17,10 +17,7 @@ import com.yifu.cloud.plus.v1.yifu.insurances.vo.HolidayListVO;
import com.yifu.cloud.plus.v1.yifu.salary.vo.*; import com.yifu.cloud.plus.v1.yifu.salary.vo.*;
import com.yifu.cloud.plus.v1.yifu.social.entity.TIncomeDetail; import com.yifu.cloud.plus.v1.yifu.social.entity.TIncomeDetail;
import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.SysBaseSetInfoVo; import com.yifu.cloud.plus.v1.yifu.social.vo.*;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchReduceVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TEmployeeInsuranceWorkDayVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TIncomeDetailReturnVo;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
...@@ -403,6 +400,22 @@ public class SocialDaprUtils { ...@@ -403,6 +400,22 @@ public class SocialDaprUtils {
return res; return res;
} }
/**
* @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 查询人员的社保公积金状态
* @Author: hgw
* @Date: 2025/11/20 15:50
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO>
**/
public R<BaseSearchVO> getSocialAndFundStatusByClose(BaseSearchVO paramVo) {
R<BaseSearchVO> res = HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId()
,"/tsocialfundinfo/inner/getSocialAndFundStatusByClose", paramVo, BaseSearchVO.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("查询人员的社保公积金状态失败!");
}
return res;
}
/** /**
* @param paramVo 查询参数,主要是身份证与项目编码 * @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 离职待办调用的批量派减社保、公积金 * @Description: 离职待办调用的批量派减社保、公积金
...@@ -410,11 +423,11 @@ public class SocialDaprUtils { ...@@ -410,11 +423,11 @@ public class SocialDaprUtils {
* @Date: 2025-11-21 14:54:37 * @Date: 2025-11-21 14:54:37
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO> * @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO>
**/ **/
public R<BaseSearchListVO> leaveToReduceSocialAndFund(List<TDispatchReduceVo> paramVo) { public R<BaseSearchListVO> leaveToReduceSocialAndFund(TDispatchReduceListVo paramVo) {
R<BaseSearchListVO> res = HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId() R<BaseSearchListVO> res = HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId()
,"/tsocialfundinfo/inner/leaveToReduceSocialAndFund", JSON.toJSONString(paramVo), BaseSearchListVO.class, SecurityConstants.FROM_IN); ,"/tdispatchinfo/inner/leaveToReduceSocialAndFund", paramVo, BaseSearchListVO.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){ if (Common.isEmpty(res)){
return R.failed("查询人员的社保公积金状态失败!"); return R.failed("离职待办调用的批量派减社保、公积金失败!");
} }
return res; return res;
} }
......
...@@ -35,6 +35,9 @@ public class RegistConstants { ...@@ -35,6 +35,9 @@ public class RegistConstants {
// //
public static final String BASE_REASON_TYPE = "1"; public static final String BASE_REASON_TYPE = "1";
public static final String BASE_REASON_TYPE_NAME = "个人辞职";
public static final String BASE_LINK_PORT = "人员离职"; public static final String BASE_LINK_PORT = "人员离职";
public static final String[] DO_TYPE_ARR = {"-","社保","公积金","商险","合同","项目档案","人员档案"};
public static final String[] DO_TYPE_REDUCE_ARR = {"-","社保派减成功;","公积金派减成功;","商险减员成功;","合同终止成功;","减项成功;","减档成功;"};
} }
...@@ -30,6 +30,7 @@ import lombok.EqualsAndHashCode; ...@@ -30,6 +30,7 @@ import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date;
/** /**
* 自动化离职待办 * 自动化离职待办
...@@ -66,22 +67,6 @@ public class EmployeeRegistrationLeave extends BaseEntity { ...@@ -66,22 +67,6 @@ public class EmployeeRegistrationLeave extends BaseEntity {
@ExcelProperty("执行结果0空1未执行2执行中3部分成功4全部失败5全部成功6无需处理") @ExcelProperty("执行结果0空1未执行2执行中3部分成功4全部失败5全部成功6无需处理")
@Schema(description = "执行结果0空1未执行2执行中3部分成功4全部失败5全部成功6无需处理") @Schema(description = "执行结果0空1未执行2执行中3部分成功4全部失败5全部成功6无需处理")
private String doStatus; private String doStatus;
/**
* 执行详情
*/
@ExcelAttribute(name = "执行详情", maxLength = 100)
@Length(max = 100, message = "执行详情不能超过100个字符")
@ExcelProperty("执行详情")
@Schema(description = "执行详情")
private String doDetail;
/**
* 原因
*/
@ExcelAttribute(name = "原因", maxLength = 100)
@Length(max = 100, message = "原因不能超过100个字符")
@ExcelProperty("原因")
@Schema(description = "原因")
private String doRemark;
/** /**
* 合同终止:0空1无需处理2待发起3发起失败4待审核8审核通过10审核不通过 * 合同终止:0空1无需处理2待发起3发起失败4待审核8审核通过10审核不通过
...@@ -155,14 +140,6 @@ public class EmployeeRegistrationLeave extends BaseEntity { ...@@ -155,14 +140,6 @@ public class EmployeeRegistrationLeave extends BaseEntity {
@ExcelProperty("停缴社保日期") @ExcelProperty("停缴社保日期")
@Schema(description = "停缴社保日期") @Schema(description = "停缴社保日期")
private String socialReduceDate; private String socialReduceDate;
/**
* 减少原因(社保)ID默认为1
*/
@ExcelAttribute(name = "减少原因(社保)", maxLength = 50)
@Length(max = 50, message = "减少原因(社保)不能超过50个字符")
@ExcelProperty("减少原因(社保)")
@Schema(description = "减少原因(社保)")
private String socialReasonType;
/** /**
* 社保派减备注 * 社保派减备注
*/ */
...@@ -194,14 +171,6 @@ public class EmployeeRegistrationLeave extends BaseEntity { ...@@ -194,14 +171,6 @@ public class EmployeeRegistrationLeave extends BaseEntity {
@ExcelProperty("停缴公积金日期") @ExcelProperty("停缴公积金日期")
@Schema(description = "停缴公积金日期") @Schema(description = "停缴公积金日期")
private String fundReduceDate; private String fundReduceDate;
/**
* 减少原因(公积金)
*/
@ExcelAttribute(name = "减少原因(公积金)", maxLength = 50)
@Length(max = 50, message = "减少原因(公积金)不能超过50个字符")
@ExcelProperty("减少原因(公积金)")
@Schema(description = "减少原因(公积金)")
private String fundReasonType;
/** /**
* 公积金派减备注 * 公积金派减备注
*/ */
...@@ -525,15 +494,22 @@ public class EmployeeRegistrationLeave extends BaseEntity { ...@@ -525,15 +494,22 @@ public class EmployeeRegistrationLeave extends BaseEntity {
private String closeRemarkSocial; private String closeRemarkSocial;
@Schema(description = "无需处理原因(公积金)") @Schema(description = "无需处理原因(公积金)")
private String closeRemarkFund; private String closeRemarkFund;
@Schema(description = "无需处理原因(商险)")
private String closeRemarkInsurance;
@Schema(description = "无需处理原因(合同)") @Schema(description = "无需处理原因(合同)")
private String closeRemarkContract; private String closeRemarkContract;
@Schema(description = "无需处理原因(档案)")
private String closeRemarkEmp;
@Schema(description = "无需处理原因(项目档案)") @Schema(description = "无需处理原因(项目档案)")
private String closeRemarkEmpProject; private String closeRemarkEmpProject;
// 目前只有这些无需处理:
@Schema(description = "无需处理原因(商险)")
private String closeRemarkInsurance;
@Schema(description = "无需处理原因(档案)")
private String closeRemarkEmp;
@Schema(description = "减少原因(名称)")
private String leaveReasonName;
@Schema(description = "减少原因(ID)")
private String leaveReasonId;
@TableField(exist = false) @TableField(exist = false)
@ExcelProperty(value = "项目编码") @ExcelProperty(value = "项目编码")
private String deptNo; private String deptNo;
...@@ -549,4 +525,12 @@ public class EmployeeRegistrationLeave extends BaseEntity { ...@@ -549,4 +525,12 @@ public class EmployeeRegistrationLeave extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
@Schema(description = "身份证号") @Schema(description = "身份证号")
private String empIdcard; private String empIdcard;
@TableField(exist = false)
@Schema(description = "离职日期")
private String joinLeaveDate;
@TableField(exist = false)
@Schema(description = "最新的客服名称")
private String customerUsernameNew;
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.csp.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/**
* 离职待办商险明细表
*
* @author hgw
* @date 2025-11-23 10:19:13
*/
@Data
@TableName("employee_registration_leave_insurance")
@Schema(description = "离职待办商险明细表")
public class EmployeeRegistrationLeaveInsurance {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键ID")
@Schema(description = "主键ID")
private String id;
/**
* 离职待办主表ID
*/
@ExcelAttribute(name = "离职待办主表ID", isNotEmpty = true, errorInfo = "离职待办主表ID不能为空", maxLength = 32)
@NotBlank(message = "离职待办主表ID不能为空")
@Length(max = 32, message = "离职待办主表ID不能超过32个字符")
@ExcelProperty("离职待办主表ID")
@Schema(description = "离职待办主表ID")
private String leaveId;
/**
* 商险ID
*/
@ExcelAttribute(name = "商险ID", maxLength = 32)
@Length(max = 32, message = "商险ID不能超过32个字符")
@ExcelProperty("商险ID")
@Schema(description = "商险ID")
private String insuranceId;
/**
* 商险退保:0空1无需处理2待派单3发起失败4待减员5待办理6减员中8减员成功9减员退回
*/
@ExcelAttribute(name = "商险退保:0空1无需处理2待派单3发起失败4待减员5待办理6减员中8减员成功9减员退回", maxLength = 2)
@Length(max = 2, message = "商险退保:0空1无需处理2待派单3发起失败4待减员5待办理6减员中8减员成功9减员退回不能超过2个字符")
@ExcelProperty("商险退保:0空1无需处理2待派单3发起失败4待减员5待办理6减员中8减员成功9减员退回")
@Schema(description = "商险退保:0空1无需处理2待派单3发起失败4待减员5待办理6减员中8减员成功9减员退回")
private String doStatusInsurance;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.csp.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* 作业自动化-离职-操作日志
*
* @author hgw
* @date 2025-11-23 10:55:29
*/
@Data
@TableName("employee_registration_leave_log")
@Schema(description = "作业自动化-离职-操作日志")
public class EmployeeRegistrationLeaveLog {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键ID")
@Schema(description = "主键ID")
private String id;
/**
* 离职待办主表ID
*/
@ExcelAttribute(name = "离职待办主表ID", isNotEmpty = true, errorInfo = "离职待办主表ID不能为空", maxLength = 32)
@NotBlank(message = "离职待办主表ID不能为空")
@Length(max = 32, message = "离职待办主表ID不能超过32个字符")
@ExcelProperty("离职待办主表ID")
@Schema(description = "离职待办主表ID")
private String leaveId;
/**
* 操作人
*/
@ExcelAttribute(name = "操作人", maxLength = 36)
@Length(max = 36, message = "操作人不能超过36个字符")
@ExcelProperty("操作人")
@Schema(description = "操作人")
private String createName;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
@Schema(description = "创建时间")
@TableField(fill = FieldFill.INSERT)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("创建时间")
@ColumnWidth(18)
private LocalDateTime createTime;
/**
* 操作事项
*/
@ExcelAttribute(name = "操作事项", maxLength = 200)
@Length(max = 200, message = "操作事项不能超过200个字符")
@ExcelProperty("操作事项")
@Schema(description = "操作事项")
private String content;
}
...@@ -29,8 +29,10 @@ public class BatchSureLeaveVo implements Serializable { ...@@ -29,8 +29,10 @@ public class BatchSureLeaveVo implements Serializable {
@Schema(description = "停缴公积金日期") @Schema(description = "停缴公积金日期")
private String fundReduceDate; private String fundReduceDate;
@Schema(description = "减少原因(社保和公积金)") @Schema(description = "减少原因(名称)")
private String socialReasonTypeAndFund; private String leaveReasonName;
@Schema(description = "减少原因(ID)")
private String leaveReasonId;
@Schema(description = "社保公积金派减备注") @Schema(description = "社保公积金派减备注")
private String socialTrustRemarkAndFund; private String socialTrustRemarkAndFund;
......
...@@ -60,10 +60,6 @@ public class EmployeeRegistrationLeaveConfirmExportVo { ...@@ -60,10 +60,6 @@ public class EmployeeRegistrationLeaveConfirmExportVo {
*/ */
@ExcelProperty("执行结果") @ExcelProperty("执行结果")
private String doStatus; private String doStatus;
@ExcelProperty("执行详情")
private String doDetail;
@ExcelProperty("原因")
private String doRemark;
/** /**
* 合同终止:0空1无需处理2待发起3发起失败4待审核8审核通过10审核不通过 * 合同终止:0空1无需处理2待发起3发起失败4待审核8审核通过10审核不通过
......
...@@ -50,10 +50,6 @@ public class EmployeeRegistrationLeaveExportVo { ...@@ -50,10 +50,6 @@ public class EmployeeRegistrationLeaveExportVo {
*/ */
@ExcelProperty("执行结果") @ExcelProperty("执行结果")
private String doStatus; private String doStatus;
@ExcelProperty("执行详情")
private String doDetail;
@ExcelProperty("原因")
private String doRemark;
/** /**
* 合同终止:0空1无需处理2待发起3发起失败4待审核8审核通过10审核不通过 * 合同终止:0空1无需处理2待发起3发起失败4待审核8审核通过10审核不通过
......
...@@ -62,6 +62,10 @@ public class EmployeeRegistrationLeaveSearchVo extends EmployeeRegistrationLeave ...@@ -62,6 +62,10 @@ public class EmployeeRegistrationLeaveSearchVo extends EmployeeRegistrationLeave
private List<String> idList; private List<String> idList;
@Schema(description = "状态多个")
@TableField(exist = false)
private String[] processStatusArray;
/** /**
* @Author fxj * @Author fxj
* 查询数据起 * 查询数据起
......
package com.yifu.cloud.plus.v1.csp.vo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Data
@Schema(description = "离职待办派单错误信息VO")
public class ErrorInfoVo implements Serializable {
private static final long serialVersionUID = 628032758008497542L;
// 社保
List<ErrorMessage> socialParamList = new ArrayList<>();
// 公积金
List<ErrorMessage> fundParamList = new ArrayList<>();
// 保险
List<ErrorMessage> insuranceParamList = new ArrayList<>();
// 合同
List<ErrorMessage> contractParamList = new ArrayList<>();
// 项目
List<ErrorMessage> projectParamList = new ArrayList<>();
// 员工
List<ErrorMessage> empParamList = new ArrayList<>();
}
...@@ -24,12 +24,14 @@ import com.yifu.cloud.plus.v1.csp.service.EmployeeRegistrationLeaveService; ...@@ -24,12 +24,14 @@ import com.yifu.cloud.plus.v1.csp.service.EmployeeRegistrationLeaveService;
import com.yifu.cloud.plus.v1.csp.vo.BatchSureLeaveVo; import com.yifu.cloud.plus.v1.csp.vo.BatchSureLeaveVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveSearchVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveSearchVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveTableVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveTableVo;
import com.yifu.cloud.plus.v1.csp.vo.ErrorInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseServiceParamListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -162,36 +164,15 @@ public class EmployeeRegistrationLeaveController { ...@@ -162,36 +164,15 @@ public class EmployeeRegistrationLeaveController {
/** /**
* 单个手动关闭 * 单个手动关闭
*
* String doType 需处理项:1社保2公积金3商险4合同5项目档案6人员档案")
*/ */
@Operation(summary = "单个手动关闭-离职待办", description = "单个手动关闭-离职待办") @Operation(summary = "单个手动关闭-离职待办", description = "单个手动关闭-离职待办")
@SysLog("单个手动关闭-离职待办") @SysLog("单个手动关闭-离职待办")
@GetMapping("/doClose") @GetMapping("/doClose")
public R<String> doClose(@RequestParam String id, @RequestParam String remark) { public R<String> doClose(@RequestParam String id, @RequestParam String remark
EmployeeRegistrationLeave leave = employeeRegistrationLeaveService.getById( id); , @RequestParam(required = false) String doTypeWu, @RequestParam(required = false) String doTypeYi) {
if (leave != null) { return employeeRegistrationLeaveService.doClose(id, remark, doTypeWu, doTypeYi);
if (!CommonConstants.ONE_STRING.equals(leave.getDoStatusSocial())) {
leave.setCloseRemarkSocial( remark);
}
if (!CommonConstants.ONE_STRING.equals(leave.getDoStatusFund())) {
leave.setCloseRemarkFund( remark);
}
if (!CommonConstants.ONE_STRING.equals(leave.getDoStatusInsurance())) {
leave.setCloseRemarkInsurance( remark);
}
if (!CommonConstants.ONE_STRING.equals(leave.getDoStatusContract())) {
leave.setCloseRemarkContract( remark);
}
if (!CommonConstants.ONE_STRING.equals(leave.getDoStatusEmp())) {
leave.setCloseRemarkEmp( remark);
}
if (!CommonConstants.ONE_STRING.equals(leave.getDoStatusProject())) {
leave.setCloseRemarkEmpProject( remark);
}
leave.setDoStatus(CommonConstants.SIX_STRING);
leave.setLeaveStatus(CommonConstants.THREE_STRING);
employeeRegistrationLeaveService.updateById( leave);
}
return R.ok();
} }
/** /**
...@@ -228,8 +209,10 @@ public class EmployeeRegistrationLeaveController { ...@@ -228,8 +209,10 @@ public class EmployeeRegistrationLeaveController {
**/ **/
@Operation(description = "定时任务批量派单") @Operation(description = "定时任务批量派单")
@PostMapping("/inner/autoDoLeave") @PostMapping("/inner/autoDoLeave")
public void autoDoLeave() { @Inner
public String autoDoLeave() {
employeeRegistrationLeaveService.autoDoLeave(); employeeRegistrationLeaveService.autoDoLeave();
return CommonConstants.RESULT_DATA_SUCESS;
} }
/** /**
...@@ -242,11 +225,19 @@ public class EmployeeRegistrationLeaveController { ...@@ -242,11 +225,19 @@ public class EmployeeRegistrationLeaveController {
**/ **/
@Operation(description = "离职待办单个/批量派单") @Operation(description = "离职待办单个/批量派单")
@PostMapping("/batchDoLeave") @PostMapping("/batchDoLeave")
public R<List<ErrorMessage>> batchDoLeave(@RequestBody List<String> idList, @RequestParam String isExit public R<List<EmployeeRegistrationLeave>> batchDoLeave(@RequestBody List<String> idList, @RequestParam String isExit
, @RequestParam(required = false) String doType) { , @RequestParam(required = false) String doType) {
return employeeRegistrationLeaveService.batchDoLeave(idList, isExit, doType); return employeeRegistrationLeaveService.batchDoLeave(idList, isExit, doType);
} }
@Operation(description = "减少办理同步离职待办")
@PostMapping("/inner/reduceHandleToLeave")
@Inner
public String reduceHandleToLeave(@RequestBody BaseServiceParamListVO vo) {
employeeRegistrationLeaveService.reduceHandleToLeave(vo);
return CommonConstants.RESULT_DATA_SUCESS;
}
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.csp.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveLog;
import com.yifu.cloud.plus.v1.csp.service.EmployeeRegistrationLeaveLogService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 作业自动化-离职-操作日志
*
* @author hgw
* @date 2025-11-23 10:55:29
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/employeeregistrationleavelog")
@Tag(name = "作业自动化-离职-操作日志管理")
public class EmployeeRegistrationLeaveLogController {
private final EmployeeRegistrationLeaveLogService employeeRegistrationLeaveLogService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param employeeRegistrationLeaveLog 作业自动化-离职-操作日志
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<EmployeeRegistrationLeaveLog>> getEmployeeRegistrationLeaveLogPage(Page<EmployeeRegistrationLeaveLog> page, EmployeeRegistrationLeaveLog employeeRegistrationLeaveLog) {
return new R<>(employeeRegistrationLeaveLogService.getEmployeeRegistrationLeaveLogPage(page, employeeRegistrationLeaveLog));
}
/**
* 不分页查询
*
* @param employeeRegistrationLeaveLog 作业自动化-离职-操作日志
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
public R<List<EmployeeRegistrationLeaveLog>> noPage(@RequestBody EmployeeRegistrationLeaveLog employeeRegistrationLeaveLog) {
return R.ok(employeeRegistrationLeaveLogService.getEmployeeRegistrationLeaveLogList(employeeRegistrationLeaveLog));
}
/**
* 通过id查询作业自动化-离职-操作日志
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
public R<EmployeeRegistrationLeaveLog> getById(@PathVariable("id") String id) {
return R.ok(employeeRegistrationLeaveLogService.getById(id));
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.csp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveInsurance;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 离职待办商险明细表
*
* @author hgw
* @date 2025-11-23 10:19:13
*/
@Mapper
public interface EmployeeRegistrationLeaveInsuranceMapper extends BaseMapper<EmployeeRegistrationLeaveInsurance> {
// 办理使用
List<EmployeeRegistrationLeaveInsurance> getLeaveInsuranceList(@Param("leaveId") String leaveId
, @Param("insuranceId") String insuranceId);
void deleteLeaveInsurance(@Param("leaveId") String leaveId);
/* 查询待派单(2待派单3发起失败9减员退回 的再去办)的数据,用来发起派单 */
List<String> getLeaveInsuranceListByIdAndStatus(@Param("idList") List<String> idList);
// 更新商险明细状态,成功或失败
void updateLeaveInsuranceListByIdAndStatus(@Param("status") String status, @Param("idList") List<String> idList);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.csp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 作业自动化-离职-操作日志
*
* @author hgw
* @date 2025-11-23 10:55:29
*/
@Mapper
public interface EmployeeRegistrationLeaveLogMapper extends BaseMapper<EmployeeRegistrationLeaveLog> {
/**
* 作业自动化-离职-操作日志简单分页查询
*
* @param employeeRegistrationLeaveLog 作业自动化-离职-操作日志
* @return
*/
IPage<EmployeeRegistrationLeaveLog> getEmployeeRegistrationLeaveLogPage(Page<EmployeeRegistrationLeaveLog> page
, @Param("employeeRegistrationLeaveLog") EmployeeRegistrationLeaveLog employeeRegistrationLeaveLog);
List<EmployeeRegistrationLeaveLog> getEmployeeRegistrationLeaveLogList(@Param("employeeRegistrationLeaveLog") EmployeeRegistrationLeaveLog employeeRegistrationLeaveLog);
}
...@@ -74,4 +74,7 @@ public interface EmployeeRegistrationLeaveMapper extends BaseMapper<EmployeeRegi ...@@ -74,4 +74,7 @@ public interface EmployeeRegistrationLeaveMapper extends BaseMapper<EmployeeRegi
List<EmployeeRegistrationLeave> selectLeaveListByDispatch(@Param("idList") List<String> idList); List<EmployeeRegistrationLeave> selectLeaveListByDispatch(@Param("idList") List<String> idList);
List<EmployeeRegistrationLeave> selectLeaveListByHandleAndType(@Param("idList") List<String> idList, @Param("doType") String doType);
List<EmployeeRegistrationLeave> selectLeaveListByHandleAndInsuranceType(@Param("idList") List<String> idList);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.csp.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveLog;
import java.util.List;
/**
* 作业自动化-离职-操作日志
*
* @author hgw
* @date 2025-11-23 10:55:29
*/
public interface EmployeeRegistrationLeaveLogService extends IService<EmployeeRegistrationLeaveLog> {
/**
* 作业自动化-离职-操作日志简单分页查询
*
* @param employeeRegistrationLeaveLog 作业自动化-离职-操作日志
* @return
*/
IPage<EmployeeRegistrationLeaveLog> getEmployeeRegistrationLeaveLogPage(Page<EmployeeRegistrationLeaveLog> page, EmployeeRegistrationLeaveLog employeeRegistrationLeaveLog);
List<EmployeeRegistrationLeaveLog> getEmployeeRegistrationLeaveLogList(EmployeeRegistrationLeaveLog employeeRegistrationLeaveLog);
}
...@@ -25,8 +25,9 @@ import com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeave; ...@@ -25,8 +25,9 @@ import com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeave;
import com.yifu.cloud.plus.v1.csp.vo.BatchSureLeaveVo; import com.yifu.cloud.plus.v1.csp.vo.BatchSureLeaveVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveSearchVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveSearchVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveTableVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationLeaveTableVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.csp.vo.ErrorInfoVo;
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.BaseServiceParamListVO;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
...@@ -61,6 +62,9 @@ public interface EmployeeRegistrationLeaveService extends IService<EmployeeRegis ...@@ -61,6 +62,9 @@ public interface EmployeeRegistrationLeaveService extends IService<EmployeeRegis
EmployeeRegistrationLeave initLeaveInfo(String id); EmployeeRegistrationLeave initLeaveInfo(String id);
// 单个关闭
R<String> doClose(String id, String remark, String doTypeWu, String doTypeYi);
// 单个确认(含编辑功能) // 单个确认(含编辑功能)
R<String> doSure(EmployeeRegistrationLeave leave); R<String> doSure(EmployeeRegistrationLeave leave);
...@@ -76,6 +80,8 @@ public interface EmployeeRegistrationLeaveService extends IService<EmployeeRegis ...@@ -76,6 +80,8 @@ public interface EmployeeRegistrationLeaveService extends IService<EmployeeRegis
// 批量派单 // 批量派单
// @param isExit: 1仅发起日期为今日及之前的事项 0立即发起(全量) // @param isExit: 1仅发起日期为今日及之前的事项 0立即发起(全量)
// @param doType: 需处理项:1社保2公积金3商险4合同5项目档案6人员档案 // @param doType: 需处理项:1社保2公积金3商险4合同5项目档案6人员档案
R<List<ErrorMessage>> batchDoLeave(List<String> idList, String isExit, String doType); R<List<EmployeeRegistrationLeave>> batchDoLeave(List<String> idList, String isExit, String doType);
void reduceHandleToLeave(BaseServiceParamListVO vo);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.csp.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveLog;
import com.yifu.cloud.plus.v1.csp.mapper.EmployeeRegistrationLeaveLogMapper;
import com.yifu.cloud.plus.v1.csp.service.EmployeeRegistrationLeaveLogService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 作业自动化-离职-操作日志
*
* @author hgw
* @date 2025-11-23 10:55:29
*/
@Log4j2
@Service
public class EmployeeRegistrationLeaveLogServiceImpl extends ServiceImpl<EmployeeRegistrationLeaveLogMapper, EmployeeRegistrationLeaveLog> implements EmployeeRegistrationLeaveLogService {
/**
* 作业自动化-离职-操作日志简单分页查询
*
* @param employeeRegistrationLeaveLog 作业自动化-离职-操作日志
* @return
*/
@Override
public IPage<EmployeeRegistrationLeaveLog> getEmployeeRegistrationLeaveLogPage(Page<EmployeeRegistrationLeaveLog> page, EmployeeRegistrationLeaveLog employeeRegistrationLeaveLog) {
return baseMapper.getEmployeeRegistrationLeaveLogPage(page, employeeRegistrationLeaveLog);
}
/**
* 作业自动化-离职-操作日志简单分页查询
*
* @param employeeRegistrationLeaveLog 作业自动化-离职-操作日志
* @return
*/
@Override
public List<EmployeeRegistrationLeaveLog> getEmployeeRegistrationLeaveLogList(EmployeeRegistrationLeaveLog employeeRegistrationLeaveLog) {
return baseMapper.getEmployeeRegistrationLeaveLogList(employeeRegistrationLeaveLog);
}
}
...@@ -1321,6 +1321,10 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -1321,6 +1321,10 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
registration.setCustomerUsernameNew(registration.getCustomerUsername()); registration.setCustomerUsernameNew(registration.getCustomerUsername());
registration.setCustomerUserLoginNameNew(registration.getCustomerUserLoginname()); registration.setCustomerUserLoginNameNew(registration.getCustomerUserLoginname());
baseMapper.insert(registration); baseMapper.insert(registration);
if (Common.isNotNull(registration.getFeedbackType()) && CommonConstants.TWO_STRING.equals(registration.getFeedbackType())) {
// 生成离职待办
employeeRegistrationLeaveService.saveLeaveInfo(registration);
}
//更新附件 //更新附件
updateFileId(registration); updateFileId(registration);
} }
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.csp.mapper.EmployeeRegistrationLeaveInsuranceMapper">
<resultMap id="employeeRegistrationLeaveInsuranceMap" type="com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveInsurance">
<id property="id" column="id"/>
<result property="leaveId" column="leave_id"/>
<result property="insuranceId" column="insurance_id"/>
<result property="doStatusInsurance" column="do_status_insurance"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.leave_id,
a.insurance_id,
a.do_status_insurance
</sql>
<!--list-->
<select id="getLeaveInsuranceList" resultMap="employeeRegistrationLeaveInsuranceMap">
SELECT
<include refid="Base_Column_List"/>
FROM employee_registration_leave_insurance a
<where>
1=1
<if test="leaveId != null and leaveId.trim() != ''">
AND a.leave_id = #{leaveId}
</if>
<if test="insuranceId != null and insuranceId.trim() != ''">
AND a.insurance_id = #{insuranceId}
</if>
</where>
</select>
<select id="getLeaveInsuranceListByIdAndStatus" resultType="java.lang.String">
SELECT
a.insurance_id
FROM employee_registration_leave_insurance a
<where>
do_status_insurance in ('0','2','3','9')
<if test="idList != null">
AND a.insurance_id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</where>
</select>
<update id="updateLeaveInsuranceListByIdAndStatus" >
update employee_registration_leave_insurance
<set>
do_status_insurance = #{status}
</set>
where do_status_insurance in ('0','2','3','9') and insurance_id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</update>
<!-- 避免数据重复,保存前,删除历史数据 -->
<delete id="deleteLeaveInsurance" >
delete from employee_registration_leave_insurance where leave_id = #{leaveId}
</delete>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.csp.mapper.EmployeeRegistrationLeaveLogMapper">
<resultMap id="employeeRegistrationLeaveLogMap" type="com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveLog">
<id property="id" column="id"/>
<result property="leaveId" column="leave_id"/>
<result property="createName" column="create_name"/>
<result property="createTime" column="create_time"/>
<result property="content" column="content"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.leave_id,
a.create_name,
a.create_time,
a.content
</sql>
<sql id="employeeRegistrationLeaveLog_where">
<if test="employeeRegistrationLeaveLog != null">
<if test="employeeRegistrationLeaveLog.id != null and employeeRegistrationLeaveLog.id.trim() != ''">
AND a.id = #{employeeRegistrationLeaveLog.id}
</if>
<if test="employeeRegistrationLeaveLog.leaveId != null and employeeRegistrationLeaveLog.leaveId.trim() != ''">
AND a.leave_id = #{employeeRegistrationLeaveLog.leaveId}
</if>
<if test="employeeRegistrationLeaveLog.createName != null and employeeRegistrationLeaveLog.createName.trim() != ''">
AND a.create_name = #{employeeRegistrationLeaveLog.createName}
</if>
<if test="employeeRegistrationLeaveLog.createTime != null">
AND a.create_time = #{employeeRegistrationLeaveLog.createTime}
</if>
<if test="employeeRegistrationLeaveLog.content != null and employeeRegistrationLeaveLog.content.trim() != ''">
AND a.content = #{employeeRegistrationLeaveLog.content}
</if>
</if>
</sql>
<!--employeeRegistrationLeaveLog简单分页查询-->
<select id="getEmployeeRegistrationLeaveLogPage" resultMap="employeeRegistrationLeaveLogMap">
SELECT
<include refid="Base_Column_List"/>
FROM employee_registration_leave_log a
<where>
1=1
<include refid="employeeRegistrationLeaveLog_where"/>
</where>
order by a.create_time desc
</select>
<!--employeeRegistrationLeaveLog简单分页查询-->
<select id="getEmployeeRegistrationLeaveLogList" resultMap="employeeRegistrationLeaveLogMap">
SELECT
<include refid="Base_Column_List"/>
FROM employee_registration_leave_log a
<where>
1=1
<include refid="employeeRegistrationLeaveLog_where"/>
</where>
order by a.create_time desc
</select>
</mapper>
...@@ -75,4 +75,7 @@ public class TInsuranceAlertSearchVo extends TInsuranceAlert { ...@@ -75,4 +75,7 @@ public class TInsuranceAlertSearchVo extends TInsuranceAlert {
@Schema(description = "列表查询类型 1 待办 2监控 3入职确认信息") @Schema(description = "列表查询类型 1 待办 2监控 3入职确认信息")
private String type; private String type;
@Schema(description = "是否当日以及之前的派单日期0否1是")
private String isBefore;
} }
...@@ -8,6 +8,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants; ...@@ -8,6 +8,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.redis.RedisDistributedLock; import com.yifu.cloud.plus.v1.yifu.common.core.redis.RedisDistributedLock;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO; 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.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
...@@ -406,6 +407,20 @@ public class TInsuranceDetailController { ...@@ -406,6 +407,20 @@ public class TInsuranceDetailController {
public R<String> updateInsuranceInsuredById(@RequestBody InsuranceInsuredDetailParam param) { public R<String> updateInsuranceInsuredById(@RequestBody InsuranceInsuredDetailParam param) {
return tInsuranceDetailService.updateInsuranceInsuredById(param); return tInsuranceDetailService.updateInsuranceInsuredById(param);
} }
/**
* @param paramVo
* @Description: 离职导致的减商险
* @Author: hgw
* @Date: 2025/11/21 20:44
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R
**/
@Inner
@PostMapping("/inner/leaveToReduceInsurance")
public BaseSearchListVO leaveToReduceInsurance(@RequestBody BaseSearchListVO paramVo){
return tInsuranceDetailService.leaveToReduceInsurance(paramVo);
}
/***********************减员办理********************************/ /***********************减员办理********************************/
/** /**
* 导入减员校验 * 导入减员校验
...@@ -417,7 +432,7 @@ public class TInsuranceDetailController { ...@@ -417,7 +432,7 @@ public class TInsuranceDetailController {
@PostMapping("/saveInsuranceRefund") @PostMapping("/saveInsuranceRefund")
@PreAuthorize("@pms.hasPermission('insurance_custserve_insured_reduce')") @PreAuthorize("@pms.hasPermission('insurance_custserve_insured_reduce')")
public R saveInsuranceRefund(@RequestBody @Valid @Size(min = 1,message = "导入减员列表不能为空") List<InsuranceRefundCheck> insuranceRefundCheckList){ public R saveInsuranceRefund(@RequestBody @Valid @Size(min = 1,message = "导入减员列表不能为空") List<InsuranceRefundCheck> insuranceRefundCheckList){
return tInsuranceDetailService.saveInsuranceRefund(insuranceRefundCheckList,null); return tInsuranceDetailService.saveInsuranceRefund(insuranceRefundCheckList,null, SecurityUtils.getUser());
} }
/** /**
...@@ -889,16 +904,30 @@ public class TInsuranceDetailController { ...@@ -889,16 +904,30 @@ public class TInsuranceDetailController {
/** /**
* @param paramVo * @param paramVo
* @Description: 查询是否存在派增部分失败与成功的的社保 * @Description: 查询人员的商险状态
* @Author: hgw * @Author: hgw
* @Date: 2025/11/20 17:15 * @Date: 2025/11/20 17:15
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO * @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO
**/ **/
@Operation(summary = "查询是否存在派增部分失败与成功的的社保、公积金", description = "查询是否存在派增部分失败与成功的的社保") @Operation(summary = "查询人员的商险状态", description = "查询人员的商险状态")
@Inner @Inner
@PostMapping("/inner/getInsurancesStatus") @PostMapping("/inner/getInsurancesStatus")
public BaseSearchVO getInsurancesStatus(@RequestBody BaseSearchVO paramVo) { public BaseSearchVO getInsurancesStatus(@RequestBody BaseSearchVO paramVo) {
return tInsuranceDetailService.getInsurancesStatus(paramVo); return tInsuranceDetailService.getInsurancesStatus(paramVo);
} }
/**
* @param paramVo
* @Description: 查询人员的已减完成的商险(返回值,则表示有未减完成的商险
* @Author: hgw
* @Date: 2025/11/20 17:15
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO
**/
@Operation(summary = "查询人员的已减完成的商险", description = "查询人员的已减完成的商险")
@Inner
@PostMapping("/inner/getInsurancesStatusByClose")
public BaseSearchVO getInsurancesStatusByClose(@RequestBody BaseSearchVO paramVo) {
return tInsuranceDetailService.getInsurancesStatusByClose(paramVo);
}
} }
...@@ -341,5 +341,6 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> { ...@@ -341,5 +341,6 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> {
List<TInsurancePreDetail> getOnProcessInsuredList(@Param("empIdCard") String empIdCard); List<TInsurancePreDetail> getOnProcessInsuredList(@Param("empIdCard") String empIdCard);
List<String> getInsuranceDetailList(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo); List<String> getInsuranceDetailList(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo);
List<String> getInsuranceDetailListByClose(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo);
} }
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO; 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.insurances.entity.TInsuranceDetail; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail;
...@@ -222,6 +223,8 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> { ...@@ -222,6 +223,8 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
*/ */
R<String> updateInsuranceInsuredById(InsuranceInsuredDetailParam param); R<String> updateInsuranceInsuredById(InsuranceInsuredDetailParam param);
BaseSearchListVO leaveToReduceInsurance(BaseSearchListVO paramVo);
/***********************减员办理********************************/ /***********************减员办理********************************/
/** /**
...@@ -231,7 +234,7 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> { ...@@ -231,7 +234,7 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
* @param insuranceRefundCheckList 减员表 * @param insuranceRefundCheckList 减员表
* @return {@link R} * @return {@link R}
*/ */
R saveInsuranceRefund(List<InsuranceRefundCheck> insuranceRefundCheckList,String orderNo); R saveInsuranceRefund(List<InsuranceRefundCheck> insuranceRefundCheckList,String orderNo, YifuUser user);
/** /**
* 已投保列表分页查询 * 已投保列表分页查询
...@@ -582,6 +585,7 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> { ...@@ -582,6 +585,7 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
List<TInsurancePreDetail> getOnProcessInsurancesInfo(String empIdCard); List<TInsurancePreDetail> getOnProcessInsurancesInfo(String empIdCard);
BaseSearchVO getInsurancesStatus(BaseSearchVO paramVo); BaseSearchVO getInsurancesStatus(BaseSearchVO paramVo);
BaseSearchVO getInsurancesStatusByClose(BaseSearchVO paramVo);
} }
...@@ -2220,4 +2220,15 @@ ...@@ -2220,4 +2220,15 @@
and a.BUY_HANDLE_STATUS = 3 and a.IS_EFFECT = 0 and a.IS_OVERDUE = 0 and a.BUY_HANDLE_STATUS = 3 and a.IS_EFFECT = 0 and a.IS_OVERDUE = 0
</select> </select>
<select id="getInsuranceDetailListByClose" resultType="java.lang.String">
select
a.id
from
t_insurance_detail a
where a.DELETE_FLAG = 0 and a.REDUCE_HANDLE_STATUS != 4
and a.EMP_IDCARD_NO = #{empIdCard}
and a.DEPT_NO = #{deptNo}
</select>
</mapper> </mapper>
...@@ -265,6 +265,11 @@ ...@@ -265,6 +265,11 @@
a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0 a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0
<include refid="tInsuranceAlert_where"/> <include refid="tInsuranceAlert_where"/>
<if test="tInsuranceAlert != null"> <if test="tInsuranceAlert != null">
<if test="tInsuranceAlert.isBefore != null and tInsuranceAlert.isBefore.trim() != ''">
<if test='tInsuranceAlert.isBefore.trim() == "1"'>
AND DATE_FORMAT(now(),'%Y-%m-%d') >= DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d')
</if>
</if>
<if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0"> <if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0">
AND b.PROCESS_STATUS in AND b.PROCESS_STATUS in
<foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="(" <foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="("
...@@ -287,6 +292,11 @@ ...@@ -287,6 +292,11 @@
a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0 a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0
<include refid="tInsuranceAlert_where"/> <include refid="tInsuranceAlert_where"/>
<if test="tInsuranceAlert != null"> <if test="tInsuranceAlert != null">
<if test="tInsuranceAlert.isBefore != null and tInsuranceAlert.isBefore.trim() != ''">
<if test='tInsuranceAlert.isBefore.trim() == "1"'>
AND DATE_FORMAT(now(),'%Y-%m-%d') >= DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d')
</if>
</if>
<if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0"> <if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0">
AND b.PROCESS_STATUS in AND b.PROCESS_STATUS in
<foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="(" <foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="("
...@@ -310,6 +320,11 @@ ...@@ -310,6 +320,11 @@
a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0 a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0
<include refid="tInsuranceAlert_where"/> <include refid="tInsuranceAlert_where"/>
<if test="tInsuranceAlert != null"> <if test="tInsuranceAlert != null">
<if test="tInsuranceAlert.isBefore != null and tInsuranceAlert.isBefore.trim() != ''">
<if test='tInsuranceAlert.isBefore.trim() == "1"'>
AND DATE_FORMAT(now(),'%Y-%m-%d') >= DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d')
</if>
</if>
<if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0"> <if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0">
AND b.PROCESS_STATUS in AND b.PROCESS_STATUS in
<foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="(" <foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="("
...@@ -337,6 +352,11 @@ ...@@ -337,6 +352,11 @@
a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0 a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0
<include refid="tInsuranceAlert_where"/> <include refid="tInsuranceAlert_where"/>
<if test="tInsuranceAlert != null"> <if test="tInsuranceAlert != null">
<if test="tInsuranceAlert.isBefore != null and tInsuranceAlert.isBefore.trim() != ''">
<if test='tInsuranceAlert.isBefore.trim() == "1"'>
AND DATE_FORMAT(now(),'%Y-%m-%d') >= DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d')
</if>
</if>
<if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0"> <if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0">
AND b.PROCESS_STATUS in AND b.PROCESS_STATUS in
<foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="(" <foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="("
......
package com.yifu.cloud.plus.v1.job.compont;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprCspProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsDeclarer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @Author huyc
* @Description 定时任务具体执行类
* @Date 10:48 2022/8/17
* @Param
* @return
**/
@Component(value = "cspTask")
@Slf4j
@EnableConfigurationProperties(DaprCspProperties.class)
public class CspTask {
@Autowired
private DaprCspProperties daprCspProperties;
public void autoDoLeave() throws Exception {
log.info("-------------离职待办派单-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprCspProperties.getAppUrl(), daprCspProperties.getAppId(),
"/employeeregistrationleave/inner/autoDoLeave", "", String.class,
SecurityConstants.FROM_IN);
log.info("-------------离职待办派单-定时任务结束------------");
}
}
\ No newline at end of file
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class TDispatchReduceListVo implements Serializable {
private static final long serialVersionUID = 1L;
private String userId;
private String userName;
private List<TDispatchReduceVo> listParam;
}
...@@ -18,6 +18,7 @@ package com.yifu.cloud.plus.v1.yifu.social.vo; ...@@ -18,6 +18,7 @@ package com.yifu.cloud.plus.v1.yifu.social.vo;
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.TableField;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex; import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
...@@ -145,4 +146,8 @@ public class TDispatchReduceVo extends RowIndex implements Serializable { ...@@ -145,4 +146,8 @@ public class TDispatchReduceVo extends RowIndex implements Serializable {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value ="学历") @ExcelProperty(value ="学历")
private String educationName; private String educationName;
// 离职待办ID
@TableField(exist = false)
private String leaveId;
} }
...@@ -508,8 +508,8 @@ public class TDispatchInfoController { ...@@ -508,8 +508,8 @@ public class TDispatchInfoController {
@SysLog("离职调用的派减社保或公积金") @SysLog("离职调用的派减社保或公积金")
@PostMapping("/inner/leaveToReduceSocialAndFund") @PostMapping("/inner/leaveToReduceSocialAndFund")
@Inner @Inner
public R<BaseSearchListVO> leaveToReduceSocialAndFund(@RequestBody List<TDispatchReduceVo> excelVOList) { public BaseSearchListVO leaveToReduceSocialAndFund(@RequestBody TDispatchReduceListVo paramVo) {
return new R<>(tDispatchInfoService.leaveToReduceSocialAndFund(excelVOList)); return tDispatchInfoService.leaveToReduceSocialAndFund(paramVo);
} }
/** /**
......
...@@ -282,11 +282,25 @@ public class TSocialFundInfoController { ...@@ -282,11 +282,25 @@ public class TSocialFundInfoController {
* @Date: 2025/11/20 17:15 * @Date: 2025/11/20 17:15
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO * @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO
**/ **/
@Operation(summary = "查询是否存在派增部分失败与成功的的社保、公积金", description = "查询是否存在派增部分失败与成功的的社保") @Operation(summary = "查询是否存在派增部分失败与成功的的社保公积金", description = "查询是否存在派增部分失败与成功的的社保公积金")
@Inner @Inner
@PostMapping("/inner/getSocialAndFundStatus") @PostMapping("/inner/getSocialAndFundStatus")
public BaseSearchVO getSocialAndFundStatus(@RequestBody BaseSearchVO paramVo) { public BaseSearchVO getSocialAndFundStatus(@RequestBody BaseSearchVO paramVo) {
return tSocialFundInfoService.getSocialAndFundStatus(paramVo); return tSocialFundInfoService.getSocialAndFundStatus(paramVo);
} }
/**
* @param paramVo
* @Description: 查询是否存在派增部分失败与成功的的社保
* @Author: hgw
* @Date: 2025/11/20 17:15
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO
**/
@Operation(summary = "查询派减已完结的社保公积金", description = "查询派减已完结的社保公积金")
@Inner
@PostMapping("/inner/getSocialAndFundStatusByClose")
public BaseSearchVO getSocialAndFundStatusByClose(@RequestBody BaseSearchVO paramVo) {
return tSocialFundInfoService.getSocialAndFundStatusByClose(paramVo);
}
} }
...@@ -110,5 +110,9 @@ public interface TSocialFundInfoMapper extends BaseMapper<TSocialFundInfo> { ...@@ -110,5 +110,9 @@ public interface TSocialFundInfoMapper extends BaseMapper<TSocialFundInfo> {
TSocialFundInfo getSocialStatus(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo); TSocialFundInfo getSocialStatus(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo);
// 离职待办专用,查询公积金ID与状态(主要派增部分失败与成功的) // 离职待办专用,查询公积金ID与状态(主要派增部分失败与成功的)
TSocialFundInfo getFundStatus(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo); TSocialFundInfo getFundStatus(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo);
// 离职待办专用,查询社保ID与状态(主要派增部分失败与成功的)
String getSocialStatusByClose(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo);
// 离职待办专用,查询公积金ID与状态(主要派增部分失败与成功的)
String getFundStatusByClose(@Param("empIdCard") String empIdCard, @Param("deptNo") String deptNo);
} }
...@@ -74,7 +74,7 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> { ...@@ -74,7 +74,7 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> {
R<List<ErrorMessage>> importReduceDiy(InputStream inputStream, String orderId,String flag); R<List<ErrorMessage>> importReduceDiy(InputStream inputStream, String orderId,String flag);
// 离职待办调用的批量派减社保、公积金 // 离职待办调用的批量派减社保、公积金
BaseSearchListVO leaveToReduceSocialAndFund(List<TDispatchReduceVo> excelVOList); BaseSearchListVO leaveToReduceSocialAndFund(TDispatchReduceListVo paramVo);
@Transactional @Transactional
@ShardingTransactionType(TransactionType.BASE) @ShardingTransactionType(TransactionType.BASE)
......
...@@ -119,5 +119,7 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> { ...@@ -119,5 +119,7 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> {
* @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO * @return: com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO
**/ **/
BaseSearchVO getSocialAndFundStatus(BaseSearchVO paramVo); BaseSearchVO getSocialAndFundStatus(BaseSearchVO paramVo);
// 查询派减已完结的社保公积金
BaseSearchVO getSocialAndFundStatusByClose(BaseSearchVO paramVo);
} }
...@@ -1000,6 +1000,18 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe ...@@ -1000,6 +1000,18 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
return returnVo; return returnVo;
} }
@Override
public BaseSearchVO getSocialAndFundStatusByClose(BaseSearchVO paramVo) {
BaseSearchVO returnVo = new BaseSearchVO();
if (Common.isNotNull(paramVo) && Common.isNotNull(paramVo.getEmpIdCard()) && Common.isNotNull(paramVo.getDeptNo())) {
String socialDispatchId = baseMapper.getSocialStatusByClose(paramVo.getEmpIdCard(), paramVo.getDeptNo());
returnVo.setResultIdOne(socialDispatchId);
String fundDispatchId = baseMapper.getFundStatusByClose(paramVo.getEmpIdCard(), paramVo.getDeptNo());
returnVo.setResultIdTwo(fundDispatchId);
}
return returnVo;
}
/** /**
* @Author fxj * @Author fxj
* @Description 查询是否存在正常或者在途的公积金 * @Description 查询是否存在正常或者在途的公积金
......
...@@ -1301,6 +1301,7 @@ ...@@ -1301,6 +1301,7 @@
where a.EMP_IDCARD = #{empIdCard} where a.EMP_IDCARD = #{empIdCard}
and a.SETTLE_DOMAIN_CODE = #{deptNo} and a.SETTLE_DOMAIN_CODE = #{deptNo}
and a.SOCIAL_STATUS in ('3','4') and a.SOCIAL_STATUS in ('3','4')
limit 1
</select> </select>
<select id="getFundStatus" resultMap="tSocialFundInfoMap"> <select id="getFundStatus" resultMap="tSocialFundInfoMap">
...@@ -1309,7 +1310,28 @@ ...@@ -1309,7 +1310,28 @@
LEFT JOIN t_dispatch_info d on d.FUND_ID = a.FUND_ID LEFT JOIN t_dispatch_info d on d.FUND_ID = a.FUND_ID
where a.EMP_IDCARD = #{empIdCard} where a.EMP_IDCARD = #{empIdCard}
and a.SETTLE_DOMAIN_CODE_FUND = #{deptNo} and a.SETTLE_DOMAIN_CODE_FUND = #{deptNo}
and a.FUND_STATUS in ('3','4') and a.FUND_STATUS = '3'
limit 1
</select>
<select id="getSocialStatusByClose" resultType="java.lang.String">
SELECT d.id DISPATCH_ID
FROM t_social_fund_info a
LEFT JOIN t_dispatch_info d on d.SOCIAL_ID = a.SOCIAL_ID
where a.EMP_IDCARD = #{empIdCard}
and a.SETTLE_DOMAIN_CODE = #{deptNo}
and a.SOCIAL_STATUS = '8'
limit 1
</select>
<select id="getFundStatusByClose" resultType="java.lang.String">
SELECT d.id DISPATCH_ID
FROM t_social_fund_info a
LEFT JOIN t_dispatch_info d on d.FUND_ID = a.FUND_ID
where a.EMP_IDCARD = #{empIdCard}
and a.SETTLE_DOMAIN_CODE_FUND = #{deptNo}
and a.FUND_STATUS = '7'
limit 1
</select> </select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment