From 90478a4e1f59bb9518f7abffcc658c73f2b72523 Mon Sep 17 00:00:00 2001 From: andy <1042025947@qq.com> Date: Sat, 7 Feb 2026 16:53:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4=E5=AF=BC=E5=87=BA=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=A4=BE=E4=BF=9D=E6=89=A3=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/evo/attendance/processor/KqUtils.java | 3 ++- .../com/evo/finance/domain/RzSalaryDetail.java | 10 ++++++++++ .../java/com/evo/finance/domain/vo/SalaryVo.java | 5 ++++- ...alaryCalculationStrategyExchangeProcessor.java | 2 ++ .../service/impl/RzSalaryDetailServiceImpl.java | 5 +++-- .../mapper/finance/RzSalaryDetailMapper.xml | 15 ++++++++++++++- 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/evo-admin/src/main/java/com/evo/attendance/processor/KqUtils.java b/evo-admin/src/main/java/com/evo/attendance/processor/KqUtils.java index 525289d..fa2ea84 100644 --- a/evo-admin/src/main/java/com/evo/attendance/processor/KqUtils.java +++ b/evo-admin/src/main/java/com/evo/attendance/processor/KqUtils.java @@ -74,7 +74,8 @@ public class KqUtils { //判断打卡时间, 添加夜班次数 打卡时间在晚上7点以后 if(eqButton.getWorkHour() ==12 && hours >= 12 && attendance.getWorkStartTime().getHours() > 12){ attendance.setNightNumber(1); - }else if(eqButton.getWorkHour() == 8 && hours >= 8 && attendance.getWorkStartTime().getHours() > 18){ + //必须是8小时倒班制or单班制, 并且工作时长>=8小时, 并且 上班打开时间在12点至21点 算作中班 -- 2026-02-04 因1月份张克龙中班考勤问题, 刘杰面谈 + }else if(eqButton.getWorkHour() == 8 && hours >= 8 && attendance.getWorkStartTime().getHours() >= 12 && attendance.getWorkStartTime().getHours() < 21){ attendance.setMiddleShiftNumber(1); } //获取工作时长 diff --git a/evo-admin/src/main/java/com/evo/finance/domain/RzSalaryDetail.java b/evo-admin/src/main/java/com/evo/finance/domain/RzSalaryDetail.java index 2a745d1..185cf6d 100644 --- a/evo-admin/src/main/java/com/evo/finance/domain/RzSalaryDetail.java +++ b/evo-admin/src/main/java/com/evo/finance/domain/RzSalaryDetail.java @@ -185,6 +185,8 @@ public class RzSalaryDetail extends BaseEntity private BigDecimal taxPayable; + @Excel(name = "社保扣款") + private BigDecimal socialSecurityDeduction; /** 实发工资 */ @Excel(name = "实发工资") private BigDecimal netPayroll; @@ -628,6 +630,14 @@ public class RzSalaryDetail extends BaseEntity this.bjAmount = bjAmount; } + public BigDecimal getSocialSecurityDeduction() { + return socialSecurityDeduction; + } + + public void setSocialSecurityDeduction(BigDecimal socialSecurityDeduction) { + this.socialSecurityDeduction = socialSecurityDeduction; + } + @Override public String toString() { return "RzSalaryDetail{" + diff --git a/evo-admin/src/main/java/com/evo/finance/domain/vo/SalaryVo.java b/evo-admin/src/main/java/com/evo/finance/domain/vo/SalaryVo.java index 5e8ccc3..26677b2 100644 --- a/evo-admin/src/main/java/com/evo/finance/domain/vo/SalaryVo.java +++ b/evo-admin/src/main/java/com/evo/finance/domain/vo/SalaryVo.java @@ -73,6 +73,8 @@ public class SalaryVo { /** 代缴保险 */ @Excel(name = "代缴保险") private BigDecimal payInsurance; + @Excel(name = "社保扣款") + private BigDecimal socialSecurityDeduction; /** 税前工资 */ @Excel(name = "税前工资") private BigDecimal salaryBeforeTax; @@ -108,7 +110,7 @@ public class SalaryVo { public SalaryVo() { } // public SalaryVo(BigDecimal monthSalary, BigDecimal basicSalary, BigDecimal jobSalary, BigDecimal overtimeSalary, BigDecimal levelSubsidies, BigDecimal contractSubsidies, BigDecimal senioritySalary, BigDecimal socialSubsidies, BigDecimal fullSubsidies, BigDecimal nightSubsidies, BigDecimal dinnerSubsidies, BigDecimal subsidyOrBonus, BigDecimal absenteeismSalary, BigDecimal absenteeismSubsidies, BigDecimal mealFee, BigDecimal deductions, BigDecimal salary, BigDecimal payInsurance, BigDecimal salaryBeforeTax, BigDecimal totalWages, BigDecimal annualExemptionAmount, BigDecimal specialDeduction, BigDecimal slowDownTheDeduction, BigDecimal aggregatePersonalIncomeTax, BigDecimal taxPayable, BigDecimal netPayroll) { - public SalaryVo(BigDecimal monthSalary, BigDecimal levelSubsidies, BigDecimal contractSubsidies, BigDecimal senioritySalary, BigDecimal socialSubsidies, BigDecimal nightSubsidies, BigDecimal dinnerSubsidies, BigDecimal subsidyOrBonus, BigDecimal absenteeismSalary, BigDecimal absenteeismSubsidies, BigDecimal mealFee, BigDecimal deductions, BigDecimal salary, BigDecimal payInsurance, BigDecimal salaryBeforeTax, BigDecimal totalWages, BigDecimal annualExemptionAmount, BigDecimal specialDeduction, BigDecimal slowDownTheDeduction, BigDecimal aggregatePersonalIncomeTax, BigDecimal taxPayable, BigDecimal netPayroll, BigDecimal salesCommission,BigDecimal middleSubsidies) { + public SalaryVo(BigDecimal monthSalary, BigDecimal levelSubsidies, BigDecimal contractSubsidies, BigDecimal senioritySalary, BigDecimal socialSubsidies, BigDecimal nightSubsidies, BigDecimal dinnerSubsidies, BigDecimal subsidyOrBonus, BigDecimal absenteeismSalary, BigDecimal absenteeismSubsidies, BigDecimal mealFee, BigDecimal deductions, BigDecimal salary, BigDecimal payInsurance, BigDecimal salaryBeforeTax, BigDecimal totalWages, BigDecimal annualExemptionAmount, BigDecimal specialDeduction, BigDecimal slowDownTheDeduction, BigDecimal aggregatePersonalIncomeTax, BigDecimal taxPayable, BigDecimal netPayroll, BigDecimal salesCommission,BigDecimal middleSubsidies, BigDecimal socialSecurityDeduction) { this.monthSalary = monthSalary; // this.basicSalary = basicSalary; // this.jobSalary = jobSalary; @@ -136,6 +138,7 @@ public class SalaryVo { this.netPayroll = netPayroll; this.salesCommission = salesCommission; this.middleSubsidies = middleSubsidies; + this.socialSecurityDeduction = socialSecurityDeduction; } } diff --git a/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java b/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java index 54c998a..ff5b3af 100644 --- a/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java +++ b/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java @@ -118,6 +118,8 @@ public interface SalaryCalculationStrategyExchangeProcessor { rzSalaryDetail.setMedicalInsurance(detail.getMedicalInsurance()); //医疗保险 rzSalaryDetail.setEndowmentInsurance(detail.getEndowmentInsurance()); //养老保险 rzSalaryDetail.setEmploymentInjuryInsurance(detail.getEmploymentInjuryInsurance()); //工伤保险 + //社保扣款 + rzSalaryDetail.setSocialSecurityDeduction(detail.getCountInsurance()); //社保扣款 //代缴社保 rzSalaryDetail.setPayInsurance(rzSalaryDetail.getAccumulationFund().add(rzSalaryDetail.getUnemploymentInsurance()). add(rzSalaryDetail.getMaternityInsurance()).add(rzSalaryDetail.getMedicalInsurance()).add(rzSalaryDetail.getEndowmentInsurance()).add(rzSalaryDetail.getEmploymentInjuryInsurance())); diff --git a/evo-admin/src/main/java/com/evo/finance/service/impl/RzSalaryDetailServiceImpl.java b/evo-admin/src/main/java/com/evo/finance/service/impl/RzSalaryDetailServiceImpl.java index fd02254..1e03f42 100644 --- a/evo-admin/src/main/java/com/evo/finance/service/impl/RzSalaryDetailServiceImpl.java +++ b/evo-admin/src/main/java/com/evo/finance/service/impl/RzSalaryDetailServiceImpl.java @@ -217,8 +217,8 @@ public class RzSalaryDetailServiceImpl extends ServiceImpl realAttendanceMap = rzAttendanceStatisticalMapper.queryStatisticalByMonth(rzSalaryDetail.getMonth()).stream().collect(Collectors.toMap(RzAttendanceStatistical::getStaffId, RzAttendanceStatistical::getRealAttendance)); + List voResult = Collections.emptyList(); List res_list = selectRzSalaryDetaiList(rzSalaryDetail); for (RzSalaryDetail salaryDetail : res_list) { diff --git a/evo-admin/src/main/resources/mapper/finance/RzSalaryDetailMapper.xml b/evo-admin/src/main/resources/mapper/finance/RzSalaryDetailMapper.xml index 6b88750..78e0488 100644 --- a/evo-admin/src/main/resources/mapper/finance/RzSalaryDetailMapper.xml +++ b/evo-admin/src/main/resources/mapper/finance/RzSalaryDetailMapper.xml @@ -54,10 +54,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, staff_id, name, month, wb_flag, dept_id,month_salary, basic_salary, job_salary, daily_wage, hours_salary, overtime_salary, level_subsidies, contract_subsidies, seniority_salary, social_subsidies, full_subsidies, night_subsidies, dinner_subsidies, subsidy_or_bonus, absenteeism_salary, absenteeism_subsidies, meal_fee, deductions, salary, pay_insurance, endowment_insurance, medical_insurance, employment_injury_insurance, maternity_insurance, unemployment_insurance, accumulation_fund, salary_before_tax, total_wages, annual_exemption_amount, special_deduction, taxable_income, tax_rate, slow_down_the_deduction, aggregate_personal_income_tax, aggregate_tax, tax_payable, net_payroll, remarks, del_flag, create_by, create_time, update_by, update_time, sales_commission, middle_subsidies from rz_salary_detail + select id, staff_id, name, month, wb_flag, dept_id,month_salary, basic_salary, job_salary, daily_wage, + hours_salary, overtime_salary, level_subsidies, contract_subsidies, seniority_salary, social_subsidies, + full_subsidies, night_subsidies, dinner_subsidies, subsidy_or_bonus, absenteeism_salary, absenteeism_subsidies, + meal_fee, deductions, salary, pay_insurance, endowment_insurance, medical_insurance, employment_injury_insurance, + maternity_insurance, unemployment_insurance, accumulation_fund, salary_before_tax, total_wages, annual_exemption_amount, + special_deduction, taxable_income, tax_rate, slow_down_the_deduction, aggregate_personal_income_tax, aggregate_tax, tax_payable, + net_payroll, remarks, del_flag, create_by, create_time, update_by, update_time, sales_commission, middle_subsidies, + social_security_deduction + from rz_salary_detail