/// <summary> /// 处理外形检测 /// </summary> /// <param name="tskID">子作业ID</param> /// <param name="distance">轴距</param> /// <param name="carSize">车辆尺寸-取物时为无效</param> /// <returns></returns> public int DealCheckCar(int tskID, int distance, string carSize) { CMasterTask mtsk = null; CTask htsk = null; motsk.GetMTaskAndCTaskOfTid(tskID, out mtsk, out htsk); if (mtsk == null || htsk == null) { return(101); } if (mtsk.IsTemp == true) //取物后存车流程 { CLocation toLct = new CWLocation().SelectLctFromAddrs(htsk.ToLctAdrs); if (toLct.Status != CLocation.EnmLocationStatus.Temping || toLct.ICCardCode != "") //车位上有车 { motsk.IDealCheckedCar(htsk.ID, htsk.CarSize, distance); //依就近原则分配 } else { motsk.ITempDealCheckCar(htsk.ID, mtsk.ID, distance, htsk.CarSize, toLct.Address); } } else { motsk.IDealCheckedCar(htsk.ID, carSize, distance); } return(100); }
//手动复位 private void btnReset_Click(object sender, EventArgs e) { try { if (comboBoxTskType.SelectedIndex > -1) { CMasterTask mtsk = (CMasterTask)comboBoxTskType.SelectedItem; int rit = Program.mng.ManualResetMasterTask(mtsk.ID); if (rit == 100) { txtUseHall.Text = ""; txtIccd.Text = ""; rtTskStatus.Text = ""; comboBoxTskType.Items.Remove(mtsk); MessageBox.Show("作业已复位!"); } else { MessageBox.Show("作业未复位:" + rit.ToString()); } } else { MessageBox.Show("请选择操作的作业!"); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void comboBoxTskType_SelectedIndexChanged(object sender, EventArgs e) { txtUseHall.Text = ""; txtIccd.Text = ""; rtTskStatus.Text = ""; try { CMasterTask mtsk = (CMasterTask)comboBoxTskType.SelectedItem; txtUseHall.Text = mtsk.HID.ToString() + "号车厅"; txtIccd.Text = mtsk.ICCardCode.ToString(); int i = 1; foreach (CTask tsk in mtsk.Tasks) { rtTskStatus.AppendText(i.ToString() + "、" + CHelper.CtaskEqpFormat(tsk.SMG) + "_" + CHelper.CtaskTypeFormat(tsk.Type) + " -" + CHelper.TaskStatusFormatting(tsk.Status) + Environment.NewLine); i++; } } catch (Exception ex) { MessageBox.Show("选择作业异常:" + ex.ToString()); } }
private void DealLed4Message() { #region while (isStart) { try { int total; int space; int occupy; int fixLct; int spaceBigLct; Program.mng.SelectLctofInfo(out total, out space, out occupy, out fixLct, out spaceBigLct); CMasterTask[] mtsks = Program.mng.GetAllMasterTaskOfHid(14); string dataStr = ""; CSMG hall = Program.mng.SelectSMG(14); if (hall.Available) { #region 作业 if (hall.nIsWorking != 0) { CMasterTask gmtsk = null; if (mtsks != null) { foreach (CMasterTask mtsk in mtsks) { foreach (CTask tsk in mtsk.Tasks) { if (hall.nIsWorking == tsk.ID) { gmtsk = mtsk; } } } } if (gmtsk != null) { if (gmtsk.ICCardCode != "") { if (gmtsk.Type == EnmMasterTaskType.GetCar) { dataStr = "当前取车卡号:" + gmtsk.ICCardCode; } else if (gmtsk.Type == EnmMasterTaskType.SaveCar) { dataStr = "当前存车卡号:" + gmtsk.ICCardCode; } else { dataStr = "当前作业卡号:" + gmtsk.ICCardCode; } } } } else { dataStr = "剩余空闲车位:" + space.ToString() + " 其中大车位:" + spaceBigLct.ToString(); } #endregion } else { dataStr = " 正在维护,请稍后存取车"; } if (dataStr != "") { if (string.Compare(dataStr, dataStr4) != 0) { myDelegate.DisplayLed4Title(dataStr); dataStr4 = dataStr; } } if (isStart) { Thread.Sleep(1000); } } catch (Exception ex) { CWSException.WriteError(ex.ToString()); Thread.Sleep(10000); } } #endregion }
/// <summary> /// 临时卡取车-界面收费出车 /// </summary> /// <param name="hallID">车厅号</param> /// <returns></returns> public int OCreateTempICcardGetCar(string iccode, out int hallID) { hallID = 0; CICCard iccd = new CWICCard().SelectByUserCode(iccode); if (iccd.Status == CICCard.EnmICCardStatus.Lost || iccd.Status == CICCard.EnmICCardStatus.Disposed) { return(107); } CLocation lct = new CWLocation().SelectLctFromICCode(iccode); //依存车卡号查询车位 if (lct == null) { return(101); //该卡没有存车 } CWSMG wsmg = new CWSMG(); CSMG[] etvs = wsmg.SelectSMGsOfType(CSMG.EnmSMGType.ETV); CSMG[] halls = wsmg.SelectSMGsCanGetCar(); //选择模式为进出、出车且可用的车厅集合 CSMG etv; //所选ETV CSMG hall; //所选Hall //分配车厅、ETV new IEGBLL.AllocateETV.GetFeeOutAllocate().AllocateEtvAndHall(etvs, halls, lct, out etv, out hall); if (etv == null || hall == null) { return(102); //没有可用的ETV或车厅 } //车厅模式 if (!wsmg.CheckHallMode(hall.ID)) { return(103); } //ETV模式 if (!wsmg.CheckEtvMode(etv.ID)) { return(104); } CMasterTask mtsk = motsk.GetMasterTaskFromICCode(iccode); if (mtsk != null) { return(105); //当前卡号正在实行 } int getCarCount = motsk.GetMTskCountFromHall(hall.ID, CMasterTask.EnmMasterTaskType.GetCar); if (getCarCount > CWData.MaxGetCarCount) { return(106); //当前作业已满 } string mse = "收费出车- 分配ETV" + etv.ID + " 取车位:" + lct.Address + " 出车厅:" + hall.ID; new CWSException(mse, 0); string etvAddrs = wsmg.GetEtvCurrAddress(etv.ID); //生成作业 motsk.OTempICcdGetCar(hall.ID, etv.ID, iccode, hall.Address, lct, etvAddrs); hallID = hall.ID; return(100); }
/// <summary> /// 刷卡取车处理 /// </summary> /// <param name="physicCard">物理卡号</param> public void DealCardMessage(string physicCard) { //检查车厅模式是否全自动 if (!(new CWSMG()).CheckHallMode(moHall.ID)) { motsk.AddNotification(moHall.ID, "5.wav"); return; } CICCard iccd = new CWICCard().SelectByPhysicCard(physicCard); if (iccd == null) { //不是本系统用卡 motsk.AddNotification(moHall.ID, "6.wav"); return; } if (iccd.Status == CICCard.EnmICCardStatus.Lost || iccd.Status == CICCard.EnmICCardStatus.Disposed) { //卡已注销或挂失 motsk.AddNotification(moHall.ID, "7.wav"); return; } //判断该卡在其他车厅有没有进行作业 if ((new CWTask()).CheckSameMTaskInHallFromICCd(iccd.Code, moHall.ID)) { motsk.AddNotification(moHall.ID, "8.wav"); return; } CLocation lct = new CWLocation().SelectLctFromICCode(iccd.Code); //获取该车厅的取车数量 int getCarCount = motsk.GetMTskCountFromHall(moHall.ID, CMasterTask.EnmMasterTaskType.GetCar); #region 进车厅 if (moHall.HallType == CSMG.EnmHallType.Entance) { if (lct == null) { if (moHall.nIsWorking != 0) { //获取车厅子作业 CTask tsk = motsk.GetCTaskFromtskID(moHall.nIsWorking); if (tsk.Status == CTask.EnmTaskStatus.ICarInWaitFirstSwipeCard) //等待第一次刷卡 { //处理第一次刷卡 motsk.DealISwipedFirstCard(tsk.ID, iccd.Code); } else if (tsk.Status == CTask.EnmTaskStatus.IFirstSwipedWaitforCheckSize) //等待第二次刷卡 { //处理第二次刷卡 if (tsk.ICCardCode != iccd.Code) { motsk.AddNotification(tsk.HID, "20.wav"); return; } motsk.DealISwipedSecondCard(tsk.ID, iccd.Code); } else { //刷卡错误请重新刷卡 或该卡正在作业请稍后 motsk.AddNotification(moHall.ID, "9.wav"); } } else { CMasterTask mtsk = motsk.GetMasterTaskFromICCode(iccd.Code); if (mtsk != null) { //该卡正在作业,请稍后 motsk.AddNotification(moHall.ID, "9.wav"); return; } //车厅无车,不能存车 motsk.AddNotification(moHall.ID, "10.wav"); } } else { //请到出车厅刷卡取车 motsk.AddNotification(moHall.ID, "11.wav"); return; } } #endregion #region 出车厅 if (moHall.HallType == CSMG.EnmHallType.Exit) { if (lct != null) { CMasterTask mtsk = motsk.GetMasterTaskFromICCode(iccd.Code); if (mtsk == null) { if (getCarCount > CWData.MaxGetCarCount) { //取车人数多,请稍后 motsk.AddNotification(moHall.ID, "12.wav"); return; } if (CWData.ChargeEnable) //收费功能开启 { if (iccd.Type == CICCard.EnmICCardType.Temp) //临时卡 { motsk.AddNotification(moHall.ID, "29.wav"); return; } else if (iccd.Type == CICCard.EnmICCardType.Fixed || iccd.Type == CICCard.EnmICCardType.FixedLocation) { if (iccd.DueDtime > DateTime.Now) //定期卡,使用期限到 { motsk.AddNotification(moHall.ID, "31.wav"); return; } } } //建立刷卡取车作业 motsk.DealOswipedFirstCard(moHall.ID, iccd, lct); } else { //正在出库请稍后 motsk.AddNotification(moHall.ID, "13.wav"); } } else { //该卡没有存车 motsk.AddNotification(moHall.ID, "14.wav"); } } #endregion #region 进出车厅 if (moHall.HallType == CSMG.EnmHallType.EnterorExit) { #region 存车 if (lct == null) //应该是进车状态 { if (moHall.nIsWorking != 0) { //获取车厅子作业 CTask tsk = motsk.GetCTaskFromtskID(moHall.nIsWorking); if (tsk.Status == CTask.EnmTaskStatus.ICarInWaitFirstSwipeCard) //等待第一次刷卡 { //处理第一次刷卡 motsk.DealISwipedFirstCard(tsk.ID, iccd.Code); } else if (tsk.Status == CTask.EnmTaskStatus.IFirstSwipedWaitforCheckSize) //等待第二次刷卡 { //处理第二次刷卡 if (tsk.ICCardCode != iccd.Code) { motsk.AddNotification(tsk.HID, "20.wav"); } else { motsk.DealISwipedSecondCard(tsk.ID, iccd.Code); } } else if (tsk.Status == CTask.EnmTaskStatus.OCarOutWaitforDriveaway) //处理取物后存车,第三次刷卡 { motsk.DealISwipeThirdCard(tsk, iccd); } else { //刷卡错误请重新刷卡 或该卡正在作业请稍后 motsk.AddNotification(moHall.ID, "9.wav"); } } else { CMasterTask mtsk = motsk.GetMasterTaskFromICCode(iccd.Code); if (mtsk != null) { //该卡正在作业,请稍后 motsk.AddNotification(moHall.ID, "9.wav"); return; } //车厅无车,不能存车 motsk.AddNotification(moHall.ID, "10.wav"); } } #endregion #region 取车 else //应该是刷卡取车 { CMasterTask mtsk = motsk.GetMasterTaskFromICCode(iccd.Code); if (mtsk == null) { if (getCarCount > CWData.MaxGetCarCount) { //取车人数多,请稍后 motsk.AddNotification(moHall.ID, "12.wav"); return; } if (CWData.ChargeEnable) //收费功能开启 { if (iccd.Type == CICCard.EnmICCardType.Temp) //临时卡 { motsk.AddNotification(moHall.ID, "29.wav"); return; } else if (iccd.Type == CICCard.EnmICCardType.Fixed || iccd.Type == CICCard.EnmICCardType.FixedLocation) { if (iccd.DueDtime > DateTime.Now) //定期卡,使用期限到 { motsk.AddNotification(moHall.ID, "31.wav"); return; } } } //建立刷卡取车作业 motsk.DealOswipedFirstCard(moHall.ID, iccd, lct); } else { //正在出库请稍后 motsk.AddNotification(moHall.ID, "13.wav"); } } #endregion } #endregion }
/// <summary> /// 更新界面信息 /// </summary> private void updateMonitior() { #region 更新状态栏信息 try { tlStripTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); tlstripUser.Text = Program.currOpr.Code; int total; int space; int occupy; int fixLct; int spaceBigLct; Program.mng.SelectLctofInfo(out total, out space, out occupy, out fixLct, out spaceBigLct); tlStripTotalNum.Text = total.ToString(); tlStripSpaceLct.Text = space.ToString(); tlStripOccupylct.Text = occupy.ToString(); tlStripFixLct.Text = fixLct.ToString(); tlstripBigLct.Text = spaceBigLct.ToString(); } catch (Exception ex) { MessageBox.Show("更新状态栏信息异常:" + ex.ToString()); } #endregion #region 更新车位信息 try { DataGridViewCell dgvc = null; CLocation[] lctns = Program.mng.SelectAllLocations(); if (lctns == null) { return; } //1边 foreach (DataGridViewRow dgvr in dataGridViewOne.Rows) //获取行值 { foreach (DataGridViewCell dgvcell in dgvr.Cells) //获取行单元格值 { CLocation lct = Array.Find(lctns, delegate(CLocation c) { return(c.Line == 1 && c.List == dgvcell.ColumnIndex && c.Layer == 5 - dgvr.Index); }); if (lct != null) { SetLocationStatusColor(lct, dgvcell); dgvcell.Tag = lct; if (lct.Status == EnmLocationStatus.Entering || lct.Status == EnmLocationStatus.Outing) { dgvc = dgvcell; } } else { if (dgvcell.ColumnIndex != 0) { dgvcell.Style.BackColor = Color.Gray; } } } } //二边 foreach (DataGridViewRow dgvr in dataGridViewTwo.Rows) { foreach (DataGridViewCell dgvcell in dgvr.Cells) { CLocation lct = Array.Find(lctns, (l => ( l.Line == 2 && l.Layer == 5 - dgvr.Index && l.List == dgvcell.ColumnIndex ))); if (lct != null) { SetLocationStatusColor(lct, dgvcell); dgvcell.Tag = lct; if (lct.Status == EnmLocationStatus.Outing || lct.Status == EnmLocationStatus.Entering) { dgvc = dgvcell; } } else { if (dgvcell.ColumnIndex != 0) { dgvcell.Style.BackColor = Color.Gray; } } } } } catch (Exception ex) { MessageBox.Show("更新车位信息异常:" + ex.ToString()); } #endregion #region 更新设备状态 #region 车厅 try { CSMG[] halls = Program.mng.SelectSMGsOfType(EnmSMGType.Hall); foreach (CSMG hall in halls) { CStatCode[] HallStatCode = Program.mng.SelectStatusCodes(hall.ID); string currS = ""; string mode = ""; if (HallStatCode != null) { if (HallStatCode[3].CurrentValue == 1) { currS = "进车"; } else if (HallStatCode[3].CurrentValue == 2) { currS = "出车"; } mode = CHelper.EqpModelFormatting(HallStatCode[4].CurrentValue); if (HallStatCode[4].CurrentValue != 4 && hall.Available == true) { Program.mng.UpdateSMGStatus(hall.ID, false, EnmModel.Init); } else if (HallStatCode[4].CurrentValue == 4 && hall.Available == false) { Program.mng.UpdateSMGStatus(hall.ID, true, EnmModel.Init); } } string setStat = ""; if (hall.HallType == EnmHallType.Entance) { setStat = "进"; } else if (hall.HallType == EnmHallType.Exit) { setStat = "出"; } else if (hall.HallType == EnmHallType.EnterorExit) { setStat = "进出"; } string smode = mode + "/" + currS + "/" + setStat; string sAvail = hall.Available ? "是" : "否"; switch (hall.ID) { case 11: lblH1Model.Text = smode; //模式标签 lblH1Avail.Text = sAvail; //可用性标签 if (HallStatCode != null) { if (HallStatCode[5].CurrentValue != 0) { lblH1Auto.Text = "存车步进:"; lblH1AutoStep.Text = HallStatCode[5].CurrentValue.ToString(); } if (HallStatCode[6].CurrentValue != 0) { lblH1Auto.Text = "取车步进:"; lblH1AutoStep.Text = HallStatCode[6].CurrentValue.ToString(); } if (HallStatCode[5].CurrentValue == 0 && HallStatCode[6].CurrentValue == 0) { lblH1Auto.Text = "自动步进:"; lblH1AutoStep.Text = "0"; } } break; case 12: lblH2Model.Text = smode; lblH2Avail.Text = sAvail; if (HallStatCode != null) { if (HallStatCode[5].CurrentValue != 0) { lblH2Auto.Text = "存车步进:"; lblH2AutoStep.Text = HallStatCode[5].CurrentValue.ToString(); } if (HallStatCode[6].CurrentValue != 0) { lblH2Auto.Text = "取车步进:"; lblH2AutoStep.Text = HallStatCode[6].CurrentValue.ToString(); } if (HallStatCode[5].CurrentValue == 0 && HallStatCode[6].CurrentValue == 0) { lblH2Auto.Text = "自动步进:"; lblH2AutoStep.Text = "0"; } } break; case 13: lblH3Model.Text = smode; lblH3Avail.Text = sAvail; if (HallStatCode != null) { if (HallStatCode[5].CurrentValue != 0) { lblH3Auto.Text = "存车步进:"; lblH3AutoStep.Text = HallStatCode[5].CurrentValue.ToString(); } if (HallStatCode[6].CurrentValue != 0) { lblH3Auto.Text = "取车步进:"; lblH3AutoStep.Text = HallStatCode[6].CurrentValue.ToString(); } if (HallStatCode[5].CurrentValue == 0 && HallStatCode[6].CurrentValue == 0) { lblH3Auto.Text = "自动步进:"; lblH3AutoStep.Text = "0"; } } break; case 14: lblH4Model.Text = smode; lblH4Avail.Text = sAvail; if (HallStatCode != null) { if (HallStatCode[5].CurrentValue != 0) { lblH4Auto.Text = "存车步进:"; lblH4AutoStep.Text = HallStatCode[5].CurrentValue.ToString(); } if (HallStatCode[6].CurrentValue != 0) { lblH4Auto.Text = "取车步进:"; lblH4AutoStep.Text = HallStatCode[6].CurrentValue.ToString(); } if (HallStatCode[5].CurrentValue == 0 && HallStatCode[6].CurrentValue == 0) { lblH4Auto.Text = "自动步进:"; lblH4AutoStep.Text = "0"; } } break; default: break; } } } catch (Exception ex) { MessageBox.Show("车厅更新设备状态异常:" + ex.ToString()); } #endregion #region ETV try { CSMG[] etvs = Program.mng.SelectSMGsOfType(EnmSMGType.ETV); if (etvs != null) { foreach (CSMG smg in etvs) { string address = ""; string mode = ""; string autoStep = ""; string loadStep = ""; string unloadStep = ""; CStatCode[] etvStatCode = Program.mng.SelectStatusCodes(smg.ID); if (etvStatCode != null && etvStatCode.Length > 10) { try { if (etvStatCode[1].CurrentValue != 0) { address = etvStatCode[0].CurrentValue.ToString() + "边" + etvStatCode[1].CurrentValue.ToString() + "列" + etvStatCode[2].CurrentValue.ToString() + "层"; } else { if (smg.CurrAddress != null) { string caddress = smg.CurrAddress; if (caddress.Length == 4) { address = caddress.Substring(0, 1) + "边" + caddress.Substring(1, 2) + "列" + caddress.Substring(3) + "层"; } } } } catch (Exception ex) { MessageBox.Show("更新地址异常:" + ex.ToString()); } try { mode = CHelper.EqpModelFormatting(etvStatCode[10].CurrentValue); autoStep = etvStatCode[3].CurrentValue.ToString(); loadStep = etvStatCode[4].CurrentValue.ToString(); unloadStep = etvStatCode[5].CurrentValue.ToString(); if (etvStatCode[10].CurrentValue != 4 && smg.Available == true) { Program.mng.UpdateSMGStatus(smg.ID, false, EnmModel.Init); } } catch (Exception ex) { MessageBox.Show("更新自动步异常:" + ex.ToString()); } } string sAvail = smg.Available ? "是" : "否"; switch (smg.ID) { case 1: lblEtv1CurrAddrs.Text = address; lblEtv1Model.Text = mode; lblEtv1Avail.Text = sAvail; lblEtv1AutoStep.Text = autoStep; lblEtv1Loadstep.Text = loadStep; lblEtv1UnloadStep.Text = unloadStep; break; case 2: lblEtv2CurrAddrs.Text = address; lblEtv2Model.Text = mode; lblEtv2Avail.Text = sAvail; lblEtv2AutoStep.Text = autoStep; lblEtv2Loadstep.Text = loadStep; lblEtv2UnloadStep.Text = unloadStep; break; default: break; } //移动标签 if (etvStatCode != null && etvStatCode.Length > 10) { if (smg.ID == 1) { try { if (etvStatCode[10].CurrentValue == 4) { if (smg.nIsWorking != 0) { lblEtv1Dis.BackColor = Color.Pink; } else { if (smg.MTskID != 0) { lblEtv1Dis.BackColor = Color.MistyRose; } else { lblEtv1Dis.BackColor = Color.PaleGreen; } } } else if (etvStatCode[10].CurrentValue != 4) { lblEtv1Dis.BackColor = Color.Chocolate; } } catch (Exception ex) { MessageBox.Show("更新标签1颜色异常:" + ex.ToString()); } Rectangle r = dataGridViewOne.GetCellDisplayRectangle(etvStatCode[1].CurrentValue == 0 ? 1 : etvStatCode[1].CurrentValue, 0, false); lblEtv1Dis.Location = new Point(r.X + 29, lblEtv1Dis.Location.Y); } else if (smg.ID == 2) { try { if (etvStatCode[10].CurrentValue == 4) { if (smg.nIsWorking != 0) { lblEtv2Dis.BackColor = Color.Pink; } else { if (smg.MTskID != 0) { lblEtv2Dis.BackColor = Color.MistyRose; } else { lblEtv2Dis.BackColor = Color.PaleGreen; } } } else if (etvStatCode[10].CurrentValue != 4) { lblEtv2Dis.BackColor = Color.Chocolate; } } catch (Exception ex) { MessageBox.Show("更新标签2颜色异常:" + ex.ToString()); } Rectangle r = dataGridViewOne.GetCellDisplayRectangle(etvStatCode[1].CurrentValue == 0 ? 1 : etvStatCode[1].CurrentValue, 0, false); lblEtv2Dis.Location = new Point(r.X + 29, lblEtv2Dis.Location.Y); } } } } } catch (Exception ex) { MessageBox.Show("ETV更新设备状态异常:" + ex.ToString()); } #endregion #endregion #region 更新作业状态 try { #region Hall1 int count = 0; count = Program.mng.GetMasterTaskCountOfHid(11); lblH1MtskNum.Text = count.ToString(); if (count > 0) { CMasterTask mtsk = Program.mng.GetCurrentMasterTaskOfSMG(11); if (mtsk != null) { #region lblH1TskType.Text = CHelper.MtskTypeFormat(mtsk.Type) + "/" + mtsk.ICCardCode; if (mtsk.Tasks[0].SMGType == EnmSMGType.Hall) { lblH1State1.Text = CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } else { if (mtsk.Tasks[0].SMG == 1) { lblH1State1.Text = "ETV1" + CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } else { lblH1State1.Text = "ETV2" + CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } } if (mtsk.Tasks.Length > 1) { if (mtsk.Tasks[1].SMG == 1) { lblH1State2.Text = "ETV1" + CHelper.TaskStatusFormatting(mtsk.Tasks[1].Status); } else { lblH1State2.Text = "ETV2" + CHelper.TaskStatusFormatting(mtsk.Tasks[1].Status); } } else { lblH1State2.Text = "待命"; } #endregion } else { lblH1TskType.Text = "空"; lblH1State1.Text = "待命"; lblH1State2.Text = "待命"; } } else { lblH1TskType.Text = "空"; lblH1State1.Text = "待命"; lblH1State2.Text = "待命"; } #endregion #region Hall2 int count1 = 0; count1 = Program.mng.GetMasterTaskCountOfHid(12); lblH2MtskNum.Text = count1.ToString(); if (count1 > 0) { CMasterTask mtsk = Program.mng.GetCurrentMasterTaskOfSMG(12); if (mtsk != null) { lblH2TskType.Text = CHelper.MtskTypeFormat(mtsk.Type) + "/" + mtsk.ICCardCode; #region if (mtsk.Tasks[0].SMGType == EnmSMGType.Hall) { lblH2State1.Text = CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } else { if (mtsk.Tasks[0].SMG == 1) { lblH2State1.Text = "ETV1" + CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } else { lblH2State1.Text = "ETV2" + CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } } if (mtsk.Tasks.Length > 1) { if (mtsk.Tasks[1].SMG == 1) { lblH2State2.Text = "ETV1" + CHelper.TaskStatusFormatting(mtsk.Tasks[1].Status); } else { lblH2State2.Text = "ETV2" + CHelper.TaskStatusFormatting(mtsk.Tasks[1].Status); } } else { lblH2State2.Text = "待命"; } #endregion } else { lblH2TskType.Text = "空"; lblH2State1.Text = "待命"; lblH2State2.Text = "待命"; } } else { lblH2TskType.Text = "空"; lblH2State1.Text = "待命"; lblH2State2.Text = "待命"; } #endregion #region Hall3 int count3 = 0; count3 = Program.mng.GetMasterTaskCountOfHid(13); lblH3MtskNum.Text = count3.ToString(); if (count3 > 0) { CMasterTask mtsk = Program.mng.GetCurrentMasterTaskOfSMG(13); if (mtsk != null) { lblH3TskType.Text = CHelper.MtskTypeFormat(mtsk.Type) + "/" + mtsk.ICCardCode; #region if (mtsk.Tasks[0].SMGType == EnmSMGType.Hall) { lblH3State1.Text = CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } else { if (mtsk.Tasks[0].SMG == 1) { lblH3State1.Text = "ETV1" + CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } else { lblH3State1.Text = "ETV2" + CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } } if (mtsk.Tasks.Length > 1) { if (mtsk.Tasks[1].SMG == 1) { lblH3State2.Text = "ETV1" + CHelper.TaskStatusFormatting(mtsk.Tasks[1].Status); } else { lblH3State2.Text = "ETV2" + CHelper.TaskStatusFormatting(mtsk.Tasks[1].Status); } } else { lblH3State2.Text = "待命"; } #endregion } else { lblH3TskType.Text = "空"; lblH3State1.Text = "待命"; lblH3State2.Text = "待命"; } } else { lblH3TskType.Text = "空"; lblH3State1.Text = "待命"; lblH3State2.Text = "待命"; } #endregion #region Hall4 int count4 = 0; count4 = Program.mng.GetMasterTaskCountOfHid(14); lblH4MtskNum.Text = count4.ToString(); if (count4 > 0) { CMasterTask mtsk = Program.mng.GetCurrentMasterTaskOfSMG(14); if (mtsk != null) { lblH4TskType.Text = CHelper.MtskTypeFormat(mtsk.Type) + "/" + mtsk.ICCardCode; #region 作业状态 if (mtsk.Tasks[0].SMGType == EnmSMGType.Hall) { lblH4State1.Text = CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } else { if (mtsk.Tasks[0].SMG == 1) { lblH4State1.Text = "ETV1" + CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } else { lblH4State1.Text = "ETV2" + CHelper.TaskStatusFormatting(mtsk.Tasks[0].Status); } } if (mtsk.Tasks.Length > 1) { if (mtsk.Tasks[1].SMG == 1) { lblH4State2.Text = "ETV1" + CHelper.TaskStatusFormatting(mtsk.Tasks[1].Status); } else { lblH4State2.Text = "ETV2" + CHelper.TaskStatusFormatting(mtsk.Tasks[1].Status); } } else { lblH4State2.Text = "待命"; } #endregion } else { lblH4TskType.Text = "空"; lblH4State1.Text = "待命"; lblH4State2.Text = "待命"; } } else { lblH4TskType.Text = "空"; lblH4State1.Text = "待命"; lblH4State2.Text = "待命"; } #endregion #region ETV1 CTask tsk1 = Program.mng.GetCurrentTaskOfSMG(1); if (tsk1 != null) { lblEtv1State.Text = CHelper.TaskStatusFormatting(tsk1.Status); lblEtv1To.Text = "卡" + tsk1.ICCardCode + "/源" + tsk1.FromLctAdrs + "/往" + tsk1.ToLctAdrs; } else { lblEtv1State.Text = "待命"; lblEtv1To.Text = ""; } #endregion #region ETV2 CTask tsk2 = Program.mng.GetCurrentTaskOfSMG(2); if (tsk2 != null) { lblEtv2State.Text = CHelper.TaskStatusFormatting(tsk2.Status); lblEtv2To.Text = "卡" + tsk2.ICCardCode + "/源" + tsk2.FromLctAdrs + "/往" + tsk2.ToLctAdrs; } else { lblEtv2State.Text = "待命"; lblEtv2To.Text = ""; } #endregion } catch (Exception ex) { MessageBox.Show("更新作业状态异常:" + ex.ToString()); } #endregion #region 更新状态按钮颜色 UpdateBtnInfoColor(btnHall1Info, 11); UpdateBtnInfoColor(btnHall2Info, 12); UpdateBtnInfoColor(btnHall3Info, 13); UpdateBtnInfoColor(btnHall4Info, 14); UpdateBtnInfoColor(btnEtv1Info, 1); UpdateBtnInfoColor(btnEtv2Info, 2); #endregion }