薪资计算调整
This commit is contained in:
parent
a315bf4b7a
commit
64ebc790d8
@ -212,10 +212,6 @@ public interface SalaryCalculationStrategyExchangeProcessor {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***
|
||||
* 开始计算薪资
|
||||
*/
|
||||
@ -226,23 +222,25 @@ public interface SalaryCalculationStrategyExchangeProcessor {
|
||||
|
||||
|
||||
//获取统计月份
|
||||
int curr_month = rzSalaryDetail.getMonth().getMonth();
|
||||
int curr_month = DateUtils.getMonth(rzSalaryDetail.getMonth());
|
||||
//获取工资统计月份,查询上个月的纳税公司 得到年度免征额
|
||||
RzSalaryDetail old_rzSalary = rzSalaryDetailMapper.selectRzSalaryDetailByStaffId(rzSalaryDetail.getStaffId());
|
||||
BigDecimal annualExemptionAmount = new BigDecimal("5000.00");
|
||||
|
||||
if(curr_month == 12){
|
||||
annualExemptionAmount = new BigDecimal("5000.00");
|
||||
}else{
|
||||
//判断员工为 新入职,公司纳税主题改变,同一主题超一年的,同一主题不超一年但跨年的
|
||||
if(StringUtils.isNull(old_rzSalary) || !old_rzSalary.getWbFlag().equals(sysStaff.getCompanyName())
|
||||
|| (rzSalaryDetail.getMonth().getTime() - old_rzSalary.getMonth().getTime())/1000/60/60/24 > 365
|
||||
|| (old_rzSalary.getMonth().getMonth() < 12 && old_rzSalary.getMonth().getMonth() > rzSalaryDetail.getMonth().getMonth())){
|
||||
annualExemptionAmount = new BigDecimal("5000.00");
|
||||
if(StringUtils.isNull(old_rzSalary) || !old_rzSalary.getWbFlag().equals(sysStaff.getCompanyName()) || curr_month == 12){
|
||||
//重置年度免征额
|
||||
// annualExemptionAmount = new BigDecimal("5000.00");
|
||||
//重置本年底累计已发
|
||||
detail.setTotalWages(DataUtils.DEFAULT_VALUE);
|
||||
//重置本年度累计已缴纳
|
||||
detail.setAggregatePersonalIncomeTax(DataUtils.DEFAULT_VALUE);
|
||||
//累计专项附加扣除
|
||||
detail.setSpecialDeduction(DataUtils.DEFAULT_VALUE);
|
||||
|
||||
}else{
|
||||
annualExemptionAmount = new BigDecimal("5000.00").add(old_rzSalary.getAnnualExemptionAmount());
|
||||
annualExemptionAmount = annualExemptionAmount.add(old_rzSalary.getAnnualExemptionAmount());
|
||||
}
|
||||
}
|
||||
// }
|
||||
rzSalaryDetail.setAnnualExemptionAmount(DataUtils.findDefaultValue(ParamUtils.getSpecialExemptionAmount(sysStaff.getName()+"-"+sysStaff.getIdCard()), annualExemptionAmount));
|
||||
|
||||
|
||||
@ -340,24 +338,28 @@ public interface SalaryCalculationStrategyExchangeProcessor {
|
||||
throw new RuntimeException("生成员工考勤详情失败");
|
||||
}
|
||||
//判断统计月缴费公司和上一次是否一个公司
|
||||
if(StringUtils.isNull(old_rzSalary) || old_rzSalary.getWbFlag().equals(sysStaff.getCompanyName())){
|
||||
// 把本年累计个税
|
||||
detail.setAggregatePersonalIncomeTax(rzSalaryDetail.getAggregatePersonalIncomeTax());
|
||||
// 把本年累计专项扣除保存到员工信息表中
|
||||
detail.setSpecialDeduction(detail.getSpecialDeduction().add(kouChu));
|
||||
// 把本年累计已发工资保存到员工信息表中
|
||||
detail.setTotalWages(rzSalaryDetail.getTotalWages());
|
||||
}else{
|
||||
// 把本年累计已缴个税保存到员工信息表中
|
||||
detail.setAggregatePersonalIncomeTax(rzSalaryDetail.getTaxPayable());
|
||||
// 把本年累计专项扣除保存到员工信息表中
|
||||
detail.setSpecialDeduction(kouChu);
|
||||
// 把本年累计已发工资保存到员工信息表中
|
||||
detail.setTotalWages(rzSalaryDetail.getSalaryBeforeTax());
|
||||
}
|
||||
if(sysStaffDetailMapper.updateSysStaffDetail(detail)< 0){
|
||||
throw new RuntimeException("更新员工详情信息异常");
|
||||
}
|
||||
if(StringUtils.isNull(old_rzSalary)
|
||||
|| !old_rzSalary.getWbFlag().equals(sysStaff.getCompanyName())
|
||||
//判断12月, 是个税系统, 每年12月更新, 开始累计次年1月数据
|
||||
|| curr_month == 12){
|
||||
// 把本年累计已缴个税保存到员工信息表中
|
||||
detail.setAggregatePersonalIncomeTax(rzSalaryDetail.getTaxPayable());
|
||||
// 把本年累计专项扣除保存到员工信息表中
|
||||
detail.setSpecialDeduction(kouChu);
|
||||
// 把本年累计已发工资保存到员工信息表中
|
||||
detail.setTotalWages(rzSalaryDetail.getSalaryBeforeTax());
|
||||
|
||||
}else{
|
||||
// 把本年累计个税
|
||||
detail.setAggregatePersonalIncomeTax(rzSalaryDetail.getAggregatePersonalIncomeTax());
|
||||
// 把本年累计专项扣除保存到员工信息表中
|
||||
detail.setSpecialDeduction(detail.getSpecialDeduction().add(kouChu));
|
||||
// 把本年累计已发工资保存到员工信息表中
|
||||
detail.setTotalWages(rzSalaryDetail.getTotalWages());
|
||||
}
|
||||
if(sysStaffDetailMapper.updateSysStaffDetail(detail)< 0){
|
||||
throw new RuntimeException("更新员工详情信息异常");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user