From 0981eaaf52e38ab5012a5d2804751d7e0063c5f3 Mon Sep 17 00:00:00 2001 From: yangxinyu Date: Mon, 15 Dec 2025 16:44:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:BPM=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/course/api/CourseManageApi.java | 13 ++++++--- .../module/course/dao/CourseHRBPAuditDao.java | 1 + .../module/course/entity/CourseHRBPAudit.java | 22 +++++++++++++++ .../service/ICourseHRBPAuditService.java | 5 ++++ .../impl/CourseHRBPAuditServiceImpl.java | 28 +++++++++++++++++++ 5 files changed, 65 insertions(+), 4 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java index ab20dc98..bacd188a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java @@ -772,14 +772,19 @@ public class CourseManageApi extends ApiBaseController{ } /** * 25.12.12新增,审核完成的回调接口 + * 注意需和项目经理核对: + * boe_course_HRBP_audit表里没有直接对应的字段,原表auditUser和lastAuditUser,原表auditRemark/lastRemark和auditComment */ @PostMapping("/audit/callback") public JsonResponse callbackBPM(@RequestBody BPMCallbackDto dto){ try { - - - return success(""); - + if(StringUtils.isBlank(dto.getAuditId())) + { + log.error("BPM回调失败:auditId不能为空"); + return error("auditId不能为空"); + } + hrbpAuditService.bpmRecallUpdate(dto); + return success("BPM回调成功"); } catch (Exception e) { log.error("回调错误",e); return error("error"); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseHRBPAuditDao.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseHRBPAuditDao.java index 8f14bad0..ff635455 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseHRBPAuditDao.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseHRBPAuditDao.java @@ -1,5 +1,6 @@ package com.xboe.module.course.dao; +import com.xboe.module.course.dto.BPMCallbackDto; import org.springframework.stereotype.Repository; import com.xboe.core.orm.BaseDao; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseHRBPAudit.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseHRBPAudit.java index 69fd9594..1d896371 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseHRBPAudit.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseHRBPAudit.java @@ -141,6 +141,28 @@ public class CourseHRBPAudit extends IdEntity { @Column(name = "last_remark") private String lastRemark; + /** + * 25.12.15新增 + * 审核类型 + */ + @Column(name = "audit_type") + private Integer auditType; + + /** + * 25.12.15新增 + * 审核结果 + * 1通过,0驳回 + */ + @Column(name = "audit_result") + private Integer auditResult; + + /** + * 25.12.15新增 + * 审核流程Id + */ + @Column(name = "audit_id") + private String auditId; + @Transient private String courseName; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseHRBPAuditService.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseHRBPAuditService.java index e6f83feb..9f9075d3 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseHRBPAuditService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseHRBPAuditService.java @@ -4,6 +4,7 @@ package com.xboe.module.course.service; import java.util.List; import com.xboe.common.PageList; +import com.xboe.module.course.dto.BPMCallbackDto; import com.xboe.module.course.dto.CourseHRBPAuditDto; import com.xboe.module.course.entity.CourseHRBPAudit; @@ -11,6 +12,10 @@ import com.xboe.module.course.entity.CourseHRBPAudit; * 人员课程审核 * */ public interface ICourseHRBPAuditService { + /** + * BPM回调更新 + * */ + void bpmRecallUpdate(BPMCallbackDto dto); /** * 提交审核 diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseHRBPAuditServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseHRBPAuditServiceImpl.java index f4d6bcce..f1a38ab5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseHRBPAuditServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseHRBPAuditServiceImpl.java @@ -5,6 +5,8 @@ import java.util.List; import javax.annotation.Resource; +import com.xboe.core.orm.UpdateBuilder; +import com.xboe.module.course.dto.BPMCallbackDto; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -19,6 +21,7 @@ import com.xboe.module.course.entity.CourseHRBPAudit; import com.xboe.module.course.service.ICourseHRBPAuditService; import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; @Slf4j @Service @@ -26,6 +29,31 @@ public class CourseHRBPAuditServiceImpl implements ICourseHRBPAuditService { @Resource CourseHRBPAuditDao courseHRBPAuditDao; + /** + * BPM回调后更新审批结果 + * @param dto + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void bpmRecallUpdate(BPMCallbackDto dto){ + if(dto.getAuditResult().equals("success")){ + courseHRBPAuditDao.update( + UpdateBuilder.from(CourseHRBPAudit.class) + .addUpdateField("auditResult", 1) + .addFilter(FieldFilters.eq("auditId", dto.getAuditId())) + .builder() + ); + }else{ + courseHRBPAuditDao.update( + UpdateBuilder.from(CourseHRBPAudit.class) + .addUpdateField("auditResult", 0) + .addUpdateField("auditRemark", dto.getAuditComment()) + .addUpdateField("auditUser", dto.getLastAuditUser()) + .addFilter(FieldFilters.eq("auditId", dto.getAuditId())) + .builder() + ); + } + } @Override public void save(CourseHRBPAudit coursePersonAudit) {