Esempio n. 1
0
        ///// <summary>
        ///// 接收已读
        ///// </summary>
        ///// <param name="flowid"></param>
        ///// <param name="nodename"></param>
        ///// <param name="receiver"></param>
        //public static string ReceiveRead(string syscode,string flowid, string nodename, string receiver)
        //{
        //    var finder = OAMessageOperator.LoadOAMessage(flowid, nodename, receiver);
        //    if (finder == null)
        //    {
        //        throw new OAMessageException("当前待办未找到(flowid+nodename+receiver)无法设置为已读状态");
        //    }
        //    //如果当前待办为已读 则不再进行更新
        //    //if (finder.ViewType == 1)
        //    //{
        //    //    return "";
        //    //}
        //    return CommonReceive(syscode,finder.FlowID, finder.FlowTitle, finder.WorkflowName, finder.NodeName, finder.PCUrl, finder.AppUrl, finder.CreateFlowUser, finder.ReceiverFlowUser, finder.FlowType, 1, finder.CreateFlowTime);
        //}
        /// <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 string CommonReceive(string syscode, string flowid, string flowtitle, string workflowname, string nodename, string pcurl, string appurl, string creator, string receiver, int isremark, int viewtype, DateTime createtime)
        {
            try
            {
                using (OfsTodoDataWebService service = new OfsTodoDataWebService())
                {
                    var receiveTime = DateTime.Now;
                    var paramList   = new Dictionary <string, string>();
                    paramList.Add("syscode", syscode);
                    paramList.Add("flowid", flowid);
                    paramList.Add("requestname", flowtitle);
                    paramList.Add("workflowname", workflowname);
                    paramList.Add("nodename", nodename);
                    paramList.Add("pcurl", pcurl);
                    paramList.Add("appurl", appurl);
                    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 anyType2anyTypeMapEntry()
                    {
                        key   = x.Key,
                        value = x.Value
                    }).ToArray();

                    var result = service.receiveRequestInfoByMap(array);
                    logger.Info("【参数】" + JsonConvert.SerializeObject(array) + "【OA返回值】" + JsonConvert.SerializeObject(result));
                    string ResultData = string.Join(",", result.ToList().Select(x => string.Format("{0}:{1}", x.key, x.value)));
                    return(ResultData);
                }
            }
            catch (Exception ex)
            {
                logger.Info("【调用OA接口出现异常】flowID=" + flowid + "【异常】" + JsonConvert.SerializeObject(ex));
                throw new OAMessageException("调用OA接口出现异常", ex);
            }
        }