diff --git a/src/com/engine/salary/entity/employeedeclare/dto/EmployeeDeclareExcelDTO.java b/src/com/engine/salary/entity/employeedeclare/dto/EmployeeDeclareExcelDTO.java
new file mode 100644
index 000000000..5e1c658d7
--- /dev/null
+++ b/src/com/engine/salary/entity/employeedeclare/dto/EmployeeDeclareExcelDTO.java
@@ -0,0 +1,126 @@
+package com.engine.salary.entity.employeedeclare.dto;
+
+import com.engine.salary.annotation.SalaryTable;
+import com.engine.salary.annotation.SalaryTableColumn;
+import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.enums.employeedeclare.DeclareStatusEnum;
+import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.util.Set;
+
+/**
+ * 人员报送(人员)列表
+ *
Copyright: Copyright (c) 2023
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@Accessors(chain = true)
+@SalaryTable(pageId = "a4f89287-289scf07669d7a23de0ef8u8s2710oe7")
+public class EmployeeDeclareExcelDTO {
+
+ // 主键id
+ private Long id;
+
+ // 人员ID
+ private Long employeeId;
+
+ // 人员类型
+ private EmployeeTypeEnum employeeType;
+
+
+ // 姓名
+ @SalaryTableColumn(text = "姓名", width = "10%", column = "employeeName")
+ @TableTitle(title = "姓名", dataIndex = "employeeName", key = "employeeName")
+ private String employeeName;
+
+ // 分部
+ @SalaryTableColumn(text = "分部", width = "10%", column = "subCompanyName")
+ @TableTitle(title = "分部", dataIndex = "subCompanyName", key = "subCompanyName")
+ private String subCompanyName;
+
+ // 部门
+ @SalaryTableColumn(text = "部门", width = "10%", column = "departmentName")
+ @TableTitle(title = "部门", dataIndex = "departmentName", key = "departmentName")
+ private String departmentName;
+
+ // 个税扣缴义务人
+ @SalaryTableColumn(text = "个税扣缴义务人", width = "10%", column = "taxAgentName")
+ @TableTitle(title = "个税扣缴义务人", dataIndex = "taxAgentName", key = "taxAgentName")
+ private String taxAgentName;
+
+ // 工号
+ @SalaryTableColumn(text = "工号", width = "10%", column = "jobNum")
+ @TableTitle(title = "工号", dataIndex = "jobNum", key = "jobNum")
+ private String jobNum;
+
+ // 证件类型
+ @SalaryTableColumn(text = "证件类型", width = "10%", column = "cardType")
+ @TableTitle(title = "证件类型", dataIndex = "cardType", key = "cardType")
+ private String cardType;
+
+ // 证件号码
+ @SalaryTableColumn(text = "证件号码", width = "10%", column = "cardNum")
+ @TableTitle(title = "证件号码", dataIndex = "cardNum", key = "cardNum")
+ private String cardNum;
+
+ // 性别
+ @SalaryTableColumn(text = "性别", width = "10%", column = "gender")
+ @TableTitle(title = "性别", dataIndex = "gender", key = "gender")
+ private String gender;
+
+ // 出生日期
+ @SalaryTableColumn(text = "出生日期", width = "10%", column = "birthday")
+ @TableTitle(title = "出生日期", dataIndex = "birthday", key = "birthday")
+ private String birthday;
+
+ // 人员状态
+ @SalaryTableColumn(text = "人员状态", width = "10%", column = "employmentStatus")
+ @TableTitle(title = "人员状态", dataIndex = "employmentStatus", key = "employmentStatus")
+ private String employmentStatus;
+
+ // 手机号码
+ @SalaryTableColumn(text = "手机号码", width = "10%", column = "mobile")
+ @TableTitle(title = "手机号码", dataIndex = "mobile", key = "mobile")
+ private String mobile;
+
+ // 任职受雇从业类型
+ @SalaryTableColumn(text = "任职受雇从业类型", width = "10%", column = "employmentType")
+ @TableTitle(title = "任职受雇从业类型", dataIndex = "employmentType", key = "employmentType")
+ private String employmentType;
+
+ // 任职受雇从业日期
+ @SalaryTableColumn(text = "任职受雇从业日期", width = "10%", column = "employmentDate")
+ @TableTitle(title = "任职受雇从业日期", dataIndex = "employmentDate", key = "employmentDate")
+ private String employmentDate;
+
+
+ // 离职日期
+ @SalaryTableColumn(text = "离职日期", width = "10%", column = "dismissDate")
+ @TableTitle(title = "离职日期", dataIndex = "dismissDate", key = "dismissDate")
+ private String dismissDate;
+
+ // 申报状态
+ private DeclareStatusEnum declareStatus;
+
+ // 申报状态
+ @SalaryTableColumn(text = "申报状态", width = "10%", column = "declareStatusDesc")
+ @TableTitle(title = "申报状态", dataIndex = "declareStatusDesc", key = "declareStatusDesc")
+ private String declareStatusDesc;
+
+ // 申报失败原因
+ private String declareErrorMsg;
+
+ // 编辑过的字段
+ private Set updatedDataIndexSet;
+}
diff --git a/src/com/engine/salary/entity/employeedeclare/param/EmployeeDeclareImportEmployeeParam.java b/src/com/engine/salary/entity/employeedeclare/param/EmployeeDeclareImportEmployeeParam.java
new file mode 100644
index 000000000..16f994ee5
--- /dev/null
+++ b/src/com/engine/salary/entity/employeedeclare/param/EmployeeDeclareImportEmployeeParam.java
@@ -0,0 +1,30 @@
+package com.engine.salary.entity.employeedeclare.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 人员报送(人员)导入参数
+ * Copyright: Copyright (c) 2023
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class EmployeeDeclareImportEmployeeParam {
+ //上传文件id
+ String imageId;
+
+ Long taxAgentId;
+
+ Date taxCycle;
+
+}
diff --git a/src/com/engine/salary/entity/employeedeclare/param/EmployeeDeclareImportParam.java b/src/com/engine/salary/entity/employeedeclare/param/EmployeeDeclareImportParam.java
new file mode 100644
index 000000000..72a7bd9f3
--- /dev/null
+++ b/src/com/engine/salary/entity/employeedeclare/param/EmployeeDeclareImportParam.java
@@ -0,0 +1,18 @@
+package com.engine.salary.entity.employeedeclare.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description: 人员报送导入参数
+ * @author: xiajun
+ * @modified By: xiajun
+ * @date: Created in 2022/11/21 4:58 PM
+ * @version:v1.0
+ */
+@Data
+public class EmployeeDeclareImportParam extends EmployeeDeclareListQueryParam {
+
+ @ApiModelProperty("是否导出现有数据")
+ private String exportData;
+}
diff --git a/src/com/engine/salary/service/EmployeeDeclareExcelService.java b/src/com/engine/salary/service/EmployeeDeclareExcelService.java
index 6b0f75775..f48aa1199 100644
--- a/src/com/engine/salary/service/EmployeeDeclareExcelService.java
+++ b/src/com/engine/salary/service/EmployeeDeclareExcelService.java
@@ -1,5 +1,6 @@
package com.engine.salary.service;
+import com.engine.salary.entity.employeedeclare.param.EmployeeDeclareImportParam;
import com.engine.salary.entity.employeedeclare.param.EmployeeDeclareListQueryParam;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -18,7 +19,7 @@ public interface EmployeeDeclareExcelService {
* @param importParam
* @return
*/
-// Map exportTemplate(EmployeeDeclareImportParam importParam);
+ XSSFWorkbook exportTemplate(EmployeeDeclareImportParam importParam);
/**
* 导出人员信息采集-全部
diff --git a/src/com/engine/salary/service/impl/EmployeeDeclareExcelServiceImpl.java b/src/com/engine/salary/service/impl/EmployeeDeclareExcelServiceImpl.java
index 07490e5e1..15afa6d35 100644
--- a/src/com/engine/salary/service/impl/EmployeeDeclareExcelServiceImpl.java
+++ b/src/com/engine/salary/service/impl/EmployeeDeclareExcelServiceImpl.java
@@ -3,33 +3,50 @@ package com.engine.salary.service.impl;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.entity.employeedeclare.dto.EmployeeDeclareListDTO;
+import com.engine.salary.entity.employeedeclare.param.EmployeeDeclareImportParam;
import com.engine.salary.entity.employeedeclare.param.EmployeeDeclareListQueryParam;
import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO;
+import com.engine.salary.enums.employeedeclare.CardTypeEnum;
+import com.engine.salary.enums.employeedeclare.EmploymentStatusEnum;
+import com.engine.salary.enums.employeedeclare.EmploymentTypeEnum;
import com.engine.salary.service.EmployeeDeclareExcelService;
import com.engine.salary.service.EmployeeDeclareService;
import com.engine.salary.service.SalaryEmployeeService;
import com.engine.salary.service.TaxAgentService;
+import com.engine.salary.util.SalaryEnumUtil;
+import com.engine.salary.util.SalaryI18nUtil;
+import com.engine.salary.util.excel.ExcelSheetData;
import com.engine.salary.util.excel.ExcelUtil;
+import com.google.common.base.Joiner;
+import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import weaver.general.Util;
import weaver.hrm.User;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
- * @description: 人员报送(人员)导入导出
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 9/7/22 5:39 PM
- * @version:v1.0
- */
+ * 人员报送(人员)导入导出
+ * Copyright: Copyright (c) 2023
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
@Slf4j
public class EmployeeDeclareExcelServiceImpl extends Service implements EmployeeDeclareExcelService {
-
private EmployeeDeclareService getEmployeeDeclareService(User user) {
return ServiceUtil.getService(EmployeeDeclareServiceImpl.class, user);
}
+
private SalaryEmployeeService getSalaryEmployeeService(User user) {
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
@@ -39,67 +56,45 @@ public class EmployeeDeclareExcelServiceImpl extends Service implements Employee
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
}
-// @Override
-// public Map exportTemplate( EmployeeDeclareImportParam importParam) {
-// String tenantKey = simpleEmployee.getTenantKey();
-// Long currentEmployeeId = simpleEmployee.getEmployeeId();
-// // 查询人员
-// List employeeDeclares = Collections.emptyList();
-// if (StringUtils.equalsIgnoreCase(importParam.getExportData(), "true")) {
-// employeeDeclares = getEmployeeDeclareService(user).listByParam(importParam);
-// }
-// String yesI18 = SalaryI18nUtil.getI18nLabel( 84967, "是");
-// String noI18 = SalaryI18nUtil.getI18nLabel( 84968, "否");
-// List> rows = Lists.newArrayList();
-// for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
-// EmploymentStatusEnum employmentStatusEnum = SalaryEnumUtil.enumMatchByValue(employeeDeclare.getEmploymentStatus(), EmploymentStatusEnum.class);
-// EmploymentTypeEnum employmentTypeEnum = SalaryEnumUtil.enumMatchByValue(employeeDeclare.getEmploymentType(), EmploymentTypeEnum.class);
-// List