|
|
|
@ -155,37 +155,55 @@ namespace BP.WF
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
GenerWorkFlow gwf = new GenerWorkFlow(this.WorkID);
|
|
|
|
|
BP.WF.Node nd = new Node();
|
|
|
|
|
nd.NodeID = gwf.NodeID;
|
|
|
|
|
if (nd.RetrieveFromDBSources() == 0)
|
|
|
|
|
{
|
|
|
|
|
Glo.AddToTrack(ActionType.DeleteFlowByFlag, gwf.FlowNo, this.WorkID, this.FID, gwf.NodeID,gwf.NodeName, WebUser.No, WebUser.Name, gwf.NodeID, gwf.NodeName, WebUser.No, WebUser.Name, msg, null);
|
|
|
|
|
//更新-流程数据表的状态.
|
|
|
|
|
string sql = "UPDATE " + this.HisFlow.PTable + " SET WFState=" + (int)WFState.Delete + " WHERE OID=" + this.WorkID;
|
|
|
|
|
DBAccess.RunSQL(sql);
|
|
|
|
|
|
|
|
|
|
BP.WF.Node nd = new Node(gwf.NodeID);
|
|
|
|
|
Work wk = nd.HisWork;
|
|
|
|
|
wk.OID = this.WorkID;
|
|
|
|
|
wk.RetrieveFromDBSources();
|
|
|
|
|
//删除他的工作者,不让其有待办.
|
|
|
|
|
sql = "DELETE FROM WF_GenerWorkerlist WHERE WorkID=" + this.WorkID;
|
|
|
|
|
DBAccess.RunSQL(sql);
|
|
|
|
|
|
|
|
|
|
//定义workNode.
|
|
|
|
|
WorkNode wn = new WorkNode(wk, nd);
|
|
|
|
|
//设置产生的工作流程为.
|
|
|
|
|
gwf.WFState = BP.WF.WFState.Delete;
|
|
|
|
|
gwf.Update();
|
|
|
|
|
|
|
|
|
|
//调用结束前事件.
|
|
|
|
|
ExecEvent.DoFlow(EventListFlow.BeforeFlowDel, wn, null);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
nd = new Node(gwf.NodeID);
|
|
|
|
|
Work wk = nd.HisWork;
|
|
|
|
|
wk.OID = this.WorkID;
|
|
|
|
|
wk.RetrieveFromDBSources();
|
|
|
|
|
|
|
|
|
|
//记录日志 感谢 itdos and 888 , 提出了这个问题..
|
|
|
|
|
wn.AddToTrack(ActionType.DeleteFlowByFlag, WebUser.No, WebUser.Name, wn.HisNode.NodeID, wn.HisNode.Name,
|
|
|
|
|
msg);
|
|
|
|
|
//定义workNode.
|
|
|
|
|
WorkNode wn = new WorkNode(wk, nd);
|
|
|
|
|
|
|
|
|
|
//更新-流程数据表的状态.
|
|
|
|
|
string sql = "UPDATE " + this.HisFlow.PTable + " SET WFState=" + (int)WFState.Delete + " WHERE OID=" + this.WorkID;
|
|
|
|
|
DBAccess.RunSQL(sql);
|
|
|
|
|
//调用结束前事件.
|
|
|
|
|
ExecEvent.DoFlow(EventListFlow.BeforeFlowDel, wn, null);
|
|
|
|
|
|
|
|
|
|
//删除他的工作者,不让其有待办.
|
|
|
|
|
sql = "DELETE FROM WF_GenerWorkerlist WHERE WorkID=" + this.WorkID;
|
|
|
|
|
DBAccess.RunSQL(sql);
|
|
|
|
|
//记录日志 感谢 itdos and 888 , 提出了这个问题..
|
|
|
|
|
wn.AddToTrack(ActionType.DeleteFlowByFlag, WebUser.No, WebUser.Name, wn.HisNode.NodeID, wn.HisNode.Name,
|
|
|
|
|
msg);
|
|
|
|
|
|
|
|
|
|
//设置产生的工作流程为.
|
|
|
|
|
gwf.WFState = BP.WF.WFState.Delete;
|
|
|
|
|
gwf.Update();
|
|
|
|
|
//更新-流程数据表的状态.
|
|
|
|
|
string sql = "UPDATE " + this.HisFlow.PTable + " SET WFState=" + (int)WFState.Delete + " WHERE OID=" + this.WorkID;
|
|
|
|
|
DBAccess.RunSQL(sql);
|
|
|
|
|
|
|
|
|
|
//删除他的工作者,不让其有待办.
|
|
|
|
|
sql = "DELETE FROM WF_GenerWorkerlist WHERE WorkID=" + this.WorkID;
|
|
|
|
|
DBAccess.RunSQL(sql);
|
|
|
|
|
|
|
|
|
|
//调用结束后事件.
|
|
|
|
|
ExecEvent.DoFlow(EventListFlow.AfterFlowDel, wn, null);
|
|
|
|
|
//设置产生的工作流程为.
|
|
|
|
|
gwf.WFState = BP.WF.WFState.Delete;
|
|
|
|
|
gwf.Update();
|
|
|
|
|
|
|
|
|
|
//调用结束后事件.
|
|
|
|
|
ExecEvent.DoFlow(EventListFlow.AfterFlowDel, wn, null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|