diff --git a/src/com/engine/salary/entity/taxdeclaration/param/DownloadTemplateParam.java b/src/com/engine/salary/entity/taxdeclaration/param/DownloadTemplateParam.java
new file mode 100644
index 000000000..d9371b3fd
--- /dev/null
+++ b/src/com/engine/salary/entity/taxdeclaration/param/DownloadTemplateParam.java
@@ -0,0 +1,26 @@
+package com.engine.salary.entity.taxdeclaration.param;
+
+import com.engine.salary.util.valid.DataCheck;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DownloadTemplateParam {
+ /**
+ * 申报表id,下载模板
+ */
+ @DataCheck(require = true,message = "imageId为空")
+ Long taxDeclarationId;
+
+
+
+ /**
+ * 导入文件id
+ */
+ String imageId;
+}
diff --git a/src/com/engine/salary/service/TaxDeclarationExcelService.java b/src/com/engine/salary/service/TaxDeclarationExcelService.java
index 15d6c81fd..e5e154fe7 100644
--- a/src/com/engine/salary/service/TaxDeclarationExcelService.java
+++ b/src/com/engine/salary/service/TaxDeclarationExcelService.java
@@ -1,9 +1,12 @@
package com.engine.salary.service;
import com.engine.salary.entity.taxdeclaration.param.AbnormalEmployeeListQueryParam;
+import com.engine.salary.entity.taxdeclaration.param.DownloadTemplateParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationValueListQueryParam;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import java.util.Map;
+
/**
* 个税申报表导出
*
Copyright: Copyright (c) 2022
@@ -45,4 +48,16 @@ public interface TaxDeclarationExcelService {
* @return
*/
XSSFWorkbook exportEmployee4Fail(AbnormalEmployeeListQueryParam queryParam);
+
+ XSSFWorkbook downloadTemplate(DownloadTemplateParam param);
+ /**
+ * 预览
+ */
+ Map preview(DownloadTemplateParam importParam);
+
+ /**
+ * 导入数据
+ */
+ Map importData(DownloadTemplateParam importParam);
+
}
diff --git a/src/com/engine/salary/service/TaxDeclarationValueService.java b/src/com/engine/salary/service/TaxDeclarationValueService.java
index 70bd6f729..969292efb 100644
--- a/src/com/engine/salary/service/TaxDeclarationValueService.java
+++ b/src/com/engine/salary/service/TaxDeclarationValueService.java
@@ -36,6 +36,7 @@ public interface TaxDeclarationValueService {
* @return
*/
List listByTaxDeclarationIds(Collection taxDeclarationIds);
+ List listByTaxDeclarationId(Long taxDeclarationIds);
/**
* 查询个税申报表明细
@@ -59,6 +60,7 @@ public interface TaxDeclarationValueService {
* @param taxDeclarationValues
*/
void batchSave(List taxDeclarationValues);
+ void batchEdit(List taxDeclarationValues);
void save(TaxDeclareRecordDetailSaveParam param);
diff --git a/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java
index 6382be9b4..8aac2c649 100644
--- a/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java
+++ b/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java
@@ -1,30 +1,53 @@
package com.engine.salary.service.impl;
+import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
+import com.engine.salary.constant.SalaryDefaultTenantConstant;
+import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.taxdeclaration.dto.AbnormalEmployeeListDTO;
import com.engine.salary.entity.taxdeclaration.dto.FailEmployeeListDTO;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationValueListDTO;
import com.engine.salary.entity.taxdeclaration.param.AbnormalEmployeeListQueryParam;
+import com.engine.salary.entity.taxdeclaration.param.DownloadTemplateParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationValueListQueryParam;
import com.engine.salary.entity.taxdeclaration.po.*;
+import com.engine.salary.enums.UserStatusEnum;
+import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
+import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
+import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
+import com.engine.salary.enums.sicategory.DeleteTypeEnum;
+import com.engine.salary.enums.taxdeclaration.SourceEnum;
+import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.service.*;
+import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.util.JsonUtil;
+import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
-import com.engine.salary.util.excel.ExcelHead;
+import com.engine.salary.util.excel.ExcelParseHelper;
import com.engine.salary.util.excel.ExcelSheetData;
+import com.engine.salary.util.excel.ExcelSupport;
import com.engine.salary.util.excel.ExcelUtil;
import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import dm.jdbc.util.IdGenerator;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Validate;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import weaver.file.ImageFileManager;
import weaver.general.Util;
import weaver.hrm.User;
-import java.lang.reflect.Field;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.io.InputStream;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.engine.salary.util.excel.ExcelSupport.EXCEL_TYPE_XLSX;
/**
* 个税申报表导出
@@ -57,6 +80,19 @@ public class TaxDeclarationExcelServiceImpl extends Service implements TaxDeclar
return ServiceUtil.getService(TaxDeclareFailServiceImpl.class, user);
}
+
+ private TaxReportColumnService getTaxReportColumnService(User user) {
+ return ServiceUtil.getService(TaxReportColumnServiceImpl.class, user);
+ }
+
+ private SalarySysConfMapper getSalarySysConfMapper() {
+ return SqlProxyHandle.getProxy(SalarySysConfMapper.class);
+ }
+
+ private SalaryEmployeeService getSalaryEmployeeService(User user) {
+ return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
+ }
+
@Override
public XSSFWorkbook exportTaxDeclarationValue(TaxDeclarationValueListQueryParam queryParam) {
// 查询个税申报表
@@ -140,7 +176,7 @@ public class TaxDeclarationExcelServiceImpl extends Service implements TaxDeclar
// 导出的表头
List