Explorar o código

wuzhen update

wuzhen hai 1 ano
pai
achega
098776b8c0

+ 1 - 1
backend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/controller/JcbtWorkStudyApplicationCollegeReviewController.java

@@ -65,7 +65,7 @@ public class JcbtWorkStudyApplicationCollegeReviewController extends BaseControl
         // 设置学院过滤条件 - 只查看本学院学生的申请
         // 设置学院过滤条件 - 只查看本学院学生的申请
         bo.setCollegeId(currentUserCollegeId);
         bo.setCollegeId(currentUserCollegeId);
 
 
-        // 只查询已提交状态的申请(待学院审核)
+        // 只查询已提交状态的申请(待学院审核)- 这样审核通过后就不会在待审核列表中显示
         bo.setStatus("SUBMITTED");
         bo.setStatus("SUBMITTED");
 
 
         return workStudyApplicationService.queryPendingCollegeReview(bo, pageQuery);
         return workStudyApplicationService.queryPendingCollegeReview(bo, pageQuery);

+ 42 - 3
backend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/service/impl/JcbtWorkStudyApplicationServiceImpl.java

@@ -309,10 +309,15 @@ public class JcbtWorkStudyApplicationServiceImpl implements IJcbtWorkStudyApplic
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public Boolean collegeReview(WorkStudyApplicationReviewBo reviewBo) {
     public Boolean collegeReview(WorkStudyApplicationReviewBo reviewBo) {
+        log.info("🔍 [学院审核] 开始审核,申请ID: {}, 审核结果: {}", reviewBo.getApplicationId(), reviewBo.getReviewResult());
+
         JcbtWorkStudyApplication application = baseMapper.selectById(reviewBo.getApplicationId());
         JcbtWorkStudyApplication application = baseMapper.selectById(reviewBo.getApplicationId());
         if (application == null) {
         if (application == null) {
             throw new ServiceException("申请不存在");
             throw new ServiceException("申请不存在");
         }
         }
+
+        log.info("🔍 [学院审核] 审核前状态: {}", application.getStatus());
+
         if (!WorkStudyApplicationStatusEnum.SUBMITTED.getCode().equals(application.getStatus())) {
         if (!WorkStudyApplicationStatusEnum.SUBMITTED.getCode().equals(application.getStatus())) {
             throw new ServiceException("只能审核已提交的申请");
             throw new ServiceException("只能审核已提交的申请");
         }
         }
@@ -320,20 +325,44 @@ public class JcbtWorkStudyApplicationServiceImpl implements IJcbtWorkStudyApplic
         Long currentUserId = LoginHelper.getUserId();
         Long currentUserId = LoginHelper.getUserId();
         String currentUserName = LoginHelper.getUsername();
         String currentUserName = LoginHelper.getUsername();
 
 
+        // 设置审核信息
         application.setCollegeReviewStatus(reviewBo.getReviewResult());
         application.setCollegeReviewStatus(reviewBo.getReviewResult());
         application.setCollegeReviewTime(new Date());
         application.setCollegeReviewTime(new Date());
         application.setCollegeReviewerId(currentUserId);
         application.setCollegeReviewerId(currentUserId);
         application.setCollegeReviewerName(currentUserName);
         application.setCollegeReviewerName(currentUserName);
         application.setCollegeReviewComment(reviewBo.getReviewComment());
         application.setCollegeReviewComment(reviewBo.getReviewComment());
 
 
-        // 更新总状态
+        // 设置更新信息
+        application.setUpdateBy(currentUserId);
+        application.setUpdateTime(new Date());
+
+        // 更新总状态 - 关键修改:确保状态正确更新
+        String oldStatus = application.getStatus();
         if ("APPROVED".equals(reviewBo.getReviewResult())) {
         if ("APPROVED".equals(reviewBo.getReviewResult())) {
             application.setStatus(WorkStudyApplicationStatusEnum.COLLEGE_APPROVED.getCode());
             application.setStatus(WorkStudyApplicationStatusEnum.COLLEGE_APPROVED.getCode());
+            log.info("🔍 [学院审核] 审核通过,状态更新: {} -> {}", oldStatus, WorkStudyApplicationStatusEnum.COLLEGE_APPROVED.getCode());
         } else if ("REJECTED".equals(reviewBo.getReviewResult())) {
         } else if ("REJECTED".equals(reviewBo.getReviewResult())) {
             application.setStatus(WorkStudyApplicationStatusEnum.COLLEGE_REJECTED.getCode());
             application.setStatus(WorkStudyApplicationStatusEnum.COLLEGE_REJECTED.getCode());
+            log.info("🔍 [学院审核] 审核拒绝,状态更新: {} -> {}", oldStatus, WorkStudyApplicationStatusEnum.COLLEGE_REJECTED.getCode());
         }
         }
 
 
-        return baseMapper.updateById(application) > 0;
+        // 使用updateById确保更新
+        boolean result = baseMapper.updateById(application) > 0;
+        log.info("🔍 [学院审核] 数据库更新结果: {}", result ? "成功" : "失败");
+
+                if (result) {
+            // 验证更新后的状态
+            JcbtWorkStudyApplication updatedApplication = baseMapper.selectById(reviewBo.getApplicationId());
+            log.info("🔍 [学院审核] 更新后验证状态: {}, 审核状态: {}", updatedApplication.getStatus(), updatedApplication.getCollegeReviewStatus());
+
+            // 确保状态更新成功
+            if ("APPROVED".equals(reviewBo.getReviewResult()) && !WorkStudyApplicationStatusEnum.COLLEGE_APPROVED.getCode().equals(updatedApplication.getStatus())) {
+                log.error("🔍 [学院审核] 状态更新失败!期望: {}, 实际: {}", WorkStudyApplicationStatusEnum.COLLEGE_APPROVED.getCode(), updatedApplication.getStatus());
+                throw new ServiceException("状态更新失败,请重试");
+            }
+        }
+
+        return result;
     }
     }
 
 
     /**
     /**
@@ -431,8 +460,18 @@ public class JcbtWorkStudyApplicationServiceImpl implements IJcbtWorkStudyApplic
      */
      */
     @Override
     @Override
     public TableDataInfo<JcbtWorkStudyApplicationVo> queryPendingCollegeReview(JcbtWorkStudyApplicationBo bo, PageQuery pageQuery) {
     public TableDataInfo<JcbtWorkStudyApplicationVo> queryPendingCollegeReview(JcbtWorkStudyApplicationBo bo, PageQuery pageQuery) {
+        // 确保只查询已提交状态的申请(待学院审核)
         bo.setStatus(WorkStudyApplicationStatusEnum.SUBMITTED.getCode());
         bo.setStatus(WorkStudyApplicationStatusEnum.SUBMITTED.getCode());
-        return queryPageList(bo, pageQuery);
+        log.info("🔍 [查询待审核] 查询条件 - 状态: {}, 学院ID: {}", bo.getStatus(), bo.getCollegeId());
+
+        TableDataInfo<JcbtWorkStudyApplicationVo> result = queryPageList(bo, pageQuery);
+        log.info("🔍 [查询待审核] 查询结果 - 总数: {}, 当前页数据: {}", result.getTotal(), result.getRows().size());
+
+        if (result.getRows().size() > 0) {
+            log.info("🔍 [查询待审核] 第一条数据状态: {}", result.getRows().get(0).getStatus());
+        }
+
+        return result;
     }
     }
 
 
     /**
     /**

+ 21 - 5
web/src/views/jcbt/workstudy/depreview/components/PendingApplications.vue

@@ -206,7 +206,13 @@ const getList = async () => {
     console.log('🔍 [调试] 开始获取待审核申请列表');
     console.log('🔍 [调试] 开始获取待审核申请列表');
     console.log('🔍 [调试] 查询参数:', queryParams);
     console.log('🔍 [调试] 查询参数:', queryParams);
 
 
-    const response = await listPendingApplications(queryParams);
+    // 添加时间戳防止缓存
+    const queryParamsWithTimestamp = {
+      ...queryParams,
+      _t: Date.now()
+    };
+
+    const response = await listPendingApplications(queryParamsWithTimestamp);
     console.log('🔍 [调试] API原始响应:', response);
     console.log('🔍 [调试] API原始响应:', response);
 
 
     // 根据实际响应格式处理数据
     // 根据实际响应格式处理数据
@@ -319,18 +325,28 @@ const submitReview = async () => {
   if (!valid) return;
   if (!valid) return;
 
 
   try {
   try {
+    console.log('🔍 [前端调试] 开始提交审核');
+    console.log('🔍 [前端调试] 审核类型:', reviewDialog.type);
+    console.log('🔍 [前端调试] 审核表单:', reviewDialog.form);
+
     if (reviewDialog.type === 'single') {
     if (reviewDialog.type === 'single') {
-      await reviewApplication(reviewDialog.form);
+      const result = await reviewApplication(reviewDialog.form);
+      console.log('🔍 [前端调试] 单个审核API响应:', result);
     } else {
     } else {
-      await batchReviewApplications(ids.value, reviewDialog.form.reviewResult, reviewDialog.form.reviewComment);
+      const result = await batchReviewApplications(ids.value, reviewDialog.form.reviewResult, reviewDialog.form.reviewComment);
+      console.log('🔍 [前端调试] 批量审核API响应:', result);
     }
     }
 
 
     ElMessage.success('审核成功');
     ElMessage.success('审核成功');
     reviewDialog.visible = false;
     reviewDialog.visible = false;
-    getList();
+
+    console.log('🔍 [前端调试] 审核成功,开始刷新列表');
+    await getList(); // 等待列表刷新完成
+    console.log('🔍 [前端调试] 列表刷新完成');
+
     emit('refresh-statistics');
     emit('refresh-statistics');
   } catch (error) {
   } catch (error) {
-    console.error('审核失败:', error);
+    console.error('🔍 [前端调试] 审核失败:', error);
     ElMessage.error('审核失败');
     ElMessage.error('审核失败');
   }
   }
 };
 };