Commit b037a918 authored by huyuchen's avatar huyuchen

huych-合同自动化提交

parent 9355a2ec
package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
* 合同待签订任务记录表
*
* @author huych
* @date 2025-06-11 14:15:53
*/
@Data
@TableName("t_employee_contract_pre")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "合同待签订任务记录表")
public class TEmployeeContractPre extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "id")
private String id;
@Schema(description = "项目名称")
private String deptName;
@Schema(description = "项目编码")
private String deptNo;
@Schema(description = "项目id")
private String deptId;
@Schema(description = "员工姓名")
private String employeeName;
@Schema(description = "身份证号")
private String empIdcard;
@Schema(description = "手机号码")
private String empPhone;
@Schema(description = "就职岗位")
private String position;
@Schema(description = "入职日期")
private Date joinLeaveDate;
@Schema(description = "合同类型,标准合同/劳务协议/实习协议/劳务派遣合同/非全日制/其他合同")
private String contractType;
@Schema(description = "状态,0待确认,1待发起,2线下签待审核,3线下签审核不通过4线下签待归档5发起失败6签署中7签署失败8电子待归档9已完结")
private String processStatus;
@Schema(description = "签署甲方")
private String signatory;
@Schema(description = "前端客服")
private String customerUsername;
@Schema(description = "前端客服登录名")
private String customerUserLoginname;
@Schema(description = "签署方式0线下签1电子签")
private String signType;
@Schema(description = "是否撤销签署0是1否")
private String signFlag;
@Schema(description = "撤销签署原因")
private String revokeReason;
@Schema(description = "异常原因")
private String errorInfo;
@Schema(description = "法大大模版名称")
private String fadadaTemplate;
@Schema(description = "数据来源1客户端 2客服端")
private String dataSource;
/**
* 预计确认时间
*/
@Schema(description = "预计确认时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime expectedConfirmTime;
@Schema(description = "预计发起时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime expectedCollectionTime;
@Schema(description = "确认人")
private String confirmUser;
@Schema(description = "合同名称")
private String contractName;
@Schema(description = "合同起始时间")
private Date contractStart;
@Schema(description = "合同到期时间")
private Date contractEnd;
@Schema(description = "签订类型")
private String situation;
@Schema(description = "合同年限, 0 固定期限 1 无固定期限 3.以完成一定工作任务为期限")
private String contractTerm;
@Schema(description = "合同年限-年")
private String contractDuratioYear;
@Schema(description = "合同年限-月")
private String contractDuratioMonth;
@Schema(description = "合同试用期开始时间")
private Date periodStart;
@Schema(description = "合同试用期结束时间")
private Date periodEnd;
@Schema(description = "配置名称")
private String configName;
@Schema(description = "是否允许修改 0是 1否")
private String updateFlag;
@Schema(description = "是否有试用期 0是1否")
private String tryPeriodType;
@Schema(description = "试用期(单位月)")
private String tryPeriod;
@Schema(description = "试用期工资 元/月")
private BigDecimal periodSalaryPerMonth;
@Schema(description = "工资形式 1.计时工资 2.计件工资 3.其他")
private String salaryType;
@Schema(description = "计时工资 工资标准 元/月 ")
private BigDecimal salaryStandardPerHour;
@Schema(description = "计件工资 工资标准单价/元 ")
private BigDecimal salaryStandardPerPiece;
@Schema(description = "配置id")
private String configId;
@Schema(description = "工作部门")
private String workingDept;
@Schema(description = "用工单位名称")
private String workingCompany;
@Schema(description = "工时制(数据字典) 1标准工时 2 综合工时 3不定时工时制")
private String workingHours;
@Schema(description = "试用期工资(元/月)")
private String workingReward;
@Schema(description = "购买补充保险说明")
private String riskBuyDesc;
@Schema(description = "其他 (工资形式其他时的工资)")
private String otherWage;
@Schema(description = "劳务费(元/月)")
private String laborCost;
@Schema(description = "违约责任(金额)")
private String defaultAmount;
@Schema(description = "工资结算周期")
private String settlementCycle;
@Schema(description = "工资发放时间")
private String paymentTime;
@Schema(description = "工资发放方式 0 直接发放/委托银行代发")
private String paymentType;
@Schema(description = "派遣期限")
private String dispatchPeriod;
@Schema(description = "派遣开始日期")
private Date dispatchPeriodStart;
@Schema(description = "派遣结束日期")
private Date dispatchPeriodEnd;
@Schema(description = "工作方式 0 第一种方式 1 第二种方式")
private String workType;
@Schema(description = "每周工作天数")
private String workDayCount;
@Schema(description = "每周工作日")
private String workDay;
@Schema(description = "每日工作时长")
private String workHours;
@Schema(description = "其他工作时间 (工作方式为第二种方式)")
private String otherWorkDay;
@Schema(description = "实习期限 无/一个月/两个月.../十二个月")
private String internshipPeriod;
@Schema(description = "实习开始日期")
private Date internshipPeriodStart;
@Schema(description = "实习结束日期")
private Date internshipPeriodEnd;
@Schema(description = "合同岗位 0 固定岗位 1 等于档案处维护 2 自定义")
private String postType;
@Schema(description = "合同岗位名称")
private String post;
@Schema(description = "关联合同id")
private String contractId;
@Schema(description = "工作地点")
private String workAddress;
@Schema(description = "入离职登记主表id")
private String registerId;
}
......@@ -31,6 +31,7 @@ import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
/**
* 员工合同-批量操作的VO
*
......
......@@ -2,7 +2,6 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAttaInfo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
......@@ -124,6 +123,9 @@ public class EmployeeRegistrationPreVo implements Serializable {
@Schema(description = "商险待派单信息集合")
private List<TEmployeeInsurancePreVo> employeeInsurancePreVos;
@Schema(description = "合同待派单信息")
private TEmployeeContractPreVo employeeContractPreVo;
@Schema(description = "附件集合")
private List<TAttaInfoSaveVo> attaList;
......
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 自动化办理反馈vo
*
* @author huych
* @date 2025-06-12 10:01:13
*/
@Data
public class TEmployeeAutoRegistCheckVo implements Serializable {
@ExcelAttribute(name = "员工姓名")
@Schema(description = "员工姓名")
@ExcelProperty("员工姓名")
private String employeeName;
@ExcelAttribute(name = "身份证号")
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String empIdcard;
@ExcelAttribute(name = "项目名称")
@Schema(description = "项目名称")
@ExcelProperty("项目名称")
private String deptName;
@ExcelAttribute(name = "项目编码")
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
private String deptNo;
@ExcelAttribute(name = "类型")
@Schema(description = "类型,社保、公积金、商险、合同")
@ExcelProperty("类型")
private String type;
@ExcelAttribute(name = "错误信息")
@Schema(description = "错误信息")
@ExcelProperty("错误信息")
private String errorMsg;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 自动化办理反馈vo
*
* @author huych
* @date 2025-06-12 10:01:13
*/
@Data
public class TEmployeeAutoRegistRevokeVo implements Serializable {
@Schema(description = "类型,社保、公积金、商险、合同")
private String id;
@Schema(description = "撤销签署原因")
private String reason;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 合同待签订任务记录表
*
* @author huych
* @date 2025-06-11 14:15:53
*/
@Data
public class TEmployeeContractPreExportVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "项目名称")
@Schema(description = "项目名称")
@ExcelProperty("项目名称")
private String deptName;
@ExcelAttribute(name = "项目编码")
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
private String deptNo;
@ExcelAttribute(name = "员工姓名")
@Schema(description = "员工姓名")
@ExcelProperty("员工姓名")
private String employeeName;
@ExcelAttribute(name = "身份证号")
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String empIdcard;
@ExcelAttribute(name = "手机号码")
@Schema(description = "手机号码")
@ExcelProperty("手机号码")
private String empPhone;
@ExcelAttribute(name = "就职岗位")
@Schema(description = "就职岗位")
@ExcelProperty("就职岗位")
private String position;
/**
* 入职日期
*/
@ExcelAttribute(name = "入职日期", isDate = true)
@Schema(description = "入职日期")
@ExcelProperty("入职日期")
private Date joinLeaveDate;
@ExcelAttribute(name = "合同类型")
@Schema(description = "合同类型")
@ExcelProperty("合同类型")
private String contractType;
@ExcelAttribute(name = "签署甲方")
@Schema(description = "签署甲方")
@ExcelProperty("签署甲方")
private String signatory;
@ExcelAttribute(name = "前端客服")
@Schema(description = "前端客服")
@ExcelProperty("前端客服")
private String customerUsername;
@ExcelAttribute(name = "签署方式")
@Schema(description = "签署方式")
@ExcelProperty("签署方式")
private String signType;
@ExcelAttribute(name = "法大大模版名称")
@Schema(description = "法大大模版名称")
@ExcelProperty("法大大模版名称")
private String fadadaTemplate;
/**
* 预计确认时间
*/
@ExcelAttribute(name = "预计确认时间", isDate = true)
@Schema(description = "预计确认时间")
@ExcelProperty("预计确认时间")
private Date expectedConfirmTime;
/**
* 预计发起时间
*/
@ExcelAttribute(name = "预计发起时间", isDate = true)
@Schema(description = "预计发起时间")
@ExcelProperty("预计发起时间")
private Date expectedCollectionTime;
@ExcelAttribute(name = "状态")
@Schema(description = "状态")
@ExcelProperty("状态")
private String processStatus;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 合同待签订任务记录表
*
* @author huych
* @date 2025-06-11 14:15:53
*/
@Data
public class TEmployeeContractPreSearchVo extends TEmployeeContractPre {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,id数组")
private List<String> idList;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
//开始时间(查询专用)
@Schema(description = "入离职开始时间")
@TableField(exist = false)
private LocalDateTime joinTimeStart;
//截止时间(查询专用)
@Schema(description = "入离职截止时间")
@TableField(exist = false)
private LocalDateTime joinTimeEnd;
@Schema(description = "处理状态数组")
@TableField(exist = false)
private List<String> statusList;
@Schema(description = "项目权限数组")
@TableField(exist = false)
private List<String> deptNoList;
@Schema(description = "列表类型 1 待办 2监控")
private String type;
}
......@@ -22,10 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.constants.ArchivesConstants;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeContractInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpContractAuditVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.IdNameNoVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
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.ErrorMessage;
......@@ -413,4 +410,18 @@ public class TEmployeeContractInfoController {
return tEmployeeContractInfoService.getMinDateByCardAndDeptId(idVo);
}
/**
* @Author huych
* @Description 查询是否存在正常或者在途的合同
* @Date 10:36 2025/6/12
* @Param
* @return
**/
@Operation(summary = "查询是否存在正常或者在途的合同", description = "查询是否存在正常或者在途的合同")
@Inner
@PostMapping("/selectExitEmpCopntract")
public Boolean selectExitEmpCopntract(@RequestBody TEmployeeAutoRegistCheckVo cardVo) {
return tEmployeeContractInfoService.selectExitEmpCopntract(cardVo);
}
}
package com.yifu.cloud.plus.v1.yifu.archives.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeContractPreService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeAutoRegistRevokeVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 合同待签订任务记录表
*
* @author huych
* @date 2025-06-11 14:15:53
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/temployeecontractpre" )
@Tag(name = "合同待签订任务记录表管理")
public class TEmployeeContractPreController {
private final TEmployeeContractPreService tEmployeeContractPreService;
private final MenuUtil menuUtil;
private final TEmployeeContractInfoMapper employeeContractInfoMapper;
/**
* 简单分页查询
* @param page 分页对象
* @param tEmployeeContractPre 合同待签订任务记录表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TEmployeeContractPre>> getTEmployeeContractPrePage(Page<TEmployeeContractPre> page, TEmployeeContractPreSearchVo tEmployeeContractPre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tEmployeeContractPre);
return new R<>(tEmployeeContractPreService.getTEmployeeContractPrePage(page,tEmployeeContractPre));
}
/**
* 通过id查询合同待签订任务记录表
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}" )
public R<TEmployeeContractPre> getById(@PathVariable("id" ) String id) {
return R.ok(tEmployeeContractPreService.getById(id));
}
/**
* 不分页查询
* @param tEmployeeContractPre 商险待办任务表
* @return
*/
@Operation(description = "不分页查询")
@GetMapping("/noPage")
public R<List<TEmployeeContractPre>> getTEmployeeContractPreNoPage(TEmployeeContractPreSearchVo tEmployeeContractPre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tEmployeeContractPre);
return new R<>(tEmployeeContractPreService.getTEmployeeContractPreNoPage(tEmployeeContractPre));
}
/**
* 合同待签订数量查询
* @param tEmployeeContractPre 合同待签订任务表
* @return
*/
@Operation(description = "合同待签订数量查询")
@GetMapping("/getListCount")
public R getListCount(TEmployeeContractPreSearchVo tEmployeeContractPre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tEmployeeContractPre);
return R.ok(tEmployeeContractPreService.getTEmployeeContractCount(tEmployeeContractPre));
}
/**
* 合同待签订信息单个/批量确认
* @param idList id数组
**/
@Operation(description = "合同待签订信息单个/批量确认")
@PostMapping("/confirm")
public R confirm(@RequestBody List<String> idList) {
return tEmployeeContractPreService.confirm(idList);
}
/**
* 合同待签订信息单个/批量发起签署任务
* @param idList id数组
**/
@Operation(description = "合同待签订信息单个/批量发起签署任务")
@PostMapping("/dispatcherContract")
public R dispatcherContract(@RequestBody List<String> idList) {
return tEmployeeContractPreService.dispatcherContract(idList);
}
/**
* 合同待签订撤销签署
* @param registRevokeVoList 撤销合同数组
**/
@Operation(description = "合同待签订撤销签署")
@PostMapping("/revokeSign")
public R revokeSign(@RequestBody List<TEmployeeAutoRegistRevokeVo> registRevokeVoList) {
return tEmployeeContractPreService.revokeSign(registRevokeVoList);
}
/**
* 新增合同待签订任务记录表
* @param tEmployeeContractPre 合同待签订任务记录表
* @return R
*/
@Operation(summary = "新增合同待签订任务记录表", description = "新增合同待签订任务记录表")
@SysLog("新增合同待签订任务记录表" )
@PostMapping
public R<Boolean> save(@RequestBody TEmployeeContractPre tEmployeeContractPre) {
return R.ok(tEmployeeContractPreService.save(tEmployeeContractPre));
}
/**
* 修改合同待签订任务记录表
* @param tEmployeeContractPre 合同待签订任务记录表
* @return R
*/
@Operation(summary = "修改合同待签订任务记录表", description = "修改合同待签订任务记录表")
@SysLog("修改合同待签订任务记录表" )
@PutMapping
public R<Boolean> updateById(@RequestBody TEmployeeContractPre tEmployeeContractPre) {
return R.ok(tEmployeeContractPreService.updateById(tEmployeeContractPre));
}
/**
* 通过id删除合同待签订任务记录表
* @param id id
* @return R
*/
@Operation(summary = "通过id删除合同待签订任务记录表", description = "通过id删除合同待签订任务记录表:hasPermission('archives_temployeecontractpre_del')")
@SysLog("通过id删除合同待签订任务记录表" )
@DeleteMapping("/{id}" )
@PreAuthorize("@pms.hasPermission('archives_temployeecontractpre_del')" )
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tEmployeeContractPreService.removeById(id));
}
/**
* 合同待签订任务记录表 批量导出
* @author huych
* @date 2025-06-11 14:15:53
**/
@Operation(description = "导出合同待签订任务记录表")
@PostMapping("/export")
public void export(HttpServletResponse response, @RequestBody TEmployeeContractPreSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, searchVo);
tEmployeeContractPreService.listExport(response,searchVo);
}
/**
* 新增合同待签订任务记录表
* @author huych
* @date 2025-06-12 14:26:32
**/
@Operation(description = "新增合同待签订任务记录表")
@Inner
@PostMapping("/inner/saveContractPreInfo")
public Boolean saveContractPreInfo(@RequestBody TEmployeeContractPreVo preVo) {
return tEmployeeContractPreService.saveContractPreInfo(preVo);
}
/**
* 查询在用或者在途的合同数据
* @param deptNo 项目编码
* @param empIdcard 身份证号
* @return
*/
@Operation(description = "查询在用或者在途的合同数据")
@GetMapping("/getContractInfo")
public R<TEmployeeContractInfo> getInuseContractInfo(@RequestParam String deptNo,@RequestParam String empIdcard) {
TEmployeeContractInfo employeeContractInfo = employeeContractInfoMapper.selectOne(Wrappers.<TEmployeeContractInfo>query().lambda()
.eq(TEmployeeContractInfo::getEmpIdcard, empIdcard)
.eq(TEmployeeContractInfo::getDeptNo, deptNo)
.and(obj -> obj.eq(TEmployeeContractInfo::getAuditStatus, CommonConstants.ONE_INT)
.or()
.eq(TEmployeeContractInfo::getAuditStatus, CommonConstants.TWO_INT)
.eq(TEmployeeContractInfo::getInUse, CommonConstants.ZERO_STRING)
)
.eq(TEmployeeContractInfo::getDeleteFlag, CommonConstants.ZERO_INT)
.last(CommonConstants.LAST_ONE_SQL));
return R.ok(employeeContractInfo);
}
}
package com.yifu.cloud.plus.v1.yifu.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreExportVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreSearchVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 合同待签订任务记录表
*
* @author huych
* @date 2025-06-11 14:15:53
*/
@Mapper
public interface TEmployeeContractPreMapper extends BaseMapper<TEmployeeContractPre> {
/**
* 合同待签订任务记录表简单分页查询
* @param tEmployeeContractPre 合同待签订任务记录表
* @return
*/
IPage<TEmployeeContractPre> getTEmployeeContractPrePage(Page<TEmployeeContractPre> page, @Param("tEmployeeContractPre") TEmployeeContractPreSearchVo tEmployeeContractPre);
List<TEmployeeContractPre> getTEmployeeContractPreNoPage(@Param("TEmployeeContractPre") TEmployeeContractPreSearchVo tEmployeeContractPre);
long getTEmployeeContractPreExportCount(@Param("tEmployeeContractPre") TEmployeeContractPreSearchVo tEmployeeContractPre);
List<TEmployeeContractPreExportVo> getTEmployeeContractPreExport(@Param("tEmployeeContractPre") TEmployeeContractPreSearchVo tEmployeeContractPre);
List<EmployeeContractVO> getDisPatcherContractList(@Param("idList") List<String> idList,@Param("statusList") List<String> statusList);
}
......@@ -141,6 +141,8 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract
**/
R<List<ErrorMessage>> batchImport(InputStream inputStream);
void importContract(List<EmployeeContractVO> excelVOList, List<ErrorMessage> errorMessageList);
/**
* @param inputStream
* @Description: 批量更新
......@@ -188,4 +190,6 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract
String getMinDateByCardAndDeptId(IdNameNoVo vo);
Boolean selectExitEmpCopntract(TEmployeeAutoRegistCheckVo cardVo);
}
package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeAutoRegistRevokeVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import org.apache.ibatis.annotations.Param;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 合同待签订任务记录表
*
* @author huych
* @date 2025-06-11 14:15:53
*/
public interface TEmployeeContractPreService extends IService<TEmployeeContractPre> {
/**
* 合同待签订任务记录表简单分页查询
* @param tEmployeeContractPre 合同待签订任务记录表
* @return
*/
IPage<TEmployeeContractPre> getTEmployeeContractPrePage(Page<TEmployeeContractPre> page, TEmployeeContractPreSearchVo tEmployeeContractPre);
List<TEmployeeContractPre> getTEmployeeContractPreNoPage(@Param("tEmployeeContractPre") TEmployeeContractPreSearchVo tEmployeeContractPre);
/**
* 查询合同待签订数量
* @param tEmployeeContractPre 查询合同待签订vo
* @return
*/
long getTEmployeeContractCount(TEmployeeContractPreSearchVo tEmployeeContractPre);
/**
* 导出合同待签订任务记录表
* @param response
* @param searchVo
*/
void listExport(HttpServletResponse response, TEmployeeContractPreSearchVo searchVo);
/**
* 新增合同待签订
* @param preVo
* @return
*/
Boolean saveContractPreInfo(TEmployeeContractPreVo preVo);
/**
* 合同待签订信息单个/批量确认
* @param idList id集合
* @return
*/
R confirm(List<String> idList);
/**
* 合同待签订信息单个/批量发起签署任务
* @param idList id集合
* @return
*/
R dispatcherContract(List<String> idList);
/**
* 合同待签订撤销签署
* @param registRevokeVoList
* @return
*/
R revokeSign(List<TEmployeeAutoRegistRevokeVo> registRevokeVoList);
}
......@@ -1971,6 +1971,24 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
return baseMapper.getMinDateByCardAndDeptId(vo);
}
@Override
public Boolean selectExitEmpCopntract(TEmployeeAutoRegistCheckVo cardVo) {
if (Common.isNotNull(cardVo) && Common.isNotNull(cardVo.getEmpIdcard()) && Common.isNotNull(cardVo.getDeptNo())) {
return baseMapper.selectCount(Wrappers.<TEmployeeContractInfo>query().lambda()
.eq(TEmployeeContractInfo::getEmpIdcard, cardVo.getEmpIdcard())
.eq(TEmployeeContractInfo::getDeptNo, cardVo.getDeptNo())
.and(obj -> obj.eq(TEmployeeContractInfo::getAuditStatus, CommonConstants.ONE_INT)
.or()
.eq(TEmployeeContractInfo::getAuditStatus, CommonConstants.TWO_INT)
.eq(TEmployeeContractInfo::getInUse, CommonConstants.ZERO_STRING)
)
.eq(TEmployeeContractInfo::getDeleteFlag, CommonConstants.ZERO_INT)
.last(CommonConstants.LAST_ONE_SQL)) > 0;
} else {
return false;
}
}
//是否同步终止合同、减项、减档为是的时候 单独写逻辑
public void changeStatus(TEmployeeContractInfo contractInfo,YifuUser user) {
//同步任务处理清单执行详情
......
......@@ -27,13 +27,11 @@ import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaMap;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysUserListVo;
import com.yifu.cloud.plus.v1.yifu.archives.constants.ArchivesConstants;
import com.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCutsomerDataPermisson;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TCutsomerDataPermissonMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TSettleDomainMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.EmployeeRegistrationPreService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeContractPreService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TSettleDomainService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
......@@ -80,6 +78,10 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
@Autowired
private InsuranceDaprUtil insuranceDaprUtil;
@Autowired
@Lazy
private TEmployeeContractPreService employeeContractPreService;
@Autowired
@Lazy
private EmployeeRegistrationPreService registrationPreService;
......@@ -588,6 +590,12 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
//更新商险待购买的前端客服
updateVo.setCustomerUserLoginName(vo.getLoginName());
insuranceDaprUtil.updateInsurancePreCustomerName(updateVo);
//更新合同待申请的前端客服
LambdaUpdateWrapper<TEmployeeContractPre> updateContractWrapper = new LambdaUpdateWrapper<>();
updateContractWrapper.eq(TEmployeeContractPre::getDeptNo,vo.getDepartNo())
.set(TEmployeeContractPre::getCustomerUsername, vo.getName())
.set(TEmployeeContractPre::getCustomerUserLoginname, vo.getLoginName());
employeeContractPreService.update(updateContractWrapper);
}
}
}catch (Exception e){
......
......@@ -611,4 +611,15 @@ public class ArchivesDaprUtil {
}
return res;
}
/**
* @Author huyc
* @Description 判断是否存在正常或者在途的合同
* @Date 10:26 2025/6/12
* @Param
* @return
**/
public R<Boolean> selectExitEmpCopntract(TEmployeeAutoRegistCheckVo cardVo) {
return HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/temployeecontractinfo/inner/selectExitEmpCopntract", JSON.toJSONString(cardVo), Boolean.class, SecurityConstants.FROM_IN);
}
}
package com.yifu.cloud.plus.v1.csp.vo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeAutoRegistCheckVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsuranceExitCheckVo;
import lombok.Data;
......@@ -17,7 +18,6 @@ public class EmployeeRegistrationBatchErrorVo implements Serializable {
private List<EmployeeRegistrationReceiveVo> registrationReceiveVoList;
private List<TEmployeeInsuranceExitCheckVo> errorList;
private List<TEmployeeAutoRegistCheckVo> errorList;
}
......@@ -253,6 +253,7 @@
1=1
<include refid="employeeRegistration_where"/>
</where>
limit 0,2000
</select>
<!--employeeRegistration简单分页查询-->
......
......@@ -42,6 +42,13 @@ public interface EkpSocialInfoMapper extends BaseMapper<EkpSocialInfo> {
*/
List<Map<String,String>> getAllserioNo();
/**
* 获取近七天的到账明细的交易流水号
* @param
* @return
*/
List<Map<String,String>> getAllserioNoLsatSevenDays();
/**
* 获取需要拉流水的银行账户
* @param
......
......@@ -1137,6 +1137,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
log.info("未找到对应的索引文件:{}", indexFileName);
continue;
}
// 3. 创建临时目录
String tempDir = System.getProperty("java.io.tmpdir") + "sftp_processing/" + System.currentTimeMillis() + "/";
File dir = new File(tempDir);
if (!dir.exists() && !dir.mkdirs()) {
......
......@@ -126,18 +126,18 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
String beginDate = tranDate;
String endDate = tranDate;
return getIcbcTransactionFlowCommon(tranDate,beginDate,endDate);
return getIcbcTransactionFlowCommon(tranDate,beginDate,endDate,"0");
}
@Override
public R getIcbcTransactionFlowYesterdayInner() throws IcbcApiException {
log.info("开始推昨日新增网银到账明细条数");
String tranDate = DateUtil.addDay(-1).replace("-","");
String tranDate = DateUtil.addDay(-7).replace("-","");
String beginDate = tranDate;
String endDate = tranDate;
String endDate = DateUtil.getThisDay();
return getIcbcTransactionFlowCommon(tranDate,beginDate,endDate);
return getIcbcTransactionFlowCommon(tranDate,beginDate,endDate, "1");
}
......@@ -148,7 +148,7 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
* @date 2024-09-26
* @since mvp1.6.11
*/
private R getIcbcTransactionFlowCommon(String tranDate, String beginDate, String endDate) throws IcbcApiException {
private R getIcbcTransactionFlowCommon(String tranDate, String beginDate, String endDate,String flag) throws IcbcApiException {
// 获取当前时间
LocalTime currentTime = LocalTime.now();
// 使用DateTimeFormatter格式化
......@@ -167,7 +167,13 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
}
// 查询当天的所有入账记录数据, 查账号和流水号
List<Map<String,String>> serioList = baseMapper.getAllserioNo();
List<Map<String,String>> serioList;
if ("0".equals(flag)) {
serioList = baseMapper.getAllserioNo();
} else {
//ekp1.9.12 获取近七天的到账明细的交易流水号
serioList = baseMapper.getAllserioNoLsatSevenDays();
}
// 整理各个账户下的流水:账号为key,账户下流水号列表作为value
Map<String,List<String>> serioMapByAccount = new HashMap<>();
if (!serioList.isEmpty()) {
......
......@@ -124,6 +124,14 @@
and fd_3b57f8de9df354 = '是'
</select>
<!--ekp1.9.12查询近七天的所有入账记录数据, 查账号和流水号-->
<select id="getAllserioNoLsatSevenDays" resultType="Map">
SELECT fd_3b573843db30ce as onlySequence,fd_3b62f3470beb30 as receiveBkNo from ekp_79c234bf64d412294f23
where DATE_FORMAT(fd_3aa4531d3b86e0, '%Y-%m-%d') between DATE_SUB(curdate(), INTERVAL 8 day) and DATE_ADD(now(), INTERVAL 1 day)
and fd_3b57f8de9df354 = '是'
</select>
<!--查询付款账户信息-->
<select id="getAccountList" resultType="Map">
select fd_3b14a2430ac214 as bank_name,fd_3b14a24376d86a as bank_no from ekp_fe8247b4cbb4b27881dd where fd_3b14a24b9adb52='启用' and fd_3b56747b811872='是';
......
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