Browse Source

删除操行项目时查询是否有操行记录,如果有不能删除

dzx 1 year ago
parent
commit
77adc1ccb5

+ 12 - 15
src/main/java/com/xjrsoft/module/student/controller/BaseStudentBehaviorProjectController.java

@@ -1,41 +1,38 @@
 package com.xjrsoft.module.student.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.yulichang.query.MPJQueryWrapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
-import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.utils.TreeUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
-import com.xjrsoft.module.organization.vo.PostTreeVo;
 import com.xjrsoft.module.student.dto.AddBaseStudentBehaviorProjectDto;
-import com.xjrsoft.module.student.dto.UpdateBaseStudentBehaviorProjectDto;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-
 import com.xjrsoft.module.student.dto.BaseStudentBehaviorProjectPageDto;
+import com.xjrsoft.module.student.dto.UpdateBaseStudentBehaviorProjectDto;
 import com.xjrsoft.module.student.entity.BaseStudentBehaviorProject;
 import com.xjrsoft.module.student.service.IBaseStudentBehaviorCategoryService;
 import com.xjrsoft.module.student.service.IBaseStudentBehaviorProjectService;
 import com.xjrsoft.module.student.vo.BaseStudentBehaviorProjectPageVo;
-
 import com.xjrsoft.module.student.vo.BaseStudentBehaviorProjectTreeVo;
 import com.xjrsoft.module.student.vo.BaseStudentBehaviorProjectVo;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -134,7 +131,7 @@ public class BaseStudentBehaviorProjectController {
     @ApiOperation(value = "删除学生操行分考核项目")
     @SaCheckPermission("basestudentbehaviorproject:delete")
     public RT<Boolean> delete(@Valid @RequestBody List<Long> ids) {
-        return RT.ok(baseStudentBehaviorProjectService.removeBatchByIds(ids));
+        return RT.ok(baseStudentBehaviorProjectService.deleteDeepByIds(ids));
 
     }
 

+ 7 - 2
src/main/java/com/xjrsoft/module/student/service/IBaseStudentBehaviorProjectService.java

@@ -1,9 +1,8 @@
 package com.xjrsoft.module.student.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.student.entity.BaseStudentBehaviorProject;
-import lombok.Data;
+
 import java.util.List;
 
 /**
@@ -14,4 +13,10 @@ import java.util.List;
 */
 
 public interface IBaseStudentBehaviorProjectService extends MPJBaseService<BaseStudentBehaviorProject> {
+
+    /**
+     * 删除
+     *
+     */
+    Boolean deleteDeepByIds(List<Long> ids);
 }

+ 26 - 5
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentBehaviorProjectServiceImpl.java

@@ -1,17 +1,21 @@
 package com.xjrsoft.module.student.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.common.exception.MyException;
+import com.xjrsoft.module.student.entity.BaseStudentBehaviorManage;
 import com.xjrsoft.module.student.entity.BaseStudentBehaviorProject;
+import com.xjrsoft.module.student.entity.BaseStudentCadre;
+import com.xjrsoft.module.student.mapper.BaseStudentBehaviorClassRelationMapper;
+import com.xjrsoft.module.student.mapper.BaseStudentBehaviorManageMapper;
 import com.xjrsoft.module.student.mapper.BaseStudentBehaviorProjectMapper;
+import com.xjrsoft.module.student.mapper.BaseStudentBehaviorStudentRelationMapper;
 import com.xjrsoft.module.student.service.IBaseStudentBehaviorProjectService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
+
 import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 
 /**
 * @title: 学生操行分考核项目
@@ -22,4 +26,21 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 @Service
 @AllArgsConstructor
 public class BaseStudentBehaviorProjectServiceImpl extends MPJBaseServiceImpl<BaseStudentBehaviorProjectMapper, BaseStudentBehaviorProject> implements IBaseStudentBehaviorProjectService {
+    private final BaseStudentBehaviorProjectMapper baseStudentBehaviorProjectMapper;
+    private final BaseStudentBehaviorManageMapper baseStudentBehaviorManageMapper;
+    @Override
+    public Boolean deleteDeepByIds(List<Long> ids) {
+        //查询是否有操行记录
+        QueryWrapper<BaseStudentBehaviorManage> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("base_student_behavior_project_id", ids);
+        Long count = baseStudentBehaviorManageMapper.selectCount(queryWrapper);
+        if(ObjectUtil.isNotNull(count) && count > 0){
+            throw new MyException("该考核项目下已有操行记录,无法删除");
+        }
+
+        //删除操行记录下面的学生
+        //删除操行记录下面的班级
+        baseStudentBehaviorProjectMapper.deleteBatchIds(ids);
+        return true;
+    }
 }