BE插件触发事件模板
public void Notify(params object[] args)
{
if ((args is not null) && (args.Length is not 0) && (args[0] is EntityEvent @event))
{
BusinessEntity.EntityKey key = @event.EntityKey;
if(key is null) return;
var head = key.GetEntity() as SM.SO.SO;
//string EventName = ((EntityEvent)(args[0])).Name; // 通过命名空间判断时使用
if (key.GetEntity() is not SM.SO.SO DocData) return;
switch (DocData.SysState)
{
case ObjectState.Updated: // 修改
// 提交操作
if (head.Status == SODocStatusEnum.Approving && head.OriginalData.Status == SODocStatusEnum.Open)
if (head.TradePath is null || head.CooperateStep.Value is 0 or -1)
CallOA(head);
break;
case ObjectState.NotExist: // 不存在
case ObjectState.Unchanged: // 未改变状态
case ObjectState.Unknown: // 未知状态
case ObjectState.Inserted: // 新增
case ObjectState.Deleted: // 删除
case ObjectState.Operating: // 操作
case ObjectState.NeedLoad: // 加载时
default: break;
}
}
}
版权声明:
本文严禁转载,引用或转载文章前请先联系博主!