public async Task <QrcodeDto> GetQrcodeAsync() { UserIdentifier userIdentifier = new UserIdentifier(InfrastructureSession.TenantId, InfrastructureSession.UserId.Value); Qrcode qrcode = await QrcodeManager.GetQrcodeAsync(userIdentifier); return(qrcode.MapTo <QrcodeDto>()); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.Run(async(context) => { context.Response.ContentType = "text/html; charset=utf-8"; Qrcode qr = new Qrcode(); qr.Merchant_category_code = "5812"; qr.Merchant_name = "Halalah Grocery"; qr.Merchant_city = "Riyadh"; qr.Postal_code = "12345"; qr.Merchant_name_ar = "هللة"; qr.Merchant_city_ar = "الرياض"; qr.Amount = ".50"; qr.Bill = "1233111"; qr.Reference = "Unique_Order_ID"; qr.Terminal = "HG00001"; await context.Response.WriteAsync(qr.output()); }); }
public ActionResult GetQrcode() { string r1 = QRCodeService.CreateQRCode(); Qrcode qrcode = JsonConvert.DeserializeObject <Qrcode>(r1); return(View(qrcode)); //return Content(QRCodeService.CreateQRCode()); }
/// <summary> /// 保存二维码 /// </summary> /// <param name="code"></param> /// <returns></returns> public int SaveQrCode(Qrcode code) { if (code.ID == 0) { return((int)_set.Insert(code)); } else { return(_set.Update(code)); } }
public QrcodeViewModel(Qrcode entity) { Id = entity.Id; Content = entity.Content; ExpireAt = entity.ExpireAt; Purpose = entity.Purpose; ScanedCount = entity.ScanedCount; Creator = entity.Creator; CreateAt = entity.CreateAt; Path = entity.Path; }
public bool Remove(object id) { Qrcode entity = uow.Set <Qrcode>().Find(id); if (entity == null) { return(false); } uow.Set <Qrcode>().Remove(entity); uow.Commit(); return(true); }
public bool Delete(object id) { Qrcode entity = uow.Set <Qrcode>().Find(id); if (entity == null || entity.IsDelete) { return(false); } entity.IsDelete = true; uow.Commit(); return(true); }
// Use this for initialization void Start() { byte[] identity = SerialIOService.GetInstance().PayIdentity; Image image = transform.FindChild("qrcode").gameObject.GetComponent <Image>(); if (null == identity) { return; } Texture2D texture = Qrcode.GenQRCodeLeYaoYao(identity); image.sprite = UIManager.GenSprite(texture); }
public ActionResult Generate(Qrcode qrcode) { try { qrcode.QRCodeImagePath = GenerateQRCode(qrcode.QRCodeText); ViewBag.Message = "QR Code Generated successfully"; } catch (Exception ex) { //catch exception if there is any } return(View("About", qrcode)); }
public QrcodeViewModel Add(QrcodeViewModel model) { model.Id = Guid.NewGuid().ToString(); Qrcode entity = new Qrcode(); uow.Set <Qrcode>().Add(entity); entity.Id = model.Id; entity.Content = model.Content; entity.Path = model.Path; entity.ExpireAt = model.ExpireAt; entity.Purpose = model.Purpose; entity.ScanedCount = model.ScanedCount; entity.Creator = model.Creator; uow.Commit(); return(new QrcodeViewModel(entity)); }
/// <summary> /// 把没有上传的信息全部上传 /// </summary> private void buttonUpload_Click(object sender, EventArgs e) { string sql = "select * from qrcode where upload is null " + "and Left(PRINT_TIME, 10) >= \"" + dtpStart.Text + "\" and Left(PRINT_TIME, 10) <= \"" + dtpEnd.Text + "\" "; try { OleDbCommand cmd = new OleDbCommand(sql, mycon); OleDbDataReader reader = cmd.ExecuteReader(); DataSet dateset = new DataSet(); DataTable dt = new DataTable(); dt.Load(reader); if (dt.Rows.Count > 0) { ArrayList qrcodes = new ArrayList(); for (int i = 0; i < dt.Rows.Count; i++) { Qrcode qrcode = new Qrcode(); qrcode.name = dt.Rows[i][1].ToString(); qrcode.pickTime = dt.Rows[i][2].ToString(); qrcode.source = dt.Rows[i][3].ToString(); qrcode.pic = dt.Rows[i][4].ToString(); qrcode.detectTime = dt.Rows[i][5].ToString(); qrcode.nc = dt.Rows[i][6].ToString(); qrcode.printTime = dt.Rows[i][7].ToString(); qrcode.netId = dt.Rows[i][8].ToString(); qrcodes.Add(qrcode); } upload(qrcodes); } else { MessageBox.Show("没有需要上传的溯源码"); return; } } catch (Exception ex) { MessageBox.Show("未能连接数据库:" + ex.Message); return; } }
protected void Page_Load(object sender, EventArgs e) { Qrcode qr = new Qrcode(); qr.Merchant_category_code = "5812"; qr.Merchant_name = "Halalah Grocery"; qr.Merchant_city = "Riyadh"; qr.Postal_code = "12345"; qr.Merchant_name_ar = "هللة"; qr.Merchant_city_ar = "الرياض"; qr.Amount = ".50"; qr.Bill = "1233111"; qr.Reference = "Unique_Order_ID"; qr.Terminal = "HG00001"; Response.Write(qr.output()); }
public static List <string> RetornoNumero() { var lista = new List <string>(); var gerarCupom = GerarCupomHelper.Gerar(); var qrcode = Qrcode.GerarQRCodeBase64(gerarCupom); var qrcodeBase64 = qrcode; var foto = Functions.GetRandomString() + ".jpg"; UploadImagem.Decodificar(qrcode, foto, @"\wwwroot\imagens\cupom\", 400, 400); lista.Add(gerarCupom); lista.Add(foto); return(lista); }
private Qrcode ReadQRCode() { Qrcode barcodeModel = new Qrcode(); string barcodeText = ""; string imagePath = "~/Images/QrCode.jpg"; string barcodePath = Server.MapPath(imagePath); var barcodeReader = new BarcodeReader(); //Decode the image to text var result = barcodeReader.Decode(new Bitmap(barcodePath)); if (result != null) { barcodeText = result.Text; } return(new Qrcode() { QRCodeText = barcodeText, QRCodeImagePath = imagePath }); }
public async Task ProcessSceneId(int sceneId, long userId, int tenantId) { using (CurrentUnitOfWork.SetTenantId(tenantId)) { User user = UserRepository.Get(userId); if (user.ParentUserId.HasValue) { return; } Qrcode qrcode = QrcodeRepository.GetAll().Where(model => model.SceneId == sceneId).FirstOrDefault(); if (qrcode != null) { User parentUser = await UserRepository.GetAsync(qrcode.UserId); await _userManager.BindParent(user, parentUser); } } }
public override int GetHashCode() { int hashcode = 157; unchecked { if (__isset.qrcode) { hashcode = (hashcode * 397) + Qrcode.GetHashCode(); } if (__isset.verifier) { hashcode = (hashcode * 397) + Verifier.GetHashCode(); } if (__isset.callbackUrl) { hashcode = (hashcode * 397) + CallbackUrl.GetHashCode(); } } return(hashcode); }
public void Getqrcode_img_url(string orderid, decimal orderAmt, string bankcode) { var info = OrderBankCodePay.Instance.GetModel(orderid); if (info == null) { var api = new Qrcode(); qrcode_img_url = api.Getqrcode_img_url(orderid, orderAmt, bankcode); if (string.IsNullOrEmpty(qrcode_img_url)) { Response.Write("error 1"); Response.End(); } info = new viviapi.Model.Order.Bank.OrderBankCodePay { addTime = DateTime.Now, channel = 101, codeImgUrl = qrcode_img_url, sysOrderNo = orderid, updateTime = DateTime.Now }; int infoId = OrderBankCodePay.Instance.Add(info); if (infoId <= 0) { Response.Write("error 2"); Response.End(); } } else { qrcode_img_url = info.codeImgUrl; } if (!string.IsNullOrEmpty(qrcode_img_url)) { } //litimg.Text = string.Format("<img src='{0}' />", qrcode_img_url); }
public override string ToString() { var sb = new StringBuilder("AuthQrcode("); bool __first = true; if (Qrcode != null && __isset.qrcode) { if (!__first) { sb.Append(", "); } __first = false; sb.Append("Qrcode: "); Qrcode.ToString(sb); } if (Verifier != null && __isset.verifier) { if (!__first) { sb.Append(", "); } __first = false; sb.Append("Verifier: "); Verifier.ToString(sb); } if (CallbackUrl != null && __isset.callbackUrl) { if (!__first) { sb.Append(", "); } __first = false; sb.Append("CallbackUrl: "); CallbackUrl.ToString(sb); } sb.Append(")"); return(sb.ToString()); }
public async Task <string> CreateSpreadPosterAsync(SpreadPosterTemplate spreadPosterTemplate, UserIdentifier userIdentifier) { string path = GetSpreadPosterPathOfUser(spreadPosterTemplate.Id, userIdentifier); using (CurrentUnitOfWork.SetTenantId(userIdentifier.TenantId)) { User user = UserRepository.Get(userIdentifier.UserId); string serverPathOfSource = PathHelper.GetAbsolutePath(spreadPosterTemplate.Template); Image imgSrc = Image.FromFile(serverPathOfSource); foreach (SpreadPosterTemplateParameter parameter in spreadPosterTemplate.Parameters) { if (parameter.Type == SpreadPosterTemplateParameterType.Picture) { Image image; if (parameter.Name.ToLower() == "qrcode") { Qrcode qrcode = await QrcodeManager.GetQrcodeAsync(userIdentifier, false); image = Image.FromFile(PathHelper.GetAbsolutePath(qrcode.Path)); } else if (parameter.Name.ToLower() == "avatar") { if (user.Avatar.IndexOf("http://") >= 0) { System.Net.WebRequest webRequest = System.Net.WebRequest.Create(user.Avatar); System.Net.WebResponse webResponse = webRequest.GetResponse(); using (Stream stream = webResponse.GetResponseStream()) { image = Image.FromStream(stream); } } else { image = Image.FromFile(PathHelper.GetAbsolutePath(user.Avatar)); } } else { image = Image.FromFile(PathHelper.GetAbsolutePath(parameter.Value)); } using (Graphics graphics = Graphics.FromImage(imgSrc)) { graphics.DrawImage(image, new Rectangle(parameter.Coordinate.StartX, parameter.Coordinate.StartY, parameter.Coordinate.Width, parameter.Coordinate.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel); } } else { using (Graphics graphics = Graphics.FromImage(imgSrc)) { graphics.DrawImage(imgSrc, 0, 0, imgSrc.Width, imgSrc.Height); string fontFamly = String.IsNullOrEmpty(parameter.FontStyle.FontFamly) ? "SimHei" : parameter.FontStyle.FontFamly; using (Font font = new Font(fontFamly, parameter.FontStyle.Size)) { Color color = ColorHelper.colorHx16toRGB(parameter.FontStyle.Color); using (Brush brush = new SolidBrush(color)) { string text = parameter.Value; if (parameter.Name == "name") { text = user.NickName; } graphics.DrawString(text, font, brush, parameter.Coordinate.StartX, parameter.Coordinate.StartY); } } } } } string serverPath = PathHelper.GetAbsolutePath(path); imgSrc.Save(serverPath, System.Drawing.Imaging.ImageFormat.Jpeg); return(path); } }
private void btnPrint_Click(object sender, EventArgs e) { //MessageBox.Show("1"); string copSign = baseConfig.companyCode; //公司标识 string tempSign = "temp"; //临时标记 string enter = System.Environment.NewLine; //获取品名,可能是一个包装里面多种产品 //string name = cbxName.SelectedItem.ToString(); string name = ""; /* * for(int i = 0; i < productCount; i++){ * CheckBox chkBox = (CheckBox)panelProducts.Controls[i]; * if (chkBox.Checked == true) * { * name += (chkBox.Text + " "); * } * } */ for (int i = 0; i < productCount; i++) { RadioButton radio = (RadioButton)panelProducts.Controls[i]; if (radio.Checked == true) { name += (radio.Text + " "); pid = pids[i]; } } if (name.Trim().Length == 0) { MessageBox.Show("请选择产品!"); return; } string no = tbxNo.Text; /* * if (no.Trim().Length == 0) * { * MessageBox.Show("请填写编号(编号与检测编号一致)!"); * return; * } */ string time = dtpPickTime.Text; string source = cbxSource.SelectedItem.ToString(); string address = cbxAddress.SelectedItem.ToString(); string detectTime = dtpDetectTime.Text + " " + DateTime.Now.ToString("HH:mm");; string nc = "合格"; string pic = cbxPIC.SelectedItem.ToString(); int count = int.Parse(tbxLabelNum.Text); if (count > maxPrintNum) { MessageBox.Show("本次打印的标签数超过了一次最多打印数量!"); return; } //return; /* netid 总体操作步骤: * 1. 存入本地数据库 * 2. 打印 * 3. 上传 * 理由: * netid 已存而纸未打:可以接受,下次再打不影响; * 标签已打,netid未存,则标签无效,被浪费,不可接受; * netid 已存,标签已打,而未上传,可以接受,可事后再传; */ try { //同时存入数据库,最后一个字段不能用NO,在C#中可能是保留字,报错,因此改为T_NO string printTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // 2008-09-04 string sql = "insert into QRCODE (NAME, PICK_TIME, SOURCE, PIC, DETECT_TIME, NC, PRINT_TIME, NET_ID, T_NO, PRODUCT_ID, ADDRESS)" + " values(\"" + name + "\",\"" + time + "\",\"" + source + "\",\"" + pic + "\",\"" + detectTime + "\",\"" + nc + "\",\"" + printTime + "\",\"" + tempSign + "\",\"" + no + "\",\"" + pid + "\",\"" + address + "\")"; OleDbCommand cmd; for (int i = 0; i < count; i++) { tempSign = (i == 0 ? "temp" : "temp" + i); sql = sql.Replace(tempSign, "temp" + (i + 1)); cmd = new OleDbCommand(sql, mycon); // MessageBox.Show(sql); cmd.ExecuteNonQuery(); cmd.Dispose(); } string currentTime = DateTime.Now.ToString("yyMMddHHmmss"); string traceSign = baseConfig.companyCode + baseConfig.workstationNo + currentTime; //用来替换temp的公司与时间标记 sql = "update qrcode set net_id = '" + traceSign + "' & right( net_id, ( len(net_id) - 4 )) where net_id like '%temp%';"; cmd = new OleDbCommand(sql, mycon); cmd.ExecuteNonQuery(); cmd.Dispose(); //同时上传到平台 sql = "select top " + count + " * from qrcode order by id desc"; cmd = new OleDbCommand(sql, mycon); OleDbDataReader dataReader = cmd.ExecuteReader(); DataSet dateset = new DataSet(); DataTable dt = new DataTable(); dt.Load(dataReader); //打印 //根据配置文件设定若干打印参数(Qx:二维码x起始点; Qy:二维码y起始点; Qwidth:二维码大小; Tx:溯源码x起始点; Ty:溯源码y起始点;) Hashtable ht = new Hashtable(); if (StringUtil.isEmpty(labelSize)) { MessageBox.Show("未设置标签规格,无法打印"); return; } if (labelSize.Equals("5CM * 4CM")) //慧康默认形式 { ht.Add("Qx", "25"); ht.Add("Qy", "20"); ht.Add("Qwidth", "5"); ht.Add("Tx", "25"); ht.Add("Ty", "240"); } if (labelSize.Equals("5CM * 4CM YB")) //一标公司的形式,两个二维码 { ht.Add("Q1x", "45"); ht.Add("Q1y", "40"); ht.Add("Q1width", "5"); ht.Add("Tsy1x", "240"); //"一标 x" ht.Add("Tsy1y", "40"); //"一标 y" ht.Add("Tsy2x", "240"); //"溯源 x" ht.Add("Tsy2y", "135"); //"溯源 y" ht.Add("Tnetidx", "45"); //溯源码 ht.Add("Tnetidy", "240"); ht.Add("Tnamex", "45"); //品名 ht.Add("Tnamey", "270"); } if (labelSize.Equals("2.5CM * 1.5CM YB")) //一标公司的形式,小尺寸标签 { ht.Add("Q1x", "20"); ht.Add("Q1y", "5"); ht.Add("Q1width", "2"); ht.Add("Q2x", "120"); ht.Add("Q2y", "5"); ht.Add("Q2width", "2"); ht.Add("TL1x", "90"); //"溯 x" ht.Add("TL1y", "10"); //"溯 y" ht.Add("TL2x", "90"); //"源 x" ht.Add("TL2y", "40"); //"源 y" ht.Add("TR1x", "182"); //"一 x" ht.Add("TR1y", "10"); //"一 y" ht.Add("TR2x", "182"); //"标 x" ht.Add("TR2y", "40"); //"标 y" ht.Add("Px", "20"); //"品名 x" ht.Add("Py", "75"); //"品名 y" ht.Add("Tx", "20"); ht.Add("Ty", "105"); } if (labelSize.Equals("6CM * 9CM")) //慧康默认形式 { ht.Add("Qx", "100"); //二维码X ht.Add("Qy", "150"); //二维码y ht.Add("Qwidth", "7"); //二维码大小 ht.Add("I1x", "40"); //出产日期x ht.Add("I1y", "470"); //出产日期y ht.Add("I2x", "40"); //来源x ht.Add("I2y", "500"); //来源y ht.Add("T1x", "32"); //溯源码文字x ht.Add("T1y", "596"); //溯源码文字y ht.Add("T2x", "120"); //溯源码x ht.Add("T2y", "596"); //溯源码y } if (labelSize.Equals("6CM * 9CM YB")) //慧康默认形式 { ht.Add("TLx", "65"); //"食安溯源 x" ht.Add("TLy", "165"); //"食安溯源 y" ht.Add("TRx", "285"); //"一标企业 x" ht.Add("TRy", "165"); //"一标企业 y" ht.Add("Q1x", "25"); ht.Add("Q1y", "220"); ht.Add("Q1width", "5"); ht.Add("Q2x", "245"); ht.Add("Q2y", "220"); ht.Add("Q2width", "5"); ht.Add("I1x", "40"); //出产日期x ht.Add("I1y", "470"); //出产日期y ht.Add("I2x", "40"); //来源x ht.Add("I2y", "500"); //来源y ht.Add("T1x", "32"); //溯源码文字x ht.Add("T1y", "596"); //溯源码文字y ht.Add("T2x", "120"); //溯源码x ht.Add("T2y", "596"); //溯源码y } for (int i = 0; i < dt.Rows.Count; i++) { Qrcode qrcode = new Qrcode(); qrcode.pickTime = dt.Rows[i][2].ToString(); qrcode.source = dt.Rows[i][3].ToString(); qrcode.netId = dt.Rows[i][8].ToString(); //因为打印的url只需要netId这个字段 //先打印(打印是必须保证成功的,上传可以报错,catch掉即可) try { string order = ""; // 5*4的指令 慧康默认形式 if (labelSize.Equals("5CM * 4CM")) { order = "SIZE 50 mm, 40 mm" + enter + "GAP 3 mm, 0" + enter + "DIRECTION 0,0" + enter + //方向视情况而定 "CLS" + enter + "DENSITY 10" + enter + "QRCODE " + (string)ht["Qx"] + "," + (string)ht["Qy"] + ",H," + (string)ht["Qwidth"] + ",A,0, \"" + baseConfig.traceUrl + qrcode.netId + "\"" + enter + "TEXT " + (string)ht["Tx"] + "," + (string)ht["Ty"] + ",\"3\",0,1,1,\"" + qrcode.netId + "\"" + enter + "PRINT 1,1" + enter; } // 5*4的指令 一标公司形式 if (labelSize.Equals("5CM * 4CM YB")) { string ybUrl = "http://trace.victtec.com/trace/yb/t.htm?pid=" + pid; string sy1 = "一 标", sy2 = "溯 源"; string product = "品名: " + name; order = "SIZE 50 mm, 40 mm" + enter + "GAP 3 mm, 0" + enter + "DIRECTION 0,0" + enter + //方向视情况而定 "CLS" + enter + "DENSITY 10" + enter + "QRCODE " + (string)ht["Q1x"] + "," + (string)ht["Q1y"] + ",H," + (string)ht["Q1width"] + ",A,0, \"" + baseConfig.traceUrl + qrcode.netId + "\"" + enter + //"QRCODE " + (string)ht["Q2x"] + "," + (string)ht["Q2y"] + ",H," + (string)ht["Q2width"] + ",A,0, \"" + ybUrl + "\"" + enter + "TEXT " + (string)ht["Tsy1x"] + "," + (string)ht["Tsy1y"] + ",\"TSS24.BF2\",0,2,3,\"" + sy1 + "\"" + enter + "TEXT " + (string)ht["Tsy2x"] + "," + (string)ht["Tsy2y"] + ",\"TSS24.BF2\",0,2,3,\"" + sy2 + "\"" + enter + "TEXT " + (string)ht["Tnetidx"] + "," + (string)ht["Tnetidy"] + ",\"3\",0,1,1,\"" + qrcode.netId + "\"" + enter + //"TEXT " + (string)ht["Telx"] + "," + (string)ht["Tely"] + ",\"TSS24.BF2\",0,1,1,\"" + tel + "\"" + enter + "TEXT " + (string)ht["Tnamex"] + "," + (string)ht["Tnamey"] + ",\"TSS24.BF2\",0,1,1,\"" + product + "\"" + enter + "PRINT 1,1" + enter; } // 2.5*2的指令 一标公司形式 小尺寸标签 if (labelSize.Equals("2.5CM * 1.5CM YB")) { string ybUrl = "http://trace.victtec.com/trace/yb/t.htm?pid=" + pid; string tLeft1 = "溯", tLeft2 = "源"; string tRight1 = "一", tRight2 = "标"; string product = name; order = "SIZE 25 mm, 15 mm" + enter + "GAP 2 mm, 0" + enter + "DIRECTION 0,0" + enter + //方向视情况而定 "CLS" + enter + "DENSITY 10" + enter + "QRCODE " + (string)ht["Q1x"] + "," + (string)ht["Q1y"] + ",H," + (string)ht["Q1width"] + ",A,0, \"" + baseConfig.traceUrl + qrcode.netId + "\"" + enter + "QRCODE " + (string)ht["Q2x"] + "," + (string)ht["Q2y"] + ",H," + (string)ht["Q2width"] + ",A,0, \"" + ybUrl + "\"" + enter + "TEXT " + (string)ht["TL1x"] + "," + (string)ht["TL1y"] + ",\"TSS24.BF2\",0,1,1,\"" + tLeft1 + "\"" + enter + "TEXT " + (string)ht["TL2x"] + "," + (string)ht["TL2y"] + ",\"TSS24.BF2\",0,1,1,\"" + tLeft2 + "\"" + enter + "TEXT " + (string)ht["TR1x"] + "," + (string)ht["TR1y"] + ",\"TSS24.BF2\",0,1,1,\"" + tRight1 + "\"" + enter + "TEXT " + (string)ht["TR2x"] + "," + (string)ht["TR2y"] + ",\"TSS24.BF2\",0,1,1,\"" + tRight2 + "\"" + enter + //"TEXT " + (string)ht["TRx"] + "," + (string)ht["TRy"] + ",\"TSS24.BF2\",0,1,1,\"" + tRight + "\"" + enter + "TEXT " + (string)ht["Px"] + "," + (string)ht["Py"] + ",\"TSS24.BF2\",0,1,1,\"" + product + "\"" + enter + "TEXT " + (string)ht["Tx"] + "," + (string)ht["Ty"] + ",\"1\",0,1,1,\"" + qrcode.netId + "\"" + enter + //"TEXT " + (string)ht["Telx"] + "," + (string)ht["Tely"] + ",\"TSS24.BF2\",0,1,1,\"" + tel + "\"" + enter + // "TEXT " + (string)ht["Telx"] + "," + (string)ht["Tely"] + ",\"TSS24.BF2\",0,1,1,\"" + product + "\"" + enter + "PRINT 1,1" + enter; } // 6*9的指令 慧康默认形式 if (labelSize.Equals("6CM * 9CM")) { order = "SIZE 60 mm, 90 mm" + enter + "GAP 3 mm, 0" + enter + "DIRECTION 1,0" + enter + "CLS" + enter + "DENSITY 10" + enter + "QRCODE " + (string)ht["Qx"] + "," + (string)ht["Qy"] + ",H," + (string)ht["Qwidth"] + ",A,0, \"" + baseConfig.traceUrl + qrcode.netId + "\"" + enter + "TEXT " + (string)ht["I1x"] + "," + (string)ht["I1y"] + ",\"TSS24.BF2\",0,1,1,\"出产日期:" + qrcode.pickTime + "\"" + enter + "TEXT " + (string)ht["I2x"] + "," + (string)ht["I2y"] + ",\"TSS24.BF2\",0,1,1,\"产品来源:" + qrcode.source + "\"" + enter + "TEXT " + (string)ht["T1x"] + "," + (string)ht["T1y"] + ",\"TSS24.BF2\",0,1,1,\"溯源码:\"" + enter + "TEXT " + (string)ht["T2x"] + "," + (string)ht["T2y"] + ",\"3\",0,1,1,\"" + qrcode.netId + "\"" + enter + "PRINT 1,1" + enter; } // 6*9的指令 慧康默认形式 if (labelSize.Equals("6CM * 9CM YB")) { string ybUrl = "http://trace.victtec.com/trace/yb/t.htm?pid=" + pid; string tLeft = "食 安 溯 源"; string tRight = "一 标 企 业"; order = "SIZE 60 mm, 90 mm" + enter + "GAP 3 mm, 0" + enter + "DIRECTION 1,0" + enter + "CLS" + enter + "DENSITY 10" + enter + "QRCODE " + (string)ht["Q1x"] + "," + (string)ht["Q1y"] + ",H," + (string)ht["Q1width"] + ",A,0, \"" + baseConfig.traceUrl + qrcode.netId + "\"" + enter + "QRCODE " + (string)ht["Q2x"] + "," + (string)ht["Q2y"] + ",H," + (string)ht["Q2width"] + ",A,0, \"" + ybUrl + "\"" + enter + "TEXT " + (string)ht["TLx"] + "," + (string)ht["TLy"] + ",\"TSS24.BF2\",0,1,2,\"" + tLeft + "\"" + enter + "TEXT " + (string)ht["TRx"] + "," + (string)ht["TRy"] + ",\"TSS24.BF2\",0,1,2,\"" + tRight + "\"" + enter + "TEXT " + (string)ht["I1x"] + "," + (string)ht["I1y"] + ",\"TSS24.BF2\",0,1,1,\"出产日期:" + qrcode.pickTime + "\"" + enter + "TEXT " + (string)ht["I2x"] + "," + (string)ht["I2y"] + ",\"TSS24.BF2\",0,1,1,\"产品来源:" + qrcode.source + "\"" + enter + "TEXT " + (string)ht["T1x"] + "," + (string)ht["T1y"] + ",\"TSS24.BF2\",0,1,1,\"溯源码:\"" + enter + "TEXT " + (string)ht["T2x"] + "," + (string)ht["T2y"] + ",\"3\",0,1,1,\"" + qrcode.netId + "\"" + enter + "PRINT 1,1" + enter; } serialPort1.Open(); serialPort1.Write(order); Thread.Sleep(100); //此处必须停顿,否则,实测除了最后一次的循环外,前面循环的最后一句都打不出来 } catch (Exception ex) { MessageBox.Show("打印出错!" + ex.Message); return; } finally { serialPort1.Close(); } } //为保险起见,打印与上传两个操作先分开 ArrayList qrcodes = new ArrayList(); for (int i = 0; i < dt.Rows.Count; i++) { Qrcode qrcode = new Qrcode(); qrcode.name = dt.Rows[i][1].ToString(); qrcode.pickTime = dt.Rows[i][2].ToString(); qrcode.source = dt.Rows[i][3].ToString(); qrcode.pic = dt.Rows[i][4].ToString(); qrcode.detectTime = dt.Rows[i][5].ToString(); qrcode.nc = dt.Rows[i][6].ToString(); qrcode.printTime = dt.Rows[i][7].ToString(); qrcode.netId = dt.Rows[i][8].ToString(); qrcode.no = dt.Rows[i][10].ToString(); qrcode.productId = dt.Rows[i][11].ToString(); qrcode.address = dt.Rows[i][12].ToString(); //MessageBox.Show(qrcode.no); qrcodes.Add(qrcode); } upload(qrcodes); uploadOkNum = 0; //归零,准备下一次计数 } catch (Exception ex) { labelUploadResult.Text = "上传出错," + ex.Message; } }
public async Task <string> GetQrcode() { Qrcode qrcode = await QrcodeManager.GetQrcodeAsync(InfrastructureSession.ToUserIdentifier()); return(qrcode.Path); }