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.

821 lines
41 KiB
C#

using FrmPrint;
using Mesnac.Compressor.Data;
using Mesnac.Compressor.Entity;
using Mesnac.Compressor.Unity;
using Mesnac.HighWay.ATC.Common;
using Mesnac.HighWay.ATC.SqlSugar.serviceImpl;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
namespace BarTenderPrint
{
public class PrintManager
{
public delegate void ShowMessageEvent(string barcode);
public event ShowMessageEvent RefreshShowMessageEvent;
private static INIFile iNIFile = new INIFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "App.InI");
public async void Print(Print Print, List<TBDProductInfo> TBDProductInfo)
{
MLable mlb = new MLable();
BoxLable boxlb = new BoxLable();
barcodLable barcodelb = new barcodLable();
string printType = "";
string Serialnum = "";
string type = "";
//查询机种信息
string ShiftNo = Print.Shift;
#region 从数据库获取打印数据
try
{
if (TBDProductInfo != null && TBDProductInfo.Count > 0)
{
//0表示正常品1表示试制品
type = TBDProductInfo[0].ProductType;
//打印那种标签
printType = TBDProductInfo[0].PrintType;
//车间字段
mlb.ShopID = TBDProductInfo[0].ShopID;
//日期前面是否+A
mlb.HasA = Convert.ToInt16(TBDProductInfo[0].HasA) == 1;
//是否有另一处需要+时间的地方
mlb.HasDate = Convert.ToInt16(TBDProductInfo[0].HasDate) == 1;
//名牌模板位置
mlb.TempName = TBDProductInfo[0].MPTemplate.ToString();
boxlb.MachineNam = TBDProductInfo[0].ProductName.ToString();
//barcodelb.ZJWeight = ZJweight;
//前缀
barcodelb.PreString = TBDProductInfo[0].Prefix.ToString();
barcodelb.EndString = TBDProductInfo[0].Suffix.ToString();
//条码模板位置
barcodelb.TempName = TBDProductInfo[0].TMTemplate.ToString();
//铭牌编码方式
barcodelb.codeType = TBDProductInfo[0].CodeType.ToString();
}
else
{
Console.WriteLine("未找到该机种信息");
//没绑定托盘说明70工位未绑定上线机壳
//生成
}
}
catch (Exception ex)
{
Console.WriteLine("未找到该机种信息" + ex);
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
#region 获取序列号
Serialnum = Print.Serialnum;
#endregion
barcodelb.PrintType = printType;
barcodelb.SerialNum = Serialnum;
barcodelb.ShiftNo = ShiftNo;
//barcodelb.Date = DateTime.Now;
2 months ago
//barcodelb.Date = Convert.ToDateTime(Print.starttime);
mlb.PrintType = printType;
mlb.serialNum = Serialnum;
mlb.ShiftNO = getShift(ShiftNo);
//mlb.Date = DateTime.Now;
2 months ago
//mlb.Date = Convert.ToDateTime(Print.starttime);
int itype = 0;
if (!string.IsNullOrEmpty(printType))
{
itype = Convert.ToInt32(printType);
}
//判断是否需要打印铭牌
if (!string.IsNullOrEmpty(mlb.TempName))
{
#region 打印铭牌
try
{
//这些每个机种应该都谁确定的,在数据库里保存,以后可以一个存储过程去获取
//if (true)
//{
2 months ago
// ExitRePrint();
// RefreshShowMessageEvent?.Invoke(Print.barcode + "铭牌打印成功!");
// LogHelper.Info(Print.barcode + "铭牌打印成功!");
// //插库存储条码及序列号
// baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
// BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
// BarcodePrintInfo.ProductBarcode = Print.barcode;
// BarcodePrintInfo.ProductID = Print.Machine.ToString();
2 months ago
// BarcodePrintInfo.SerialNo = DateTime.Parse(Print.starttime.ToString()).ToString("yyMMdd") + "D" + Print.Shift + Serialnum;
// BarcodePrintInfo.IsRestart = Print.isRestart.ToString();
// BarcodePrintInfo.ShiftID = ShiftNo;
// BarcodePrintInfo.InsertTime = DateTime.Now;
// await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
// RefreshShowMessageEvent?.Invoke(Print.barcode + "铭牌打印记录存储完成!");
// LogHelper.Info(Print.barcode + "铭牌打印记录存储完成!");
2 months ago
// iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
// return;
//}
LogHelper.Info(Print.barcode + "开始打印铭牌");
PrintEquip Smallequip = new NamePlatePrintEquip();
Smallequip.tempPath = mlb.TempName;
Smallequip.ParaClass = mlb;
Smallequip.Open();
bool bflag = Smallequip.print();
if (bflag)
{
ExitRePrint();
RefreshShowMessageEvent?.Invoke(Print.barcode + "铭牌打印成功!");
LogHelper.Info(Print.barcode + "铭牌打印成功!");
//插库存储条码及序列号
baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
BarcodePrintInfo.ProductBarcode = Print.barcode;
BarcodePrintInfo.ProductID = Print.Machine.ToString();
2 months ago
BarcodePrintInfo.SerialNo = DateTime.Parse(Print.starttime.ToString()).ToString("yyMMdd") + "D"+ Print.Shift + Serialnum;
BarcodePrintInfo.IsRestart = Print.isRestart.ToString();
BarcodePrintInfo.ShiftID = ShiftNo;
BarcodePrintInfo.InsertTime = DateTime.Now;
await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
RefreshShowMessageEvent?.Invoke(Print.barcode + "铭牌打印记录存储完成!");
LogHelper.Info(Print.barcode + "铭牌打印记录存储完成!");
2 months ago
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
}
else
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
}
Smallequip.Colse();
}
catch (Exception ex)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
}
if (!string.IsNullOrEmpty(barcodelb.TempName))
{
//0打印条码1打印纸箱标签
if (itype == 1)
{
#region 纸箱标签
try
{
Console.WriteLine("开始打印纸箱标签");
PrintEquip equip = new CartonPrintEquip();
equip.tempPath = "";
equip.ParaClass = boxlb;
equip.Open();
equip.print();
equip.Colse();
}
catch (Exception ex)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
}
else if (itype == 0)
{
#region 条码标签
try
{
Console.WriteLine("开始打印条码标签");
2 months ago
//if (true)
//{
// iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
// RefreshShowMessageEvent?.Invoke(Print.barcode + "条码标签打印成功!");
// LogHelper.Info(Print.barcode + "条码标签打印成功!");
// //插库存储条码及序列号
// baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
// BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
// BarcodePrintInfo.ProductBarcode = Print.barcode;
// BarcodePrintInfo.ProductID = Print.Machine.ToString();
// BarcodePrintInfo.SerialNo = DateTime.Now.ToString("yyMMdd") + Serialnum;
// BarcodePrintInfo.IsRestart = Print.isRestart.ToString();
// BarcodePrintInfo.ShiftID = ShiftNo;
// BarcodePrintInfo.InsertTime = DateTime.Now;
// await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
// RefreshShowMessageEvent?.Invoke(Print.barcode + "条码打印记录存储完成!");
// LogHelper.Info(Print.barcode + "条码打印记录存储完成!");
//}
PrintEquip equip = new barcodePrintEquip();
equip.tempPath = barcodelb.TempName;
equip.ParaClass = barcodelb;
equip.Open();
2 months ago
bool bflag = equip.print();
if (bflag)
{
RefreshShowMessageEvent?.Invoke(Print.barcode + "条码标签打印成功!");
LogHelper.Info(Print.barcode + "条码标签打印成功!");
//插库存储条码及序列号
baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
BarcodePrintInfo.ProductBarcode = Print.barcode;
BarcodePrintInfo.ProductID = Print.Machine.ToString();
BarcodePrintInfo.SerialNo = DateTime.Parse(Print.starttime.ToString()).ToString("yyMMdd") + "D" + Print.Shift + Serialnum;
BarcodePrintInfo.IsRestart = Print.isRestart.ToString();
BarcodePrintInfo.ShiftID = ShiftNo;
BarcodePrintInfo.InsertTime = DateTime.Now;
await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
RefreshShowMessageEvent?.Invoke(Print.barcode + "条码打印记录存储完成!");
LogHelper.Info(Print.barcode + "条码打印记录存储完成!");
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
}
equip.Colse();
}
catch (Exception ex)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
}
else if (itype == 2)
{
#region 二维码标签
try
{
2 months ago
//if (true)
//{
// iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
// RefreshShowMessageEvent?.Invoke(Print.barcode + "二维码标签打印成功!");
// LogHelper.Info(Print.barcode + "二维码标签打印成功!");
// //插库存储条码及序列号
// baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
// BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
// BarcodePrintInfo.ProductBarcode = Print.barcode;
// BarcodePrintInfo.ProductID = Print.Machine.ToString();
// BarcodePrintInfo.SerialNo = DateTime.Parse(Print.starttime.ToString()).ToString("yyMMdd") + Serialnum;
// BarcodePrintInfo.IsRestart = Print.isRestart.ToString();
// BarcodePrintInfo.ShiftID = ShiftNo;
// BarcodePrintInfo.InsertTime = DateTime.Now;
// await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
// RefreshShowMessageEvent?.Invoke(Print.barcode + "二维码打印记录存储完成!");
// LogHelper.Info(Print.barcode + "二维码打印记录存储完成!");
//}
RefreshShowMessageEvent?.Invoke(Print.barcode + "开始打印二维码标签");
LogHelper.Info(Print.barcode + "开始打印二维码标签");
PrintEquip equip = new QRCodePrintEquip();
equip.tempPath = barcodelb.TempName;
equip.ParaClass = barcodelb;
equip.Open();
bool bflag = equip.print();
if (bflag)
{
RefreshShowMessageEvent?.Invoke(Print.barcode + "二维码标签打印成功!");
LogHelper.Info(Print.barcode + "二维码标签打印成功!");
//插库存储条码及序列号
baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
BarcodePrintInfo.ProductBarcode = Print.barcode;
BarcodePrintInfo.ProductID = Print.Machine.ToString();
2 months ago
BarcodePrintInfo.SerialNo = DateTime.Parse(Print.starttime.ToString()).ToString("yyMMdd") + "D" + Print.Shift + Serialnum;
BarcodePrintInfo.IsRestart = Print.isRestart.ToString();
BarcodePrintInfo.ShiftID = ShiftNo;
BarcodePrintInfo.InsertTime = DateTime.Now;
await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
RefreshShowMessageEvent?.Invoke(Print.barcode +"二维码打印记录存储完成!");
LogHelper.Info(Print.barcode + "二维码打印记录存储完成!");
2 months ago
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
}
equip.Colse();
}
catch (Exception ex)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
}
//else if (itype == 3)
//{
// #region 打印铭牌
// try
// {
// //这些每个机种应该都谁确定的,在数据库里保存,以后可以一个存储过程去获取
// Console.WriteLine("开始打印铭牌");
// PrintEquip Smallequip = new NamePlatePrintEquip();
// Smallequip.tempPath = mlb.TempName;
// Smallequip.ParaClass = mlb;
// Smallequip.Open();
// Smallequip.print();
// Smallequip.Colse();
// }
// catch (Exception e)
// {
// Console.WriteLine(e.ToString());
// }
// #endregion
//}
}
}
private void ExitRePrint()
{
try
{
if (iNIFile.IniReadValue("SystemConfig", "UserName") != "用户名")
{
RefreshShowMessageEvent?.Invoke("退出管理员模式成功!");
LogHelper.Info("退出管理员模式成功!");
iNIFile.IniWriteValue("SystemConfig", "UserName", "用户名");
}
}
catch (Exception ex)
{
}
}
public async void Print(string barcode, int Machine, string ShiftID,string starttime,string endtime)
{
MLable mlb = new MLable();
BoxLable boxlb = new BoxLable();
barcodLable barcodelb = new barcodLable();
string printType = "";
string Serialnum = "";
string type = "";
DbHandler db = new DbHandler();
string machine = Machine.ToString();
//查询机种信息
DataTable dt = GetProductList(machine);
//string ZJweight = db.GetZJWeightProductInfoByBarCode(barcode);
string Mbarcode = "";
//ShiftInfo shift = db.GetShiftInfo();
string ShiftNo = ShiftID;
#region 从数据库获取打印数据
try
{
if (dt != null && dt.Rows.Count > 0)
{
//0表示正常品1表示试制品
type = dt.Rows[0]["ProductType"].ToString();
//打印那种标签
printType = dt.Rows[0]["PrintType"].ToString();
//车间字段
mlb.ShopID = dt.Rows[0]["ShopID"].ToString();
//日期前面是否+A
mlb.HasA = Convert.ToInt16(dt.Rows[0]["HasA"]) == 1;
//是否有另一处需要+时间的地方
mlb.HasDate = Convert.ToInt16(dt.Rows[0]["HasDate"]) == 1;
//名牌模板位置
mlb.TempName= dt.Rows[0]["MPTemplate"].ToString();
boxlb.MachineNam = dt.Rows[0]["ProductName"].ToString();
//barcodelb.ZJWeight = ZJweight;
//前缀
barcodelb.PreString = dt.Rows[0]["Prefix"].ToString();
barcodelb.EndString = dt.Rows[0]["Suffix"].ToString();
//条码模板位置
barcodelb.TempName = dt.Rows[0]["TMTemplate"].ToString();
//铭牌编码方式
barcodelb.codeType = dt.Rows[0]["CodeType"].ToString();
}
else
{
Console.WriteLine("未找到该机种信息");
//没绑定托盘说明70工位未绑定上线机壳
//生成
}
}
catch(Exception ex)
{
Console.WriteLine("未找到该机种信息"+ ex);
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
//Console.WriteLine("整机净重:"+ZJweight);
//Console.WriteLine("机种ID:" + Machine.ToString() + "打印类别:" + printType+"");
#region 获取序列号
//开启补码功能
if (iNIFile.IniReadValue("SystemConfig", "UserName") == "管理员")
{
RefreshShowMessageEvent?.Invoke("补码功能开启,查询到当前用户名管理员");
List<baseBarcodePrintInfo> baseBarcodePrintInfo = await SelectPrintInfoAsync("", ShiftID, Machine.ToString(), starttime, endtime);
if (baseBarcodePrintInfo != null && baseBarcodePrintInfo.Count > 0)
{
//查询最大序列号生成
var max = baseBarcodePrintInfo.Max(x => x.SerialNo);
RefreshShowMessageEvent?.Invoke("查询当前最大序列号" + max);
Serialnum = Convert.ToInt32(Convert.ToInt32(max.Substring(max.Length - 4, 4)) + 1).ToString().PadLeft(4, '0');
RefreshShowMessageEvent?.Invoke("生成新序列号" + Serialnum);
}
else
{
//序列号0001
Serialnum = "0001";
RefreshShowMessageEvent?.Invoke("生成新序列号" + Serialnum);
}
}
else
{
//现根据条码查询是否重码
//List<baseBarcodePrintInfo> baseBarcodePrintInfos = await SelectPrintInfoAsync(barcode, ShiftID, Machine.ToString(), starttime, endtime);
//if (baseBarcodePrintInfos != null && baseBarcodePrintInfos.Count > 0)
//{
// foreach (var item in baseBarcodePrintInfos)
// {
// RefreshShowMessageEvent?.Invoke("查询" + barcode + "存在历史记录,序列号:" + item.SerialNo);
// return;
// }
//}
//先根据班次时间查询最大序列号,如果不存在则从0001生成
List<baseBarcodePrintInfo> baseBarcodePrintInfo = await SelectPrintInfoAsync("", ShiftID, Machine.ToString(), starttime, endtime);
if (baseBarcodePrintInfo != null && baseBarcodePrintInfo.Count > 0)
{
//查询最大序列号生成
var max = baseBarcodePrintInfo.Max(x => x.SerialNo);
RefreshShowMessageEvent?.Invoke("查询当前最大序列号" + max);
Serialnum = Convert.ToInt32(Convert.ToInt32(max.Substring(max.Length - 4, 4)) + 1).ToString().PadLeft(4, '0');
RefreshShowMessageEvent?.Invoke("生成新序列号" + Serialnum);
}
else
{
//序列号0001
Serialnum = "0001";
RefreshShowMessageEvent?.Invoke("生成新序列号" + Serialnum);
}
}
//这个需要在系统内进行获取早中晚班分别用A,B,C表示
//string beginTime = "";
//DateTime time = DateTime.Now;
//if (string.IsNullOrEmpty(barcode))
//{
// Serialnum = "0001";
// beginTime = DateTime.Now.ToString();
// Console.WriteLine("半部件条码为空");
//}
//else
//{
// //通过壳体条码搜索系统M条码以M条码的后四位作为流水号号
// Mbarcode = db.GetMbarcode(barcode);
// if (string.IsNullOrEmpty(Mbarcode))
// {
// RefreshShowMessageEvent?.Invoke("未查询到"+ barcode + "条码流水号,请手动补码!");
// return;
// }
// Serialnum = Mbarcode.Substring(Mbarcode.Length - 4, 4);
//}
#endregion
#region 获取生产日期
//Console.WriteLine("半部件条码:"+ Mbarcode);
//try
//{
// beginTime = getDateString(Mbarcode);
// time = Convert.ToDateTime(beginTime);
//}
//catch (Exception e)
//{
// time = DateTime.Now;
// ICSharpCode.Core.LoggingService.Debug(e.ToString());
//}
#endregion
barcodelb.PrintType = printType;
barcodelb.SerialNum = Serialnum;
barcodelb.ShiftNo = ShiftNo;
barcodelb.Date = DateTime.Now;
mlb.PrintType = printType;
mlb.serialNum = Serialnum;
mlb.ShiftNO = getShift(ShiftNo) ;
mlb.Date = DateTime.Now;
int itype = 0;
if (!string.IsNullOrEmpty(printType))
{
itype = Convert.ToInt32(printType);
}
//判断是否需要打印铭牌
if (!string.IsNullOrEmpty(mlb.TempName))
{
#region 打印铭牌
try
{
//这些每个机种应该都谁确定的,在数据库里保存,以后可以一个存储过程去获取
RefreshShowMessageEvent?.Invoke("开始打印铭牌,请等待...");
PrintEquip Smallequip = new NamePlatePrintEquip();
Smallequip.tempPath = mlb.TempName;
Smallequip.ParaClass = mlb;
Smallequip.Open();
bool bflag = Smallequip.print();
if (bflag)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
RefreshShowMessageEvent?.Invoke("铭牌打印成功!");
//插库存储条码及序列号
baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
BarcodePrintInfo.ProductBarcode = barcode;
BarcodePrintInfo.ProductID = machine;
BarcodePrintInfo.SerialNo = DateTime.Now.ToString("yyMMdd") + Serialnum;
BarcodePrintInfo.IsRestart = "0";
BarcodePrintInfo.ShiftID = ShiftNo;
BarcodePrintInfo.InsertTime = DateTime.Now;
await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
RefreshShowMessageEvent?.Invoke("铭牌打印记录存储完成!");
}
Smallequip.Colse();
}
catch (Exception ex)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
}
if (!string.IsNullOrEmpty(barcodelb.TempName))
{
//0打印条码1打印纸箱标签
if (itype == 1)
{
#region 纸箱标签
try
{
Console.WriteLine("开始打印纸箱标签");
PrintEquip equip = new CartonPrintEquip();
equip.tempPath = "";
equip.ParaClass = boxlb;
equip.Open();
equip.print();
equip.Colse();
}
catch (Exception ex)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
}
else if (itype == 0)
{
#region 条码标签
try
{
Console.WriteLine("开始打印条码标签");
PrintEquip equip = new barcodePrintEquip();
equip.tempPath = barcodelb.TempName;
equip.ParaClass = barcodelb;
equip.Open();
2 months ago
bool bflag = equip.print();
if (bflag)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
RefreshShowMessageEvent?.Invoke("二维码标签打印成功!");
//插库存储条码及序列号
baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
BarcodePrintInfo.ProductBarcode = barcode;
BarcodePrintInfo.ProductID = machine;
BarcodePrintInfo.SerialNo = DateTime.Now.ToString("yyMMdd") + Serialnum;
BarcodePrintInfo.IsRestart = "0";
BarcodePrintInfo.ShiftID = ShiftNo;
BarcodePrintInfo.InsertTime = DateTime.Now;
await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
RefreshShowMessageEvent?.Invoke("打印记录存储完成!");
}
equip.Colse();
}
catch (Exception ex)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
}
else if (itype == 2)
{
#region 二维码标签
try
{
Console.WriteLine("开始打印二维码标签");
PrintEquip equip = new QRCodePrintEquip();
equip.tempPath = barcodelb.TempName;
equip.ParaClass = barcodelb;
equip.Open();
bool bflag = equip.print();
if (bflag)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
RefreshShowMessageEvent?.Invoke("二维码标签打印成功!");
//插库存储条码及序列号
baseBarcodePrintInfo BarcodePrintInfo = new baseBarcodePrintInfo();
BarcodePrintInfo.ID = Guid.NewGuid().ToString("N");
BarcodePrintInfo.ProductBarcode = barcode;
BarcodePrintInfo.ProductID = machine;
BarcodePrintInfo.SerialNo = DateTime.Now.ToString("yyMMdd") + Serialnum;
BarcodePrintInfo.IsRestart = "0";
BarcodePrintInfo.ShiftID = ShiftNo;
BarcodePrintInfo.InsertTime = DateTime.Now;
await new BaseServices<baseBarcodePrintInfo>().Add(BarcodePrintInfo);
RefreshShowMessageEvent?.Invoke("打印记录存储完成!");
}
equip.Colse();
}
catch (Exception ex)
{
iNIFile.IniWriteValue("SystemConfig", "PrintState", "2");
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
}
#endregion
}
//else if (itype == 3)
//{
// #region 打印铭牌
// try
// {
// //这些每个机种应该都谁确定的,在数据库里保存,以后可以一个存储过程去获取
// Console.WriteLine("开始打印铭牌");
// PrintEquip Smallequip = new NamePlatePrintEquip();
// Smallequip.tempPath = mlb.TempName;
// Smallequip.ParaClass = mlb;
// Smallequip.Open();
// Smallequip.print();
// Smallequip.Colse();
// }
// catch (Exception e)
// {
// Console.WriteLine(e.ToString());
// }
// #endregion
//}
}
}
private string getDateString(string semiBarcode)
{
string datestring = "20";
if (string.IsNullOrEmpty(semiBarcode))
{
datestring = DateTime.Now.ToString();
}
else
{
string year = semiBarcode.Substring(2, 2);
string month = semiBarcode.Substring(4, 2);
string date = semiBarcode.Substring(6, 2);
datestring += year + "-" + month + "-" + date;
}
return datestring;
}
private string getShift(string shift)
{
string shiftA = "A";
switch (shift)
{
case "01":
shiftA = "A";
break;
case "02":
shiftA = "B";
break;
case "03":
shiftA = "C";
break;
default:
break;
}
return shiftA;
}
public async Task<List<baseBarcodePrintInfo>> SelectPrintInfoAsync(String BarCode,string ShiftID,string ProductID,string starttime,string endtime)
{
try
{
DateTime start = Convert.ToDateTime(starttime);
DateTime end = Convert.ToDateTime(endtime);
Expression<Func<baseBarcodePrintInfo, bool>> exp = (baseBarcodePrintInfo s1) => true;
if (!string.IsNullOrEmpty(BarCode))
{
exp = ExpressionExtensions.And<Func<baseBarcodePrintInfo, bool>>(exp, (Expression<Func<baseBarcodePrintInfo, bool>>)((baseBarcodePrintInfo s1) => s1.ProductBarcode == BarCode));
}
else
{
2 months ago
//exp = ExpressionExtensions.And<Func<baseBarcodePrintInfo, bool>>(exp, (Expression<Func<baseBarcodePrintInfo, bool>>)((baseBarcodePrintInfo s1) => s1.ShiftID == ShiftID && s1.ProductID == ProductID && s1.InsertTime > start && s1.InsertTime <= end));
exp = ExpressionExtensions.And<Func<baseBarcodePrintInfo, bool>>(exp, (Expression<Func<baseBarcodePrintInfo, bool>>)((baseBarcodePrintInfo s1) => s1.ShiftID == ShiftID && s1.ProductID == ProductID));
}
return await new BaseServices<baseBarcodePrintInfo>().Query(exp);
}
catch (Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
return null;
}
}
1 month ago
//public List<baseBarcodePrintInfo> GetLocal_Mchilsurface__DetailInfoList(string ShiftID, string ProductID, string starttime, string endtime)
//{
// List<baseBarcodePrintInfo> result;
// try
// {
// string sql = "SELECT [ID],[ProductBarcode],[SerialNo],[IsRestart],[ProductID],[ShiftID],[InsertTime] FROM [base_Barcode_PrintInfo] WHERE 1 = 1 AND [ShiftID]=@ShiftID AND [ProductID]=@ProductID AND [InsertTime] > @starttime AND InsertTime < @endtime "
// ;
// List<baseBarcodePrintInfo> MaterialTypeList = new BaseServices<baseBarcodePrintInfo>().QueryBySql1<baseBarcodePrintInfo>(sql, new List<SugarParameter>
// {
// new SugarParameter("@ShiftID", ShiftID),
// new SugarParameter("@ProductID", ProductID),
// new SugarParameter("@starttime", starttime),
// new SugarParameter("@endtime", endtime)
// });
// result = MaterialTypeList;
// }
// catch (Exception ex)
// {
// result = new List<baseBarcodePrintInfo>();
// }
// return result;
//}
public DataTable GetProductList(string ProductID)
{
DataTable result = null;
try
{
Expression<Func<TBDProductInfo, bool>> exp = (TBDProductInfo s1) => true;
exp = exp.And((TBDProductInfo s1) => s1.ProductID == ProductID);
result = new BaseServices<TBDProductInfo>().QueryDatatable(exp);
return result;
}
catch (Exception ex)
{
LogHelper.Error("空间名:" + ex.Source + "" + '\n' +
"方法名:" + ex.TargetSite + '\n' +
"故障点:" + ex.StackTrace.Substring(ex.StackTrace.LastIndexOf("\\") + 1, ex.StackTrace.Length - ex.StackTrace.LastIndexOf("\\") - 1) + '\n' +
"错误提示:" + ex.Message);
return result;
}
}
}
}