财务系统, 考勤计算调整

This commit is contained in:
andy 2025-09-28 13:24:31 +08:00
parent 5d6ab71011
commit 5f6e1302f4
8 changed files with 55 additions and 21 deletions

View File

@ -12,12 +12,15 @@ import com.evo.common.utils.StringUtils;
import com.evo.common.utils.poi.ExcelUtil; import com.evo.common.utils.poi.ExcelUtil;
import com.evo.attendance.domain.RzAttendanceStatistical; import com.evo.attendance.domain.RzAttendanceStatistical;
import com.evo.attendance.service.IRzAttendanceStatisticalService; import com.evo.attendance.service.IRzAttendanceStatisticalService;
import com.evo.finance.service.IRzSalaryStatisticsService;
import com.evo.system.service.ISysStatisticalOperationLogService; import com.evo.system.service.ISysStatisticalOperationLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
/** /**
@ -32,9 +35,11 @@ public class RzAttendanceStatisticalController extends BaseController
{ {
@Resource @Resource
private IRzAttendanceStatisticalService rzAttendanceStatisticalService; private IRzAttendanceStatisticalService rzAttendanceStatisticalService;
@Autowired
private IRzSalaryStatisticsService rzSalaryStatisticsService;
@Resource @Resource
private ISysStatisticalOperationLogService sysStatisticalOperationLogService; private ISysStatisticalOperationLogService sysStatisticalOperationLogService;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
/** /**
* 查询考勤统计列表 * 查询考勤统计列表
*/ */
@ -44,6 +49,10 @@ public class RzAttendanceStatisticalController extends BaseController
{ {
startPage(); startPage();
List<RzAttendanceStatistical> list = rzAttendanceStatisticalService.selectRzAttendanceStatisticalList(rzAttendanceStatistical); List<RzAttendanceStatistical> list = rzAttendanceStatisticalService.selectRzAttendanceStatisticalList(rzAttendanceStatistical);
List<String> createMonth = rzSalaryStatisticsService.selectMonthList();
list.stream().forEach(data ->{
data.setAllowAdjustment(createMonth.contains(sdf.format(data.getMonth())));
});
return getDataTable(list); return getDataTable(list);
} }

View File

@ -2,16 +2,11 @@ package com.evo.attendance.controller;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.evo.common.utils.ParamUtils;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.evo.common.annotation.Log; import com.evo.common.annotation.Log;
import com.evo.common.core.controller.BaseController; import com.evo.common.core.controller.BaseController;
import com.evo.common.core.domain.AjaxResult; import com.evo.common.core.domain.AjaxResult;
@ -101,4 +96,11 @@ public class RzSysParamController extends BaseController
{ {
return toAjax(rzSysParamService.deleteRzSysParamByIds(ids)); return toAjax(rzSysParamService.deleteRzSysParamByIds(ids));
} }
@GetMapping("/allow/adjustment")
public AjaxResult getAllowAdjustment()
{
return success(ParamUtils.checkLogOperation());
}
} }

View File

@ -98,6 +98,8 @@ public class RzAttendanceStatistical extends BaseEntity
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
private String delFlag; private String delFlag;
@TableField(exist = false)
private Boolean allowAdjustment;
@Override @Override

View File

@ -1,11 +1,9 @@
package com.evo.attendance.service.impl; package com.evo.attendance.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.evo.attendance.domain.RzAttendance; import com.evo.attendance.domain.RzAttendance;
import com.evo.attendance.domain.RzAttendanceStatistical; import com.evo.attendance.domain.RzAttendanceStatistical;
import com.evo.attendance.domain.RzSysParam;
import com.evo.attendance.mapper.RzAttendanceMapper; import com.evo.attendance.mapper.RzAttendanceMapper;
import com.evo.attendance.mapper.RzAttendanceStatisticalMapper; import com.evo.attendance.mapper.RzAttendanceStatisticalMapper;
import com.evo.attendance.mapper.RzSpecialAttendanceMapper; import com.evo.attendance.mapper.RzSpecialAttendanceMapper;
@ -17,10 +15,7 @@ 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.SysDept; import com.evo.common.core.domain.entity.SysDept;
import com.evo.common.utils.*; import com.evo.common.utils.*;
import com.evo.common.utils.Collections;
import com.evo.personnelMatters.domain.RzLeaveDetail;
import com.evo.personnelMatters.domain.RzOverTime; import com.evo.personnelMatters.domain.RzOverTime;
import com.evo.personnelMatters.domain.RzOverTimeDetail;
import com.evo.personnelMatters.mapper.RzLeaveDetailMapper; import com.evo.personnelMatters.mapper.RzLeaveDetailMapper;
import com.evo.personnelMatters.mapper.RzOverTimeDetailMapper; import com.evo.personnelMatters.mapper.RzOverTimeDetailMapper;
import com.evo.personnelMatters.mapper.RzOverTimeMapper; import com.evo.personnelMatters.mapper.RzOverTimeMapper;
@ -31,11 +26,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.beans.Transient;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.concurrent.CompletableFuture; import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -101,7 +97,7 @@ public class RzAttendanceStatisticalServiceImpl extends ServiceImpl<RzAttendance
@StatisticalOperationLog @StatisticalOperationLog
public int updateRzAttendanceStatistical(RzAttendanceStatistical rzAttendanceStatistical) public int updateRzAttendanceStatistical(RzAttendanceStatistical rzAttendanceStatistical)
{ {
rzAttendanceStatistical.setRealAttendance(rzAttendanceStatistical.getEssentialAttendance().add(rzAttendanceStatistical.getWorkOvertimeNumber())); rzAttendanceStatistical.setRealAttendance(rzAttendanceStatistical.getEssentialAttendance().add(rzAttendanceStatistical.getWorkOvertimeNumber()).add(rzAttendanceStatistical.getOverTimeHours()));
rzAttendanceStatistical.setUpdateTime(DateUtils.getNowDate()); rzAttendanceStatistical.setUpdateTime(DateUtils.getNowDate());
rzAttendanceStatistical.setUpdateBy(SecurityUtils.getUsername()); rzAttendanceStatistical.setUpdateBy(SecurityUtils.getUsername());
return getBaseMapper().updateRzAttendanceStatistical(rzAttendanceStatistical); return getBaseMapper().updateRzAttendanceStatistical(rzAttendanceStatistical);

View File

@ -1,6 +1,9 @@
package com.evo.finance.domain; package com.evo.finance.domain;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
@ -18,6 +21,7 @@ public class RzSalaryStatistics extends BaseEntity
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 主键 */ /** 主键 */
@TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/** 工资月份 */ /** 工资月份 */

View File

@ -2,6 +2,8 @@ package com.evo.finance.mapper;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.evo.finance.domain.RzSalaryStatistics; import com.evo.finance.domain.RzSalaryStatistics;
/** /**
@ -10,7 +12,7 @@ import com.evo.finance.domain.RzSalaryStatistics;
* @author evo * @author evo
* @date 2024-11-26 * @date 2024-11-26
*/ */
public interface RzSalaryStatisticsMapper public interface RzSalaryStatisticsMapper extends BaseMapper<RzSalaryStatistics>
{ {
/** /**
* 查询工资统计 * 查询工资统计

View File

@ -2,6 +2,7 @@ package com.evo.finance.service;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.evo.common.core.domain.AjaxResult; import com.evo.common.core.domain.AjaxResult;
import com.evo.finance.domain.RzSalaryStatistics; import com.evo.finance.domain.RzSalaryStatistics;
@ -11,7 +12,7 @@ import com.evo.finance.domain.RzSalaryStatistics;
* @author evo * @author evo
* @date 2024-11-26 * @date 2024-11-26
*/ */
public interface IRzSalaryStatisticsService public interface IRzSalaryStatisticsService extends IService<RzSalaryStatistics>
{ {
/** /**
* 查询工资统计列表 * 查询工资统计列表
@ -21,6 +22,12 @@ public interface IRzSalaryStatisticsService
*/ */
public List<RzSalaryStatistics> selectRzSalaryStatisticsList(RzSalaryStatistics rzSalaryStatistics); public List<RzSalaryStatistics> selectRzSalaryStatisticsList(RzSalaryStatistics rzSalaryStatistics);
/***
* 获取已经生成过月份
* @return
*/
public List<String> selectMonthList();
/** /**
* 删除工资统计信息 * 删除工资统计信息
* *

View File

@ -1,6 +1,11 @@
package com.evo.finance.service.impl; package com.evo.finance.service.impl;
import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.utils.DateUtils; import com.evo.common.utils.DateUtils;
@ -24,7 +29,7 @@ import javax.annotation.Resource;
* @date 2024-11-26 * @date 2024-11-26
*/ */
@Service @Service
public class RzSalaryStatisticsServiceImpl implements IRzSalaryStatisticsService public class RzSalaryStatisticsServiceImpl extends ServiceImpl<RzSalaryStatisticsMapper, RzSalaryStatistics> implements IRzSalaryStatisticsService
{ {
@Resource @Resource
private RzSalaryStatisticsMapper rzSalaryStatisticsMapper; private RzSalaryStatisticsMapper rzSalaryStatisticsMapper;
@ -32,6 +37,8 @@ public class RzSalaryStatisticsServiceImpl implements IRzSalaryStatisticsService
private RzSalaryDetailMapper rzSalaryDetailMapper; //工资详情 private RzSalaryDetailMapper rzSalaryDetailMapper; //工资详情
@Resource @Resource
private SysStaffDetailMapper sysStaffDetailMapper; //员工详情 private SysStaffDetailMapper sysStaffDetailMapper; //员工详情
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
/** /**
* 查询工资统计列表 * 查询工资统计列表
* *
@ -44,6 +51,11 @@ public class RzSalaryStatisticsServiceImpl implements IRzSalaryStatisticsService
return rzSalaryStatisticsMapper.selectRzSalaryStatisticsList(rzSalaryStatistics); return rzSalaryStatisticsMapper.selectRzSalaryStatisticsList(rzSalaryStatistics);
} }
@Override
public List<String> selectMonthList() {
return list(new LambdaQueryWrapper<RzSalaryStatistics>().select(RzSalaryStatistics::getMonth)).stream().map(data ->sdf.format(data.getMonth())).collect(Collectors.toList());
}
/** /**
* 删除工资统计信息 * 删除工资统计信息
* *