using System; using System.Threading; using System.Collections; using System.Data; using BP.DA; using BP.En; using BP.Web; using BP.Sys; using BP.WF; namespace BP.JianYu { /// /// 报销流程069 /// 此类库必须放入到 BP.*.dll 才能被解析发射出来。 /// public class F069 : BP.WF.FlowEventBase { #region 属性. /// /// 重写流程标记 /// public override string FlowMark { get { return ",069,"; } } #endregion 属性. #region 构造. /// /// 报销流程事件 /// public F069() { } #endregion 属性. #region 发送事件. /// /// 重写发送前事件 /// /// public override string SendWhen() { return null; } #endregion 发送事件. /// /// 发送成功事件,发送成功时,把流程的待办写入其他系统里. /// /// 返回执行结果,如果返回null就不提示。 public override string SendSuccess() { try { // 组织必要的变量. Int64 workid = this.WorkID; // 工作id. string flowNo = this.HisNode.FK_Flow; // 流程编号. int currNodeID = this.SendReturnObjs.VarCurrNodeID; //当前节点id int toNodeID = this.SendReturnObjs.VarToNodeID; //到达节点id. string toNodeName = this.SendReturnObjs.VarToNodeName; // 到达节点名称。 string acceptersID = this.SendReturnObjs.VarAcceptersID; // 接受人员id, 多个人员会用 逗号分看 ,比如 zhangsan,lisi。 string acceptersName = this.SendReturnObjs.VarAcceptersName; // 接受人员名称,多个人员会用逗号分开比如:张三,李四. // 当前的节点, 其他的变量请从 this.HisNode . int nodeID = this.HisNode.NodeID; // int类型的ID. if (this.HisNode.NodeID == 6901) { // 求出来所有的产品.. string sql = "SELECT * FROM ND6901Dtl1 WHERE RefPK=" + this.WorkID; DataTable dt = DBAccess.RunSQLReturnTable(sql); //开始启动子流程. string intfos = "产品研发子流程启动信息如下:
"; foreach (DataRow dr in dt.Rows) { //创建子流程.WorkID. Int64 workidSubFlow = BP.WF.Dev2Interface.Node_CreateBlankWork("070"); //求出来:产品多个负责人,就用,都分开. zhangsan,lisi string fuzren = dr["FuZeRen"].ToString(); //给子流程的主表,设置产品信息数据. GEEntity rpt070 = new GEEntity("ND70Rpt", workidSubFlow); // rpt070.Copy(dr); // rpt070.SetValByKey("ChanPinMingCheng", dr["ChanPinMingCheng"].ToString()); rpt070.SetValByKey("Tel", dr["Tel"].ToString()); rpt070.SetValByKey("FuZeRen", dr["FuZeRen"].ToString()); rpt070.Update(); //设置父子关系. BP.WF.Dev2Interface.SetParentInfo("070", workidSubFlow, this.WorkID, BP.Web.WebUser.No, 6902, false); //执行发送,到第2个节点上去. intfos += "
子流程: "+ BP.WF.Dev2Interface.Node_SendWork("070", workidSubFlow, 7002, fuzren).ToMsgOfText(); } return intfos; } //返回. return base.SendSuccess(); } catch (Exception ex) { return base.SendSuccess(); // throw new Exception("向其他系统写入待办失败,详细信息:"+ex.Message); } } } }