using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace CCFlow.SDKFlowDemo.QingJia { public partial class S1_TianxieShenqingDan : System.Web.UI.Page { #region 接受4大参数(这四大参数是有ccflow传递到此页面上的). /// /// 流程编号 /// public string FK_Flow { get { return this.Request.QueryString["FK_Flow"]; } } /// /// 当前节点ID /// public int FK_Node { get { return int.Parse(this.Request.QueryString["FK_Node"]); } } /// /// 工作ID /// public Int64 WorkID { get { return Int64.Parse(this.Request.QueryString["WorkID"]); } } /// /// 流程ID /// public Int64 FID { get { return Int64.Parse(this.Request.QueryString["FID"]); } } #endregion 接受4大参数(这四大参数是有ccflow传递到此页面上的). protected void Page_Load(object sender, EventArgs e) { if (this.IsPostBack == false) { //查询出来数据给表单赋值。 BP.Demo.SDK.QingJia en = new BP.Demo.SDK.QingJia(); en.OID = (int)this.WorkID; if (en.RetrieveFromDBSources() == 1) { /* 数据源已经有 */ this.TB_No.Text = en.QingJiaRenNo; // this.TB_Name.Text = en.QingJiaRenName; // 请假人名称. this.TB_DeptNo.Text = en.QingJiaRenDeptNo; //部门编号. this.TB_DeptName.Text = en.QingJiaRenDeptName; //部门名称 this.TB_QingJiaYuanYin.Text = en.QingJiaYuanYin; //请假原因 this.TB_QingJiaTianShu.Text = en.QingJiaTianShu.ToString(); //请假天数 } else { /*给他默认值*/ this.TB_No.Text = BP.Web.WebUser.No; this.TB_Name.Text = BP.Web.WebUser.Name; this.TB_DeptNo.Text = BP.Web.WebUser.FK_Dept; this.TB_DeptName.Text = BP.Web.WebUser.FK_DeptName; } } } /// /// 执行发送 /// /// /// protected void Btn_Send_Click(object sender, EventArgs e) { //第1步: 执行保存. this.Btn_Save_Click(null, null); // 检查完整性 BP.Demo.SDK.QingJia en = new BP.Demo.SDK.QingJia(); en.OID = (int)this.WorkID; en.Retrieve(); if (en.QingJiaTianShu <= 0) { this.Response.Write("保存失败,请假天数不能小于等于零。"); return; } #region 第2步: 执行发送. BP.WF.SendReturnObjs objs = null; try { //编写我的业务逻辑.... //调用发送api, 返回发送对象. Int64 workid = Int64.Parse(this.Request.QueryString["WorkID"]); objs = BP.WF.Dev2Interface.Node_SendWork("016", workid); //获得接受人员列表. string toemps = objs.VarAcceptersID; //通过sql获取. SELECT FK_Emp,FK_EmpText FROM WF_GenerWorkerlist WHERE IsPass=0 AND WorkID=1111 // objs = BP.WF.Dev2Interface.db_c(this.FK_Flow, this.WorkID); // objs.VarCurrNodeID } catch(Exception ex) { this.Response.Write("发送期间出现异常:" + ex.Message + ""); return; } //循环输出变量信息. foreach (BP.WF.SendReturnObj obj in objs) { this.Response.Write("" + obj.MsgFlag + ":" + obj.MsgOfHtml + "
"); } /* 这里注意: * 1,发送api有多个, 根据不同的场景使用不同的api 但是常用的就那1个,您可以产看该参数使用说明. * BP.WF.Node_SendWork(string fk_flow, Int64 workID, int toNodeID, string toEmps) * 2,回来的发送对象里面有系统变量,这些系统变量包括发送给谁了,发送到那里了. * 开发人员可以根据系统变量,执行相关的业务逻辑操作. */ #endregion 第2步: 执行发送. #region 第3步: 把发送信息提示出来. //objs.v string info = objs.ToMsgOfHtml(); info = info.Replace("\t\n", "
@"); info = info.Replace("@", "
@"); this.Response.Write(""+info+""); #endregion 第3步: 把发送信息提示出来. this.Btn_Save.Enabled = false; this.Btn_Send.Enabled = false; } /// /// 执行保存. /// /// /// protected void Btn_Save_Click(object sender, EventArgs e) { #region 业务数据保存, 根据workid, 把它作为主键,存入数据表(此部分与ccflow无关). //本demo我们使用BP框架做了数据存储. BP.Demo.SDK.QingJia en = new BP.Demo.SDK.QingJia(); en.OID = (int)this.WorkID; en.QingJiaRenNo = BP.Web.WebUser.No; en.QingJiaRenName = BP.Web.WebUser.Name; en.QingJiaRenDeptNo = BP.Web.WebUser.FK_Dept; en.QingJiaRenDeptName = BP.Web.WebUser.FK_DeptName; en.QingJiaYuanYin = this.TB_QingJiaYuanYin.Text; en.QingJiaTianShu = float.Parse(this.TB_QingJiaTianShu.Text); if (en.IsExits == false) en.InsertAsOID(this.WorkID); /*如果已经不存在.*/ else en.Update(); #endregion 业务数据保存, 根据workid, 把它作为主键,存入数据表. } protected void Btn_Track_Click(object sender, EventArgs e) { // BP.WF.Dev2Interface.UI_Window_OneWork(this.FK_Flow, this.WorkID, this.FID); } } }