refactor: MK流程结算/付款审批回调统一改调service.approve
- 结算/付款 OA handler 不再直置 approved,与开票/收票 handler 对齐走 service.approve 统一入口 - 顺修两处绕过:付款审批补上票据额度联动 useBillBalance,结算审批补上变更记录 - 仅审批中单据可通过,重复 OA 回调被状态校验拒绝,为后续审批事件触发推送保证不重复推送
This commit is contained in:
+26
-9
@@ -4,8 +4,10 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springblade.core.tenant.annotation.TenantIgnore;
|
import org.springblade.core.tenant.annotation.TenantIgnore;
|
||||||
import org.springblade.core.tool.utils.Func;
|
import org.springblade.core.tool.utils.Func;
|
||||||
import org.springblade.transport.pojo.dto.BillPaymentStatusRequest;
|
import org.springblade.transport.pojo.dto.BillPaymentStatusRequest;
|
||||||
|
import org.springblade.transport.pojo.dto.FormalSettlementStatusRequest;
|
||||||
import org.springblade.transport.pojo.dto.InvoiceApplicationStatusRequest;
|
import org.springblade.transport.pojo.dto.InvoiceApplicationStatusRequest;
|
||||||
import org.springblade.transport.pojo.dto.InvoiceReceiptStatusRequest;
|
import org.springblade.transport.pojo.dto.InvoiceReceiptStatusRequest;
|
||||||
|
import org.springblade.transport.pojo.dto.PaymentApplicationStatusRequest;
|
||||||
import org.springblade.transport.pojo.entity.BillPayment;
|
import org.springblade.transport.pojo.entity.BillPayment;
|
||||||
import org.springblade.transport.pojo.entity.ContractManage;
|
import org.springblade.transport.pojo.entity.ContractManage;
|
||||||
import org.springblade.transport.pojo.entity.FormalSettlement;
|
import org.springblade.transport.pojo.entity.FormalSettlement;
|
||||||
@@ -311,11 +313,18 @@ public final class MkProcessBizHandlers {
|
|||||||
if (entity == null || "approved".equals(entity.getApprovalStatus())) {
|
if (entity == null || "approved".equals(entity.getApprovalStatus())) {
|
||||||
return entity != null;
|
return entity != null;
|
||||||
}
|
}
|
||||||
entity.setApprovalStatus("approved");
|
// 统一走 service.approve:与手动审批同一入口(补变更记录),审批事务提交后自动触发金蝶推送事件;
|
||||||
entity.setCurrentNode("审核通过");
|
// 仅审批中单据允许通过,重复回调被状态校验拒绝,不重复推送
|
||||||
entity.setCurrentProcessor(MkProcessNodeHelper.text(processorName, "系统"));
|
FormalSettlementStatusRequest request = new FormalSettlementStatusRequest();
|
||||||
entity.setApprovedTime(LocalDateTime.now());
|
request.setId(id);
|
||||||
return service.updateById(entity);
|
service.approve(request);
|
||||||
|
FormalSettlement updated = service.getById(id);
|
||||||
|
if (updated != null) {
|
||||||
|
updated.setCurrentNode("审核通过");
|
||||||
|
updated.setCurrentProcessor(MkProcessNodeHelper.text(processorName, "系统"));
|
||||||
|
service.updateById(updated);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -374,10 +383,18 @@ public final class MkProcessBizHandlers {
|
|||||||
if (entity == null || "approved".equals(entity.getApprovalStatus())) {
|
if (entity == null || "approved".equals(entity.getApprovalStatus())) {
|
||||||
return entity != null;
|
return entity != null;
|
||||||
}
|
}
|
||||||
entity.setApprovalStatus("approved");
|
// 统一走 service.approve:与手动审批同一入口(补票据额度联动 useBillBalance),审批事务提交后自动触发金蝶推送事件;
|
||||||
entity.setCurrentNode("审核通过");
|
// 仅审批中单据允许通过,重复回调被状态校验拒绝,不重复推送
|
||||||
entity.setCurrentProcessor(MkProcessNodeHelper.text(processorName, "系统"));
|
PaymentApplicationStatusRequest request = new PaymentApplicationStatusRequest();
|
||||||
return service.updateById(entity);
|
request.setId(id);
|
||||||
|
service.approve(request);
|
||||||
|
PaymentApplication updated = service.getById(id);
|
||||||
|
if (updated != null) {
|
||||||
|
updated.setCurrentNode("审核通过");
|
||||||
|
updated.setCurrentProcessor(MkProcessNodeHelper.text(processorName, "系统"));
|
||||||
|
service.updateById(updated);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user