财务系统, 考勤计算调整

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.attendance.domain.RzAttendanceStatistical;
import com.evo.attendance.service.IRzAttendanceStatisticalService;
import com.evo.finance.service.IRzSalaryStatisticsService;
import com.evo.system.service.ISysStatisticalOperationLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.List;
/**
@ -32,9 +35,11 @@ public class RzAttendanceStatisticalController extends BaseController
{
@Resource
private IRzAttendanceStatisticalService rzAttendanceStatisticalService;
@Autowired
private IRzSalaryStatisticsService rzSalaryStatisticsService;
@Resource
private ISysStatisticalOperationLogService sysStatisticalOperationLogService;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
/**
* 查询考勤统计列表
*/
@ -44,6 +49,10 @@ public class RzAttendanceStatisticalController extends BaseController
{
startPage();
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);
}

View File

@ -2,16 +2,11 @@ package com.evo.attendance.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.evo.common.utils.ParamUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
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 org.springframework.web.bind.annotation.*;
import com.evo.common.annotation.Log;
import com.evo.common.core.controller.BaseController;
import com.evo.common.core.domain.AjaxResult;
@ -101,4 +96,11 @@ public class RzSysParamController extends BaseController
{
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)
private String delFlag;
@TableField(exist = false)
private Boolean allowAdjustment;
@Override

View File

@ -1,11 +1,9 @@
package com.evo.attendance.service.impl;
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.evo.attendance.domain.RzAttendance;
import com.evo.attendance.domain.RzAttendanceStatistical;
import com.evo.attendance.domain.RzSysParam;
import com.evo.attendance.mapper.RzAttendanceMapper;
import com.evo.attendance.mapper.RzAttendanceStatisticalMapper;
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.entity.SysDept;
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.RzOverTimeDetail;
import com.evo.personnelMatters.mapper.RzLeaveDetailMapper;
import com.evo.personnelMatters.mapper.RzOverTimeDetailMapper;
import com.evo.personnelMatters.mapper.RzOverTimeMapper;
@ -31,11 +26,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.beans.Transient;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -101,7 +97,7 @@ public class RzAttendanceStatisticalServiceImpl extends ServiceImpl<RzAttendance
@StatisticalOperationLog
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.setUpdateBy(SecurityUtils.getUsername());
return getBaseMapper().updateRzAttendanceStatistical(rzAttendanceStatistical);

View File

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

View File

@ -2,6 +2,8 @@ package com.evo.finance.mapper;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.evo.finance.domain.RzSalaryStatistics;
/**
@ -10,7 +12,7 @@ import com.evo.finance.domain.RzSalaryStatistics;
* @author evo
* @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 com.baomidou.mybatisplus.extension.service.IService;
import com.evo.common.core.domain.AjaxResult;
import com.evo.finance.domain.RzSalaryStatistics;
@ -11,7 +12,7 @@ import com.evo.finance.domain.RzSalaryStatistics;
* @author evo
* @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);
/***
* 获取已经生成过月份
* @return
*/
public List<String> selectMonthList();
/**
* 删除工资统计信息
*

View File

@ -1,6 +1,11 @@
package com.evo.finance.service.impl;
import java.text.SimpleDateFormat;
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.core.domain.AjaxResult;
import com.evo.common.utils.DateUtils;
@ -24,7 +29,7 @@ import javax.annotation.Resource;
* @date 2024-11-26
*/
@Service
public class RzSalaryStatisticsServiceImpl implements IRzSalaryStatisticsService
public class RzSalaryStatisticsServiceImpl extends ServiceImpl<RzSalaryStatisticsMapper, RzSalaryStatistics> implements IRzSalaryStatisticsService
{
@Resource
private RzSalaryStatisticsMapper rzSalaryStatisticsMapper;
@ -32,6 +37,8 @@ public class RzSalaryStatisticsServiceImpl implements IRzSalaryStatisticsService
private RzSalaryDetailMapper rzSalaryDetailMapper; //工资详情
@Resource
private SysStaffDetailMapper sysStaffDetailMapper; //员工详情
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
/**
* 查询工资统计列表
*
@ -44,6 +51,11 @@ public class RzSalaryStatisticsServiceImpl implements IRzSalaryStatisticsService
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());
}
/**
* 删除工资统计信息
*