Ejemplo n.º 1
0
 public object CanDrawback()
 {
     try
     {
         string piid     = System.Web.HttpContext.Current.Request.Params["piid"] ?? string.Empty;
         string errorMsg = string.Empty;
         bool   temp     = service.CanTaskRetrieve(piid, NG3.AppInfoBase.UserID.ToString(), out errorMsg);
         return(new JObject()
         {
             { "candrawback", temp }, { "errorMsg", errorMsg }
         });
     }
     catch (Exception ex)
     {
         return(DCHelper.ErrorMessage(ex.Message));
     }
 }
Ejemplo n.º 2
0
        public object GetProcessDefinitions([FromUri] ProcessDefModel paramters)
        {
            try
            {
                string billtype = paramters.billtype ?? string.Empty;
                string billcode = paramters.billcode ?? string.Empty;
                string orgid    = paramters.orgid ?? string.Empty;


                WorkFlowBizInfo biz = new WorkFlowBizInfo(billtype, billcode, orgid, string.Empty);
                return(service.GetProcessDefinitionByBizInfo(biz, paramters.userid));
            }
            catch (System.Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
        }
Ejemplo n.º 3
0
        public object GetTaskInfoExtend([FromUri] FlowInfoModel paramters)
        {
            string piid   = paramters.piid;
            string taskid = paramters.taskid;

            try
            {
                DbHelper.Open();
                var     pi = WorkFlowDac.Instance.GetProcInstTraceEntity(piid);
                var     tn = WorkFlowDac.Instance.GetRunintTask(taskid);
                JObject o  = new JObject();
                o.Add("flowtype", "wf");
                o.Add("biztype", pi.BillInfo.BizID);
                string bizName = BizCfgProviderFactory.GetBizCfgProvider().GetBizInfoNameWithLang(pi.BillInfo.BizID);
                o.Add("bizname", bizName);
                o.Add("piid", piid);
                o.Add("initiator", pi.StartUserId);
                if (tn != null)
                {
                    o.Add("taskinstid", taskid);
                    o.Add("nodeid", tn.TaskDefKey);
                    o.Add("project_name", "");
                    o.Add("taskdesc", pi.FlowDesc);
                }
                else
                {
                    o.Add("keyword", pi.FlowDesc);
                    var      dt   = WorkFlowDac.Instance.GetTaskInst(taskid);
                    DateTime time = default(DateTime);
                    if (dt.Rows.Count > 0 && dt.Rows[0]["end_time_"] != DBNull.Value)
                    {
                        time = Convert.ToDateTime(dt.Rows[0]["end_time_"]);
                    }
                    o.Add("actdt", time.ToString("yyyy-MM-dd HH:mm"));
                }
                return(o);
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
            finally
            {
                DbHelper.Close();
            }
        }
Ejemplo n.º 4
0
 public object GetAllSignature([FromUri] BaseInfoModel paramters)
 {
     try
     {
         string jsonStr = string.Empty;
         DbHelper.Open();
         DataTable dt = SignatureDac.Instance.GetSignatureInsureFile(paramters.userid);
         return(AppJsonHelper.ConvertDtToJson(dt));
     }
     catch (Exception ex)
     {
         return(DCHelper.ErrorMessage(ex.Message));
     }
     finally
     {
         DbHelper.Close();
     }
 }
Ejemplo n.º 5
0
        public object SaveBizDataByMobillApp(JObject paramJo)
        {
            string jsonStr = string.Empty;

            try
            {
                var bizdata = paramJo["bizdata"].IsNullOrEmpty() == false ? (string)paramJo["bizdata"] : string.Empty;

                WorkFlowExecutionContext ec = new WorkFlowExecutionContext();
                ec.LoadFormJson(paramJo);
                ec.IsMobile = true;
                service.SaveMobileBizData(ec, bizdata);
                return(AppJsonHelper.ConvertResultToJson(true, string.Empty));
            }
            catch (System.Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
        }
Ejemplo n.º 6
0
        public object GetDesignateInfo([FromUri] ProcessDefModel paramters)
        {
            try
            {
                string billtype = paramters.billtype ?? string.Empty;
                string billcode = paramters.billcode ?? string.Empty;
                string pdid     = paramters.pdid ?? string.Empty;

                WorkFlowBizInfo          biz = new WorkFlowBizInfo(billtype, billcode);
                WorkFlowExecutionContext ec  = new WorkFlowExecutionContext(biz);
                ec.PdId     = pdid;
                ec.UserId   = paramters.userid;
                ec.IsMobile = true;
                return(service.GetDynamicInfo(ec, true));
            }
            catch (System.Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
        }
Ejemplo n.º 7
0
        public string GetPendingTaskInstances([FromUri] BaseListModel paramters)
        {
            try
            {
                DbHelper.Open();

                int index = paramters.pageindex;

                int psize = 15;
                if (paramters.pagesize != 0)
                {
                    psize = paramters.pagesize;
                }

                string filter = "";
                if (!string.IsNullOrWhiteSpace(paramters.filter))
                {
                    filter = paramters.filter;
                }

                string sortstr = "";
                if (!string.IsNullOrWhiteSpace(paramters.sortstr))
                {
                    sortstr = paramters.sortstr;
                }

                int       rowCount = 0;
                DataTable dt       = WorkFlowDac.Instance.GetPendingTaskInstances4MobileApp(paramters.userid, psize, index, ref rowCount, filter, sortstr);


                return(DCHelper.ModelListToJson(dt, rowCount, paramters.pageindex, paramters.pagesize));
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
            finally
            {
                DbHelper.Close();
            }
        }
Ejemplo n.º 8
0
 public object Drawback()
 {
     try
     {
         bool   temp = false;
         string piid = System.Web.HttpContext.Current.Request.Params["piid"] ?? string.Empty;
         WorkFlowExecutionContext ec = new WorkFlowExecutionContext();
         ec.PiId   = piid;
         ec.UserId = NG3.AppInfoBase.UserID.ToString();
         service.ExecuteTaskRetrieve(ec, ec.UserId);
         temp = true;
         return(new JObject()
         {
             { "result", temp }
         });
     }
     catch (Exception ex)
     {
         return(DCHelper.ErrorMessage(ex.Message));
     }
 }
Ejemplo n.º 9
0
        public object GetBizFiledHelpData([FromUri] BaseListModel paramters)
        {
            try
            {
                DbHelper.Open();


                int       rowCount = 0;
                DataTable dt       = WorkFlowDac.Instance.GetMobileBizFiledHelpData(paramters.sqlstr, paramters.pagesize, paramters.pageindex, ref rowCount, paramters.filter);

                return(AppJsonHelper.ConvertDtToJson(dt, "data", rowCount));
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
            finally
            {
                DbHelper.Close();
            }
        }
Ejemplo n.º 10
0
        public object SaveAttachment()
        {
            HttpFileCollection files          = System.Web.HttpContext.Current.Request.Files;
            string             AsrAttachTable = Pub.Request("asratttable");
            var AsrTable   = Pub.Request("asrtable");
            var asrCode    = Pub.Request("asrcode");
            var AttachName = Pub.Request("attachname");
            var logid      = Pub.Request("logid");

            string errmsg = string.Empty;

            try
            {
                if (files.Count > 0)
                {
                    Stream sr = files[0].InputStream;
                    byte[] bb = new byte[sr.Length];
                    sr.Read(bb, 0, bb.Length);
                    sr.Close();

                    DllClassService dcs = new DllClassService("NG.AppFlow.Facade");
                    object          obj = dcs.Invoke("NG.AppFlow.Facade.AppFlowFacade", "SaveAttachment", new object[] { AsrAttachTable, AsrTable, asrCode, AttachName, logid, bb });

                    if (obj != null)
                    {
                        errmsg = obj.ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }

            JObject data = new JObject();

            data.Add("errmsg", errmsg);
            data.Add("status", errmsg != "1" ? "error" : "succeed");
            return(data);
        }
Ejemplo n.º 11
0
        public object Terminate(JObject paramJo)
        {
            try
            {
                //var bizData = paramJo["bizdata"].IsNullOrEmpty() == false ? (string)paramJo["bizdata"] : string.Empty;
                WorkFlowExecutionContext ec = new WorkFlowExecutionContext();
                ec.LoadFormJson(paramJo);
                ec.IsMobile = true;
                if (string.IsNullOrEmpty(ec.Remark))
                {
                    ec.Remark = "不同意";
                }

                //service.SaveMobileBizData(ec, bizData);
                service.ExecuteFlowTerminate(ec);
                return(AppJsonHelper.ConvertResultToJson(true, string.Empty));
            }
            catch (System.Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
        }
Ejemplo n.º 12
0
        public object GetAudioRemark()
        {
            string phid   = Pub.Request("audioremark");
            string errmsg = string.Empty;
            string url    = string.Empty;

            try
            {
                try
                {
                    DbHelper.Open();
                    url = NG3.WorkFlow.Engine.WorkFlowEngine.Instance.GetTaskAudioRemark(phid);
                }
                finally
                {
                    DbHelper.Close();
                }
                if (string.IsNullOrEmpty(url))
                {
                    DllClassService dcs = new DllClassService("NG.AppFlow.Facade");
                    object          obj = dcs.Invoke("NG.AppFlow.Facade.AppFlowFacade", "GetAudioRemark", new object[] { phid });

                    if (obj != null)
                    {
                        url = obj.ToString();
                    }
                }
                JObject data = new JObject();
                data.Add("url", url);
                data.Add("status", string.IsNullOrEmpty(url) ? "error" : "succeed");
                return(data);
            }
            catch (System.Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
        }
Ejemplo n.º 13
0
        public object GetAllUser([FromUri] BaseListModel paramters)
        {
            try
            {
                string jsonStr = string.Empty;
                DbHelper.Open();
                int rowCount = 0;

                DataTable dt = UserOrgIntegrationDac.Instance.SearchUsersByPageIndex(string.Empty, paramters.filter, paramters.pageindex.ToString(), paramters.pagesize.ToString(), ref rowCount);
                dt.Columns["phid"].ColumnName     = "userId";
                dt.Columns["userno"].ColumnName   = "userNo";
                dt.Columns["username"].ColumnName = "userName";
                dt.Columns["deptname"].ColumnName = "deptName";
                return(AppJsonHelper.ConvertDtToJson(dt, "data", rowCount));
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
            finally
            {
                DbHelper.Close();
            }
        }
Ejemplo n.º 14
0
        public object CheckApproveValid()
        {
            JObject rst    = new JObject();
            string  taskid = System.Web.HttpContext.Current.Request.Params["taskid"] ?? string.Empty;
            string  piid   = System.Web.HttpContext.Current.Request.Params["piid"] ?? string.Empty;

            try
            {
                NG3.WorkFlow.Engine.Models.ProcInstTraceEntity piEntity;
                try
                {
                    DbHelper.Open();
                    piEntity = WorkFlowDac.Instance.GetProcInstTraceEntity(piid);
                }
                finally
                {
                    DbHelper.Close();
                }
                WorkFlowExecutionContext ec = new WorkFlowExecutionContext(piEntity.BillInfo);
                ec.PiId     = piid;
                ec.TaskId   = taskid;
                ec.IsMobile = true;
                ApproveValidResult r    = service.CheckApproveValid(ec);
                JObject            data = new JObject();
                data.Add("result", (int)r.ValidResult);
                data.Add("msg", r.Msg);

                rst.Add("data", data);
                rst.Add("success", true);
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
            return(rst);
        }
Ejemplo n.º 15
0
        public object GetTaskHisAttachment()
        {
            Dictionary <string, object> data = new Dictionary <string, object>();

            try
            {
                DbHelper.Open();
                string piid    = HttpContext.Current.Request.Params["piid"] ?? string.Empty;
                string taskid  = HttpContext.Current.Request.Params["taskid"] ?? string.Empty;
                var    attList = NG3.WorkFlow.Engine.WorkFlowEngine.Instance.GetTaskHisAttachment(taskid);

                data.Add("data", attList);
                data.Add("status", "succeed");
                return(data);
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
            finally
            {
                DbHelper.Close();
            }
        }
Ejemplo n.º 16
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);
        }
Ejemplo n.º 17
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));
            }
        }