コード例 #1
0
        /*
         *       /// <summary>
         *      /// 待办 如果之前为已办 可以重新更新成待办 如果之前为办结 可以重新更新成待办 已经删除的待办可以重新发  已经是待办的待办也可以重新发
         *      /// </summary>
         *      /// <param name="flowid">待办业务唯一编号</param>
         *      /// <param name="flowtitle">待办标题</param>
         *      /// <param name="workflowname">所属流程名称</param>
         *      /// <param name="nodename">当前待办人节点名称</param>
         *      /// <param name="pcurl">PC端待办地址</param>
         *      /// <param name="appurl">App端待办地址</param>
         *      /// <param name="creator">待办创建人</param>
         *      /// <param name="receiver">待办接收人</param>
         *      public static void Todo(string flowid, string flowtitle, string workflowname, string nodename, string pcurl, string appurl, string creator, string receiver)
         *      {
         *          using (OAMessage.WebServices.OfsTodoDataWebService service = new OAMessage.WebServices.OfsTodoDataWebService())
         *          {
         *              var paramList = new Dictionary<string, string>();
         *              paramList.Add("syscode", ConfigurationManager.AppSettings["OA.SysCode"]);
         *              paramList.Add("flowid", flowid);
         *              paramList.Add("requestname", flowtitle);
         *              paramList.Add("workflowname", workflowname);
         *              paramList.Add("nodename", nodename);
         *              paramList.Add("pcurl", AppendSign(pcurl, receiver));
         *              paramList.Add("appurl", AppendSign(appurl, receiver));
         *              paramList.Add("creator", creator);
         *              paramList.Add("createdatetime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
         *              paramList.Add("receiver", receiver);
         *              paramList.Add("receivedatetime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
         *              var array = paramList.Select(x => new OAMessage.WebServices.anyType2anyTypeMapEntry()
         *              {
         *                  key = x.Key,
         *                  value = x.Value
         *              }).ToArray();
         *              var result = service.receiveTodoRequestByMap(array);
         *          }
         *      }
         *      /// <summary>
         *      /// 已办 如果当前任务为办结更新不回已办
         *      /// </summary>
         *      /// <param name="flowid"></param>
         *      /// <param name="flowtitle"></param>
         *      /// <param name="workflowname"></param>
         *      /// <param name="nodename"></param>
         *      /// <param name="receiver"></param>
         *      public static void Done(string flowid, string flowtitle, string workflowname, string nodename, string receiver)
         *      {
         *          using (OAMessage.WebServices.OfsTodoDataWebService service = new OAMessage.WebServices.OfsTodoDataWebService())
         *          {
         *              var paramList = new Dictionary<string, string>();
         *              paramList.Add("syscode", ConfigurationManager.AppSettings["OA.SysCode"]);
         *              paramList.Add("flowid", flowid);
         *              paramList.Add("requestname", flowtitle);
         *              paramList.Add("workflowname", workflowname);
         *              paramList.Add("nodename", nodename);
         *              paramList.Add("receiver", receiver);
         *              var array = paramList.Select(x => new OAMessage.WebServices.anyType2anyTypeMapEntry()
         *              {
         *                  key = x.Key,
         *                  value = x.Value
         *              }).ToArray();
         *              var result = service.processDoneRequestByMap(array);
         *          }
         *      }
         *      /// <summary>
         *      /// 办结 更新办结时不会管之前的状态是不是已办都可以直接办结
         *      /// </summary>
         *      /// <param name="flowid"></param>
         *      /// <param name="flowtitle"></param>
         *      /// <param name="workflowname"></param>
         *      /// <param name="nodename"></param>
         *      /// <param name="receiver"></param>
         *      public static void Over(string flowid, string flowtitle, string workflowname, string nodename, string receiver)
         *      {
         *          using (OAMessage.WebServices.OfsTodoDataWebService service = new OAMessage.WebServices.OfsTodoDataWebService())
         *          {
         *              var paramList = new Dictionary<string, string>();
         *              paramList.Add("syscode", ConfigurationManager.AppSettings["OA.SysCode"]);
         *              paramList.Add("flowid", flowid);
         *              paramList.Add("requestname", flowtitle);
         *              paramList.Add("workflowname", workflowname);
         *              paramList.Add("nodename", nodename);
         *              paramList.Add("receiver", receiver);
         *              var array = paramList.Select(x => new OAMessage.WebServices.anyType2anyTypeMapEntry()
         *              {
         *                  key = x.Key,
         *                  value = x.Value
         *              }).ToArray();
         *              var result = service.processOverRequestByMap(array);
         *          }
         *      }
         *
         */
        /// <summary>
        /// 取消整个流程
        /// </summary>
        /// <param name="flowid"></param>
        public static void CancelProcess(string flowid)
        {
            using (OAMessage.WebServices.OfsTodoDataWebService service = new OAMessage.WebServices.OfsTodoDataWebService())
            {
                var paramList = new Dictionary <string, string>();
                paramList.Add("syscode", ConfigurationManager.AppSettings["OA.SysCode"]);
                paramList.Add("flowid", flowid);

                var array = paramList.Select(x => new OAMessage.WebServices.anyType2anyTypeMapEntry()
                {
                    key   = x.Key,
                    value = x.Value
                }).ToArray();
                var result = service.deleteRequestInfoByMap(array);
            }
        }
コード例 #2
0
 /// <summary>
 /// 通用接收待办类
 /// </summary>
 /// <param name="flowid">流程ID</param>
 /// <param name="flowtitle">流程标题</param>
 /// <param name="workflowname">工作流名称</param>
 /// <param name="nodename">当前节点</param>
 /// <param name="pcurl">PC端审批地址</param>
 /// <param name="appurl">App端审批地址</param>
 /// <param name="creator">流程创建人</param>
 /// <param name="receiver">流程接收人</param>
 /// <param name="isremark">流程处理状态 0待办 2已办 4办结</param>
 /// <param name="viewtype">流程查看状态 0未读 1已读</param>
 private static void CommonReceive(string flowid, string flowtitle, string workflowname, string nodename, string pcurl, string appurl, string creator, string receiver, int isremark, int viewtype, DateTime createtime)
 {
     try
     {
         using (OAMessage.WebServices.OfsTodoDataWebService service = new OAMessage.WebServices.OfsTodoDataWebService())
         {
             var receiveTime = DateTime.Now;
             var paramList   = new Dictionary <string, string>();
             paramList.Add("syscode", ConfigurationManager.AppSettings["OA.SysCode"]);
             paramList.Add("flowid", flowid);
             paramList.Add("requestname", flowtitle);
             paramList.Add("workflowname", workflowname);
             paramList.Add("nodename", nodename);
             paramList.Add("pcurl", SSOToolkit.Instance.GetAuthOAUrlWithSSO(pcurl, receiver, flowid));
             paramList.Add("appurl", SSOToolkit.Instance.GetAuthOAUrlWithSSO(appurl, receiver, flowid));
             paramList.Add("creator", creator);
             paramList.Add("isremark", isremark.ToString());
             paramList.Add("viewtype", viewtype.ToString());
             paramList.Add("createdatetime", createtime.ToString("yyyy-MM-dd HH:mm:ss"));
             paramList.Add("receiver", receiver);
             paramList.Add("receivedatetime", receiveTime.ToString("yyyy-MM-dd HH:mm:ss"));
             var array = paramList.Select(x => new OAMessage.WebServices.anyType2anyTypeMapEntry()
             {
                 key   = x.Key,
                 value = x.Value
             }).ToArray();
             var result = service.receiveRequestInfoByMap(array);
             var model  = new OAMessageEntity()
             {
                 ResultData       = string.Join(",", result.ToList().Select(x => string.Format("{0}:{1}", x.key, x.value))),
                 AppUrl           = appurl,
                 CreateDate       = DateTime.Now,
                 CreateFlowTime   = createtime,
                 CreateFlowUser   = creator,
                 CreatorLoginName = creator,
                 CreatorName      = creator,
                 FlowID           = flowid,
                 FlowTitle        = flowtitle,
                 FlowType         = isremark,
                 ID                = Guid.NewGuid().ToString(),
                 IsDeleted         = false,
                 ModifierLoginName = creator,
                 ModifierName      = creator,
                 ModifyTime        = DateTime.Now,
                 NodeName          = nodename,
                 PCUrl             = pcurl,
                 ReceiverFlowTime  = receiveTime,
                 ReceiverFlowUser  = receiver,
                 ViewType          = viewtype,
                 WorkflowName      = workflowname
             };
             if (model.ResultData.Length > 1000)
             {
                 model.ResultData = model.ResultData.Substring(0, 1000);
             }
             OAMessageOperator.Instance.AddModel(model);
         }
     }
     catch (Exception ex)
     {
         throw new OAMessageException("调用OA接口出现异常", ex);
     }
 }