Example #1
0
        public void AsyncCallFixedWeight(IAsyncResult res)
        {
            try
            {
                WebReference.WebSDataBrCode BrServer = res.AsyncState as WebReference.WebSDataBrCode;
                String result = BrServer.EndFixedWeight(res);
                if (result == "1")
                {
                    labelStatus.BeginInvoke(new Action(() =>
                    {
                        labelStatus.Text = "Фиксация веса произведена успешно";
                    }));
                    CLog.WriteInfo("DataScales.cs", "Fixed: " + result);
                    //GetDataEU(LabelEU);
                    //тут апдейтнем локальную БД
                    UpdateSqlLiteWeigth(LabelEU, this.UnitWeght);

                    //Делаем перезапрос
                    GetDataEUSqlLite(LabelEU);

                    //Вывести сообщение что вес успешно обновлен
                }
                else
                {
                    labelStatus.BeginInvoke(new Action(() =>
                    {
                        labelStatus.Text = "Ошибка фиксации: " + result;
                    }));
                    CLog.WriteInfo("DataScales.cs", "Fixed: " + result);
                }
            }

            catch (Exception ex)
            {
                CLog.WriteException("DataScales.cs", "AsyncCallFixedWeight", ex.Message);
            }
        }
Example #2
0
        public WarehouseSel(Intermec.DataCollection.BarcodeReader _bcr, string _LoginUser, string _Date, string _Sm, ListScanOperation _ScanOperation)
        {
            InitializeComponent();
            bcr = _bcr;

            ScanOperation = _ScanOperation;

            this.LoginUser = _LoginUser;
            this.Text      = _LoginUser + " Смена:" + _Sm;

            try
            {
                _TblAgr = SqlLiteQuery.GetWareHouse();
            }

            catch (Exception exe)
            {
                CLog.WriteException("WarehouseSel.cs", "WarehouseSel", exe.Message);
            }
            InitUi();
            InitScaner();



            labelStatus.Text = "";

            //Тут правим лейбл
            string StatusBD = "БД: " + SqLiteDB.UpdateDateTime + ". Операции: " + BufferToBD.CountBuffer;

            labelBD.BeginInvoke(new Action(() =>
            {
                labelBD.Text = StatusBD;
            }));

            this.KeyPreview = true;
        }
        private void CleanCommitEU(int CodeAutomcatic)
        {
            //Проверем была ли нажата кнопка
            if (!OperationComplete)
            {
                return;
            }
            OperationComplete = false;
            try
            {
                listEU = new List <WebReference.Relmuch>();
                //Удаляем все УЕ которые отправиль в БД.
                //Создадим новую таблицу и добавим в новую.
                DataTable TmpTbl = InitTable();
                for (int i = 0; i < _tblEU.Rows.Count; i++)
                {
                    if ((_tblEU.Rows[i]["Commit"].ToString() == "0") || (_tblEU.Rows[i]["Commit"].ToString() == "-1"))
                    {
                        TmpTbl.ImportRow(_tblEU.Rows[i]);

                        WebReference.Relmuch EUT = new WebReference.Relmuch();
                        EUT.LABEL         = _tblEU.Rows[i]["Label"].ToString();
                        EUT.CODEAUTOMATIC = CodeAutomcatic;
                        listEU.Add(EUT);

                        break;
                    }
                }

                _tblEU = TmpTbl;
            }
            catch (Exception ex)
            {
                CLog.WriteException("WarehousePost.cs", "CleanCommitEU", ex.ToString());
            }
        }
Example #4
0
        private void buttonExit_Click(object sender, EventArgs e)
        {
            //if (!set.Emulator)
            //    DisposeScaner();

            //BufferToBD.StopReadBuffer();

            //CLog.WriteInfo("StartMenu.cs", "Close UI Form");
            //this.Close();
            if (BufferToBD.CountBufferI > 0)
            {
                //Если в буфере остались данные то спросить пользователя?!?
                if (DialogResult.OK == MessageBox.Show("Остались незавершенные операции. Вы действительно хотите выйти?", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
                {//Выходим
                    //
                    CLog.WriteInfo("StartMenu.cs", "User.ОК Buffer: " + BufferToBD.CountBuffer);
                    this.Close();
                }
            }
            else
            {
                this.Close();
            }
        }
Example #5
0
        void bcr_BarcodeReadScanWareHouse(object sender, BarcodeReadEventArgs bre)
        {
            try
            {
                string EU = bre.strDataBuffer;
                //заюзаем новую дичь, в зависимости от кода операции будем использовать ту или иную дичь

                switch (ScanOperation)
                {
                case ListScanOperation.MXView:
                {
                    if (EU.IndexOf("MX") == 0)
                    {        //
                        if (_view == null)
                        {
                            _view = new WareHouseView(EU);
                            _view.Show();
                        }
                        else
                        {
                            _view.Close();
                            // _scan.Dispose();
                            _view = new WareHouseView(EU);
                            _view.Show();
                        }
                    }
                    break;
                }

                case ListScanOperation.EUShip:
                {
                    if (EU.IndexOf("S") == 0)
                    {        //Это вагонная карта
                        ///TN = "S0001500000106002016";
                        if (_ship == null)
                        {
                            _ship = new EUShip(bcr, EU);
                            _ship.Show();
                        }
                        else
                        {
                            if (_ship.FormActive)
                            {
                                return;
                            }

                            _ship.Close();
                            // _scan.Dispose();
                            _ship = new EUShip(bcr, EU);
                            _ship.Show();
                        }
                    }
                    break;
                }
                }
            }
            catch (Exception exp)
            {
                CLog.WriteException("ScanWareHouse.cs", "bcr_BarcodeReadScanWareHouse", exp.Message);
                //MessageBox.Show(exp.Message);
            }
        }
Example #6
0
        void bcr_BarcodeRead(object sender, BarcodeReadEventArgs bre)
        {
            try
            {
                string EU = bre.strDataBuffer;

                if (EU.IndexOf("MX") == 0)
                {//Это место хранения
                 //bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead);

                    switch (ScanOperation)
                    {
                    case ListScanOperation.MXSet:
                    {
                        //Если операция размещение то нужно что то сделать...!!!!

                        if (_WareHousePost == null)
                        {
                            _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5);
                            _WareHousePost.Show();
                        }

                        else
                        {
                            if (_WareHousePost.FormActive)
                            {
                            }
                            else
                            {
                                _WareHousePost.Close();
                                // UIEU.Dispose();
                                _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5);
                                _WareHousePost.Show();
                            }
                        }

                        break;
                    }

                    case ListScanOperation.EUTaskMove:
                    {
                        //Если операция Перемещение то нужно что то сделать...!!!!

                        if (_WareHousePost == null)
                        {
                            _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5);
                            _WareHousePost.Show();
                        }

                        else
                        {
                            if (_WareHousePost.FormActive)
                            {
                            }
                            else
                            {
                                _WareHousePost.Close();
                                // UIEU.Dispose();
                                _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5);
                                _WareHousePost.Show();
                            }
                        }

                        break;
                    }
                    }


                    //Возвращаем обработку события этого делать тут не стоит
                    //bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead);
                }
                else
                {
                }
            }
            catch (Exception exp)
            {
                CLog.WriteException("WarehouseSel.cs", "bcr_BarcodeRead", exp.Message);
                //MessageBox.Show(exp.Message);
            }
        }
Example #7
0
        void bcr_BarcodeReadInventTaskMX(object sender, BarcodeReadEventArgs bre)
        {
            try
            {
                string EU = bre.strDataBuffer;
                if (EU.IndexOf("MX") == 0)
                {//Это место хранения
                    //bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead);
                    //А тперь проверим на соответсвие списку по ведомости
                    bool GoScan = false;
                    if (_tblTask != null)
                    {
                        for (int ii = 0; ii < _tblTask.Rows.Count; ii++)
                        {
                            if (_tblTask.Rows[ii]["MX_LABEL"].ToString().ToUpper() == EU)
                            {
                                GoScan = true;
                            }
                        }
                    }

                    if (GoScan)
                    {
                        switch (ScanOperation)
                        {
                        case ListScanOperation.InventoryTask:
                        {
                            //Если операция Перемещение то нужно что то сделать...!!!!

                            if (_WareHousePost == null)
                            {
                                _WareHousePost         = new WarehousePost(bcr, EU, ScanOperation, 5);
                                _WareHousePost.SETRZDN = SelectRZDN;
                                _WareHousePost.Show();
                            }

                            else
                            {
                                if (_WareHousePost.FormActive)
                                {
                                }
                                else
                                {
                                    _WareHousePost.Close();
                                    // UIEU.Dispose();
                                    _WareHousePost         = new WarehousePost(bcr, EU, ScanOperation, 5);
                                    _WareHousePost.SETRZDN = SelectRZDN;
                                    _WareHousePost.Show();
                                }
                            }

                            break;
                        }
                        }
                    }
                }
                else
                {
                }
            }

            catch (Exception exp)
            {
                CLog.WriteException("InventTaskMX.cs", "bcr_BarcodeReadInventTaskMX", exp.Message);
                //MessageBox.Show(exp.Message);
            }
        }
Example #8
0
        void bcr_BarcodeReadQueueTaskEU(object sender, BarcodeReadEventArgs bre)
        {
            try
            {
                string EU = bre.strDataBuffer;
                LabelEU = EU;
                ///Тут Алгоритм разбора что мы все-таки считали
                ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм
                ///Открытия формы

                if (EU.IndexOf("MX") == 0)
                {//
                    //labelStatus.BeginInvoke(new Action(() =>
                    //{
                    //    labelStatus.Text = "Считано место хранения: " + EU;
                    //}));
                    return;
                }

                //labelStatus.BeginInvoke(new Action(() =>
                //{
                //    labelStatus.Text = "Label: " + EU;
                //}));

                //MessageBox.Show(EU);

                // GetDataEU(EU);


                //Проверим есть ли данная ЕУ в списке
                if (ValidateList.CheckEUByListType(listEU, LabelEU))
                {
                    //ЕУ уже в списке
                    Sound.PlaySoundWarning();
                    //Vibration.PlayVibration(2000);
                    return;
                }


                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.BackColor = Color.White;
                }));

                //Тут делаем таблицу и выводим инфу
                DataRow row1 = _tblEU.NewRow();
                row1["Label"] = EU;

                Double WEIGHT_EU = 0;
                //WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
                //BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
                //BrServer.Url = set.AdressAppServer;
                //DataTable result = BrServer.EU_GetData(EU);

                string MarkaEU = "";
                using (SQLiteConnection connection = new SQLiteConnection())
                {
                    ;//(SQLiteConnection)factory.CreateConnection();
                    connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU;
                    SQLiteCommand command = new SQLiteCommand(connection);
                    SQLiteCommand insert  = new SQLiteCommand("select * from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection);
                    connection.Open();
                    SQLiteDataReader reader = insert.ExecuteReader();

                    while (reader.Read())
                    {
                        //Запроск К БД
                        MarkaEU = _getReaderByName(reader, "MARKA_NAME");
                        string sWEIGHT_EU = _getReaderByName(reader, "RELMUCH_VES");

                        row1["УЕ"]     = _getReaderByName(reader, "RPRT_NOM");
                        row1["Марка"]  = MarkaEU;
                        row1["Размер"] = _getReaderByName(reader, "RELMUCH_THICKNESS") + "х" + _getReaderByName(reader, "RELMUCH_WIDTH");
                        row1["Вес"]    = sWEIGHT_EU;
                        // row1["S"] = "";

                        /*
                         * CREATE TABLE [EU] (
                         *          [RELMUCH_LABEL] char(20) NOT NULL,
                         *          [RELMUCH_PRM] char(20),
                         *          [RELMUCH_VES] char(20),
                         *          [RELMUCH_FVES] char(20),
                         *          [RELMUCH_WIDTH] char(20),
                         *          [RELMUCH_THICKNESS] char(20),
                         *          [RPRT_NOM] char(20),
                         *          [RPRTTYP_NAME] char(20),
                         *          [RPRT_TOL] char(20),
                         *          [RPRT_SHRN] char(20),
                         *          [RPRT_PLVNOM] char(20),
                         *          [MARKA_NAME] char(20),
                         *          [MARKA_GOST] char(20),
                         *          [FACT_STORAGE_CODE] char(20),
                         *          [TEHUZ_LABEL] char(20),
                         *          [FACT_PLACE_NAME] char(20),
                         *          [INTRV_TMBEG] char(20))
                         * */
                        try
                        {
                            WEIGHT_EU = Double.Parse(sWEIGHT_EU);
                        }
                        catch (Exception) { }
                    }
                    reader.Close();
                    connection.Close();

                    command.Dispose();
                    insert.Dispose();
                    reader.Dispose();
                }

                //MarkaEU = MarkaEU.ToUpper()
                ////Тут введем проверку на Марку b и потом что то еще
                if (MarkaEU.ToUpper() == MarkaRZDN.ToUpper())
                {
                    ScanWeigth -= WEIGHT_EU;
                    _tblEU.Rows.Add(row1);

                    WebReference.Relmuch EUT = new WebReference.Relmuch();
                    EUT.LABEL         = EU;
                    EUT.CODEAUTOMATIC = 5;
                    listEU.Add(EUT);
                }
                else if (MarkaRZDNList.IndexOf(MarkaEU.ToUpper()) != -1)
                {
                    //вкошмарим поиск
                    ScanWeigth -= WEIGHT_EU;
                    _tblEU.Rows.Add(row1);

                    WebReference.Relmuch EUT = new WebReference.Relmuch();
                    EUT.LABEL         = EU;
                    EUT.CODEAUTOMATIC = 5;
                    listEU.Add(EUT);
                }
                else
                {
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                }

                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.DataSource = _tblEU;
                }));

                labelCountScan.BeginInvoke(new Action(() =>
                {
                    labelCountScan.Text = listEU.Count.ToString();
                }));

                labelMX.BeginInvoke(new Action(() =>
                {
                    //Вычитаем и обновляем тонны
                    labelMX.Text = "Осталось: " + Math.Round(ScanWeigth, 2).ToString() + " т.";
                    if (ScanWeigth <= 0)
                    {
                        labelMX.ForeColor = Color.White;
                    }
                    else
                    {
                        labelMX.ForeColor = Color.Tomato;
                    }
                }));
            }
            catch (Exception exp)
            {
                CLog.WriteException("WarehousePost.cs", "bcr_BarcodeRead", exp.Message);
                //MessageBox.Show(exp.Message);
            }
        }
Example #9
0
        private void ThreadGetDataScales()
        {
            DataBarCode.CLog.WriteInfo("DataScales.cs", "Start Thread Get DataScales");
            CTCPClient _client = new CTCPClient(set.DataScalesServerIp, set.DataScalesServerPort);

            while (GetDataScales)
            {
                try
                {
                    if (SelectedScales != null)
                    {
                        string[] data = _client.getData(SelectedScales);

                        buttonFix.BeginInvoke(new Action(() =>
                        {
                            buttonFix.Enabled = true;
                        }));


                        if (data != null)
                        {
                            string Weigth = data[2];
                            bool   Stabl  = bool.Parse(data[4]);
                            //CLog.WriteInfo("DataScales.cs", "Пришел вес: " + Weigth + " ;Стаб: " + Stabl.ToString());

                            labelWeigth.BeginInvoke(new Action(() =>
                            {
                                labelWeigth.Text = Weigth;
                                if (Stabl)
                                {
                                    labelWeigth.ForeColor = Color.White;
                                }
                                else
                                {
                                    labelWeigth.ForeColor = Color.Tomato;
                                }
                            }));
                        }
                    }
                }

                catch (SocketException exp)
                {
                    CLog.WriteException("DataScales.cs", "ThreadGetDataScales_SocketException", exp.Message);

                    labelWeigth.BeginInvoke(new Action(() =>
                    {
                        labelWeigth.Text      = "Нет связи";
                        labelWeigth.ForeColor = Color.Tomato;
                    }));

                    buttonFix.BeginInvoke(new Action(() =>
                    {
                        buttonFix.Enabled = false;
                    }));
                    Thread.Sleep(set.DataScalesServerTime * 5);
                }

                catch (Exception exp)
                {
                    CLog.WriteException("DataScales.cs", "ThreadGetDataScales", exp.Message);

                    labelWeigth.BeginInvoke(new Action(() =>
                    {
                        labelWeigth.Text      = "Ошибка";
                        labelWeigth.ForeColor = Color.Tomato;
                    }));

                    buttonFix.BeginInvoke(new Action(() =>
                    {
                        buttonFix.Enabled = false;
                    }));
                }
                Thread.Sleep(set.DataScalesServerTime);
            }
            CLog.WriteInfo("DataScales.cs", "Stop Thread Get DataScales");
        }
Example #10
0
        private void EUInAgr()
        {
            WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
            BrServer.SoapVersion   = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
            BrServer.Url           = set.AdressAppServer;
            BrServer.BrHeaderValue = CBrHeader.GetHeader();
            BrServer.Credentials   = new NetworkCredential(CBrHeader.Login, CBrHeader.Password);
            if (BufferToBD.ModeNetTerminalB)
            {//Если мы в Онлайне
                try
                {
                    DataTable result = BrServer.POST_EU_IN_AGR(listEU.ToArray(), labelPlace, null);

                    dataGridEu.BackColor = Color.MediumAquamarine;
                    OpenNETCF.Media.SystemSounds.Beep.Play();


                    //Меняем статус на нужный
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "1";
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }

                catch (System.Net.WebException ex)
                {
                    dataGridEu.BackColor = Color.LemonChiffon;

                    BufferToBD.ModeNetTerminalB = false;
                    CLog.WriteException("WarehousePost.cs", "EUInAgr", ex.ToString());
                    //Отправляем в буфер
                    BufferOper_POST_EU_IN_AGR Oper = new BufferOper_POST_EU_IN_AGR(labelPlace, listEU.ToArray());
                    BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_IN_AGR, Oper));
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();


                    //Меняем статус на нужный
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "3";
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }

                catch (System.Net.Sockets.SocketException ex)
                {//На случай если во время выполнения сломается связть
                    dataGridEu.BackColor = Color.LemonChiffon;

                    BufferToBD.ModeNetTerminalB = false;
                    CLog.WriteException("WarehousePost.cs", "TaskMove", ex.ToString());
                    //Отправляем в буфер
                    BufferOper_POST_EU_IN_AGR Oper = new BufferOper_POST_EU_IN_AGR(labelPlace, listEU.ToArray());
                    BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_IN_AGR, Oper));
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();


                    //Меняем статус на нужный
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "3";
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }
            }
            else
            {//Если мы в Офлайне
                BufferOper_POST_EU_IN_AGR Oper = new BufferOper_POST_EU_IN_AGR(labelPlace, listEU.ToArray());
                BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_IN_AGR, Oper));

                dataGridEu.BackColor = Color.LemonChiffon;
                OpenNETCF.Media.SystemSounds.Beep.Play();
                Thread.Sleep(100);
                OpenNETCF.Media.SystemSounds.Beep.Play();


                //Меняем статус на нужный
                for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                {
                    _tblEU.Rows[ii]["Commit"] = "3";
                }

                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.DataSource = _tblEU;
                }));
            }
        }
Example #11
0
        private void GetDataEUSqlLite(string EU)
        {
            lblID.BeginInvoke(new Action(() =>
            {
                lblID.Text = "ID: ";
            }));

            labelMark.BeginInvoke(new Action(() =>
            {
                labelMark.Text = "Марка: ";
            }));

            labelPart.BeginInvoke(new Action(() =>
            {
                labelPart.Text = "Партия: ";
            }));

            labelplav.BeginInvoke(new Action(() =>
            {
                labelplav.Text = "Плавка: ";
            }));

            labelUnitWegth.BeginInvoke(new Action(() =>
            {
                labelUnitWegth.Text = "Вес: ";
            }));

            //Загружаем по новому

            try
            {
                using (SQLiteConnection connection = new SQLiteConnection())
                {
                    ;//(SQLiteConnection)factory.CreateConnection();
                    connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU;
                    SQLiteCommand command = new SQLiteCommand(connection);
                    SQLiteCommand insert  = new SQLiteCommand("select * from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection);
                    connection.Open();
                    SQLiteDataReader reader = insert.ExecuteReader();

                    while (reader.Read())
                    {
                        /*
                         * CREATE TABLE [EU] (
                         *          [RELMUCH_LABEL] char(20) NOT NULL,
                         *          [RELMUCH_PRM] char(20),
                         *          [RELMUCH_VES] char(20),
                         *          [RELMUCH_FVES] char(20),
                         *          [RELMUCH_WIDTH] char(20),
                         *          [RELMUCH_THICKNESS] char(20),
                         *          [RPRT_NOM] char(20),
                         *          [RPRTTYP_NAME] char(20),
                         *          [RPRT_TOL] char(20),
                         *          [RPRT_SHRN] char(20),
                         *          [RPRT_PLVNOM] char(20),
                         *          [MARKA_NAME] char(20),
                         *          [MARKA_GOST] char(20),
                         *          [FACT_STORAGE_CODE] char(20),
                         *          [TEHUZ_LABEL] char(20),
                         *          [FACT_PLACE_NAME] char(20),
                         *          [INTRV_TMBEG] char(20))
                         * */
                        //lblID.Text = "ID: " + _getReaderByName(reader, "RELMUCH_PRM");
                        //labelMark.Text = "Марка: " + _getReaderByName(reader, "MARKA_NAME");
                        //labelPart.Text = "Партия: " + _getReaderByName(reader, "RPRT_NOM");
                        //labelplav.Text = "Плавка: " + _getReaderByName(reader, "RPRT_PLVNOM");
                        //labelUnitWegth.Text = "Вес: " + _getReaderByName(reader, "RELMUCH_FVES");
                        string id           = _getReaderByName(reader, "RELMUCH_PRM");
                        string MARKA_NAME   = _getReaderByName(reader, "MARKA_NAME");
                        string RPRT_NOM     = _getReaderByName(reader, "RPRT_NOM");
                        string RPRT_PLVNOM  = _getReaderByName(reader, "RPRT_PLVNOM");
                        string RELMUCH_FVES = _getReaderByName(reader, "RELMUCH_FVES");

                        lblID.BeginInvoke(new Action(() =>
                        {
                            lblID.Text = "ID: " + id;
                        }));

                        labelMark.BeginInvoke(new Action(() =>
                        {
                            labelMark.Text = "Марка: " + MARKA_NAME;
                        }));

                        labelPart.BeginInvoke(new Action(() =>
                        {
                            labelPart.Text = "Партия: " + RPRT_NOM;
                        }));

                        labelplav.BeginInvoke(new Action(() =>
                        {
                            labelplav.Text = "Плавка: " + RPRT_PLVNOM;
                        }));

                        labelUnitWegth.BeginInvoke(new Action(() =>
                        {
                            labelUnitWegth.Text = "Вес: " + RELMUCH_FVES;
                        }));
                    }
                    reader.Close();
                    connection.Close();

                    command.Dispose();
                    insert.Dispose();
                    reader.Dispose();
                }
            }

            catch (Exception ex)
            {
                CLog.WriteException("DataScales.cs", "GetDataEUSqlLite", ex.Message);
            }
        }
Example #12
0
        private void SetMXSet()
        {
            DateTime NowTime = DateTime.Now;

            WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
            BrServer.SoapVersion   = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
            BrServer.Url           = set.AdressAppServer;
            BrServer.BrHeaderValue = CBrHeader.GetHeader();
            BrServer.Credentials   = new NetworkCredential(CBrHeader.Login, CBrHeader.Password);
            if (BufferToBD.ModeNetTerminalB)
            {//Если мы в Онлайне
                try
                {
                    //Перед запросом сбросим все
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "-1";
                    }

                    DataTable result = BrServer.POST_EU_LIST_Warehouse(listEU.ToArray(), labelPlace, null);

                    // dataGridEu.BackColor = Color.MediumAquamarine;
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    ////Далее нужен алгоритм обработки ответа
                    //Парсим ответ, и выставляем биты..
                    for (int i = 0; i < result.Rows.Count; i++)
                    {
                        string Label = result.Rows[i]["Label"].ToString();
                        string RCode = result.Rows[i]["resultCode"].ToString();
                        for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                        {
                            string LabelScan = _tblEU.Rows[ii]["Label"].ToString();
                            string RCodeScan = _tblEU.Rows[ii]["Commit"].ToString();
                            if (RCodeScan == "-1")
                            {                           //Не смотрим уже измененные
                                if (LabelScan == Label) //Поиск по лейблу
                                {
                                    _tblEU.Rows[ii]["Commit"] = RCode;
                                }
                            }
                        }

                        if (RCode == "0")
                        {
                            string RCodeEx = result.Rows[i]["result"].ToString();
                            //Запишем все в логи...
                            CLog.WriteException("WarehousePost.cs", "SetMXSet", "Label: " + Label + " resultCode: " + RCode + " result: " + RCodeEx);
                        }
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }

                catch (System.Net.WebException ex)
                {
                    dataGridEu.BackColor = Color.LemonChiffon;

                    BufferToBD.ModeNetTerminalB = false;
                    CLog.WriteException("WarehousePost.cs", "buttonNext_Click_1", ex.ToString());
                    //Отправляем в буфер
                    BufferOper_POST_EU_LIST_Warehouse Oper = new BufferOper_POST_EU_LIST_Warehouse(labelPlace, listEU.ToArray());
                    BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_Warehouse, Oper));
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    //Меняем статус на желтый
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "3";
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }

                catch (System.Net.Sockets.SocketException ex)
                {//На случай если во время выполнения сломается связть
                    dataGridEu.BackColor = Color.LemonChiffon;

                    BufferToBD.ModeNetTerminalB = false;
                    CLog.WriteException("WarehousePost.cs", "buttonNext_Click_1", ex.ToString());
                    //Отправляем в буфер
                    BufferOper_POST_EU_LIST_Warehouse Oper = new BufferOper_POST_EU_LIST_Warehouse(labelPlace, listEU.ToArray());
                    BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_Warehouse, Oper));
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    //Меняем статус на желтый
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "3";
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }
            }
            else
            {//Если мы в Офлайне
                BufferOper_POST_EU_LIST_Warehouse Oper = new BufferOper_POST_EU_LIST_Warehouse(labelPlace, listEU.ToArray());
                BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_Warehouse, Oper));

                dataGridEu.BackColor = Color.LemonChiffon;
                OpenNETCF.Media.SystemSounds.Beep.Play();
                Thread.Sleep(100);
                OpenNETCF.Media.SystemSounds.Beep.Play();

                //Меняем статус на желтый
                for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                {
                    _tblEU.Rows[ii]["Commit"] = "3";
                }

                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.DataSource = _tblEU;
                }));
            }
            //Анализируем результат, и подсветку делаем строк
        }
Example #13
0
        //public void TestAdd(string EU)
        //{


        //    try
        //    {
        //        LabelEU = EU;
        //        ///Тут Алгоритм разбора что мы все-таки считали
        //        ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм
        //        ///Открытия формы

        //        if (EU.IndexOf("MX") == 0)
        //        {//
        //            //labelStatus.BeginInvoke(new Action(() =>
        //            //{
        //            //    labelStatus.Text = "Считано место хранения: " + EU;
        //            //}));
        //            return;
        //        }

        //        //labelStatus.BeginInvoke(new Action(() =>
        //        //{
        //        //    labelStatus.Text = "Label: " + EU;
        //        //}));

        //        //MessageBox.Show(EU);

        //        // GetDataEU(EU);


        //        dataGridEu.BeginInvoke(new Action(() =>
        //        {
        //            dataGridEu.BackColor = Color.White;
        //        }));

        //        //Тут делаем таблицу и выводим инфу
        //        DataRow row1 = _tblEU.NewRow();
        //        row1["Label"] = EU;


        //        //WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
        //        //BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
        //        //BrServer.Url = set.AdressAppServer;
        //        //DataTable result = BrServer.EU_GetData(EU);


        //        using (SQLiteConnection connection = new SQLiteConnection())
        //        {

        //            ;//(SQLiteConnection)factory.CreateConnection();
        //            connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU;
        //            SQLiteCommand command = new SQLiteCommand(connection);
        //            SQLiteCommand insert = new SQLiteCommand("select e.RPRT_NOM, e.MARKA_NAME, e.RELMUCH_THICKNESS, e.RELMUCH_WIDTH from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection);
        //            connection.Open();
        //            SQLiteDataReader reader = insert.ExecuteReader();
        //            while (reader.Read())
        //            {
        //                //Запроск К БД
        //                row1["УЕ"] = _getReaderByName(reader, "RPRT_NOM");
        //                row1["Марка"] = _getReaderByName(reader, "MARKA_NAME");
        //                row1["Размер"] = _getReaderByName(reader, "RELMUCH_THICKNESS") + "х" + _getReaderByName(reader, "RELMUCH_WIDTH");
        //                // row1["S"] = "";
        //                /*
        //                 * CREATE TABLE [EU] (
        //                            [RELMUCH_LABEL] char(20) NOT NULL,
        //                            [RELMUCH_PRM] char(20),
        //                            [RELMUCH_VES] char(20),
        //                            [RELMUCH_FVES] char(20),
        //                            [RELMUCH_WIDTH] char(20),
        //                            [RELMUCH_THICKNESS] char(20),
        //                            [RPRT_NOM] char(20),
        //                            [RPRTTYP_NAME] char(20),
        //                            [RPRT_TOL] char(20),
        //                            [RPRT_SHRN] char(20),
        //                            [RPRT_PLVNOM] char(20),
        //                            [MARKA_NAME] char(20),
        //                            [MARKA_GOST] char(20),
        //                            [FACT_STORAGE_CODE] char(20),
        //                            [TEHUZ_LABEL] char(20),
        //                            [FACT_PLACE_NAME] char(20),
        //                            [INTRV_TMBEG] char(20))
        //                 * */
        //            }
        //            reader.Close();
        //            connection.Close();
        //            command.Dispose();
        //            insert.Dispose();
        //            reader.Dispose();
        //        }



        //        _tblEU.Rows.Add(row1);

        //        listEU.Add(EU);

        //        labelCountScan.Text = listEU.Count.ToString();

        //        dataGridEu.BeginInvoke(new Action(() =>
        //        {
        //            dataGridEu.DataSource = _tblEU;
        //        }));


        //    }
        //    catch (Exception exp)
        //    {
        //        CLog.WriteException("WarehousePost.cs", "TestAdd", exp.Message);
        //        MessageBox.Show(exp.Message);
        //    }
        //}

        void bcr_BarcodeReadWarehousePost(object sender, BarcodeReadEventArgs bre)
        {
            try
            {
                string EU = bre.strDataBuffer;
                LabelEU = EU;
                ///Тут Алгоритм разбора что мы все-таки считали
                ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм
                ///Открытия формы

                if (EU.IndexOf("MX") == 0)
                {//
                    //labelStatus.BeginInvoke(new Action(() =>
                    //{
                    //    labelStatus.Text = "Считано место хранения: " + EU;
                    //}));
                    return;
                }

                //Проверим есть ли данная ЕУ в списке
                if (ValidateList.CheckEUByList(listEU, LabelEU))
                {
                    //ЕУ уже в списке
                    Sound.PlaySoundWarning();
                    //Vibration.PlayVibration(2000);
                    return;
                }



                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.BackColor = Color.White;
                }));

                //Тут делаем таблицу и выводим инфу
                DataRow row1 = _tblEU.NewRow();
                row1["Label"] = EU;


                //WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
                //BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
                //BrServer.Url = set.AdressAppServer;
                //DataTable result = BrServer.EU_GetData(EU);


                using (SQLiteConnection connection = new SQLiteConnection())
                {
                    ;//(SQLiteConnection)factory.CreateConnection();
                    connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU;
                    SQLiteCommand command = new SQLiteCommand(connection);
                    SQLiteCommand insert  = new SQLiteCommand("select * from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection);
                    connection.Open();
                    SQLiteDataReader reader = insert.ExecuteReader();
                    while (reader.Read())
                    {
                        //Запроск К БД
                        row1["УЕ"]     = _getReaderByName(reader, "RPRT_NOM");
                        row1["Марка"]  = _getReaderByName(reader, "MARKA_NAME");
                        row1["Размер"] = _getReaderByName(reader, "RELMUCH_THICKNESS") + "х" + _getReaderByName(reader, "RELMUCH_WIDTH");
                        row1["Вес"]    = SqlLiteQuery.getReaderByName(reader, "RELMUCH_VES");
                        // row1["S"] = "";

                        /*
                         * CREATE TABLE [EU] (
                         *          [RELMUCH_LABEL] char(20) NOT NULL,
                         *          [RELMUCH_PRM] char(20),
                         *          [RELMUCH_VES] char(20),
                         *          [RELMUCH_FVES] char(20),
                         *          [RELMUCH_WIDTH] char(20),
                         *          [RELMUCH_THICKNESS] char(20),
                         *          [RPRT_NOM] char(20),
                         *          [RPRTTYP_NAME] char(20),
                         *          [RPRT_TOL] char(20),
                         *          [RPRT_SHRN] char(20),
                         *          [RPRT_PLVNOM] char(20),
                         *          [MARKA_NAME] char(20),
                         *          [MARKA_GOST] char(20),
                         *          [FACT_STORAGE_CODE] char(20),
                         *          [TEHUZ_LABEL] char(20),
                         *          [FACT_PLACE_NAME] char(20),
                         *          [INTRV_TMBEG] char(20))
                         * */
                    }
                    reader.Close();
                    connection.Close();

                    command.Dispose();
                    insert.Dispose();
                    reader.Dispose();
                }
                _tblEU.Rows.InsertAt(row1, 0);

                listEU.Add(EU);
                labelCountScan.BeginInvoke(new Action(() =>
                {
                    labelCountScan.Text = listEU.Count.ToString();
                }));

                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.DataSource = _tblEU;
                }));
            }
            catch (Exception exp)
            {
                CLog.WriteException("WarehousePost.cs", "bcr_BarcodeReadWarehousePost", exp.Message);
                //MessageBox.Show(exp.Message);
            }
        }
Example #14
0
        private void OperationNext()
        {
            dataGridEu.BackColor = Color.White;
            //Операция размещения
            try
            {
                switch (ScanOperation)
                {
                case ListScanOperation.MXSet:
                {
                    SetMXSet();
                    break;
                }


                case ListScanOperation.EUTaskMove:
                {
                    TaskMove();
                    break;
                }

                case ListScanOperation.EuInAgr:
                {
                    OperationComplete = true;
                    EUInAgr();
                    break;
                }

                case ListScanOperation.EuInAgrTESA:
                {
                    OperationComplete = true;
                    EUInAgr();
                    break;
                }

                case ListScanOperation.InventoryTask:
                {
                    InventorySet();
                    break;
                }
                }
            }

            catch (Exception ex)
            {
                //labelStatus.BeginInvoke(new Action(() =>
                //{
                //    labelStatus.Text = "Place: " + ex.Message;
                //}));

                CLog.WriteException("WarehousePost.cs", "buttonNext_Click_1", ex.ToString());
            }


            //Тут правим лейбл
            string StatusBD = "БД: " + SqLiteDB.UpdateDateTime + ". Операции: " + BufferToBD.CountBuffer;

            labelBD.BeginInvoke(new Action(() =>
            {
                labelBD.Text = StatusBD;
            }));
        }
Example #15
0
        public void InitDataTabel()
        {
            try
            {
                labelStatus.BeginInvoke(new Action(() =>
                {
                    labelStatus.Text = "Синхронизация времени с сервером;";
                }));

                CBrHeader.Init();

                //  Thread.Sleep(5000);
                //Загружаем справичники
                WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
                BrServer.SoapVersion   = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
                BrServer.BrHeaderValue = CBrHeader.GetHeader();
                BrServer.Credentials   = new NetworkCredential(CBrHeader.Login, CBrHeader.Password);


                BrServer.Url = set.AdressAppServer;
                DateTime NowServer = BrServer.GetServerDataTime();

                CLog.WriteInfo("StartMenu.cs", "Time Update");
                //Установим на ТСД
                OpenNETCF.WindowsCE.DateTimeHelper.SystemTime = NowServer;
                labelStatus.BeginInvoke(new Action(() =>
                {
                    labelStatus.Text = "Синхронизация данных с БД";
                }));

                SqLiteDB.InitSqLiteDB();
                SqLiteDB.UpdateDataBaseEU();
                CLog.WriteInfo("StartMenu.cs", "Data Base Update");
                //Тут правим лейбл
                string StatusBD = StatusBar.getSatus();

                labelBD.BeginInvoke(new Action(() =>
                {
                    labelBD.Text = StatusBD;
                }));

                labelStatus.BeginInvoke(new Action(() =>
                {
                    labelStatus.Text = "Синхронизация завершена";
                }));

                ButtonEnable(true);
                //OpenNETCF.WindowsCE.Notification.Led vib = new OpenNETCF.WindowsCE.Notification.Led();
                //vib.SetLedStatus(1, OpenNETCF.WindowsCE.Notification.Led.LedState.On);
                OpenNETCF.WindowsMobile.Vibrate.Play();
                //Тут включить бы вибрацию.
                OpenNETCF.Media.SystemSounds.Beep.Play();
                Thread.Sleep(100);
                OpenNETCF.Media.SystemSounds.Beep.Play();
                Thread.Sleep(100);
                OpenNETCF.Media.SystemSounds.Beep.Play();

                //  vib.SetLedStatus(1, OpenNETCF.WindowsCE.Notification.Led.LedState.Off);
                OpenNETCF.WindowsMobile.Vibrate.Stop();

                CLog.WriteInfo("StartMenu.cs", "Start Ok");


                UpdateLocalBd     = new Thread(ThreadUpdateBd);
                UpdateLocalBdBool = true;
                UpdateLocalBd.Start();
            }

            catch (System.Net.WebException exp)
            {
                labelStatus.BeginInvoke(new Action(() =>
                {
                    labelStatus.Text = "Нет связи с сервером: " + set.AdressAppServer;
                }));
                CLog.WriteException("StartMenu.cs", "InitDataTabel_WEB", exp.Message);
            }

            catch (System.Web.Services.Protocols.SoapException exp)
            {
                labelStatus.BeginInvoke(new Action(() =>
                {
                    labelStatus.Text = exp.Message;
                }));
                CLog.WriteException("StartMenu.cs", "InitDataTabel_SOAP", exp.Message);
            }
            catch (Exception ex)
            {
                labelStatus.BeginInvoke(new Action(() =>
                {
                    labelStatus.Text = ex.Message;
                }));
                CLog.WriteException("StartMenu.cs", "InitDataTabel", ex.Message);
            }
        }
Example #16
0
        private void SetShip()
        {
            WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
            BrServer.SoapVersion   = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
            BrServer.Url           = set.AdressAppServer;
            BrServer.BrHeaderValue = CBrHeader.GetHeader();
            BrServer.Credentials   = new NetworkCredential(CBrHeader.Login, CBrHeader.Password);
            //Найдем задание
            string RZDN = SqlLiteQuery.GetRZDNForLabel(TN);

            //Необходимо перенести список на этап сканирования
            ////Спискок ЕУ запилим

            //listEU = new List<WebReference.Relmuch>();

            //for (int i = 0; i < _tblEU.Rows.Count; i++)
            //{
            //    if (_tblEU.Rows[i]["Select"].ToString() == "1")
            //    {
            //        //Вот тут то и дичка
            //        listEU.Add(_tblEU.Rows[i]["Label"].ToString());
            //    }

            //}


            if (BufferToBD.ModeNetTerminalB)
            {//Если мы в Онлайне
                try
                {
                    DataTable result = BrServer.POST_EU_LIST_SHIP_TYPE(listEU.ToArray(), RZDN, null);

                    dataGridEu.BackColor = Color.LightGray;
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    ////Далее нужен алгоритм обработки ответа

                    //foreach (DataRow dr in dataGridEu.Rows)
                    //{

                    //}
                    SetColorBackGround(StatusScan.Ok);
                }

                catch (System.Net.WebException ex)
                {
                    dataGridEu.BackColor = Color.LemonChiffon;

                    BufferToBD.ModeNetTerminalB = false;
                    CLog.WriteException("EUSHip.cs", "SetShip", ex.ToString());
                    //Отправляем в буфер
                    BufferOper_POST_EU_LIST_SHIP Oper = new BufferOper_POST_EU_LIST_SHIP(RZDN, listEU.ToArray());
                    BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_SHIP, Oper));
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    SetColorBackGround(StatusScan.Buffer);
                }

                catch (System.Net.Sockets.SocketException ex)
                {//На случай если во время выполнения сломается связть
                    dataGridEu.BackColor = Color.LemonChiffon;

                    BufferToBD.ModeNetTerminalB = false;
                    CLog.WriteException("EUSHip.cs", "SetShip", ex.ToString());
                    //Отправляем в буфер
                    BufferOper_POST_EU_LIST_SHIP Oper = new BufferOper_POST_EU_LIST_SHIP(RZDN, listEU.ToArray());
                    BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_SHIP, Oper));
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    SetColorBackGround(StatusScan.Buffer);
                }
            }
            else
            {//Если мы в Офлайне
                BufferOper_POST_EU_LIST_SHIP Oper = new BufferOper_POST_EU_LIST_SHIP(RZDN, listEU.ToArray());
                BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_SHIP, Oper));

                dataGridEu.BackColor = Color.LemonChiffon;
                OpenNETCF.Media.SystemSounds.Beep.Play();
                Thread.Sleep(100);
                OpenNETCF.Media.SystemSounds.Beep.Play();

                SetColorBackGround(StatusScan.Buffer);
            }
            //Анализируем результат, и подсветку делаем строк
        }
Example #17
0
        void bcr_BarcodeRead(object sender, BarcodeReadEventArgs bre)
        {
            if (_WareHousePost != null)
            {//не обрабатываем ничего
                if (_WareHousePost.FormActive)
                {
                    return;
                }
            }

            try
            {
                string EU = bre.strDataBuffer;

                ///Тут Алгоритм разбора что мы все-таки считали
                ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм
                ///Открытия формы


                //Это открытие фрормы ЭкшенЕУ, тут так же пилим для размещения форму

                if (EU.IndexOf("MX") == 0)
                {//Это место хранения
                 // bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead);



                    //Возвращаем обработку события этого делать тут не стоит
                    //bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead);

                    if (_WareHousePost == null)
                    {
                        _WareHousePost = new WarehousePost(bcr, EU, ListScanOperation.MXSet);
                        _WareHousePost.Show();
                    }

                    else
                    {
                        _WareHousePost.Close();
                        // UIEU.Dispose();
                        _WareHousePost = new WarehousePost(bcr, EU, ListScanOperation.MXSet);
                        _WareHousePost.Show();
                    }
                }
                else if (EU.IndexOf("S") == 0)
                {//Это вагонная карта, обработчик будет потом
                }

                else
                {
                    if (UIEU == null)
                    {
                        UIEU = new EU_Action(bcr, EU);
                        UIEU.Show();
                    }

                    else
                    {
                        UIEU.Close();
                        UIEU.Dispose();
                        UIEU = new EU_Action(bcr, EU);
                        UIEU.Show();
                    }
                }

                textBoxScan.BeginInvoke(new Action(() =>
                {
                    textBoxScan.Text = EU;
                }));
            }
            catch (Exception exp)
            {
                CLog.WriteException("StartMenu.cs", "bcr_BarcodeRead", exp.Message);
                //MessageBox.Show(exp.Message);
            }
        }
Example #18
0
 private void pictureBox1_DoubleClick(object sender, EventArgs e)
 {
     CLog.WriteInfo("DataBrCode", "CloseProgram");
     Application.Exit();
 }
Example #19
0
        private void StartMenu_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                // this.Close();
            }
            else if (e.KeyCode == Keys.F4)
            {
                if (BufferToBD.CountBufferI > 0)
                {
                    //Если в буфере остались данные то спросить пользователя?!?
                    if (DialogResult.OK == MessageBox.Show("Остались незавершенные операции. Вы действительно хотите выйти?", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
                    {//Выходим
                        //
                        CLog.WriteInfo("StartMenu.cs", "User.ОК Buffer: " + BufferToBD.CountBuffer);
                        this.Close();
                    }
                }
                else
                {
                    this.Close();
                }
            }

            else if (e.KeyCode == Keys.D1)
            {
                //По кнопочке просто открываем форму весовую, если туда передадим параметр весов, то запуск от сканера
                bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead);

                DataScales   scales = new DataScales(bcr);
                DialogResult DL     = scales.ShowDialog();

                //Возвращаем обработку события
                bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead);
            }
            else if (e.KeyCode == Keys.D2)
            {
                bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead);

                WarehouseSel _WareHouseSel = new WarehouseSel(bcr, LoginUser, _Date, _Sm, ListScanOperation.MXSet);
                DialogResult DL            = _WareHouseSel.ShowDialog();

                //Возвращаем обработку события
                bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead);
            }
            else if (e.KeyCode == Keys.D3)
            {
                bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead);
                using (ScanWareHouse _scan = new ScanWareHouse(bcr, ListScanOperation.EUShip))
                {
                    _scan.ShowDialog();
                }

                bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead);
            }
            else if (e.KeyCode == Keys.D4)
            {
                bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead);

                //WarehouseSel _WareHouseSel = new WarehouseSel(bcr, LoginUser, _Date, _Sm);
                //DialogResult DL = _WareHouseSel.ShowDialog();
                MenuWereHouse _MPlace = new MenuWereHouse(bcr);
                // {
                _MPlace.ShowDialog();
                // }
                //Возвращаем обработку события
                bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead);
            }
            else if (e.KeyCode == Keys.D5)
            {
            }
            else if (e.KeyCode == Keys.F5)
            {///Обновляем БД
                StartManualUpdateBD();
            }

            else if (e.KeyCode == Keys.F13)
            {///Отправка логов
                LogUpload _lupload = new LogUpload();
                _lupload.ShowDialog();
            }

            else if (e.KeyCode == Keys.F14)
            {
                WiFiTest test = new WiFiTest();
                test.Show();
            }

            else if (e.KeyCode == Keys.F16)
            {
                bool rezult = ScreenShot.MakeShot("StartMenu");
                if (rezult)
                {
                    MessageBox.Show("Снимок успешно сохранен", "ScreenShot", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                }
                else
                {
                    MessageBox.Show("Ошибка сохранения", "ScreenShot", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
                }
            }
        }
Example #20
0
 private void MainWindow_Closing(object sender, CancelEventArgs e)
 {
     CLog.WriteInfo("DataBrCode", "CloseProgram");
 }
Example #21
0
        static private void ReadBuffer()
        {
            Settings set;

            set = new Settings("DataBrCode.xml");

            while (ReadThBool)
            {//А тут занимаеся чтением буффера
                try
                {
                    if (BufferOracle != null)
                    {
                        if (countBuffer > 0)
                        {
                            if (_ModeNetTerminal)
                            {//Если мы в онлайн то работаем
                                try
                                {
                                    foreach (var elem in BufferOracle)
                                    {
                                        switch (elem.TypeOperation)
                                        {
                                        case TypeClassBuffer.POST_EU_LIST_Warehouse:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_Warehouse");
                                            BufferOper_POST_EU_LIST_Warehouse e = (BufferOper_POST_EU_LIST_Warehouse)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }

                                        case TypeClassBuffer.POST_EU_LIST_TASKMOVE:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_TASKMOVE");
                                            BufferOper_POST_EU_LIST_TASKMOVE e = (BufferOper_POST_EU_LIST_TASKMOVE)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }

                                        case TypeClassBuffer.POST_EU_IN_AGR:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_IN_AGR");
                                            BufferOper_POST_EU_IN_AGR e = (BufferOper_POST_EU_IN_AGR)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }

                                        case TypeClassBuffer.POST_EU_LIST_SHIP:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_SHIP");
                                            BufferOper_POST_EU_LIST_SHIP e = (BufferOper_POST_EU_LIST_SHIP)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }

                                        case TypeClassBuffer.POST_EU_LIST_RZDN_AGR:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_RZDN_AGR");
                                            BufferOper_POST_EU_LIST_RZDN_AGR e = (BufferOper_POST_EU_LIST_RZDN_AGR)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }


                                        case TypeClassBuffer.POST_EU_LIST_INVERT_MX:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_INVERT_MX");
                                            BufferOper_POST_EU_LIST_INVERT_MX e = (BufferOper_POST_EU_LIST_INVERT_MX)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }
                                        }
                                        ///Для теста
                                        Thread.Sleep(100);
                                    }
                                }

                                catch (System.Net.WebException)
                                {//На случай если во время выполнения сломается связть
                                    ModeNetTerminalB = false;
                                }


                                catch (System.Net.Sockets.SocketException)
                                {//На случай если во время выполнения сломается связть
                                    ModeNetTerminalB = false;
                                }
                            }

                            else
                            {//тут тестируем онлайн мы или нет и устанваливаем статус
                                _ModeNetTerminal = testConnect(set.AdressAppServer);
                                if (!_ModeNetTerminal)
                                {
                                    Thread.Sleep(1000);
                                }
                            }
                        }
                    }

                    Thread.Sleep(100);
                }
                catch (Exception ex)
                {
                    CLog.WriteException("BufferToBD", "ReadBuffer", ex.Message);
                }
            }
        }
Example #22
0
        void bcr_BarcodeReadWarehousePost(object sender, BarcodeReadEventArgs bre)
        {
            try
            {
                string EU = bre.strDataBuffer;
                LabelEU = EU;
                ///Тут Алгоритм разбора что мы все-таки считали
                ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм
                ///Открытия формы

                if (EU.IndexOf("MX") == 0)
                {//
                    //Проверим все ли ЕУ заквитированы
                    if (_tblEU == null)
                    {
                        ReInitMX(EU);
                    }
                    else if (_tblEU.Rows.Count == 0)
                    {
                        ReInitMX(EU);
                    }
                    else
                    {//Проверим на квитацию.
                        int counterEU = 0;
                        for (int i = 0; i < _tblEU.Rows.Count; i++)
                        {
                            if ((_tblEU.Rows[i]["Commit"].ToString() == "0") || (_tblEU.Rows[i]["Commit"].ToString() == "-1"))
                            {
                                counterEU++;
                            }
                        }
                        if (counterEU == 0)
                        {
                            ReInitMX(EU);
                        }
                        else
                        {
                            Sound.PlaySoundExclamationVolumeVeryHIGH();
                            Thread.Sleep(100);
                            Sound.PlaySoundExclamationVolumeVeryHIGH();
                            return;
                        }
                    }
                    return;
                }

                //Проверим есть ли данная ЕУ в списке
                if (ValidateList.CheckEUByListType(listEU, LabelEU))
                {
                    //ЕУ уже в списке
                    Sound.PlaySoundWarning();
                    //Vibration.PlayVibration(2000);
                    return;
                }


                //Удалим все УЕ которые закоммитилист.
                switch (ScanOperation)
                {
                case ListScanOperation.EuInAgr:
                {
                    CleanCommitEU(5);
                    break;
                }

                case ListScanOperation.EuInAgrTESA:
                {
                    CleanCommitEU(3);
                    if (CheckEuInAgrTESA())
                    {
                        Sound.PlaySoundExclamationVolumeVeryHIGH();
                        Thread.Sleep(100);
                        Sound.PlaySoundExclamationVolumeVeryHIGH();
                        return;
                    }

                    break;
                }

                default:
                    break;
                }

                //Очистка звершена.

                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.BackColor = Color.White;
                }));

                //Тут делаем таблицу и выводим инфу
                DataRow row1 = _tblEU.NewRow();
                row1["Label"] = EU;


                //WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
                //BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
                //BrServer.Url = set.AdressAppServer;
                //DataTable result = BrServer.EU_GetData(EU);


                using (SQLiteConnection connection = new SQLiteConnection())
                {
                    ;//(SQLiteConnection)factory.CreateConnection();
                    connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU;
                    SQLiteCommand command = new SQLiteCommand(connection);
                    SQLiteCommand insert  = new SQLiteCommand("select * from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection);
                    connection.Open();
                    SQLiteDataReader reader = insert.ExecuteReader();
                    while (reader.Read())
                    {
                        //Запроск К БД
                        row1["УЕ"]     = _getReaderByName(reader, "RPRT_NOM");
                        row1["Марка"]  = _getReaderByName(reader, "MARKA_NAME");
                        row1["Размер"] = _getReaderByName(reader, "RELMUCH_THICKNESS") + "х" + _getReaderByName(reader, "RELMUCH_WIDTH");
                        row1["Вес"]    = SqlLiteQuery.getReaderByName(reader, "RELMUCH_VES");
                    }
                    reader.Close();
                    connection.Close();

                    command.Dispose();
                    insert.Dispose();
                    reader.Dispose();
                }
                _tblEU.Rows.InsertAt(row1, 0);

                WebReference.Relmuch EUT = new WebReference.Relmuch();
                EUT.LABEL         = EU;
                EUT.CODEAUTOMATIC = 5;
                listEU.Add(EUT);

                labelCountScan.BeginInvoke(new Action(() =>
                {
                    labelCountScan.Text = listEU.Count.ToString();
                }));

                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.DataSource = _tblEU;
                }));
            }
            catch (Exception exp)
            {
                CLog.WriteException("WarehousePost.cs", "bcr_BarcodeReadWarehousePost", exp.Message);
                //MessageBox.Show(exp.Message);
            }
        }