public override XmlDocument Response() { this.result = XmlProvider.Document("pagedata"); switch (this.PARAMS["guid"].ToString()) { case "req_add_driver": reqAddDriver(); break; //请求添加司机 case "add_driver": addDriver(); return(this.result); //添加司机 case "del_driver": delDriver(); return(this.result); //删除司机 case "getdriverlist": getDriverList(); break; //获取司机列表 case "driverdetail": getDriverDetail(); break; //获取司机详情 case "reqmotifydriver": getDriverDetail(); break; //请求修改页面 case "motifydriver": motifyDriver(); return(this.result); //请求修改页面 case "unbound": unBound(); return(this.result); //解除司机和车辆的绑定 } //附加显示样式 XmlElement _template = this.result.CreateElement("template"); _template.SetAttribute("output", "html"); if (File.Exists(Provider.Path("/ui/driver/" + this.PARAMS["guid"].ToString() + ".xsl"))) { _template.InnerXml = "/ui/driver/" + this.PARAMS["guid"].ToString() + ".xsl"; } else { _template.InnerXml = "/ui/pages/err.xsl"; } this.result.DocumentElement.AppendChild(_template); return(this.result); }
//查找某车某日记录 public XmlDocument getDayCar(string _reqLicenseID, string _stime) { result = XmlProvider.Document("sqldata"); string _sql = readXml("getDayCar"); DateTime _stimeDate = Convert.ToDateTime(_stime); //读取数据 using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter _licenseid = new SqlParameter("LicenseID", SqlDbType.NVarChar, 50); _licenseid.Value = _reqLicenseID; _cmd.Parameters.Add(_licenseid); SqlParameter _starttime = new SqlParameter("starttime", SqlDbType.NVarChar, 50); _starttime.Value = _stimeDate.Year + "-" + _stimeDate.Month + "-" + _stimeDate.Day + " 23:00:00"; _cmd.Parameters.Add(_starttime); result = SQLProvider.GetData(_cmd); } return(this.result); }
//获取权限 public string getPermit(string _account) { XmlDocument _result = XmlProvider.Document("sqldata"); string _sql = readXml("getPermit"); using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter _permitAccount = new SqlParameter("PermitAccount", SqlDbType.NVarChar, 50); _permitAccount.Value = _account; _cmd.Parameters.Add(_permitAccount); _result = SQLProvider.GetData(_cmd); } if (_result.DocumentElement.SelectSingleNode("SchemaTable") != null) { return(_result.DocumentElement.SelectSingleNode("SchemaTable/ResourcePermit").InnerText.Trim()); } else { return(""); } }
//更改预约状态 public XmlDocument upApplyStatue(string _guid, string _statue) { result = XmlProvider.Document("sqldata"); string _sql = readXml("upApplyStatue"); //读取数据 using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter _applyID = new SqlParameter("CarAppliedID", SqlDbType.NVarChar, 50); _applyID.Value = _guid; _cmd.Parameters.Add(_applyID); SqlParameter _statues = new SqlParameter("AppliedStatue", SqlDbType.NVarChar, 50); _statues.Value = _statue; _cmd.Parameters.Add(_statues); result = SQLProvider.Transcation(_cmd); } return(this.result); }
//生成每月车辆报表 public XmlDocument getMounthReport(string _date, string _nextDate, string _lincenseID) { this.result = XmlProvider.Document("data"); result = XmlProvider.Document("configdata"); string _sql = readXml("CarMounthReport"); using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter licenseid = new SqlParameter("LicenseID", SqlDbType.NVarChar, 50); licenseid.Value = _lincenseID; _cmd.Parameters.Add(licenseid); SqlParameter mounth = new SqlParameter("ThisMounth", SqlDbType.NVarChar, 50); mounth.Value = _date; _cmd.Parameters.Add(mounth); SqlParameter nextMounth = new SqlParameter("NextMounth", SqlDbType.NVarChar, 50); nextMounth.Value = _nextDate; _cmd.Parameters.Add(nextMounth); result = SQLProvider.GetData(_cmd); } return(result); }
//派遣司机 public XmlDocument sendDriver(string _guid, string _account, string _name, string _linceseid, string _tel) { result = XmlProvider.Document("sqldata"); string _sql = readXml("sendDriver"); //读取数据 using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter _licenid = new SqlParameter("LicenseID", SqlDbType.NVarChar, 50); _licenid.Value = _linceseid; _cmd.Parameters.Add(_licenid); SqlParameter _owner = new SqlParameter("CarOwner", SqlDbType.NVarChar, 50); _owner.Value = _name; _cmd.Parameters.Add(_owner); SqlParameter _coAccount = new SqlParameter("COAccount", SqlDbType.NVarChar, 50); _coAccount.Value = _account; _cmd.Parameters.Add(_coAccount); SqlParameter _carTel = new SqlParameter("CarTelephone", SqlDbType.NVarChar, 50); _carTel.Value = _tel; _cmd.Parameters.Add(_carTel); SqlParameter _guids = new SqlParameter("CarAppliedID", SqlDbType.NVarChar, 50); _guids.Value = _guid; _cmd.Parameters.Add(_guids); result = SQLProvider.Transcation(_cmd); } return(this.result); }
//获取部门领导账号 public string getDepartAccount(string _departID) { result = XmlProvider.Document("configdata"); string _sql = readXml("getDepartLeader"); using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter departID = new SqlParameter("DepartID", SqlDbType.NVarChar, 50); departID.Value = _departID; _cmd.Parameters.Add(departID); result = SQLProvider.GetData(_cmd); } if (result.DocumentElement.SelectNodes("SchemaTable").Count > 0) { return(result.DocumentElement.SelectSingleNode("SchemaTable/DepartLeaderAccount").InnerText.ToString().Trim()); } else { return(""); } }
/// <summary> /// 选择派遣车辆 /// </summary> /// <param name="_applyDom">申请记录</param> /// <returns></returns> public XmlDocument sendDriver(XmlDocument _applyDom) { this.result = XmlProvider.Document("data"); //申请记录数据 DateTime _aStartTime = Convert.ToDateTime(_applyDom.DocumentElement.SelectSingleNode("SchemaTable/StartTime").InnerText.ToString()); int _aDay = Convert.ToInt32(_applyDom.DocumentElement.SelectSingleNode("SchemaTable/Days").InnerText.ToString()); int _aTripNum = Convert.ToInt32(_applyDom.DocumentElement.SelectSingleNode("SchemaTable/TripNum").InnerText.ToString());//加上司机 //申请记录数据 //获取空闲车辆 XmlDocument _freeCarDom = this.getFreeCarListOnDesc(_aStartTime, _aDay, _aTripNum); int _minWeekDays = Convert.ToInt32(_freeCarDom.DocumentElement.GetAttribute("MinWeekDays").ToString().Trim()); foreach (XmlNode _section in _freeCarDom.DocumentElement.SelectNodes("SchemaTable")) { int _MonthDays = Convert.ToInt32(_section.SelectSingleNode("MonthDays").InnerText.ToString().Trim()); int _weekDays = Convert.ToInt32(_section.SelectSingleNode("WeekDays").InnerText.ToString().Trim()); if (_weekDays == _minWeekDays) { this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.getSingleCarByLicenseID", new object[] { this.context }, new object[] { _section.SelectSingleNode("LicenseID").InnerText.ToString().Trim() }); break; } } return(this.result); }
/// <summary> /// 取消维修 /// </summary> /// <param name="_reqFixID"></param> /// <returns></returns> public XmlDocument cancelFixedStatue(string _reqFixID) { result = XmlProvider.Document("configdata"); string _sql = readXml("cancelFixedStatue"); try { using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter _guid = new SqlParameter("FixID", SqlDbType.NVarChar, 50); _guid.Value = _reqFixID; _cmd.Parameters.Add(_guid); result = SQLProvider.Transcation(_cmd); } } catch (Exception _exc) { Provider.LogErr(result, _exc); } return(this.result); }
/// <summary> /// 修改车辆 /// </summary> public XmlDocument motifyCar(string _guid, string _licenseID, string _driverAccount, string _sites, string _mot, string _insurance, string _kilometers) { result = XmlProvider.Document("configdata"); string _sql = readXml("motifyCar"); using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter guid = new SqlParameter("Guid", SqlDbType.NVarChar, 50); guid.Value = _guid; _cmd.Parameters.Add(guid); SqlParameter licenseID = new SqlParameter("LicenseID", SqlDbType.NVarChar, 50); licenseID.Value = _licenseID; _cmd.Parameters.Add(licenseID); SqlParameter driverAccount = new SqlParameter("DriverAccount", SqlDbType.NVarChar, 50); driverAccount.Value = _driverAccount; _cmd.Parameters.Add(driverAccount); SqlParameter sites = new SqlParameter("Sites", SqlDbType.Int); sites.Value = Convert.ToInt32(_sites); _cmd.Parameters.Add(sites); SqlParameter mot = new SqlParameter("MOT", SqlDbType.NVarChar, 50); mot.Value = _mot; _cmd.Parameters.Add(mot); SqlParameter insurance = new SqlParameter("Insurance", SqlDbType.NVarChar, 50); insurance.Value = _insurance; _cmd.Parameters.Add(insurance); SqlParameter kilometers = new SqlParameter("Kilometers", SqlDbType.NVarChar, 50); kilometers.Value = _kilometers; _cmd.Parameters.Add(kilometers); result = SQLProvider.Transcation(_cmd); } return(result); }
//更改车辆状态 public void disCar() { this.result = XmlProvider.Document("sqldata"); string _guid = this.context.Request.QueryString["guid"]; string _carStatue = this.context.Request.QueryString["statue"]; //调用CarDol的upCarStatue方法,修改车辆状态为禁用 this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.upCarStatue", new object[] { this.context }, new object[] { _guid, _carStatue }); if (this.result.DocumentElement.Attributes["affect"].Value == "1") { //获取车辆信息 XmlDocument _carDom = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.getSingleCar", new object[] { this.context }, new object[] { _guid }); string _licenseid = _carDom.DocumentElement.SelectSingleNode("SchemaTable/LicenseID").InnerText.ToString(); if (_carStatue != "禁用")//禁用时,不添加记录 { //插入状态更改记录 this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.insertChangeState", new object[] { this.context }, new object[] { _licenseid, _carStatue }); } //为所有给车辆待出车或者待处理记录重新分配车辆 if (_carStatue == "禁用" || _carStatue == "维修") { XmlDocument _applyListDom = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyDol.getListByLicenseID", new object[] { this.context }, new object[] { _licenseid }); try { foreach (XmlNode _section in _applyListDom.DocumentElement.SelectNodes("SchemaTable")) { string _carAppliedID = _section.SelectSingleNode("CarAppliedID").InnerText.ToString().Trim(); //派车 //获取申请详细记录 XmlDocument _applyDetail = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyDol.getApply", new object[] { this.context }, new object[] { _carAppliedID }); string _starttime = _applyDetail.DocumentElement.SelectSingleNode("SchemaTable/StartTime").InnerText.ToString(); //判断是否派遣车辆 int _freeCarNum = Convert.ToInt32(Provider.Invoke("CLDD.Providers.ApplyService.getDayCarNum", new object[] { this.context }, new object[] { _starttime })); if (_freeCarNum == 0) { //拒绝申请 this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyDol.upStauteRefuse", new object[] { this.context }, new object[] { _carAppliedID, "拒绝", "当前无可用车辆" }); this.result.DocumentElement.SetAttribute("affect", "-1"); this.result.DocumentElement.SetAttribute("title", "申请失败,当前无可用车辆"); //通知申请人 Provider.Invoke("CLDD.Providers.Notice.applyFailResult", new object[] { this.context }, new object[] { _applyDetail }); } else { //找到派遣的车辆 //获得分配的车辆信息 XmlDocument _carDetailDom = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyService.sendDriver", new object[] { this.context }, new object[] { _applyDetail }); //XmlDocument _carDetailDom = sendDriver(_applyDetail); string _cdLicenseID = _carDetailDom.DocumentElement.SelectSingleNode("SchemaTable/LicenseID").InnerText.ToString(); string _cdAccount = _carDetailDom.DocumentElement.SelectSingleNode("SchemaTable/DriverAccount").InnerText.ToString(); string _cdName = _carDetailDom.DocumentElement.SelectSingleNode("SchemaTable/DriverName").InnerText.ToString(); string _cdTel = _carDetailDom.DocumentElement.SelectSingleNode("SchemaTable/CarTelephone").InnerText.ToString(); //插入司机信息到数据库 XmlDocument _inresult = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyDol.sendDriver", new object[] { this.context }, new object[] { _carAppliedID, _cdAccount, _cdName, _cdLicenseID, _cdTel }); if (_inresult.DocumentElement.Attributes["affect"].Value == "1") { //判断是否需要调度员确认申请 int _controlNum = Convert.ToInt32(Provider.Invoke("CLDD.Providers.CarDol.getControlNum", new object[] { this.context }, null)); if (_controlNum >= _freeCarNum)//需要调度员确认 { //更改申请记录状态 this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyDol.upApplyStatue", new object[] { this.context }, new object[] { _carAppliedID, "待处理" }); this.result.DocumentElement.SetAttribute("affect", "0"); this.result.DocumentElement.SetAttribute("title", "已申请,等待调度员确认"); //通知调度员 Provider.Invoke("CLDD.Providers.Notice.sendSureApply", new object[] { this.context }, new object[] { _applyDetail }); } else//不需要调度员 { //更改申请记录状态 this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyDol.upApplyStatue", new object[] { this.context }, new object[] { _carAppliedID, "待出车" }); //通知申请人、司机、调度员、部门领导 Provider.Invoke("CLDD.Providers.Notice.applySuccResult", new object[] { this.context }, new object[] { _applyDetail }); this.result.DocumentElement.SetAttribute("affect", "1"); this.result.DocumentElement.SetAttribute("title", "申请成功"); } } else { //制空车辆信息 XmlDocument _toNullDom = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyDol.sendDriver", new object[] { this.context }, new object[] { _carAppliedID, "", "", "", "" }); this.result.DocumentElement.SetAttribute("affect", "-1"); this.result.DocumentElement.SetAttribute("title", "插入车辆信息出错!"); } } } } catch (Exception _exc) { Provider.LogErr(this.result, _exc); } } this.result.DocumentElement.SetAttribute("affect", "1"); } else { this.result.DocumentElement.SetAttribute("affect", "-1"); } }
//插入预约信息 public XmlDocument insertApply(string _name, string _account) { result = XmlProvider.Document("sqldata"); string _sql = readXml("addApply"); string _guid = Provider.GUID; using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; SqlParameter _applyID = new SqlParameter("CarAppliedID", SqlDbType.NVarChar, 50); _applyID.Value = _guid; _cmd.Parameters.Add(_applyID); SqlParameter _appname = new SqlParameter("CarAppliedName", SqlDbType.NVarChar, 50); _appname.Value = _name; _cmd.Parameters.Add(_appname); SqlParameter _appaccount = new SqlParameter("CarAppliedAccount", SqlDbType.NVarChar, 50); _appaccount.Value = _account; _cmd.Parameters.Add(_appaccount); SqlParameter _appTel = new SqlParameter("AppliedTel", SqlDbType.NVarChar, 20); _appTel.Value = this.context.Request.Form["AppliedTel"]; _cmd.Parameters.Add(_appTel); SqlParameter _appdate = new SqlParameter("ApplyDate", SqlDbType.NVarChar, 50); _appdate.Value = DateTime.Now; _cmd.Parameters.Add(_appdate); SqlParameter _startdate = new SqlParameter("Starttime", SqlDbType.NVarChar, 50); _startdate.Value = this.context.Request.Form["Starttime"]; _cmd.Parameters.Add(_startdate); SqlParameter _days = new SqlParameter("Days", SqlDbType.Int); _days.Value = this.context.Request.Form["Days"]; _cmd.Parameters.Add(_days); DateTime _sttime = Convert.ToDateTime(this.context.Request.Form["Starttime"]); DateTime _begintime = _sttime.AddDays(Convert.ToInt32(this.context.Request.Form["Days"]) - 1); string _endstr = _begintime.Year + "-" + _begintime.Month + "-" + _begintime.Day + " 23:59:59"; SqlParameter _endtime = new SqlParameter("EndTime", SqlDbType.NVarChar, 50); _endtime.Value = _endstr; _cmd.Parameters.Add(_endtime); SqlParameter _place = new SqlParameter("Destination", SqlDbType.NVarChar, 100); _place.Value = this.context.Request.Form["Destination"]; _cmd.Parameters.Add(_place); SqlParameter _tripNum = new SqlParameter("TripNum", SqlDbType.Int); _tripNum.Value = this.context.Request.Form["TripNum"]; _cmd.Parameters.Add(_tripNum); SqlParameter _tripMember = new SqlParameter("TripMembers", SqlDbType.NVarChar, 100); _tripMember.Value = this.context.Request.Form["TripMembers"]; _cmd.Parameters.Add(_tripMember); SqlParameter _reson = new SqlParameter("ApplieReson", SqlDbType.NVarChar, 200); _reson.Value = this.context.Request.Form["ApplieReson"]; _cmd.Parameters.Add(_reson); SqlParameter _statue = new SqlParameter("AppliedStatue", SqlDbType.NVarChar, 50); _statue.Value = "待处理"; _cmd.Parameters.Add(_statue); result = SQLProvider.Transcation(_cmd); result.DocumentElement.SetAttribute("guid", _guid); // return this.result; } return(this.result); }
//删除当前临时调度员账号 public void delLsDispatcher() { this.result = XmlProvider.Document("sqldata"); this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.DispatcherDol.delLsDispatcher", new object[] { this.context }, null); }
//请求添加司机 public void reqAddDriver() { this.result = XmlProvider.Document("sqldata"); //未分配车辆列表返回 this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.getCarUnallocated", new object[] { this.context }, null); }
//获取司机列表 public void getDriverList() { this.result = XmlProvider.Document("sqldata"); //车辆列表返回 this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.DriverDol.getDriverList", new object[] { this.context }, null); }
//添加车辆请求页 public void reqAdd() { this.result = XmlProvider.Document("sqldata"); this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.DriverDol.getFreeDriver", new object[] { this.context }, null); }
/// <summary> /// 请求添加维修记录 /// </summary> public void reqFixed() { this.result = XmlProvider.Document("sqldata"); //获取车牌 this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.getLicenseIDList", new object[] { this.context }, null); }
//通知原司机、新司机、调度员、申请人,车辆变更成功 public void changeSuccSendAllOut(XmlDocument _oldData, XmlDocument _newData) { //通知信息参数(原数据) string _place = _oldData.DocumentElement.SelectSingleNode("SchemaTable/Destination").InnerText.ToString().Trim(); //目的地 string _driAccount = _oldData.DocumentElement.SelectSingleNode("SchemaTable/COAccount").InnerText.ToString().Trim(); //司机账号 string _licenseID = _oldData.DocumentElement.SelectSingleNode("SchemaTable/LicenseID").InnerText.ToString().Trim(); //车牌 string _driName = _oldData.DocumentElement.SelectSingleNode("SchemaTable/CarOwner").InnerText.ToString().Trim(); //司机姓名 string _startTime = _oldData.DocumentElement.SelectSingleNode("SchemaTable/StartTime").InnerText.ToString().Trim(); //开始时间 string _endTime = _oldData.DocumentElement.SelectSingleNode("SchemaTable/EndTime").InnerText.ToString().Trim(); //结束时间 /*通知原司机,提示该车被取消*/ string _txt = "车辆预约变更通知:有预约车辆被取消,原预约的信息为:\r司机:" + _driName + "\r目的地:" + _place + "\r开始时间:" + _startTime + "\r结束时间:" + _endTime + "\r通知时间:" + DateTime.Now; //钉钉通知 string _userid = _driAccount; sendDingdingMsg(_userid, _txt); //短信提醒 XmlDocument _sms = XmlProvider.Document("api"); _sms.Load("http://api.qgj.cn/webapi/sms.asmx/Send?Uids=" + _driAccount + "&Message=" + _txt); //通知信息参数(新数据) string new_applyAccount = _newData.DocumentElement.SelectSingleNode("SchemaTable/CarAppliedAccount").InnerText.ToString().Trim(); //申请人账号 string new_applyName = _newData.DocumentElement.SelectSingleNode("SchemaTable/CarAppliedName").InnerText.ToString().Trim(); //申请人姓名 string new_place = _newData.DocumentElement.SelectSingleNode("SchemaTable/Destination").InnerText.ToString().Trim(); //目的地 string new_driAccount = _newData.DocumentElement.SelectSingleNode("SchemaTable/COAccount").InnerText.ToString().Trim(); //司机账号 string new_licenseID = _newData.DocumentElement.SelectSingleNode("SchemaTable/LicenseID").InnerText.ToString().Trim(); //车牌 string new_driName = _newData.DocumentElement.SelectSingleNode("SchemaTable/CarOwner").InnerText.ToString().Trim(); //司机姓名 string new_startTime = _newData.DocumentElement.SelectSingleNode("SchemaTable/StartTime").InnerText.ToString().Trim(); //开始时间 string new_endTime = _newData.DocumentElement.SelectSingleNode("SchemaTable/EndTime").InnerText.ToString().Trim(); //结束时间 string new_driTel = _newData.DocumentElement.SelectSingleNode("SchemaTable/CarTelephone").InnerText.ToString().Trim(); //司机联系方式 string new_applyTel = _newData.DocumentElement.SelectSingleNode("SchemaTable/AppliedTel").InnerText.ToString().Trim(); //申请人联系方式 /*通知新司机,提示有新的出车记录,将申请信息发送给司机*/ _txt = "车辆预约通知:有新的出车记录,预约申请信息为:\r司机:" + new_driName + "\r车牌:" + new_licenseID + "\r目的地:" + new_place + "\r开始时间:" + new_startTime + "\r结束时间:" + new_endTime + "\r申请人:" + new_applyName + "联系方式:" + new_applyTel + "\r通知时间:" + DateTime.Now; //原 腾讯通 通知 //_notify.Load("http://api.qgj.cn/webapi/rtx.asmx/SendNotify?Uids=" + new_driAccount + ";&Title=车辆更改通知&Txt=[" + _txt + "|http://webservices.qgj.cn/cldd/index.html]&Time=20000"); //钉钉通知 _userid = new_driAccount; sendDingdingMsg(_userid, _txt); //短信提醒 _sms.Load("http://api.qgj.cn/webapi/sms.asmx/Send?Uids=" + new_driAccount + "&Message=" + _txt); /*通知调度员,提示该记录的车辆已经由xx车牌车改成xx车牌车*/ string _sysAccount = getSysAccount(); _txt = "车辆变更通知:有预约车辆被更改,车辆由" + _licenseID + "变更为" + new_licenseID + "\r通知时间:" + DateTime.Now; //原 腾讯通 通知 //_notify.Load("http://api.qgj.cn/webapi/rtx.asmx/SendNotify?Uids=" + _sysAccount + ";&Title=车辆更改通知&Txt=[" + _txt + "|http://webservices.qgj.cn/cldd/index.html]&Time=20000"); //钉钉通知 _userid = _sysAccount; sendDingdingMsg(_userid, _txt); //短信提醒 _sms.Load("http://api.qgj.cn/webapi/sms.asmx/Send?Uids=" + _sysAccount + "&Message=" + _txt); /*通知申请人,将申请信息带上,提示车辆由xxx更改为xxx*/ _txt = "车辆变更通知:有预约车辆被更改,车辆由" + _licenseID + "变更为" + new_licenseID + "\r变更后的预约信息为:\r申请人:" + new_applyName + "\r目的地:" + new_place + "\r开始时间:" + new_startTime + "\r结束时间:" + new_endTime + "\r预约状态:待出车\r联系方式:" + new_applyTel + "\r车辆信息:\r司机: " + new_driName + "\r联系方式:" + new_driTel + "\r请申请人与司机尽快联系确认" + "\r通知时间:" + DateTime.Now; //原 腾讯通 通知 //_notify.Load("http://api.qgj.cn/webapi/rtx.asmx/SendNotify?Uids=" + new_applyAccount + ";&Title=车辆更改通知&Txt=[" + _txt + "|http://webservices.qgj.cn/cldd/index.html]&Time=20000"); //钉钉通知 _userid = new_applyAccount; sendDingdingMsg(_userid, _txt); //短信提醒 _sms.Load("http://api.qgj.cn/webapi/sms.asmx/Send?Uids=" + new_applyAccount + "&Message=" + _txt); }
public XmlDocument getFreeCarListOnDesc(DateTime _startReq, int _dayReq, int _tripNum) { _startReq = Convert.ToDateTime(_startReq.ToShortDateString() + " 00:00:00"); int _minWeekDays = int.MaxValue; XmlDocument _desc = XmlProvider.Document("data"); XmlDocument _list = (XmlDocument)Provider.Invoke("CLDD.Providers.ApplyService.getFreeCarList", new object[] { this.context }, new object[] { _startReq, _dayReq, _tripNum }); string _licenseidList = "("; //符合条件的licenseid //判断星期几 int[] _dayOfWeek = { 7, 1, 2, 3, 4, 5, 6 }; //查询车辆月出行天数 int _pre = 13 + _dayOfWeek[Convert.ToInt32(_startReq.DayOfWeek)]; foreach (XmlNode _section in _list.DocumentElement.SelectNodes("SchemaTable")) { if (_section.SelectSingleNode("LicenseID").InnerText.ToString().Trim() != _list.DocumentElement.LastChild.SelectSingleNode("LicenseID").InnerText.ToString().Trim()) { _licenseidList += " LicenseID='" + _section.SelectSingleNode("LicenseID").InnerText.ToString().Trim() + "' or "; } else { _licenseidList += " LicenseID='" + _section.SelectSingleNode("LicenseID").InnerText.ToString().Trim() + "') "; } } string _sql = " Select SUM(CAST(DAYS as int)) As MonthDays,LicenseID from Car_Applied where AppliedStatue!='拒绝' and AppliedStatue!='取消' AND LicenseID!='NULL' AND " + _licenseidList + " and StartTime>='" + _startReq.AddDays(-_pre).ToString() + "' and StartTime<='" + _startReq.AddDays(14).ToString() + "' group by licenseid order by MonthDays ASC"; using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = _sql; _desc = SQLProvider.GetData(_cmd); } if (!_desc.DocumentElement.HasChildNodes) { foreach (XmlNode _section in _list.DocumentElement.SelectNodes("SchemaTable")) { int _preWeek = _dayOfWeek[Convert.ToInt32(_startReq.DayOfWeek)] - 1; int _next = 7 - _dayOfWeek[Convert.ToInt32(_startReq.DayOfWeek)]; string count = ""; using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = "Select SUM(CAST(DAYS as int)) As WeekDays from Car_Applied where licenseid='" + _section.SelectSingleNode("LicenseID").InnerText.ToString().Trim() + "' and AppliedStatue!='拒绝' and AppliedStatue!='取消' and StartTime>='" + _startReq.AddDays(-_preWeek).ToString() + "' and StartTime<='" + _startReq.AddDays(_next).ToString() + "'"; count = SQLProvider.GetData(_cmd).DocumentElement.SelectSingleNode("SchemaTable/WeekDays").InnerText.ToString().Trim(); } if (count == "" || count == null) { count = "0"; } XmlElement _countEle = _list.CreateElement("WeekDays"); _countEle.InnerXml = "<![CDATA[" + count + "]]>"; XmlElement _month = _list.CreateElement("MonthDays"); _month.InnerXml = "<![CDATA[0]]>"; _section.AppendChild(_month); _section.AppendChild(_countEle); if (_minWeekDays > Convert.ToInt32(count)) { _minWeekDays = Convert.ToInt32(count); } _minWeekDays = Convert.ToInt32(count); } _list.DocumentElement.SetAttribute("MinWeekDays", _minWeekDays.ToString()); return(_list); } //查询车辆周出行天数 foreach (XmlNode _section in _desc.DocumentElement.SelectNodes("SchemaTable")) { int _preWeek = _dayOfWeek[Convert.ToInt32(_startReq.DayOfWeek)] - 1; int _next = 7 - _dayOfWeek[Convert.ToInt32(_startReq.DayOfWeek)]; string count = ""; using (SqlCommand _cmd = new SqlCommand()) { _cmd.Connection = SQLConfig.Connection(this.conn); _cmd.CommandText = "Select SUM(CAST(DAYS as int)) As WeekDays from Car_Applied where licenseid='" + _section.SelectSingleNode("LicenseID").InnerText.ToString().Trim() + "' and AppliedStatue!='拒绝' and AppliedStatue!='取消' and StartTime>='" + _startReq.AddDays(-_preWeek).ToString() + "' and StartTime<='" + _startReq.AddDays(_next).ToString() + "'"; count = SQLProvider.GetData(_cmd).DocumentElement.SelectSingleNode("SchemaTable/WeekDays").InnerText.ToString().Trim(); } if (count == "" || count == null) { count = "0"; } XmlElement _countEle = _desc.CreateElement("WeekDays"); _countEle.InnerXml = "<![CDATA[" + count + "]]>"; _section.AppendChild(_countEle); if (_minWeekDays > Convert.ToInt32(count)) { _minWeekDays = Convert.ToInt32(count); } } _desc.DocumentElement.SetAttribute("MinWeekDays", _minWeekDays.ToString()); return(_desc); }
//获取车辆在开始时间后七天内的车辆状态 public void getCarStateByDay() { this.result = XmlProvider.Document("sqldata"); //创建SchemaTable标签 //获取当前日期 string _todayTime = DateTime.Now.ToShortDateString().ToString();//2025-11-5 //获取开始时间 string _year = this.context.Request.Form["year"].ToString().Trim(); //2017 string _month = this.context.Request.Form["month"].ToString().Trim(); //7 string _day = this.context.Request.Form["day"].ToString().Trim(); //17 string _startTime = _year + "-" + _month + "-" + _day; //2017-7-17 //将字符串转换成时间类型 DateTime dt1 = Convert.ToDateTime(_todayTime); DateTime dt2 = Convert.ToDateTime(_startTime); DateTime dt3 = Convert.ToDateTime(_startTime); //调用CarDol中的getEnableCarLicense方法 XmlDocument _LicenseList = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.getEnableCarLicense", new object[] { this.context }, null); //遍历车牌集合 foreach (XmlNode _section in _LicenseList.DocumentElement.SelectNodes("SchemaTable")) { //创建Row标签 XmlElement _elRow = this.result.CreateElement("Row"); string _licenseID = _section.SelectSingleNode("LicenseID").InnerText.ToString().Trim(); string _Day; string _Week; string _State; //创建LicenseID标签 XmlElement _elLicenseID = this.result.CreateElement("LicenseID"); _elLicenseID.InnerXml = _licenseID; _elRow.AppendChild(_elLicenseID); //创建Content标签 XmlElement _elContent = this.result.CreateElement("Content"); dt2 = dt3; //循环七天 int i = 0;//查询成功的天数 for (int j = 0; j < 7; j++, i++, dt2 = dt2.AddDays(1)) { //如果超过今天,就跳出循环 if (DateTime.Compare(dt2, dt1) > 0) { break; } //调用CarDol中的getCarStateByLicenseIDAndDay方法 //实际要查询的日期 _Day = dt2.ToString(); //为方便数据库查询,将天数加一天再传入dol层的方法 string _queryDay = dt2.AddDays(1).ToString(); ;//通过方法从日期算出星期 _Week = Convert.ToString(dt2.DayOfWeek); //获取某车牌在某天的状态 //获取车辆状态 if ((_State = Provider.Invoke("CLDD.Providers.CarDol.getCarStateByLicenseIDAndDay", new object[] { this.context }, new object[] { _licenseID, _queryDay }).ToString().Trim()) == "") { _State = "无记录"; } //创建OneDay标签 XmlElement _elOneDay = this.result.CreateElement("OneDay"); //创建Day标签 XmlElement _elDay = this.result.CreateElement("Day"); _elDay.InnerXml = _Day; _elOneDay.AppendChild(_elDay); //创建Week标签 XmlElement _elWeek = this.result.CreateElement("Week"); _elWeek.InnerXml = _Week; _elOneDay.AppendChild(_elWeek); //创建State标签 XmlElement _elState = this.result.CreateElement("State"); _elState.InnerXml = _State; _elOneDay.AppendChild(_elState); _elContent.AppendChild(_elOneDay); //dt2 = dt2.AddDays(1); //增加一天 //i++;//天数计数加一天 } _elRow.AppendChild(_elContent); //创建DayNums标签,成功查询的天数 XmlElement _elDayNums = this.result.CreateElement("DayNums"); _elDayNums.InnerXml = i.ToString(); _elRow.AppendChild(_elDayNums); //将一行Row添加进SchemaTable this.result.DocumentElement.AppendChild(_elRow); } }