wuzhen update

This commit is contained in:
wuzhen committed 2025-08-13 09:30:59 +08:00
1 parent cf6387f8f7
commit 098776b8c0
3 files changed
+64 -9

No files matched your search

@@ -65,7 +65,7 @@ public class JcbtWorkStudyApplicationCollegeReviewController extends BaseControl
// 设置学院过滤条件 - 只查看本学院学生的申请
bo.setCollegeId(currentUserCollegeId);
// 只查询已提交状态的申请(待学院审核)
// 只查询已提交状态的申请(待学院审核)- 这样审核通过后就不会在待审核列表中显示
bo.setStatus("SUBMITTED");
return workStudyApplicationService.queryPendingCollegeReview(bo, pageQuery);
@@ -309,10 +309,15 @@ public class JcbtWorkStudyApplicationServiceImpl implements IJcbtWorkStudyApplic
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean collegeReview(WorkStudyApplicationReviewBo reviewBo) {
log.info("🔍 [学院审核] 开始审核,申请ID: {}, 审核结果: {}", reviewBo.getApplicationId(), reviewBo.getReviewResult());
JcbtWorkStudyApplication application = baseMapper.selectById(reviewBo.getApplicationId());
if (application == null) {
throw new ServiceException("申请不存在");
}
log.info("🔍 [学院审核] 审核前状态: {}", application.getStatus());
if (!WorkStudyApplicationStatusEnum.SUBMITTED.getCode().equals(application.getStatus())) {
throw new ServiceException("只能审核已提交的申请");
}
@@ -320,20 +325,44 @@ public class JcbtWorkStudyApplicationServiceImpl implements IJcbtWorkStudyApplic
Long currentUserId = LoginHelper.getUserId();
String currentUserName = LoginHelper.getUsername();
// 设置审核信息
application.setCollegeReviewStatus(reviewBo.getReviewResult());
application.setCollegeReviewTime(new Date());
application.setCollegeReviewerId(currentUserId);
application.setCollegeReviewerName(currentUserName);
application.setCollegeReviewComment(reviewBo.getReviewComment());
// 更新总状态
// 设置更新信息
application.setUpdateBy(currentUserId);
application.setUpdateTime(new Date());
// 更新总状态 - 关键修改:确保状态正确更新
String oldStatus = application.getStatus();
if ("APPROVED".equals(reviewBo.getReviewResult())) {
application.setStatus(WorkStudyApplicationStatusEnum.COLLEGE_APPROVED.getCode());
log.info("🔍 [学院审核] 审核通过,状态更新: {} -> {}", oldStatus, WorkStudyApplicationStatusEnum.COLLEGE_APPROVED.getCode());
} else if ("REJECTED".equals(reviewBo.getReviewResult())) {
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
public TableDataInfo<JcbtWorkStudyApplicationVo> queryPendingCollegeReview(JcbtWorkStudyApplicationBo bo, PageQuery pageQuery) {
// 确保只查询已提交状态的申请(待学院审核)
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;
}
/**
@@ -206,7 +206,13 @@ const getList = async () => {
console.log('🔍 [调试] 开始获取待审核申请列表');
console.log('🔍 [调试] 查询参数:', queryParams);
const response = await listPendingApplications(queryParams);
// 添加时间戳防止缓存
const queryParamsWithTimestamp = {
...queryParams,
_t: Date.now()
};
const response = await listPendingApplications(queryParamsWithTimestamp);
console.log('🔍 [调试] API原始响应:', response);
// 根据实际响应格式处理数据
@@ -319,18 +325,28 @@ const submitReview = async () => {
if (!valid) return;
try {
console.log('🔍 [前端调试] 开始提交审核');
console.log('🔍 [前端调试] 审核类型:', reviewDialog.type);
console.log('🔍 [前端调试] 审核表单:', reviewDialog.form);
if (reviewDialog.type === 'single') {
await reviewApplication(reviewDialog.form);
const result = await reviewApplication(reviewDialog.form);
console.log('🔍 [前端调试] 单个审核API响应:', result);
} 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('审核成功');
reviewDialog.visible = false;
getList();
console.log('🔍 [前端调试] 审核成功,开始刷新列表');
await getList(); // 等待列表刷新完成
console.log('🔍 [前端调试] 列表刷新完成');
emit('refresh-statistics');
} catch (error) {
console.error('审核失败:', error);
console.error('🔍 [前端调试] 审核失败:', error);
ElMessage.error('审核失败');
}
};