From 46de7a7f8ab3a5ef9dcca682172fd338b99af06a Mon Sep 17 00:00:00 2001 From: sunliang <593170460@qq.com> Date: Mon, 18 Dec 2023 17:57:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=93=E5=8D=B0=E6=97=B6AS?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E6=98=BE=E7=A4=BAASYS=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E5=BC=80=E5=8F=91=E8=80=85=E8=A1=A8=E5=8D=95=E7=94=9F?= =?UTF-8?q?=E6=88=90word=E5=90=8D=E7=A7=B0=E6=9C=AA=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CCFlow/Components/BP.En30/Pub/Engine.cs | 43 ++++++++++++++++++- .../BP.WF/HttpHandler/WF_WorkOpt.cs | 16 ++++--- 2 files changed, 52 insertions(+), 7 deletions(-) diff --git a/CCFlow/Components/BP.En30/Pub/Engine.cs b/CCFlow/Components/BP.En30/Pub/Engine.cs index 7408c61d..95f69f1c 100644 --- a/CCFlow/Components/BP.En30/Pub/Engine.cs +++ b/CCFlow/Components/BP.En30/Pub/Engine.cs @@ -17,6 +17,7 @@ using System.Linq; using System.Collections.Generic; using Spire.Doc.Documents; using NPOI.SS.Formula.Functions; +using System.Diagnostics; namespace BP.Pub @@ -1331,6 +1332,16 @@ trgaph108\trleft5\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\br docs.Paragraphs[1].Range.Delete(); docs.SaveAs2(path); docs.Close(); + Process[] current = Process.GetProcesses(); + //遍历与当前进程名称相同的进程列表 + foreach (Process process in current) + { + //如果实例已经存在则kill当前进程 + if (process.ProcessName.ToUpper().Equals("WINWORD")) + { + process.Kill(); break; + } + } } catch (Exception ex) { @@ -1454,7 +1465,14 @@ trgaph108\trleft5\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\br string name = D3.Split(',')[i].ToString(); if (name.Length > 1) { - name=name.Substring(0, 1).ToUpper() + name.Substring(1).ToLower(); + if (name == "ASYS") + { + name = "As"; + } + else + { + name = name.Substring(0, 1).ToUpper() + name.Substring(1).ToLower();//将元素改成首位大写次位小写 + } } //如果都没有值择把这个元素移除 @@ -1670,6 +1688,11 @@ trgaph108\trleft5\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\br sql += "and " + D1 + "='" + D1date.Split(',')[j] + "'"; } string named3 = D3date.Split(',')[d3Knum].ToString(); + //取数据时再将As转回未ASYS否则取不到数据 + if (named3=="As") + { + named3 = "ASYS"; + } int ss = data.Select(sql).Count(); string ds = data.Select(sql)[0][named3].ToString(); //if (string.IsNullOrEmpty(ds)) @@ -1697,7 +1720,13 @@ trgaph108\trleft5\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\br { sql += "and " + D1 + "='" + D1date.Split(',')[j] + "'"; } - string ds = data.Select(sql)[0][D3date.Split(',')[d3Knum].ToString()].ToString(); + string named3 = D3date.Split(',')[d3Knum].ToString(); + //取数据时再将As转回未ASYS否则取不到数据 + if (named3 == "As") + { + named3 = "ASYS"; + } + string ds = data.Select(sql)[0][named3].ToString(); //if (string.IsNullOrEmpty(ds)) //{ // ds = "W"; @@ -1735,6 +1764,16 @@ trgaph108\trleft5\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\br docs.Paragraphs[1].Range.Delete(); docs.SaveAs2(path); docs.Close(); + Process[] current = Process.GetProcesses(); + //遍历与当前进程名称相同的进程列表 + foreach (Process process in current) + { + //如果实例已经存在则kill当前进程 + if (process.ProcessName.ToUpper().Equals("WINWORD")) + { + process.Kill(); break; + } + } } catch (Exception ex) { diff --git a/CCFlow/Components/BP.WF/HttpHandler/WF_WorkOpt.cs b/CCFlow/Components/BP.WF/HttpHandler/WF_WorkOpt.cs index d159eea6..3996c069 100644 --- a/CCFlow/Components/BP.WF/HttpHandler/WF_WorkOpt.cs +++ b/CCFlow/Components/BP.WF/HttpHandler/WF_WorkOpt.cs @@ -425,7 +425,6 @@ namespace BP.WF.HttpHandler return PrintDoc_ChapterFormDoneIt(nd, workID, pkval, formID, func, wk, mapData); } string file = DateTime.Now.Year + "_" + WebUser.DeptNo + "_" + func.MyPK + "_" + WorkID + ".doc"; - string tempFile = func.TempFilePath; if (tempFile.Contains(".rtf") == false) tempFile = tempFile + ".rtf"; @@ -557,13 +556,19 @@ namespace BP.WF.HttpHandler } paths = file.Split('_'); + //paths = file; path = paths[0] + "/" + paths[1] + "/" + paths[2] + "/"; string fileModelT = "rtf"; if ((int)func.TemplateFileModel == 1) fileModelT = "word"; - - string billUrl = "file@" + fileModelT + "@" + BP.WF.Glo.CCFlowAppPath + "DataUser/Bill/" + path + file; - + #region BKGY替换word名称 20231026 sunliang + string sql = "select TITLE from WF_GENERWORKFLOW where workid='" + WorkID + "'"; + string name = DBAccess.RunSQLReturnString(sql); + var s = name.Split('_'); + string da = s[0].ToString().Replace("#", "号") + ".doc"; + #endregion + //string billUrl = "file@" + fileModelT + "@" + BP.WF.Glo.CCFlowAppPath + "DataUser/Bill/" + path + file; + string billUrl = "file@" + fileModelT + "@" + BP.WF.Glo.CCFlowAppPath + "DataUser/Bill/" + path + da; if (func.HisPrintFileType == PrintFileType.PDF) billUrl = billUrl.Replace(".doc", ".pdf"); @@ -578,7 +583,8 @@ namespace BP.WF.HttpHandler //用于扫描打印. string qrUrl = SystemConfig.HostURL + "WF/WorkOpt/PrintDocQRGuide.htm?MyPK=" + func.MyPK; - rtf.MakeDoc(tempFile, path, file, qrUrl); + rtf.MakeDoc(tempFile, path, da, qrUrl); + //rtf.MakeDoc(tempFile, path, file, qrUrl); #endregion #region 转化成pdf.