Commit 91071bc2 authored by hongguangwu's avatar hongguangwu

合同相关\社保公积金相关

parent 9791b4a6
......@@ -462,4 +462,8 @@ public class TEmployeeContractInfo extends BaseEntity {
@Schema(description = "创建时间止")
private String createTimeEnd;
@TableField(exist = false)
@Schema(description = "归档列表查询标志,1:是归档,去除作废、终止两种")
private Integer isFilePage;
}
......@@ -70,7 +70,7 @@ public class TEmployeeContractInfoController {
@Operation(summary = "归档分页查询(审核通过的数据(后面加上权限:自己创建的))", description = "归档分页查询")
@GetMapping("/filingPage")
public R<IPage<TEmployeeContractInfo>> getFilingPage(Page<TEmployeeContractInfo> page, TEmployeeContractInfo tEmployeeContractInfo) {
tEmployeeContractInfo.setSituation(EmployeeConstants.SITUATION_SIX);
tEmployeeContractInfo.setIsFilePage(CommonConstants.ONE_INT);
tEmployeeContractInfo.setAuditStatus(CommonConstants.dingleDigitIntArray[2]);
return new R<>(tEmployeeContractInfoService.getTEmployeeContractInfoPage(page, tEmployeeContractInfo));
}
......
......@@ -243,6 +243,19 @@ public class TEmployeeInfoController {
return R.ok(tEmployeeInfoService.getById(id));
}
/**
* @param empId
* @Description: 内部接口获取档案基本信息
* @Author: hgw
* @Date: 2022/7/21 14:47
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo>
**/
@Inner
@GetMapping("/inner/getByEmpId")
public TEmployeeInfo getByEmpId(@RequestParam String empId) {
return tEmployeeInfoService.getById(empId);
}
/**
* @param empName 姓名
* @param empIdCard 身份证
......
......@@ -22,11 +22,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpDispatchAddVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportVO;
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.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
......@@ -276,4 +278,17 @@ public class TEmployeeProjectController {
public R<Map<String,String>> getProjectByIdCard(@RequestParam String empIdCard) {
return tEmployeeProjectService.getProjectByIdCard(empIdCard);
}
/**
* @param employeeProject
* @Description: 获取项目档案
* @Author: hgw
* @Date: 2022/7/21 15:10
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject>
**/
@Inner
@PostMapping("/inner/getByEmpIdAndDeptId")
public TEmployeeProject getByEmpIdAndDeptId(@RequestBody TEmployeeProject employeeProject) {
return tEmployeeProjectService.getByEmpIdAndDeptId(employeeProject.getEmpId(), employeeProject.getDeptId());
}
}
......@@ -176,5 +176,15 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
R getItemByEmpNo(String empIdcard, String empNo);
/**
* @param empId
* @param deptId
* @Description: 获取项目信息
* @Author: hgw
* @Date: 2022/7/21 15:09
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject>
**/
TEmployeeProject getByEmpIdAndDeptId(String empId, String deptId);
R<Map<String, String>> getProjectByIdCard(String empIdCard);
}
......@@ -1358,6 +1358,20 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
return R.ok(map);
}
@Override
public TEmployeeProject getByEmpIdAndDeptId(String empId, String deptId) {
TEmployeeProject employeeProject = null;
if (Common.isEmpty(empId) || Common.isEmpty(deptId)) {
return employeeProject;
}
employeeProject = this.getOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getEmpId, empId)
.eq(TEmployeeProject::getDeptId, deptId)
.eq(TEmployeeProject::getProjectStatus, CommonConstants.ZERO_INT)
.eq(TEmployeeProject::getDeleteFlag, CommonConstants.ZERO_STRING).last(CommonConstants.LAST_ONE_SQL));
return employeeProject;
}
@Override
public R<Map<String, String>> getProjectByIdCard(String empIdCard) {
List<TEmployeeProject> projects = baseMapper.selectList(Wrappers.<TEmployeeProject>query().lambda()
......
......@@ -245,12 +245,10 @@
AND a.SUBJECT_UNIT = #{tEmployeeContractInfo.subjectUnit}
</if>
<if test="tEmployeeContractInfo.situation != null and tEmployeeContractInfo.situation.trim() != ''">
<if test="tEmployeeContractInfo.situation == '作废' ">
AND a.SITUATION != '作废' AND a.SITUATION != '终止'
</if>
<if test="tEmployeeContractInfo.situation != '作废' ">
AND a.SITUATION = #{tEmployeeContractInfo.situation}
</if>
<if test="tEmployeeContractInfo.isFilePage != null">
AND a.SITUATION != '作废' AND a.SITUATION != '终止'
</if>
<if test="tEmployeeContractInfo.contractTerm != null">
AND a.CONTRACT_TERM = #{tEmployeeContractInfo.contractTerm}
......
package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import com.alibaba.fastjson.JSON;
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.vo.DispatchAddVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchCheckVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpDispatchAddVo;
......@@ -107,4 +109,37 @@ public class ArchivesDaprUtil {
}
return res;
}
/**
* @param empId
* @Description: 获取档案基本信息
* @Author: hgw
* @Date: 2022/7/21 14:48
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo>
**/
public R<TEmployeeInfo> getTEmployeeInfoById(String empId) {
R<TEmployeeInfo> res = HttpDaprUtil.invokeMethodGet(
daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId()
,"/temployeeinfo/inner/getByEmpId" , empId, TEmployeeInfo.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("获取档案信息失败!");
}
return res;
}
/**
* @Description: 获取项目档案基本信息
* @Author: hgw
* @Date: 2022/7/21 14:48
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo>
**/
public R<TEmployeeProject> getTEmployeeProjectById(TEmployeeProject employeeProject) {
R<TEmployeeProject> res = HttpDaprUtil.invokeMethodGet(
daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId()
,"/temployeeproject/inner/getByEmpIdAndDeptId" , JSON.toJSONString(employeeProject), TEmployeeProject.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("获取档案信息失败!");
}
return res;
}
}
......@@ -48,11 +48,11 @@ public class TSocialLog extends BaseEntity {
private String id;
/**
* 类型:1社保基数配置;2公积金基数配置
* 类型:1社保基数配置;2公积金基数配置;3:调基
*/
@ExcelAttribute(name = "类型:1社保基数配置;2公积金基数配置")
@Schema(description = "类型:1社保基数配置;2公积金基数配置")
@ExcelProperty("类型:1社保基数配置;2公积金基数配置")
@ExcelAttribute(name = "类型:1社保基数配置;2公积金基数配置;3:调基")
@Schema(description = "类型:1社保基数配置;2公积金基数配置;3:调基")
@ExcelProperty("类型:1社保基数配置;2公积金基数配置;3:调基")
private Integer type;
/**
......
......@@ -24,6 +24,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialFundInfoService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
......@@ -154,4 +155,18 @@ public class TSocialFundInfoController {
public void export(HttpServletResponse response, @RequestBody TSocialFundInfoSearchVo searchVo) {
tSocialFundInfoService.listExport(response,searchVo);
}
/**
* @param id 社保公积金查询表的主键
* @Description: 根据id查询详情
* @Author: hgw
* @Date: 2022/7/21 16:08
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo>
**/
@Operation(description = "前端使用:根据id查询详情")
@PostMapping("/getDetailById")
public R<TSocialFundInfoDetailVo> getDetailById(@RequestParam String id) {
return R.ok(tSocialFundInfoService.getDetailById(id));
}
}
......@@ -23,6 +23,7 @@ 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.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import javax.servlet.http.HttpServletResponse;
......@@ -48,4 +49,14 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> {
void listExport(HttpServletResponse response, TSocialFundInfoSearchVo searchVo);
List<TSocialFundInfo> noPageDiy(TSocialFundInfoSearchVo searchVo);
/**
* @param id
* @Description: 社保公积金查询的详情
* @Author: hgw
* @Date: 2022/7/21 16:05
* @return: com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo
**/
TSocialFundInfoDetailVo getDetailById(String id);
}
......@@ -334,7 +334,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
if (Common.isNotNull(fundList)) {
for (TSocialFundInfo providentFund : fundList) {
createMonth = ServiceUtil.initCreateMonth(providentFund.getCreateTime(), payMonth);
sfMapKey = this.getMapKey(providentFund.getEmpIdcard(), providentFund.getSettleDomain(), payMonth, createMonth);
sfMapKey = this.getMapKey(providentFund.getEmpIdcard(), providentFund.getSettleDomainFund(), payMonth, createMonth);
// 变更:已推送的,计算变更值
tForecastLibrary = fundPushMap.get(sfMapKey);
if (null != tForecastLibrary) {
......@@ -1160,8 +1160,8 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
lib.setFundCity(providentFund.getFundCity());
lib.setFundTown(providentFund.getFundTown());
lib.setProvidentId(providentFund.getId());
lib.setUnitId(providentFund.getUnitId());
lib.setSettleDomainId(providentFund.getSettleDomain());
lib.setUnitId(providentFund.getUnitIdFund());
lib.setSettleDomainId(providentFund.getSettleDomainFund());
//判断是否允许补缴 是否可补缴 0:是
Integer monthT = null;
......
......@@ -30,14 +30,25 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAuditInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialLog;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialFundInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TAuditInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TDispatchInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialFundInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialLogService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
......@@ -55,8 +66,15 @@ import java.util.List;
* @date 2022-07-15 11:38:05
*/
@Log4j2
@RequiredArgsConstructor
@Service
public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMapper, TSocialFundInfo> implements TSocialFundInfoService {
private final ArchivesDaprUtil archivesDaprUtil;
private final TDispatchInfoService tDispatchInfoService;
private final TSocialLogService tSocialLogService;
private final TAuditInfoService tAuditInfoService;
/**
* 社保公积金查询表简单分页查询
* @param tSocialFundInfo 社保公积金查询表
......@@ -243,4 +261,73 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
BeanUtil.copyProperties(excel, insert);
this.save(insert);
}
@Override
public TSocialFundInfoDetailVo getDetailById(String id) {
TSocialFundInfoDetailVo detailVo = new TSocialFundInfoDetailVo();
TSocialFundInfo socialFundInfo = this.getById(id);
if (socialFundInfo != null) {
// 主表信息
detailVo.setSocialFundInfo(socialFundInfo);
// 人员信息
if (Common.isNotNull(socialFundInfo.getEmpId())) {
R<TEmployeeInfo> employeeInfoR = archivesDaprUtil.getTEmployeeInfoById(socialFundInfo.getEmpId());
if (employeeInfoR != null && employeeInfoR.getCode() == CommonConstants.SUCCESS) {
detailVo.setEmployeeInfo(employeeInfoR.getData());
}
// 社保所属项目
if (Common.isNotNull(socialFundInfo.getSettleDomain())) {
TEmployeeProject employeeProject = new TEmployeeProject();
employeeProject.setEmpId(socialFundInfo.getEmpId());
employeeProject.setDeptId(socialFundInfo.getSettleDomain());
R<TEmployeeProject> employeeProjectR = archivesDaprUtil.getTEmployeeProjectById(employeeProject);
if (employeeProjectR != null && employeeProjectR.getCode() == CommonConstants.SUCCESS) {
detailVo.setSocialProject(employeeProjectR.getData());
}
}
// 公积金所属项目
if (Common.isNotNull(socialFundInfo.getSettleDomainFund())) {
TEmployeeProject employeeProject = new TEmployeeProject();
employeeProject.setEmpId(socialFundInfo.getEmpId());
employeeProject.setDeptId(socialFundInfo.getSettleDomainFund());
R<TEmployeeProject> employeeProjectR = archivesDaprUtil.getTEmployeeProjectById(employeeProject);
if (employeeProjectR != null && employeeProjectR.getCode() == CommonConstants.SUCCESS) {
detailVo.setFundProject(employeeProjectR.getData());
}
}
}
// 2022-7-21 12:00
// 倩倩已确认,社保公积金详情里的合同,采用社保/公积金对应的派单的合同信息(去除状态)
// 另外,基数sheet,采用变更日志,不是调基表。
// 社保所属合同
if (Common.isNotNull(socialFundInfo.getSocialId())) {
TDispatchInfo dispatchInfo = tDispatchInfoService.getOne(Wrappers.<TDispatchInfo>query().lambda()
.eq(TDispatchInfo::getSocialId, socialFundInfo.getSocialId())
.eq(TDispatchInfo::getType, CommonConstants.ZERO_STRING)
.orderByDesc(TDispatchInfo::getCreateTime).last(CommonConstants.LAST_ONE_SQL));
detailVo.setSocialContract(dispatchInfo);
}
// 公积金所属合同
if (Common.isNotNull(socialFundInfo.getFundId())) {
TDispatchInfo dispatchInfo = tDispatchInfoService.getOne(Wrappers.<TDispatchInfo>query().lambda()
.eq(TDispatchInfo::getFundId, socialFundInfo.getFundId())
.eq(TDispatchInfo::getType, CommonConstants.ZERO_STRING)
.orderByDesc(TDispatchInfo::getCreateTime).last(CommonConstants.LAST_ONE_SQL));
detailVo.setFundContract(dispatchInfo);
}
// 调基记录
List<TSocialLog> socialLogList = tSocialLogService.list(Wrappers.<TSocialLog>query().lambda()
.eq(TSocialLog::getType, CommonConstants.THREE_INT)
.eq(TSocialLog::getMainId, socialFundInfo.getId())
.orderByDesc(TSocialLog::getCreateTime));
detailVo.setLogList(socialLogList);
// 流程进展明细
List<TAuditInfo> auditInfoList = tAuditInfoService.list(Wrappers.<TAuditInfo>query().lambda()
.eq(TAuditInfo::getEmpIdcard, socialFundInfo.getEmpIdcard())
.orderByDesc(TAuditInfo::getCreateTime));
detailVo.setAuditList(auditInfoList);
}
return detailVo;
}
}
\ 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.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.social.entity.TAuditInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialLog;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 社保公积金查询表
*
* @author fxj
* @date 2022-07-15 11:38:05
*/
@Data
public class TSocialFundInfoDetailVo implements Serializable {
@Schema(description = "主表信息")
private TSocialFundInfo socialFundInfo;
@Schema(description = "人员信息")
private TEmployeeInfo employeeInfo;
@Schema(description = "社保所属项目")
private TEmployeeProject socialProject;
@Schema(description = "公积金所属项目")
private TEmployeeProject fundProject;
@Schema(description = "社保所属合同(社保对应的派单里的合同信息)")
private TDispatchInfo socialContract;
@Schema(description = "公积金所属合同")
private TDispatchInfo fundContract;
@Schema(description = "调基记录")
private List<TSocialLog> logList;
@Schema(description = "流程进展明细")
private List<TAuditInfo> auditList;
}
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