系统管理部分数据校验

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.ruoyi.common.core.domain.model.LoginUser;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -28,6 +30,9 @@ public class BusinessSysReceiptAccountService {
@Autowired
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;
}
/**
*
*
@ -119,9 +129,12 @@ public class BusinessSysReceiptAccountService {
* @return
*/
public APIResponse deleteById(Long[] accountIds) {
if (null == accountIds || accountIds.length == 0) {
if (null == accountIds || accountIds.length == 0 ) {
return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE);
}
if (isUsed(accountIds)){
return APIResponse.toExceptionResponse("账户已经被使用,无法删除");
}
boolean deleteSysReceiptAccount = sysReceiptAccountService.removeByIds(Arrays.asList(accountIds));
if (deleteSysReceiptAccount) {
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.StrUtil;
import com.ruoyi.school.salary.domain.ScCommissionPlans;
import com.ruoyi.school.salary.service.ScCommissionPlansService;
import cn.xluobo.core.page.RespPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.school.salary.domain.ScCommissionPlans;
import com.ruoyi.school.salary.service.ScCommissionPlansService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@ -22,6 +22,7 @@ public class ScCommissionPlansController {
private final ScCommissionPlansService service;
@PostMapping("list")
public AjaxResult list(@RequestBody Map<String,Object> params){
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){
LoginUser loginUser = SecurityUtils.getLoginUser();
salaryBase.setTenantId(loginUser.getNowTenantId());
if (salaryBase.getIsActive().equals("0")){
if (ObjectUtil.isNotEmpty(salaryBase.getId())){
salaryBase.setIsActive(new Byte("1"));
}
}
service.saveOrUpdate(salaryBase);
return AjaxResult.success();
}
@PostMapping("remove")
public AjaxResult remove(Integer id){
if (service.isUsed(id)){
return AjaxResult.error("方案已经被使用,无法删除");
}
service.removeById(id);
return AjaxResult.success();
}

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

@ -70,6 +70,30 @@ public class SysDept extends BaseEntity
@TableField(exist = false)
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()
{
return deptId;

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

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

@ -1,10 +1,22 @@
package com.ruoyi.school.salary.service;
import com.ruoyi.school.salary.mapper.ScCommissionPlansMapper;
import com.ruoyi.school.salary.domain.ScCommissionPlans;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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;
@Service
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>
{
Boolean haveCourse(Long deptId);
Boolean haveRoom(Long deptId);
/**
*
*

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

@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.annotation.DataScope;
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.StringUtils;
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.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
@ -43,6 +50,38 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> imp
@Autowired
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);
}
int result = deptMapper.updateDept(dept);
if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(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")){
//校区 to 部门
if (haveCourse(dept.getDeptId())){
throw new RuntimeException("本校区存在课程或班级,请先删除课程或班级后,再做修改");
}
if (haveRoom(dept.getDeptId()))
{
throw new RuntimeException("本校区的教室或被使用,请先删除教室后,再做修改");
}
storeMapper.deleteYjStoreByDeptId(dept.getDeptId());
}

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

Loading…
Cancel
Save