Prechádzať zdrojové kódy

导入自治区表添加外键学院id

houlai 11 mesiacov pred
rodič
commit
ad578dcbb2

+ 1 - 0
yudao-module-as/yudao-module-as-api/src/main/java/cn/iocoder/yudao/module/as/enums/ErrorCodeConstants.java

@@ -13,6 +13,7 @@ public interface ErrorCodeConstants {
     ErrorCode AIDING_STUDENTS_IMPORT_LIST_NOT_EXISTS = new ErrorCode(2_009_000_005,  "自治区名单中该学生不存在");
     ErrorCode AIDING_STUDENTS_IMPORT_LIST_IS_NULL = new ErrorCode(2_009_000_006,  "excel表解析为空");
     ErrorCode AIDING_STUDENTS_IMPORT_LIST_STUDENT_EXISTS = new ErrorCode(2_009_000_007,  "自治区名单中该学生已存在");
+    ErrorCode AIDING_STUDENTS_IMPORT_LIST_STUDENT_CODE_NOT_EXISTS = new ErrorCode(2_009_000_008,  "系统中不存在该学生学号");
 
 
 }

+ 8 - 0
yudao-module-as/yudao-module-as-biz/pom.xml

@@ -54,6 +54,14 @@
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-excel</artifactId>
         </dependency>
+
+        <!--biz模块依赖-->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-system-biz</artifactId>
+            <version>2.1.0-jdk8-snapshot</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 </project>

+ 2 - 2
yudao-module-as/yudao-module-as-biz/src/main/java/cn/iocoder/yudao/module/as/controller/admin/aidingstudentsimportlist/AidingStudentsImportListController.java

@@ -74,9 +74,9 @@ public class AidingStudentsImportListController {
     @GetMapping("/page")
     @Operation(summary = "获得贫困学生自治区名单导入管理分页")
     @PreAuthorize("@ss.hasPermission('as:aiding-students-import-list:query')")
-    public CommonResult<PageResult<AidingStudentsImportListRespVO>> getAidingStudentsCollegeManagePage(@Valid AidingStudentsImportListPageResqVO pageReqVO, @RequestParam(value = "aidingStudentsManageId", required = false) Long aidingStudentsManageId) {
+    public CommonResult<PageResult<AidingStudentsImportListRespVO>> getAidingStudentsCollegeManagePage(@Valid AidingStudentsImportListPageResqVO pageReqVO) {
         PageResult<AidingStudentsImportExcelListDO> pageResult =
-                aidingStudentsImportListService.getAidingStudentsImportListPage(pageReqVO, aidingStudentsManageId);
+                aidingStudentsImportListService.getAidingStudentsImportListPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, AidingStudentsImportListRespVO.class));
     }
 

+ 6 - 0
yudao-module-as/yudao-module-as-biz/src/main/java/cn/iocoder/yudao/module/as/controller/admin/aidingstudentsimportlist/vo/AidingStudentsImportListPageResqVO.java

@@ -41,5 +41,11 @@ public class AidingStudentsImportListPageResqVO extends PageParam {
     @Schema(description = "类型")
     private String studentType;
 
+    @Schema(description = "助学学校项目id")
+    private Long asAidingStudentsManageId;
+
+    @Schema(description = "学院id")
+    private Long collegeId;
+
 
 }

+ 6 - 0
yudao-module-as/yudao-module-as-biz/src/main/java/cn/iocoder/yudao/module/as/dal/dataobject/aidingstudentsimportlist/AidingStudentsImportExcelListDO.java

@@ -24,6 +24,12 @@ public class AidingStudentsImportExcelListDO extends BaseDO {
      */
     private Long asAidingStudentsManageId;
 
+
+    /**
+     * 学院id
+     */
+    private Long collegeId;
+
     /**
      * 学生姓名
      */

+ 3 - 2
yudao-module-as/yudao-module-as-biz/src/main/java/cn/iocoder/yudao/module/as/dal/mysql/aidingstudentsimportlist/AidingStudentsImportListMapper.java

@@ -9,9 +9,10 @@ import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface AidingStudentsImportListMapper extends BaseMapperX<AidingStudentsImportExcelListDO> {
-    default PageResult<AidingStudentsImportExcelListDO> selectPage(AidingStudentsImportListPageResqVO reqVO, Long asAidingStudentsManageId) {
+    default PageResult<AidingStudentsImportExcelListDO> selectPage(AidingStudentsImportListPageResqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<AidingStudentsImportExcelListDO>()
-                .eqIfPresent(AidingStudentsImportExcelListDO::getAsAidingStudentsManageId, asAidingStudentsManageId)
+                .eqIfPresent(AidingStudentsImportExcelListDO::getCollegeId, reqVO.getCollegeId())
+                .eqIfPresent(AidingStudentsImportExcelListDO::getAsAidingStudentsManageId, reqVO.getAsAidingStudentsManageId())
                 .eqIfPresent(AidingStudentsImportExcelListDO::getStudentName, reqVO.getStudentName())
                 .eqIfPresent(AidingStudentsImportExcelListDO::getStudentSex, reqVO.getStudentSex())
                 .eqIfPresent(AidingStudentsImportExcelListDO::getStudentAge, reqVO.getStudentAge())

+ 1 - 1
yudao-module-as/yudao-module-as-biz/src/main/java/cn/iocoder/yudao/module/as/service/aidingstudentsimportlist/AidingStudentsImportListService.java

@@ -48,7 +48,7 @@ public interface AidingStudentsImportListService {
      * @param //pageReqVO 分页查询
      * @return 贫困学生自治区名单分页
      */
-    PageResult<AidingStudentsImportExcelListDO> getAidingStudentsImportListPage(AidingStudentsImportListPageResqVO pageReqVO,Long asAidingStudentsManageId);
+    PageResult<AidingStudentsImportExcelListDO> getAidingStudentsImportListPage(AidingStudentsImportListPageResqVO pageReqVO);
 
     AidingStudentsImportExcelRespVO aidingStudentsImportExcelList(Long aidingStudentsManageId,String redisUUID);
 

+ 39 - 4
yudao-module-as/yudao-module-as-biz/src/main/java/cn/iocoder/yudao/module/as/service/aidingstudentsimportlist/AidingStudentsImportListServiceImpl.java

@@ -11,6 +11,10 @@ import cn.iocoder.yudao.module.as.dal.dataobject.aidingstudentsimportlist.Aiding
 import cn.iocoder.yudao.module.as.dal.mysql.aidingstudentsimportlist.AidingStudentsImportListMapper;
 import cn.iocoder.yudao.module.as.dal.redis.aidingstudentsimportlist.AidingStudentsImportListRedisDAO;
 
+import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
+import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
+import cn.iocoder.yudao.module.system.dal.mysql.dept.DeptMapper;
+import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -36,13 +40,21 @@ public class AidingStudentsImportListServiceImpl implements AidingStudentsImport
     private AidingStudentsImportListMapper aidingStudentsImportListMapper;
     @Resource
     private AidingStudentsImportListRedisDAO aidingStudentsImportListRedisDAO;
+    @Resource
+    private AdminUserMapper userMapper;
+
+    @Resource
+    private DeptMapper deptMapper;
 
     @Override
     public Long createAidingStudentsImportList(AidingStudentsImportListSaveReqVO createReqVO, Long aidingStudentsManageId) {
-        // 插入
+        // 转换为DO
         AidingStudentsImportExcelListDO aidingStudentsImportListDO = BeanUtils.toBean(createReqVO, AidingStudentsImportExcelListDO.class);
+        //set项目id和学院id
         aidingStudentsImportListDO.setAsAidingStudentsManageId(aidingStudentsManageId);
-        if (checkStudentCodeExists(aidingStudentsImportListDO.getStudentIdNumber(),aidingStudentsManageId)) {
+        aidingStudentsImportListDO.setCollegeId(getCollegeIdByStudentCode(aidingStudentsImportListDO.getStudentCode()));
+
+        if (checkStudentCodeExists(aidingStudentsImportListDO.getStudentCode(),aidingStudentsManageId)) {
             throw exception(AIDING_STUDENTS_IMPORT_LIST_STUDENT_EXISTS);
         }
         aidingStudentsImportListMapper.insert(aidingStudentsImportListDO);
@@ -95,8 +107,8 @@ public class AidingStudentsImportListServiceImpl implements AidingStudentsImport
 
 
     @Override
-    public PageResult<AidingStudentsImportExcelListDO> getAidingStudentsImportListPage(AidingStudentsImportListPageResqVO pageReqVO,Long asAidingStudentsManageId) {
-        return aidingStudentsImportListMapper.selectPage(pageReqVO,asAidingStudentsManageId);
+    public PageResult<AidingStudentsImportExcelListDO> getAidingStudentsImportListPage(AidingStudentsImportListPageResqVO pageReqVO) {
+        return aidingStudentsImportListMapper.selectPage(pageReqVO);
     }
 
 
@@ -162,6 +174,8 @@ public class AidingStudentsImportListServiceImpl implements AidingStudentsImport
             }
             //赋值给外键
             aidingStudentsImportEecleListDO.setAsAidingStudentsManageId(asAidingStudentsManageId);
+            aidingStudentsImportEecleListDO.setCollegeId(getCollegeIdByStudentCode(aidingStudentsImportEecleListDO.getStudentCode()));
+
             if (checkStudentCodeExists(aidingStudentsImportEecleListDO.getStudentCode(),asAidingStudentsManageId)) {
                 respVO.getFailureStudentNames().put(aidingStudentsImportEecleListDO.getStudentName(), "该学生已导入过一次");
                 return;
@@ -218,6 +232,8 @@ public class AidingStudentsImportListServiceImpl implements AidingStudentsImport
                 }
                 // 赋值给外键
                 aidingStudentsImportEecleListDO.setAsAidingStudentsManageId(aidingStudentsManageId);
+                aidingStudentsImportEecleListDO.setCollegeId(getCollegeIdByStudentCode(aidingStudentsImportEecleListDO.getStudentCode()));
+
                 //数据库不存在,直接插入
                 if(!checkStudentCodeExists(aidingStudentsImportEecleListDO.getStudentCode(),aidingStudentsManageId)){
                     aidingStudentsImportListMapper.insert(aidingStudentsImportEecleListDO);
@@ -244,4 +260,23 @@ public class AidingStudentsImportListServiceImpl implements AidingStudentsImport
         }
 
     }
+
+    //根据学号查学院id
+    public Long getCollegeIdByStudentCode(String studentCode){
+        AdminUserDO adminUserDO = userMapper.selectByUsername(studentCode);
+        if (adminUserDO == null){
+            throw exception(AIDING_STUDENTS_IMPORT_LIST_STUDENT_CODE_NOT_EXISTS);
+        }
+        //循环查询父级部门
+        DeptDO deptDO = new DeptDO();
+        Long parentId = deptMapper.selectById(adminUserDO.getDeptId()).getParentId();
+        while (parentId != 0) {
+             deptDO = deptMapper.selectById(parentId);
+            parentId= deptDO.getParentId();
+        }
+        return deptDO.getId();
+    }
+
+
+
 }