Exemplo n.º 1
0
        private void QueryBox()
        {
            string hu = txtImportBoxNo.Text.Trim();

            txtImportBoxNo.Clear();
            EbBoxCheckRecordInfo checkRecord = null;

            if (Cache.Instance[CacheKey.CHECK_RECORD] != null)
            {
                checkRecord = (Cache.Instance[CacheKey.CHECK_RECORD] as List <EbBoxCheckRecordInfo>).FindLast(i => i.HU == hu);
            }
            if (checkRecord == null)
            {
                checkRecord = LocalDataService.GetLastEbCheckRecord(hu, HLACommonLib.Model.ENUM.CheckType.电商收货复核);
            }
            if (checkRecord == null)
            {
                MetroMessageBox.Show(this, string.Format("未查找到 {0} 箱的记录", hu), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            List <EbBoxErrorRecordInfo> errorList = null;

            if (Cache.Instance[CacheKey.ERROR_RECORD] != null)
            {
                errorList = (Cache.Instance[CacheKey.ERROR_RECORD] as List <EbBoxErrorRecordInfo>).FindAll(i => i.HU == hu);
            }
            EbBoxDetailForm form = new EbBoxDetailForm(checkRecord, errorList);

            form.ShowDialog();
        }
Exemplo n.º 2
0
        private EbBoxCheckRecordInfo GetCurrentCheckRecord(bool inventoryResult)
        {
            EbBoxCheckRecordInfo result = new EbBoxCheckRecordInfo();

            result.HU     = this.lblHU.Text;
            result.PQTY   = int.Parse(this.lblQTY.Text);
            result.RQTY   = int.Parse(this.lblScanNum.Text);
            result.STATUS = inventoryResult ? 1 : 0;
            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 取出队列中第一个上传任务,进行上传,上传完成后删除这条
        /// </summary>
        public void Upload()
        {
            lock (_lockObject)
            {
                if (isbusy)
                {
                    return;
                }
                else
                {
                    isbusy = true;
                }

                if (CurrentUploadQueue.Count > 0)
                {
                    // 取出任务上传
                    object o = CurrentUploadQueue.Pop();

                    if (o.GetType() == typeof(UploadEbBoxInfo))
                    {
                        UploadEbBoxInfo box      = o as UploadEbBoxInfo;
                        bool            isUpload = SAPDataService.UploadEbBoxInfo(box.LGNUM, box.EQUIP_HLA, box.HU, box.ChangeTime, box.InventoryResult, box.ErrorMsg, box.SubUser, box.TagDetailList);
                        if (isUpload)
                        {
                            SqliteDataService.DeleteUploaded(box.Guid);  //删除已上传成功的数据
                        }
                        else
                        {
                            box.RetryTimes++;
                            if (box.RetryTimes < 3) //最多重试3次
                            {
                                CurrentUploadQueue.Push(o);
                            }
                            else
                            {
                                SqliteDataService.DeleteUploaded(box.Guid);            //删除超过3次上传失败的数据
                                LogHelper.WriteLine(JsonConvert.SerializeObject(box)); //并记录日志,防止将来还需要使用
                            }
                        }
                    }
                    else if (o.GetType() == typeof(EbBoxCheckRecordInfo))
                    {
                        EbBoxCheckRecordInfo record = o as EbBoxCheckRecordInfo;
                        LocalDataService.InsertEbCheckRecord(record, HLACommonLib.Model.ENUM.CheckType.电商收货复核);
                    }
                    else if (o.GetType() == typeof(EbBoxErrorRecordInfo))
                    {
                        EbBoxErrorRecordInfo record = o as EbBoxErrorRecordInfo;
                        LocalDataService.InsertEbBoxErrorRecord(record, HLACommonLib.Model.ENUM.CheckType.电商收货复核);
                    }
                }
                isbusy = false;
            }
        }
Exemplo n.º 4
0
 public EbBoxDetailForm(EbBoxCheckRecordInfo record, List <EbBoxErrorRecordInfo> errorList)
 {
     InitializeComponent();
     this.Text = string.Format(this.Text, record.HU, record.STATUS == 1 ? "正常" : "异常");
     if (errorList != null && errorList.Count > 0)
     {
         foreach (EbBoxErrorRecordInfo item in errorList)
         {
             AddErrorRecord(item);
         }
     }
 }
Exemplo n.º 5
0
 public void AddCheckRecord(EbBoxCheckRecordInfo item)
 {
     grid2.Rows.Insert(0, item.HU, item.PQTY, item.RQTY, item.STATUS == 1 ? "正常" : "异常");
     grid2.Rows[0].DefaultCellStyle.BackColor = item.STATUS == 1 ? Color.White : Color.OrangeRed;
 }