DESKTOP-USV654P\pc 1 rok pred
rodič
commit
134540bfc8

+ 16 - 6
src/main/java/com/xjrsoft/module/student/controller/BaseStudentCadreController.java

@@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.support.ExcelTypeEnum;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -130,9 +131,8 @@ public class BaseStudentCadreController {
             PageOutput<BaseStudentCadrePageVo> result = ConventPage.getPageOutputNull(BaseStudentCadrePageVo.class);
             return RT.ok(result);
         }
-        IPage<BaseStudentCadrePageVo> page = baseStudentCadreService.selectJoinListPage(ConventPage.getPage(dto), BaseStudentCadrePageVo.class,
-                MPJWrappers.<BaseStudentCadre>lambdaJoin()
-                .like(StrUtil.isNotBlank(dto.getUserName()), XjrUser::getName, dto.getUserName())
+        MPJLambdaWrapper<BaseStudentCadre> wrapper = new MPJLambdaWrapper<>();
+        wrapper.like(StrUtil.isNotBlank(dto.getUserName()), XjrUser::getName, dto.getUserName())
                 .eq(ObjectUtil.isNotEmpty(dto.getClassId()), BaseStudentCadre::getClassId, dto.getClassId())
                 .eq(ObjectUtil.isNotEmpty(dto.getPostId()), BaseStudentCadre::getPostId, dto.getPostId())
                 .eq(ObjectUtil.isNotEmpty(dto.getLevel()), BaseStudentPost::getLevel, dto.getLevel())
@@ -141,7 +141,7 @@ public class BaseStudentCadreController {
                 .orderByDesc(BaseStudentCadre::getId)
                 .selectAs(BaseStudent::getStudentId, BaseStudentCadrePageVo::getStudentId)
                 .selectAs(XjrUser::getName, BaseStudentCadrePageVo::getUserName)
-                .selectAs(Department::getName, BaseStudentCadrePageVo::getOrgName)
+                //.selectAs(Department::getName, BaseStudentCadrePageVo::getOrgName)
                 .selectAs(BaseClass::getName, BaseStudentCadrePageVo::getClassName)
                 .selectAs(BaseStudentPost::getPost, BaseStudentCadrePageVo::getPost)
                 .selectAs(BaseStudentPost::getLevel, BaseStudentCadrePageVo::getLevel)
@@ -151,8 +151,17 @@ public class BaseStudentCadreController {
                 .innerJoin(BaseStudent.class, BaseStudent::getUserId, BaseStudentCadre::getUserId)
                 .innerJoin(BaseStudentPost.class, BaseStudentPost::getId, BaseStudentCadre::getPostId)
                 .leftJoin(BaseClass.class, BaseClass::getId, BaseStudentCadre::getClassId)
-                .leftJoin(Department.class, Department::getId, BaseStudentCadre::getOrgId)
-                .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, BaseStudentCadre::getUserId)
+                //.leftJoin( Department.class, Department::getId, BaseStudentCadre::getOrgId)
+                .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, BaseStudentCadre::getUserId);
+
+        // 没传ClassID 不用查部门
+        if(ObjectUtil.isAllNotEmpty(dto.getClassId())&&dto.getClassId()>0) {
+            wrapper.selectAs(Department::getName, BaseStudentCadrePageVo::getOrgName)
+                    .leftJoin(Department.class, Department::getId, BaseStudentCadre::getOrgId);
+        }
+
+        IPage<BaseStudentCadrePageVo> page = baseStudentCadreService.selectJoinListPage(ConventPage.getPage(dto), BaseStudentCadrePageVo.class,
+                wrapper
         );
 
         PageOutput<BaseStudentCadrePageVo> pageOutput = ConventPage.getPageOutput(page, BaseStudentCadrePageVo.class);
@@ -180,6 +189,7 @@ public class BaseStudentCadreController {
         for (AddBaseStudentCadreDto baseStudentCadreDto : dto) {
             List<BaseStudentCadre> list = baseStudentCadreService.list(
                     Wrappers.lambdaQuery(BaseStudentCadre.class)
+
                             .eq(BaseStudentCadre::getUserId, baseStudentCadreDto.getUserId())
                             .eq(BaseStudentCadre::getPostId, baseStudentCadreDto.getPostId())
             );