parent
1f6a10abc9
commit
a628585597
@ -0,0 +1,195 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.domain.entity.SysDept;
|
||||
import com.ruoyi.common.core.domain.entity.SysRole;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.service.DictService;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.pay.domain.PayAttendance;
|
||||
import com.ruoyi.pay.domain.PayButie;
|
||||
import com.ruoyi.pay.domain.PayEmployeeInfo;
|
||||
import com.ruoyi.pay.domain.bo.*;
|
||||
import com.ruoyi.pay.domain.vo.*;
|
||||
import com.ruoyi.pay.mapper.*;
|
||||
import com.ruoyi.pay.service.IPayEmployeeInfoService;
|
||||
import com.ruoyi.pay.service.impl.*;
|
||||
import com.ruoyi.system.service.ISysDeptService;
|
||||
import com.ruoyi.system.service.impl.SysRoleServiceImpl;
|
||||
import com.ruoyi.system.service.impl.SysUserServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 租户数据清理——彻底清理
|
||||
*/
|
||||
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/system/clean")
|
||||
public class SysCompanyDataCleanController extends BaseController {
|
||||
private final PaySalaryReportMapper salaryReportMapper;
|
||||
private final PaySalaryReportServiceImpl salaryReportService;
|
||||
private final PayEmployeeInfoServiceImpl payEmployeeInfoService;
|
||||
private final PayButieEmplyeeServiceImpl payButieEmplyeeService;
|
||||
private final PayButieServiceImpl butieService;
|
||||
private final PayRequireAttendanceReportServiceImpl payRequireAttendanceReportService;
|
||||
private final PayDayWorkHoursServiceImpl payDayWorkHoursService;
|
||||
private final PayWorkOrderBaohuoServiceImpl payWorkOrderBaohuoService;
|
||||
private final PayProductsServiceImpl payProductsService;
|
||||
private final PayMaterialServiceImpl payMaterialService;
|
||||
private final PayTenantServiceImpl payTenantService;
|
||||
private final SysUserServiceImpl userService;
|
||||
private final SysRoleServiceImpl roleService;
|
||||
private final PayAttendanceServiceImpl payAttendanceService;
|
||||
private final ISysDeptService deptService;
|
||||
private final PaySubInfoServiceImpl subInfoService;
|
||||
/**
|
||||
* 数据清理
|
||||
* @param ids
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@SaCheckPermission("pay:company:clean")
|
||||
@Log(title = "公司数据清理", businessType = BusinessType.DELETE)
|
||||
@Transactional
|
||||
@DeleteMapping("/tenant/{ids}")
|
||||
public R<Void> delete(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) throws Exception {
|
||||
for(Long id:ids){
|
||||
//删除公司下面的数据信息
|
||||
//工资总表
|
||||
PaySalaryReportBo salaryReportBo = new PaySalaryReportBo();
|
||||
salaryReportBo.setTenantId(id);
|
||||
List<PaySalaryReportVo> asWorkOrderVos = salaryReportService.queryList(salaryReportBo);
|
||||
List<Long> salaryids = asWorkOrderVos.stream().map(PaySalaryReportVo::getId).collect(Collectors.toList());
|
||||
if(salaryids!=null&&salaryids.size()>0){
|
||||
salaryReportService.deleteWithValidByIds(salaryids,true);
|
||||
}
|
||||
//日工工时
|
||||
PayDayWorkHoursBo riBo = new PayDayWorkHoursBo();
|
||||
riBo.setTenantId(id);
|
||||
List<PayDayWorkHoursVo> riVos = payDayWorkHoursService.queryList(riBo);
|
||||
List<Long> riids = riVos.stream().map(PayDayWorkHoursVo::getId).collect(Collectors.toList());
|
||||
if(riids!=null&&riids.size()>0) {
|
||||
payDayWorkHoursService.deleteWithValidByIds(riids, true);
|
||||
}
|
||||
//包活工单
|
||||
PayWorkOrderBaohuoBo wBo = new PayWorkOrderBaohuoBo();
|
||||
wBo.setTenantId(id);
|
||||
List<PayWorkOrderBaohuoVo> rlVos = payWorkOrderBaohuoService.queryList(wBo);
|
||||
List<Long> wids = rlVos.stream().map(PayWorkOrderBaohuoVo::getId).collect(Collectors.toList());
|
||||
if(wids!=null&&wids.size()>0) {
|
||||
payWorkOrderBaohuoService.deleteWithValidByIds(wids,true);
|
||||
}
|
||||
//产品
|
||||
PayProductsBo pBo = new PayProductsBo();
|
||||
pBo.setTenantId(id);
|
||||
List<PayProductsVo> xjVos = payProductsService.queryList(pBo);
|
||||
List<Long> xjids = xjVos.stream().map(PayProductsVo::getId).collect(Collectors.toList());
|
||||
if(xjids!=null&&xjids.size()>0) {
|
||||
payProductsService.deleteWithValidByIds(xjids, true);
|
||||
}
|
||||
//毛料
|
||||
PayMaterialBo materialBo = new PayMaterialBo();
|
||||
materialBo.setTenantId(id);
|
||||
List<PayMaterialVo> asEventVos = payMaterialService.queryList(materialBo);
|
||||
List<Long> eids = asEventVos.stream().map( PayMaterialVo::getId).collect(Collectors.toList());
|
||||
if(eids!=null&&eids.size()>0) {
|
||||
payMaterialService.deleteWithValidByIds(eids, true);
|
||||
}
|
||||
//员工扣补
|
||||
PayButieEmplyeeBo ebBo = new PayButieEmplyeeBo();
|
||||
ebBo.setTenantId(id);
|
||||
List<PayButieEmplyeeVo> ebVos = payButieEmplyeeService.queryList(ebBo);
|
||||
List<Long> ebids = ebVos.stream().map(PayButieEmplyeeVo::getId).collect(Collectors.toList());
|
||||
if(ebids!=null&&ebids.size()>0) {
|
||||
payButieEmplyeeService.deleteWithValidByIds(ebids, true);
|
||||
}
|
||||
//补贴
|
||||
PayButieBo btBo = new PayButieBo();
|
||||
btBo.setTenantId(id);
|
||||
List<PayButieVo> sxtVos = butieService.queryList(btBo);
|
||||
List<Long> sxtids = sxtVos.stream().map(PayButieVo::getId).collect(Collectors.toList());
|
||||
if(sxtids!=null&&sxtids.size()>0) {
|
||||
butieService.deleteWithValidByIds(sxtids, true);
|
||||
}
|
||||
//应出勤
|
||||
PayRequireAttendanceReportBo acBo = new PayRequireAttendanceReportBo();
|
||||
acBo.setTenantId(id);
|
||||
List<PayRequireAttendanceReportVo> acVos = payRequireAttendanceReportService.queryList(acBo);
|
||||
List<Long> acids = acVos.stream().map(PayRequireAttendanceReportVo::getId).collect(Collectors.toList());
|
||||
if(acids!=null&&acids.size()>0) {
|
||||
payRequireAttendanceReportService.deleteWithValidByIds(acids, true);
|
||||
}
|
||||
//考勤
|
||||
PayAttendanceBo aBo = new PayAttendanceBo();
|
||||
aBo.setTenantId(id);
|
||||
List<PayAttendanceVo> aVos = payAttendanceService.queryList(aBo);
|
||||
List<Long> aids = aVos.stream().map(PayAttendanceVo::getId).collect(Collectors.toList());
|
||||
if(aids!=null&&aids.size()>0) {
|
||||
payAttendanceService.deleteWithValidByIds(aids, true);
|
||||
}
|
||||
//员工
|
||||
PayEmployeeInfoBo empBo = new PayEmployeeInfoBo();
|
||||
empBo.setTenantId(id);
|
||||
List<PayEmployeeInfoVo> empVos = payEmployeeInfoService.queryList(empBo);
|
||||
List<Long> empids = empVos.stream().map(PayEmployeeInfoVo::getId).collect(Collectors.toList());
|
||||
if(empids!=null&&empids.size()>0) {
|
||||
payEmployeeInfoService.deleteWithValidByIds(empids, true);
|
||||
}
|
||||
//部门
|
||||
SysDept bmBo = new SysDept();
|
||||
bmBo.setTenantId(id);
|
||||
List<SysDept> pjVos = deptService.selectDeptList(bmBo);
|
||||
List<Long> bmids = pjVos.stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
||||
if(bmids!=null&&bmids.size()>0) {
|
||||
for(Long bmid:bmids){
|
||||
deptService.deleteDeptById(bmid);
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
//删除公司订阅信息
|
||||
PaySubInfoBo subInfo=new PaySubInfoBo();
|
||||
subInfo.setTenantId(id);
|
||||
List<PaySubInfoVo> infoVos = subInfoService.queryList(subInfo);
|
||||
List<Long> sids = infoVos.stream().map(PaySubInfoVo::getId).collect(Collectors.toList());
|
||||
if(sids!=null&&sids.size()>0){
|
||||
subInfoService.deleteWithValidByIds(sids,true);
|
||||
}
|
||||
//删除公司下所有用户
|
||||
SysUser user = new SysUser();
|
||||
user.setTenantId(id);
|
||||
List<SysUser> users = userService.selectUserList(user);
|
||||
if(users!=null&&users.size()>0){
|
||||
List<Long> uids = users.stream().map(SysUser::getUserId).collect(Collectors.toList());
|
||||
userService.deleteUserByIds(uids.toArray(uids.toArray(new Long[uids.size()])));
|
||||
}
|
||||
|
||||
//删除公司下的所有角色
|
||||
SysRole role = new SysRole();
|
||||
role.setTenantId(id);
|
||||
List<SysRole> roles = roleService.selectRoleList(role);
|
||||
if(roles!=null&&roles.size()>0){
|
||||
List<Long> rids = roles.stream().map(SysRole::getRoleId).collect(Collectors.toList());
|
||||
roleService.deleteRoleByIds(rids.toArray(rids.toArray(new Long[rids.size()])));
|
||||
}
|
||||
}
|
||||
return toAjax(payTenantService.deleteWithValidByIds(Arrays.asList(ids), true));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue