You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.8 KiB
C#
93 lines
3.8 KiB
C#
using SlnMesnac.LabelPrint.Bartender.equip;
|
|
using SlnMesnac.LabelPrint.Common;
|
|
using SlnMesnac.LabelPrint.Log4net;
|
|
using SlnMesnac.LabelPrint.Model;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace SlnMesnac.LabelPrint.BarTender.equip
|
|
{
|
|
public class DrumLabelPrintEquip : PrintEquip
|
|
{
|
|
private readonly LogHelper logHelper = LogHelper.Instance;
|
|
private readonly JsonChange jsonChange = JsonChange.Instance;
|
|
public override bool AddPara()
|
|
{
|
|
var para = base.ParaClass as BaseLabelInfo;
|
|
if (para != null)
|
|
{
|
|
try
|
|
{
|
|
logHelper.Info($"打印标签信息:{jsonChange.ModeToJson(para)}");
|
|
//base.EngineFormat.SubStrings["rfid"].Value =
|
|
// para.column_A.ToString() + para.column_B.ToString() + para.column_C.ToString()
|
|
// + para.column_D.ToString() + para.column_E.ToString() + para.column_F.ToString()
|
|
// + para.column_G.ToString() + para.column_H.ToString() + para.column_I.ToString()
|
|
// + para.column_J.ToString();
|
|
|
|
//stirng 转为16进制
|
|
|
|
string msg = "55BUN544858988" + para.column_D.ToString() + "@"
|
|
+ para.column_B.ToString() + "+" + para.column_A.ToString()
|
|
+ "3300074" + ReformatDate(para.column_C.ToString());
|
|
|
|
byte[] buffer = Encoding.UTF8.GetBytes(msg);
|
|
|
|
string hexString = BitConverter.ToString(buffer).Replace("-", string.Empty);
|
|
//Console.WriteLine(hexString);
|
|
|
|
base.EngineFormat.SubStrings["rfid"].Value = hexString;
|
|
|
|
base.EngineFormat.SubStrings["qrcode"].Value =
|
|
"55BUN544858988" + para.column_E.ToString() + "@"
|
|
+ para.column_C.ToString() + "+" + para.column_B.ToString();
|
|
|
|
base.EngineFormat.SubStrings["serial"].Value = para.column_B.ToString();
|
|
base.EngineFormat.SubStrings["exp.date"].Value = ReformatDate(para.column_D.ToString());
|
|
base.EngineFormat.SubStrings["lot"].Value = para.column_C.ToString();
|
|
base.EngineFormat.SubStrings["p/n"].Value = para.column_E.ToString();
|
|
base.EngineFormat.SubStrings["barcode1"].Value = "1" + para.column_D.ToString() + " " + ReformatDate(para.column_C.ToString()) + "TS";
|
|
base.EngineFormat.SubStrings["barcode2"].Value = "2" + para.column_A.ToString();
|
|
base.EngineFormat.SubStrings["barcode3"].Value = "3" + para.column_B.ToString();
|
|
//para.column_A.ToString();
|
|
|
|
return true;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine(e.ToString());
|
|
return false;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
// 私有方法:重新组合日期字符串
|
|
private static string ReformatDate(string inputDate)
|
|
{
|
|
try
|
|
{
|
|
// 使用 DateTime.ParseExact 解析输入日期字符串
|
|
DateTime date = DateTime.ParseExact(inputDate, "dd.MM.yyyy", null);
|
|
|
|
// 使用 ToString 将日期格式化为目标格式
|
|
string formattedDate = date.ToString("yyyyMMdd");
|
|
|
|
return formattedDate;
|
|
}
|
|
catch (FormatException ex)
|
|
{
|
|
// 如果解析失败,可以在这里处理异常
|
|
Console.WriteLine("日期格式不正确:" + ex.Message);
|
|
return string.Empty;
|
|
}
|
|
}
|
|
}
|
|
}
|