void timeloop_TimeTo(object sender, EventArgs e) { try { GC.Collect(); StopUpdateConfig(); _clientSetting = GetClientSet();//获取终端设置 _closeCheckPassword = GetClosePw(); if (_clientSetting == null) { throw new Exception("获取信息失败"); } _readingRoomList = GetReadingRooms(); UploadAdvertUsage(); } catch { if (UpdateConfigError != null) { UpdateConfigError(this, new EventArgs()); } } finally { StartAutoUpdateConfig(); } }
/// <summary> /// 赋值 /// </summary> /// <param name="term"></param> private TerminalInfoV2 NewSetting(TerminalInfoV2 term) { TerminalInfoV2 newterm = term; newterm.DeviceSetting.IsShowInitPOS = cbipos.Checked; newterm.DeviceSetting.UsingPrintSlip = (SeatManage.EnumType.PrintSlipMode) int.Parse(rbprint.SelectedValue); newterm.DeviceSetting.UsingEnterNoForSeat = cbNumSelect.Checked; newterm.DeviceSetting.SelectMethod = (SeatManage.EnumType.SelectSeatMode) int.Parse(rblSelectSeatMode.SelectedValue); newterm.DeviceSetting.UsingActiveBespeakSeat = cbBespeak.Checked; newterm.DeviceSetting.UsingOftenUsedSeat.Used = cbOftenSeat.Checked; newterm.DeviceSetting.UsingOftenUsedSeat.LengthDays = int.Parse(nbostime.Text); newterm.DeviceSetting.UsingOftenUsedSeat.SeatCount = int.Parse(nboscont.Text); newterm.DeviceSetting.PosTimes.Minutes = int.Parse(numSelectSeatTime.Text); newterm.DeviceSetting.PosTimes.Times = int.Parse(numSelectSeatCont.Text); newterm.DeviceSetting.PosTimes.IsUsed = cbSelectSeatCount.Checked; newterm.DeviceSetting.SystemResoultion = new ResolutionV2(rblfbl.SelectedValue); newterm.DeviceSetting.Rooms.Clear(); foreach (FineUI.CheckItem item in clbroom.Items) { if (item.Selected) { newterm.DeviceSetting.Rooms.Add(item.Value); } } return(newterm); }
/// <summary> /// 保存数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSubmit_Click(object sender, EventArgs e) { TerminalInfoV2 newterm = NewSetting(SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(lbno.Text)); newterm.Describe = txtRemark.Text; if (SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(newterm) == "") { foreach (FineUI.CheckItem item in cblTerm.Items) { if (item.Selected) { if (SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(NewSetting(SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(item.Value))) != "") { FineUI.Alert.Show("更新失败!"); return; } } } FineUI.Alert.Show("更新成功!"); } else { FineUI.Alert.Show("更新失败!"); } }
/// <summary> /// 赋值 /// </summary> /// <param name="term"></param> private TerminalInfoV2 NewSetting(TerminalInfoV2 term) { TerminalInfoV2 newterm = term; newterm.DeviceSetting.IsShowInitPOS = cbipos.Checked; newterm.DeviceSetting.UsingPrintSlip = (SeatManage.EnumType.PrintSlipMode) int.Parse(rbprint.SelectedValue); newterm.DeviceSetting.UsingEnterNoForSeat = cbNumSelect.Checked; newterm.DeviceSetting.SelectMethod = (SeatManage.EnumType.SelectSeatMode) int.Parse(rblSelectSeatMode.SelectedValue); newterm.DeviceSetting.UsingActiveBespeakSeat = cbBespeak.Checked; newterm.DeviceSetting.UsingOftenUsedSeat.Used = cbOftenSeat.Checked; newterm.DeviceSetting.UsingOftenUsedSeat.LengthDays = int.Parse(nbostime.Text); newterm.DeviceSetting.UsingOftenUsedSeat.SeatCount = int.Parse(nboscont.Text); newterm.DeviceSetting.PosTimes.Minutes = int.Parse(numSelectSeatTime.Text); newterm.DeviceSetting.PosTimes.Times = int.Parse(numSelectSeatCont.Text); newterm.DeviceSetting.PosTimes.IsUsed = cbSelectSeatCount.Checked; if (rblfbl.SelectedValue == "0") { newterm.DeviceSetting.SystemResoultion = new ResolutionV2(); string[] xy = txtReDiy.Text.Split('x'); if (xy.Length > 1) { int w = 0; int h = 0; if (int.TryParse(xy[0], out w) && int.TryParse(xy[1], out h)) { newterm.DeviceSetting.SystemResoultion.WindowSize.Size.X = w; newterm.DeviceSetting.SystemResoultion.WindowSize.Size.Y = h; newterm.DeviceSetting.SystemResoultion.WindowSize.Location.X = 0; newterm.DeviceSetting.SystemResoultion.WindowSize.Location.Y = 0; newterm.DeviceSetting.SystemResoultion.TooltipSize.Location.X = 0; newterm.DeviceSetting.SystemResoultion.TooltipSize.Location.Y = 0; newterm.DeviceSetting.SystemResoultion.TooltipSize.Size.X = 0; newterm.DeviceSetting.SystemResoultion.TooltipSize.Size.Y = 0; } else { return(null); } } else { return(null); } } else { newterm.DeviceSetting.SystemResoultion = new ResolutionV2(rblfbl.SelectedValue); } newterm.DeviceSetting.Rooms.Clear(); foreach (FineUI.CheckItem item in clbroom.Items) { if (item.Selected) { newterm.DeviceSetting.Rooms.Add(item.Value); } } return(newterm); }
/// <summary> /// 执行打印操作 /// </summary> /// <param name="_PrintType"></param> /// <param name="data"></param> public void Print(PrintStatus printType, PrintData data, string clientNo) { SeatManage.EnumType.Printer printerStatus = PrintStatusHandle(); TerminalInfoV2 term = SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(clientNo); if (printerStatus == SeatManage.EnumType.Printer.NoPaper) { if (term.PrinterStatus == true) { term.PrinterStatus = false; term.LastPrintTimes = term.PrintedTimes; term.PrintedTimes = 0; SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(term); } if (PrinterException != null) { PrinterException(SeatManage.EnumType.Printer.NoPaper); } return; } else if (printerStatus == SeatManage.EnumType.Printer.Normal) { term.PrinterStatus = true; term.DeviceSetting.IsAnyPaper = true; } _PrintType = printType; printData = data; XmlDocument doc = new XmlDocument();//原模板 doc.LoadXml(GetPrintTemplate()); PrintDocument pd = new PrintDocument(); //打印操作的对象 pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0); //设置边距 switch (PrintType) { //根据凭条的类型,在模板前增加【预约】或【等待】字样的节点 case PrintStatus.General: newDoc = doc; break; case PrintStatus.Book: newDoc = InsertXmlNode(PrintStatus.Book, doc); break; case PrintStatus.Wait: newDoc = InsertXmlNode(PrintStatus.Wait, doc); break; } pd.PrintPage += new PrintPageEventHandler(pd_PrintPage); pd.Print(); term.PrintedTimes++; SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(term); }
/// <summary> /// 执行打印操作 /// </summary> /// <param name="_PrintType"></param> /// <param name="data"></param> public void Print() { Application.Current.Dispatcher.Invoke(new Action(() => { Printer printerStatus = PrintStatusHandle(); TerminalInfoV2 term = TerminalOperatorService.GetTeminalSetting(ThreadClientNo); if (printerStatus == Printer.NoPaper) { if (term.PrinterStatus) { term.PrinterStatus = false; term.LastPrintTimes = term.PrintedTimes; term.PrintedTimes = 0; TerminalOperatorService.UpdateTeminalSetting(term); } if (PrinterException != null) { PrinterException(Printer.NoPaper); } return; } if (printerStatus == Printer.Normal) { term.PrinterStatus = true; term.DeviceSetting.IsAnyPaper = true; } _PrintType = ThreadPrintType; printData = ThreadPrintData; XmlDocument doc = new XmlDocument(); //原模板 doc.LoadXml(GetPrintTemplate()); PrintDocument pd = new PrintDocument(); //打印操作的对象 pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0); //设置边距 switch (PrintType) { //根据凭条的类型,在模板前增加【预约】或【等待】字样的节点 case PrintStatus.General: newDoc = doc; break; case PrintStatus.Book: newDoc = InsertXmlNode(PrintStatus.Book, doc); break; case PrintStatus.Wait: newDoc = InsertXmlNode(PrintStatus.Wait, doc); break; } pd.PrintPage += pd_PrintPage; pd.Print(); term.PrintedTimes++; TerminalOperatorService.UpdateTeminalSetting(term); })); }
private TerminalInfoV2 DataRowToTerminalInfoNew(DataRow dr) { TerminalInfoV2 terminal = new TerminalInfoV2(); terminal.ClientNo = dr["DeviceNum"].ToString(); terminal.TerminalMacAddress = dr["TerminalMacAddress"].ToString(); terminal.ScreenshotPath = dr["ScreenshotPath"].ToString(); string tempFile = dr["Date"].ToString(); if (!string.IsNullOrEmpty(tempFile)) { terminal.StatusUpdateTime = DateTime.Parse(tempFile); } terminal.IsUpdatePlayList = (bool)dr["IsUpdatePlayList"]; terminal.Describe = dr["Describe"].ToString(); tempFile = dr["DeviceSetting"].ToString(); if (!string.IsNullOrEmpty(tempFile)) { terminal.DeviceSetting = ClientConfigV2.Convert(tempFile); } tempFile = dr["EmpowerLoseEfficacyTime"].ToString(); if (!string.IsNullOrEmpty(tempFile)) { terminal.EmpowerLoseEfficacyTime = DateTime.Parse(tempFile); } if (dr["LastPrintTimes"] == DBNull.Value) { terminal.LastPrintTimes = 0; } else { terminal.LastPrintTimes = int.Parse(dr["LastPrintTimes"].ToString()); } if (dr["PrintedTimes"] == DBNull.Value) { terminal.PrintedTimes = 0; } else { terminal.PrintedTimes = int.Parse(dr["PrintedTimes"].ToString()); } if (dr["PrinterStatus"] == DBNull.Value) { terminal.PrinterStatus = false; } else { terminal.PrinterStatus = Convert.ToBoolean(dr["PrinterStatus"].ToString()); } return(terminal); }
/// <summary> /// /// </summary> /// <param name="teminalNo"></param> /// <returns></returns> public string AddPrintCount(string teminalNo) { TerminalInfoV2 model = GetTeminalInfo(teminalNo); model.PrintedTimes++; try { return(UpdateTeminalInfo(model)); } catch (Exception ex) { throw ex; } }
/// <summary> /// 更新一条数据 /// </summary> public int Update(TerminalInfoV2 model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update AMS_Terminal set "); strSql.Append("Status=@Status,"); strSql.Append("TerminalMacAddress=@TerminalMacAddress,"); strSql.Append("ScreenshotPath=@ScreenshotPath,"); strSql.Append("Date=@Date,"); strSql.Append("IsUpdatePlayList=@IsUpdatePlayList,"); strSql.Append("DeviceSetting=@DeviceSetting,"); strSql.Append("Describe=@Describe,"); strSql.Append("EmpowerLoseEfficacyTime=@EmpowerLoseEfficacyTime,"); strSql.Append("LastPrintTimes=@LastPrintTimes,"); strSql.Append("PrintedTimes=@PrintedTimes,"); strSql.Append("PrinterStatus=@PrinterStatus "); strSql.Append(" where DeviceNum=@DeviceNum "); SqlParameter[] parameters = { new SqlParameter("@Status", SqlDbType.NVarChar, 2), new SqlParameter("@TerminalMacAddress", SqlDbType.NVarChar), new SqlParameter("@ScreenshotPath", SqlDbType.NVarChar, 100), new SqlParameter("@Date", SqlDbType.DateTime), new SqlParameter("@IsUpdatePlayList", SqlDbType.Bit, 1), new SqlParameter("@DeviceSetting", SqlDbType.Text), new SqlParameter("@Describe", SqlDbType.NVarChar, 500), new SqlParameter("@LastPrintTimes", SqlDbType.Int), new SqlParameter("@PrintedTimes", SqlDbType.Int), new SqlParameter("@PrinterStatus", SqlDbType.Bit), new SqlParameter("@DeviceNum", SqlDbType.NVarChar, 50), new SqlParameter("@EmpowerLoseEfficacyTime", SqlDbType.DateTime) }; parameters[0].Value = model.Status; parameters[1].Value = model.TerminalMacAddress; parameters[2].Value = model.ScreenshotPath; parameters[3].Value = model.StatusUpdateTime; parameters[4].Value = model.IsUpdatePlayList; parameters[5].Value = model.DeviceSetting.ToString(); parameters[6].Value = model.Describe; parameters[7].Value = model.LastPrintTimes; parameters[8].Value = model.PrintedTimes; parameters[9].Value = model.PrinterStatus; parameters[10].Value = model.ClientNo; parameters[11].Value = model.EmpowerLoseEfficacyTime; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); return(rows); }
/// <summary> /// Mac绑定 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { TerminalInfoV2 terminal = SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(txt_deviceno.Text.Trim()); if (terminal == null) { MessageBox.Show("绑定失败,请保证设备编号正确!"); return; } terminal.TerminalMacAddress = txt_mac.Text.Trim(); if (SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(terminal) == "") { MessageBox.Show("绑定成功"); } else { MessageBox.Show("绑定失败,请检查网络连接!"); } }
public string UpdateTeminalInfo(TerminalInfoV2 teminal) { AMS_DeviceStatus dal = new AMS_DeviceStatus(); try { if (dal.Update(teminal) > 0) { return(""); } else { return("修改失败"); } } catch (Exception ex) { throw ex; } }
/// <summary> /// 截图 /// </summary> public void ScreenShots() { if (!_screenShots) { return; } if (!Directory.Exists(imageSavePath)) { Directory.CreateDirectory(imageSavePath); } WPFMessage.MessageHelper.SendMessage(MediaCLient, SeatManage.EnumType.SendClentMessageType.ScreenShots, imageSavePath + "MeadiaClient.jpg"); WPFMessage.MessageHelper.SendMessage(SeatClient, SeatManage.EnumType.SendClentMessageType.ScreenShots, imageSavePath + "SeatClient.jpg"); Thread.Sleep(5000); if (!File.Exists(imageSavePath + "MeadiaClient.jpg") || !File.Exists(imageSavePath + "SeatClient.jpg")) { WriteLog.Write("获取截图失败!"); return; } try { Bitmap image = new Bitmap(1080, 1920); Graphics bg = Graphics.FromImage(image); Image bgmc = Bitmap.FromFile(imageSavePath + "MeadiaClient.jpg"); bg.DrawImage(bgmc, 0, 0, 1080, 920); Image scmc = Bitmap.FromFile(imageSavePath + "SeatClient.jpg"); bg.DrawImage(scmc, 0, 921, 1080, 1000); image.Save(imageSavePath + _schoolNo + _clientNo + ".jpg"); FileOperate fileOperate = new FileOperate(); fileOperate.UpdateFile(imageSavePath + _schoolNo + _clientNo + ".jpg", string.Format("{0}{1}.jpg", _schoolNo, _clientNo), SeatManage.EnumType.SeatManageSubsystem.Caputre); //更新数据库状态 TerminalInfoV2 terminal = TerminalOperatorService.GetTeminalSetting(_clientNo); terminal.ScreenshotPath = string.Format("{0}{1}.jpg", _schoolNo, _clientNo); terminal.StatusUpdateTime = ServiceDateTime.Now; TerminalOperatorService.UpdateTeminalSetting(terminal); } catch (Exception ex) { WriteLog.Write("发送设备状态失败:" + ex.Message); } }
public JsonResult SaveDeviceSetting(string lbno) { JsonResult result = null; TerminalInfoV2 newterm = NewSetting(SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(lbno)); if (newterm != null) { newterm.Describe = Request.Params["txtRemark"].Trim(); if (SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(newterm) == "") { foreach (var item in clientlist) { if (item.ClientNo == newterm.ClientNo) { continue; } if (Request.Params["SameDeviceSet_" + item.ClientNo] != null) { if (SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(NewSetting(SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(item.ClientNo))) != "") { result = Json(new { status = "no", message = "终端设备更新失败" }, JsonRequestBehavior.AllowGet); return(result); } } } result = Json(new { status = "yes", message = "终端设备更新成功" }, JsonRequestBehavior.AllowGet); } else { result = Json(new { status = "no", message = "终端设备更新失败" }, JsonRequestBehavior.AllowGet); } } else { result = Json(new { status = "no", message = "终端设备更新失败" }, JsonRequestBehavior.AllowGet); } return(result); }
private SystemObject() { //设置定时器,间隔10s执行一次阅览室设置更新 timeloop = new SeatManage.SeatManageComm.TimeLoop(20000); timeloop.TimeTo += timeloop_TimeTo; try { _RegulationRulesSet = GetRegulationRulesSetting(); _clientSetting = GetClientSet(); if (_clientSetting == null) { return; } GetAdvert(); timeloop.TimeStrat(); } catch { throw; } }
XmlDocument newDoc = null;//最终的模板 /// <summary> /// 根据模板打印 /// </summary> public void Print() { // PrintTemplate =""; newDoc = new XmlDocument(); //原模板 newDoc.LoadXml(PrintTemplate); PrintDocument pd = new PrintDocument(); //打印操作的对象 pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0); //设置边距 SeatManage.EnumType.Printer printerStatus = PrintStatusHandle(); TerminalInfoV2 term = SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(MediaPlayer.Code.PlayerSetting.DeviceNo); if (printerStatus == SeatManage.EnumType.Printer.NoPaper) { if (term.PrinterStatus == true) { term.PrinterStatus = false; term.LastPrintTimes = term.PrintedTimes; term.PrintedTimes = 0; SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(term); } if (PrinterException != null) { PrinterException(SeatManage.EnumType.Printer.NoPaper); } return; } pd.PrintPage += new PrintPageEventHandler(pd_PrintPage); pd.Print(); if (term != null) { if (term.PrinterStatus == false) { term.PrinterStatus = true; } term.PrintedTimes++; SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(term); } }
private SystemObject() { //设置定时器,间隔10s执行一次阅览室设置更新 timeloop = new SeatManage.SeatManageComm.TimeLoop(20000); timeloop.TimeTo += timeloop_TimeTo; try { _RegulationRulesSet = GetRegulationRulesSetting(); _clientSetting = GetClientSet(); if (_clientSetting == null) { return; } GetAdvert(); //SchoolLogoImagesResource = GetSchoolLogoBitmapImageResource(_clientSetting.DeviceSetting); timeloop.TimeStrat(); } catch { throw; } }
private SystemObject() { //设置定时器,间隔10s执行一次阅览室设置更新 _timeloop = new SeatManage.SeatManageComm.TimeLoop(20000); _timeloop.TimeTo += timeloop_TimeTo; try { _regulationRulesSet = GetRegulationRulesSetting(); _clientSetting = GetClientSet(); _closeCheckPassword = GetClosePw(); if (_clientSetting == null) { return; } GetAdvert(); _timeloop.TimeStrat(); } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("初始化终端设置失败" + ex.Message); throw; } }
public JsonResult GetDeviceInfoData(string ClientNo) { JsonResult result = null; string cNo = ClientNo; if (cNo == "0") { cNo = clientlist[0].ClientNo; } TerminalInfoV2 term = SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(cNo); DeviceInfoModel showModel = new DeviceInfoModel(); showModel.ClientNo = term.ClientNo; //终端机编号 showModel.SelesctALLtem = "false"; //默认先设定最下方关联机器不选 showModel.Cbselectallrr = "false"; //默认先设定最下方关联阅览室不选 showModel.TxtRemark = term.Describe; //机器备注 showModel.SelectMethod = ((int)term.DeviceSetting.SelectMethod).ToString(); //选座方式 showModel.CbSelectSeatCountChecked = term.DeviceSetting.PosTimes.IsUsed ? "Y" : "N"; //选座次数限定是否启用 showModel.NumSelectSeatTimeText = term.DeviceSetting.PosTimes.Minutes.ToString(); //选座次数限定启用的时间分钟数 showModel.NumSelectSeatContText = term.DeviceSetting.PosTimes.Times.ToString(); //选座次数限定启用的选座次数 showModel.CbOftenSeatChecked = term.DeviceSetting.UsingOftenUsedSeat.Used ? "Y" : "N"; //是否启用常用座位 showModel.NbostimeText = term.DeviceSetting.UsingOftenUsedSeat.LengthDays.ToString(); //常用座位记录天数 showModel.NboscontText = term.DeviceSetting.UsingOftenUsedSeat.SeatCount.ToString(); //常用座位记录人次 showModel.RbprintSelectedValue = ((int)term.DeviceSetting.UsingPrintSlip).ToString(); showModel.CbBespeakChecked = term.DeviceSetting.UsingActiveBespeakSeat ? "Y" : "N"; showModel.CbiposChecked = term.DeviceSetting.IsShowInitPOS ? "Y" : "N"; showModel.CbNumSelectChecked = term.DeviceSetting.UsingEnterNoForSeat ? "Y" : "N"; bool isSelect = false; switch (term.DeviceSetting.SystemResoultion.WindowSize.Size.X) { case 1080: isSelect = true; break; case 1024: isSelect = true; break; case 1280: isSelect = true; break; case 1440: isSelect = true; break; case 1920: isSelect = true; break; } showModel.RblfblSelectedValue = isSelect ? term.DeviceSetting.SystemResoultion.WindowSize.Size.X.ToString() : "0"; showModel.TxtReDiy = ""; if (!isSelect) { showModel.TxtReDiy = term.DeviceSetting.SystemResoultion.WindowSize.Size.X + "x" + term.DeviceSetting.SystemResoultion.WindowSize.Size.Y; } List <SeatManage.ClassModel.ReadingRoomInfo> roomlist = SeatManage.Bll.ClientConfigOperate.GetReadingRooms(null); StringBuilder sbHtmlRooms = new StringBuilder(); int roomCount = 1; foreach (var roominfo in roomlist) { if (term.DeviceSetting.Rooms.Contains(roominfo.No))//包含 { sbHtmlRooms.Append("<input type=\"checkbox\" checked=\"checked\" ID=\"SameRoomSet_" + roominfo.No + "\" name=\"SameRoomSet_" + roominfo.No + "\" /><label for=\"SameRoomSet_" + roominfo.No + "\" class=\"hand\">" + roominfo.Name + "[" + roominfo.No + "]</label>"); } else { sbHtmlRooms.Append("<input type=\"checkbox\" ID=\"SameRoomSet_" + roominfo.No + "\" name=\"SameRoomSet_" + roominfo.No + "\" /><label for=\"SameRoomSet_" + roominfo.No + "\" class=\"hand\">" + roominfo.Name + "[" + roominfo.No + "]</label>"); } if (roomCount % 3 == 0) { sbHtmlRooms.Append("<br/>"); } roomCount++; } showModel.HtmlRooms = sbHtmlRooms.ToString(); StringBuilder sbHtmlDevice = new StringBuilder(); foreach (var item in clientlist) { if (item.ClientNo != ClientNo) { sbHtmlDevice.Append("<input type=\"checkbox\" ID=\"SameDeviceSet_" + item.ClientNo + "\" name=\"SameDeviceSet_" + item.ClientNo + "\" /><label for=\"SameDeviceSet_" + item.ClientNo + "\" class=\"hand\">" + item.Describe + "[" + item.ClientNo + "]</label><br/>"); } } showModel.HtmlDevice = sbHtmlDevice.ToString(); result = Json(new { status = "yes", message = "查询成功", showModel }, JsonRequestBehavior.AllowGet); return(result); }
/// <summary> /// 获取该学校的终端信息 /// </summary> public void GetDevice() { try { if (ServiceSet.IsOnline) { //媒体服务器的设备列表 List <AMS_Device> modelList = IDevice.GeDeviceModelBySchoolNum(ServiceSet.SchoolNums, false); Dictionary <string, AMS_Device> ModelDic = new Dictionary <string, AMS_Device>(); foreach (AMS_Device item in modelList) { ModelDic.Add(item.Number, item); } //学校的设备列表 List <TerminalInfoV2> oldModelList = TerminalOperatorService.GetAllTeminalInfo(); Dictionary <string, TerminalInfoV2> oldModelDic = new Dictionary <string, TerminalInfoV2>(); foreach (TerminalInfoV2 item in oldModelList) { oldModelDic.Add(item.ClientNo, item); } //判断是否存在num foreach (KeyValuePair <string, AMS_Device> item in ModelDic) { if (oldModelDic.Keys.Contains(item.Key)) { if (!item.Value.IsDel.Value) { TerminalInfoV2 terminal = TerminalOperatorService.GetTeminalSetting(item.Value.Number); //terminal.Describe = item.Value.Describe; terminal.EmpowerLoseEfficacyTime = ServiceDateTime.Now.AddDays(7); TerminalOperatorService.UpdateTeminalSetting(terminal); } else { AMS_Terminal.DeleteTerminal(item.Key); } } else { if (!item.Value.IsDel.Value) { TerminalInfoV2 terminal = new TerminalInfoV2(); //terminal.Describe = item.Value.Describe; terminal.EmpowerLoseEfficacyTime = ServiceDateTime.Now.AddDays(7); terminal.ClientNo = item.Value.Number; terminal.IsUpdatePlayList = false; TerminalOperatorService.AddTeminalInfo(terminal); } } if (item.Value.Flag.Value) { item.Value.Flag = false; IDevice.UpdateDeviceModel(item.Value); } } //判断是否存在非法No foreach (KeyValuePair <string, TerminalInfoV2> item in oldModelDic) { if (!ModelDic.Keys.Contains(item.Key)) { AMS_Terminal.DeleteTerminal(item.Key); } } } else { SystemAuthorization saModel = SeatManage.Bll.SystemAuthorizationOperation.GetSystemAuthorization(); if (saModel == null || saModel.SchoolNum != SeatManage.Bll.Registry.GetSchoolNum()) { WriteLog.Write("获取授权文件失败!"); return; } List <TerminalInfoV2> oldModelList = TerminalOperatorService.GetAllTeminalInfo(); Dictionary <string, TerminalInfoV2> oldModelDic = oldModelList.ToDictionary(item => item.ClientNo); foreach (var item in from item in oldModelDic from v in saModel.SeatClientList.Where(v => item.Key == v.Key) select item) { item.Value.EmpowerLoseEfficacyTime = ServiceDateTime.Now.AddDays(7); TerminalOperatorService.UpdateTeminalSetting(item.Value); } foreach (var item in from item in oldModelDic let isExist = saModel.SeatClientList.Any(v => item.Key == v.Key) where !isExist select item) { AMS_Terminal.DeleteTerminal(item.Key); } foreach (var item in from item in saModel.SeatClientList let isExist = oldModelDic.Any(v => item.Key == v.Key) where !isExist select item) { TerminalInfoV2 terminal = new TerminalInfoV2(); terminal.EmpowerLoseEfficacyTime = ServiceDateTime.Now.AddDays(7); terminal.ClientNo = item.Key; terminal.IsUpdatePlayList = false; TerminalOperatorService.AddTeminalInfo(terminal); } } } catch (Exception ex) { WriteLog.Write(string.Format("获取学校终端信息失败:{0}", ex.Message)); } }
/// <summary> /// 赋值 /// </summary> /// <param name="term"></param> private TerminalInfoV2 NewSetting(TerminalInfoV2 term) { TerminalInfoV2 newterm = term; newterm.DeviceSetting.IsShowInitPOS = Request.Params["cbipos"] == null ? false : true; //cbipos.Checked; newterm.DeviceSetting.UsingPrintSlip = Request.Params["rbprint"] == null ? PrintSlipMode.None : (PrintSlipMode)int.Parse(Request.Params["rbprint"]); // SeatManage.EnumType.EnterOutLogType.ShortLeave; //(SeatManage.EnumType.EnterOutLogType)int.Parse(ddlleavemode.SelectedValue);//(SeatManage.EnumType.PrintSlipMode)int.Parse(rbprint.SelectedValue); newterm.DeviceSetting.UsingEnterNoForSeat = Request.Params["cbNumSelect"] == null ? false : true; // cbNumSelect.Checked; newterm.DeviceSetting.SelectMethod = Request.Params["rblSelectSeatMode"] == null ? SelectSeatMode.ManualMode : (SelectSeatMode)int.Parse(Request.Params["rblSelectSeatMode"]); //(SeatManage.EnumType.SelectSeatMode)int.Parse(rblSelectSeatMode.SelectedValue); newterm.DeviceSetting.UsingActiveBespeakSeat = Request.Params["cbBespeak"] == null ? false : true; //cbBespeak.Checked; newterm.DeviceSetting.UsingOftenUsedSeat.Used = Request.Params["cbOftenSeat"] == null ? false : true; // cbOftenSeat.Checked; newterm.DeviceSetting.UsingOftenUsedSeat.LengthDays = Request.Params["nbostime"] == null?15:int.Parse(Request.Params["nbostime"]); newterm.DeviceSetting.UsingOftenUsedSeat.SeatCount = Request.Params["nboscont"] == null ? 12 : int.Parse(Request.Params["nboscont"]); newterm.DeviceSetting.PosTimes.Minutes = Request.Params["numSelectSeatTime"] == null ? 10 : int.Parse(Request.Params["numSelectSeatTime"]); // int.Parse(numSelectSeatTime.Text); newterm.DeviceSetting.PosTimes.Times = Request.Params["numSelectSeatCont"] == null ? 3 : int.Parse(Request.Params["numSelectSeatCont"]); //int.Parse(numSelectSeatCont.Text); newterm.DeviceSetting.PosTimes.IsUsed = Request.Params["cbSelectSeatCount"] == null ? false : true; // cbSelectSeatCount.Checked; if (Request.Params["rblfbl"] == "0") { newterm.DeviceSetting.SystemResoultion = new ResolutionV2(); string[] xy = Request.Params["txtReDiy"].Split('x'); if (xy.Length > 1) { int w = 0; int h = 0; if (int.TryParse(xy[0], out w) && int.TryParse(xy[1], out h)) { newterm.DeviceSetting.SystemResoultion.WindowSize.Size.X = w; newterm.DeviceSetting.SystemResoultion.WindowSize.Size.Y = h; newterm.DeviceSetting.SystemResoultion.WindowSize.Location.X = 0; newterm.DeviceSetting.SystemResoultion.WindowSize.Location.Y = 0; newterm.DeviceSetting.SystemResoultion.TooltipSize.Location.X = 0; newterm.DeviceSetting.SystemResoultion.TooltipSize.Location.Y = 0; newterm.DeviceSetting.SystemResoultion.TooltipSize.Size.X = 0; newterm.DeviceSetting.SystemResoultion.TooltipSize.Size.Y = 0; } else { return(null); } } else { return(null); } } else { newterm.DeviceSetting.SystemResoultion = new ResolutionV2(Request.Params["rblfbl"]); } newterm.DeviceSetting.Rooms.Clear(); List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.ClientConfigOperate.GetReadingRooms(null); foreach (ReadingRoomInfo item in rooms) { if (Request.Params["SameRoomSet_" + item.No] != null) { newterm.DeviceSetting.Rooms.Add(item.No); } } return(newterm); }
/// <summary> /// 添加设备 /// </summary> /// <param name="teminal"></param> /// <returns></returns> public string AddTeminalInfo(TerminalInfoV2 teminal) { return(ams_DeviceStatus.Add(teminal) > 0 ? "" : "添加失败"); }
/// <summary> /// 获取当前应该播放的媒体信息 /// </summary> /// <param name="isOffline">是否脱机运行</param> public void Run() { if (PlayerSetting.IsOffline == "1") { //从服务器上获取新的播放列表以及媒体文件并且保存到本地 // get.Run(); SeatManage.ClassModel.PlaylistInfo playlistModel = new PlaylistInfo(); //从服务器上获取新的播放列表 timer1 = new Timer(1000); timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed); timer1.Start(); try { if (DownloadPlaylist(ref playlistModel)) { //把新获取的播放列表写入文件 if (WritePlayListToFile(playlistModel)) { SeatManage.SeatManageComm.WriteLog.Write("播放列表文件写入成功,准备下载……"); if (string.IsNullOrEmpty(PlayerSetting.DeviceNo)) { SeatManage.SeatManageComm.WriteLog.Write("终端编号为空"); } else { TerminalInfoV2 terminal = SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(PlayerSetting.DeviceNo); if (terminal != null) { terminal.IsUpdatePlayList = false; SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(terminal); } } //删除无用的文件 DeleteNullFile(); DownloadFile(playlistModel.ImageFilePath); } else { SeatManage.SeatManageComm.WriteLog.Write("播放列表写入失败"); } } else { //TODO:没有新的播放列表 } } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("网络未连接" + ex.Message); } finally { timer1.Stop(); } } //载入本地的播放列表 if (LoadPlayList()) { timer.Elapsed += new ElapsedEventHandler(timer_Elapsed); //播放列表初始化结束,触发事件 PlayListHandleOver(null, null); timer.Start(); } }
/// <summary> /// 赋值数据 /// </summary> /// <param name="ClientNo"></param> private void SelectChange(string ClientNo) { TerminalInfoV2 term = SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(ClientNo); lbno.Text = term.ClientNo; SelesctALLtem.Checked = false; cbselectallrr.Checked = false; txtRemark.Text = term.Describe; //if (!term.DeviceSetting.IsAnyPaper) //{ // lblPapersCount.Text = "打印机缺纸,请及时更换"; //} //else //{ // if (term.DeviceSetting.LastPrintTimes == 0) // { // lblPapersCount.Text = term.DeviceSetting.PrintedTimes.ToString(); // } // else // { // lblPapersCount.Text = term.DeviceSetting.PrintedTimes.ToString() + "/" + term.DeviceSetting.LastPrintTimes.ToString(); // } //} foreach (FineUI.RadioItem item in rblSelectSeatMode.Items) { item.Selected = false; if (item.Value == ((int)term.DeviceSetting.SelectMethod).ToString()) { item.Selected = true; } } cbSelectSeatCount.Checked = term.DeviceSetting.PosTimes.IsUsed; numSelectSeatTime.Text = term.DeviceSetting.PosTimes.Minutes.ToString(); numSelectSeatCont.Text = term.DeviceSetting.PosTimes.Times.ToString(); cbOftenSeat.Checked = term.DeviceSetting.UsingOftenUsedSeat.Used; if (cbOftenSeat.Checked) { nbostime.Hidden = false; nboscont.Hidden = false; } else { nbostime.Hidden = true; nboscont.Hidden = true; } nbostime.Text = term.DeviceSetting.UsingOftenUsedSeat.LengthDays.ToString(); nboscont.Text = term.DeviceSetting.UsingOftenUsedSeat.SeatCount.ToString(); rbprint.SelectedValue = ((int)term.DeviceSetting.UsingPrintSlip).ToString(); cbBespeak.Checked = term.DeviceSetting.UsingActiveBespeakSeat; cbipos.Checked = term.DeviceSetting.IsShowInitPOS; cbNumSelect.Checked = term.DeviceSetting.UsingEnterNoForSeat; bool isSelect = false; foreach (FineUI.RadioItem item in rblfbl.Items) { item.Selected = false; if (term.DeviceSetting.SystemResoultion.WindowSize.Size.X == int.Parse(item.Value)) { item.Selected = true; isSelect = true; } } if (!isSelect) { txtReDiy.Text = term.DeviceSetting.SystemResoultion.WindowSize.Size.X + "x" + term.DeviceSetting.SystemResoultion.WindowSize.Size.Y; rblfbl.SelectedValue = "0"; } foreach (FineUI.CheckItem item in clbroom.Items) { item.Selected = false; foreach (string room in term.DeviceSetting.Rooms) { if (item.Value == room) { item.Selected = true; } } } cblTerm.Items.Clear(); List <SeatManage.ClassModel.TerminalInfoV2> clientlist = SeatManage.Bll.TerminalOperatorService.GetAllTeminalInfo(); foreach (SeatManage.ClassModel.TerminalInfoV2 teminal in clientlist) { if (teminal.ClientNo != term.ClientNo) { FineUI.CheckItem ci = new FineUI.CheckItem(); ci.Text = teminal.ClientNo + "(" + teminal.Describe + ")"; ci.Value = teminal.ClientNo; cblTerm.Items.Add(ci); } } //foreach (FineUI.CheckItem item in cblTerm.Items) //{ // item.Selected = false; // if (item.Value == term.ClientNo) // { // item.Selected = true; // } //} }
/// <summary> /// 开始计算 /// </summary> private void Statistics() { try { List <TerminalInfoV2> terminals = seatManageService.GetAllTeminalInfo(); DateTime sdt = seatManageService.GetLastTerminalUsageStatisticsDate(); if (sdt <= DateTime.Parse("2000-1-1")) { return; } sdt = sdt.AddDays(1); while (true) { //获取进出记录 List <EnterOutLogInfo> enterOutLogList = seatManageService.GetEnterOutBakLogsByDate(sdt); if (enterOutLogList.Count <= 0 && sdt >= DateTime.Now.Date.AddDays(-1)) { break; } List <SeatManage.ClassModel.TerminalUsageStatistics> ftsList = seatManageService.GetTerminalUsageStatisticsist(null, sdt.AddDays(-1).Date, sdt.Date.AddSeconds(-1)); Dictionary <string, SeatManage.ClassModel.TerminalUsageStatistics> terminalDir = terminals.ToDictionary(u => u.ClientNo, u => new SeatManage.ClassModel.TerminalUsageStatistics()); //基本数据及排序处理 foreach (TerminalInfoV2 terminal in terminals) { terminalDir[terminal.ClientNo].StatisticsDate = sdt; terminalDir[terminal.ClientNo].TerminalNo = terminal.ClientNo; } foreach (EnterOutLogInfo eol in enterOutLogList.FindAll(u => !string.IsNullOrEmpty(u.TerminalNum) && u.Flag == Operation.Reader)) { if (!terminalDir.ContainsKey(eol.TerminalNum)) { continue; } terminalDir[eol.TerminalNum].RushCardCount++; //记录类型 switch (eol.EnterOutState) { case EnterOutLogType.BookingConfirmation: terminalDir[eol.TerminalNum].CheckBespeakCount++; break; case EnterOutLogType.ComeBack: terminalDir[eol.TerminalNum].ComeBackCount++; break; case EnterOutLogType.ContinuedTime: terminalDir[eol.TerminalNum].ContinueTimeCount++; break; case EnterOutLogType.Leave: terminalDir[eol.TerminalNum].LeaveCount++; break; case EnterOutLogType.ReselectSeat: terminalDir[eol.TerminalNum].ReselectSeatCount++; break; case EnterOutLogType.SelectSeat: terminalDir[eol.TerminalNum].SelectSeatCount++; break; case EnterOutLogType.ShortLeave: terminalDir[eol.TerminalNum].ShortLeaveCount++; break; case EnterOutLogType.WaitingSuccess: terminalDir[eol.TerminalNum].WaitSeatCount++; break; } } foreach (SeatManage.ClassModel.TerminalUsageStatistics terminalUS in terminalDir.Values) { SeatManage.ClassModel.TerminalUsageStatistics fts = ftsList.Find(u => u.TerminalNo == terminalUS.TerminalNo); TerminalInfoV2 terminal = terminals.Find(u => u.ClientNo == terminalUS.TerminalNo); if (fts != null) { terminalUS.IsChangePage = terminal.LastPrintTimes != fts.BeforePagePrintCount ? 1 : 0; terminalUS.NowPagePrintCount = terminal.PrintedTimes; terminalUS.BeforePagePrintCount = terminal.LastPrintTimes; terminalUS.TodayPrintCount = terminal.LastPrintTimes != fts.BeforePagePrintCount ? terminal.LastPrintTimes - fts.NowPagePrintCount + terminal.PrintedTimes : terminal.PrintedTimes - fts.NowPagePrintCount; } else { terminalUS.IsChangePage = 0; terminalUS.NowPagePrintCount = terminal.PrintedTimes; terminalUS.BeforePagePrintCount = terminal.LastPrintTimes; terminalUS.TodayPrintCount = 0; } if (!seatManageService.AddTerminalUsageStatistics(terminalUS)) { WriteLog.Write(string.Format("数据统计服务:添加终端:{0} {1} 使用情况统计出错", terminalUS.TerminalNo, terminalUS.StatisticsDate)); throw new Exception(string.Format("数据统计服务:添加终端:{0} {1} 使用情况统计出错", terminalUS.TerminalNo, terminalUS.StatisticsDate)); } } sdt = sdt.AddDays(1); if (sdt >= DateTime.Now.Date) { break; } terminalDir = null; } WriteLog.Write("数据统计服务:统计终端使用情况完成"); } catch (Exception ex) { WriteLog.Write(string.Format("数据统计服务:统计阅终端人流量失败:{0}", ex.Message)); } }