Beispiel #1
0
        public object AddTaskHisAttachment()
        {
            //LogHelper<WorkFlowAppController>.Error("AddTaskHisAttachment");
            JObject data = new JObject();
            //var taskinstid = paramJo["taskinstid"].IsNullOrEmpty() == false ? (string)paramJo["taskinstid"] : string.Empty;
            //var filename = paramJo["filename"].IsNullOrEmpty() == false ? (string)paramJo["filename"] : string.Empty;
            var taskinstid = Pub.Request("taskinstid");
            var filename   = Pub.Request("filename");
            var asr_fid    = Pub.Request("asr_fid");
            var guid       = Pub.Request("asr_guid");
            var mediaid    = Pub.Request("mediaid");
            //LogHelper<WorkFlowAppController>.Error("AddTaskHisAttachment:"+taskinstid+","+filename+","+guid);
            HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;

            string errmsg = string.Empty;

            try
            {
                DbHelper.Open();
                byte[] bb = null;
                if (!string.IsNullOrWhiteSpace(asr_fid))
                {
                    bb = NG3.WorkFlow.Engine.WorkFlowEngine.Instance.GetAttachmentByAsrFid(asr_fid);
                }
                else if (!string.IsNullOrWhiteSpace(mediaid))
                {
                    var url = string.Format("API/AppServer/Get?action=getattach&mediaid={0}&moduleno=MEA&ucode={1}",
                                            mediaid, EnvironmentHelp.GetDatabase(string.Empty).Replace("NG", ""));
                    HttpClient client = EnvironmentHelp.GetHttpClientInst();
                    var        resp   = client.GetAsync(url).Result;
                    resp.EnsureSuccessStatusCode();
                    var respContent = resp.Content.ReadAsStringAsync().Result;
                    //LogHelper<WorkFlowAppController>.Error(string.Format("获取微信附件正文{0},url:{1}", respContent, url));
                    JObject o = JObject.Parse(respContent);
                    if (o["success"].GetStringValue() == "true" && !string.IsNullOrWhiteSpace(o["file"].GetStringValue()))
                    {
                        bb = System.Convert.FromBase64String(o["file"].GetStringValue());
                    }
                    if (string.IsNullOrWhiteSpace(filename))
                    {
                        filename = Guid.NewGuid().ToString() + o["filetype"].GetStringValue();
                    }
                    else if (!filename.Contains("."))
                    {
                        filename += o["filetype"].GetStringValue();
                    }
                }
                else if (files != null && files.Count > 0)
                {
                    if (string.IsNullOrEmpty(filename))
                    {
                        filename = files[0].FileName;
                    }
                    using (Stream sr = files[0].InputStream)
                    {
                        bb = new byte[sr.Length];
                        sr.Read(bb, 0, bb.Length);
                        sr.Close();
                    }
                }

                if (string.IsNullOrWhiteSpace(filename) || bb.Length < 1)
                {
                    errmsg = "文件名为空或未上传正文!";
                }
                guid = NG3.WorkFlow.Engine.WorkFlowEngine.Instance.AddTaskHisAttachment(guid, taskinstid, filename, bb);
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
            finally
            {
                DbHelper.Close();
            }

            data.Add("guid", guid);
            data.Add("errmsg", errmsg);
            data.Add("status", string.IsNullOrEmpty(guid) ? "error" : "succeed");
            return(data);
        }
Beispiel #2
0
        public object GetTaskBizContent([FromUri] BaseInfoModel paramters)
        {
            object obj = null;

            try
            {
                if (paramters.flowType == "af")
                {
                    DllClassService dcs = new DllClassService("NG.AppFlow.Facade");
                    obj = dcs.Invoke("NG.AppFlow.Facade.AppFlowFacade", "GetBizContent4MobileApp", new object[] { paramters.piid });

                    //System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    //sb.Append("{");
                    //sb.Append(string.Format("\"data\":\"{0}\"", obj.ToString())).Append(",");
                    //sb.Append("\"name\":\"\",");
                    //sb.Append("\"type\":\"bytes\",");
                    //sb.Append("\"status\":\"succeed\",");
                    //sb.Append("\"errmsg\":\"\"}");

                    JObject data = new JObject();
                    data.Add("data", obj.ToString());
                    data.Add("name", "");
                    data.Add("type", "bytes");
                    data.Add("status", "succeed");
                    return(data);
                }
                else if (paramters.flowType == "oawf")
                {
                    DllClassService dcs = new DllClassService("NG.WorkFlow.Facade.dll");
                    obj = dcs.Invoke("NG.WorkFlow.Facade.WorkflowFacade", "GetBizContentUrl4MobileApp", new object[] { paramters.piid });

                    string[] ss   = (obj.ToString()).Split(new string[] { "@@**" }, StringSplitOptions.None);
                    string   url  = ss.Length > 0 ? ss[0] : string.Empty;
                    string   name = ss.Length > 1 ? ss[1] : string.Empty;

                    //System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    //sb.Append("{");
                    //sb.Append(string.Format("\"data\":\"{0}\"", url)).Append(",");
                    //sb.Append(string.Format("\"name\":\"{0}\"", name)).Append(",");
                    //sb.Append("\"type\":\"URL\",");
                    //sb.Append("\"status\":\"succeed\",");
                    //sb.Append("\"errmsg\":\"\"}");
                    //jsonStr = sb.ToString();

                    JObject data = new JObject();
                    data.Add("data", url);
                    data.Add("name", name);
                    data.Add("type", "URL");
                    data.Add("status", "succeed");
                    return(data);
                }
                else if (paramters.flowType == "psoftwf")
                {
                    DllClassService dcs = new DllClassService("NG.AppFlow.Facade");
                    obj = dcs.Invoke("NG.AppFlow.Facade.PSoftWorkFlowFacade", "GetBizContent4MobileApp", new object[] { paramters.piid, string.Empty });

                    //System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    //sb.Append("{");
                    //sb.Append(string.Format("\"data\":\"{0}\"", obj.ToString())).Append(",");
                    //sb.Append("\"name\":\"\",");
                    //sb.Append("\"type\":\"bytes\",");
                    //sb.Append("\"status\":\"succeed\",");
                    //sb.Append("\"errmsg\":\"\"}");
                    //jsonStr = sb.ToString();

                    JObject data = new JObject();
                    data.Add("data", obj.ToString());
                    data.Add("name", "");
                    data.Add("type", "bytes");
                    data.Add("status", "succeed");
                    return(data);
                }
                else if (paramters.flowType == "wf")
                {
                    try
                    {
                        DbHelper.Open();
                        string  fileName = string.Empty;
                        string  url      = WorkFlowEngine.Instance.GetBizPdf(paramters.piid, out fileName);
                        JObject data     = new JObject();
                        data.Add("data", url);
                        data.Add("name", fileName);
                        data.Add("type", "URL");
                        data.Add("status", "succeed");
                        return(data);
                    }
                    finally
                    {
                        DbHelper.Close();
                    }
                }
                else
                {
                    throw new Exception("获取正文出错");
                }
            }
            catch (System.Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
        }