Esempio n. 1
0
 void Device_Seuic6LWithScan_OnScannerReader(Scanner.CodeInfo obj)
 {
     OnScannerReader(this, new ScanEventArgs()
     {
         BarCode = obj.barcode
     });
 }
Esempio n. 2
0
        public void CheckData(Scanner.CodeInfo obj)
        {
            string sql = @"select * from CaseNumber";

            try
            {
                DataTable dt = db.ExecuteDataTable(sql, null);
                if (dt != null && dt.Rows.Count > 0)
                {
                    hkMain.Stop();
                    MsgBox prompt = new MsgBox("还有单据没有上传,是否要删除?", "警告", 3);
                    prompt.ConfirmSelectionDelegate += delegate(int selection)
                    {
                        if (selection == 1)
                        {
                            ClearAllData();
                            DownloadDetailHandler(obj);
                        }
                        else
                        {
                            hkMain.Start();
                        }
                    };
                    prompt.Show();
                }
                else
                {
                    hkMain.Stop();
                    DownloadDetailHandler(obj);
                }
            }
            catch (Exception ex)
            {
            }
        }
 void scanner_OnScanedEvent(Scanner.CodeInfo obj)
 {
     if (this.InvokeRequired)
     {
         Action <Scanner.CodeInfo> delegateFun = new Action <Scanner.CodeInfo>(scanner_OnScanedEvent);
         this.Invoke(delegateFun, obj);
     }
     else
     {
         if (!string.IsNullOrEmpty(obj.barcode))
         {
             SetProdInfo(obj.barcode, 1);
         }
     }
 }
Esempio n. 4
0
 void scanner_OnScanedEvent(Scanner.CodeInfo obj)
 {
     if (this.InvokeRequired)
     {
         Action <Scanner.CodeInfo> delegateFun = new Action <Scanner.CodeInfo>(scanner_OnScanedEvent);
         this.Invoke(delegateFun, obj);
     }
     else
     {
         if (!string.IsNullOrEmpty(obj.barcode))
         {
             //保存当前的
             SaveCurrentProdDetail();
             //加载扫条码的
             LoadProdDetailByBarcode(obj.barcode);
         }
     }
 }
Esempio n. 5
0
 void scanner_OnScanedEvent(Scanner.CodeInfo obj)
 {
     if (this.InvokeRequired)
     {
         Action <Scanner.CodeInfo> delegateFun = new Action <Scanner.CodeInfo>(scanner_OnScanedEvent);
         this.Invoke(delegateFun, obj);
     }
     else
     {
         if (wholeCase)
         {
             hkCaseMgr.Stop();
             CaseDetailMgrWholeCaseAdd detailAddFrm = new CaseDetailMgrWholeCaseAdd(obj.barcode);
             detailAddFrm.GetCaseDetailMgrWholeCaseAddDelegate += new CaseDetailMgrWholeCaseAdd.GetCaseDetailMgrWholeCaseAdd(detailAddFrm_GetCaseDetailMgrWholeCaseAddDelegate);
             detailAddFrm.Show();
         }
         else
         {
             //跳到增加明细界面上
             if (!string.IsNullOrEmpty(obj.barcode))
             {
                 hkCaseMgr.Stop();
                 DataTable dt = (DataTable)dgCaseList.DataSource;
                 if (dt != null && dt.Rows.Count > 0)
                 {
                     string           caseNumberID = dt.Rows[dgCaseList.CurrentRowIndex].ItemArray[2].ToString();
                     string           caseNo       = dt.Rows[dgCaseList.CurrentRowIndex].ItemArray[0].ToString();
                     CaseDetailMgrAdd detailAddFrm = new CaseDetailMgrAdd(caseNumberID, obj.barcode, caseNo);
                     detailAddFrm.Show();
                 }
                 else
                 {
                     msg.ShowMessage("请按F1键新建箱号", 1);
                     hkCaseMgr.Start();
                 }
             }
         }
     }
 }
Esempio n. 6
0
 void scanner_OnScanedEvent(Scanner.CodeInfo obj)
 {
     if (this.InvokeRequired)
     {
         Action <Scanner.CodeInfo> delegateFun = new Action <Scanner.CodeInfo>(scanner_OnScanedEvent);
         this.Invoke(delegateFun, obj);
     }
     else
     {
         if (!string.IsNullOrEmpty(obj.barcode))
         {
             if (!CheckLoginInfo())
             {
                 hkMain.Stop();
                 UserLogin loginFrm = new UserLogin();
                 loginFrm.LoginSelectionDelegate += delegate(int selection, string loginID)
                 {
                     if (selection == 1)
                     {
                         AddLoginInfo(loginID);
                         CheckData(obj);
                     }
                     else
                     {
                         hkMain.Start();
                         //msgDialog.ShowMessage("登录失败", 1);
                     }
                 };
                 loginFrm.Show();
             }
             else
             {
                 CheckData(obj);
             }
         }
     }
 }
Esempio n. 7
0
        void scanner_OnScanedEvent(Scanner.CodeInfo obj)
        {
            if (this.InvokeRequired)
            {
                Action <Scanner.CodeInfo> delegateFun = new Action <Scanner.CodeInfo>(scanner_OnScanedEvent);
                this.Invoke(delegateFun, obj);
            }
            else
            {
                //填充产品详情
                if (!string.IsNullOrEmpty(obj.barcode))
                {
                    hkProductDetail.Stop();
                    SQLiteDBHelper         helper     = new SQLiteDBHelper("prodDB");
                    List <SQLiteParameter> parameters = new List <SQLiteParameter>();
                    //箱码
                    string sql = @"select * from APISysProduct where BoxBarcode=@BoxBarcode";
                    parameters = new List <SQLiteParameter>()
                    {
                        new SQLiteParameter("@BoxBarcode", obj.barcode)
                    };
                    //处理Code128C码奇数位前面补零的问题
                    sql += "  or BoxBarcode=@FormatBoxBarcode ";
                    parameters.Add(new SQLiteParameter("@FormatBoxBarcode", obj.barcode.Substring(1)));

                    DataTable partsDt = helper.ExecuteDataTable(sql, parameters.ToArray());
                    if (partsDt != null && partsDt.Rows.Count > 0)
                    {
                        this.lblBrands.Text        = partsDt.Rows[0]["Brands"].ToString();
                        this.lblProdName.Text      = partsDt.Rows[0]["ProdName"].ToString();
                        this.lblModel.Text         = partsDt.Rows[0]["Model"].ToString();
                        this.lblNorm.Text          = partsDt.Rows[0]["Norm"].ToString();
                        this.lblClassName.Text     = partsDt.Rows[0]["ClassName"].ToString();
                        this.lblOrigCode.Text      = partsDt.Rows[0]["OrigCode"].ToString();
                        this.lblFMSICode.Text      = partsDt.Rows[0]["FMSICode"].ToString();
                        this.lblMaterial.Text      = partsDt.Rows[0]["Material"].ToString();
                        this.lblUnit.Text          = partsDt.Rows[0]["Unit"].ToString();
                        this.lblPlaceofOrigin.Text = partsDt.Rows[0]["PlaceofOrigin"].ToString();
                        this.lblGW.Text            = partsDt.Rows[0]["GW"].ToString();
                        this.lblSize.Text          = partsDt.Rows[0]["Size"].ToString();
                        this.lblParameters.Text    = partsDt.Rows[0]["Parameters"].ToString();
                        this.lblSuitVehicles.Text  = partsDt.Rows[0]["SuitVehicles"].ToString();
                    }
                    else
                    {
                        if (obj.barcode.Contains("-"))
                        {
                            //件码-数量
                            string[] infoArray = obj.barcode.Split(new char[] { '-' });
                            sql        = @"select * from APISysProduct where Barcode=@Barcode";
                            parameters = new List <SQLiteParameter>()
                            {
                                new SQLiteParameter("@Barcode", infoArray[0])
                            };
                            //处理Code128C码奇数位前面补零的问题
                            sql += "  or Barcode=@FormatBarcode ";
                            parameters.Add(new SQLiteParameter("@FormatBarcode", infoArray[0].Substring(1)));

                            DataTable dtFirst = helper.ExecuteDataTable(sql, parameters.ToArray());
                            if (dtFirst != null && dtFirst.Rows.Count > 0)
                            {
                                this.lblBrands.Text        = dtFirst.Rows[0]["Brands"].ToString();
                                this.lblProdName.Text      = dtFirst.Rows[0]["ProdName"].ToString();
                                this.lblModel.Text         = dtFirst.Rows[0]["Model"].ToString();
                                this.lblNorm.Text          = dtFirst.Rows[0]["Norm"].ToString();
                                this.lblClassName.Text     = dtFirst.Rows[0]["ClassName"].ToString();
                                this.lblOrigCode.Text      = dtFirst.Rows[0]["OrigCode"].ToString();
                                this.lblFMSICode.Text      = dtFirst.Rows[0]["FMSICode"].ToString();
                                this.lblMaterial.Text      = dtFirst.Rows[0]["Material"].ToString();
                                this.lblUnit.Text          = dtFirst.Rows[0]["Unit"].ToString();
                                this.lblPlaceofOrigin.Text = dtFirst.Rows[0]["PlaceofOrigin"].ToString();
                                this.lblGW.Text            = dtFirst.Rows[0]["GW"].ToString();
                                this.lblSize.Text          = dtFirst.Rows[0]["Size"].ToString();
                                this.lblParameters.Text    = dtFirst.Rows[0]["Parameters"].ToString();
                                this.lblSuitVehicles.Text  = dtFirst.Rows[0]["SuitVehicles"].ToString();
                            }
                        }
                        else
                        {
                            //自编条码
                            sql        = @"select * from APISysProduct where Barcode=@Barcode";
                            parameters = new List <SQLiteParameter>()
                            {
                                new SQLiteParameter("@Barcode", obj.barcode)
                            };
                            //处理Code128C码奇数位前面补零的问题
                            sql += "  or Barcode=@FormatBarcode ";
                            parameters.Add(new SQLiteParameter("@FormatBarcode", obj.barcode.Substring(1)));

                            DataTable dtSecond = helper.ExecuteDataTable(sql, parameters.ToArray());
                            if (dtSecond != null && dtSecond.Rows.Count > 0)
                            {
                                this.lblBrands.Text        = dtSecond.Rows[0]["Brands"].ToString();
                                this.lblProdName.Text      = dtSecond.Rows[0]["ProdName"].ToString();
                                this.lblModel.Text         = dtSecond.Rows[0]["Model"].ToString();
                                this.lblNorm.Text          = dtSecond.Rows[0]["Norm"].ToString();
                                this.lblClassName.Text     = dtSecond.Rows[0]["ClassName"].ToString();
                                this.lblOrigCode.Text      = dtSecond.Rows[0]["OrigCode"].ToString();
                                this.lblFMSICode.Text      = dtSecond.Rows[0]["FMSICode"].ToString();
                                this.lblMaterial.Text      = dtSecond.Rows[0]["Material"].ToString();
                                this.lblUnit.Text          = dtSecond.Rows[0]["Unit"].ToString();
                                this.lblPlaceofOrigin.Text = dtSecond.Rows[0]["PlaceofOrigin"].ToString();
                                this.lblGW.Text            = dtSecond.Rows[0]["GW"].ToString();
                                this.lblSize.Text          = dtSecond.Rows[0]["Size"].ToString();
                                this.lblParameters.Text    = dtSecond.Rows[0]["Parameters"].ToString();
                                this.lblSuitVehicles.Text  = dtSecond.Rows[0]["SuitVehicles"].ToString();
                            }
                        }
                    }
                    //string detailStrJson = DataUpDownload.GetProductDetail(obj.barcode);
                    //if (!string.IsNullOrEmpty(detailStrJson) && !detailStrJson.Equals("\"\"") && !detailStrJson.Equals("Failed"))
                    //{
                    //    SysProduct model = JsonConvert.DeserializeObject<SysProduct>(detailStrJson);
                    //this.lblBrands.Text = model.Brands;
                    //this.lblProdName.Text = model.ProdName;
                    //this.lblModel.Text = model.Model;
                    //this.lblNorm.Text = model.Norm;
                    //this.lblClassName.Text = model.ClassName;
                    //this.lblOrigCode.Text = model.OrigCode;
                    //this.lblFMSICode.Text = model.FMSICode;
                    //this.lblMaterial.Text = model.Material;
                    //this.lblUnit.Text = model.Unit;
                    //this.lblPlaceofOrigin.Text = model.PlaceofOrigin;
                    //this.lblGW.Text = model.GW;
                    //this.lblSize.Text = model.Size;
                    //this.lblParameters.Text = model.Parameters;
                    //this.lblSuitVehicles.Text = model.SuitVehicles;
                    //}
                    hkProductDetail.Start();
                }
            }
        }
Esempio n. 8
0
 /// <summary>
 /// 扫描事件
 /// </summary>
 /// <param name="obj"></param>
 void scanner_OnScannerReaderEvent(Scanner.CodeInfo obj)    //扫描事件响应函数,返回扫描到条码相关信息
 {
     try
     {
         if (string.IsNullOrEmpty(obj.barcode) || obj.len == 0)
         {
             this.Tip("请重新扫描");
             return;
         }
         if (this.InvokeRequired)
         {
             Action <Scanner.CodeInfo> delegateFun = new Action <Scanner.CodeInfo>(scanner_OnScannerReaderEvent);
             this.Invoke(delegateFun, obj);
         }
         else
         {
             if (IsAbleScan)
             {
                 this.lblCurrentMaterialCode.Text      = "";//清空提示信息
                 this.lblCurrentMaterialCode.ForeColor = Color.Navy;
                 //判断是合件条码还是材料条码
                 if (IsHjScan)    //当为合件时
                 {
                     if (obj.len < 14)
                     {
                         this.Tip("请重新扫描");
                         return;
                     }
                     //D300SysUI.PlaySound(BaseVariable.ScanSound);
                     IsOK                = false;
                     this.lblOK.Text     = "";
                     this.txtHJCode.Text = "";    //清空合件条码
                     this.txtHJCode.Text = obj.barcode;
                     if (ValidateFeatureCode(obj.barcode, productModel.FeatureIndex, featureCode))
                     {
                         foreach (ListViewItem item in lvMaterial.Items)
                         {
                             item.SubItems[1].Text = "";          //初始化状态为空
                             item.SubItems[3].Text = "0";         //初始化状态为空
                             item.ForeColor        = Color.Black; //初始化字体颜色为黑色
                         }
                         //记录扫描信息
                         RecordScanInfo();
                         IsHjScan = false;
                         this.Tip("请扫描零件条码");
                     }
                     else
                     {
                         IsHjScan = true;
                         MessageBox.Show("合件不在此产品之列");
                     }
                 }
                 else    //当为材料时
                 {
                     if (obj.len < 10)
                     {
                         this.Tip("请重新扫描");
                         return;
                     }
                     //D300SysUI.PlaySound(BaseVariable.ScanSound);
                     this.lblCurrentMaterialCode.Text = obj.barcode;
                     ValidateMaterialInfo(obj.barcode);    //材料防错,对比特征码
                 }
             }
             else
             {
                 this.Tip("材料条码信息不全");    //提示
             }
         }
     }
     catch (Exception ex)
     {
         this.Tip("扫描失败");    //提示
         CLog.WriteErrLog("[FrmScan.ScanEvent]" + ex.Message);
     }
 }
Esempio n. 9
0
 public void DownloadDetailHandler(Scanner.CodeInfo obj)
 {
     #region 记录发货单条码
     string            sql        = @"delete from AppConfig where Key=@Key";
     SQLiteParameter[] parameters = new SQLiteParameter[] {
         new SQLiteParameter("@Key", "CaseBarcode"),
         new SQLiteParameter("@Value", obj.barcode)
     };
     try
     {
         db.ExecuteNonQuery(sql, parameters);
         sql = @"insert into AppConfig(Key,Value) values(@Key,@Value)";
         //parameters = new SQLiteParameter[]{
         //    new SQLiteParameter("@Key", "CaseBarcode"),
         //    new SQLiteParameter("@Value", "0000000004-01")
         // };
         db.ExecuteNonQuery(sql, parameters);
     }
     catch (Exception ex)
     {
     }
     #endregion
     #region   条码,下载发货单明细
     if (D300SysUI.CheckNetworkStatus())
     {
         string      detailStrJson = DataUpDownload.DownloadInvoiceDetail(obj.barcode);
         FromERPJson model         = JsonConvert.DeserializeObject <FromERPJson>(detailStrJson);
         if (model.IsSuccess)
         {
             msgDialog.ShowMessage("正在处理中,请稍后···", 1);
             sql = @"delete from FromERPDetail";
             try
             {
                 db.ExecuteNonQuery(sql, null);
             }
             catch (Exception ex)
             {
             }
             if (model.ReturnData.Count > 0)
             {
                 bool isSuccess = false;
                 using (SQLiteConnection connection = new SQLiteConnection(db.ConnectionString))
                 {
                     connection.Open();
                     using (DbTransaction transaction = connection.BeginTransaction())
                     {
                         using (SQLiteCommand command = new SQLiteCommand(connection))
                         {
                             try
                             {
                                 for (int i = 0; i < model.ReturnData.Count; i++)
                                 {
                                     command.CommandText = @"insert into FromERPDetail(InvoiceID,ProdID,Model,ProdName,Num,Barcode,BoxBarcode,NormNum,Title,bJianMaInBox,siteCode,ModType,ModID,DH) values (@InvoiceID,@ProdID,@Model,@ProdName,@Num,@Barcode,@BoxBarcode,@NormNum,@Title,@bJianMaInBox,@siteCode,@ModType,@ModID,@DH)";
                                     parameters          = new SQLiteParameter[] {
                                         new SQLiteParameter("@InvoiceID", model.ReturnData[i].InvoiceID),
                                         new SQLiteParameter("@ProdID", model.ReturnData[i].ProdID),
                                         new SQLiteParameter("@Model", model.ReturnData[i].Model),
                                         new SQLiteParameter("@ProdName", model.ReturnData[i].ProdName),
                                         new SQLiteParameter("@Num", model.ReturnData[i].Num),
                                         new SQLiteParameter("@Barcode", model.ReturnData[i].Barcode),
                                         new SQLiteParameter("@BoxBarcode", model.ReturnData[i].BoxBarcode),
                                         new SQLiteParameter("@NormNum", model.ReturnData[i].NormNum),
                                         new SQLiteParameter("@Title", model.ReturnData[i].Title),
                                         new SQLiteParameter("@bJianMaInBox", model.ReturnData[i].bJianMaInBox),
                                         new SQLiteParameter("@siteCode", model.ReturnData[i].siteCode),
                                         new SQLiteParameter("@ModType", model.ReturnData[i].ModType),
                                         new SQLiteParameter("@ModID", model.ReturnData[i].ModID),
                                         new SQLiteParameter("@DH", model.ReturnData[i].DH)
                                     };
                                     if (parameters != null)
                                     {
                                         command.Parameters.AddRange(parameters);
                                     }
                                     command.ExecuteNonQuery();
                                 }
                                 transaction.Commit();
                                 isSuccess = true;
                             }
                             catch (Exception ex)
                             {
                                 transaction.Rollback();
                                 isSuccess = false;
                             }
                         }
                     }
                 }
                 if (isSuccess)
                 {
                     CaseMgr caseMgrFrm = new CaseMgr(0);
                     caseMgrFrm.Show();
                 }
             }
         }
         else
         {
             msgDialog.ShowMessage("没有该发货草稿单据", 1);
         }
     }
     else
     {
         msgDialog.ShowMessage("网络没有连接", 1);
     }
     #endregion
 }