员工补贴生成接口修改

master 18
hshansha 7 months ago
parent d8bdde6d6a
commit 565c67c755

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.toolkit.Db; import com.baomidou.mybatisplus.extension.toolkit.Db;
import com.ruoyi.common.utils.BeanCopyUtils; import com.ruoyi.common.utils.BeanCopyUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.logging.Log; import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory; import org.apache.ibatis.logging.LogFactory;
@ -194,9 +195,9 @@ public interface BaseMapperPlus<M, T, V> extends BaseMapper<T> {
* *
* @return * @return
*/ */
@Select("DELETE FROM pay_butie_emplyee WHERE date = #{thisMonth}") @Select("DELETE FROM pay_butie_emplyee WHERE date = #{thisMonth} and tenant_id=#{tenantId}")
void deleteSgrButieEmplyeeByDate(String month); void deleteSgrButieEmplyeeByDate(@Param("month") String month,@Param("tenantId") Long tenantId);
@Select("SELECT COUNT(*) FROM pay_butie_emplyee WHERE date = #{month}") @Select("SELECT COUNT(*) FROM pay_butie_emplyee WHERE date = #{month}")
Integer getLatestDate(String month); Integer getLatestDate(@Param("month") String month,@Param("tenantId") Long tenantId);
} }

@ -136,12 +136,12 @@ public class PayButieEmplyeeController extends BaseController {
@Log(title = "月度补贴生成", businessType = BusinessType.INSERT) @Log(title = "月度补贴生成", businessType = BusinessType.INSERT)
@PostMapping("/gen") @PostMapping("/gen")
public R<Void> generateBuTieEmpByMonth(@RequestBody JSONObject object) { public R<Void> generateBuTieEmpByMonth(@RequestBody JSONObject object) {
return iPayButieEmplyeeService.generateBuTieEmpByMonth(object.get("month", String.class), object.get("cover", Boolean.class)); return iPayButieEmplyeeService.generateBuTieEmpByMonth(object.get("month", String.class), object.get("cover", Boolean.class),object.get("tenantId", Long.class));
} }
@PostMapping("/check") @PostMapping("/check")
public R<Void> checkDataExist(@RequestBody JSONObject object) { public R<Void> checkDataExist(@RequestBody JSONObject object) {
return iPayButieEmplyeeService.checkDataExist(object.get("month", String.class)); return iPayButieEmplyeeService.checkDataExist(object.get("month", String.class),object.get("tenantId", Long.class));
} }
/** /**
@ -149,7 +149,7 @@ public class PayButieEmplyeeController extends BaseController {
* *
*/ */
@SaCheckPermission("pay:butieEmplyee:list") @SaCheckPermission("pay:butieEmplyee:list")
@DeleteMapping("/summary") @GetMapping("/summary")
public TableDataInfo<ButieSummaryVo> summary(PayButieEmplyeeBo bo, PageQuery pageQuery) { public TableDataInfo<ButieSummaryVo> summary(PayButieEmplyeeBo bo, PageQuery pageQuery) {
String date; String date;
if (null==(bo.getDate())) { // 默认查询本月的数据 if (null==(bo.getDate())) { // 默认查询本月的数据

@ -49,9 +49,9 @@ public interface IPayButieEmplyeeService {
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
R<Void> generateBuTieEmpByMonth(String month, Boolean cover); R<Void> generateBuTieEmpByMonth(String month, Boolean cover,Long tenantId);
R<Void> checkDataExist(String month); R<Void> checkDataExist(String month,Long tenantId);
R<Void> updateAllBtempByDate(ButieUpdateVo vo); R<Void> updateAllBtempByDate(ButieUpdateVo vo);
} }

@ -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);
} }
} }
} }

Loading…
Cancel
Save