系统管理部分数据校验

master
15004070936 1 week ago
parent 76259580cd
commit e9963d5428

@ -8,6 +8,8 @@ import cn.xluobo.core.page.RespPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.school.order.domain.ScOrder;
import com.ruoyi.school.order.service.IScOrderService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,6 +30,9 @@ public class BusinessSysReceiptAccountService {
@Autowired @Autowired
private ISysReceiptAccountService sysReceiptAccountService; private ISysReceiptAccountService sysReceiptAccountService;
@Autowired
private IScOrderService scOrderService;
/** /**
* *
* *
@ -112,6 +117,11 @@ public class BusinessSysReceiptAccountService {
} }
} }
public boolean isUsed(Long[] accountIds){
//校验是否已经使用
int i= scOrderService.count(new QueryWrapper<ScOrder>().in("account_id",Arrays.asList(accountIds)));
return i>0?true:false;
}
/** /**
* *
* *
@ -122,6 +132,9 @@ public class BusinessSysReceiptAccountService {
if (null == accountIds || accountIds.length == 0 ) { if (null == accountIds || accountIds.length == 0 ) {
return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE); return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE);
} }
if (isUsed(accountIds)){
return APIResponse.toExceptionResponse("账户已经被使用,无法删除");
}
boolean deleteSysReceiptAccount = sysReceiptAccountService.removeByIds(Arrays.asList(accountIds)); boolean deleteSysReceiptAccount = sysReceiptAccountService.removeByIds(Arrays.asList(accountIds));
if (deleteSysReceiptAccount) { if (deleteSysReceiptAccount) {
return APIResponse.toOkResponse(); return APIResponse.toOkResponse();

@ -2,13 +2,13 @@ package com.ruoyi.web.controller.school.salary;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.ruoyi.school.salary.domain.ScCommissionPlans;
import com.ruoyi.school.salary.service.ScCommissionPlansService;
import cn.xluobo.core.page.RespPage; import cn.xluobo.core.page.RespPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.school.salary.domain.ScCommissionPlans;
import com.ruoyi.school.salary.service.ScCommissionPlansService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -22,6 +22,7 @@ public class ScCommissionPlansController {
private final ScCommissionPlansService service; private final ScCommissionPlansService service;
@PostMapping("list") @PostMapping("list")
public AjaxResult list(@RequestBody Map<String,Object> params){ public AjaxResult list(@RequestBody Map<String,Object> params){
RespPage<ScCommissionPlans> page = new RespPage<>((Integer) params.get("pageNum"), (Integer) params.get("pageSize")); RespPage<ScCommissionPlans> page = new RespPage<>((Integer) params.get("pageNum"), (Integer) params.get("pageSize"));
@ -47,12 +48,20 @@ public class ScCommissionPlansController {
public AjaxResult saveOrEdit(@RequestBody ScCommissionPlans salaryBase){ public AjaxResult saveOrEdit(@RequestBody ScCommissionPlans salaryBase){
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
salaryBase.setTenantId(loginUser.getNowTenantId()); salaryBase.setTenantId(loginUser.getNowTenantId());
if (salaryBase.getIsActive().equals("0")){
if (ObjectUtil.isNotEmpty(salaryBase.getId())){
salaryBase.setIsActive(new Byte("1"));
}
}
service.saveOrUpdate(salaryBase); service.saveOrUpdate(salaryBase);
return AjaxResult.success(); return AjaxResult.success();
} }
@PostMapping("remove") @PostMapping("remove")
public AjaxResult remove(Integer id){ public AjaxResult remove(Integer id){
if (service.isUsed(id)){
return AjaxResult.error("方案已经被使用,无法删除");
}
service.removeById(id); service.removeById(id);
return AjaxResult.success(); return AjaxResult.success();
} }

@ -131,10 +131,14 @@ public class SysDeptController extends BaseController
{ {
return AjaxResult.error("该部门包含未停用的子部门!"); return AjaxResult.error("该部门包含未停用的子部门!");
} }
dept.setUpdateBy(getUserId()); dept.setUpdateBy(getUserId());
return toAjax(deptService.updateDept(dept)); return toAjax(deptService.updateDept(dept));
} }
/** /**
* *
*/ */
@ -145,19 +149,21 @@ public class SysDeptController extends BaseController
{ {
if (deptService.hasChildByDeptId(deptId)) if (deptService.hasChildByDeptId(deptId))
{ {
return AjaxResult.error("存在下级部门,不允许删除"); return AjaxResult.error("存在下级部门,请先移出下级部门后,再进行删除");
} }
if (deptService.checkDeptExistUser(deptId)) if (deptService.checkDeptExistUser(deptId))
{ {
return AjaxResult.error("部门存在用户,不允许删除"); return AjaxResult.error("部门存在员工,请先移出员工后,再进行删除");
}
if (deptService.haveRoom(deptId))
{
return AjaxResult.error("本校区的教室或被使用,请先删除教室后,再删除本校区");
}
if (deptService.haveCourse(deptId)){
return AjaxResult.error("校区存在课程或班级,请先删除课程或班级后,再删除本校区");
} }
// 如果已报读 不允许删除
// QueryWrapper<ScStudentCourse> qwSc = new QueryWrapper<>();
// qwSc.eq("dept_id", deptId);
// int studentCourseCount = studentCourseService.count(qwSc);
// if (studentCourseCount != 0) {
// return AjaxResult.error("该校区已有报读学员,无法删除");
// }
return toAjax(deptService.deleteDeptById(deptId)); return toAjax(deptService.deleteDeptById(deptId));
} }
} }

@ -70,6 +70,30 @@ public class SysDept extends BaseEntity
@TableField(exist = false) @TableField(exist = false)
private List<SysDept> children = new ArrayList<SysDept>(); private List<SysDept> children = new ArrayList<SysDept>();
public Long getLeaderId() {
return leaderId;
}
public void setLeaderId(Long leaderId) {
this.leaderId = leaderId;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public String getDeptType() {
return deptType;
}
public void setDeptType(String deptType) {
this.deptType = deptType;
}
public Long getDeptId() public Long getDeptId()
{ {
return deptId; return deptId;

@ -209,7 +209,7 @@ public class BusinessClaTimeService {
} }
} }
if (courseIds.isEmpty()){ if (courseIds.isEmpty()){
throw new RuntimeException("学员名下无课程"); return APIResponse.toExceptionResponse("学员名下无课程");
} }
reqSearchClaTime.setCourseIds(courseIds); reqSearchClaTime.setCourseIds(courseIds);
return searchListForCalendar(reqSearchClaTime); return searchListForCalendar(reqSearchClaTime);

@ -53,4 +53,5 @@ public class ScCommissionPlans {
public String getTenantId(){ public String getTenantId(){
return SecurityUtils.getLoginUser().getNowTenantId(); return SecurityUtils.getLoginUser().getNowTenantId();
} }
} }

@ -1,10 +1,22 @@
package com.ruoyi.school.salary.service; package com.ruoyi.school.salary.service;
import com.ruoyi.school.salary.mapper.ScCommissionPlansMapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.school.salary.domain.ScCommissionPlans;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.school.order.domain.ScOrder;
import com.ruoyi.school.order.service.IScOrderService;
import com.ruoyi.school.salary.domain.ScCommissionPlans;
import com.ruoyi.school.salary.mapper.ScCommissionPlansMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
public class ScCommissionPlansService extends ServiceImpl<ScCommissionPlansMapper, ScCommissionPlans> { public class ScCommissionPlansService extends ServiceImpl<ScCommissionPlansMapper, ScCommissionPlans> {
@Autowired
private IScOrderService scOrderService;;
public boolean isUsed(Integer id){
//校验是否已经使用
int i= scOrderService.count(new QueryWrapper<ScOrder>().eq("commission_plans_id",id));
return i>0?true:false;
}
} }

@ -14,6 +14,9 @@ import java.util.List;
public interface ISysDeptService extends IService<SysDept> public interface ISysDeptService extends IService<SysDept>
{ {
Boolean haveCourse(Long deptId);
Boolean haveRoom(Long deptId);
/** /**
* *
* *

@ -102,6 +102,7 @@ public class BusinessSysDeptService {
SysDept sysDept = new SysDept(); SysDept sysDept = new SysDept();
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
sysDept.setTenantId(loginUser.getNowTenantId()); sysDept.setTenantId(loginUser.getNowTenantId());
sysDept.setDeptType("2");
List<SysDept> list = deptMapper.selectDeptList(sysDept); List<SysDept> list = deptMapper.selectDeptList(sysDept);
return list.stream().map(RespTreeSelect::new).collect(Collectors.toList()); return list.stream().map(RespTreeSelect::new).collect(Collectors.toList());
} }

@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.constant.UserConstants;
@ -12,6 +13,12 @@ import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.school.course.domain.ScCourse;
import com.ruoyi.school.course.domain.ScCourseCla;
import com.ruoyi.school.course.service.IScCourseClaService;
import com.ruoyi.school.course.service.IScCourseService;
import com.ruoyi.school.room.domain.ScRoom;
import com.ruoyi.school.room.service.IScRoomService;
import com.ruoyi.system.domain.columns.YjStore; import com.ruoyi.system.domain.columns.YjStore;
import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysRoleMapper; import com.ruoyi.system.mapper.SysRoleMapper;
@ -43,6 +50,38 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> imp
@Autowired @Autowired
private YjStoreMapper storeMapper; private YjStoreMapper storeMapper;
@Autowired
private IScCourseService courseService;
@Autowired
private IScCourseClaService claService;
@Autowired
private IScRoomService roomService;
@Override
public Boolean haveCourse(Long deptId){
// 如果已有课程或班级 不允许删除
int courseCount= courseService.count(new QueryWrapper<ScCourse>()
.last(" and JSON_CONTAINS(depart_id, CAST("+deptId+" AS JSON))"));
if (courseCount>0){
return true;
}
int claCount= claService.count(new QueryWrapper<ScCourseCla>()
.eq("depart_id",deptId));
if (claCount>0){
return true;
}
return false;
}
@Override
public Boolean haveRoom(Long deptId){
int romCount= roomService.count(new QueryWrapper<ScRoom>()
.eq("dept_id",deptId));
if (romCount>0){
return true;
}
return false;
}
/** /**
* *
@ -258,6 +297,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> imp
updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors);
} }
int result = deptMapper.updateDept(dept); int result = deptMapper.updateDept(dept);
if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors()) if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors())
&& !StringUtils.equals("0", dept.getAncestors())) && !StringUtils.equals("0", dept.getAncestors()))
{ {
@ -275,6 +315,13 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> imp
} }
if (oldDept.getDeptType().equals("2")&&dept.getDeptType().equals("1")){ if (oldDept.getDeptType().equals("2")&&dept.getDeptType().equals("1")){
//校区 to 部门 //校区 to 部门
if (haveCourse(dept.getDeptId())){
throw new RuntimeException("本校区存在课程或班级,请先删除课程或班级后,再做修改");
}
if (haveRoom(dept.getDeptId()))
{
throw new RuntimeException("本校区的教室或被使用,请先删除教室后,再做修改");
}
storeMapper.deleteYjStoreByDeptId(dept.getDeptId()); storeMapper.deleteYjStoreByDeptId(dept.getDeptId());
} }

@ -47,6 +47,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''"> <if test="status != null and status != ''">
AND status = #{status} AND status = #{status}
</if> </if>
<if test="deptType != null and deptType != ''">
AND dept_type = #{deptType}
</if>
<if test="tenantId != null and tenantId != ''"> <if test="tenantId != null and tenantId != ''">
AND tenant_id = #{tenantId} AND tenant_id = #{tenantId}
</if> </if>

Loading…
Cancel
Save