feat: 收益互换开平仓及收益结算接入OA移动审批
#EQD-6425 国联民生-衍生品系统移动审批(提交OA流程) - 审批节点支持配置“关联OA移动审批” - 创建OA流程并记录请求、requestId、状态及异常备注 - 支持OA轮询同步审批通过、退回和归档状态 - 本地通过、拒绝、撤回时同步强制归档未结束OA流程 - 增加审批列表OA备注展示及本地Mock联调接口 - 新增OA审批记录表和数据库升级脚本 - OA移动审批使用独立查询地址及isnextflow配置,不影响交易确认书OA
This commit is contained in:
@@ -56,6 +56,23 @@ namespace YLErp.Modules.TradeModule.DealModule
|
||||
throw new ServiceException("该交易状态已变更,不能被审批,请先刷新页面");
|
||||
}
|
||||
|
||||
if (!req.isFromOa && (req.status == "pass" || req.status == "reject"))
|
||||
{
|
||||
var currentNode = TradeProcessByCategory(td)
|
||||
.Where(x => x.order == td.ProcessOrderId && (x.node == 0 || x.node == td.ProcessOrderBranch))
|
||||
.OrderByDescending(x => x.node == td.ProcessOrderBranch)
|
||||
.FirstOrDefault();
|
||||
if (currentNode?.isOaApproval == true)
|
||||
{
|
||||
var oa = DbContext.tradeApprovalOaResult.FirstOrDefault(x => x.trade_id == td.id
|
||||
&& x.approval_process_id == currentNode.id
|
||||
&& x.is_valid
|
||||
&& (x.status == "提交成功" || x.status == "同步中" || x.status == "归档中"));
|
||||
if (oa != null && !new TradeApprovalOAService(this).ArchiveForLocalAction(oa, out var errorMessage))
|
||||
throw new ServiceException(errorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
if (req.status == "pass")
|
||||
{
|
||||
return TradePass(req, td);
|
||||
@@ -179,6 +196,13 @@ namespace YLErp.Modules.TradeModule.DealModule
|
||||
return result;
|
||||
}
|
||||
|
||||
// 关联 OA 的节点必须先成功创建 OA 流程,才允许本地审批推进到该节点。
|
||||
if (nextOrder.isOaApproval && td.TradeType == "收益互换")
|
||||
{
|
||||
// OA 创建是节点通过后的外部动作;明确失败只记录在 OA 结果表,不能回滚本地节点通过。
|
||||
new TradeApprovalOAService(this).CreateForNode(td, nextOrder);
|
||||
}
|
||||
|
||||
//-----------------------------------------------
|
||||
// 继续审批流转
|
||||
//-----------------------------------------------
|
||||
@@ -788,6 +812,7 @@ namespace YLErp.Modules.TradeModule.DealModule
|
||||
public bool notNeedOperationHistory;
|
||||
public bool isPartialExercise;
|
||||
public bool isExpire = false;
|
||||
public bool isFromOa;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user