/// <summary> /// 保存堆叠的托盘 /// </summary> /// <param name="trayCodeList">托盘条码集合</param> /// <param name="access">数据库对象实例</param> private void SaveStackTrays(List <CacheStackTray> trayCodeList, BaseAccess access, string flag) { // 按照允许叠盘数量依次增加,根据实际情况而定,其中1盘在最上面,就不需要翻转 // 翻转保存 // trayCodeList.Reverse(); long traysId = SelectTraysId(trayCodeList[trayCodeList.Count - int.Parse(flag)].Barcode, access); int trayIndex = 0; foreach (var item in trayCodeList) { if (flag == "2" && item.InStack == 1) { continue; } StackTrays tray = new StackTrays(); //tray.Id = Guid.NewGuid(); tray.TraysId = traysId; tray.Barcode = item.Barcode; tray.Batch = item.Batch; tray.TrayIndex = ++trayIndex; tray.UpdateTime = DateTime.Now; string insertSql = string.Format("INSERT INTO {0} (TraysId,Barcode,Batch,TrayIndex,UpdateTime) OUTPUT INSERTED.Id VALUES ('{1}','{2}','{3}','{4}','{5}')", lineDevice.PrefixTable + "StackTrays", tray.TraysId, tray.Barcode, tray.Batch, tray.TrayIndex, tray.UpdateTime); access.ExecuteNonQuery(insertSql); //int count = access.Insert(tray, StackTrays.TRAYS_ID, StackTrays.BARCODE, StackTrayFlow.BATCH, StackTrays.TRAY_INDEX, StackTrayFlow.UPDATE_TIME); ProductProcessDataEntity entity = new ProductProcessDataEntity() { TrayCode = item.Barcode, CreateTime = DateTime.Now, State = "叠盘完成", MaterialData = item.Batch }; //WriteProductDateBase(Writers["scanCodeFeedbackAddr"], entity); WriteProductDateBase(device, entity); } }
public bool UpdateStackTrays(StackTrays stackTrays) { using (BaseAccess access = new BaseAccess()) { try { string updateSql = string.Format("UPDATE {0} SET Barcode='{1}',BATCH='{2}' WHERE Id='{3}'", lineDevice.PrefixTable + "StackTrays", stackTrays.Barcode, stackTrays.Batch, stackTrays.Id); access.ExecuteNonQuery(updateSql); //access.Update(stackTrays, new string[] { StackTrays.ID }, StackTrays.BARCODE, StackTrays.BATCH); return(true); } catch (Exception ex) { PrintInfo.I(ex.Message); Console.WriteLine(ex.Message); return(false); } } }