diff --git a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationReportDTO.java b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationReportDTO.java
new file mode 100644
index 000000000..dbebb32bb
--- /dev/null
+++ b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationReportDTO.java
@@ -0,0 +1,33 @@
+package com.engine.salary.entity.taxdeclaration.dto;
+
+import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
+import com.engine.salary.entity.taxdeclaration.po.TaxDeclareStatusPO;
+import com.engine.salary.enums.salarysob.DeclareReportTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 个税申报类型
+ *
Copyright: Copyright (c) 2023
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TaxDeclarationReportDTO {
+
+ private DeclareReportTypeEnum reportType;
+
+ private TaxDeclareStatusPO status;
+
+ private List taxDeclarations;
+
+}
diff --git a/src/com/engine/salary/service/TaxDeclareRecordService.java b/src/com/engine/salary/service/TaxDeclareRecordService.java
index 0a78b5421..00a082ecf 100644
--- a/src/com/engine/salary/service/TaxDeclareRecordService.java
+++ b/src/com/engine/salary/service/TaxDeclareRecordService.java
@@ -194,4 +194,5 @@ public interface TaxDeclareRecordService {
void updateById(TaxDeclareRecordPO taxDeclareRecord);
+ void getTaxReportType(Long id);
}
diff --git a/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java
index 89a7fa3c0..6bb017d88 100644
--- a/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java
+++ b/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java
@@ -1199,6 +1199,47 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
getTaxDeclareRecordMapper().updateIgnoreNull(taxDeclareRecord);
}
+ @Override
+ public void getTaxReportType(Long id) {
+ List taxDeclareStatusByTaxDeclareRecordId = getTaxDeclareStatusByTaxDeclareRecordId(id);
+
+ DeclareReportTypeEnum declareReportType = DeclareReportTypeEnum.parseByValue(reportType);
+
+ TaxDeclareStatusPO declareStatus = getTaxDeclareStatus(id, reportType);
+ if (declareStatus == null) {
+ declareStatus = TaxDeclareStatusPO.builder()
+ .id(IdGenerator.generate())
+ .taxDeclareRecordId(id)
+ .reportType(reportType)
+ .taxDeclareType(TaxDeclareTypeEnum.NORMAL_DECLARE.getValue())
+ .taxDeclareStatus(TaxDeclareStatusEnum.NOT_DECLARE.getValue())
+ .taxDeclareErrorMsg("")
+ .personNum(0)
+ .taxPayAmount("")
+ .taxPaidAmount("")
+ .taxPurePaidAmount("")
+ .deleteType(0)
+ .build();
+ getTaxDeclareStatusMapper().insertIgnoreNull(declareStatus);
+ }
+
+ // 查询个税申报记录
+ TaxDeclareRecordPO taxDeclareRecord = getById(id);
+ if (Objects.isNull(taxDeclareRecord)) {
+ throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156495, "参数异常,个税申报记录不存在或已被删除"));
+ }
+
+ // 查询个税申报表
+ List taxDeclarations = getTaxDeclarationService(user).listByTaxCycleAndTaxAgentIds(SalaryDateUtil.localDate2YearMonth(taxDeclareRecord.getTaxCycle()), Collections.singleton(taxDeclareRecord.getTaxAgentId()));
+ if (CollectionUtils.isEmpty(taxDeclarations)) {
+ throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156494, "当前无可申报的数据"));
+ }
+
+ taxDeclarations.forEach(taxDeclarationPO -> {
+
+ });
+ }
+
private TaxDeclareRequest buildTaxDeclareRequest(Long id) {
// 查询供应商信息
diff --git a/src/com/engine/salary/web/TaxDeclarationController.java b/src/com/engine/salary/web/TaxDeclarationController.java
index 3586123dd..1608703d6 100644
--- a/src/com/engine/salary/web/TaxDeclarationController.java
+++ b/src/com/engine/salary/web/TaxDeclarationController.java
@@ -90,6 +90,21 @@ public class TaxDeclarationController {
return new ResponseResult(user).run(getTaxDeclareRecordWrapper(user)::getForm, id);
}
+
+ /**
+ * 个税申报左侧分类
+ *
+ * @param id 个税申报记录id
+ * @return
+ */
+ @GET
+ @Path("/getTaxReportType")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String getTaxReportType(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getTaxDeclareRecordWrapper(user)::getTaxReportType, id);
+ }
+
/**
* 个税申报表相关信息
*
diff --git a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java
index 41f17f5e5..7cb884858 100644
--- a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java
+++ b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java
@@ -870,4 +870,8 @@ public class TaxDeclareRecordWrapper extends Service {
loggerContext.setOldValues(declarationValuePO);
SalaryElogConfig.taxDeclarationLoggerTemplate.write(loggerContext);
}
+
+ public void getTaxReportType(Long id) {
+ getTaxDeclareRecordService(user).getTaxReportType(id);
+ }
}