コード例 #1
0
        public void Start(App.BCApplication _bcApp)
        {
            bcApp = _bcApp;
            scApp = bcApp.SCApplication;
            //宣告Timer

            //設定呼叫間隔時間為30ms
            _timer.Interval = TimeSpan.FromMilliseconds(3000);

            //加入callback function
            _timer.Tick += _timer_Tick;

            //開始
            _timer.Start();
        }
コード例 #2
0
        private void btn_all_adress_test_Click(object sender, EventArgs e)
        {
            sc.App.SCApplication scApp = mainForm.BCApp.SCApplication;
            var addresses = scApp.AddressesBLL.cache.GetAddresses();

            foreach (var adr1 in addresses)
            {
                foreach (var adr2 in addresses)
                {
                    if (adr1 == adr2)
                    {
                        continue;
                    }
                    List <string> guide_start_to_from_segment_ids = null;
                    List <string> guide_start_to_from_section_ids = null;
                    List <string> guide_start_to_from_address_ids = null;
                    bool          isSuccess  = false;
                    int           total_cost = 0;
                    (isSuccess, guide_start_to_from_segment_ids, guide_start_to_from_section_ids, guide_start_to_from_address_ids, total_cost) = mainForm.BCApp.SCApplication.GuideBLL.getGuideInfo(adr1.ADR_ID, adr2.ADR_ID);
                    if (!isSuccess)
                    {
                    }
                    else
                    {
                        if (adr1.IsControl)
                        {
                            if (!guide_start_to_from_section_ids.Contains(adr1.SEC_ID.Trim()))
                            {
                            }
                        }
                        if (adr2.IsControl)
                        {
                            if (!guide_start_to_from_section_ids.Contains(adr2.SEC_ID.Trim()))
                            {
                            }
                        }
                        Console.WriteLine($"form:{adr1.ADR_ID} to:{adr2.ADR_ID} OK");
                    }
                }
            }
            MessageBox.Show("OK");
        }
コード例 #3
0
        private void btn_sendCmd_adrAdrAndAdr_Click(object sender, EventArgs e)
        {
            sc.App.SCApplication scApp = mainForm.BCApp.SCApplication;
            string vh_id = cmb_vhID.Text;

            if (string.IsNullOrWhiteSpace(vh_id))
            {
                MessageBox.Show("No find vehile.");
                return;
            }

            string cmd_id              = scApp.SequenceBLL.getCommandID(sc.App.SCAppConstants.GenOHxCCommandType.Debug);
            string cst_id              = txt_cst_id.Text;
            string from_adr            = cb_startFromTo_From_AdrToAdrToAdr.Text;
            string to_adr              = cb_startFromTo_To_AdrToAdrToAdr.Text;
            string segment_startFrom   = txt_segments_startFrom_adrAdrAndAdr.Text;
            string sections_startFrom  = txt_sections_startFrom_adrAdrAndAdr.Text;
            string addresses_startFrom = txt_addresses_startFrom_adrAdrAndAdr.Text;

            string segment_FromTo   = txt_segments_fromTo_adrAdrAndAdr.Text;
            string sections_FromTo  = txt_sections_fromTo_adrAdrAndAdr.Text;
            string addresses_FromTo = txt_addresses_fromTo_adrAdrAndAdr.Text;

            string[] start_from_segs = sc.Common.SCUtility.isEmpty(segment_startFrom) ?
                                       null : segment_startFrom.Split(',').Select(sec => sec.PadLeft(3, '0')).ToArray();
            string[] start_from_secs = sc.Common.SCUtility.isEmpty(sections_startFrom) ?
                                       null : sections_startFrom.Split(',').Select(sec => sec.PadLeft(4, '0')).ToArray();
            string[] start_from_addresses = sc.Common.SCUtility.isEmpty(addresses_startFrom) ?
                                            null : addresses_startFrom.Split(',').Select(sec => sec.PadLeft(5, '0')).ToArray();

            string[] from_to_segs = sc.Common.SCUtility.isEmpty(segment_FromTo) ?
                                    null : segment_FromTo.Split(',').Select(sec => sec.PadLeft(3, '0')).ToArray();
            string[] from_to_secs = sc.Common.SCUtility.isEmpty(sections_FromTo) ?
                                    null : sections_FromTo.Split(',').Select(sec => sec.PadLeft(4, '0')).ToArray();
            string[] from_to_addresses = sc.Common.SCUtility.isEmpty(addresses_FromTo) ?
                                         null : addresses_FromTo.Split(',').Select(sec => sec.PadLeft(5, '0')).ToArray();



            sc.ProtocolFormat.OHTMessage.ActiveType active_type = sc.ProtocolFormat.OHTMessage.ActiveType.Loadunload;
            if (raid_cmd_move.Checked)
            {
                from_adr    = "";
                active_type = sc.ProtocolFormat.OHTMessage.ActiveType.Move;
            }
            else if (raid_cmd_load.Checked)
            {
                to_adr      = "";
                active_type = sc.ProtocolFormat.OHTMessage.ActiveType.Load;
            }
            else if (raid_cmd_unload.Checked)
            {
                from_adr    = "";
                active_type = sc.ProtocolFormat.OHTMessage.ActiveType.Unload;
            }
            else if (raid_cmd_loadunload.Checked)
            {
                active_type = sc.ProtocolFormat.OHTMessage.ActiveType.Loadunload;
            }
            else if (raid_cmd_override.Checked)
            {
                var vh = scApp.VehicleBLL.cache.getVehicle(vh_id);
                if (SCUtility.isEmpty(vh.OHTC_CMD))
                {
                    MessageBox.Show("ohtc cmd is empty. can't excute over ride");
                    return;
                }
                var cmd = scApp.CMDBLL.GetCMD_OHTCByID(vh.OHTC_CMD);
                cmd_id      = SCUtility.Trim(vh.OHTC_CMD);
                cst_id      = SCUtility.Trim(cmd.CARRIER_ID);
                active_type = sc.ProtocolFormat.OHTMessage.ActiveType.Override;
                from_adr    = SCUtility.Trim(cmd.SOURCE);
                to_adr      = SCUtility.Trim(cmd.DESTINATION);

                switch (cmd.CMD_TPYE)
                {
                case sc.E_CMD_TYPE.Move:
                case sc.E_CMD_TYPE.Unload:
                    from_adr = "";
                    break;

                case sc.E_CMD_TYPE.Load:
                    to_adr = "";
                    break;

                case sc.E_CMD_TYPE.LoadUnload:
                    if (vh.HAS_CST == 1)
                    {
                        start_from_segs      = null;
                        start_from_secs      = null;
                        start_from_addresses = null;
                    }
                    break;
                }
            }
            else
            {
                return;
            }
            Task.Run(() =>
                     scApp.VehicleService.TransferRequset
                         (vh_id, cmd_id
                         , active_type, cst_id,
                         start_from_segs, start_from_secs, start_from_addresses,
                         from_to_segs, from_to_secs, from_to_addresses,
                         from_adr, to_adr));
        }
コード例 #4
0
        private void btn_sendCmd_adrAdrAndAdr_Click(object sender, EventArgs e)
        {
            sc.App.SCApplication scApp = mainForm.BCApp.SCApplication;
            string vh_id = cmb_vhID.Text;

            if (string.IsNullOrWhiteSpace(vh_id))
            {
                MessageBox.Show("No find vehile.");
                return;
            }

            string cmd_id              = scApp.SequenceBLL.getCommandID(sc.App.SCAppConstants.GenOHxCCommandType.Debug);
            string cst_id              = txt_cst_id.Text;
            string from_adr            = cb_startFromTo_From_AdrToAdrToAdr.Text;
            string to_adr              = cb_startFromTo_To_AdrToAdrToAdr.Text;
            string segment_startFrom   = txt_segments_startFrom_adrAdrAndAdr.Text;
            string sections_startFrom  = txt_sections_startFrom_adrAdrAndAdr.Text;
            string addresses_startFrom = txt_addresses_startFrom_adrAdrAndAdr.Text;

            string segment_FromTo   = txt_segments_fromTo_adrAdrAndAdr.Text;
            string sections_FromTo  = txt_sections_fromTo_adrAdrAndAdr.Text;
            string addresses_FromTo = txt_addresses_fromTo_adrAdrAndAdr.Text;

            string[] start_from_segs = sc.Common.SCUtility.isEmpty(segment_startFrom) ?
                                       null : segment_startFrom.Split(',').Select(sec => sec.PadLeft(3, '0')).ToArray();
            string[] start_from_secs = sc.Common.SCUtility.isEmpty(sections_startFrom) ?
                                       null : sections_startFrom.Split(',').Select(sec => sec.PadLeft(4, '0')).ToArray();
            string[] start_from_addresses = sc.Common.SCUtility.isEmpty(addresses_startFrom) ?
                                            null : addresses_startFrom.Split(',').Select(sec => sec.PadLeft(5, '0')).ToArray();

            string[] from_to_segs = sc.Common.SCUtility.isEmpty(segment_FromTo) ?
                                    null : segment_FromTo.Split(',').Select(sec => sec.PadLeft(3, '0')).ToArray();
            string[] from_to_secs = sc.Common.SCUtility.isEmpty(sections_FromTo) ?
                                    null : sections_FromTo.Split(',').Select(sec => sec.PadLeft(4, '0')).ToArray();
            string[] from_to_addresses = sc.Common.SCUtility.isEmpty(addresses_FromTo) ?
                                         null : addresses_FromTo.Split(',').Select(sec => sec.PadLeft(5, '0')).ToArray();



            sc.ProtocolFormat.OHTMessage.CommandActionType active_type = sc.ProtocolFormat.OHTMessage.CommandActionType.Loadunload;
            if (raid_cmd_move.Checked)
            {
                from_adr    = "";
                active_type = sc.ProtocolFormat.OHTMessage.CommandActionType.Move;
            }
            else if (raid_cmd_load.Checked)
            {
                to_adr      = "";
                active_type = sc.ProtocolFormat.OHTMessage.CommandActionType.Load;
            }
            else if (raid_cmd_unload.Checked)
            {
                from_adr    = "";
                active_type = sc.ProtocolFormat.OHTMessage.CommandActionType.Unload;
            }
            else if (raid_cmd_loadunload.Checked)
            {
                active_type = sc.ProtocolFormat.OHTMessage.CommandActionType.Loadunload;
            }
            else if (raid_cmd_override.Checked)
            {
            }
            else
            {
                return;
            }
            //Task.Run(() =>
            //        scApp.VehicleService.TransferRequset
            //        (vh_id, cmd_id
            //        , active_type, cst_id,
            //        start_from_segs, start_from_secs, start_from_addresses,
            //        from_to_segs, from_to_secs, from_to_addresses,
            //        from_adr, to_adr));
        }