コード例 #1
0
ファイル: TimingTriggerBLL.cs プロジェクト: jjg0519/OA
 public void EditTimingActivity(T_WF_TIMINGTRIGGERACTIVITY model)
 {
     try
     {
         string            updSql   = "UPDATE T_WF_TIMINGTRIGGERACTIVITY SET TRIGGERNAME=:TRIGGERNAME,COMPANYID=:COMPANYID,SYSTEMCODE=:SYSTEMCODE,SYSTEMNAME=:SYSTEMNAME,MODELCODE=:MODELCODE,MODELNAME=:MODELNAME,TRIGGERACTIVITYTYPE=:TRIGGERACTIVITYTYPE,TRIGGERTIME=:TRIGGERTIME,TRIGGERROUND=:TRIGGERROUND,WCFURL=:WCFURL,FUNCTIONNAME=:FUNCTIONNAME,FUNCTIONPARAMTER=:FUNCTIONPARAMTER,PAMETERSPLITCHAR=:PAMETERSPLITCHAR,WCFBINDINGCONTRACT=:WCFBINDINGCONTRACT,MESSAGEBODY=:MESSAGEBODY,MESSAGEURL=:MESSAGEURL,TRIGGERTYPE=:TRIGGERTYPE,TRIGGERDESCRIPTION=:TRIGGERDESCRIPTION,REMARK=:REMARK WHERE   TRIGGERID=:TRIGGERID";
         OracleParameter[] pageparm =
         {
             new OracleParameter(":TRIGGERNAME", dal.GetValue(model.TRIGGERNAME)),                 //定时触发名称
             new OracleParameter(":COMPANYID", dal.GetValue(model.COMPANYID)),                     //公司ID
             new OracleParameter(":SYSTEMCODE", dal.GetValue(model.SYSTEMCODE)),                   //系统代码
             new OracleParameter(":SYSTEMNAME", dal.GetValue(model.SYSTEMNAME)),                   //系统名称
             new OracleParameter(":MODELCODE", dal.GetValue(model.MODELCODE)),                     //模块代码
             new OracleParameter(":MODELNAME", dal.GetValue(model.MODELNAME)),                     //模块名称
             new OracleParameter(":TRIGGERACTIVITYTYPE", dal.GetValue(model.TRIGGERACTIVITYTYPE)), //触发活动类型(1、短信活动 2、服务活动)
             new OracleParameter(":TRIGGERTIME", dal.GetValue(model.TRIGGERTIME)),                 //触发时间
             new OracleParameter(":TRIGGERROUND", dal.GetValue(model.TRIGGERROUND)),               //触发周期 0 只触发一次 1 分钟 2小时 3 天 4 月 5年 6周 7未知
             new OracleParameter(":WCFURL", dal.GetValue(model.WCFURL)),                           //WCF的URL
             new OracleParameter(":FUNCTIONNAME", dal.GetValue(model.FUNCTIONNAME)),               //所调方法名称
             new OracleParameter(":FUNCTIONPARAMTER", dal.GetValue(model.FUNCTIONPARAMTER)),       //方法参数
             new OracleParameter(":PAMETERSPLITCHAR", dal.GetValue(model.PAMETERSPLITCHAR)),       //参数分解符
             new OracleParameter(":WCFBINDINGCONTRACT", dal.GetValue(model.WCFBINDINGCONTRACT)),   //WCF绑定的契约
             new OracleParameter(":MESSAGEBODY", dal.GetValue(model.MESSAGEBODY)),                 //接受消息
             new OracleParameter(":MESSAGEURL", dal.GetValue(model.MESSAGEURL)),                   //消息链接
             new OracleParameter(":TRIGGERTYPE", dal.GetValue(model.TRIGGERTYPE)),                 //触发类型
             new OracleParameter(":TRIGGERDESCRIPTION", dal.GetValue(model.TRIGGERDESCRIPTION)),   //触发描述
             new OracleParameter(":REMARK", dal.GetValue(model.REMARK)),                           //备注
             new OracleParameter(":TRIGGERID", dal.GetValue(model.TRIGGERID))                      //触发ID
         };
         dal.ExecuteSql(updSql, pageparm);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
コード例 #2
0
 public string EditTimingActivity(T_WF_TIMINGTRIGGERACTIVITY entity)
 {
     try
     {
         timingbll.EditTimingActivity(entity);
         return("1");
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
コード例 #3
0
 /// <summary>
 /// 新增定时触发
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public string WFAddTimingTrigger(T_WF_TIMINGTRIGGERACTIVITY entity)
 {
     try
     {
         Record.WriteLogFunction("WFAddTimingTrigger()开始调用");
         EngineServicesBLL bll = new EngineServicesBLL();
         bll.AddTimingTrigger(entity);
         return("1");
     }
     catch (Exception ex)
     {
         Record.WriteLogFunction("WFAddTimingTrigger()" + ex.Message);
         return(ex.Message);
     }
 }
コード例 #4
0
ファイル: TriggerList.xaml.cs プロジェクト: jjg0519/OA
 private void btnDelect_Click(object sender, RoutedEventArgs e)
 {
     if (TimingTriggerDataGrid.SelectedItems.Count == 1)
     {
         pBar.Start();
         string        Result = "";
         ComfirmWindow com    = new ComfirmWindow();
         com.OnSelectionBoxClosed += (obj, result) =>
         {
             T_WF_TIMINGTRIGGERACTIVITY ent = TimingTriggerDataGrid.SelectedItem as T_WF_TIMINGTRIGGERACTIVITY;
             timingClient.DeleteTimingActivityAsync(ent.TRIGGERID);
         };
         com.SelectionBox("删除确定", "你确定删除选中信息吗?", ComfirmWindow.titlename, Result);
     }
     else
     {
         ComfirmWindow.ConfirmationBox("提示信息", "请先选择一条需要删除的记录", "确定");
     }
 }
コード例 #5
0
ファイル: TimingTriggerBLL.cs プロジェクト: jjg0519/OA
 public void AddTimingActivity(T_WF_TIMINGTRIGGERACTIVITY model)
 {
     try
     {
         string            insSql   = "INSERT INTO T_WF_TIMINGTRIGGERACTIVITY (TRIGGERNAME,COMPANYID,SYSTEMCODE,SYSTEMNAME,MODELCODE,MODELNAME,TRIGGERACTIVITYTYPE,TRIGGERTIME,TRIGGERROUND,WCFURL,FUNCTIONNAME,FUNCTIONPARAMTER,PAMETERSPLITCHAR,WCFBINDINGCONTRACT,RECEIVERUSERID,RECEIVEROLE,RECEIVERNAME,MESSAGEBODY,MESSAGEURL,TRIGGERSTATUS,TRIGGERTYPE,TRIGGERDESCRIPTION,CONTRACTTYPE,CREATEDATETIME,CREATEUSERID,CREATEUSERNAME,REMARK,TRIGGERID) VALUES (:TRIGGERNAME,:COMPANYID,:SYSTEMCODE,:SYSTEMNAME,:MODELCODE,:MODELNAME,:TRIGGERACTIVITYTYPE,:TRIGGERTIME,:TRIGGERROUND,:WCFURL,:FUNCTIONNAME,:FUNCTIONPARAMTER,:PAMETERSPLITCHAR,:WCFBINDINGCONTRACT,:RECEIVERUSERID,:RECEIVEROLE,:RECEIVERNAME,:MESSAGEBODY,:MESSAGEURL,:TRIGGERSTATUS,:TRIGGERTYPE,:TRIGGERDESCRIPTION,:CONTRACTTYPE,:CREATEDATETIME,:CREATEUSERID,:CREATEUSERNAME,:REMARK,:TRIGGERID)";
         OracleParameter[] pageparm =
         {
             new OracleParameter(":TRIGGERNAME", dal.GetValue(model.TRIGGERNAME)),                 //定时触发名称
             new OracleParameter(":COMPANYID", dal.GetValue(model.COMPANYID)),                     //公司ID
             new OracleParameter(":SYSTEMCODE", dal.GetValue(model.SYSTEMCODE)),                   //系统代码
             new OracleParameter(":SYSTEMNAME", dal.GetValue(model.SYSTEMNAME)),                   //系统名称
             new OracleParameter(":MODELCODE", dal.GetValue(model.MODELCODE)),                     //模块代码
             new OracleParameter(":MODELNAME", dal.GetValue(model.MODELNAME)),                     //模块名称
             new OracleParameter(":TRIGGERACTIVITYTYPE", dal.GetValue(model.TRIGGERACTIVITYTYPE)), //触发活动类型(1、短信活动 2、服务活动)
             new OracleParameter(":TRIGGERTIME", dal.GetValue(model.TRIGGERTIME)),                 //触发时间
             new OracleParameter(":TRIGGERROUND", dal.GetValue(model.TRIGGERROUND)),               //触发周期 0 只触发一次 1 分钟 2小时 3 天 4 月 5年 6周 7未知
             new OracleParameter(":WCFURL", dal.GetValue(model.WCFURL)),                           //WCF的URL
             new OracleParameter(":FUNCTIONNAME", dal.GetValue(model.FUNCTIONNAME)),               //所调方法名称
             new OracleParameter(":FUNCTIONPARAMTER", dal.GetValue(model.FUNCTIONPARAMTER)),       //方法参数
             new OracleParameter(":PAMETERSPLITCHAR", dal.GetValue(model.PAMETERSPLITCHAR)),       //参数分解符
             new OracleParameter(":WCFBINDINGCONTRACT", dal.GetValue(model.WCFBINDINGCONTRACT)),   //WCF绑定的契约
             new OracleParameter(":RECEIVERUSERID", dal.GetValue(model.RECEIVERUSERID)),           //接收人ID
             new OracleParameter(":RECEIVEROLE", dal.GetValue(model.RECEIVEROLE)),                 //接受人角色
             new OracleParameter(":RECEIVERNAME", dal.GetValue(model.RECEIVERNAME)),               //接收人名称
             new OracleParameter(":MESSAGEBODY", dal.GetValue(model.MESSAGEBODY)),                 //接受消息
             new OracleParameter(":MESSAGEURL", dal.GetValue(model.MESSAGEURL)),                   //消息链接
             new OracleParameter(":TRIGGERSTATUS", dal.GetValue(model.TRIGGERSTATUS)),             //触发器状态
             new OracleParameter(":TRIGGERTYPE", dal.GetValue(model.TRIGGERTYPE)),                 //触发类型
             new OracleParameter(":TRIGGERDESCRIPTION", dal.GetValue(model.TRIGGERDESCRIPTION)),   //触发描述
             new OracleParameter(":CONTRACTTYPE", dal.GetValue(model.CONTRACTTYPE)),               //接口类型(引擎,定时接口)
             new OracleParameter(":CREATEDATETIME", dal.GetValue(DateTime.Now)),                   //创建日期
             new OracleParameter(":CREATEUSERID", dal.GetValue(model.CREATEUSERID)),               //创建人ID
             new OracleParameter(":CREATEUSERNAME", dal.GetValue(model.CREATEUSERNAME)),           //创建人
             new OracleParameter(":REMARK", dal.GetValue(model.REMARK)),                           //备注
             new OracleParameter(":TRIGGERID", dal.GetValue(model.TRIGGERID))                      //触发ID
         };
         dal.ExecuteSql(insSql, pageparm);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
コード例 #6
0
ファイル: EngineServices.svc.cs プロジェクト: JuRogn/OA
        /// <summary>
        /// 填充TIMINGTRIGGERACTIVITY实体 -luojie
        /// </summary>
        public void MakeTravelreimbursementTriggerEntity(string strXml)
        {
            Tracer.Debug("出差申请开始调用定时触发出差报销生成的接口");
            try
            {
                using (EngineWcfGlobalFunctionClient wcfClient = new EngineWcfGlobalFunctionClient())
                {
                    string strBusinesStripId = string.Empty;
                    StringReader strRdr = new StringReader(strXml);
                    XmlReader xr = XmlReader.Create(strRdr);
                    while (xr.Read())
                    {
                        if (xr.NodeType == XmlNodeType.Element)
                        {
                            string elementName = xr.Name;
                            if (elementName == "Paras" || elementName == "System")
                            {
                                while (xr.Read())
                                {
                                    string type = xr.NodeType.ToString();
                                    #region
                                    if (xr["Name"] != null)
                                    {
                                        if (xr["Name"].ToUpper() == "BUSINESSTRIPID")
                                        {
                                            strBusinesStripId = xr["Value"];
                                        }
                                    }
                                    #endregion
                                }
                            }
                        }
                    }

                    T_WF_TIMINGTRIGGERACTIVITY triggerEntity = new T_WF_TIMINGTRIGGERACTIVITY();
                    triggerEntity.TRIGGERID = Guid.NewGuid().ToString();
                    triggerEntity.BUSINESSID = strBusinesStripId;
                    triggerEntity.TRIGGERNAME = strBusinesStripId;
                    triggerEntity.SYSTEMCODE = "OA";
                    triggerEntity.SYSTEMNAME = "办公系统";
                    triggerEntity.MODELCODE = "T_OA_BUSINESSTRIP";
                    triggerEntity.MODELNAME = "出差申请";
                    triggerEntity.TRIGGERACTIVITYTYPE = 2;

                    //获取出差申请的结束时间
                    DateTime arriveTime = GetLatestTimeOfBusinesstrip(GetBusinessIdFromString(strXml));
                    triggerEntity.TRIGGERTIME = arriveTime;//待改-出差申请的结束时间
                    Tracer.Debug("出差申请结束时间:" + arriveTime.ToString());
                    triggerEntity.TRIGGERROUND = 0;
                    triggerEntity.WCFURL = "EngineEventServices.svc";//需要传输数据至的服务名
                    triggerEntity.FUNCTIONNAME = "EventTriggerProcess";//需要传输数据至的方法名称
                    //因两次调用回调函数的问题在此产生出差报销id
                    //strXml += "<Para FuncName=\"DelayTravelreimbursmentAdd\"  Name=\"TRAVELREIMBURSEMENTID\"  Description=\"出差报销ID\" Value=\""+Guid.NewGuid().ToString()+"\" ValueName=\"出差报销ID\" ></Para>";
                    //处理消息规则里T_OA_BUSINESSTRIP的信息
                    strXml = strXml.Replace("<?xml version=\"1.0\" encoding=\"utf-8\" ?>", "").Replace("<Paras>", "").Replace("</Paras>", "").Replace("TableName", "FuncName").Replace("T_OA_BUSINESSTRIP", "DelayTravelreimbursmentAdd").Trim();
                    //处理消息规则里T_OA_TRAVELREIMBURSEMENT的信息
                    strXml = strXml.Replace("T_OA_TRAVELREIMBURSEMENT", "DelayTravelreimbursmentAdd");
                    triggerEntity.FUNCTIONPARAMTER = strXml;//传输的对象方法获取的数据
                    triggerEntity.PAMETERSPLITCHAR = "Г";
                    triggerEntity.WCFBINDINGCONTRACT = "CustomBinding";
                    triggerEntity.CREATEDATETIME = System.DateTime.Now;
                    //triggerEntity.TRIGGERSTART = System.DateTime.Now;
                    //triggerEntity.TRIGGEREND = Convert.ToDateTime("2099/12/30 18:00:00");
                    wcfClient.WFAddTimingTrigger(triggerEntity);
                }
            }
            catch (Exception ex)
            {
                Tracer.Debug("出差申请调用定时触发出差报销生成的接口失败:" + System.DateTime.Now.ToString() + " " + ex.ToString());
                return;
            }
            Tracer.Debug("出差申请调用定时触发出差报销生成的接口成功");
        }