Ejemplo n.º 1
0
 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();
     }
 }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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("更新失败!");
            }
        }
Ejemplo n.º 4
0
        /// <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;
            }
        }
Ejemplo n.º 9
0
        /// <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);
        }
Ejemplo n.º 10
0
        /// <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;
            }
        }
Ejemplo n.º 12
0
        /// <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);
            }
        }
Ejemplo n.º 13
0
        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;
            }
        }
Ejemplo n.º 18
0
        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));
     }
 }
Ejemplo n.º 20
0
        /// <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();
     }
 }
Ejemplo n.º 23
0
        /// <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));
            }
        }