在线申报接口
This commit is contained in:
parent
914963135a
commit
0d8606c956
|
|
@ -661,7 +661,7 @@ public class TaxDeclarationBO {
|
|||
.id(IdGenerator.generate())
|
||||
.incomeCategory(incomeCategory)
|
||||
.taxAgentId(taxAgentId)
|
||||
.salaryMonth(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1)))
|
||||
.salaryMonth(saveParam.getSalaryMonth())
|
||||
.taxCycle(taxCycle)
|
||||
.description(saveParam.getDescription())
|
||||
.creator((long) user.getUID())
|
||||
|
|
|
|||
|
|
@ -2,13 +2,12 @@ package com.engine.salary.entity.taxdeclaration.dto;
|
|||
|
||||
import com.engine.salary.enums.taxdeclaration.TaxAgentRangeEnum;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.YearMonth;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -27,7 +26,7 @@ import java.util.Map;
|
|||
public class TaxDeclareRecordFormDTO {
|
||||
|
||||
//薪资所属月")
|
||||
private YearMonth salaryMonth;
|
||||
private Date salaryMonth;
|
||||
|
||||
//个税扣缴义务人范围")
|
||||
private TaxAgentRangeEnum taxAgentRange;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package com.engine.salary.entity.taxdeclaration.dto;
|
||||
|
||||
import com.engine.salary.annotation.TableTitle;
|
||||
import com.engine.salary.enums.taxdeclaration.TaxDeclareStatusEnum;
|
||||
import com.engine.salary.enums.taxdeclaration.TaxDeclareTypeEnum;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
|
@ -23,47 +25,58 @@ public class TaxDeclareRecordListDTO {
|
|||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
//个税扣缴义务人")
|
||||
//个税扣缴义务人
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long taxAgentId;
|
||||
|
||||
//个税扣缴义务人名称")
|
||||
//个税扣缴义务人名称
|
||||
@TableTitle(title = "个税扣缴义务人名称",dataIndex = "taxAgentName",key = "taxAgentName")
|
||||
private String taxAgentName;
|
||||
|
||||
//薪资所属月")
|
||||
//薪资所属月
|
||||
@TableTitle(title = "薪资所属月",dataIndex = "salaryMonth",key = "salaryMonth")
|
||||
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
|
||||
private Date salaryMonth;
|
||||
|
||||
//税款所属期")
|
||||
//税款所属期
|
||||
@TableTitle(title = "税款所属期",dataIndex = "taxCycle",key = "taxCycle")
|
||||
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
|
||||
private Date taxCycle;
|
||||
|
||||
//申报类型")
|
||||
//申报类型
|
||||
private TaxDeclareTypeEnum taxDeclareType;
|
||||
|
||||
//申报类型")
|
||||
//申报类型
|
||||
@TableTitle(title = "申报类型",dataIndex = "taxDeclareTypeDesc",key = "taxDeclareTypeDesc")
|
||||
private String taxDeclareTypeDesc;
|
||||
|
||||
//申报状态")
|
||||
//申报状态
|
||||
private TaxDeclareStatusEnum taxDeclareStatus;
|
||||
|
||||
//申报状态")
|
||||
//申报状
|
||||
@TableTitle(title = "申报状态",dataIndex = "taxDeclareStatusDesc",key = "taxDeclareStatusDesc")
|
||||
private String taxDeclareStatusDesc;
|
||||
|
||||
//已缴金额")
|
||||
//已缴金额
|
||||
@TableTitle(title = "已缴金额",dataIndex = "taxPaidAmount",key = "taxPaidAmount")
|
||||
private String taxPaidAmount;
|
||||
|
||||
//操作人id")
|
||||
//操作人id
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long operateEmployeeId;
|
||||
|
||||
//操作人名称")
|
||||
//操作人名称
|
||||
@TableTitle(title = "操作人名称",dataIndex = "operateEmployeeName",key = "operateEmployeeName")
|
||||
private String operateEmployeeName;
|
||||
|
||||
//操作时间")
|
||||
//操作时间
|
||||
@TableTitle(title = "操作时间",dataIndex = "operateTime",key = "operateTime")
|
||||
private String operateTime;
|
||||
|
||||
//备注")
|
||||
//备注
|
||||
@TableTitle(title = "备注",dataIndex = "description",key = "description")
|
||||
private String description;
|
||||
|
||||
//是否展示图标")
|
||||
//是否展示图标
|
||||
private boolean displayIcon;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.engine.salary.entity.taxdeclaration.param;
|
||||
|
||||
import com.engine.salary.common.BaseQueryParam;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
|
@ -23,15 +24,13 @@ import java.util.Date;
|
|||
public class TaxDeclarationListQueryParam extends BaseQueryParam {
|
||||
|
||||
//薪资所属月范围起点
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date fromSalaryMonth;
|
||||
|
||||
//薪资所属月范围终点
|
||||
//薪资所属月范围终点
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date endSalaryMonth;
|
||||
|
||||
private String fromSalaryMonthStr;
|
||||
|
||||
private String endSalaryMonthStr;
|
||||
|
||||
//个税扣缴义务人菜单")
|
||||
private String taxAgentName;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
package com.engine.salary.entity.taxdeclaration.param;
|
||||
|
||||
import com.engine.salary.enums.taxdeclaration.TaxAgentRangeEnum;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.YearMonth;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -31,7 +32,8 @@ public class TaxDeclarationSaveParam {
|
|||
/**
|
||||
* 薪资所属月
|
||||
*/
|
||||
private YearMonth salaryMonth;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date salaryMonth;
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.entity.taxdeclaration.po;
|
||||
|
||||
import com.engine.salary.annotation.Encrypt;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
|
@ -58,6 +59,7 @@ public class TaxDeclarationValuePO implements Serializable {
|
|||
/**
|
||||
* 薪资核算结果(只在加密解密中使用)
|
||||
*/
|
||||
@Encrypt
|
||||
private String resultValueJson;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -7,14 +7,11 @@ import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
|||
import com.engine.salary.mapper.taxdeclaration.TaxDeclarationMapper;
|
||||
import com.engine.salary.service.TaxDeclarationService;
|
||||
import com.engine.salary.service.impl.TaxDeclarationServiceImpl;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import weaver.general.BaseBean;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.YearMonth;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -50,11 +47,9 @@ public class AddUpSituationManager extends Service {
|
|||
bb.writeLog("开始删除生成:" + po.getTaxAgentId() + "-" + po.getSalaryMonth());
|
||||
// 删除记录
|
||||
int delete = getTaxDeclarationMapper().deleteByIdZj(po.getId());
|
||||
LocalDate localDate = SalaryDateUtil.dateToLocalDate(po.getSalaryMonth());
|
||||
// 调用生成申报单接口
|
||||
YearMonth yearMonth = YearMonth.of(localDate.getYear(), localDate.getMonth());
|
||||
try {
|
||||
getTaxDeclarationService().save(TaxDeclarationSaveParam.builder().salaryMonth(yearMonth).taxAgentId(po.getTaxAgentId()).build());
|
||||
getTaxDeclarationService().save(TaxDeclarationSaveParam.builder().salaryMonth(po.getSalaryMonth()).taxAgentId(po.getTaxAgentId()).build());
|
||||
} catch (Exception e) {
|
||||
bb.writeLog("错误:" + e);
|
||||
result = false;
|
||||
|
|
|
|||
|
|
@ -76,5 +76,5 @@ public interface SalarySobAddUpRuleMapper {
|
|||
*/
|
||||
void deleteByIds(@Param("ids") Collection<Long> ids);
|
||||
|
||||
void deleteBySalarySobIds(Collection<Long> salarySobIds);
|
||||
void deleteBySalarySobIds(@Param("salarySobIds")Collection<Long> salarySobIds);
|
||||
}
|
||||
|
|
@ -41,4 +41,6 @@ public interface TaxDeclarationMapper {
|
|||
void deleteByIds(@Param("ids") Collection<Long> ids);
|
||||
|
||||
int deleteByIdZj(Long id);
|
||||
|
||||
void deleteByTaxDeclareRecordIds(@Param("taxDeclareRecordIds") Collection<Long> taxDeclareRecordIds);
|
||||
}
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
<result column="tenant_key" property="tenantKey"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="income_category" property="incomeCategory"/>
|
||||
<result column="tax_declare_record_id" property="taxDeclareRecordId"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 表字段 -->
|
||||
|
|
@ -30,6 +31,7 @@
|
|||
, t.tenant_key
|
||||
, t.update_time
|
||||
,t.income_category
|
||||
,t.tax_declare_record_id
|
||||
</sql>
|
||||
|
||||
<update id="deleteByIdZj">
|
||||
|
|
@ -77,7 +79,7 @@
|
|||
</select>
|
||||
<insert id="batchInsert">
|
||||
INSERT INTO hrsa_tax_declaration(id, salary_month, tax_cycle, tax_agent_id, description,
|
||||
creator, create_time, update_time, delete_type, tenant_key ,income_category)
|
||||
creator, create_time, update_time, delete_type, tenant_key ,income_category,tax_declare_record_id)
|
||||
VALUES
|
||||
<foreach collection="collection" separator="," item="item">
|
||||
(
|
||||
|
|
@ -91,13 +93,14 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey},
|
||||
#{item.incomeCategory}
|
||||
#{item.incomeCategory},
|
||||
#{item.taxDeclareRecordId}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
<insert id="batchInsert" databaseId="oracle">
|
||||
INSERT INTO hrsa_tax_declaration(id,salary_month, tax_cycle, tax_agent_id, description,
|
||||
creator, create_time, update_time, delete_type, tenant_key ,income_category)
|
||||
creator, create_time, update_time, delete_type, tenant_key ,income_category,tax_declare_record_id)
|
||||
|
||||
<foreach collection="collection" separator="union all" item="item">
|
||||
select
|
||||
|
|
@ -111,14 +114,15 @@
|
|||
#{item.updateTime,jdbcType=DATE},
|
||||
#{item.deleteType,jdbcType=INTEGER},
|
||||
#{item.tenantKey,jdbcType=VARCHAR},
|
||||
#{item.incomeCategory,jdbcType=INTEGER}
|
||||
#{item.incomeCategory,jdbcType=INTEGER},
|
||||
#{item.taxDeclareRecordId,jdbcType=DOUBLE}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
<insert id="batchInsert" databaseId="sqlserver">
|
||||
<foreach collection="collection" separator=";" item="item">
|
||||
INSERT INTO hrsa_tax_declaration(id,salary_month, tax_cycle, tax_agent_id, description,
|
||||
creator, create_time, update_time, delete_type, tenant_key ,income_category)
|
||||
creator, create_time, update_time, delete_type, tenant_key ,income_category,tax_declare_record_id)
|
||||
VALUES
|
||||
(
|
||||
#{item.id},
|
||||
|
|
@ -131,7 +135,8 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey},
|
||||
#{item.incomeCategory}
|
||||
#{item.incomeCategory},
|
||||
#{item.taxDeclareRecordId}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -147,4 +152,14 @@
|
|||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="deleteByTaxDeclareRecordIds">
|
||||
UPDATE hrsa_tax_declaration
|
||||
SET delete_type = 1
|
||||
WHERE delete_type = 0
|
||||
AND tax_declare_record_id IN
|
||||
<foreach collection="taxDeclareRecordIds" open="(" item="taxDeclareRecordId" separator="," close=")">
|
||||
#{taxDeclareRecordId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -77,5 +77,5 @@ public interface TaxDeclarationValueMapper {
|
|||
*/
|
||||
void deleteByIds(@Param("ids") Collection<Long> ids);
|
||||
|
||||
void deleteBytaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds);
|
||||
void deleteBytaxDeclareRecordIds(@Param("taxDeclareRecordIds")Collection<Long> taxDeclareRecordIds);
|
||||
}
|
||||
|
|
@ -189,7 +189,7 @@
|
|||
tax_declaration_id,
|
||||
employee_type,
|
||||
employee_id,
|
||||
result_value_json,
|
||||
result_value_json
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
|
|
@ -204,7 +204,7 @@
|
|||
#{item.taxDeclarationId},
|
||||
#{item.employeeType},
|
||||
#{item.employeeId},
|
||||
#{item.resultValueJson},
|
||||
#{item.resultValueJson}
|
||||
</foreach>
|
||||
)
|
||||
</insert>
|
||||
|
|
@ -222,7 +222,7 @@
|
|||
tax_declaration_id,
|
||||
employee_type,
|
||||
employee_id,
|
||||
result_value_json,
|
||||
result_value_json
|
||||
)
|
||||
|
||||
<foreach collection="collection" item="item" separator="union all">
|
||||
|
|
@ -237,7 +237,7 @@
|
|||
#{item.taxDeclarationId,jdbcType=DOUBLE},
|
||||
#{item.employeeType,jdbcType=INTEGER},
|
||||
#{item.employeeId,jdbcType=DOUBLE},
|
||||
#{item.resultValueJson,jdbcType=VARCHAR},
|
||||
#{item.resultValueJson,jdbcType=VARCHAR}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -256,7 +256,7 @@
|
|||
tax_declaration_id,
|
||||
employee_type,
|
||||
employee_id,
|
||||
result_value_json,
|
||||
result_value_json
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
|
|
@ -270,7 +270,7 @@
|
|||
#{item.taxDeclarationId},
|
||||
#{item.employeeType},
|
||||
#{item.employeeId},
|
||||
#{item.resultValueJson},
|
||||
#{item.resultValueJson}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@
|
|||
person_num,
|
||||
tax_declare_error_msg,
|
||||
tax_paid_amount,
|
||||
tax_pure_paid_amount,
|
||||
tax_pure_paid_amount
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
|
|
@ -321,7 +321,7 @@
|
|||
#{item.personNum},
|
||||
#{item.taxDeclareErrorMsg},
|
||||
#{item.taxPaidAmount},
|
||||
#{item.taxPurePaidAmount},
|
||||
#{item.taxPurePaidAmount}
|
||||
</foreach>
|
||||
)
|
||||
</insert>
|
||||
|
|
@ -347,7 +347,7 @@
|
|||
person_num,
|
||||
tax_declare_error_msg,
|
||||
tax_paid_amount,
|
||||
tax_pure_paid_amount,
|
||||
tax_pure_paid_amount
|
||||
)
|
||||
|
||||
<foreach collection="collection" item="item" separator="union all">
|
||||
|
|
@ -370,7 +370,7 @@
|
|||
#{item.personNum,jdbcType=INTEGER},
|
||||
#{item.taxDeclareErrorMsg,jdbcType=VARCHAR},
|
||||
#{item.taxPaidAmount,jdbcType=VARCHAR},
|
||||
#{item.taxPurePaidAmount,jdbcType=VARCHAR},
|
||||
#{item.taxPurePaidAmount,jdbcType=VARCHAR}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -397,7 +397,7 @@
|
|||
person_num,
|
||||
tax_declare_error_msg,
|
||||
tax_paid_amount,
|
||||
tax_pure_paid_amount,
|
||||
tax_pure_paid_amount
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
|
|
@ -419,7 +419,7 @@
|
|||
#{item.personNum},
|
||||
#{item.taxDeclareErrorMsg},
|
||||
#{item.taxPaidAmount},
|
||||
#{item.taxPurePaidAmount},
|
||||
#{item.taxPurePaidAmount}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@
|
|||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER BY id DESC
|
||||
ORDER BY id
|
||||
</select>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
Map<Long, String> taxAgentNameMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId, TaxAgentPO::getName);
|
||||
|
||||
// 薪资所属月的日期范围
|
||||
LocalDateRange salaryMonthDateRange = SalaryDateUtil.localDate2Range(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1)));
|
||||
LocalDateRange salaryMonthDateRange = SalaryDateUtil.localDate2Range(saveParam.getSalaryMonth());
|
||||
if (Objects.isNull(salaryMonthDateRange)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "薪资所属月参数错误"));
|
||||
}
|
||||
|
|
@ -189,13 +189,13 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
if (CollectionUtils.isNotEmpty(taxDeclarationPOS)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(107986, "{0}在{1}已经生成过个税申报表,不允许再次生成")
|
||||
.replace("{0}", taxAgentNameMap.get(taxDeclarationPOS.get(0).getTaxAgentId()))
|
||||
.replace("{1}", saveParam.getSalaryMonth().toString()));
|
||||
.replace("{1}", SalaryDateUtil.getFormatYearMonth(saveParam.getSalaryMonth())));
|
||||
}
|
||||
// 查询薪资所属月的薪资核算记录
|
||||
List<SalaryAcctRecordPO> salaryAcctRecordPOS = listBySalaryMonth(SalaryAcctRecordPO.builder().salaryMonths(salaryMonthDateRange).build());
|
||||
// 无薪资核算记录,不允许生成个税申报表
|
||||
if (CollectionUtils.isEmpty(salaryAcctRecordPOS)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98874, "{0}无申报数据").replace("{0}", saveParam.getSalaryMonth().toString()));
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98874, "{0}无申报数据").replace("{0}", SalaryDateUtil.getFormatYearMonth(saveParam.getSalaryMonth())));
|
||||
}
|
||||
// 查询薪资核算结果
|
||||
List<SalaryAcctResultPO> salaryAcctResultPOS = getSalaryAcctResultService(user)
|
||||
|
|
@ -204,7 +204,7 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
// 无薪资核算结果,不允许生成个税申报表
|
||||
if (CollectionUtils.isEmpty(salaryAcctResultPOS)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(110093, "{0}无可申报数据")
|
||||
.replace("{0}", saveParam.getSalaryMonth().toString()));
|
||||
.replace("{0}", SalaryDateUtil.getFormatYearMonth(saveParam.getSalaryMonth())));
|
||||
}
|
||||
|
||||
Set<Long> salaryAcctRecordIds = SalaryEntityUtil.properties(salaryAcctResultPOS, SalaryAcctResultPO::getSalaryAcctRecordId);
|
||||
|
|
@ -213,14 +213,14 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
boolean notArchived = salaryAcctRecordPOS.stream().anyMatch(salaryAcctRecordPO -> Objects.equals(salaryAcctRecordPO.getStatus(), SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue()));
|
||||
if (notArchived) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98875, "{0}有未归档数据,请全部归档后再申报")
|
||||
.replace("{0}", saveParam.getSalaryMonth().toString()));
|
||||
.replace("{0}", SalaryDateUtil.getFormatYearMonth(saveParam.getSalaryMonth())));
|
||||
}
|
||||
// 如果当前薪资所属月下存在不同的税款所属期,属于异常业务场景,不允许生成个税申报表
|
||||
Date taxCycle = salaryAcctRecordPOS.get(0).getTaxCycle();
|
||||
boolean differentTaxCycle = salaryAcctRecordPOS.stream().anyMatch(salaryAcctRecordPO -> salaryAcctRecordPO.getTaxCycle().compareTo(taxCycle) != 0);
|
||||
if (differentTaxCycle) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98876, "{0}存在不同的税款所属期,无法正常生成个税申报表,请调整账套设置,重新核算后再生成个税申报表")
|
||||
.replace("{0}", saveParam.getSalaryMonth().toString()));
|
||||
.replace("{0}", SalaryDateUtil.getFormatYearMonth(saveParam.getSalaryMonth())));
|
||||
}
|
||||
// 查询薪资账套
|
||||
Set<Long> salarySobIds = SalaryEntityUtil.properties(salaryAcctRecordPOS, SalaryAcctRecordPO::getSalarySobId);
|
||||
|
|
@ -341,7 +341,7 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
if (CollectionUtils.isEmpty(taxDeclareRecordIds)) {
|
||||
return;
|
||||
}
|
||||
getTaxDeclarationMapper().deleteByIds(taxDeclareRecordIds);
|
||||
getTaxDeclarationMapper().deleteByTaxDeclareRecordIds(taxDeclareRecordIds);
|
||||
// new LambdaUpdateChainWrapper<>(baseMapper)
|
||||
// .eq(TaxDeclarationPO::getTenantKey, tenantKey)
|
||||
// .eq(TaxDeclarationPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue())
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.encrypt.EncryptUtil;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO;
|
||||
import com.engine.salary.entity.extemp.po.ExtEmpPO;
|
||||
|
|
@ -15,13 +17,16 @@ import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
|
|||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||
import com.engine.salary.mapper.taxdeclaration.TaxDeclarationValueMapper;
|
||||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.JsonUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryEnumUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -35,59 +40,64 @@ import java.util.stream.Collectors;
|
|||
*/
|
||||
@Slf4j
|
||||
public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclarationValueService {
|
||||
public EncryptUtil encryptUtil = new EncryptUtil();
|
||||
|
||||
private TaxDeclarationValueMapper taxDeclarationValueMapper;
|
||||
// private DataSecurityService dataSecurityService;
|
||||
|
||||
private SalaryEmployeeService salaryEmployeeService;
|
||||
|
||||
private ExtEmpService extEmployeeService;
|
||||
|
||||
private EmployeeDeclareService employeeDeclareService;
|
||||
|
||||
private TaxReportColumnService taxReportColumnService;
|
||||
|
||||
private TaxDeclarationValueMapper getTaxDeclarationValueMapper() {
|
||||
return MapperProxyFactory.getProxy(TaxDeclarationValueMapper.class);
|
||||
}
|
||||
private SalaryEmployeeService getSalaryEmployeeService(User user) {
|
||||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||
}
|
||||
private ExtEmpService getExtEmpService(User user) {
|
||||
return ServiceUtil.getService(ExtEmpServiceImpl.class, user);
|
||||
}
|
||||
private EmployeeDeclareService getEmployeeDeclareService(User user) {
|
||||
return ServiceUtil.getService(EmployeeDeclareServiceImpl.class, user);
|
||||
}
|
||||
private TaxReportColumnService getTaxReportColumnService(User user) {
|
||||
return ServiceUtil.getService(TaxReportColumnServiceImpl.class, user);
|
||||
}
|
||||
@Override
|
||||
public PageInfo<TaxDeclarationValuePO> listPageByTaxDeclarationIds(TaxDeclarationValueListQueryParam queryParam, Collection<Long> taxDeclarationIds) {
|
||||
List<TaxDeclarationValuePO> taxDeclarationValuePOS = taxDeclarationValueMapper.listSome(TaxDeclarationValuePO.builder().taxDeclarationIds(taxDeclarationIds).build());
|
||||
List<TaxDeclarationValuePO> taxDeclarationValuePOS = getTaxDeclarationValueMapper().listSome(TaxDeclarationValuePO.builder().taxDeclarationIds(taxDeclarationIds).build());
|
||||
return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), taxDeclarationValuePOS, TaxDeclarationValuePO.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TaxDeclarationValuePO> listByTaxDeclarationIds(Collection<Long> taxDeclarationIds) {
|
||||
List<TaxDeclarationValuePO> taxDeclarationValues = taxDeclarationValueMapper.listSome(TaxDeclarationValuePO.builder().taxDeclarationIds(taxDeclarationIds).build());
|
||||
List<TaxDeclarationValuePO> taxDeclarationValues = getTaxDeclarationValueMapper().listSome(TaxDeclarationValuePO.builder().taxDeclarationIds(taxDeclarationIds).build());
|
||||
return decryptBatch(taxDeclarationValues);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TaxDeclarationValuePO> listByTaxDeclarationIdsNoDecrypt(Collection<Long> taxDeclarationIds) {
|
||||
return taxDeclarationValueMapper.listSome(TaxDeclarationValuePO.builder().taxDeclarationIds(taxDeclarationIds).build());
|
||||
return getTaxDeclarationValueMapper().listSome(TaxDeclarationValuePO.builder().taxDeclarationIds(taxDeclarationIds).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public TaxDeclarationValueListDTO convert2List(TaxDeclarationPO taxDeclaration, List<TaxDeclarationValuePO> taxDeclarationValues) {
|
||||
// 查询个税申报表表头
|
||||
IncomeCategoryEnum incomeCategoryEnum = SalaryEnumUtil.enumMatchByValue(taxDeclaration.getIncomeCategory(), IncomeCategoryEnum.class);
|
||||
List<TaxReportColumnPO> taxReportColumns = taxReportColumnService.listByIncomeCategory(incomeCategoryEnum);
|
||||
List<TaxReportColumnPO> taxReportColumns = getTaxReportColumnService(user).listByIncomeCategory(incomeCategoryEnum);
|
||||
// 人员id
|
||||
Set<Long> employeeIds = SalaryEntityUtil.properties(taxDeclarationValues, TaxDeclarationValuePO::getEmployeeId);
|
||||
// 查询报送的人员
|
||||
List<EmployeeDeclarePO> employeeDeclares = employeeDeclareService.listByTaxCycleAndTaxAgentIdAndEmployeeIds(taxDeclaration.getTaxCycle(), taxDeclaration.getTaxAgentId(), employeeIds);
|
||||
List<EmployeeDeclarePO> employeeDeclares = getEmployeeDeclareService(user).listByTaxCycleAndTaxAgentIdAndEmployeeIds(taxDeclaration.getTaxCycle(), taxDeclaration.getTaxAgentId(), employeeIds);
|
||||
// 查询人员信息
|
||||
List<Long> simpleEmployeeIds = taxDeclarationValues.stream()
|
||||
.filter(taxDeclarationValue -> Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue()))
|
||||
.map(TaxDeclarationValuePO::getEmployeeId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<DataCollectionEmployee> simpleEmployees = salaryEmployeeService.getEmployeeByIds(simpleEmployeeIds);
|
||||
List<DataCollectionEmployee> simpleEmployees = getSalaryEmployeeService(user).getEmployeeByIds(simpleEmployeeIds);
|
||||
// 查询人员薪资(身份证号码等)
|
||||
List<DataCollectionEmployee> simpleUserInfos = salaryEmployeeService.getEmployeeByIds(simpleEmployeeIds);
|
||||
List<DataCollectionEmployee> simpleUserInfos = getSalaryEmployeeService(user).getEmployeeByIds(simpleEmployeeIds);
|
||||
// 查询外部人员
|
||||
List<Long> extEmployeeIds = taxDeclarationValues.stream()
|
||||
.filter(taxDeclarationValue -> Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.EXT_EMPLOYEE.getValue()))
|
||||
.map(TaxDeclarationValuePO::getEmployeeId)
|
||||
.collect(Collectors.toList());
|
||||
List<ExtEmpPO> extEmployees = extEmployeeService.getExtEmpByIds(extEmployeeIds);
|
||||
List<ExtEmpPO> extEmployees = getExtEmpService(user).getExtEmpByIds(extEmployeeIds);
|
||||
|
||||
// 列表表头
|
||||
List<WeaTableColumn> weaTableColumns = TaxDeclarationValueList.buildTableColumns(taxReportColumns);
|
||||
|
|
@ -101,17 +111,15 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar
|
|||
@Override
|
||||
public void batchSave(List<TaxDeclarationValuePO> taxDeclarationValues) {
|
||||
if (CollectionUtils.isNotEmpty(taxDeclarationValues)) {
|
||||
throw new RuntimeException("todo");
|
||||
// // 加密
|
||||
// taxDeclarationValues.forEach(taxDeclarationValue ->
|
||||
// taxDeclarationValue.setResultValueJson(JsonUtil.toJsonString(taxDeclarationValue.getResultValue())));
|
||||
// taxDeclarationValues = dataSecurityService.encryptBatch(taxDeclarationValues, TaxDeclarationValuePO.class, tenantKey);
|
||||
// // 分批保存
|
||||
// int batchSize = SalaryPageUtil.getBatchSize();
|
||||
// List<List<TaxDeclarationValuePO>> partition = Lists.partition(taxDeclarationValues, batchSize);
|
||||
// for (List<TaxDeclarationValuePO> subTaxDeclarationValues : partition) {
|
||||
// baseMapper.batchInsert(subTaxDeclarationValues);
|
||||
// }
|
||||
// 加密
|
||||
taxDeclarationValues.forEach(taxDeclarationValue ->
|
||||
taxDeclarationValue.setResultValueJson(JsonUtil.toJsonString(taxDeclarationValue.getResultValue())));
|
||||
taxDeclarationValues = encryptUtil.encryptList(taxDeclarationValues, TaxDeclarationValuePO.class);
|
||||
// 分批保存
|
||||
List<List<TaxDeclarationValuePO>> partition = Lists.partition(taxDeclarationValues, 100);
|
||||
for (List<TaxDeclarationValuePO> subTaxDeclarationValues : partition) {
|
||||
getTaxDeclarationValueMapper().batchInsert(subTaxDeclarationValues);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -120,18 +128,18 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar
|
|||
if (CollectionUtils.isEmpty(taxDeclareRecordIds)) {
|
||||
return;
|
||||
}
|
||||
taxDeclarationValueMapper.deleteBytaxDeclareRecordIds(taxDeclareRecordIds);
|
||||
getTaxDeclarationValueMapper().deleteBytaxDeclareRecordIds(taxDeclareRecordIds);
|
||||
}
|
||||
|
||||
private List<TaxDeclarationValuePO> decryptBatch(List<TaxDeclarationValuePO> taxDeclarationValues) {
|
||||
if (CollectionUtils.isEmpty(taxDeclarationValues)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
// // 解密
|
||||
// taxDeclarationValues = dataSecurityService.decryptBatch(taxDeclarationValues, TaxDeclarationValuePO.class, tenantKey);
|
||||
// taxDeclarationValues.forEach(salaryAcctResultValue -> {
|
||||
// salaryAcctResultValue.setResultValue(JsonUtil.parseMap(salaryAcctResultValue.getResultValueJson(), String.class));
|
||||
// });
|
||||
// 解密
|
||||
taxDeclarationValues = encryptUtil.decryptList(taxDeclarationValues, TaxDeclarationValuePO.class);
|
||||
taxDeclarationValues.forEach(salaryAcctResultValue -> {
|
||||
salaryAcctResultValue.setResultValue(JsonUtil.parseMap(salaryAcctResultValue.getResultValueJson(), String.class));
|
||||
});
|
||||
return taxDeclarationValues;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,60 +73,76 @@ import java.util.stream.Collectors;
|
|||
public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRecordService {
|
||||
|
||||
|
||||
|
||||
private TaxDeclareRecordMapper getTaxDeclareRecordMapper() {
|
||||
return MapperProxyFactory.getProxy(TaxDeclareRecordMapper.class);
|
||||
}
|
||||
|
||||
private TaxDeclarationService getTaxDeclarationService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclarationServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclarationValueService getTaxDeclarationValueService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclarationValueServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private EmployeeDeclareService getEmployeeDeclareService(User user) {
|
||||
return ServiceUtil.getService(EmployeeDeclareServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxAgentTaxReturnService getTaxAgentTaxReturnService(User user) {
|
||||
return ServiceUtil.getService(TaxAgentTaxReturnServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxAgentService getTaxAgentService(User user) {
|
||||
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclarationApiConfigService getTaxDeclarationApiConfigService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclarationApiConfigServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private AddUpSituationService getAddUpSituationService(User user) {
|
||||
return ServiceUtil.getService(AddUpSituationServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclarationApiBillingService getTaxDeclarationApiBillingService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclarationApiBillingServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclareEmployeeService getTaxDeclareEmployeeService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclareEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxDeclareFailService getTaxDeclareFailService(User user) {
|
||||
return ServiceUtil.getService(TaxDeclareFailServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryAcctRecordService getSalaryAcctRecordService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryAcctTaxAgentService salaryAcctTaxAgentService;
|
||||
|
||||
private SalaryAcctEmployeeService getSalaryAcctEmployeeService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryAcctResultService getSalaryAcctResultService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctResultServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryItemService getSalaryItemService(User user) {
|
||||
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySobTaxReportRuleService getSalarySobTaxReportRuleService(User user) {
|
||||
return ServiceUtil.getService(SalarySobTaxReportRuleServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private TaxReportColumnService getTaxReportColumnService(User user) {
|
||||
return ServiceUtil.getService(TaxReportColumnServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySobAddUpRuleService getSalarySobAddUpRuleService(User user) {
|
||||
return ServiceUtil.getService(SalarySobAddUpRuleServiceImpl.class, user);
|
||||
}
|
||||
|
|
@ -220,10 +236,10 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
|
|||
List<TaxDeclarationValuePO> newTaxDeclarationValues = Lists.newArrayList();
|
||||
List<AddUpSituation> newAddUpSituations = Lists.newArrayList();
|
||||
// 根据个税扣缴义务人范围查询个税扣缴义务人
|
||||
Collection<TaxAgentPO> taxAgents = queryByTaxAgentRange(saveParam);
|
||||
Collection<TaxAgentPO> taxAgents = queryByTaxAgentRange(saveParam);
|
||||
Map<Long, String> taxAgentNameMap = SalaryEntityUtil.convert2Map(taxAgents, TaxAgentPO::getId, TaxAgentPO::getName);
|
||||
// 查询薪资所属月下的薪资核算记录,并按照权限过滤
|
||||
LocalDateRange salaryMonthRange = new LocalDateRange().setFromDate(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1))).setEndDate(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1)));
|
||||
LocalDateRange salaryMonthRange = new LocalDateRange().setFromDate(saveParam.getSalaryMonth()).setEndDate(saveParam.getSalaryMonth());
|
||||
List<SalaryAcctRecordPO> salaryAcctRecords = getSalaryAcctRecordService(user).listBySalaryMonth(salaryMonthRange);
|
||||
// 查询薪资核算记录关联的个税扣缴义务人
|
||||
List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents = getSalaryAcctRecordService(user).listBySalaryAcctRecordIds(SalaryEntityUtil.properties(salaryAcctRecords, SalaryAcctRecordPO::getId));
|
||||
|
|
@ -252,7 +268,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
|
|||
}
|
||||
needDeleteTaxDeclareRecordIds.add(oldTaxDeclareRecord.getId());
|
||||
}
|
||||
TaxDeclareRecordPO taxDeclareRecord = new TaxDeclareRecordPO().setId(IdGenerator.generate()).setTaxAgentId(taxAgentIdEntry.getKey()).setSalaryMonth(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1))).setTaxCycle(taxCycleEntry.getKey()).setTaxDeclareType(TaxDeclareTypeEnum.NORMAL_DECLARE.getValue()).setTaxDeclareStatus(TaxDeclareStatusEnum.NOT_DECLARE.getValue()).setRemark(saveParam.getDescription()).setCreator((long) user.getUID()).setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()).setCreateTime(now).setUpdateTime(now);
|
||||
TaxDeclareRecordPO taxDeclareRecord = new TaxDeclareRecordPO().setId(IdGenerator.generate()).setTaxAgentId(taxAgentIdEntry.getKey()).setSalaryMonth(saveParam.getSalaryMonth()).setTaxCycle(taxCycleEntry.getKey()).setTaxDeclareType(TaxDeclareTypeEnum.NORMAL_DECLARE.getValue()).setTaxDeclareStatus(TaxDeclareStatusEnum.NOT_DECLARE.getValue()).setRemark(saveParam.getDescription()).setCreator((long) user.getUID()).setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()).setCreateTime(now).setUpdateTime(now);
|
||||
newTaxDeclareRecords.add(taxDeclareRecord);
|
||||
// 生成个税申报表
|
||||
TaxDeclarationResult taxDeclarationResult = generateReportPerRecord(taxDeclareRecord, taxAgentIdEntry.getValue());
|
||||
|
|
@ -416,7 +432,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
|
|||
Map<Date, List<SalaryAcctTaxAgentPO>> taxCycleKeySalaryAcctTaxAgentMap = SalaryEntityUtil.group2Map(salaryAcctTaxAgents, SalaryAcctTaxAgentPO::getTaxCycle);
|
||||
for (Map.Entry<Date, List<SalaryAcctTaxAgentPO>> taxCycleEntry : taxCycleKeySalaryAcctTaxAgentMap.entrySet()) {
|
||||
Set<Long> archivedTaxAgentIds = SalaryEntityUtil.properties(taxCycleEntry.getValue(), SalaryAcctTaxAgentPO::getTaxAgentId);
|
||||
List<TaxDeclareRecordPO> taxDeclareRecords = listBySalaryMonthAndTaxAgentIds(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1)), archivedTaxAgentIds);
|
||||
List<TaxDeclareRecordPO> taxDeclareRecords = listBySalaryMonthAndTaxAgentIds(saveParam.getSalaryMonth(), archivedTaxAgentIds);
|
||||
TaxDeclareRecordPO declareSuccessTaxDeclareRecord = taxDeclareRecords.stream().filter(taxDeclareRecordPO -> archivedTaxAgentIds.contains(taxDeclareRecordPO.getTaxAgentId()) && !(Objects.equals(taxDeclareRecordPO.getTaxDeclareStatus(), TaxDeclareStatusEnum.NOT_DECLARE.getValue()) || Objects.equals(taxDeclareRecordPO.getTaxDeclareStatus(), TaxDeclareStatusEnum.DECLARE_FAIL.getValue()))).findAny().orElse(null);
|
||||
// 已经申报成功了的个税申报表的个税扣缴义务人不允许重新生成
|
||||
if (Objects.nonNull(declareSuccessTaxDeclareRecord)) {
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ public class SalarySobController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getSalarySobAddUpForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Long, SalarySobBackItemFormDTO>(user).run(getSalarySobAddUpRuleWrapper(user)::getForm, id);
|
||||
return new ResponseResult<Long, List<SalarySobAddUpRuleDTO>>(user).run(getSalarySobAddUpRuleWrapper(user)::getForm, id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -449,7 +449,7 @@ public class SalarySobController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String saveSalarySobAddUp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySobAddUpRuleSaveParam saveParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalarySobAddUpRuleSaveParam, List<SalarySobBackItemDTO>>(user).run(getSalarySobAddUpRuleWrapper(user)::save, saveParam);
|
||||
return new ResponseResult<SalarySobAddUpRuleSaveParam,String>(user).run(getSalarySobAddUpRuleWrapper(user)::save, saveParam);
|
||||
}
|
||||
|
||||
/**********************************薪资账套的累计字段对应关系 end*********************************/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import com.engine.salary.service.TaxDeclarationService;
|
|||
import com.engine.salary.service.impl.TaxDeclarationExcelServiceImpl;
|
||||
import com.engine.salary.service.impl.TaxDeclarationServiceImpl;
|
||||
import com.engine.salary.util.ResponseResult;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.wrapper.TaxDeclarationDetailWrapper;
|
||||
import com.engine.salary.wrapper.TaxDeclarationWrapper;
|
||||
|
|
@ -195,7 +194,6 @@ public class TaxDeclarationController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String saveTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationSaveParam saveParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
saveParam.setSalaryMonth(SalaryDateUtil.String2YearMonth(saveParam.getSalaryMonthStr()));
|
||||
return new ResponseResult<TaxDeclarationSaveParam, String>(user).run(getTaxDeclareRecordWrapper(user)::save, saveParam);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ public class TaxDeclareRecordWrapper extends Service {
|
|||
List<TaxDeclareRecordPO> list = page.getList();
|
||||
|
||||
PageInfo<TaxDeclareRecordListDTO> dtoPage = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), TaxDeclareRecordListDTO.class);
|
||||
dtoPage.setTotal(page.getTotal());
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
// 查询个税扣缴义务人
|
||||
Set<Long> taxAgentIds = SalaryEntityUtil.properties(list, TaxDeclareRecordPO::getTaxAgentId);
|
||||
|
|
|
|||
Loading…
Reference in New Issue