|
|
@@ -15,6 +15,7 @@ using UAS_LabelMachine.PublicForm;
|
|
|
using System.Threading;
|
|
|
using System.IO;
|
|
|
using System.Globalization;
|
|
|
+using System.Threading.Tasks;
|
|
|
|
|
|
namespace UAS_LabelMachine
|
|
|
{
|
|
|
@@ -138,6 +139,12 @@ namespace UAS_LabelMachine
|
|
|
/// </summary>
|
|
|
bool ComBoxClickChangeLabelDoc = false;
|
|
|
|
|
|
+ List<string> SingleParam = new List<string>();
|
|
|
+
|
|
|
+ List<string> MidParam = new List<string>();
|
|
|
+
|
|
|
+ List<string> OutParam = new List<string>();
|
|
|
+
|
|
|
public UAS_出货标签打印(string Master)
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
@@ -590,9 +597,7 @@ namespace UAS_LabelMachine
|
|
|
string la_id = SingleLabelCombox.SelectedValue.ToString().Split('#')[0];
|
|
|
string cl_labelname = SingleLabelCombox.Text;
|
|
|
string LabelUrl = dh.getFieldDataByCondition("label left join customerlabel on la_code=cl_labelcode", "cl_labelurl", "la_id='" + la_id + "' and cl_labelname='" + cl_labelname + "'").ToString();
|
|
|
- Console.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
|
|
|
AutoPrintSingleLabel(la_id, LabelUrl);
|
|
|
- Console.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -665,72 +670,208 @@ namespace UAS_LabelMachine
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void AutoPrintSingleLabel(string la_id, string LabelUrl)
|
|
|
+ private void Run1()
|
|
|
{
|
|
|
string[] arg = SingleBoxArgument.ToArray();
|
|
|
- //用标签本身的变量作为最外层的循环条件去匹配;
|
|
|
- for (int j = 0; j < SingleDoc.Variables.FreeVariables.Count; j++)
|
|
|
+ for (int j = 0; j < 3; j++)
|
|
|
+ {
|
|
|
+ //将维护的模板参数和模板本身的参数名称进行比对
|
|
|
+ StringBuilder ParamLog = new StringBuilder();
|
|
|
+ for (int k = 0; k < SingleLabelParam.Rows.Count; k++)
|
|
|
+ {
|
|
|
+ //名称相等的时候,取SQL进行值的查询
|
|
|
+ if (SingleParam[j] == SingleLabelParam.Rows[k]["lp_name"].ToString().ToLower())
|
|
|
+ {
|
|
|
+ string pib_id = LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString();
|
|
|
+ DataRow[] dr = SingleBoxCacheData.Select("pib_id=" + pib_id);
|
|
|
+ if (arg.Contains(SingleParam[j]))
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = dr[0][SingleDoc.Variables.FreeVariables.Item(j + 1).Name].ToString();
|
|
|
+ if (SingleParam[j].Contains("datecode1"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value.ToString();
|
|
|
+ }
|
|
|
+ else if (SingleParam[j].Contains("lotno"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_lotno"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_lotno"].Value.ToString();
|
|
|
+ }
|
|
|
+ else if (SingleParam[j].Contains("datecode"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode"].Value.ToString();
|
|
|
+ }
|
|
|
+ else if (SingleParam[j].Contains("产地"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_madein"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_madein"].Value.ToString();
|
|
|
+ }
|
|
|
+ else if (SingleParam[j].Contains("pib_cusbarcode"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_cusbarcode"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_cusbarcode"].Value.ToString();
|
|
|
+ }
|
|
|
+ if (SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value == "")
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = SingleLabelParam.Select("lp_name='" + SingleDoc.Variables.FreeVariables.Item(j + 1).Name + "'")[0]["lp_sql"].ToString();
|
|
|
+ }
|
|
|
+ catch (Exception)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ParamLog.AppendLine("pib_id:" + LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString() + ",SingleDoc打印参数【" + SingleParam[j] + "】赋值," + "取到值" + SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value);
|
|
|
+ }
|
|
|
+ else if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name == "DateCode1")
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value.ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ LogManager.DoLog(ParamLog.ToString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Run2()
|
|
|
+ {
|
|
|
+ string[] arg = SingleBoxArgument.ToArray();
|
|
|
+ for (int j = 0; j <6; j++)
|
|
|
{
|
|
|
//将维护的模板参数和模板本身的参数名称进行比对
|
|
|
StringBuilder ParamLog = new StringBuilder();
|
|
|
for (int k = 0; k < SingleLabelParam.Rows.Count; k++)
|
|
|
{
|
|
|
//名称相等的时候,取SQL进行值的查询
|
|
|
- if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name.ToLower() == SingleLabelParam.Rows[k]["lp_name"].ToString().ToLower())
|
|
|
+ if (SingleParam[j] == SingleLabelParam.Rows[k]["lp_name"].ToString().ToLower())
|
|
|
{
|
|
|
string pib_id = LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString();
|
|
|
DataRow[] dr = SingleBoxCacheData.Select("pib_id=" + pib_id);
|
|
|
- if (arg.Contains(SingleDoc.Variables.FreeVariables.Item(j + 1).Name))
|
|
|
- SingleDoc.Variables.FreeVariables.Item(j + 1).Value = dr[0][SingleDoc.Variables.FreeVariables.Item(j + 1).Name].ToString();
|
|
|
- if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name.ToLower().Contains("datecode1"))
|
|
|
+ if (arg.Contains(SingleParam[j]))
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = dr[0][SingleDoc.Variables.FreeVariables.Item(j + 1).Name].ToString();
|
|
|
+ if (SingleParam[j].Contains("datecode1"))
|
|
|
{
|
|
|
if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value != null)
|
|
|
- SingleDoc.Variables.FreeVariables.Item(j + 1).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value.ToString();
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value.ToString();
|
|
|
}
|
|
|
- else if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name.ToLower().Contains("lotno"))
|
|
|
+ else if (SingleParam[j].Contains("lotno"))
|
|
|
{
|
|
|
if (LabelInf.Rows[CurrentRowIndex].Cells["pib_lotno"].Value != null)
|
|
|
- SingleDoc.Variables.FreeVariables.Item(j + 1).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_lotno"].Value.ToString();
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_lotno"].Value.ToString();
|
|
|
}
|
|
|
- else if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name.ToLower().Contains("datecode"))
|
|
|
+ else if (SingleParam[j].Contains("datecode"))
|
|
|
{
|
|
|
if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode"].Value != null)
|
|
|
- SingleDoc.Variables.FreeVariables.Item(j + 1).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode"].Value.ToString();
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode"].Value.ToString();
|
|
|
}
|
|
|
- else if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name.ToLower().Contains("产地"))
|
|
|
+ else if (SingleParam[j].Contains("产地"))
|
|
|
{
|
|
|
if (LabelInf.Rows[CurrentRowIndex].Cells["pib_madein"].Value != null)
|
|
|
- SingleDoc.Variables.FreeVariables.Item(j + 1).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_madein"].Value.ToString();
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_madein"].Value.ToString();
|
|
|
}
|
|
|
- else if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name.ToLower().Contains("pib_cusbarcode"))
|
|
|
+ else if (SingleParam[j].Contains("pib_cusbarcode"))
|
|
|
{
|
|
|
if (LabelInf.Rows[CurrentRowIndex].Cells["pib_cusbarcode"].Value != null)
|
|
|
- SingleDoc.Variables.FreeVariables.Item(j + 1).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_cusbarcode"].Value.ToString();
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_cusbarcode"].Value.ToString();
|
|
|
}
|
|
|
- if (SingleDoc.Variables.FreeVariables.Item(j + 1).Value == "")
|
|
|
+ if (SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value == "")
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- SingleDoc.Variables.FreeVariables.Item(j + 1).Value = SingleLabelParam.Select("lp_name='" + SingleDoc.Variables.FreeVariables.Item(j + 1).Name + "'")[0]["lp_sql"].ToString();
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = SingleLabelParam.Select("lp_name='" + SingleDoc.Variables.FreeVariables.Item(j + 1).Name + "'")[0]["lp_sql"].ToString();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
- ParamLog.AppendLine("pib_id:" + LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString() + ",SingleDoc打印参数【" + SingleDoc.Variables.FreeVariables.Item(j + 1).Name + "】赋值," + "取到值" + SingleDoc.Variables.FreeVariables.Item(j + 1).Value);
|
|
|
+ ParamLog.AppendLine("pib_id:" + LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString() + ",SingleDoc打印参数【" + SingleParam[j] + "】赋值," + "取到值" + SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value);
|
|
|
}
|
|
|
else if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name == "DateCode1")
|
|
|
{
|
|
|
if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value != null)
|
|
|
- SingleDoc.Variables.FreeVariables.Item(j + 1).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value.ToString();
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value.ToString();
|
|
|
}
|
|
|
}
|
|
|
LogManager.DoLog(ParamLog.ToString());
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Run3()
|
|
|
+ {
|
|
|
+ string[] arg = SingleBoxArgument.ToArray();
|
|
|
+ for (int j = 0; j < 10; j++)
|
|
|
+ {
|
|
|
+ //将维护的模板参数和模板本身的参数名称进行比对
|
|
|
+ StringBuilder ParamLog = new StringBuilder();
|
|
|
+ for (int k = 0; k < SingleLabelParam.Rows.Count; k++)
|
|
|
+ {
|
|
|
+ //名称相等的时候,取SQL进行值的查询
|
|
|
+ if (SingleParam[j] == SingleLabelParam.Rows[k]["lp_name"].ToString().ToLower())
|
|
|
+ {
|
|
|
+ string pib_id = LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString();
|
|
|
+ DataRow[] dr = SingleBoxCacheData.Select("pib_id=" + pib_id);
|
|
|
+ if (arg.Contains(SingleParam[j]))
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = dr[0][SingleDoc.Variables.FreeVariables.Item(j + 1).Name].ToString();
|
|
|
+ if (SingleParam[j].Contains("datecode1"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value.ToString();
|
|
|
+ }
|
|
|
+ else if (SingleParam[j].Contains("lotno"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_lotno"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_lotno"].Value.ToString();
|
|
|
+ }
|
|
|
+ else if (SingleParam[j].Contains("datecode"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode"].Value.ToString();
|
|
|
+ }
|
|
|
+ else if (SingleParam[j].Contains("产地"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_madein"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_madein"].Value.ToString();
|
|
|
+ }
|
|
|
+ else if (SingleParam[j].Contains("pib_cusbarcode"))
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_cusbarcode"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_cusbarcode"].Value.ToString();
|
|
|
+ }
|
|
|
+ if (SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value == "")
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = SingleLabelParam.Select("lp_name='" + SingleDoc.Variables.FreeVariables.Item(j + 1).Name + "'")[0]["lp_sql"].ToString();
|
|
|
+ }
|
|
|
+ catch (Exception)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ParamLog.AppendLine("pib_id:" + LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString() + ",SingleDoc打印参数【" + SingleParam[j] + "】赋值," + "取到值" + SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value);
|
|
|
+ }
|
|
|
+ else if (SingleDoc.Variables.FreeVariables.Item(j + 1).Name == "DateCode1")
|
|
|
+ {
|
|
|
+ if (LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value != null)
|
|
|
+ SingleDoc.Variables.FreeVariables.Item(SingleParam[j]).Value = LabelInf.Rows[CurrentRowIndex].Cells["pib_datecode1"].Value.ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ LogManager.DoLog(ParamLog.ToString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void AutoPrintSingleLabel(string la_id, string LabelUrl)
|
|
|
+ {
|
|
|
+ //用标签本身的变量作为最外层的循环条件去匹配;
|
|
|
+ Console.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
|
|
|
+ Parallel.Invoke(Run1, Run2);
|
|
|
+ Console.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
|
|
|
//保存参数打印
|
|
|
SingleDoc.Printer.SwitchTo(SingleLabelPrinter.Text);
|
|
|
SingleDoc.PrintDocument();
|
|
|
+ Console.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
|
|
|
LogManager.DoLog("执行打印单盘,pib_id:" + LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString() + ",标签地址" + LabelUrl);
|
|
|
LabelInf.Rows[CurrentRowIndex].Cells["pib_ifprint"].Value = true;
|
|
|
}
|
|
|
@@ -1090,6 +1231,10 @@ namespace UAS_LabelMachine
|
|
|
SingleDoc = lbl.Documents.Open(ftpOperater.DownLoadTo + SingleLabelCombox.Text);
|
|
|
SingleLabelParam = (DataTable)dh.ExecuteSql("select lp_name,lp_sql from label left join LABELPARAMETER on la_id= lp_laid where la_id=" + SingleLabelCombox.SelectedValue.ToString().Split('#')[0], "select");
|
|
|
SingleLabelParam.Merge(Attach);
|
|
|
+ for (int i = 0; i < SingleDoc.Variables.FreeVariables.Count; i++)
|
|
|
+ {
|
|
|
+ SingleParam.Add(SingleDoc.Variables.FreeVariables.Item(i + 1).Name);
|
|
|
+ }
|
|
|
}
|
|
|
sql.Clear();
|
|
|
sql.Append("select to_char(nvl(cl_date,sysdate),'YYYY-MM-DD HH24:Mi:SS') cl_date,cl_labelname,cl_isdefault,la_id||'#'||cl_labelurl||'#'||to_char(cl_date,'YYYY-MM-DD HH24:Mi:SS') la_id,cl_custcode from customerlabel left join prodinout on pi_cardcode=cl_custcode ");
|