You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
4.4 KiB
C#

11 months ago
using System;
using System.Data;
using BP.DA;
using BP.En;
namespace BP.WF.DTS
{
/// <summary>
/// 装载已经完成的流程数据到WF_GenerWorkflow
/// </summary>
public class LoadNDxxRpt2GernerWorkFlow : Method
{
/// <summary>
/// 装载已经完成的流程数据到WF_GenerWorkflow
/// </summary>
public LoadNDxxRpt2GernerWorkFlow()
{
this.Title = "装载已经完成的流程数据到WF_GenerWorkflow升级扩展流程数据完成模式下的旧数据查询不到的问题";
this.Help = "升级扩展流程数据完成模式下的旧数据查询不到的问题。";
this.GroupName = "流程维护";
}
/// <summary>
/// 设置执行变量
/// </summary>
/// <returns></returns>
public override void Init()
{
}
/// <summary>
/// 当前的操纵员是否可以执行这个方法
/// </summary>
public override bool IsCanDo
{
get
{
if (BP.Web.WebUser.No.Equals("admin") == true)
return true;
return false;
}
}
/// <summary>
/// 执行
/// </summary>
/// <returns>返回执行结果</returns>
public override object Do()
{
BP.WF.Flows ens = new Flows();
foreach (BP.WF.Flow en in ens)
{
string sql = "SELECT * FROM " + en.PTable + " WHERE OID NOT IN (SELECT WorkID FROM WF_GenerWorkFlow WHERE FK_Flow='" + en.No + "')";
DataTable dt = DBAccess.RunSQLReturnTable(sql);
foreach (DataRow dr in dt.Rows)
{
GenerWorkFlow gwf = new GenerWorkFlow();
gwf.WorkID = Int64.Parse(dr[GERptAttr.OID].ToString());
gwf.FID = Int64.Parse(dr[GERptAttr.FID].ToString());
gwf.FlowSortNo = en.FlowSortNo;
gwf.SysType = en.SysType;
gwf.FlowNo = en.No;
gwf.FlowName = en.Name;
gwf.Title = dr[GERptAttr.Title].ToString();
gwf.WFState = (WFState)int.Parse(dr[GERptAttr.WFState].ToString());
// gwf.WFSta = WFSta.Complete;
gwf.Starter = dr[GERptAttr.FlowStarter].ToString();
gwf.StarterName = dr[GERptAttr.FlowStarter].ToString();
gwf.RDT = dr[GERptAttr.FlowStartRDT].ToString();
gwf.NodeID = int.Parse(dr[GERptAttr.FlowEndNode].ToString());
gwf.DeptNo = dr[GERptAttr.FK_Dept].ToString();
BP.Port.Dept dept = null;
try
{
dept = new BP.Port.Dept(gwf.DeptNo);
gwf.DeptName = dept.Name;
}
catch
{
gwf.DeptName = gwf.DeptName;
}
try
{
gwf.PRI = int.Parse(dr[GERptAttr.PRI].ToString());
}
catch
{
}
// gwf.SDTOfNode = dr[NDXRptBaseAttr.FK_Dept].ToString();
// gwf.SDTOfFlow = dr[NDXRptBaseAttr.FK_Dept].ToString();
gwf.PFlowNo = dr[GERptAttr.PFlowNo].ToString();
gwf.PWorkID = Int64.Parse(dr[GERptAttr.PWorkID].ToString());
gwf.PNodeID = int.Parse(dr[GERptAttr.PNodeID].ToString());
gwf.PEmp = dr[GERptAttr.PEmp].ToString();
//gwf.CFlowNo = dr[NDXRptBaseAttr.CFlowNo].ToString();
//gwf.CWorkID = Int64.Parse(dr[NDXRptBaseAttr.CWorkID].ToString());
gwf.GuestNo = dr[GERptAttr.GuestNo].ToString();
gwf.GuestName = dr[GERptAttr.GuestName].ToString();
gwf.BillNo = dr[GERptAttr.BillNo].ToString();
//gwf.FlowNote = dr[NDXRptBaseAttr.flowno].ToString();
gwf.SetValByKey("Emps", dr[GERptAttr.FlowEmps].ToString());
// gwf.AtPara = dr[NDXRptBaseAttr.FK_Dept].ToString();
// gwf.GUID = dr[NDXRptBaseAttr.gu].ToString();
gwf.Insert();
}
}
return "执行成功...";
}
}
}