Commit 7091fd7b authored by hongguangwu's avatar hongguangwu

Merge remote-tracking branch 'origin/develop' into develop

parents 17c743ca 82634100
......@@ -78,7 +78,7 @@ public class TEmpChangeInfo extends BaseEntity {
* 项目档案id
*/
@Schema(description ="项目档案id")
private Long proId;
private String proId;
/**
* 未结算费用 0:划转 1:不划转
......
......@@ -53,7 +53,6 @@ public class TEmployeeProject extends BaseEntity {
* 人员档案主表id
*/
@Schema(description ="人员档案主表id")
@NotNull(message = "人员档案主表id不能为空")
@Size(max = 32, message = "人员档案主表id不可超过32位")
private String empId;
......@@ -141,7 +140,6 @@ public class TEmployeeProject extends BaseEntity {
* 员工编码
*/
@Schema(description ="员工编码")
@NotNull(message = "员工编码不能为空")
@Size(max = 20, message = "员工编码不可超过20位")
private String empNo;
......
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
......@@ -22,36 +21,32 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名" ,maxLength = 20, isNotEmpty = true)
@ExcelAttribute(name = "员工姓名" ,maxLength = 20)
@Schema(description ="员工姓名")
@ExcelProperty("员工姓名")
private String empName;
/**
* 员工ID
*/
@ExcelAttribute(name = "员工ID")
@Schema(description ="员工ID")
private String empId;
/**
* 身份证号
*/
@ExcelAttribute(name = "身份证号" ,maxLength = 20, isNotEmpty = true)
@Schema(description ="身份证号")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 产生项目
*/
@ExcelAttribute(name = "产生项目" ,maxLength = 50, isNotEmpty = true)
@Schema(description ="产生项目")
@ExcelIgnore
private String project;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码" ,maxLength = 50, isNotEmpty = true)
@Schema(description ="项目编码")
@ExcelAttribute(name = "产生项目编码" ,maxLength = 50, isNotEmpty = true)
@Schema(description ="产生项目编码")
@ExcelProperty("产生项目编码")
private String projectCode;
/**
......@@ -59,13 +54,15 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
*/
@ExcelAttribute(name = "发生时间" , isNotEmpty = true)
@Schema(description ="发生时间")
@ExcelProperty("发生时间")
private Date happenTime;
/**
* 备注
*/
@ExcelAttribute(name = "备注", maxLength = 200, isNotEmpty = true)
@Schema(description ="备注")
@ExcelAttribute(name = "不良记录描述", maxLength = 200, isNotEmpty = true)
@Schema(description ="不良记录描述")
@ExcelProperty("不良记录描述")
private String remark;
/**
......@@ -73,6 +70,7 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
*/
@ExcelAttribute(name = "费用损失 " )
@Schema(description ="费用损失 (费用损失与其他费用损失其一必填)")
@ExcelProperty("费用损失")
private BigDecimal loseFee;
/**
......@@ -80,5 +78,6 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
*/
@ExcelAttribute(name = "其他损失" )
@Schema(description ="其他损失 (费用损失与其他费用损失其一必填)")
@ExcelProperty("其他损失")
private BigDecimal loseFeeOther;
}
......@@ -19,10 +19,10 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.Past;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
......@@ -67,13 +67,13 @@ public class EmployeeProjectExportVO{
* 身份证有效期起
*/
@ExcelProperty(value = "身份证开始日期")
private LocalDateTime validityStart;
private LocalDate validityStart;
/**
* 身份证有效期止
*/
@ExcelProperty(value = "身份证截止日期")
private LocalDateTime validityEnd;
private LocalDate validityEnd;
/**
* 婚姻状况
......@@ -175,13 +175,13 @@ public class EmployeeProjectExportVO{
* 入学时间
*/
@ExcelProperty(value = "入学时间")
private LocalDateTime admissionDate;
private LocalDate admissionDate;
/**
* 毕业时间
*/
@ExcelProperty(value = "毕业时间")
private LocalDateTime gradutionDate;
private LocalDate gradutionDate;
/**
* 备注
......@@ -267,7 +267,7 @@ public class EmployeeProjectExportVO{
*/
@ExcelProperty(value ="入职日期")
@Past
private LocalDateTime enjoinDate;
private LocalDate enjoinDate;
/**
* 试用期(单位月)
......
......@@ -23,9 +23,8 @@ import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Past;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalDate;
/**
* 项目档案表excel对应的实体
......@@ -113,7 +112,7 @@ public class EmployeeProjectVO implements Serializable {
*/
@ExcelProperty(value ="入职日期")
@Past
private LocalDateTime enjoinDate;
private LocalDate enjoinDate;
/**
* 试用期(单位月)
......
......@@ -19,11 +19,18 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fadada.api.bean.rsp.sign.SignUrlRsp;
import com.fadada.api.exception.ApiException;
import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractAttachInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.FddContractAttachInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.service.FddContractInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.utils.FddUtil;
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.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
......@@ -32,6 +39,11 @@ import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
* 法大大合同与员工合同信息
......@@ -48,6 +60,8 @@ public class FddContractInfoController {
private final FddContractInfoService fddContractInfoService;
private final FddContractAttachInfoService fddContractAttachInfoService;
/**
* 分页查询
* @param page 分页对象
......@@ -123,6 +137,133 @@ public class FddContractInfoController {
@SysLog("发送法大大电子合同定稿任务" )
@PostMapping("/send")
public R<String> send(FddContractInfo fddContractInfo) throws ApiException {
return fddContractInfoService.saveEmpContract(fddContractInfo);
FddContractAttachInfo fddContractAttachInfo = fddContractAttachInfoService.getById(fddContractInfo.getId());
return fddContractInfoService.saveEmpContract(fddContractAttachInfo);
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description:作废重签
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Operation(summary = "作废重签", description = "作废重签")
@PostMapping("/invalidAndsend")
public R<String> invalidAndsend(FddContractInfo fddContractInfo) throws ApiException {
return fddContractInfoService.invalidAndsend(fddContractInfo);
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description:公司获取在线定稿地址
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Operation(summary = "公司获取在线定稿地址", description = "公司获取在线定稿地址")
@PostMapping("/getCompanyFillFileUrl")
public R<String> getCompanyFillFileUrl(FddContractInfo fddContractInfo) throws ApiException {
return fddContractInfoService.getFillFileUrl(fddContractInfo, FddUtil.COMPANY);
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 员工获取在线定稿地址
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Operation(summary = "员工获取在线定稿地址", description = "员工获取在线定稿地址")
@PostMapping("/getPersonFillFileUrl")
public R<String> getPersonFillFileUrl(FddContractInfo fddContractInfo) throws ApiException {
return fddContractInfoService.getFillFileUrl(fddContractInfo, FddUtil.PERSON);
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 引用模板创建签署任务
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Operation(summary = "引用模板创建签署任务", description = "引用模板创建签署任务")
@PostMapping("/createTaskByDraftId")
public R<String> createTaskByDraftId(FddContractInfo fddContractInfo) throws ApiException {
//获取法大大电子合同
FddContractInfo entity = fddContractInfoService.getById(fddContractInfo.getId());
if (entity == null) {
return R.failed("未查询到相关记录");
}
YifuUser user = SecurityUtils.getUser();
FddContractAttachInfo fddContractAttachInfo = fddContractAttachInfoService.getOne(Wrappers.<FddContractAttachInfo>query().lambda()
.eq(FddContractAttachInfo::getContractId,entity.getContractId()));
if (!user.getId().equals(fddContractAttachInfo.getCreateBy())) {
return R.failed("当前用户不是电子合同导入用户,不能操作");
}
R<String> returnR = fddContractInfoService.createTaskByDraftId(entity);
if (returnR != null) {
//记录返回信息
if(returnR.getCode()== CommonConstants.SUCCESS){
fddContractInfo.setRemark("成功");
}else {
fddContractInfo.setRemark(returnR.getMsg());
}
}
fddContractInfoService.updateById(fddContractInfo);
return returnR;
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 获取签署链接
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Operation(summary = "获取签署链接", description = "获取签署链接")
@PostMapping("/getSignUrl")
public R<Map<String, List<SignUrlRsp>>> getSignUrl(FddContractInfo fddContractInfo) throws ApiException {
return fddContractInfoService.getSignUrl(fddContractInfo);
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 获取签署文件预览地址
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Operation(summary = "获取签署文件预览地址", description = "获取签署文件预览地址")
@PostMapping("/getSignPreviewUrl")
public R<String> getSignPreviewUrl(FddContractInfo fddContractInfo) throws ApiException {
return fddContractInfoService.getSignPreviewUrl(fddContractInfo);
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 签署文件下载
**/
@Operation(summary = "签署文件下载", description = "签署文件下载")
@PostMapping("/getBySignFileId")
public void getBySignFileId(FddContractInfo fddContractInfo, HttpServletResponse response) throws ApiException, IOException {
fddContractInfoService.getBySignFileId(fddContractInfo, response);
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 签署文件转移为合同附件
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Operation(summary = "签署文件转移为合同附件", description = "签署文件转移为合同附件")
@PostMapping("/moveFileToEmpConcat")
public R<String> moveFileToEmpConcat(FddContractInfo fddContractInfo, HttpServletResponse response) throws ApiException, IOException {
return fddContractInfoService.moveFileToEmpConcat(fddContractInfo, response);
}
}
......@@ -120,7 +120,7 @@ public class TElecEmployeeInfoController {
@SysLog("通过身份证号查询人员档案" )
@PostMapping("/getEmpInfo" )
public R getEmpInfoByCard(@RequestParam String idCard) {
return R.ok(tElecEmployeeInfoService.getEmpInfoByCard(idCard));
return tElecEmployeeInfoService.getEmpInfoByCard(idCard);
}
/**
......
......@@ -102,7 +102,7 @@ public class TEmployeeProjectController {
@PostMapping
@PreAuthorize("@pms.hasPermission('archives_temployeeproject_add')" )
public R save(@Valid @RequestBody TEmployeeProject tEmployeeProject) {
return R.ok(tEmployeeProjectService.save(tEmployeeProject));
return tEmployeeProjectService.saveEmp(tEmployeeProject);
}
/**
......@@ -143,7 +143,7 @@ public class TEmployeeProjectController {
@PostMapping("/check")
@PreAuthorize("@pms.hasPermission('archives_temployeeproject_add')" )
public R addCheck(@RequestBody TEmployeeProject tEmployeeProject) {
return R.ok(tEmployeeProjectService.addCheck(tEmployeeProject));
return tEmployeeProjectService.addCheck(tEmployeeProject);
}
/**
......@@ -158,7 +158,7 @@ public class TEmployeeProjectController {
@PostMapping("/reEmpInfo")
@PreAuthorize("@pms.hasPermission('archives_temployeeproject_reempinfo')" )
public R reEmpInfo(@RequestBody JSONObject jsonObject) {
return R.ok(tEmployeeProjectService.reEmpInfo(jsonObject));
return tEmployeeProjectService.reEmpInfo(jsonObject);
}
/**
......@@ -172,7 +172,7 @@ public class TEmployeeProjectController {
@PostMapping("/deleteEmpPro")
@PreAuthorize("@pms.hasPermission('archives_temployeeproject_delempproinfo')" )
public R deleteEmpPro(@RequestBody TEmployeeProject tEmployeeProject) {
return R.ok(tEmployeeProjectService.deleteEmpPro(tEmployeeProject));
return tEmployeeProjectService.deleteEmpPro(tEmployeeProject);
}
/**
......
......@@ -17,12 +17,18 @@
package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fadada.api.bean.rsp.sign.SignUrlRsp;
import com.fadada.api.exception.ApiException;
import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractAttachInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractInfo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
* 法大大合同与员工合同信息
*
......@@ -31,5 +37,77 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
*/
public interface FddContractInfoService extends IService<FddContractInfo> {
R<String> saveEmpContract(FddContractInfo fddContractInfo) throws ApiException;
/**
* 发送法大大电子合同定稿任务
* @param fddContractInfo 法大大合同信息表
* @Author: huyc
* @Date: 2022/6/30
* @return R
*/
R<String> saveEmpContract(FddContractAttachInfo fddContractInfo) throws ApiException;
/**
* 作废重签
* @param fddContractInfo 法大大合同信息表
* @Author: huyc
* @Date: 2022/6/30
* @return R
*/
R<String> invalidAndsend(FddContractInfo fddContractInfo) throws ApiException;
/**
* 获取在线定稿地址
* @param fddContractInfo
* @param roleName
* @Author: huyc
* @Date: 2022/6/30
* @return R
*/
R<String> getFillFileUrl(FddContractInfo fddContractInfo,String roleName) throws ApiException;
/**
* 引用模板创建签署任务
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @return R
*/
R<String> createTaskByDraftId(FddContractInfo fddContractInfo) throws ApiException;
/**
* 获取签署链接
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @return R
*/
R<Map<String, List<SignUrlRsp>>> getSignUrl(FddContractInfo fddContractInfo) throws ApiException;
/**
* 获取签署链接
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @return R
*/
R<String> getSignPreviewUrl(FddContractInfo fddContractInfo) throws ApiException;
/**
* 获取签署链接
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @return: void
*/
void getBySignFileId(FddContractInfo fddContractInfo, HttpServletResponse response) throws ApiException, IOException;
/**
* 签署文件转移为合同附件
* @param fddContractInfo
* @param response
* @Author: huyc
* @Date: 2022/6/30
* @return: R
**/
R<String> moveFileToEmpConcat(FddContractInfo fddContractInfo, HttpServletResponse response) throws ApiException, IOException;
}
......@@ -45,6 +45,8 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
R reEmpInfo(JSONObject jsonObject);
R saveEmp(TEmployeeProject tEmployeeProject);
/**
* @param tEmployeeProject
* @Description: 减项
......
......@@ -24,16 +24,36 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fadada.api.bean.req.account.NoticeReq;
import com.fadada.api.bean.req.document.GetBySignFileIdReq;
import com.fadada.api.bean.req.revise.CancelReviseTaskReq;
import com.fadada.api.bean.req.revise.CreateReviseTaskReq;
import com.fadada.api.bean.req.revise.GetFillFileUrlReq;
import com.fadada.api.bean.req.revise.ReviseTaskDetailReq;
import com.fadada.api.bean.req.sign.CancelSignTaskReq;
import com.fadada.api.bean.req.sign.GetSignPreviewUrlReq;
import com.fadada.api.bean.req.sign.GetSignUrlReq;
import com.fadada.api.bean.req.sign.TaskSenderReq;
import com.fadada.api.bean.req.sign.draft.CreateTaskByDraftIdReq;
import com.fadada.api.bean.rsp.BaseRsp;
import com.fadada.api.bean.rsp.document.DownLoadFileRsp;
import com.fadada.api.bean.rsp.revise.CreateReviseTaskRsp;
import com.fadada.api.bean.rsp.revise.GetFillFileUrlRsp;
import com.fadada.api.bean.rsp.revise.ReviseTaskDetailRsp;
import com.fadada.api.bean.rsp.sign.CreateTaskByDraftIdRsp;
import com.fadada.api.bean.rsp.sign.GetSignPreviewUrlRsp;
import com.fadada.api.bean.rsp.sign.GetSignUrlRsp;
import com.fadada.api.bean.rsp.sign.SignUrlRsp;
import com.fadada.api.client.DocumentClient;
import com.fadada.api.client.ReviseTaskClient;
import com.fadada.api.client.SignTaskClient;
import com.fadada.api.exception.ApiException;
import com.google.common.collect.Maps;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.FddContractInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.*;
import com.yifu.cloud.plus.v1.yifu.archives.utils.FddUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.CheckedException;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.LocalDateTimeUtils;
import com.yifu.cloud.plus.v1.yifu.common.core.util.OSSUtil;
......@@ -46,6 +66,10 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
......@@ -54,7 +78,6 @@ import java.util.stream.Collectors;
/**
* 法大大合同与员工合同信息
*
* @author fxj
* @date 2022-06-29 16:21:51
*/
......@@ -85,8 +108,8 @@ public class FddContractInfoServiceImpl extends ServiceImpl<FddContractInfoMappe
private FddContractAttachInfoService fddContractAttachInfoService;
// @Autowired
// private TEmployeeContractInfoService employeeContractInfoService;
@Autowired
private TEmployeeInfoService employeeInfoService;
// @Autowired
// private TEmployeeInfoService employeeInfoService;
@Autowired
private FddTemplateFieldInfoService fieldInfoService;
// 阿里云文件上传服务
......@@ -102,8 +125,7 @@ public class FddContractInfoServiceImpl extends ServiceImpl<FddContractInfoMappe
private TSettleDomainService tSettleDomainService;
@Override
public R<String> saveEmpContract(FddContractInfo fddContractInfo) throws ApiException {
FddContractAttachInfo fddContractAttachInfo = fddContractAttachInfoService.getById(fddContractInfo.getId());
public R<String> saveEmpContract(FddContractAttachInfo fddContractAttachInfo) throws ApiException {
YifuUser user = SecurityUtils.getUser();
if (!user.getId().equals(fddContractAttachInfo.getCreateBy())) {
return R.failed("当前用户不是电子合同导入用户,不能操作");
......@@ -166,8 +188,6 @@ public class FddContractInfoServiceImpl extends ServiceImpl<FddContractInfoMappe
CreateReviseTaskReq.FillTemplateFileInfo fileInfo = new CreateReviseTaskReq.FillTemplateFileInfo();
fileInfo.setFileId(fddContractTemplateFile.getFddFileId());
//员工填充数据
//FddEmployeeContractFillVo fddEmployeeContractFillVo = new FddEmployeeContractFillVo();
//fileInfo.setFormFields(JSON.toJSONString(fddEmployeeContractFillVo));
List<FddTemplateFieldInfo> personFields = fieldInfoService.getFddFields(fddContractTemplate.getFddTemplateId(),CommonConstants.ZERO_STRING);
if (Common.isNotNull(personFields)){
initPersonFields(fddContractAttachInfo,personFields);
......@@ -244,6 +264,348 @@ public class FddContractInfoServiceImpl extends ServiceImpl<FddContractInfoMappe
}
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 作废重签
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
* 1.去法大大撤销合同:已签署的撤销签署流程、再撤销定稿流程;未签署的撤销定稿流程
* 2.先复制一份合同、然后删除之前合同
* 3.新增一条合同
**/
@Override
public R<String> invalidAndsend(FddContractInfo fddContractInfo) throws ApiException {
FddContractInfo entity = this.getById(fddContractInfo.getId());
if (StringUtils.equals(entity.getDeleteFlag(), CommonConstants.ONE_STRING)) {
return R.failed("电子合同已作废");
}
if(StringUtils.equals(CommonConstants.TWO_STRING,entity.getSignStatus())){
return R.failed("合同签署任务已完成,不能作废重签");
}
YifuUser user = SecurityUtils.getUser();
FddContractAttachInfo fddContractAttachInfo = fddContractAttachInfoService.getOne(Wrappers.<FddContractAttachInfo>query().lambda()
.eq(FddContractAttachInfo::getContractId,entity.getContractId()));
if (!user.getId().equals(fddContractAttachInfo.getCreateBy())) {
return R.failed("当前用户不是电子合同导入用户,不能操作");
}
if (StringUtils.isNotEmpty(entity.getSignTaskId())) {
//发送撤销签署
CancelSignTaskReq req = new CancelSignTaskReq();
req.setToken(fddUtil.getToken());
req.setTaskId(entity.getSignTaskId());
req.setRemark("签署撤销");
SignTaskClient client = new SignTaskClient(fddUtil.getFadadaApiClient());
BaseRsp<GetSignUrlRsp> rsp = client.cancelSignTask(req);
reqLogService.saveLog(this.getClass().getName(), Thread.currentThread().getStackTrace()[1].getMethodName(), req, rsp);
//校验参数
if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
//更新签署任务为空
baseMapper.cancleSignTask(entity.getId());
return cancleReviSeTask(entity);
} else {
return R.failed(rsp.getMsg());
}
} else if (StringUtils.isNotEmpty(entity.getTaskId())) {
return cancleReviSeTask(entity);
} else {
return R.failed("当前电子合同未发送");
}
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 获取在线定稿地址
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Override
public R<String> getFillFileUrl(FddContractInfo fddContractInfo, String roleName) throws ApiException {
//获取法大大电子合同
FddContractInfo entity = this.getById(fddContractInfo.getId());
if (entity == null) {
return R.failed("未查询到相关记录");
}
if (StringUtils.isEmpty(entity.getTaskId())) {
return R.failed(FILL_FILE_ID_NULL);
}
//发送请求
GetFillFileUrlReq req = new GetFillFileUrlReq();
req.setToken(fddUtil.getToken());
req.setTaskId(entity.getTaskId());
req.setRoleName(roleName);
ReviseTaskClient client = new ReviseTaskClient(fddUtil.getFadadaApiClient());
BaseRsp<GetFillFileUrlRsp> rsp = client.getFillFileUrl(req);
reqLogService.saveLog(this.getClass().getName(), Thread.currentThread().getStackTrace()[1].getMethodName(), req, rsp);
//校验参数
if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
return new R<>(rsp.getData().getFillUrl());
} else {
return R.failed(rsp.getMsg());
}
}
/**
* @param
* @Author: huyc
* @Date: 2022/6/30
* @Description: 引用模板创建签署任务
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Override
public R<String> createTaskByDraftId(FddContractInfo entity) throws ApiException {
if (StringUtils.isEmpty(entity.getTaskId())) {
return R.failed(FILL_FILE_ID_NULL);
}
if (StringUtils.isEmpty(entity.getDraftId())) {
return R.failed("草稿id为空");
}
FddPersonAccount fddCompanyPersonAccount = fddPersonAccountService.getOne(Wrappers.<FddPersonAccount>query().lambda().eq(FddPersonAccount::getId, entity.getFddPersonAccountSendId()));
if (fddCompanyPersonAccount == null) {
return R.failed(NOT_FOUND_FDD_USER);
}
//获取用户章
List<FddSealPersonAuth> fddSealPersonAuth = fddSealPersonAuthService.list(Wrappers.<FddSealPersonAuth>query().lambda().eq(FddSealPersonAuth::getFddPersonAccountId, fddCompanyPersonAccount.getId())
.eq(FddSealPersonAuth::getStatus, CommonConstants.ONE_STRING));
if (fddSealPersonAuth == null) {
return R.failed("当前用户未授权系统章");
}
//获取员工法大大用户id
FddPersonAccount fddEmpAccount = fddPersonAccountService.getOne(Wrappers.<FddPersonAccount>query().lambda().eq(FddPersonAccount::getId, entity.getFddPersonAccountReceiveId()));
if (fddEmpAccount == null) {
return R.failed(NOT_FOUND_FDD_USER);
}
FddContractTemplate fddContractTemplate = fddContractTemplateService.getOne(Wrappers.<FddContractTemplate>query().lambda().eq(FddContractTemplate::getId, entity.getFddTemplateId()));
//获取法大大组织
FddCompanyInfo fddCompanyInfo = fddCompanyInfoService.getOne(Wrappers.<FddCompanyInfo>query().lambda().eq(FddCompanyInfo::getCompanyName, fddContractTemplate.getSignerName()));
if (fddCompanyInfo == null) {
return R.failed("未获取到对应法大大组织");
}
CreateTaskByDraftIdReq req = new CreateTaskByDraftIdReq();
req.setDraftId(entity.getDraftId());
req.setTaskSubject("合同签署");
req.setStatus("sent");
req.setSort(1);
//发起方对象
TaskSenderReq taskSenderReq = new TaskSenderReq();
taskSenderReq.setUnionId(fddCompanyInfo.getCompanyUnionId());
req.setSender(taskSenderReq);
//templateRoleName.模板角色名称
List<CreateTaskByDraftIdReq.CreateTaskSignerInfo> signers = new ArrayList<>();
//组装person signers---------------start
CreateTaskByDraftIdReq.CreateTaskSignerInfo signerInfo = new CreateTaskByDraftIdReq.CreateTaskSignerInfo();
signerInfo.setSignOrder(1);
signers.add(signerInfo);
signerInfo.setTemplateRoleName(FddUtil.PERSON);
//externalSigner
//signer
CreateTaskByDraftIdReq.SignatoryInfo signatory = new CreateTaskByDraftIdReq.SignatoryInfo();
signatory.setSignerId(fddEmpAccount.getUnionid());
CreateTaskByDraftIdReq.SignerInfo signer = new CreateTaskByDraftIdReq.SignerInfo();
signer.setSignatory(signatory);
com.fadada.api.bean.req.sign.NoticeReq perSionNotice = new com.fadada.api.bean.req.sign.NoticeReq();
perSionNotice.setNotifyWay(1);
perSionNotice.setNotifyAddress(fddEmpAccount.getMoblie());
signer.setNotice(perSionNotice);
signerInfo.setSigner(signer);
//组装person signers---------------end
//组装company signers---------------start
CreateTaskByDraftIdReq.CreateTaskSignerInfo companySignerInfo = new CreateTaskByDraftIdReq.CreateTaskSignerInfo();
companySignerInfo.setSignOrder(2);
signers.add(companySignerInfo);
companySignerInfo.setTemplateRoleName(FddUtil.COMPANY);
//externalSigner
//signer
CreateTaskByDraftIdReq.SignerInfo companySigner = new CreateTaskByDraftIdReq.SignerInfo();
CreateTaskByDraftIdReq.SignatoryInfo companySignatory = new CreateTaskByDraftIdReq.SignatoryInfo();
companySignatory.setSignerId(fddCompanyPersonAccount.getUnionid());
companySigner.setSignatory(companySignatory);
CreateTaskByDraftIdReq.CorpInfo corp = new CreateTaskByDraftIdReq.CorpInfo();
corp.setCorpId(fddCompanyInfo.getCompanyUnionId());
companySigner.setCorp(corp);
com.fadada.api.bean.req.sign.NoticeReq notice = new com.fadada.api.bean.req.sign.NoticeReq();
notice.setNotifyWay(1);
notice.setNotifyAddress(fddCompanyPersonAccount.getMoblie());
companySigner.setNotice(notice);
companySignerInfo.setSigner(companySigner);
//组装company signers---------------end
req.setSigners(signers);
//发送请求
//设置token
req.setToken(fddUtil.getToken());
SignTaskClient signTaskClient = new SignTaskClient(fddUtil.getFadadaApiClient());
BaseRsp<CreateTaskByDraftIdRsp> rsp = signTaskClient.createTaskByDraftId(req);
reqLogService.saveLog(this.getClass().getName(), Thread.currentThread().getStackTrace()[1].getMethodName(), req, rsp);
//校验参数
if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
entity.setSignTaskId(rsp.getData().getTaskId());
this.updateById(entity);
return new R<>("成功");
} else {
return R.failed(rsp.getMsg());
}
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 获取签署链接
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Override
public R<Map<String, List<SignUrlRsp>>> getSignUrl(FddContractInfo fddContractInfo) throws ApiException {
//获取法大大电子合同
FddContractInfo entity = this.getById(fddContractInfo.getId());
if (entity == null) {
return R.failed("未查询到相关记录");
}
if (StringUtils.isEmpty(entity.getTaskId())) {
return R.failed(FILL_FILE_ID_NULL);
}
//发送请求
GetSignUrlReq req = new GetSignUrlReq();
req.setToken(fddUtil.getToken());
req.setTaskId(entity.getSignTaskId());
req.setUnionId(entity.getSendUnionid());
SignTaskClient client = new SignTaskClient(fddUtil.getFadadaApiClient());
BaseRsp<GetSignUrlRsp> rsp = client.getSignUrl(req);
reqLogService.saveLog(this.getClass().getName(), Thread.currentThread().getStackTrace()[1].getMethodName(), req, rsp);
HashMap<String, List<SignUrlRsp>> hashMap = Maps.newHashMap();
//校验参数
if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
hashMap.put(FddUtil.COMPANY, rsp.getData().getSignUrls());
}
req.setUnionId(entity.getSendUnionid());
rsp = client.getSignUrl(req);
reqLogService.saveLog(this.getClass().getName(), Thread.currentThread().getStackTrace()[1].getMethodName(), req, rsp);
//校验参数
if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
hashMap.put(FddUtil.PERSON, rsp.getData().getSignUrls());
}
return new R<>(hashMap);
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 获取签署文件预览地址
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Override
public R<String> getSignPreviewUrl(FddContractInfo fddContractInfo) throws ApiException {
FddContractInfo entity = this.getById(fddContractInfo.getId());
if (entity == null || entity.getSignTaskId() == null) {
throw new CheckedException("未获取到对应签署任务");
}
//发送请求
GetSignPreviewUrlReq req = new GetSignPreviewUrlReq();
req.setToken(fddUtil.getToken());
req.setTaskId(entity.getSignTaskId());
SignTaskClient client = new SignTaskClient(fddUtil.getFadadaApiClient());
BaseRsp<GetSignPreviewUrlRsp> rsp = client.getSignPreviewUrl(req);
reqLogService.saveLog(this.getClass().getName(), Thread.currentThread().getStackTrace()[1].getMethodName(), req, rsp);
//校验参数
if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
return new R<>(rsp.getData().getSignPreviewUrl());
}
return R.failed(rsp.getMsg());
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 签署文件下载
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Override
public void getBySignFileId(FddContractInfo fddContractInfo, HttpServletResponse response) throws ApiException, IOException {
FddContractInfo entity = this.getById(fddContractInfo.getId());
if (entity == null || entity.getSignTaskId() == null) {
throw new CheckedException("未获取到对应签署任务");
}
//发送请求
GetBySignFileIdReq req = new GetBySignFileIdReq();
req.setToken(fddUtil.getToken());
req.setTaskId(entity.getSignTaskId());
DocumentClient client = new DocumentClient(fddUtil.getFadadaApiClient());
BaseRsp<DownLoadFileRsp> rsp = client.getBySignFileId(req);
//校验参数
if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
DownLoadFileRsp rspData = rsp.getData();
BufferedOutputStream fos = new BufferedOutputStream(response.getOutputStream());
response.reset();
response.setContentType("application/zip;");
response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode("合同.zip", CommonConstants.UTF8));
fos.write(rspData.getFileBytes());
}
}
/**
* @param fddContractInfo
* @param response
* @Description: 签署文件转移为合同附件
* @Author: huyc
* @Date: 2022/6/30
* @return: R
**/
@Override
public R<String> moveFileToEmpConcat(FddContractInfo fddContractInfo, HttpServletResponse response) throws ApiException, IOException {
// FddContractInfo entity = this.getById(fddContractInfo.getId());
// if (entity == null || entity.getSignTaskId() == null) {
// throw new CheckedException("未获取到对应签署任务");
// }
// TEmployeeContractInfo employeeContractInfo = employeeContractInfoService.getById(entity.getContractId());
// if (employeeContractInfo != null) {
// //发送请求
// GetBySignFileIdReq req = new GetBySignFileIdReq();
// req.setToken(fddUtil.getToken());
// req.setTaskId(entity.getSignTaskId());
// DocumentClient client = new DocumentClient(fddUtil.getFadadaApiClient());
// BaseRsp<DownLoadFileRsp> rsp = client.getBySignFileId(req);
// //校验参数
// if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
// DownLoadFileRsp rspData = rsp.getData();
// if (rspData != null) {
// InputStream bis = null;
// try {
// bis = new ByteArrayInputStream(rspData.getFileBytes());
// String name = System.currentTimeMillis() + "法大大电子签附件";
// String key = name + ".zip";
// ossUtil.uploadFileByStream(bis, key, null);
// // 1:保存为
//// TEmpAtta empAtta = BasicServiceUtil.initTEmpAttaForInsert(name, key, (long) rspData.getFileBytes().length);
//// empAttaService.save(empAtta);
//// MEmpContractAtta contractAtta = new MEmpContractAtta();
//// contractAtta.setAttaId(empAtta.getId());
//// contractAtta.setContractId(employeeContractInfo.getId());
//// mempContractAttaService.save(contractAtta);
// FddContractAttachInfo fddContractAttachInfo = fddContractAttachInfoService.getOne(Wrappers.<FddContractAttachInfo>query().lambda()
// .eq(FddContractAttachInfo::getContractId,entity.getContractId()).last(CommonConstants.LAST_ONE_SQL));
// if (fddContractAttachInfo != null) {
// fddContractAttachInfo.setIsMove(CommonConstants.ONE_INT);
// fddContractAttachInfoService.updateById(fddContractAttachInfo);
// }
// return R.ok();
// } finally {
// if (bis != null) {
// bis.close();
// }
// }
// }
// }
// }
return R.failed("转移失败");
}
public R<String> generalEmployeeParamNew(FddContractAttachInfo attachInfo,
Map<String, String> companyFieldMap) {
JSONObject paramter = new JSONObject();
......@@ -413,4 +775,64 @@ public class FddContractInfoServiceImpl extends ServiceImpl<FddContractInfoMappe
ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
return Date.from(zonedDateTime.toInstant());
}
/**
* @param entity
* @Author: huyc
* @Date: 2022/6/30
* @Description: 撤销定稿任务
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
private R<String> cancleReviSeTask(FddContractInfo entity) throws ApiException {
//定稿任务状态:0 待发起 、1定稿中、2已定稿、3已撤销、4已过期
R<Integer> reviseTaskDetailR = reviseTaskDetail(entity);
if (reviseTaskDetailR.getCode() != CommonConstants.SUCCESS) {
return R.failed(reviseTaskDetailR.getMsg());
}
FddContractAttachInfo attachInfo = fddContractAttachInfoService.getOne(Wrappers.<FddContractAttachInfo>query().lambda().eq(FddContractAttachInfo::getContractId, entity.getContractId()));
int status = reviseTaskDetailR.getData();
CancelReviseTaskReq req = new CancelReviseTaskReq();
if (status == CommonConstants.ZERO_INT || status == CommonConstants.ONE_INT) {
//发送请求
req.setToken(fddUtil.getToken());
req.setTaskId(entity.getTaskId());
ReviseTaskClient client = new ReviseTaskClient(fddUtil.getFadadaApiClient());
BaseRsp<GetFillFileUrlRsp> rsp = client.cancelReviseTask(req);
reqLogService.saveLog(this.getClass().getName(), Thread.currentThread().getStackTrace()[1].getMethodName(), req, rsp);
}
//.先复制一份合同、然后删除之前合同
entity.setDeleteFlag(CommonConstants.ONE_STRING);
this.updateById(entity);
// TEmployeeContractInfo employeeContractInfo = employeeContractInfoService.getById(entity.getContractId());
// TEmployeeInfo employeeInfo = employeeInfoService.getById(employeeContractInfo.getEmpId());
R<String> saveEmpContractR = saveEmpContract(attachInfo);
if (saveEmpContractR.getCode() != CommonConstants.SUCCESS) {
throw new CheckedException(saveEmpContractR.getMsg());
}
return R.ok();
}
/**
* @param fddContractInfo
* @Author: huyc
* @Date: 2022/6/30
* @Description: 获取定稿任务详情
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
public R<Integer> reviseTaskDetail(FddContractInfo fddContractInfo) throws ApiException {
//发送撤销签署
ReviseTaskDetailReq req = new ReviseTaskDetailReq();
req.setToken(fddUtil.getToken());
req.setTaskId(fddContractInfo.getTaskId());
ReviseTaskClient client = new ReviseTaskClient(fddUtil.getFadadaApiClient());
BaseRsp<ReviseTaskDetailRsp> rsp = client.reviseTaskDetail(req);
//校验参数
if (StringUtils.equals(rsp.getCode(), FddUtil.SUCCESS)) {
log.error("请求数据:{}",JSON.toJSONString(req));
log.error("返回数据:{}",JSON.toJSONString(rsp));
return new R<>(rsp.getData().getTaskStatus());
} else {
return R.failed(rsp.getMsg());
}
}
}
......@@ -152,6 +152,10 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
for (int i = 0; i < excelVOList.size(); i++) {
// 已有验证报错直接下一个
EmpBadRecordVo excel = excelVOList.get(i);
if (Common.isEmpty(excel.getLoseFee()) && Common.isEmpty(excel.getLoseFeeOther())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_EMP_LOSE_FEE_NOT_EMPTY)));
continue;
}
emp = employeeInfoMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda()
.eq(TEmployeeInfo::getEmpIdcard,excel.getEmpIdcard())
.eq(TEmployeeInfo::getDeleteFlag,CommonConstants.ZERO_STRING)
......@@ -171,6 +175,8 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_EMP_NOT_EXIST)));
continue;
}
excel.setProjectCode(exist.getDeptNo());
excel.setProject(exist.getDeptName());
// 数据合法情况
insertExcel(excel,emp);
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),CommonConstants.SAVE_SUCCESS));
......
......@@ -20,15 +20,9 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pig4cloud.plugin.excel.vo.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpChangeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
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.TEmpChangeInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TCustomerInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmpChangeInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TSettleDomainService;
import com.yifu.cloud.plus.v1.yifu.archives.service.*;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmpChangeInfoVO;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
......@@ -80,7 +74,9 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
//社保预估库、缴费库、对比库、代理差额库,需要同步修改未结算(并且满足这个条件:数据 生成月≥此处划转起始月)的数据,已结算数据不变更;
//划转,更新项目信息
TEmployeeProject updateTEmployeeProject = tEmployeeProjectService.getById(tEmpChangeInfo.getProId());
TEmployeeProject updateTEmployeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getEmpIdcard, tEmpChangeInfo.getEmpIdcard()).eq(TEmployeeProject::getDeptName,tEmpChangeInfo.getOldSettle())
.eq(TEmployeeProject::getDeleteFlag,CommonConstants.STATUS_NORMAL));
if (Common.isNotNull(updateTEmployeeProject)) {
updateTEmployeeProject.setDeptNo(tEmpChangeInfo.getDeptNo());
updateTEmployeeProject.setDeptId(tEmpChangeInfo.getDeptId());
......@@ -89,6 +85,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
updateTEmployeeProject.setUnitNo(tEmpChangeInfo.getUnitNo());
updateTEmployeeProject.setUnitName(tEmpChangeInfo.getNewDept());
tEmployeeProjectService.updateById(updateTEmployeeProject);
tEmpChangeInfo.setProId(updateTEmployeeProject.getId());
}
//保存档案划转记录
this.save(tEmpChangeInfo);
......
......@@ -115,11 +115,10 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
if (!Common.isEmpty(tEmployeeInfo)) {
map.put("empProId",tEmployeeProject.getId());
if (CommonConstants.STATUS_NORMAL.equals(tEmployeeInfo.getFileStatus())) {
return R.ok(map, "该人员已减项,是否“复项”");
return new R<>(CommonConstants.dingleDigitIntArray[4],"该人员已减项,是否“复项”",map);
} else {
map.put("code","202");
map.put("employeeId", tEmployeeInfo.getId());
return R.ok(map, "该人员已减档减项,是否“复档复项”");
return new R<>(CommonConstants.dingleDigitIntArray[2],"该人员已减档减项,是否“复档复项”",map);
}
}
}
......@@ -135,13 +134,28 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
//判断是否已经减档
if (CommonConstants.ONE_STRING.equals(tEmployeeInfo.getFileStatus())) {
map.put("employeeId", tEmployeeInfo.getId());
map.put("code","203");
return R.ok(map,"该人员在离职库已存在,是否“恢复档案”");
return new R<>(CommonConstants.dingleDigitIntArray[3],"该人员在离职库已存在,是否“恢复档案”",map);
}
}
return R.ok();
}
@Override
public R saveEmp(TEmployeeProject tEmployeeProject) {
//查询人员档案
TEmployeeInfo tEmployeeInfo = tEmployeeInfoMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda()
.eq(TEmployeeInfo::getEmpIdcard, tEmployeeProject.getEmpIdcard())
.eq(TEmployeeInfo::getDeleteFlag, CommonConstants.STATUS_NORMAL));
if (Common.isNotNull(tEmployeeInfo)) {
String empNO = getEmpNo(tEmployeeProject.getDeptNo());
tEmployeeProject.setEmpNo(empNO);
tEmployeeProject.setEmpId(tEmployeeInfo.getId());
this.save(tEmployeeProject);
return R.ok();
}
return R.failed("未在人员档案中查到身份信息");
}
@Override
public R reEmpInfo(JSONObject jsonObject) {
if (Common.isNotNull(jsonObject)) {
......@@ -507,14 +521,8 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
//人员档案主表id先设置成空,后面更新id
insTEmployeePro.setEmpId(CommonConstants.EMPTY_STRING);
String str = "";
String EmpNo = baseMapper.findEmployeeMaxOnlyNoByDepId(insTEmployeePro.getDeptNo());
if (!Common.isEmpty(EmpNo)) {
str = NoUtil.productionNo(EmpNo, CommonConstants.EMPLOYEE_INIT_NO_START);
} else {
str = insTEmployeePro.getDeptNo() + CommonConstants.EMPLOYEE_INIT_NO;
}
insTEmployeePro.setEmpNo(str);
String empNO = getEmpNo(insTEmployeePro.getDeptNo());
insTEmployeePro.setEmpNo(empNO);
//员工编码生成规则
TEmployeeInfo tEmployeeInfo = tEmployeeInfoMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda()
.eq(TEmployeeInfo::getEmpIdcard, excel.getEmpIdcard())
......@@ -675,14 +683,9 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
tEmployeeProject.setEmpName(employeeInfo.getEmpName());
tEmployeeProject.setEmpIdcard(employeeInfo.getEmpIdcard());
tEmployeeProject.setPost(employeeInfo.getPost());
String str = "";
String EmpNo = baseMapper.findEmployeeMaxOnlyNoByDepId(employeeInfo.getDeptNo());
if (!Common.isEmpty(EmpNo)) {
str = NoUtil.productionNo(EmpNo, CommonConstants.EMPLOYEE_INIT_NO_START);
} else {
str = employeeInfo.getDeptNo() + CommonConstants.EMPLOYEE_INIT_NO;
}
tEmployeeProject.setEmpNo(str);
String empNO = getEmpNo(employeeInfo.getDeptNo());
tEmployeeProject.setEmpNo(empNO);
tEmployeeProject.setDeptNo(employeeInfo.getDeptNo());
TSettleDomain tSettleDomain = tSettleDomainService.getOne(Wrappers.<TSettleDomain>query().lambda()
......@@ -798,4 +801,15 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
return R.ok(projectMap);
}
//获取员工编码
public String getEmpNo(String deptNo) {
String str = "";
String EmpNo = baseMapper.findEmployeeMaxOnlyNoByDepId(deptNo);
if (!Common.isEmpty(EmpNo)) {
str = NoUtil.productionNo(EmpNo, CommonConstants.EMPLOYEE_INIT_NO_START);
} else {
str = deptNo + CommonConstants.EMPLOYEE_INIT_NO;
}
return str;
}
}
......@@ -121,5 +121,6 @@
1=1 AND a.DELETE_FLAG = '0' AND b.DELETE_FLAG = '0'
<include refid="tElecEmployeeInfo_where"/>
</where>
order by a.CREATE_TIME desc
</select>
</mapper>
......@@ -665,6 +665,7 @@
a.DELETE_FLAG = '0'
<include refid="tEmployeeProject_where"/>
</where>
order by a.CREATE_TIME desc
</select>
<!--tEmployeeInfo导出查询-->
<select id="getTEmployeeProjectExportPage" resultMap="tEmployeeProjectExportMap">
......
......@@ -289,4 +289,8 @@ public interface ErrorCodes {
* 人员在该项目下存在进行中/未完结的服务
*/
String ARCHIVES_PROJECT_CHANGE_NOT_EXIST = "archives.project.change.not.exist";
/**
* 不良记录费用损失和其他损失不可同时为空
*/
String ARCHIVES_PROJECT_EMP_LOSE_FEE_NOT_EMPTY = "archives.project.emp.lose.fee.not.empty";
}
......@@ -257,6 +257,7 @@ public class ExcelUtil <T> implements Serializable {
tempStr= reverseByExp( c, attr.readConverterExp());
if (Common.isEmpty(tempStr)){
errorMessageHashMap = initErrorMessage(errorMessageHashMap, new ErrorMessage(rowNum, "未找到:" + c + "的字典数据"), errorTemp);
continue;
}else {
c = tempStr;
}
......@@ -280,12 +281,9 @@ public class ExcelUtil <T> implements Serializable {
// TODO
tempStr = getAreaValue("area_"+c.trim()+ "_" + getFieldValueByName(attr.parentField(), data, DateUtil.ISO_EXPANDED_DATE_FORMAT), tempStr, attr,rowNum,errorTemp);
}
} else {
//直接按值去找数据 TODO
tempStr = getDicValue(c.trim() , tempStr, attr,rowNum,errorTemp);
}
}
if (!StringUtils.isNotBlank(tempStr)) {
if (StringUtils.isEmpty(tempStr) && (attr.isArea() || attr.isDataId())) {
if (attr.isOrgan()) {
errorMessageHashMap = initErrorMessage(errorMessageHashMap, new ErrorMessage(rowNum, "未找到:" + c + "的单位或结算主体数据,请确认存在结算主体权限"), errorTemp);
}
......
......@@ -91,6 +91,8 @@ archives.project.emp.not.exist=\u5BF9\u5E94\u9879\u76EE\u7F16\u7801\u65E0\u9879\
archives.project.change.not.exist=\u4EBA\u5458\u5728\u8BE5\u9879\u76EE\u4E0B\u5B58\u5728\u8FDB\u884C\u4E2D/\u672A\u5B8C\u7ED3\u7684\u670D\u52A1
archives.project.emp.lose.fee.not.empty=\u4E0D\u826F\u8BB0\u5F55\u8D39\u7528\u635F\u5931\u548C\u5176\u4ED6\u635F\u5931\u4E0D\u53EF\u540C\u65F6\u4E3A\u7A7A
......
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