Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
0
 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);
         }
     }
 }