Commit dc76bdc3 authored by hongguangwu's avatar hongguangwu

导入

parent 76335095
......@@ -131,12 +131,12 @@ public class TEmployeeContractInfo extends BaseEntity {
@Schema(description = "客户名称", name = "subjectUnit")
private String subjectUnit;
/**
* 签订情况
* 签订类型
*/
@NotBlank(message = "签订情况不能为空")
@Length(max = 1, message = "签订情况不能超过1个字符")
@ExcelAttribute(name = "签订情况", isNotEmpty = true, errorInfo = "签订情况不能为空", maxLength = 100,isDataId = true, dataType = ExcelAttributeConstants.EMPLOYEE_SITUATION_TYPE)
@Schema(description = "签订情况", name = "situation")
@NotBlank(message = "签订类型不能为空")
@Length(max = 1, message = "签订类型不能超过1个字符")
@ExcelAttribute(name = "签订类型", isNotEmpty = true, errorInfo = "签订类型不能为空", maxLength = 100,isDataId = true, dataType = ExcelAttributeConstants.EMPLOYEE_SITUATION_TYPE)
@Schema(description = "签订类型(字典)", name = "situation")
private String situation;
/**
* 合同年限
......@@ -144,20 +144,20 @@ public class TEmployeeContractInfo extends BaseEntity {
@NotBlank(message = "合同年限不能为空")
@ExcelAttribute(name = "合同年限", errorInfo = "合同年限不能为空")
@Schema(description = "合同年限", name = "contractTerm")
private Double contractTerm;
private String contractTerm;
/**
* 合同编
* 合同编
*/
@NotBlank(message = "合同编不能为空")
@Length(max = 128, message = "合同编号不能超过128个字符")
@ExcelAttribute(name = "合同编号", maxLength = 128)
@Schema(description = "合同编", name = "contractNo")
@NotBlank(message = "合同编不能为空")
@Length(max = 50, message = "合同编码不能超过50个字符")
@ExcelAttribute(name = "合同编码", maxLength = 50)
@Schema(description = "合同编", name = "contractNo")
private String contractNo;
/**
* 备注
*/
@Length(max = 512, message = "不能超过512个字符")
@ExcelAttribute(name = "备注", maxLength = 512)
@Length(max = 200, message = "不能超过200个字符")
@ExcelAttribute(name = "备注", maxLength = 200)
@Schema(description = "备注", name = "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;
}
......@@ -21,6 +21,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
......
......@@ -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.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.http.HttpHeaders;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
......@@ -205,4 +207,20 @@ public class TEmployeeContractInfoController {
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());
}
}
......@@ -22,11 +22,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.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.ErrorVO;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import org.springframework.validation.BindingResult;
import java.io.InputStream;
import java.util.List;
/**
......@@ -99,5 +102,6 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract
**/
R<String> filingContract(TEmployeeContractInfo tEmployeeContractInfo);
R<List<ErrorMessage>> batchImport(InputStream inputStream);
}
......@@ -1228,6 +1228,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
if (Common.isNotNull(excel.getEmpName())) {
saveEmp.setEmpName(excel.getEmpName());
}
if (Common.isNotNull(excel.getEmpPhone())) {
saveEmp.setEmpPhone(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