This commit is contained in:
2025-03-09 16:22:54 +08:00
parent d335612b2f
commit 82f85233aa
13 changed files with 285 additions and 11 deletions

View File

@@ -46,4 +46,11 @@ public interface IOaSalaryService {
* 校验并批量删除薪资管理信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 计算工资
* @param bo
*/
void calcSalary(OaSalaryBo bo);
}

View File

@@ -130,6 +130,6 @@ public class EmployeeOnboardingServiceImpl implements IEmployeeOnboardingService
@Override
public EmployeeOnboardingVo queryByUserId(Long userId) {
return baseMapper.selectVoById(userId);
return baseMapper.selectVoByUserId(userId);
}
}

View File

@@ -1,13 +1,20 @@
package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.oa.domain.vo.CalcResultVo;
import com.ruoyi.oa.utils.OwnHttpUtils;
import com.ruoyi.system.service.ISysUserService;
import liquibase.pro.packaged.A;
import lombok.RequiredArgsConstructor;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.OaSalaryBo;
import com.ruoyi.oa.domain.vo.OaSalaryVo;
@@ -31,6 +38,9 @@ public class OaSalaryServiceImpl implements IOaSalaryService {
private final OaSalaryMapper baseMapper;
@Autowired
private ISysUserService userService;
/**
* 查询薪资管理
*/
@@ -109,4 +119,24 @@ public class OaSalaryServiceImpl implements IOaSalaryService {
}
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public void calcSalary(OaSalaryBo bo) {
// 1先获取对应的json路径 "/home/ubuntu/lyq/fad_oa_kqdeal/202411.json"
String jsonPath = OwnHttpUtils.getJsonName(bo.getMonthStr(), bo.getFilePath());
// 2拿到所有的用户
SysUser sysUser = new SysUser();
List<SysUser> sysUsers = userService.selectUserList(sysUser);
// 3遍历user列表 拿出所有的nickName分别拿到他们的json 进行第二步分析
for (SysUser user : sysUsers) {
// 3.1 拿到一个人打卡机的记录
CalcResultVo res = OwnHttpUtils.getBaseCalc(jsonPath,user.getNickName());
// 3.2 通过打卡机拿到的记录去和差旅表、请假申请表、假期表做比对
// TODO 思考这里有两种情况 首先可能是车间员工他们有一个打卡表可以通过Attendence表进行比对但是是否还会出现上下午的问题呢
// TODO 第二种情况是职工,他们只能通过差旅报销去判断
}
}
}