Initial commit
This commit is contained in:
		
							
								
								
									
										116
									
								
								Handler/Project/Device/SATOPrinter.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								Handler/Project/Device/SATOPrinter.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,116 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Threading.Tasks; | ||||
|  | ||||
| namespace Project.Device | ||||
| { | ||||
| 	public class SATOPrinter : arDev.RS232 | ||||
| 	{ | ||||
| 		public string LastPrintZPL = string.Empty; | ||||
| 		public string qrData = string.Empty; | ||||
| 		public string baseZPL | ||||
| 		{ | ||||
| 			get | ||||
| 			{ | ||||
| 				var fi = new System.IO.FileInfo(AR.SETTING.Data.baseZPLFile); | ||||
| 				if (fi.Exists) | ||||
| 				{ | ||||
| 					return System.IO.File.ReadAllText(fi.FullName, System.Text.Encoding.Default); | ||||
| 				} | ||||
| 				else return Properties.Settings.Default.ZPL7; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		public SATOPrinter() | ||||
| 		{ | ||||
| 			//this.baseZPL = Properties.Settings.Default.ZPL7; | ||||
| 			this.Terminal = eTerminal.CR; | ||||
| 			this.ReceiveData += SATOPrinter_ReceiveData; | ||||
| 			this.ReceiveData_Raw += SATOPrinter_ReceiveData_Raw; | ||||
| 		} | ||||
|  | ||||
| 		private void SATOPrinter_ReceiveData_Raw(object sender, ReceiveDataEventArgs e) | ||||
| 		{ | ||||
| 			PUB.log.Add($"SATO Recv(RAW) : " + e.StrValue); | ||||
| 		} | ||||
|  | ||||
| 		private void SATOPrinter_ReceiveData(object sender, ReceiveDataEventArgs e) | ||||
| 		{ | ||||
| 			PUB.log.Add($"SATO Recv : " + e.StrValue); | ||||
| 		} | ||||
|  | ||||
| 		public Boolean TestPrint(Boolean drawbox, string manu = "", string mfgdate = "") | ||||
| 		{ | ||||
| 			var dtstr = DateTime.Now.ToShortDateString(); | ||||
| 			var printcode = "103077807;Z577603504;105-35282-1105;15000;RC00004A219001W;20210612"; | ||||
| 			var reel = new Class.Reel(printcode); | ||||
| 			//reel.id = "RLID" + DateTime.Now.ToString("MMHHmmssfff"); | ||||
| 			reel.sid = "103000000"; | ||||
| 			reel.partnum = "PARTNO".PadRight(20, '0'); //20자리 | ||||
|  | ||||
| 			if (mfgdate == "") reel.mfg = dtstr; | ||||
| 			else reel.mfg = mfgdate; | ||||
|  | ||||
| 			reel.lot = "LOT000000000"; | ||||
| 			if (manu == "") reel.manu = "ATK4EET1"; | ||||
| 			else reel.manu = manu; | ||||
|  | ||||
| 			reel.qty = 15000; | ||||
| 			var rlt = Print(reel, true, drawbox); | ||||
| 			var fi = new System.IO.FileInfo(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "temp_zpl.txt")); | ||||
| 			System.IO.File.WriteAllText(fi.FullName, LastPrintZPL, System.Text.Encoding.Default); | ||||
| 			return rlt; | ||||
| 		} | ||||
|  | ||||
|  | ||||
| 		public Boolean Print(Class.Reel reel, Boolean display1drid, Boolean drawOUtBox) | ||||
| 		{ | ||||
| 			string prtData; | ||||
| 			prtData = makeZPL_210908(reel, drawOUtBox, out qrData); | ||||
|  | ||||
| 			return Print(prtData); | ||||
| 		} | ||||
|  | ||||
| 		public bool Print(string _zpl) | ||||
| 		{ | ||||
| 			this.LastPrintZPL = _zpl; | ||||
| 			if (this.IsOpen() == false) return false; | ||||
|  | ||||
| 			try | ||||
| 			{ | ||||
| 				this.Write(_zpl); | ||||
| 				return true; | ||||
| 			} | ||||
| 			catch (Exception ex) | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		public string makeZPL_210908(Class.Reel reel, Boolean drawbox, out string qrData) | ||||
| 		{ | ||||
| 			string m_strSend = string.Empty; | ||||
| 			qrData = string.Format("{0};{1};{2};{3};{4};{5};{6}", reel.sid, reel.lot, reel.manu, reel.qty, reel.id, reel.mfg, reel.partnum); | ||||
|  | ||||
| 			var reeid = reel.id; | ||||
| 			if (reeid.Length > 20) | ||||
| 				reeid = "..." + reeid.Substring(reeid.Length - 20); | ||||
|  | ||||
| 			m_strSend = this.baseZPL; | ||||
| 			m_strSend = m_strSend.Replace("{qrData}", qrData); | ||||
| 			m_strSend = m_strSend.Replace("{sid}", reel.sid); | ||||
| 			m_strSend = m_strSend.Replace("{lot}", reel.lot); | ||||
| 			m_strSend = m_strSend.Replace("{partnum}", reel.partnum); | ||||
| 			m_strSend = m_strSend.Replace("{rid}", reeid); | ||||
| 			m_strSend = m_strSend.Replace("{qty}", reel.qty.ToString()); | ||||
| 			m_strSend = m_strSend.Replace("{mfg}", reel.mfg); | ||||
| 			m_strSend = m_strSend.Replace("{supply}", reel.manu); | ||||
|  | ||||
| 			//줄바꿈제거 | ||||
| 			m_strSend = m_strSend.Replace("\r", "").Replace("\n", ""); | ||||
| 			return m_strSend; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 ChiKyun Kim
					ChiKyun Kim