using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
namespace CCFlow.SDKFlowDemo.QingJia
{
public partial class S2_BumenJingliShenpi : 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;
en.Retrieve();
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();
}
}
protected void Btn_Send_Click(object sender, EventArgs e)
{
// 执行保存.
Btn_Save_Click(null, null);
#region 第2步: 执行发送.
//调用发送api, 返回发送对象.
BP.WF.SendReturnObjs objs = null;
// 查询出来.
BP.Demo.SDK.QingJia en = new BP.Demo.SDK.QingJia();
en.OID = (int)this.WorkID;
en.Retrieve();
Hashtable ht = new Hashtable();
ht.Add("JinE", 1000);
ht.Add("QingJiaTianShu", en.QingJiaTianShu);
ht.Add("SysIsReadReceipts", 1); //是否需要回执.
objs = BP.WF.Dev2Interface.Node_SendWork(this.FK_Flow, this.WorkID, ht);
// objs = BP.WF.Dev2Interface.Node_ReturnWork(this.FK_Flow, this.WorkID, 901,"zhoupeng,sds,d,sd");
/*
这里注意:
* 1,发送api有多个, 根据不同的场景使用不同的api 但是常用的就那1个,您可以产看该参数使用说明.
* BP.WF.Node_SendWork(string fk_flow, Int64 workID, int toNodeID, string toEmps)
* 重要说明:
* 1. 如果toNodeID=0,ccbpm就会按照流程图上计算,如果为一个节点ID,ccbpm就会认为你要发送到这个节点上.
* 2, 如果toEmps=null, ccbpm就会根据节点的配置来计算接收人,如果指定了一个或多个接收人,比如:zhangsian,lisi,
* ccbpm就会认为要交给这些人处理。 *
* 2,回来的发送对象里面有系统变量,这些系统变量包括发送给谁了,发送到那里了.
* 开发人员可以根据系统变量,执行相关的业务逻辑操作.
*
*/
//objs = BP.WF.Dev2Interface.Node_SendWork(this.FK_Flow, this.WorkID);
//objs = BP.WF.Dev2Interface.Node_SendWork(this.FK_Flow, this.WorkID, 0, null);
///***发送后,流程转向问题 BY HZM ******/
if (en.QingJiaTianShu > 10)
objs = BP.WF.Dev2Interface.Node_SendWork(this.FK_Flow, this.WorkID, 1803, "zhangsan,lisi,");
else
objs = BP.WF.Dev2Interface.Node_SendWork(this.FK_Flow, this.WorkID, 1899, null);
//BP.WF.Dev2Interface.Node_AddNextStepAccepters(1000, 102, "zhangsna,lisi", false);
//BP.WF.Dev2Interface.Node_AddNextStepAccepters(1000, 103, "wangwu,zhaoliu", false);
//BP.WF.Dev2Interface.Node_AddNextStepAccepters(1000, 105, "wsxx,dd", false);
///***修改结束******/
BP.Demo.SDK.ND018Rpt rpt = new BP.Demo.SDK.ND018Rpt();
BP.Demo.SDK.QingJia qingjia = new BP.Demo.SDK.QingJia();
qingjia.Copy(rpt);
qingjia.Insert();
#endregion 第2步: 执行发送.
#region 第3步: 把发送信息提示出来.
string info = objs.ToMsgOfText();
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)
{
BP.Demo.SDK.QingJia en = new BP.Demo.SDK.QingJia();
en.OID = (int)this.WorkID;
en.Retrieve();
en.NoteBM = this.TB_BMNote.Text;
en.Update(); // 写入部门经理意见.
}
protected void Btn_Track_Click(object sender, EventArgs e)
{
// BP.WF.Dev2Interface.UI_Window_OneWork(this.FK_Flow, this.WorkID, this.FID);
}
///
/// 退回操作
///
///
///
protected void Btn_Return_Click(object sender, EventArgs e)
{
// 这里调用这个接口,就是转向退回功能部件。
// BP.WF.Dev2Interface.UI_Window_Return(this.FK_Flow,this.FK_Node, this.WorkID, this.FID);
}
}
}