照片下发取消验证公共打开机是否在线
This commit is contained in:
parent
9bd8d9e8a2
commit
b184bf878b
@ -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++;
|
||||||
|
|||||||
@ -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())){
|
||||||
|
//如果不是公共打开机, 返回信息
|
||||||
|
if(!com.evo.equipment.constant.Constants.EQ_DEVICE_PUBLIC_CODE.equals(device.getSn())){
|
||||||
errorMsg.append("设备"+device.getSn()+"已经失去连接;");
|
errorMsg.append("设备"+device.getSn()+"已经失去连接;");
|
||||||
device.setType("连接已断开");
|
device.setType("连接已断开");
|
||||||
loseDeviceList.add(device);
|
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()));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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())){
|
||||||
// 实发工资 = 税前工资
|
// 实发工资 = 税前工资
|
||||||
|
|||||||
@ -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));
|
||||||
|
|||||||
@ -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())){
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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");
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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())){
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user