照片下发取消验证公共打开机是否在线

This commit is contained in:
andy 2025-06-18 09:08:32 +08:00
parent 9bd8d9e8a2
commit b184bf878b
9 changed files with 37 additions and 53 deletions

View File

@ -204,7 +204,8 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
long remainingDays = days; long remainingDays = days;
while (remainingDays >= 365) { while (remainingDays >= 365) {
int year = cal1.get(Calendar.YEAR) + yearsDiff; int year = cal1.get(Calendar.YEAR) + yearsDiff;
int daysInYear = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? 366 : 365; //int daysInYear = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? 366 : 365;
int daysInYear = 365;
if (remainingDays >= daysInYear) { if (remainingDays >= daysInYear) {
remainingDays -= daysInYear; remainingDays -= daysInYear;
yearsDiff++; yearsDiff++;

View File

@ -167,10 +167,17 @@ public class EqSnDetailServiceImpl extends ServiceImpl<EqSnDetailMapper, EqSnDet
StringBuilder errorMsg = new StringBuilder(""); StringBuilder errorMsg = new StringBuilder("");
List<EqSnDetail> loseDeviceList = Collections.emptyList(); List<EqSnDetail> loseDeviceList = Collections.emptyList();
for (EqSnDetail device : deviceList){ for (EqSnDetail device : deviceList){
//公共打卡机不需要检查
if(!WebSocketUsers.getUsers().containsKey(device.getSessionId())){ if(!WebSocketUsers.getUsers().containsKey(device.getSessionId())){
errorMsg.append("设备"+device.getSn()+"已经失去连接;"); //如果不是公共打开机, 返回信息
device.setType("连接已断开"); if(!com.evo.equipment.constant.Constants.EQ_DEVICE_PUBLIC_CODE.equals(device.getSn())){
loseDeviceList.add(device); errorMsg.append("设备"+device.getSn()+"已经失去连接;");
device.setType("连接已断开");
loseDeviceList.add(device);
}else{
//如果是公共打开机, snList清除公共打开机的数据
snList.remove(com.evo.equipment.constant.Constants.EQ_DEVICE_PUBLIC_CODE);
}
} }
sessionMap.put(device.getSn(), WebSocketUsers.getUsers().get(device.getSessionId())); sessionMap.put(device.getSn(), WebSocketUsers.getUsers().get(device.getSessionId()));
} }

View File

@ -86,8 +86,7 @@ public interface SalaryCalculationStrategyExchangeProcessor {
* @param detail * @param detail
* @param rzSalaryDetail * @param rzSalaryDetail
*/ */
default void buildRzSalaryDetail(SysStaff sysStaff, SysStaffDetail detail, RzSalaryDetail rzSalaryDetail, RzAttendanceStatistical attendanceStatistical){ default void buildRzSalaryDetail(Boolean isMonth, SysStaff sysStaff, SysStaffDetail detail, RzSalaryDetail rzSalaryDetail, RzAttendanceStatistical attendanceStatistical){
Date limitDate = DateUtils.addMonths(sysStaff.getEmploymentDate(), Integer.valueOf(String.valueOf(sysStaff.getWorkerTerm()))); Date limitDate = DateUtils.addMonths(sysStaff.getEmploymentDate(), Integer.valueOf(String.valueOf(sysStaff.getWorkerTerm())));
Date limitMonth = null; Date limitMonth = null;
Date month = null; Date month = null;
@ -106,7 +105,7 @@ public interface SalaryCalculationStrategyExchangeProcessor {
////计算应发工资 合算月工资+加班工资+学历补助+合同补助+社保补助+工龄工资+全勤奖+加班工资+夜班补助+夜餐补助+其他补助+销售提成-餐费扣款-补助扣款-其他扣款 (无需再-缺勤扣款 因为计算工资的时候, 是按照实际出勤计算的) ////计算应发工资 合算月工资+加班工资+学历补助+合同补助+社保补助+工龄工资+全勤奖+加班工资+夜班补助+夜餐补助+其他补助+销售提成-餐费扣款-补助扣款-其他扣款 (无需再-缺勤扣款 因为计算工资的时候, 是按照实际出勤计算的)
//计算应发工资 合算月工资+加班工资+学历补助+合同补助+社保补助+工龄工资+全勤奖+加班工资+夜班补助+夜餐补助+其他补助+销售提成-餐费扣款-补助扣款-其他扣款 //计算应发工资 合算月工资+加班工资+学历补助+合同补助+社保补助+工龄工资+全勤奖+加班工资+夜班补助+夜餐补助+其他补助+销售提成-餐费扣款-补助扣款-其他扣款
rzSalaryDetail.setSalary(rzSalaryDetail.getMonthSalary().add(rzSalaryDetail.getNightSubsidies()).add(rzSalaryDetail.getDinnerSubsidies()) rzSalaryDetail.setSalary(rzSalaryDetail.getMonthSalary().add(isMonth ? rzSalaryDetail.getOvertimeSalary() : DataUtils.DEFAULT_VALUE).add(rzSalaryDetail.getNightSubsidies()).add(rzSalaryDetail.getDinnerSubsidies())
.add(DataUtils.findDefaultValue(rzSalaryDetail.getFullSubsidies(), DataUtils.DEFAULT_VALUE)).add(rzSalaryDetail.getLevelSubsidies()).add(rzSalaryDetail.getContractSubsidies()).add(rzSalaryDetail.getSocialSubsidies()) .add(DataUtils.findDefaultValue(rzSalaryDetail.getFullSubsidies(), DataUtils.DEFAULT_VALUE)).add(rzSalaryDetail.getLevelSubsidies()).add(rzSalaryDetail.getContractSubsidies()).add(rzSalaryDetail.getSocialSubsidies())
.add(rzSalaryDetail.getSenioritySalary()).add(rzSalaryDetail.getSubsidyOrBonus()).add(rzSalaryDetail.getSalesCommission()) .add(rzSalaryDetail.getSenioritySalary()).add(rzSalaryDetail.getSubsidyOrBonus()).add(rzSalaryDetail.getSalesCommission())
.subtract(rzSalaryDetail.getMealFee()).subtract(rzSalaryDetail.getAbsenteeismSubsidies()).subtract(rzSalaryDetail.getDeductions()).subtract(rzSalaryDetail.getAbsenteeismSalary())); .subtract(rzSalaryDetail.getMealFee()).subtract(rzSalaryDetail.getAbsenteeismSubsidies()).subtract(rzSalaryDetail.getDeductions()).subtract(rzSalaryDetail.getAbsenteeismSalary()));
@ -182,7 +181,6 @@ public interface SalaryCalculationStrategyExchangeProcessor {
* 计算扣款 * 计算扣款
*/ */
default void deduction(Boolean isDk, SysStaffDetail detail, RzSalaryDetail rzSalaryDetail, BigDecimal ycHours , BigDecimal cqHours){ default void deduction(Boolean isDk, SysStaffDetail detail, RzSalaryDetail rzSalaryDetail, BigDecimal ycHours , BigDecimal cqHours){
System.out.println(detail.getStaffId());
//其他扣款 //其他扣款
rzSalaryDetail.setDeductions(detail.getDeductions()); rzSalaryDetail.setDeductions(detail.getDeductions());
//餐饮扣款 //餐饮扣款
@ -255,10 +253,6 @@ public interface SalaryCalculationStrategyExchangeProcessor {
rzSalaryDetail.setTaxableIncome(new BigDecimal("0")); rzSalaryDetail.setTaxableIncome(new BigDecimal("0"));
} }
if(sysStaff.getName().equals("杜惠斌")){
System.out.println(111);
}
//判断是否外包外包公司员工不做税(月薪50000不上税) //判断是否外包外包公司员工不做税(月薪50000不上税)
if("WB".equals(sysStaff.getCompanyName())){ if("WB".equals(sysStaff.getCompanyName())){
// 实发工资 = 税前工资 // 实发工资 = 税前工资

View File

@ -41,7 +41,6 @@ public class DailyWageStrategyExchangeProcessor implements SalaryCalculationStra
@Override @Override
public boolean accept(SysStaffDetail detail) { public boolean accept(SysStaffDetail detail) {
//日薪不为空, 并且大于0 //日薪不为空, 并且大于0
System.out.println(JSON.toJSONString(detail));
return detail.getDailyWage() != null && detail.getDailyWage().compareTo(new BigDecimal(0)) > 0; return detail.getDailyWage() != null && detail.getDailyWage().compareTo(new BigDecimal(0)) > 0;
} }
@ -49,7 +48,7 @@ public class DailyWageStrategyExchangeProcessor implements SalaryCalculationStra
public void exchangeSalaryCalculation(SysStaff sysStaff, SysStaffDetail sysStaffDetail, RzSalaryDetail rzSalaryDetail, RzAttendanceStatistical attendanceStatistical, Map<Long, Boolean> overTimeMap) { public void exchangeSalaryCalculation(SysStaff sysStaff, SysStaffDetail sysStaffDetail, RzSalaryDetail rzSalaryDetail, RzAttendanceStatistical attendanceStatistical, Map<Long, Boolean> overTimeMap) {
//组件基础数据 //组件基础数据
buildRzSalaryDetail(sysStaff, sysStaffDetail,rzSalaryDetail, attendanceStatistical); buildRzSalaryDetail(false, sysStaff, sysStaffDetail,rzSalaryDetail, attendanceStatistical);
// //计算基本工资 // //计算基本工资
// monthSalary(sysStaff, sysStaffDetail,rzSalaryDetail, attendanceStatistical); // monthSalary(sysStaff, sysStaffDetail,rzSalaryDetail, attendanceStatistical);
@ -96,10 +95,8 @@ public class DailyWageStrategyExchangeProcessor implements SalaryCalculationStra
//计算补助 //计算补助
subsidy(limitMonth, month, limitDate, sysStaff, detail, rzSalaryDetail, attendanceStatistical); subsidy(limitMonth, month, limitDate, sysStaff, detail, rzSalaryDetail, attendanceStatistical);
//计算扣减 //计算扣减
deduction("".equals(sysStaff.getClockIn()), detail, rzSalaryDetail, new BigDecimal(ParamUtils.getMonthWorkDayNum(DateUtils.getYear(rzSalaryDetail.getMonth()), DateUtils.getMonth(rzSalaryDetail.getMonth()))).multiply(Constants.DAY_WORK_HOUR), attendanceStatistical.getRealAttendance());
//deduction("".equals(sysStaff.getClockIn()), detail, rzSalaryDetail, new BigDecimal(DateUtils.getMonthDays(rzSalaryDetail.getMonth())).multiply(Constants.DAY_WORK_HOUR), rzAttendanceMapper.selectOne(new QueryWrapper<RzAttendance>().select( " ifnull(sum(work_sum),0) as workSum ").lambda().isNotNull(RzAttendance::getWorkSum).gt(RzAttendance::getWorkSum, 0).eq(RzAttendance::getDelFlag, Constants.DELETE_FLAG_0).eq(RzAttendance::getStaffId, sysStaff.getUserId()).apply(" DATE_FORMAT( attendance_date, '%Y%m' ) = DATE_FORMAT({0} , '%Y%m' )", rzSalaryDetail.getMonth())).getWorkSum());
;
deduction("".equals(sysStaff.getClockIn()), detail, rzSalaryDetail, new BigDecimal(DateUtils.getMonthDays(rzSalaryDetail.getMonth())).multiply(Constants.DAY_WORK_HOUR), rzAttendanceMapper.selectOne(new QueryWrapper<RzAttendance>().select( " ifnull(sum(work_sum),0) as workSum ").lambda().isNotNull(RzAttendance::getWorkSum).gt(RzAttendance::getWorkSum, 0).eq(RzAttendance::getDelFlag, Constants.DELETE_FLAG_0).eq(RzAttendance::getStaffId, sysStaff.getUserId()).apply(" DATE_FORMAT( attendance_date, '%Y%m' ) = DATE_FORMAT({0} , '%Y%m' )", rzSalaryDetail.getMonth())).getWorkSum());
//deduction(detail, rzSalaryDetail, String.valueOf(DateUtils.getMonthDays(rzSalaryDetail.getMonth())), rzAttendanceMapper.selectCount(new LambdaQueryWrapper<RzAttendance>().isNotNull(RzAttendance::getWorkSum).gt(RzAttendance::getWorkSum, 0).eq(RzAttendance::getDelFlag, Constants.DELETE_FLAG_0).eq(RzAttendance::getStaffId, sysStaff.getUserId()).apply(" DATE_FORMAT( attendance_date, '%Y%m' ) = DATE_FORMAT({0} , '%Y%m' )", rzSalaryDetail.getMonth()).select(RzAttendance::getId))); //deduction(detail, rzSalaryDetail, String.valueOf(DateUtils.getMonthDays(rzSalaryDetail.getMonth())), rzAttendanceMapper.selectCount(new LambdaQueryWrapper<RzAttendance>().isNotNull(RzAttendance::getWorkSum).gt(RzAttendance::getWorkSum, 0).eq(RzAttendance::getDelFlag, Constants.DELETE_FLAG_0).eq(RzAttendance::getStaffId, sysStaff.getUserId()).apply(" DATE_FORMAT( attendance_date, '%Y%m' ) = DATE_FORMAT({0} , '%Y%m' )", rzSalaryDetail.getMonth()).select(RzAttendance::getId)));
//日薪没有缺勤扣款, 上一天就一天 //日薪没有缺勤扣款, 上一天就一天
rzSalaryDetail.setAbsenteeismSalary(new BigDecimal(0)); rzSalaryDetail.setAbsenteeismSalary(new BigDecimal(0));

View File

@ -61,7 +61,7 @@ public class MonthlySalaryStrategyExchangeProcessor implements SalaryCalculation
// //计算基本工资 // //计算基本工资
// monthSalary(sysStaff, sysStaffDetail,rzSalaryDetail, attendanceStatistical); // monthSalary(sysStaff, sysStaffDetail,rzSalaryDetail, attendanceStatistical);
//组件基础数据 //组件基础数据
buildRzSalaryDetail(sysStaff, sysStaffDetail,rzSalaryDetail, attendanceStatistical); buildRzSalaryDetail(true, sysStaff, sysStaffDetail,rzSalaryDetail, attendanceStatistical);
//计算薪资 //计算薪资
calculation(sysStaff, sysStaffDetail,rzSalaryDetail); calculation(sysStaff, sysStaffDetail,rzSalaryDetail);
} }
@ -69,7 +69,6 @@ public class MonthlySalaryStrategyExchangeProcessor implements SalaryCalculation
@Override @Override
public void monthSalary(Date limitMonth, Date month, Date limitDate ,SysStaff sysStaff, SysStaffDetail detail, RzSalaryDetail rzSalaryDetail, RzAttendanceStatistical attendanceStatistical){ public void monthSalary(Date limitMonth, Date month, Date limitDate ,SysStaff sysStaff, SysStaffDetail detail, RzSalaryDetail rzSalaryDetail, RzAttendanceStatistical attendanceStatistical){
//如果计算薪资的月份 小于转正的月份, 则按照全额薪资的80%发放 //如果计算薪资的月份 小于转正的月份, 则按照全额薪资的80%发放
System.out.println(JSON.toJSONString(sysStaff));
BigDecimal workHourPrice = rzSalaryDetail.getBasicSalary().add(rzSalaryDetail.getJobSalary()).divide(attendanceStatistical.getShouldAttendance(),2, RoundingMode.HALF_UP); BigDecimal workHourPrice = rzSalaryDetail.getBasicSalary().add(rzSalaryDetail.getJobSalary()).divide(attendanceStatistical.getShouldAttendance(),2, RoundingMode.HALF_UP);
if(limitMonth.compareTo(month) > 0){ if(limitMonth.compareTo(month) > 0){
rzSalaryDetail.setMonthSalary(rzSalaryDetail.getBasicSalary().add(rzSalaryDetail.getJobSalary()).multiply(new BigDecimal(Constants.SUBSIDY_PERIOD))); rzSalaryDetail.setMonthSalary(rzSalaryDetail.getBasicSalary().add(rzSalaryDetail.getJobSalary()).multiply(new BigDecimal(Constants.SUBSIDY_PERIOD)));
@ -99,7 +98,7 @@ public class MonthlySalaryStrategyExchangeProcessor implements SalaryCalculation
//计算补助 //计算补助
subsidy(limitMonth, month, limitDate, sysStaff, detail, rzSalaryDetail, attendanceStatistical); subsidy(limitMonth, month, limitDate, sysStaff, detail, rzSalaryDetail, attendanceStatistical);
//计算扣减 //计算扣减
deduction("".equals(sysStaff.getClockIn()), detail, rzSalaryDetail, new BigDecimal(workNum).multiply(Constants.DAY_WORK_HOUR), rzAttendanceMapper.selectOne(new QueryWrapper<RzAttendance>().select( " ifnull(sum(work_sum),0) as workSum ").lambda().isNotNull(RzAttendance::getWorkSum).gt(RzAttendance::getWorkSum, 0).eq(RzAttendance::getDelFlag, Constants.DELETE_FLAG_0).eq(RzAttendance::getStaffId, sysStaff.getUserId()).apply(" DATE_FORMAT( attendance_date, '%Y%m' ) = DATE_FORMAT({0} , '%Y%m' )", rzSalaryDetail.getMonth())).getWorkSum()); deduction("".equals(sysStaff.getClockIn()), detail, rzSalaryDetail, new BigDecimal(workNum).multiply(Constants.DAY_WORK_HOUR), attendanceStatistical.getRealAttendance());
//deduction(detail, rzSalaryDetail,workNum, rzAttendanceMapper.selectCount(new LambdaQueryWrapper<RzAttendance>().isNotNull(RzAttendance::getWorkSum).gt(RzAttendance::getWorkSum, 0).eq(RzAttendance::getDelFlag, Constants.DELETE_FLAG_0).eq(RzAttendance::getStaffId, sysStaff.getUserId()).apply(" DATE_FORMAT( attendance_date, '%Y%m' ) = DATE_FORMAT({0} , '%Y%m' )", rzSalaryDetail.getMonth()).select(RzAttendance::getId))); //deduction(detail, rzSalaryDetail,workNum, rzAttendanceMapper.selectCount(new LambdaQueryWrapper<RzAttendance>().isNotNull(RzAttendance::getWorkSum).gt(RzAttendance::getWorkSum, 0).eq(RzAttendance::getDelFlag, Constants.DELETE_FLAG_0).eq(RzAttendance::getStaffId, sysStaff.getUserId()).apply(" DATE_FORMAT( attendance_date, '%Y%m' ) = DATE_FORMAT({0} , '%Y%m' )", rzSalaryDetail.getMonth()).select(RzAttendance::getId)));
//计算社保 //计算社保
socialSecurity(sysStaff, detail, attendanceStatistical); socialSecurity(sysStaff, detail, attendanceStatistical);
@ -128,10 +127,10 @@ public class MonthlySalaryStrategyExchangeProcessor implements SalaryCalculation
totalAllHour = totalAllHour+hour; totalAllHour = totalAllHour+hour;
} }
} }
if(totalAllHour.compareTo(0l)> 0){ // if(totalAllHour.compareTo(0l)> 0){
//存在工伤假, 需要计算 // //存在工伤假, 需要计算
rzSalaryDetail.setMonthSalary(rzSalaryDetail.getMonthSalary().add(workHourPrice.multiply(new BigDecimal(totalAllHour)))); // rzSalaryDetail.setMonthSalary(rzSalaryDetail.getMonthSalary().add(workHourPrice.multiply(new BigDecimal(totalAllHour))));
} // }
//如果是不打卡人员, 只计算请假时长, 如果不是未打卡人员, 需要检查应出去和实际出勤的值 //如果是不打卡人员, 只计算请假时长, 如果不是未打卡人员, 需要检查应出去和实际出勤的值
if("".equals(sysStaff.getClockIn())){ if("".equals(sysStaff.getClockIn())){

View File

@ -668,9 +668,6 @@ public class RzSalaryDetailServiceImpl extends ServiceImpl<RzSalaryDetailMapper,
List<String> sheetDeptNames = deptDataList.keySet().stream().sorted((x,y) -> x.compareTo(y)).collect(Collectors.toList()); List<String> sheetDeptNames = deptDataList.keySet().stream().sorted((x,y) -> x.compareTo(y)).collect(Collectors.toList());
allSheetNames.addAll(sheetDeptNames); allSheetNames.addAll(sheetDeptNames);
for (String sheetDeptName : sheetDeptNames){ for (String sheetDeptName : sheetDeptNames){
if(Collections.asList("生技部","装配车间","设备工段").contains(sheetDeptName)){
System.out.println(123213);
}
List<SalaryVo> depts = deptDataList.get(sheetDeptName); List<SalaryVo> depts = deptDataList.get(sheetDeptName);
SalaryVo result = sumSalaryVo(depts); SalaryVo result = sumSalaryVo(depts);
result.setDeptName(sheetDeptName); result.setDeptName(sheetDeptName);

View File

@ -145,14 +145,6 @@ public class RzLeaveDetailServiceImpl extends ServiceImpl<RzLeaveDetailMapper, R
return new BigDecimal(baseNum).add(new BigDecimal(addNum)).intValue(); return new BigDecimal(baseNum).add(new BigDecimal(addNum)).intValue();
} }
public static void main(String[] args) {
YearMonth yearMonth = YearMonth.of(2025, 5);
LocalDate firsDay = yearMonth.atDay(1);
System.out.println(firsDay);
LocalDate endDay = yearMonth.atEndOfMonth();
System.out.println(endDay);
}
public void buildExtension(RzLeaveDetail rzLeaveDetail){ public void buildExtension(RzLeaveDetail rzLeaveDetail){
SimpleDateFormat ymd = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat ymd = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat ym = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat ym = new SimpleDateFormat("yyyy-MM");

View File

@ -6,15 +6,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.evo.attendance.service.IRzAttendanceStatisticalService; import com.evo.attendance.service.IRzAttendanceStatisticalService;
import com.evo.attendance.domain.vo.RzSalaryVo; import com.evo.attendance.domain.vo.RzSalaryVo;
import com.evo.common.annotation.DataScope; import com.evo.common.annotation.DataScope;
import com.evo.common.annotation.Excel;
import com.evo.common.constant.Constants; import com.evo.common.constant.Constants;
import com.evo.common.core.domain.AjaxResult; import com.evo.common.core.domain.AjaxResult;
import com.evo.common.core.domain.entity.RzUpload; import com.evo.common.core.domain.entity.RzUpload;
import com.evo.common.core.domain.entity.SysDept; import com.evo.common.core.domain.entity.SysDept;
import com.evo.common.core.domain.entity.SysDictData; import com.evo.common.core.domain.entity.SysDictData;
import com.evo.common.utils.Collections; import com.evo.common.utils.*;
import com.evo.common.utils.DateUtils;
import com.evo.common.utils.SecurityUtils;
import com.evo.common.utils.StringUtils;
import com.evo.common.utils.bean.BeanUtils; import com.evo.common.utils.bean.BeanUtils;
import com.evo.equipment.service.IEqSnDetailService; import com.evo.equipment.service.IEqSnDetailService;
import com.evo.restaurant.domain.RzRestaurantStatistics; import com.evo.restaurant.domain.RzRestaurantStatistics;
@ -272,17 +270,16 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
sysStaff.setSex("0"); sysStaff.setSex("0");
} }
//根据员工ID查询原来的数据信息 //根据员工ID查询原来的数据信息
// SysStaff old_staff = getBaseMapper().selectSysStaffByUserId(sysStaff.getUserId()); SysStaff old_staff = getBaseMapper().selectSysStaffByUserId(sysStaff.getUserId());
//判断员工更换公司 //判断员工更换公司
// if(!old_staff.getCompanyName().equals(sysStaff.getCompanyName())){ if(!old_staff.getCompanyName().equals(sysStaff.getCompanyName())) {
// //保存旧公司数据存档 SysStaffDetail sysStaffDetail = sysStaffDetailMapper.selectSysStaffDetailByStaffId(sysStaff.getUserId());
// old_staff.setDelFlag(Constants.DELETE_FLAG_1); sysStaffDetail.setSpecialDeduction(DataUtils.DEFAULT_VALUE);
// old_staff.setUpdateBy(SecurityUtils.getUsername()); sysStaffDetail.setTotalWages(DataUtils.DEFAULT_VALUE);
// old_staff.setUpdateTime(DateUtils.getNowDate()); sysStaffDetail.setAggregatePersonalIncomeTax(DataUtils.DEFAULT_VALUE);
// int i = getBaseMapper().updateSysStaff(old_staff); sysStaffDetailMapper.updateById(sysStaffDetail);
// if(i < 1){ }
// return AjaxResult.error();
// }
// //处理新公司数据 // //处理新公司数据
//// createNewStaff(sysStaff); //// createNewStaff(sysStaff);
// }else { // }else {
@ -307,7 +304,7 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
return AjaxResult.error(); return AjaxResult.error();
} }
//修改员工详情 //修改员工详情
// createStaffDetail(sysStaff); // createStaffDetail(sysStaff);
//修改考勤统计 //修改考勤统计
rzAttendanceStatisticalService.createRzAttendance(sysStaff, Collections.emptyList(), null); rzAttendanceStatisticalService.createRzAttendance(sysStaff, Collections.emptyList(), null);
//餐饮统计 //餐饮统计

View File

@ -17,6 +17,8 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -39,8 +41,6 @@ public class SubsidyCalculationUtils {
public static final String xnh = "13"; public static final String xnh = "13";
public static final String yc = "11"; public static final String yc = "11";
public static SysStaffDetail subsidyCalculation(SysStaff staff, SysStaffDetail staffDetail, List<RzSubsidyInfo> subsidyInfoList){ public static SysStaffDetail subsidyCalculation(SysStaff staff, SysStaffDetail staffDetail, List<RzSubsidyInfo> subsidyInfoList){
//正式员工并且有补助信息 //正式员工并且有补助信息
if(Constants.JOB_STATIS_1.equals(staff.getStatus())){ if(Constants.JOB_STATIS_1.equals(staff.getStatus())){