/// <summary> /// CompleteEventArgsクラスのインスタンスを初期化 /// </summary> /// <param name="status">クライアントの完了状態</param> public CompleteEventArgs(CompleteStatus status) { // // TODO: コンストラクタ ロジックをここに追加してください。 // this.status = status; }
public bool newReportTransferCommandForceFinish(VTRANSFER vTran, CompleteStatus completeStatus, List <AMCSREPORTQUEUE> reportqueues) { bool isSuccsess = true; isSuccsess = isSuccsess && iBSEMDriver.S6F11SendTransferCompleted(vTran, completeStatus, reportqueues); return(isSuccsess); }
/// <summary> /// 別スレッドとして受信処理を行うメソッドです。 /// </summary> private void OpenInternal() { // 完了状態を表す CompleteStatus status = CompleteStatus.Success; List <ThreadHeader> items = null; try { OnLoading(new EventArgs()); if (OpenReader(boardInfo)) { items = Reading(); if (canceled) { return; } headerList.AddRange(items); Invoke(new WriteListMethodInvoker(WriteInternal), new object[] { items }); } } catch (Exception ex) { status = CompleteStatus.Error; OnStatusTextChanged(ex.Message); TwinDll.Output(ex); } finally { if (canceled) { status = CompleteStatus.Error; } if (baseReader != null) { baseReader.Close(); } canceled = false; if (thread != null) { lock (thread) thread = null; } OnComplete(new CompleteEventArgs(status)); if (status == CompleteStatus.Success) { OnStatusTextChanged( String.Format("{0}板の読み込みを完了 (総数: {1})", boardInfo.Name, headerList.Count)); } } }
public bool SysExecQityfinish(string mcs_cmd_id, CompleteStatus completeStatus, int total_cmd_dis) { var cmdFinishStatus = CMDBLL.CompleteStatusToECmdStatus(completeStatus); bool is_success = updateSysExecQity_CmdFinish(mcs_cmd_id, cmdFinishStatus, completeStatus, total_cmd_dis, out ASYSEXCUTEQUALITY quality); if (quality != null) { SCUtility.TrimAllParameter(quality); LogManager.GetLogger("SysExcuteQuality").Info(quality.ToString()); } return(is_success); }
public void doCommandFinish(string mcs_cmd_id, CompleteStatus completeStatus, E_CMD_STATUS ohtc_cmd_status) { try { ASYSEXCUTEQUALITY quality = null; updateSysExecQity_CmdFinish(mcs_cmd_id, ohtc_cmd_status, completeStatus, out quality); if (quality != null) { SCUtility.TrimAllParameter(quality); LogManager.GetLogger("SysExcuteQuality").Info(quality.ToString()); } } catch (Exception ex) { logger.Error(ex, $"Exception ,mcs cmd id:{SCUtility.Trim(mcs_cmd_id, true)} ,complete status:{completeStatus}, cmd status:{ohtc_cmd_status}"); } }
private void Vh_CommandComplete(object sender, CompleteStatus e) { AVEHICLE vh = sender as AVEHICLE; try { string cur_segment_id = vh.CUR_SEG_ID; string cur_section_id = vh.CUR_SEC_ID; string cur_adr_id = vh.CUR_ADR_ID; string vh_id = vh.VEHICLE_ID; if (e == CompleteStatus.MoveToCharger) { //if (vh.BatteryLevel == BatteryLevel.Low) if (vh.MODE_STATUS == VHModeStatus.AutoCharging) { RoadControl(vh_id, cur_adr_id, false); } } else { //if (vh.BatteryLevel == BatteryLevel.Low) if (vh.MODE_STATUS == VHModeStatus.AutoCharging) { AADDRESS vh_on_address = addressesBLL.cache.GetAddress(cur_adr_id); if (vh_on_address.IsCoupler) { RoadControl(vh_id, cur_adr_id, false); } else { askVhToCharging(vh); } } } lineService.ProcessAlarmReport(vh, AlarmBLL.VEHICLE_CAN_NOT_FIND_THE_COUPLER_TO_CHARGING, ErrorStatus.ErrReset, $"vehicle:{vh.VEHICLE_ID} can't find coupler to charging"); } catch (Exception ex) { LogHelper.Log(logger: logger, LogLevel: LogLevel.Warn, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME, Data: ex, VehicleID: vh?.VEHICLE_ID); } }
private void Vh_CommandComplete(object sender, CompleteStatus e) { AVEHICLE vh = sender as AVEHICLE; try { string cur_segment_id = vh.CUR_SEG_ID; string cur_section_id = vh.CUR_SEC_ID; string cur_adr_id = vh.CUR_ADR_ID; string vh_id = vh.VEHICLE_ID; if (e == CompleteStatus.CmpStatusMoveToCharger) { //if (vh.BatteryLevel == BatteryLevel.Low) if (vh.MODE_STATUS == VHModeStatus.AutoCharging) { RoadControl(vh_id, cur_adr_id, false); } } else { //if (vh.BatteryLevel == BatteryLevel.Low) if (vh.MODE_STATUS == VHModeStatus.AutoCharging) { AADDRESS vh_on_address = addressesBLL.cache.GetAddress(cur_adr_id); if (vh_on_address.IsCoupler) { RoadControl(vh_id, cur_adr_id, false); } else { askVhToCharging(vh); } } } } catch (Exception ex) { LogHelper.Log(logger: logger, LogLevel: LogLevel.Warn, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME, Data: ex, VehicleID: vh?.VEHICLE_ID); } }
public bool ReportTransferResult2MCS(string cmdID, CompleteStatus completeStatus) { bool isSuccess = false; List <AMCSREPORTQUEUE> reportqueues = new List <AMCSREPORTQUEUE>(); using (DBConnection_EF con = DBConnection_EF.GetUContext()) { switch (completeStatus) { case CompleteStatus.Cancel: isSuccess = newReportTransferCancelCompleted(cmdID, true, reportqueues); break; case CompleteStatus.Abort: isSuccess = newReportTransferCommandAbortFinish(cmdID, reportqueues); break; case CompleteStatus.Load: case CompleteStatus.Unload: case CompleteStatus.Loadunload: case CompleteStatus.VehicleAbort: case CompleteStatus.InterlockError: case CompleteStatus.ForceAbnormalFinishByOp: case CompleteStatus.ForceNormalFinishByOp: case CompleteStatus.IdmisMatch: case CompleteStatus.IdreadFailed: isSuccess = newReportTransferCommandFinish(cmdID, reportqueues); break; case CompleteStatus.Move: case CompleteStatus.MoveToCharger: //Nothing... break; default: logger.Info($"Proc func:CommandCompleteReport, but completeStatus:{completeStatus} notimplemented "); break; } scApp.ReportBLL.insertMCSReport(reportqueues); } scApp.ReportBLL.newSendMCSMessage(reportqueues); return(isSuccess); }
protected void btnConfirm_Click(object sender, EventArgs e) { DataClassesDataContext dc = new DataClassesDataContext(); bool isNew = true; CompleteStatus cs; if (Request["id"] != null) { cs = dc.CompleteStatus.SingleOrDefault(ccs => ccs.F_ID.Equals(Request["id"])); isNew = false; } else { cs = new CompleteStatus(); cs.F_ID = Guid.NewGuid().ToString(); } if (String.IsNullOrEmpty(txtMoney.Text) == false) { cs.F_money = decimal.Parse(txtMoney.Text); } cs.F_projectID = Session["projectID"].ToString(); cs.F_task = txtTask.Text; cs.F_completeStatus = ddlCompleteStatus.SelectedValue; if (String.IsNullOrEmpty(txtFinishDate.Text) == false) { cs.F_finishDate = DateTime.Parse(txtFinishDate.Text); } if (String.IsNullOrEmpty(txtStartDate.Text) == false) { cs.F_startDate = DateTime.Parse(txtStartDate.Text); } if (isNew) { dc.CompleteStatus.InsertOnSubmit(cs); } dc.SubmitChanges(); }
private void OpenInternal() { CompleteStatus status = CompleteStatus.Success; try { try { isWaiting = true; OnLoading(new EventArgs()); } finally { isWaiting = false; } if (canceled) { return; } // 開く処理を行う if (modeOpen) { Invoke(new MethodInvoker(Opening)); } // キャッシュを読み込み表示 ReadCache(resCollection); if (canceled) { return; } Invoke(new MethodInvoker(WriteBegin)); if (canceled) { return; } if (modeOpen) { Invoke(new WriteResMethodInvoker(Write), new object[] { resCollection }); // スクロール位置を復元 (値が0の場合は復元しない) if (modeOpen && headerInfo.Position != 0.0f) { Invoke(new PositionMethodInvoker(SetScrollPosition), new object[] { headerInfo.Position }); } } Retry: try { // サーバーに接続 if (OpenReader()) { if (canceled) { return; } Reading(); // あぼーんを検知した場合 if (aboneDetected) { } } else { headerInfo.NewResCount = 0; ThreadIndexer.Write(Cache, headerInfo); } } finally { if (reader != null) { reader.Close(); } } // 再試行が要求された場合、最初から if (retried) { goto Retry; } if (canceled) { return; } Invoke(new MethodInvoker(WriteEnd)); } catch (Exception ex) { status = CompleteStatus.Error; // isOpen = false; #10/15 TwinDll.Output(ex); OnStatusTextChanged(ex.Message); } finally { // 中止された場合はETagをリセット if (canceled) { headerInfo.ETag = String.Empty; } indicesValues.Clear(); canceled = false; lock (syncObject) thread = null; if (status == CompleteStatus.Success) { OnStatusTextChanged( String.Format("{0}の読み込みを完了 (新着: {1}件)", headerInfo.Subject, headerInfo.NewResCount)); } /** 9/26 追加 **/ else if (reader is X2chAuthenticateThreadReader) { X2chRokkaResponseState rokkaState = ((X2chAuthenticateThreadReader)reader).RokkaResponseState; if (rokkaState != X2chRokkaResponseState.Success) { TwinDll.Output("RokkaResponseState: {0}, URL: {1}, ", rokkaState, headerInfo.Url); } OnStatusTextChanged(String.Format("RokkaResponseState: {0}", rokkaState)); } /****/ IsReading = false; lastCompletedDateTime = DateTime.Now; OnComplete(new CompleteEventArgs(status)); } }
private async void btn_force_finish_Click(object sender, EventArgs e) { try { if (selection_index == -1) { return; } btn_force_finish.Enabled = false; var mcs_cmd = cmdMCSshowList[selection_index]; ACMD cmd; ATRANSFER transfer; (cmd, transfer) = await Task.Run(() => GetRealCommandInfo(mcs_cmd)); if (transfer == null) { MessageBox.Show($"Transfer cmd ID:{SCUtility.Trim(mcs_cmd.CMD_ID, true)} not exist.", "Check command fail.", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } CarrierLocationChooseForm carrierLocationChooseForm = new CarrierLocationChooseForm(mainform.BCApp.SCApplication, transfer); System.Windows.Forms.DialogResult result = carrierLocationChooseForm.ShowDialog(this); if (result != DialogResult.OK) { return; } string finial_carrier_location = carrierLocationChooseForm.GetChooseLocation(); CompleteStatus finish_complete_status = carrierLocationChooseForm.GetCompleteStatus(); await Task.Run(() => { try { //mainform.BCApp.SCApplication.VehicleService.Command.Finish(cmd.ID, CompleteStatus.ForceFinishByOp); //todo 需要在review一下 kevin ACARRIER carrier = mainform.BCApp.SCApplication.CarrierBLL.db.getCarrier(mcs_cmd.CARRIER_ID); bool is_in_vh = mainform.BCApp.SCApplication.VehicleBLL.cache. IsVehicleLocationExistByLocationRealID(finial_carrier_location); E_CARRIER_STATE finial_carrier_state = is_in_vh ? E_CARRIER_STATE.Installed : E_CARRIER_STATE.Complete; if (carrier != null) { //如果原本是在車上,但後來變成不在車上要上報Remove //如果原本不在車在,後來變成在車上要在報Install bool source_is_in_vh = mainform.BCApp.SCApplication.VehicleBLL.cache. IsVehicleLocationExistByLocationRealID(carrier.LOCATION); if (is_in_vh && !source_is_in_vh) { AVEHICLE intall_vh = mainform.BCApp.SCApplication.VehicleBLL.cache.getVehicleByLocationRealID(finial_carrier_location); if (intall_vh != null) { mainform.BCApp.SCApplication.ReportBLL.newReportCarrierInstalled (intall_vh.Real_ID, mcs_cmd.CARRIER_ID, finial_carrier_location, null); } } else if (!is_in_vh && source_is_in_vh) { AVEHICLE remove_vh = mainform.BCApp.SCApplication.VehicleBLL.cache.getVehicleByLocationRealID(carrier.LOCATION); if (remove_vh != null) { mainform.BCApp.SCApplication.ReportBLL.newReportCarrierRemoved (remove_vh.Real_ID, mcs_cmd.CARRIER_ID, finial_carrier_location, null); } } mainform.BCApp.SCApplication.CarrierBLL.db.updateLocationAndState (transfer.CARRIER_ID, finial_carrier_location, finial_carrier_state); } if (cmd != null) { mainform.BCApp.SCApplication.VehicleService.Command.Finish(cmd.ID, finish_complete_status); } else { mainform.BCApp.SCApplication.TransferService.FinishTransferCommand(transfer.ID, finish_complete_status); } } catch { } } ); updateTransferCommand(); } catch (Exception ex) { } finally { btn_force_finish.Enabled = true; } }
public void onCommandComplete(CompleteStatus cmpStatus) { CommandComplete?.Invoke(this, cmpStatus); }
/// <summary> /// /// </summary> /// <param name="completeStatus"></param> public CommandCompleteEventArgs(CompleteStatus completeStatus) { CompleteStatus = completeStatus; }
public bool updateSysExecQity_CmdFinish(string mcs_cmd_id, E_CMD_STATUS commandStatus, CompleteStatus cmpStatus, out ASYSEXCUTEQUALITY quality) { bool isSuccess = true; //DBConnection_EF con = DBConnection_EF.GetContext(); //using (DBConnection_EF con = new DBConnection_EF()) quality = sysExeQualityDAO.getByID(scApp.getRedisCacheManager(), mcs_cmd_id); if (quality != null) { //quality.CMD_FINISH_STATUS = E_CMD_STATUS.NormalEnd; quality.CMD_FINISH_STATUS = commandStatus; quality.CompleteStatus = cmpStatus; quality.CMD_FINISH_TIME = DateTime.Now; quality.CMD_TOTAL_EXCUTION_TIME = getWithNowDifferenceSeconds(quality.CMD_START_TIME); //sysExeQualityDAO.update(scApp.getRedisCacheManager(), quality); sysExeQualityDAO.delete(scApp.getRedisCacheManager(), quality.CMD_ID_MCS); using (DBConnection_EF con = DBConnection_EF.GetUContext()) { ASYSEXCUTEQUALITY qualityTemp = sysExeQualityDAO.getByID(con, mcs_cmd_id); if (qualityTemp == null) { sysExeQualityDAO.add(con, quality); } } } else { } return(isSuccess); }
public override bool upDateVIDResultCode(string eq_id, AVEHICLE.VehicleState vehicleState, CompleteStatus cmp_status) { bool isSuccess = true; try { string result_code = SECSConst.convert2MCS(vehicleState, cmp_status); using (DBConnection_EF con = DBConnection_EF.GetUContext()) { AVIDINFO vid_info = vidIvfoDAO.getByID(con, eq_id); if (vid_info != null) { vid_info.RESULT_CODE = int.Parse(result_code); //TODO 這樣 Parse 的方式好嗎? vidIvfoDAO.update(con); //con.Commit(); } else { isSuccess = false; //TODO Exception log } } } catch (Exception ex) { logger.Error(ex, "Exception"); isSuccess = false; throw ex; } finally { } return(isSuccess); }
public abstract bool S6F11SendTransferCompleted(VTRANSFER vtransfer, CompleteStatus completeStatus, List <AMCSREPORTQUEUE> reportQueues = null);
public void ChangeTaskStatus(long id, CompleteStatus status) { taskService.ChangeStatusById(id, status.IsDone); }