|
|
|
@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
import com.ruoyi.pay.domain.PayButie;
|
|
|
|
import com.ruoyi.pay.domain.PayButie;
|
|
|
|
import com.ruoyi.pay.domain.PayEmployeeInfo;
|
|
|
|
import com.ruoyi.pay.domain.PayEmployeeInfo;
|
|
|
|
import com.ruoyi.pay.domain.bo.PayButieBo;
|
|
|
|
import com.ruoyi.pay.domain.bo.PayButieBo;
|
|
|
|
|
|
|
|
import com.ruoyi.pay.domain.bo.PayEmployeeInfoBo;
|
|
|
|
import com.ruoyi.pay.domain.vo.*;
|
|
|
|
import com.ruoyi.pay.domain.vo.*;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@ -141,27 +142,32 @@ public class PayButieEmplyeeServiceImpl implements IPayButieEmplyeeService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public R<Void> generateBuTieEmpByMonth(String month, Boolean cover) {
|
|
|
|
public R<Void> generateBuTieEmpByMonth(String month, Boolean cover,Long tenantId) {
|
|
|
|
if (ObjectUtil.isNull(month)) {
|
|
|
|
if (ObjectUtil.isNull(month)) {
|
|
|
|
throw new SecurityException("请完善月份信息");
|
|
|
|
throw new SecurityException("请完善月份信息");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
String lastMonth = DateUtil.format(DateUtil.offset(DateUtil.parse(month, "yyyy-MM"), DateField.MONTH, -1).toJdkDate(), "yyyy-MM");
|
|
|
|
String lastMonth = DateUtil.format(DateUtil.offset(DateUtil.parse(month, "yyyy-MM"), DateField.MONTH, -1).toJdkDate(), "yyyy-MM");
|
|
|
|
// 先删除本月数据
|
|
|
|
// 先删除本月数据
|
|
|
|
baseMapper.deleteSgrButieEmplyeeByDate(month);
|
|
|
|
baseMapper.deleteSgrButieEmplyeeByDate(month,tenantId);
|
|
|
|
|
|
|
|
PayButieBo bo = new PayButieBo();
|
|
|
|
|
|
|
|
bo.setTenantId(tenantId);
|
|
|
|
List<PayButieVo> butieList = butieService.queryList(null); // 获取补贴列表
|
|
|
|
List<PayButieVo> butieList = butieService.queryList(null); // 获取补贴列表
|
|
|
|
List<PayEmployeeInfoVo> employeeInfoList = employeeInfoService.queryList(null);// 获取员工列表
|
|
|
|
PayEmployeeInfoBo yg = new PayEmployeeInfoBo();
|
|
|
|
|
|
|
|
yg.setTenantId(tenantId);
|
|
|
|
|
|
|
|
List<PayEmployeeInfoVo> employeeInfoList = employeeInfoService.queryList(yg);// 获取员工列表
|
|
|
|
employeeInfoList.forEach(emp -> {
|
|
|
|
employeeInfoList.forEach(emp -> {
|
|
|
|
// 首先获取用户上个月份的补贴信息
|
|
|
|
// 首先获取用户上个月份的补贴信息
|
|
|
|
PayButieEmplyeeBo butieEmplyee = new PayButieEmplyeeBo();
|
|
|
|
PayButieEmplyeeBo butieEmplyee = new PayButieEmplyeeBo();
|
|
|
|
butieEmplyee.setDate(lastMonth);
|
|
|
|
butieEmplyee.setDate(lastMonth);
|
|
|
|
butieEmplyee.setEmployeeId(emp.getId());
|
|
|
|
butieEmplyee.setEmployeeId(emp.getId());
|
|
|
|
|
|
|
|
butieEmplyee.setTenantId(tenantId);
|
|
|
|
List<PayButieEmplyeeVo> butieEmplyeeList = this.queryList(butieEmplyee);
|
|
|
|
List<PayButieEmplyeeVo> butieEmplyeeList = this.queryList(butieEmplyee);
|
|
|
|
if (ObjectUtil.isNotNull(butieEmplyeeList) && butieEmplyeeList.size() > 0) { // 具有某员工的上个月数据
|
|
|
|
if (ObjectUtil.isNotNull(butieEmplyeeList) && butieEmplyeeList.size() > 0) { // 具有某员工的上个月数据
|
|
|
|
// 固定项继承, 非固定相为0
|
|
|
|
// 固定项继承, 非固定相为0
|
|
|
|
for (PayButieVo butie : butieList) {
|
|
|
|
for (PayButieVo butie : butieList) {
|
|
|
|
Optional<PayButieEmplyeeVo> first = butieEmplyeeList.stream().filter(btemp -> btemp.getButieId().equals(butie.getId())).findFirst();
|
|
|
|
Optional<PayButieEmplyeeVo> first = butieEmplyeeList.stream().filter(btemp -> btemp.getButieId().equals(butie.getId())).findFirst();
|
|
|
|
PayButieEmplyee payButieEmplyee = new PayButieEmplyee();
|
|
|
|
PayButieEmplyee payButieEmplyee = new PayButieEmplyee();
|
|
|
|
|
|
|
|
payButieEmplyee.setTenantId(tenantId);
|
|
|
|
// PayEmployeeInfo employeeInfo = employeeInfoService.selectSgrEmployeeInfoById(payButieEmplyee.getEmployeeId());
|
|
|
|
// PayEmployeeInfo employeeInfo = employeeInfoService.selectSgrEmployeeInfoById(payButieEmplyee.getEmployeeId());
|
|
|
|
if (first.isPresent()) { // 如果找到和补贴类型ID相同的项
|
|
|
|
if (first.isPresent()) { // 如果找到和补贴类型ID相同的项
|
|
|
|
payButieEmplyee = BeanUtil.toBean(first.get(),PayButieEmplyee.class);
|
|
|
|
payButieEmplyee = BeanUtil.toBean(first.get(),PayButieEmplyee.class);
|
|
|
|
@ -194,13 +200,14 @@ public class PayButieEmplyeeServiceImpl implements IPayButieEmplyeeService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else { // 没有某员工的上个月数据
|
|
|
|
} else { // 没有某员工的上个月数据
|
|
|
|
for (PayButieVo butie : butieList) { // 对应生成某员工所有补贴类型的数据项
|
|
|
|
for (PayButieVo butie : butieList) { // 对应生成某员工所有补贴类型的数据项
|
|
|
|
PayButieEmplyee PaybutieEmplyee = new PayButieEmplyee();
|
|
|
|
PayButieEmplyee paybutieEmplyee = new PayButieEmplyee();
|
|
|
|
PaybutieEmplyee.setButieId(butie.getId());
|
|
|
|
paybutieEmplyee.setTenantId(tenantId);
|
|
|
|
PaybutieEmplyee.setEmployeeId(emp.getId());
|
|
|
|
paybutieEmplyee.setButieId(butie.getId());
|
|
|
|
PaybutieEmplyee.setMoney(BigDecimal.ZERO);
|
|
|
|
paybutieEmplyee.setEmployeeId(emp.getId());
|
|
|
|
PaybutieEmplyee.setDate(month);
|
|
|
|
paybutieEmplyee.setMoney(BigDecimal.ZERO);
|
|
|
|
PaybutieEmplyee.setCreateBy("system");
|
|
|
|
paybutieEmplyee.setDate(month);
|
|
|
|
baseMapper.insert(PaybutieEmplyee);
|
|
|
|
paybutieEmplyee.setCreateBy("system");
|
|
|
|
|
|
|
|
baseMapper.insert(paybutieEmplyee);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
@ -208,12 +215,12 @@ public class PayButieEmplyeeServiceImpl implements IPayButieEmplyeeService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public R<Void> checkDataExist(String month) {
|
|
|
|
public R<Void> checkDataExist(String month,Long tenantId) {
|
|
|
|
Integer count = baseMapper.getLatestDate(month);
|
|
|
|
Integer count = baseMapper.getLatestDate(month,tenantId);
|
|
|
|
if (count > 0) {
|
|
|
|
if (count > 0) {
|
|
|
|
return R.ok("数据已经存在,是否覆盖?");
|
|
|
|
return R.ok("数据已经存在,是否覆盖?");
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
return this.generateBuTieEmpByMonth(month, true);
|
|
|
|
return this.generateBuTieEmpByMonth(month, true,tenantId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|