Sfoglia il codice sorgente

修改打印直接使用文件

章政 8 anni fa
parent
commit
1d1c49218a
1 ha cambiato i file con 17 aggiunte e 8 eliminazioni
  1. 17 8
      UAS-MES/PublicMethod/Print.cs

+ 17 - 8
UAS-MES/PublicMethod/Print.cs

@@ -64,30 +64,39 @@ namespace UAS_MES.PublicMethod
             info.LastWriteTime = intime;
         }
 
-        public static void CodeSoft(ApplicationClass lbl, string LabelName, string LabelCode, string PrinterName, string SnCode)
+        public static void CodeSoft(string iCaller, Document doc, string LabelName, string LabelCode, string PrinterName, string SnCode, int PrintNum, System.DateTime intime)
         {
             //打开模板路径
-            doc = lbl.Documents.Open(ftpOperater.DownLoadTo + LabelName);
             //查询模板对应的取值SQL和参数名称
             DataTable dt = (DataTable)dh.ExecuteSql("select lp_name,lp_sql from label left join LABELPARAMETER on la_id=lp_laid where la_code='" + LabelCode + "'", "select");
             //比对模板维护的参数和在系统中维护的参数,名称对应进行SQL取值赋给变量
-            for (int i = 0; i < doc.Variables.FreeVariables.Count; i++)
+            StringBuilder sb = new StringBuilder();
+            for (int i = 0; i < doc.Variables.FormVariables.Count; i++)
             {
                 for (int j = 0; j < dt.Rows.Count; j++)
                 {
-                    if (doc.Variables.FreeVariables.Item(i + 1).Name == dt.Rows[j]["lp_name"].ToString())
+                    if (doc.Variables.FormVariables.Item(i + 1).Name == dt.Rows[j]["lp_name"].ToString())
                     {
                         string sql = dt.Rows[j]["lp_sql"].ToString();
-                        sql = sql.Substring(0, sql.IndexOf("{")) + "'" + SnCode + "'";
-                        doc.Variables.FreeVariables.Item(i + 1).Value = dh.GetLabelParam(sql).ToString();
+                        try
+                        {
+                            sql = sql.Substring(0, sql.IndexOf("{")) + "'" + SnCode + "'";
+                            doc.Variables.FormVariables.Item(i + 1).Value = dh.GetLabelParam(sql).ToString();
+                            sb.AppendLine("打印参数【" + doc.Variables.FormVariables.Item(i + 1).Name + "】赋值," + "取值SQL:" + sql + ",取到值" + doc.Variables.FormVariables.Item(i + 1).Value);
+                        }
+                        catch (System.Exception)
+                        {
+                            BaseUtil.ShowError("SQL" + sql + "维护不正确");
+                        }
                     }
                 }
             }
+            LogManager.DoLog(sb.ToString());
             //保存本次赋值进行打印
             doc.Save();
             doc.Printer.SwitchTo(PrinterName);
-            doc.PrintDocument();
-            doc.Close();
+            doc.PrintDocument(PrintNum);
+            LogicHandler.DoCommandLog(iCaller, User.UserCode, "", User.UserLineCode, User.UserSourceCode, "打印", "成功打印", SnCode, "");
         }
     }
 }