Commit 1812fb11 authored by fangxinjiang's avatar fangxinjiang

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

parents 0f66413b 5668f0a8
...@@ -131,12 +131,12 @@ public class TEmployeeContractInfo extends BaseEntity { ...@@ -131,12 +131,12 @@ public class TEmployeeContractInfo extends BaseEntity {
@Schema(description = "客户名称", name = "subjectUnit") @Schema(description = "客户名称", name = "subjectUnit")
private String subjectUnit; private String subjectUnit;
/** /**
* 签订情况 * 签订类型
*/ */
@NotBlank(message = "签订情况不能为空") @NotBlank(message = "签订类型不能为空")
@Length(max = 1, message = "签订情况不能超过1个字符") @Length(max = 1, message = "签订类型不能超过1个字符")
@ExcelAttribute(name = "签订情况", isNotEmpty = true, errorInfo = "签订情况不能为空", maxLength = 100,isDataId = true, dataType = ExcelAttributeConstants.EMPLOYEE_SITUATION_TYPE) @ExcelAttribute(name = "签订类型", isNotEmpty = true, errorInfo = "签订类型不能为空", maxLength = 100,isDataId = true, dataType = ExcelAttributeConstants.EMPLOYEE_SITUATION_TYPE)
@Schema(description = "签订情况", name = "situation") @Schema(description = "签订类型(字典)", name = "situation")
private String situation; private String situation;
/** /**
* 合同年限 * 合同年限
...@@ -144,20 +144,20 @@ public class TEmployeeContractInfo extends BaseEntity { ...@@ -144,20 +144,20 @@ public class TEmployeeContractInfo extends BaseEntity {
@NotBlank(message = "合同年限不能为空") @NotBlank(message = "合同年限不能为空")
@ExcelAttribute(name = "合同年限", errorInfo = "合同年限不能为空") @ExcelAttribute(name = "合同年限", errorInfo = "合同年限不能为空")
@Schema(description = "合同年限", name = "contractTerm") @Schema(description = "合同年限", name = "contractTerm")
private Double contractTerm; private String contractTerm;
/** /**
* 合同编 * 合同编
*/ */
@NotBlank(message = "合同编不能为空") @NotBlank(message = "合同编不能为空")
@Length(max = 128, message = "合同编号不能超过128个字符") @Length(max = 50, message = "合同编码不能超过50个字符")
@ExcelAttribute(name = "合同编号", maxLength = 128) @ExcelAttribute(name = "合同编码", maxLength = 50)
@Schema(description = "合同编", name = "contractNo") @Schema(description = "合同编", name = "contractNo")
private String contractNo; private String contractNo;
/** /**
* 备注 * 备注
*/ */
@Length(max = 512, message = "不能超过512个字符") @Length(max = 200, message = "不能超过200个字符")
@ExcelAttribute(name = "备注", maxLength = 512) @ExcelAttribute(name = "备注", maxLength = 200)
@Schema(description = "备注", name = "remark") @Schema(description = "备注", name = "remark")
private String remark; private String remark;
......
/*
* 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.archives.vo;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDate;
/**
* 员工合同-批量操作的VO
*
* @author hgw
* @date 2022-7-1 17:40:40
*/
@Data
@Schema(description = "员工合同-批量操作的VO")
public class EmployeeContractVO extends RowIndex implements Serializable {
/**
* 员工姓名
*/
@Length(max = 20, message = "员工姓名不能超过20个字符")
@ExcelAttribute(name = "员工姓名", isNotEmpty = true, maxLength = 20, needExport = true)
@Schema(description = "员工姓名", name = "empName")
private String empName;
/**
* 员工身份证号
*/
@Length(max = 20, message = "身份证号不能超过20个字符")
@ExcelAttribute(name = "身份证号", isNotEmpty = true, maxLength = 20, isIdCard = true, needExport = true)
@Schema(description = "身份证号", name = "empIdcard")
private String empIdcard;
/**
* 项目编码
*/
@Length(max = 20, message = "项目编码不能超过20个字符")
@ExcelAttribute(name = "项目编码", isNotEmpty = true, maxLength = 20, needExport = true)
@Schema(description = "项目编码")
private String deptNo;
/**
* 签订类型(字典)
*/
@NotBlank(message = "签订类型不能为空")
@Length(max = 20, message = "签订类型不能超过20个字符")
@ExcelAttribute(name = "签订类型", isNotEmpty = true, errorInfo = "签订情况不能为空", maxLength = 20, isDataId = true, dataType = ExcelAttributeConstants.EMPLOYEE_SITUATION_TYPE)
@Schema(description = "签订类型(字典)", name = "situation")
private String situation;
/**
* 合同类型
*/
@NotBlank(message = "合同类型不能为空")
@Length(max = 32, message = "合同类型不能超过32个字符")
@ExcelAttribute(name = "合同类型", isNotEmpty = true, errorInfo = "合同类型不能为空", maxLength = 32, needExport = true)
@Schema(description = "合同类型", name = "contractName")
private String contractName;
/**
* 业务细分
*/
@NotBlank(message = "业务细分不能为空")
@Length(max = 32, message = "业务细分不能超过32个字符")
@ExcelAttribute(name = "业务细分", maxLength = 32, needExport = true)
@Schema(description = "业务细分", name = "contractName")
private String contractSubName;
/**
* 原因说明
*/
@Length(max = 200, message = "原因说明不能超过200个字符")
@ExcelAttribute(name = "原因说明", maxLength = 200, needExport = true)
@Schema(description = "原因说明", name = "reason")
private String reason;
/**
* 合同甲方
*/
@Length(max = 50, message = "原因说明不能超过200个字符")
@ExcelAttribute(name = "合同甲方", maxLength = 50, needExport = true)
@Schema(description = "合同甲方")
@Size(max = 50, message = "合同甲方不可超过50位")
private String contractParty;
/**
* 签订期限employee_contract_type
* 0 已完成一定工作任务为期限
* 1 固定期限
* 2 无固定期限
*/
@NotBlank(message = "签订期限不能为空")
@Length(max = 32, message = "签订期限不能超过32个字符")
@ExcelAttribute(name = "签订期限", isNotEmpty = true, errorInfo = "签订期限不能为空", maxLength = 32, isDataId = true, dataType = ExcelAttributeConstants.EMPLOYEE_CONTRACT_TYPE, needExport = true)
@Schema(description = "签订期限", name = "contractType")
private String contractType;
/**
* 合同起始时间
*/
@NotBlank(message = "起始日期不能为空")
@DateTimeFormat("yyyy-MM-dd")
@ExcelAttribute(name = "起始日期", isNotEmpty = true, errorInfo = "起始日期不能为空")
@Schema(description = "起始日期", name = "contractStart")
private LocalDate contractStart;
/**
* 合同到期时间
*/
@ExcelAttribute(name = "截止日期", needExport = true)
@DateTimeFormat("yyyy-MM-dd")
@Schema(description = "截止日期", name = "contractEnd")
private LocalDate contractEnd;
/**
* 合同岗位
*/
@Length(max = 32, message = "合同岗位不能超过32个字符")
@ExcelAttribute(name = "合同岗位", maxLength = 32, needExport = true)
@Schema(description = "合同岗位", name = "post")
private String post;
/**
* 工时制(数据字典) 1标准工时 2 综合工时 3不定时工时制
*/
@Length(max = 32, message = "工时制不能超过32个字符")
@ExcelAttribute(name = "工时制", maxLength = 32, isDataId = true, dataType = ExcelAttributeConstants.WORKING_HOURS)
@Schema(description = "工时制(数据字典) 1标准工时 2 综合工时 3不定时工时制", name = "workingHours")
private String workingHours;
/**
* 合同编码
*/
@NotBlank(message = "合同编码不能为空")
@Length(max = 50, message = "合同编码不能超过50个字符")
@ExcelAttribute(name = "合同编码", maxLength = 50)
@Schema(description = "合同编码", name = "contractNo")
private String contractNo;
/**
* 档案柜号
*/
@Length(max = 50, message = "档案柜号不能超过50个字符")
@ExcelAttribute(name = "档案柜号", maxLength = 50)
@Schema(description = "档案柜号", name = "fileCabinetNo")
private String fileCabinetNo;
/**
* 备注
*/
@Length(max = 200, message = "不能超过200个字符")
@ExcelAttribute(name = "备注", maxLength = 200)
@Schema(description = "备注", name = "remark")
private String remark;
}
...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo; ...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Past; import javax.validation.constraints.Past;
...@@ -42,7 +43,7 @@ public class EmployeeProjectExportVO{ ...@@ -42,7 +43,7 @@ public class EmployeeProjectExportVO{
* 档案员工类型(字典值,0外包1派遣2代理) * 档案员工类型(字典值,0外包1派遣2代理)
*/ */
@ExcelProperty(value ="档案员工类型") @ExcelProperty(value ="档案员工类型")
@ExcelAttribute(name = "档案员工类型",isNotEmpty = true, errorInfo = "档案员工类型不可为空",isDataId = true,dataType = "emp_natrue") @ExcelAttribute(name = "档案员工类型",isDataId = true,dataType = ExcelAttributeConstants.EMP_NATRUE)
private String proEmpNatrue; private String proEmpNatrue;
/** /**
...@@ -79,18 +80,21 @@ public class EmployeeProjectExportVO{ ...@@ -79,18 +80,21 @@ public class EmployeeProjectExportVO{
* 婚姻状况 * 婚姻状况
*/ */
@ExcelProperty(value = "婚姻状况") @ExcelProperty(value = "婚姻状况")
@ExcelAttribute(name = "婚姻状况", isDataId = true,dataType = ExcelAttributeConstants.EMP_MARRIED)
private String empMarriStatus; private String empMarriStatus;
/** /**
* 民族 * 民族
*/ */
@ExcelProperty(value = "民族") @ExcelProperty(value = "民族")
@ExcelAttribute(name = "民族", isDataId = true,dataType = ExcelAttributeConstants.EMP_NATIONAL)
private String empNational; private String empNational;
/** /**
* 政治面貌 * 政治面貌
*/ */
@ExcelProperty(value = "政治面貌") @ExcelProperty(value = "政治面貌")
@ExcelAttribute(name = "政治面貌", isDataId = true,dataType = ExcelAttributeConstants.EMP_POLITICAL)
private String politicalStatus; private String politicalStatus;
/** /**
...@@ -108,6 +112,7 @@ public class EmployeeProjectExportVO{ ...@@ -108,6 +112,7 @@ public class EmployeeProjectExportVO{
/** /**
* 身份证-省 * 身份证-省
*/ */
@ExcelAttribute(name = "户籍所在省", isArea = true)
@ExcelProperty(value = "户籍所在省") @ExcelProperty(value = "户籍所在省")
private String idProvince; private String idProvince;
...@@ -115,48 +120,56 @@ public class EmployeeProjectExportVO{ ...@@ -115,48 +120,56 @@ public class EmployeeProjectExportVO{
* 身份证-市 * 身份证-市
*/ */
@ExcelProperty(value = "户籍所在市") @ExcelProperty(value = "户籍所在市")
@ExcelAttribute(name = "户籍所在市", isArea = true, parentField = "idProvince")
private String idCity; private String idCity;
/** /**
* 身份证-县 * 身份证-县
*/ */
@ExcelProperty(value = "户籍所在县") @ExcelProperty(value = "户籍所在县")
@ExcelAttribute(name = "户籍所在县", isArea = true, parentField = "idCity")
private String idTown; private String idTown;
/** /**
* 户口性质 * 户口性质
*/ */
@ExcelProperty(value = "户口性质") @ExcelProperty(value = "户口性质")
@ExcelAttribute(name = "户口性质", isDataId = true,dataType = ExcelAttributeConstants.EMP_REGISTYPE)
private String empRegisType; private String empRegisType;
/** /**
* 档案-省 * 档案-省
*/ */
@ExcelProperty(value = "档案所在省") @ExcelProperty(value = "档案所在省")
@ExcelAttribute(name = "档案所在省", isArea = true)
private String fileProvince; private String fileProvince;
/** /**
* 档案-市 * 档案-市
*/ */
@ExcelProperty(value = "档案所在市") @ExcelProperty(value = "档案所在市")
@ExcelAttribute(name = "档案所在市", isArea = true, parentField = "fileProvince")
private String fileCity; private String fileCity;
/** /**
* 档案-县 * 档案-县
*/ */
@ExcelProperty(value = "档案所在县") @ExcelProperty(value = "档案所在县")
@ExcelAttribute(name = "档案所在县", isArea = true, parentField = "fileCity")
private String fileTown; private String fileTown;
/** /**
* 是否大专及以上(0否1是) * 是否大专及以上(0否1是)
*/ */
@ExcelProperty(value = "是否大专及以上") @ExcelProperty(value = "是否大专及以上")
@ExcelAttribute(name = "是否大专及以上", readConverterExp = "0=否,1=是")
private String isCollege; private String isCollege;
/** /**
* 最高学历(字典值) * 最高学历(字典值)
*/ */
@ExcelProperty(value = "最高学历") @ExcelProperty(value = "最高学历")
@ExcelAttribute(name = "最高学历", isDataId = true,dataType = ExcelAttributeConstants.EDUCATION)
private String hignEducation; private String hignEducation;
/** /**
...@@ -175,13 +188,13 @@ public class EmployeeProjectExportVO{ ...@@ -175,13 +188,13 @@ public class EmployeeProjectExportVO{
* 入学时间 * 入学时间
*/ */
@ExcelProperty(value = "入学时间") @ExcelProperty(value = "入学时间")
private LocalDate admissionDate; private LocalDateTime admissionDate;
/** /**
* 毕业时间 * 毕业时间
*/ */
@ExcelProperty(value = "毕业时间") @ExcelProperty(value = "毕业时间")
private LocalDate gradutionDate; private LocalDateTime gradutionDate;
/** /**
* 备注 * 备注
...@@ -193,18 +206,21 @@ public class EmployeeProjectExportVO{ ...@@ -193,18 +206,21 @@ public class EmployeeProjectExportVO{
* 人员档案来源(字典:4人员档案新建、5项目档案新建、1社保/公积金、3商险、2薪酬) * 人员档案来源(字典:4人员档案新建、5项目档案新建、1社保/公积金、3商险、2薪酬)
*/ */
@ExcelProperty(value = "人员档案来源") @ExcelProperty(value = "人员档案来源")
@ExcelAttribute(name = "人员档案来源", readConverterExp = "1=社保公积金,2=薪酬,3=商险,4=人员档案新建")
private String fileSource; private String fileSource;
/** /**
* 人员档案状态(0草稿、1已审核) * 人员档案状态(0草稿、1已审核)
*/ */
@ExcelProperty(value = "人员档案状态") @ExcelProperty(value = "人员档案状态")
@ExcelAttribute(name = "人员档案状态", readConverterExp = "0=草稿,1=已审核")
private Integer proStatus; private Integer proStatus;
/** /**
* 档案状态(0正常;1已减档) * 档案状态(0正常;1已减档)
*/ */
@ExcelProperty(value = "档案状态") @ExcelProperty(value = "档案状态")
@ExcelAttribute(name = "人员档案状态", readConverterExp = "0=正常,1=已减档")
private Integer fileStatus; private Integer fileStatus;
/** /**
...@@ -248,12 +264,14 @@ public class EmployeeProjectExportVO{ ...@@ -248,12 +264,14 @@ public class EmployeeProjectExportVO{
* 合同类型(字典值) * 合同类型(字典值)
*/ */
@ExcelProperty(value ="合同类型") @ExcelProperty(value ="合同类型")
@ExcelAttribute(name = "合同类型", isDataId = true,dataType = ExcelAttributeConstants.EMPLOYEE_CONTRACT_TYPE)
private String contractType; private String contractType;
/** /**
* 工时制 * 工时制
*/ */
@ExcelProperty(value ="工时制") @ExcelProperty(value ="工时制")
@ExcelAttribute(name = "工时制", isDataId = true,dataType = ExcelAttributeConstants.WORKING_HOURS)
private String workingHours; private String workingHours;
/** /**
...@@ -279,6 +297,7 @@ public class EmployeeProjectExportVO{ ...@@ -279,6 +297,7 @@ public class EmployeeProjectExportVO{
* 项目员工类型 * 项目员工类型
*/ */
@ExcelProperty(value ="项目员工类型") @ExcelProperty(value ="项目员工类型")
@ExcelAttribute(name = "项目员工类型", isDataId = true,dataType = ExcelAttributeConstants.PERSONNEL_STATE)
private String empNatrue; private String empNatrue;
/** /**
...@@ -309,6 +328,7 @@ public class EmployeeProjectExportVO{ ...@@ -309,6 +328,7 @@ public class EmployeeProjectExportVO{
* 员工合同状态(字典) * 员工合同状态(字典)
*/ */
@ExcelProperty(value ="合同状态") @ExcelProperty(value ="合同状态")
@ExcelAttribute(name = "合同状态", isDataId = true,dataType = ExcelAttributeConstants.PERSONNEL_STATE)
private Integer contractStatus; private Integer contractStatus;
/** /**
...@@ -333,30 +353,35 @@ public class EmployeeProjectExportVO{ ...@@ -333,30 +353,35 @@ public class EmployeeProjectExportVO{
* 商险状态(字典) * 商险状态(字典)
*/ */
@ExcelProperty(value ="商险状态") @ExcelProperty(value ="商险状态")
@ExcelAttribute(name = "商险状态", isDataId = true,dataType = ExcelAttributeConstants.COMMERCIAL_SATTE)
private Integer insuranceStatus; private Integer insuranceStatus;
/** /**
* 社保状态(字典) * 社保状态(字典)
*/ */
@ExcelProperty(value ="社保状态") @ExcelProperty(value ="社保状态")
@ExcelAttribute(name = "社保状态", isDataId = true,dataType = ExcelAttributeConstants.SOCIAL_ECURITY_STATE)
private Integer socialStatus; private Integer socialStatus;
/** /**
* 公积金状态(字典) * 公积金状态(字典)
*/ */
@ExcelProperty(value ="公积金状态") @ExcelProperty(value ="公积金状态")
@ExcelAttribute(name = "公积金状态", isDataId = true,dataType = ExcelAttributeConstants.FUND_STATUS)
private Integer fundStatus; private Integer fundStatus;
/** /**
* 近3个月发薪(0否;1是) * 近3个月发薪(0否;1是)
*/ */
@ExcelProperty(value ="近3个月发薪") @ExcelProperty(value ="近3个月发薪")
@ExcelAttribute(name = "近3个月发薪", readConverterExp = "0=无,1=是,2=否")
private Integer salaryStatus; private Integer salaryStatus;
/** /**
* 项目档案来源(字典:4人员档案新建、5项目档案新建、1社保/公积金、3商险、2薪酬) * 项目档案来源(字典:4人员档案新建、5项目档案新建、1社保/公积金、3商险、2薪酬)
*/ */
@ExcelProperty(value ="项目档案来源") @ExcelProperty(value ="项目档案来源")
@ExcelAttribute(name = "项目档案来源", readConverterExp = "1=社保/公积金,2=薪酬,3=商险,4=人员档案新建,5=项目档案新建")
private String projectSource; private String projectSource;
/** /**
......
...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo; ...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
...@@ -34,7 +35,7 @@ import java.time.LocalDate; ...@@ -34,7 +35,7 @@ import java.time.LocalDate;
*/ */
@Data @Data
@ColumnWidth(30) @ColumnWidth(30)
public class EmployeeProjectVO implements Serializable { public class EmployeeProjectVO extends RowIndex implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -42,7 +43,7 @@ public class EmployeeProjectVO implements Serializable { ...@@ -42,7 +43,7 @@ public class EmployeeProjectVO implements Serializable {
* 员工类型(字典值,0外包1派遣2代理) * 员工类型(字典值,0外包1派遣2代理)
*/ */
@NotNull(message = "员工类型不能为空") @NotNull(message = "员工类型不能为空")
@ExcelAttribute(name = "员工类型",isNotEmpty = true, errorInfo = "员工类型不能为空",maxLength = 1) @ExcelAttribute(name = "员工类型",isNotEmpty = true, errorInfo = "员工类型不能为空",maxLength = 1,isDataId = true,dataType = ExcelAttributeConstants.EMP_NATRUE)
@ExcelProperty(value ="员工类型") @ExcelProperty(value ="员工类型")
private String empNatrue; private String empNatrue;
...@@ -93,7 +94,7 @@ public class EmployeeProjectVO implements Serializable { ...@@ -93,7 +94,7 @@ public class EmployeeProjectVO implements Serializable {
*/ */
@NotNull(message = "合同类型不能为空") @NotNull(message = "合同类型不能为空")
@ExcelProperty(value ="合同类型") @ExcelProperty(value ="合同类型")
@ExcelAttribute(name = "合同类型",isNotEmpty = true, errorInfo = "项目编码不能为空",maxLength = 2) @ExcelAttribute(name = "合同类型",isNotEmpty = true, errorInfo = "合同类型不能为空",maxLength = 2,isDataId = true,dataType = ExcelAttributeConstants.EMPLOYEE_CONTRACT_TYPE)
private String contractType; private String contractType;
/** /**
...@@ -101,7 +102,7 @@ public class EmployeeProjectVO implements Serializable { ...@@ -101,7 +102,7 @@ public class EmployeeProjectVO implements Serializable {
*/ */
@NotNull(message = "工时制不能为空") @NotNull(message = "工时制不能为空")
@ExcelProperty(value ="工时制") @ExcelProperty(value ="工时制")
@ExcelAttribute(name = "工时制",isNotEmpty = true, errorInfo = "工时制不能为空",maxLength = 1) @ExcelAttribute(name = "工时制",isNotEmpty = true, errorInfo = "工时制不能为空",maxLength = 1,isDataId = true,dataType = ExcelAttributeConstants.WORKING_HOURS)
private String workingHours; private String workingHours;
/** /**
...@@ -125,6 +126,7 @@ public class EmployeeProjectVO implements Serializable { ...@@ -125,6 +126,7 @@ public class EmployeeProjectVO implements Serializable {
*/ */
@ExcelProperty(value ="试用期") @ExcelProperty(value ="试用期")
@NotNull(message = "试用期不能为空") @NotNull(message = "试用期不能为空")
@ExcelAttribute(name = "试用期",isNotEmpty = true, errorInfo = "试用期不能为空",maxLength = 2)
private String tryPeriod; private String tryPeriod;
} }
...@@ -21,6 +21,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth; ...@@ -21,6 +21,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import java.io.Serializable; import java.io.Serializable;
......
...@@ -34,9 +34,11 @@ import io.swagger.v3.oas.annotations.Operation; ...@@ -34,9 +34,11 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
...@@ -205,4 +207,20 @@ public class TEmployeeContractInfoController { ...@@ -205,4 +207,20 @@ public class TEmployeeContractInfoController {
return tEmployeeContractInfoService.filingContract(tEmployeeContractInfo); return tEmployeeContractInfoService.filingContract(tEmployeeContractInfo);
} }
/**
* 批量申请-合同
* @param file
* @return
* @Author hgw
* @Date 2022-7-1 18:45:22
**/
@SneakyThrows
@Operation(description = "批量申请-合同 hasPermission('temployeecontractinfo_batch_import')")
@SysLog("批量申请-合同")
@PostMapping("/batchImport")
@PreAuthorize("@pms.hasPermission('temployeecontractinfo_batch_import')")
public R<List<ErrorMessage>> batchImport(@RequestBody MultipartFile file) {
return tEmployeeContractInfoService.batchImport(file.getInputStream());
}
} }
...@@ -21,23 +21,26 @@ import com.alibaba.fastjson.JSONObject; ...@@ -21,23 +21,26 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pig4cloud.plugin.excel.annotation.RequestExcel; import com.pig4cloud.plugin.excel.annotation.RequestExcel;
import com.pig4cloud.plugin.excel.vo.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectVO;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -198,12 +201,13 @@ public class TEmployeeProjectController { ...@@ -198,12 +201,13 @@ public class TEmployeeProjectController {
* @Author huyc * @Author huyc
* @Date 2022-06-20 * @Date 2022-06-20
**/ **/
@SneakyThrows
@Operation(description = "批量新增项目档案信息 hasPermission('wxhr:employeeProjectinfo_importListAdd')") @Operation(description = "批量新增项目档案信息 hasPermission('wxhr:employeeProjectinfo_importListAdd')")
@SysLog("批量新增项目档案信息") @SysLog("批量新增项目档案信息")
@PostMapping("/importListAdd") @PostMapping("/importListAdd")
@PreAuthorize("@pms.hasPermission('wxhr:employeeProjectinfo_importListAdd')") @PreAuthorize("@pms.hasPermission('wxhr:employeeProjectinfo_importListAdd')")
public R<List<ErrorMessage>> importListAdd(@RequestExcel List<EmployeeProjectVO> excelVOList, BindingResult bindingResult, @RequestParam("idAdd") String idAdd) { public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file, @RequestParam("idAdd") String idAdd) throws IOException {
return tEmployeeProjectService.importListAdd(excelVOList, bindingResult, idAdd); return tEmployeeProjectService.importListAdd(file.getInputStream(), idAdd);
} }
/** /**
...@@ -214,12 +218,13 @@ public class TEmployeeProjectController { ...@@ -214,12 +218,13 @@ public class TEmployeeProjectController {
* @Author huyc * @Author huyc
* @Date 2022-06-21 * @Date 2022-06-21
**/ **/
@SneakyThrows
@Operation(description = "批量更新项目档案信息 hasPermission('archives_project_importListUpdate')") @Operation(description = "批量更新项目档案信息 hasPermission('archives_project_importListUpdate')")
@SysLog("批量更新项目档案信息") @SysLog("批量更新项目档案信息")
@PostMapping("/importListUpate") @PostMapping("/importListUpate")
@PreAuthorize("@pms.hasPermission('archives_project_importListUpdate')") @PreAuthorize("@pms.hasPermission('archives_project_importListUpdate')")
public R<List<ErrorMessage>> importListUpate(@RequestExcel List<EmployeeProjectVO> excelVOList, BindingResult bindingResult) { public R<List<ErrorMessage>> importListUpate(@RequestBody MultipartFile file) {
return tEmployeeProjectService.importEmpProjectUpdate(excelVOList, bindingResult); return tEmployeeProjectService.importEmpProjectUpdate(file.getInputStream());
} }
/** /**
......
...@@ -22,11 +22,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -22,11 +22,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorMessageVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorMessageVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorVO;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import org.springframework.validation.BindingResult;
import java.io.InputStream;
import java.util.List; import java.util.List;
/** /**
...@@ -99,5 +102,6 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract ...@@ -99,5 +102,6 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract
**/ **/
R<String> filingContract(TEmployeeContractInfo tEmployeeContractInfo); R<String> filingContract(TEmployeeContractInfo tEmployeeContractInfo);
R<List<ErrorMessage>> batchImport(InputStream inputStream);
} }
...@@ -21,15 +21,16 @@ import com.alibaba.fastjson.JSONObject; ...@@ -21,15 +21,16 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.pig4cloud.plugin.excel.vo.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectVO;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -66,15 +67,14 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> { ...@@ -66,15 +67,14 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
R<List<ErrorMessage>> batchDeleteEmpPro(List<EmployeeProjectVO> list, BindingResult bindingResult); R<List<ErrorMessage>> batchDeleteEmpPro(List<EmployeeProjectVO> list, BindingResult bindingResult);
/** /**
* @param excelVOList * @param inputStream
* @param bindingResult
* @param isAdd * @param isAdd
* @Description: 批量新增项目档案 * @Description: 批量新增项目档案
* @Author: huyc * @Author: huyc
* @Date: 2022/6/21 10:30 * @Date: 2022/6/21 10:30
* @return: R * @return: R
**/ **/
R<List<ErrorMessage>> importListAdd(List<EmployeeProjectVO> excelVOList, BindingResult bindingResult, String isAdd); R<List<ErrorMessage>> importListAdd(InputStream inputStream, String isAdd);
/** /**
* @param projectStatus 传0才过滤 * @param projectStatus 传0才过滤
...@@ -104,7 +104,7 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> { ...@@ -104,7 +104,7 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
* @Date: 2022/6/21 10:30 * @Date: 2022/6/21 10:30
* @return: R * @return: R
**/ **/
R<List<ErrorMessage>> importEmpProjectUpdate(List<EmployeeProjectVO> excelVOList, BindingResult bindingResult); R<List<ErrorMessage>> importEmpProjectUpdate(InputStream inputStream);
/** /**
* @param ids * @param ids
......
...@@ -16,7 +16,12 @@ ...@@ -16,7 +16,12 @@
*/ */
package com.yifu.cloud.plus.v1.yifu.archives.service.impl; package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -25,15 +30,17 @@ import com.yifu.cloud.plus.v1.yifu.archives.Constants.EmployeeContractConstants; ...@@ -25,15 +30,17 @@ import com.yifu.cloud.plus.v1.yifu.archives.Constants.EmployeeContractConstants;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*; import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractInfoMapper; import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.*; import com.yifu.cloud.plus.v1.yifu.archives.service.*;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorMessageVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorVO;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.cache.Cache; import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
import org.springframework.cache.support.SimpleValueWrapper; import org.springframework.cache.support.SimpleValueWrapper;
...@@ -41,11 +48,10 @@ import org.springframework.stereotype.Service; ...@@ -41,11 +48,10 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.io.InputStream;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 员工合同 * 员工合同
...@@ -53,6 +59,7 @@ import java.util.Set; ...@@ -53,6 +59,7 @@ import java.util.Set;
* @author hgw * @author hgw
* @date 2022-06-29 20:45:22 * @date 2022-06-29 20:45:22
*/ */
@Log4j2
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContractInfoMapper, TEmployeeContractInfo> implements TEmployeeContractInfoService { public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContractInfoMapper, TEmployeeContractInfo> implements TEmployeeContractInfoService {
...@@ -88,6 +95,14 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -88,6 +95,14 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
if (Common.isEmpty(tEmployeeContractInfo.getEmpId()) || Common.isEmpty(tEmployeeContractInfo.getSettleDomain())) { if (Common.isEmpty(tEmployeeContractInfo.getEmpId()) || Common.isEmpty(tEmployeeContractInfo.getSettleDomain())) {
return R.failed(EMPID_NOT_EMPTY); return R.failed(EMPID_NOT_EMPTY);
} }
return this.setBaseInfo(tEmployeeContractInfo);
} catch (Exception e) {
log.error("员工合同保存异常:" + e.getMessage());
return R.failed("员工合同保存系统异常!");
}
}
private R<List<ErrorMessage>> setBaseInfo(TEmployeeContractInfo tEmployeeContractInfo) {
// 获取人员档案 // 获取人员档案
TEmployeeInfo tEmployeeInfo = tEmployeeInfoService.getById(tEmployeeContractInfo.getEmpId()); TEmployeeInfo tEmployeeInfo = tEmployeeInfoService.getById(tEmployeeContractInfo.getEmpId());
// 获取项目 // 获取项目
...@@ -123,10 +138,6 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -123,10 +138,6 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
} else { } else {
return R.failed(); return R.failed();
} }
} catch (Exception e) {
log.error("员工合同保存异常:" + e.getMessage());
return R.failed("员工合同保存系统异常!");
}
} }
@Override @Override
...@@ -387,7 +398,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -387,7 +398,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
for (int i = 0; i < idList.size(); i++) { for (int i = 0; i < idList.size(); i++) {
errorVo = new ErrorVO(); errorVo = new ErrorVO();
errorVo.setResult(CommonConstants.ZERO_INT); errorVo.setResult(CommonConstants.ZERO_INT);
errorVo.setLineNum(i+1); errorVo.setLineNum(i + 1);
id = idList.get(i); id = idList.get(i);
contractInfo = this.getById(id); contractInfo = this.getById(id);
if (contractInfo == null) { if (contractInfo == null) {
...@@ -433,4 +444,132 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -433,4 +444,132 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
} }
return R.failed("参数不可为空"); return R.failed("参数不可为空");
} }
@Override
public R<List<ErrorMessage>> batchImport(InputStream inputStream) {
List<ErrorMessage> errorMessageList = new ArrayList<>();
ExcelUtil<EmployeeContractVO> util1 = new ExcelUtil<>(EmployeeContractVO.class);
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try {
EasyExcel.read(inputStream, EmployeeContractVO.class, new ReadListener<EmployeeContractVO>() {
/**
* 单次缓存的数据量
*/
public static final int BATCH_COUNT = CommonConstants.BATCH_COUNT;
/**
*临时存储
*/
private List<EmployeeContractVO> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
@Override
public void invoke(EmployeeContractVO data, AnalysisContext context) {
ReadRowHolder readRowHolder = context.readRowHolder();
Integer rowIndex = readRowHolder.getRowIndex();
data.setRowIndex(rowIndex + 1);
ErrorMessage errorMessage = util1.checkEntity(data, data.getRowIndex());
if (Common.isNotNull(errorMessage)) {
errorMessageList.add(errorMessage);
} else {
cachedDataList.add(data);
}
if (cachedDataList.size() >= BATCH_COUNT) {
saveData();
// 存储完成清理 list
cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
saveData();
}
/**
* 加上存储数据库
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
importContract(cachedDataList, errorMessageList);
log.info("存储数据库成功!");
}
}).sheet().doRead();
} catch (Exception e) {
log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR, e);
return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR);
}
return R.ok(errorMessageList);
}
/**
* @Author hgw
* @Description 批量导入
* @Date 2022-7-1 18:48:01
**/
@Transactional
public void importContract(List<EmployeeContractVO> excelVOList, List<ErrorMessage> errorMessageList) {
/// 个性化校验逻辑
List<TEmployeeContractInfo> list = this.list();
ErrorMessage errorMsg;
EmployeeContractVO excel;
// 执行数据插入操作 组装
for (int i = 0; i < excelVOList.size(); i++) {
excel = excelVOList.get(i);
errorMsg = checkRes(excel, list);
if (Common.isNotNull(errorMsg)) {
errorMessageList.add(errorMsg);
continue;
}
// 存储
insertExcel(excel, errorMessageList);
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), CommonConstants.SAVE_SUCCESS));
}
}
private ErrorMessage checkRes(EmployeeContractVO excel, List<TEmployeeContractInfo> list) {
// 检查添加是否已经存在
boolean match = list.stream().anyMatch(info -> excel.getEmpIdcard().equals(info.getEmpIdcard()));
if (match) {
return new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.ARCHIVES_EMP_EDUCATION_EXISTING));
}
return null;
}
/**
* 插入excel education
*/
private void insertExcel(EmployeeContractVO excel, List<ErrorMessage> errorMessageList) {
TEmployeeContractInfo insert = new TEmployeeContractInfo();
BeanUtil.copyProperties(excel, insert);
try {
if (Common.isEmpty(insert.getEmpIdcard()) || Common.isEmpty(insert.getDeptNo())) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), EMPID_NOT_EMPTY));
}
TEmployeeProject project = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getEmpIdcard, insert.getEmpIdcard())
.eq(TEmployeeProject::getDeptNo, insert.getDeptNo())
.eq(TEmployeeProject::getDeleteFlag, CommonConstants.STATUS_NORMAL)
.eq(TEmployeeProject::getProjectStatus, CommonConstants.ZERO_INT).last(CommonConstants.LAST_ONE_SQL));
if (project == null) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), EMPINFO_IS_NOT_EXITS_BYID));
} else {
insert.setEmpId(project.getEmpId());
insert.setSettleDomain(project.getDeptId());
// 核心保存
R<List<ErrorMessage>> info = this.setBaseInfo(insert);
if (info.getCode() != CommonConstants.SUCCESS) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), info.getMsg()));
}
}
} catch (Exception e) {
log.error("员工合同保存异常:" + e.getMessage());
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), CommonConstants.SAVE_FAILED));
}
}
} }
...@@ -1228,6 +1228,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -1228,6 +1228,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
if (Common.isNotNull(excel.getEmpName())) { if (Common.isNotNull(excel.getEmpName())) {
saveEmp.setEmpName(excel.getEmpName()); saveEmp.setEmpName(excel.getEmpName());
} }
if (Common.isNotNull(excel.getEmpPhone())) {
saveEmp.setEmpPhone(excel.getEmpPhone());
}
// 校验手机号 // 校验手机号
existEmp = existPhoneMap.get(excel.getEmpPhone()); existEmp = existPhoneMap.get(excel.getEmpPhone());
......
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