/// <summary> /// 批量查询并下载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonDays_Click(object sender, EventArgs e) { this.textCon.Text += "\r\n"; code = this.textCode.Text; CoScheduling.Core.DAL.SatelliteOrbit dal_satelliteOrbit = new CoScheduling.Core.DAL.SatelliteOrbit(); SpaceTrack spacetrack = new SpaceTrack(); DateTime startDay = dateTimePicker3.Value; DateTime endDay = dateTimePicker2.Value; double days = (endDay - startDay).TotalDays; int daynum = Convert.ToInt32(days); this.progressBarBat.Refresh(); this.progressBarBat.Visible = true; this.progressBarBat.Minimum = 0; this.progressBarBat.Maximum = daynum; progressBarBat.Step = 1; for (int i = 0; i <= daynum; i++) { progressBarBat.PerformStep(); if (dal_satelliteOrbit.Exists(startDay.AddDays(i))) { return; } quaryStr = spacetrack.GetSpaceTrack(getNorad(), startDay.AddDays(i), startDay.AddDays(i + 1), this.textName.Text, code); try { if (!String.IsNullOrEmpty(quaryStr)) { List <CoScheduling.Core.Model.SatelliteOrbit> list = new List <CoScheduling.Core.Model.SatelliteOrbit>(); list = LoadTle(quaryStr); DateTime tleDate = startDay.AddDays(i).Date; foreach (CoScheduling.Core.Model.SatelliteOrbit orbit in list) { orbit.SAT_ORBITDATE = tleDate; dal_satelliteOrbit.Add(orbit); } this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":保存成功!\r\n"; } else { MessageBox.Show("请先执行查询生成!"); this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":下载失败,网络故障!\r\n"; continue; } } catch (System.Exception ex) { this.textCon.Text += startDay.AddDays(i).ToShortDateString() + ":查询错误,具体原因:\r\n" + ex.ToString() + "\r\n"; } } this.progressBarBat.Visible = false; //写入更新日志 CoScheduling.Core.Model.SATELLITE_UPDATE satelliteUpdate = new CoScheduling.Core.Model.SATELLITE_UPDATE(); CoScheduling.Core.DAL.SATELLITE_UPDATE dal_satelliteUpdate = new CoScheduling.Core.DAL.SATELLITE_UPDATE(); satelliteUpdate.UPDATE_TABLE = "T_PUB_SATELLITE"; satelliteUpdate.UPDATE_LOG = this.textCon.Text; satelliteUpdate.UPDATE_TIME = System.DateTime.Now; dal_satelliteUpdate.Add(satelliteUpdate); MessageBox.Show("批量下载任务完成!"); }
/// <summary> /// 单次查询下载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonDownload_Click(object sender, EventArgs e) { //保存在数据库中 try { if (this.checkDate.Checked) { List <CoScheduling.Core.Model.SatelliteOrbit> list = new List <CoScheduling.Core.Model.SatelliteOrbit>(); CoScheduling.Core.DAL.SatelliteOrbit dal_satelliteOrbit = new CoScheduling.Core.DAL.SatelliteOrbit(); list = LoadTle(quaryStr); //检查T_PUB_SATELLITEORBIT是否已经存在该日期的星历,如果存在就不执行了 DateTime tleDate = this.dateTimePicker1.Value.Date; if (dal_satelliteOrbit.Exists(tleDate)) { MessageBox.Show(tleDate + "卫星轨道数据已存在,无需重新下载!"); return; } //赋予每条数据所选日期并插入数据库 foreach (CoScheduling.Core.Model.SatelliteOrbit orbit in list) { orbit.SAT_ORBITDATE = tleDate; dal_satelliteOrbit.Add(orbit); } //写入更新日志 CoScheduling.Core.Model.SATELLITE_UPDATE satelliteUpdate = new CoScheduling.Core.Model.SATELLITE_UPDATE(); CoScheduling.Core.DAL.SATELLITE_UPDATE dal_satelliteUpdate = new CoScheduling.Core.DAL.SATELLITE_UPDATE(); satelliteUpdate.UPDATE_TABLE = "T_PUB_SATELLITE"; satelliteUpdate.UPDATE_LOG = tleDate + "卫星轨道数据下载成功!"; satelliteUpdate.UPDATE_TIME = System.DateTime.Now; dal_satelliteUpdate.Add(satelliteUpdate); MessageBox.Show(tleDate + "卫星轨道数据下载成功!"); } else { List <CoScheduling.Core.Model.T_PUB_NEWORBIT> list = new List <CoScheduling.Core.Model.T_PUB_NEWORBIT>(); CoScheduling.Core.DAL.T_PUB_NEWORBIT dal_satelliteOrbit = new CoScheduling.Core.DAL.T_PUB_NEWORBIT(); list = LoadTleNew(quaryStr); //清空轨道数据 dal_satelliteOrbit.Delete(); DateTime tleDate = System.DateTime.Now.AddDays(-1); //插入私有轨道数据 foreach (CoScheduling.Core.Model.T_PUB_NEWORBIT orbit in list) { orbit.SAT_ORBITDATE = tleDate; dal_satelliteOrbit.Add(orbit); } MessageBox.Show("卫星轨道资源配置成功!"); } this.textCon.Text = ""; } catch (System.Exception ex) { MessageBox.Show("请先进行查询在,在右侧显示查询结果后再点击下载!"); this.textCon.Text = ""; } }
/// <summary> /// 日期检查按钮事件 /// 查询数据库中已有的日期 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonCheckDate_Click(object sender, EventArgs e) { List <DateTime> list = new List <DateTime>(); CoScheduling.Core.DAL.SatelliteOrbit dal_satelliteOrbit = new CoScheduling.Core.DAL.SatelliteOrbit(); list = dal_satelliteOrbit.GetDate(); foreach (DateTime dt in list) { this.textCon.Text += "\r\n" + dt.ToLongDateString() + "存在!"; } }
public void SetBigAreaSchemeSat(int SchemeID) { List <CoScheduling.Core.Model.SATELLITE_SENSOR_SELECTED> selectedSatelliteList = new List <CoScheduling.Core.Model.SATELLITE_SENSOR_SELECTED>(); CoScheduling.Core.DAL.SATELLITE_SENSOR_SELECTED dal_selectedSatelliteList = new CoScheduling.Core.DAL.SATELLITE_SENSOR_SELECTED(); CoScheduling.Core.DAL.BIGAREA_SATELLITE dal_satelliteList = new CoScheduling.Core.DAL.BIGAREA_SATELLITE(); CoScheduling.Core.DAL.BIGAREA_SENSOR dal_sensorList = new CoScheduling.Core.DAL.BIGAREA_SENSOR(); CoScheduling.Core.DAL.BIGAREA_ORBIT dal_orbitList = new CoScheduling.Core.DAL.BIGAREA_ORBIT(); CoScheduling.Core.DAL.SatelliteOrbit dal_orbit = new CoScheduling.Core.DAL.SatelliteOrbit(); CoScheduling.Core.DAL.BIGAREA_SCHEME dal_scheme = new CoScheduling.Core.DAL.BIGAREA_SCHEME(); List <int> satidList = new List <int>(); CoScheduling.Core.Model.BIGAREA_SATELLITE satelliteList = new CoScheduling.Core.Model.BIGAREA_SATELLITE(); CoScheduling.Core.Model.BIGAREA_SENSOR sensorList = new CoScheduling.Core.Model.BIGAREA_SENSOR(); CoScheduling.Core.Model.BIGAREA_ORBIT orbitList = new CoScheduling.Core.Model.BIGAREA_ORBIT(); CoScheduling.Core.Model.SatelliteOrbit orbit = new CoScheduling.Core.Model.SatelliteOrbit(); CoScheduling.Core.Model.BIGAREA_SCHEME scheme = new CoScheduling.Core.Model.BIGAREA_SCHEME(); scheme = dal_scheme.GetModel(SchemeID); satidList = dal_selectedSatelliteList.GetCheckedSatID(true); satelliteList.SCHEMEID = SchemeID; sensorList.SCHEMEID = SchemeID; orbitList.SCHEMEID = SchemeID; foreach (int satid in satidList) { satelliteList.SATID = satid; dal_satelliteList.Add(satelliteList); orbit = dal_orbit.GetModel(satid, scheme.SCHEMEBTIME); orbitList.SATID = satid; orbitList.SAT_ARGOFPERIGEE = orbit.SAT_ARGOFPERIGEE; orbitList.SAT_BSTAR = orbit.SAT_BSTAR; orbitList.SAT_ECCENTRICITY = orbit.SAT_ECCENTRICITY; orbitList.SAT_INCLINATION = orbit.SAT_INCLINATION; orbitList.SAT_MEANANOMALY = orbit.SAT_MEANANOMALY; orbitList.SAT_MEANMOTION = orbit.SAT_MEANMOTION; orbitList.SAT_MEANMOTIONDOT = orbit.SAT_MEANMOTIONDOT; orbitList.SAT_MEANMOTIONDOTDOT = orbit.SAT_MEANMOTIONDOTDOT; orbitList.SAT_ORBITEPOCH = orbit.SAT_ORBITEPOCH; orbitList.SAT_RAAN = orbit.SAT_RAAN; orbitList.SAT_TLE1 = orbit.SAT_TLE1; orbitList.SAT_TLE2 = orbit.SAT_TLE2; dal_orbitList.Add(orbitList); } selectedSatelliteList = dal_selectedSatelliteList.GetCheckedList(); foreach (CoScheduling.Core.Model.SATELLITE_SENSOR_SELECTED sensor in selectedSatelliteList) { sensorList.SATID = sensor.SAT_ID; sensorList.SENSORID = sensor.SENSOR_ID; dal_sensorList.Add(sensorList); } }