Parcourir la source

1、查询时,查询未被删除的数据
2、新增时,增加查重验证并关联学籍表查询出来班级id

dzx142631 il y a 2 ans
Parent
commit
b5a5d490b9

+ 26 - 4
src/main/java/com/xjrsoft/module/student/controller/BaseStudentCadreController.java

@@ -7,7 +7,9 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
@@ -23,6 +25,7 @@ import com.xjrsoft.module.student.entity.BaseStudent;
 import com.xjrsoft.module.student.entity.BaseStudentCadre;
 import com.xjrsoft.module.student.entity.BaseStudentPost;
 import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
+import com.xjrsoft.module.student.mapper.BaseStudentSchoolRollMapper;
 import com.xjrsoft.module.student.service.IBaseStudentCadreService;
 import com.xjrsoft.module.student.vo.BaseStudentCadrePageVo;
 import com.xjrsoft.module.student.vo.BaseStudentCadreVo;
@@ -59,6 +62,7 @@ public class BaseStudentCadreController {
 
 
     private final IBaseStudentCadreService baseStudentCadreService;
+    private final BaseStudentSchoolRollMapper baseStudentSchoolRollMapper;
 
     @GetMapping(value = "/page")
     @ApiOperation(value="学生干部管理列表(分页)")
@@ -74,6 +78,7 @@ public class BaseStudentCadreController {
                 .eq(ObjectUtil.isNotEmpty(dto.getGradeId()), BaseStudentSchoolRoll::getGradeId, dto.getGradeId())
                 .eq(ObjectUtil.isNotEmpty(dto.getMajorSetId()), BaseStudentSchoolRoll::getMajorSetId, dto.getMajorSetId())
                 .eq(ObjectUtil.isNotEmpty(dto.getLevel()), BaseStudentPost::getLevel, dto.getLevel())
+                .eq(BaseStudentCadre::getDeleteMark, DeleteMark.NODELETE.getCode())
                 .between(ObjectUtil.isNotNull(dto.getStartTimeStart()) && ObjectUtil.isNotNull(dto.getStartTimeEnd()), BaseStudentCadre::getStartTime,dto.getStartTimeStart(),dto.getStartTimeEnd())
                 .between(ObjectUtil.isNotNull(dto.getEndTimeStart()) && ObjectUtil.isNotNull(dto.getEndTimeEnd()), BaseStudentCadre::getEndTime,dto.getEndTimeStart(),dto.getEndTimeEnd())
                 .orderByDesc(BaseStudentCadre::getId)
@@ -91,9 +96,9 @@ public class BaseStudentCadreController {
                 .innerJoin(XjrUser.class, XjrUser::getId, BaseStudentCadre::getUserId)
                 .innerJoin(BaseStudent.class, BaseStudent::getUserId, BaseStudentCadre::getUserId)
                 .innerJoin(BaseStudentPost.class, BaseStudentPost::getId, BaseStudentCadre::getPostId)
-                .innerJoin(BaseClass.class, BaseClass::getId, BaseStudentCadre::getClassId)
-                .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, BaseStudentCadre::getUserId)
-                .innerJoin(Department.class, Department::getId, BaseClass::getOrgId)
+                .leftJoin(BaseClass.class, BaseClass::getId, BaseStudentCadre::getClassId)
+                .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, BaseStudentCadre::getUserId)
+                .leftJoin(Department.class, Department::getId, BaseClass::getOrgId)
                 .leftJoin(BaseMajorSet.class, BaseMajorSet::getId, BaseStudentSchoolRoll::getMajorSetId)
                 .leftJoin(BaseGrade.class, BaseGrade::getId, BaseStudentSchoolRoll::getGradeId);
 
@@ -118,7 +123,24 @@ public class BaseStudentCadreController {
     @ApiOperation(value = "新增学生干部管理")
     @SaCheckPermission("basestudentcadre:add")
     public RT<Boolean> add(@Valid @RequestBody List<AddBaseStudentCadreDto> dto){
-        List<BaseStudentCadre> baseStudentCadreList = BeanUtil.copyToList(dto, BaseStudentCadre.class);
+        //循环判定,是否已经存在于数据库,并查询出班级id
+        List<AddBaseStudentCadreDto> addDtoList = new ArrayList<>();
+        for (AddBaseStudentCadreDto baseStudentCadreDto : dto) {
+            BaseStudentCadre one = baseStudentCadreService.getOne(
+                    Wrappers.lambdaQuery(BaseStudentCadre.class)
+                            .eq(BaseStudentCadre::getUserId, baseStudentCadreDto.getUserId())
+                            .eq(BaseStudentCadre::getPostId, baseStudentCadreDto.getPostId())
+            );
+            BaseStudentSchoolRoll baseStudentSchoolRoll = baseStudentSchoolRollMapper.selectOne(Wrappers.lambdaQuery(BaseStudentSchoolRoll.class).eq(BaseStudentSchoolRoll::getUserId, baseStudentCadreDto.getUserId()));
+            if(ObjectUtil.isNotNull(one)){
+                continue;
+            }
+            if(ObjectUtil.isNotNull(baseStudentSchoolRoll)){
+                baseStudentCadreDto.setClassId(baseStudentSchoolRoll.getClassId());
+            }
+            addDtoList.add(baseStudentCadreDto);
+        }
+        List<BaseStudentCadre> baseStudentCadreList = BeanUtil.copyToList(addDtoList, BaseStudentCadre.class);
         boolean isSuccess = baseStudentCadreService.add(baseStudentCadreList);
         return RT.ok(isSuccess);
     }