Example #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(FK_Node.ToString()) || string.IsNullOrEmpty(WorkID.ToString()))
            {
                divMenu.InnerHtml = "<h1 style='color:red'>传入参数错误!<h1>";
                return;
            }

            if (!IsPostBack)
            {
                ReadFile();

                string type = Request["action"];
                if (string.IsNullOrEmpty(type))
                {
                    LoadMenu(true);
                }
                else
                {
                    LoadMenu(false);
                    if (type.Equals("LoadFile"))
                    {
                        LoadFile();
                    }
                    else if (type.Equals("SaveFile"))
                    {
                        SaveFile();
                    }
                    else if (type.Equals("LoadOver"))
                    {
                        GetFileBytes();
                    }
                    else if (type.Equals("SaveBak"))
                    {
                        SaveBak();
                    }
                    else
                    {
                        throw new Exception("传入的参数不正确!");
                    }
                }
            }
        }
Example #2
0
        private void SaveFile()
        {
            string message = "true";

            try
            {
                HttpFileCollection files = HttpContext.Current.Request.Files;

                BP.WF.Node node = new BP.WF.Node(FK_Node);

                string fileStart = WorkID.ToString();
                if (node.HisNodeWorkType == NodeWorkType.SubThreadWork)
                {
                    fileStart = FID.ToString();
                }

                //string file = Request["Path"];
                //file = HttpUtility.UrlDecode(file, Encoding.UTF8);

                string   path = Server.MapPath("~/DataUser/OfficeFile/" + FK_Flow + "/");
                string[] haveFiles = Directory.GetFiles(path);
                string   fileName = "", fileExtension = "";

                bool isHave = false;
                foreach (string file in haveFiles)
                {
                    FileInfo fileInfo = new FileInfo(file);
                    if (fileInfo.Name.StartsWith(fileStart + "."))
                    {
                        fileInfo.Delete();
                    }
                }

                if (files.Count > 0)
                {
                    ///'检查文件扩展名字
                    HttpPostedFile postedFile = files[0];
                    fileName = System.IO.Path.GetFileName(postedFile.FileName);

                    if (fileName != "")
                    {
                        //if (!isHave)
                        fileExtension = System.IO.Path.GetExtension(fileName);



                        postedFile.SaveAs(path + "\\" + fileStart + fileExtension);


                        if (IsSavePDF)
                        {
                            using (WebClient wc = new WebClient())
                            {
                                string url = "http://" + Request.Url.Authority + BP.WF.Glo.CCFlowAppPath + "WF/WebOffice/OfficeServices.ashx";
                                Uri    uri = new Uri(url);


                                string json = "Start=" + fileStart + "&Path=" + path + "&Extension=" + fileExtension + "&Type=savePDF";
                                //"{\"Start\":\"" + fileStart + "\",\"Path\":\"" + path + "\",\"Extension\":\"" + fileExtension + "\",\"Type\":\"savePDF\"}";
                                wc.Encoding = System.Text.Encoding.UTF8;

                                NameValueCollection value = new NameValueCollection();
                                value.Add("Start", fileStart);
                                value.Add("Path", path);
                                value.Add("Extension", fileExtension);
                                value.Add("Type", "savePDF");
                                wc.QueryString = value;
                                wc.UploadStringAsync(uri, "PUT", json, wc);
                            }
                        }
                    }
                    #region 标示已经自动套红
                    if (IsTrueTH)
                    {
                        //BP.Data.XCWordOver wordOver = new BP.Data.XCWordOver();
                        //  wordOver.ID = int.Parse(this.WorkID.ToString());
                        //  wordOver.IsOVer = true;
                        //  wordOver.Insert();
                    }
                    #endregion 标示已经自动套红

                    //try
                    //{


                    //    Microsoft.Office.Interop.Word.Application appClass = new Microsoft.Office.Interop.Word.Application();
                    //    appClass.Visible = false;

                    //    Object missing = System.Reflection.Missing.Value;

                    //    object fileNameR = path + "\\" + fileStart + fileExtension;
                    //    var wordDoc = appClass.Documents.Open(ref fileNameR, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);


                    //    object format = WdSaveFormat.wdFormatPDF;
                    //    object savePath = path + "\\" + fileStart + ".pdf";
                    //    wordDoc.SaveAs(ref savePath, ref format, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
                    //    wordDoc.Close();

                    //}
                    //catch (Exception ex)
                    //{

                    //}
                }
            }
            catch (Exception ex)
            {
                message = ex.Message.ToString();
            }
            this.Response.Clear();
            this.Response.Write(message);
            this.Response.End();
        }
Example #3
0
        private void ReadFile()
        {
            string path = Server.MapPath("~/DataUser/OfficeFile/" + FK_Flow + "/");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string[] files  = Directory.GetFiles(path);
            bool     isHave = false;

            BP.WF.Node node = new BP.WF.Node(FK_Node);



            string fileStart = WorkID.ToString();

            if (node.HisNodeWorkType == NodeWorkType.SubThreadWork)
            {
                fileStart = FID.ToString();
            }

            try
            {
                WorkFlow workflow = new WorkFlow(this.FK_Flow, this.WorkID);

                if (workflow.HisGenerWorkFlow.PWorkID != 0)
                {
                    BtnLab btnLab = new BtnLab(this.FK_Node);
                    if (btnLab.OfficeIsParent)
                    {
                        fileStart = workflow.HisGenerWorkFlow.PWorkID.ToString();
                    }
                }
            }
            catch (Exception)
            {
            }

            foreach (string file in files)
            {
                FileInfo fileInfo = new FileInfo(file);
                if (fileInfo.Name.StartsWith(fileStart + ".") && fileInfo.Name.Contains(".doc"))
                {
                    fileName.Text = fileInfo.Name;
                    fileType.Text = fileInfo.Extension.TrimStart('.');
                    isHave        = true;
                    break;
                }
            }

            foreach (string file in files)
            {
                FileInfo fileInfo = new FileInfo(file);
                if (fileInfo.Name.StartsWith(fileStart + "Mark."))
                {
                    MarkName = fileInfo.Name;
                    break;
                }
            }
            if (!isHave)
            {
                if (node.IsStartNode)
                {
                    //加载template
                    BtnLab btnLab = new BtnLab(this.FK_Node);
                    OfficeTemplate = btnLab.OfficeTemplate;

                    if (!string.IsNullOrEmpty(OfficeTemplate))
                    {
                        fileName.Text  = "/" + OfficeTemplate;
                        fileType.Text  = OfficeTemplate.Split('.')[1];
                        IsLoadTempLate = true;
                    }
                }

                //if (node.HisNodeWorkType == NodeWorkType.SubThreadWork)
                //{
                //    File.Exists(path+)
                //    foreach (string file in files)
                //    {
                //        FileInfo fileInfo = new FileInfo(file);
                //        if (fileInfo.Name.StartsWith(this.FID.ToString()))
                //        {
                //            fileInfo.CopyTo(path + "\\" + this.WorkID + fileInfo.Extension);
                //            fileName.Text = this.WorkID + fileInfo.Extension;
                //            fileType.Text = fileInfo.Extension.TrimStart('.');
                //            break;
                //        }
                //    }
                //}
            }
            else
            {
                //    if (node.HisNodeWorkType == NodeWorkType.WorkHL || node.HisNodeWorkType == NodeWorkType.WorkFHL)
                //    {

                //        GenerWorkFlows generWorksFlows = new GenerWorkFlows();
                //        generWorksFlows.RetrieveByAttr(GenerWorkFlowAttr.FID, this.WorkID);
                //        string tempH = "";
                //        foreach (GenerWorkFlow generWork in generWorksFlows)
                //        {
                //            tempH += generWork.WorkID + ",";
                //        }
                //        HeBing = tempH.TrimEnd(',');
                //    }
            }
        }
Example #4
0
        private void SaveBak()
        {
            string result = "true";

            try
            {
                HttpFileCollection files = HttpContext.Current.Request.Files;

                BP.WF.Node node = new BP.WF.Node(FK_Node);

                string fileStart = WorkID.ToString() + "Mark";
                if (node.HisNodeWorkType == NodeWorkType.SubThreadWork)
                {
                    fileStart = FID.ToString();
                }

                //string file = Request["Path"];
                //file = HttpUtility.UrlDecode(file, Encoding.UTF8);

                string   path = Server.MapPath("~/DataUser/OfficeFile/" + FK_Flow + "/");
                string[] haveFiles = Directory.GetFiles(path);
                string   fileName = "", fileExtension = "";

                bool isHave = false;
                foreach (string file in haveFiles)
                {
                    FileInfo fileInfo = new FileInfo(file);
                    if (fileInfo.Name.StartsWith(fileStart + "."))
                    {
                        isHave = true;
                    }
                }
                if (isHave)
                {
                    fileStart += "." + Guid.NewGuid().ToString("N");
                }

                if (files.Count > 0)
                {
                    ///'检查文件扩展名字
                    HttpPostedFile postedFile = files[0];
                    fileName = System.IO.Path.GetFileName(postedFile.FileName);

                    if (fileName != "")
                    {
                        // if (!isHave)
                        fileExtension = System.IO.Path.GetExtension(fileName);

                        postedFile.SaveAs(path + "\\" + fileStart + fileExtension);
                        this.MarkName = fileStart + fileExtension;
                    }
                }
            }
            catch (Exception e)
            {
                result = "false";
            }

            this.Response.Clear();
            this.Response.Write(result);
            this.Response.End();
        }
Example #5
0
        public Boolean DoProcessing()
        {
            Boolean Ret;
            Int32   i;
            Int32   WorkID;
            String  Appdata1, Lastworkid;

            AppSupport.objLog.WriteLog("DoProcessing", "Starts");

            Ret = true;
            while (Ret)
            {
ReadAgain:
                if (!objInterface.CanContinueProcessing())
                {
                    return(true);
                }

                Ret = DoRead();
                if (!Ret)
                {
                    AppSupport.objLog.WriteLog("Read", "FAILED");
                    return(false);
                }

                if (ReadInfo.Count == 0)
                {
                    GetSomeSleep(AppSupport.SleepTime);
                    goto ReadAgain;
                }

                for (i = 0; i < ReadInfo.Count; i++)
                {
                    if (!objInterface.CanContinueProcessing())
                    {
                        return(true);
                    }

                    objInterface.PreparetoProcessItem();

                    WorkID   = ReadInfo[i].Id;
                    Appdata1 = ReadInfo[i].Appdata1;

                    objInterface.SetCurrentItem(Appdata1);

                    AppSupport.objLog.WriteLog("GetWorkitem", "AppData1:" + Appdata1, "STARTS");
                    Ret = DoGetWorkitemById(WorkID);
                    if (Ret)
                    {
                        AppSupport.objLog.WriteLog("GetWorkitem", "AppData1:" + Appdata1, "SUCCESS");
                    }
                    else
                    {
                        AppSupport.objLog.WriteLog("GetWorkitem", "AppData1:" + Appdata1, "FAILED");
                    }

                    AppSupport.objLog.WriteLog("GetData", "AppData1:" + Appdata1, "STARTS");
                    Ret = DoGetdata(WorkID);
                    if (Ret)
                    {
                        AppSupport.objLog.WriteLog("GetData", "AppData1:" + Appdata1, "SUCCESS");
                    }
                    else
                    {
                        AppSupport.objLog.WriteLog("GetData", "AppData1:" + Appdata1, "FAILED");
                        return(false);
                    }

                    Lastworkid = IniFile.ReadValue(AppSupport.CrashRecoveryPath, "LastWorkID", "Export");
                    if (Lastworkid == WorkID.ToString())
                    {
                        AppSupport.objLog.WriteLog("WorkID:" + WorkID, "DoDocumentum Done");
                        goto UpdateCase;
                    }

                    if (AppSupport.ConvertPdf)
                    {
                        AppSupport.objLog.WriteLog("ConvertPdf", "AppData1:" + Appdata1, "STARTS");
                        DoMakeSearchablePdf();
                        AppSupport.objLog.WriteLog("ConvertPdf", "AppData1:" + Appdata1, "ENDS");
                    }

                    AppSupport.objLog.WriteLog("DocumentumUpload", "AppData1:" + Appdata1, "STARTS");
                    Ret = DoDocumentum();
                    if (Ret)
                    {
                        AppSupport.objLog.WriteLog("DocumentumUpload", "AppData1:" + Appdata1, "SUCCESS");
                    }
                    else
                    {
                        AppSupport.objLog.WriteLog("DocumentumUpload", "AppData1:" + Appdata1, "FAILED");
                        return(false);
                    }

                    IniFile.WriteValue(AppSupport.CrashRecoveryPath, "LastWorkID", "Export", WorkID.ToString());

UpdateCase:
                    AppSupport.objLog.WriteLog("UpdateWorkitem", "AppData1:" + Appdata1, "STARTS");
                    Ret = DoWorkqUpdation(WorkID, Appdata1);
                    if (Ret)
                    {
                        AppSupport.objLog.WriteLog("UpdateWorkitem", "AppData1:" + Appdata1, "SUCCESS");
                    }
                    else
                    {
                        AppSupport.objLog.WriteLog("UpdateWorkitem", "AppData1:" + Appdata1, "FAILED");
                        return(false);
                    }

                    objInterface.CompletedItem();
                    objInterface.SetCount();
                    objInterface.SetCurrentItem("");
                }
            }

            AppSupport.objLog.WriteLog("DoProcessing", "Ends");
            return(Ret);
        }