新增申报
This commit is contained in:
parent
a5ffe12509
commit
0a54fe5f80
|
|
@ -0,0 +1,64 @@
|
|||
package com.engine.salary.entity.taxdeclaration.param;
|
||||
|
||||
import com.engine.salary.annotation.SalaryTableColumn;
|
||||
import com.engine.salary.annotation.TableTitle;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 个税申报明细保存
|
||||
* <p>Copyright: Copyright (c) 2023</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
public class TaxDeclareRecordDetailSaveParam {
|
||||
|
||||
//主键id
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
//个税申报记录id")
|
||||
private Long taxDeclareRecordId;
|
||||
|
||||
//个税申报表id")
|
||||
private Long taxDeclarationId;
|
||||
|
||||
//人员id
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long employeeId;
|
||||
private Integer employeeType;
|
||||
|
||||
@SalaryTableColumn(
|
||||
text = "工号", width = "10%", column = "jobNum"
|
||||
)
|
||||
@TableTitle(title ="工号",dataIndex = "jobNum",key = "jobNum")
|
||||
private String jobNum;
|
||||
|
||||
@SalaryTableColumn(
|
||||
text = "姓名", width = "10%", column = "username"
|
||||
)
|
||||
@TableTitle(title ="姓名",dataIndex = "username",key = "username")
|
||||
private String username;
|
||||
|
||||
@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;
|
||||
|
||||
private Map<String,String> taxReportColumnValues;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -20,34 +20,34 @@ import java.util.Date;
|
|||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
//hrsa_tax_report_column")
|
||||
//hrsa_tax_report_column
|
||||
public class TaxReportColumnPO {
|
||||
|
||||
//name = "主键id")
|
||||
//name = 主键id
|
||||
private Long id;
|
||||
//name = "报表类型")
|
||||
//name = 报表类型
|
||||
private String taxReportType;
|
||||
//name = "所得项目")
|
||||
//name = 所得项目
|
||||
private String incomeCategory;
|
||||
//name = "申报表的列名")
|
||||
//name = 申报表的列名
|
||||
private String reportColumnName;
|
||||
//name = "申报表的列名多语言标签")
|
||||
//name = 申报表的列名多语言标签
|
||||
private Integer reportColumnLabel;
|
||||
//name = "申报表的列索引")
|
||||
//name = 申报表的列索引
|
||||
private String reportColumnDataIndex;
|
||||
//name = "数值类型")
|
||||
//name = 数值类型
|
||||
private String dataType;
|
||||
//name = "个税对接时的参数key")
|
||||
//name = 个税对接时的参数key
|
||||
private String requestParamKey;
|
||||
//name = "租户key", ignore = true)
|
||||
//name = 租户key
|
||||
private String tenantKey;
|
||||
//name = "创建人id", ignore = true)
|
||||
//name = 创建人id
|
||||
private Long creator;
|
||||
//name = "是否删除", ignore = true)
|
||||
//name = 是否删除
|
||||
private Integer deleteType;
|
||||
//name = "创建时间", ignore = true)
|
||||
//name = 创建时间
|
||||
private Date createTime;
|
||||
//name = "更新时间", ignore = true)
|
||||
//name = 更新时间
|
||||
private Date updateTime;
|
||||
|
||||
Collection<Long> ids;
|
||||
|
|
|
|||
|
|
@ -414,7 +414,15 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
|
|||
// 薪资核算结果
|
||||
Set<Long> salaryAcctEmployeeIdSet = SalaryEntityUtil.properties(incomeCategoryEntry.getValue(), SalaryAcctEmployeePO::getId);
|
||||
List<List<SalaryAcctResultPO>> resultValues = salaryAcctEmployeeIdSet.stream().map(salaryAcctResultValueMap::get).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
TaxDeclareContext taxDeclareContext = new TaxDeclareContext().setSalaryAcctRecordMap(salaryAcctRecordMap).setSalaryAcctEmployees(incomeCategoryEntry.getValue()).setSalaryAcctResultValues(salaryAcctResultValues).setTaxDeclaration(taxDeclaration).setSalarySobTaxReportRuleMap(salarySobTaxReportRuleMap).setSalarySobAddUpRuleMap(salarySobAddUpRuleMap).setTaxReportColumns(taxReportColumnMap.get(incomeCategoryEntry.getKey())).setSalaryItems(salaryItems);
|
||||
TaxDeclareContext taxDeclareContext = new TaxDeclareContext()
|
||||
.setSalaryAcctRecordMap(salaryAcctRecordMap)
|
||||
.setSalaryAcctEmployees(incomeCategoryEntry.getValue())
|
||||
.setSalaryAcctResultValues(salaryAcctResultValues)
|
||||
.setTaxDeclaration(taxDeclaration)
|
||||
.setSalarySobTaxReportRuleMap(salarySobTaxReportRuleMap)
|
||||
.setSalarySobAddUpRuleMap(salarySobAddUpRuleMap)
|
||||
.setTaxReportColumns(taxReportColumnMap.get(incomeCategoryEntry.getKey()))
|
||||
.setSalaryItems(salaryItems);
|
||||
TaxDeclarationStrategy taxDeclarationStrategy = new TaxDeclarationCommon();
|
||||
TaxDeclarationGenerateResult generateResult = taxDeclarationStrategy.generate(taxDeclareContext, (long) user.getUID());
|
||||
taxDeclarationValues.addAll(generateResult.getTaxDeclarationValues());
|
||||
|
|
|
|||
|
|
@ -334,6 +334,35 @@ public class TaxDeclarationController {
|
|||
return new ResponseResult<Long, String>(user).run(getTaxDeclareRecordWrapper(user)::refreshData, taxDeclareRecordParam.getTaxDeclareRecordId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增表单
|
||||
*
|
||||
* @param incomeCategory
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/getAddForm")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getAddForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "IncomeCategoryEnum") IncomeCategoryEnum incomeCategory) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<IncomeCategoryEnum, String>(user).run(getTaxDeclareRecordWrapper(user)::getAddForm, incomeCategory);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增
|
||||
* @param request
|
||||
* @param response
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/add")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String add(@Context HttpServletRequest request, @Context HttpServletResponse response,TaxDeclareRecordDetailSaveParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<TaxDeclareRecordDetailSaveParam, String>(user).run(getTaxDeclareRecordWrapper(user)::add, param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 个税申报表详情列表
|
||||
*
|
||||
|
|
|
|||
|
|
@ -3,13 +3,11 @@ package com.engine.salary.wrapper;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.cache.SalaryCacheKey;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.entity.taxdeclaration.dto.*;
|
||||
import com.engine.salary.entity.taxdeclaration.param.AbnormalEmployeeListQueryParam;
|
||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationValueListQueryParam;
|
||||
import com.engine.salary.entity.taxdeclaration.param.*;
|
||||
import com.engine.salary.entity.taxdeclaration.po.*;
|
||||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||
import com.engine.salary.enums.taxdeclaration.TaxDeclareStatusEnum;
|
||||
|
|
@ -89,6 +87,11 @@ public class TaxDeclareRecordWrapper extends Service {
|
|||
return ServiceUtil.getService(TaxDeclareFailServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxReportColumnService getTaxReportColumnService(User user) {
|
||||
return ServiceUtil.getService(TaxReportColumnServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 个税申报记录列表
|
||||
*
|
||||
|
|
@ -660,4 +663,29 @@ public class TaxDeclareRecordWrapper extends Service {
|
|||
return getTaxDeclarationExcelService(user).exportEmployee4Fail(queryParam);
|
||||
}
|
||||
|
||||
public List<TaxReportColumnPO> getAddForm(IncomeCategoryEnum incomeCategoryEnum) {
|
||||
// 查询个税申报表列
|
||||
List<TaxReportColumnPO> taxReportColumns = getTaxReportColumnService(user).listByIncomeCategory(incomeCategoryEnum);
|
||||
return taxReportColumns;
|
||||
}
|
||||
|
||||
public void add(TaxDeclareRecordDetailSaveParam param) {
|
||||
|
||||
TaxDeclarationValuePO build = TaxDeclarationValuePO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.taxDeclarationId(param.getTaxDeclarationId())
|
||||
.taxDeclareRecordId(param.getTaxDeclareRecordId())
|
||||
.employeeId(param.getEmployeeId())
|
||||
.employeeType(param.getEmployeeType())
|
||||
.resultValue(param.getTaxReportColumnValues())
|
||||
.createTime(new Date())
|
||||
.updateTime(new Date())
|
||||
.creator((long) user.getUID())
|
||||
.deleteType(0)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
List<TaxDeclarationValuePO> objects = new ArrayList<>();
|
||||
objects.add(build);
|
||||
getTaxDeclarationValueService(user).batchSave(objects);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue