예제 #1
0
        public void uploadSAP(CPKCheckUpload uploadData, out string sapRe, out string sapMsg)
        {
            sapRe  = "";
            sapMsg = "";

            CCmnUploadData ud = new CCmnUploadData();

            ud.Guid       = Guid.NewGuid().ToString();
            ud.Data       = uploadData;
            ud.IsUpload   = 0;
            ud.CreateTime = DateTime.Now;
            ud.HU         = uploadData.mHu;
            CSqliteDataService.saveToSqlite(ud);

            //upload
            SAPDataService.uploadPKCheck(uploadData, out sapRe, out sapMsg);

            if (sapRe != "S")
            {
                CSqliteDataService.updateMsgToSqlite(ud.Guid, sapMsg);
                playSoundWarn();
                dmButton1_exception_query.BackColor = Color.OrangeRed;
            }
            else
            {
                CSqliteDataService.delUploadFromSqlite(ud.Guid);
            }
        }
예제 #2
0
        void saveToLocal(CPKCheckUpload up)
        {
#if DEBUG
            return;
#endif
            try
            {
                string sql = string.Format("insert into PkCheck (boxNo,createTime,data) values ('{0}',GETDATE(),'{1}')", up.mHu, JsonConvert.SerializeObject(up));
                DBHelper.ExecuteSql(sql, false);
            }
            catch (Exception)
            {
            }
        }
예제 #3
0
        CPKCheckUpload getCurUpload()
        {
            CPKCheckUpload re = new CPKCheckUpload();

            try
            {
                re.mHu      = getBoxNo();
                re.mEpcList = epcList.ToList();
                re.IV_UNAME = SysConfig.CurrentLoginUser.UserId;

                List <string> barcdList = tagDetailList.Select(i => i.BARCD).Distinct().ToList();
                foreach (var item in barcdList)
                {
                    CPKCheckUploadData d = new CPKCheckUploadData();
                    d.BARCD = item;
                    int realCount = tagDetailList.Count(i => i.BARCD == item && !i.IsAddEpc);
                    d.QTY = realCount.ToString();
                    string MAT = tagDetailList.FirstOrDefault(i => i.BARCD == item && !i.IsAddEpc).MATNR;
                    d.MATNR = MAT;

                    int shouldCount = mBoxDetailInfo.mDetail.FirstOrDefault(i => i.MATNR == MAT).QTY;
                    d.ZDJQTY = (shouldCount - realCount).ToString();

                    re.mBars.Add(d);
                }

                foreach (var v in mBoxDetailInfo.mDetail)
                {
                    if (!re.mBars.Exists(i => i.MATNR == v.MATNR))
                    {
                        CPKCheckUploadData d = new CPKCheckUploadData();
                        d.MATNR  = v.MATNR;
                        d.QTY    = "0";
                        d.ZDJQTY = v.QTY.ToString();
                        d.BARCD  = hlaTagList.FirstOrDefault(i => i.MATNR == v.MATNR).BARCD;

                        re.mBars.Add(d);
                    }
                }
            }
            catch (Exception)
            {
            }

            return(re);
        }
예제 #4
0
        public override void StopInventory()
        {
            if (isInventory)
            {
                isInventory = false;
                base.StopInventory();
            }

            CheckResult cr = CheckData();

            if (!cr.InventoryResult)
            {
                showErrorInfo(tagDetailList, cr.Message);
                return;
            }

            //是否有短检
            bool dj = hasDJ();

            if (dj)
            {
                ConfirmForm cf = new ConfirmForm(mBoxDetailInfo, tagDetailList);
                if (cf.ShowDialog() == DialogResult.OK)
                {
                    //上传
                    string         sapRe  = "";
                    string         sapMsg = "";
                    CPKCheckUpload up     = getCurUpload();
                    //save to local
                    saveToLocal(up);
                    //upload to sap
                    uploadSAP(up, out sapRe, out sapMsg);
                    if (sapRe == "S")
                    {
                        playSound(true);
                    }
                    clearUi();
                }
                else
                {
                    btn_tijiao.Enabled     = true;
                    dmButton1_save.Enabled = true;
                }
            }
            else
            {
                //上传
                string         sapRe  = "";
                string         sapMsg = "";
                CPKCheckUpload up     = getCurUpload();
                //save to local
                saveToLocal(up);
                //upload to sap
                uploadSAP(up, out sapRe, out sapMsg);
                if (sapRe == "S")
                {
                    playSound(true);
                }
                clearUi();
            }
        }