Exemple #1
0
        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);
        }
Exemple #2
0
        //查找某车某日记录
        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);
        }
Exemple #3
0
        //获取权限
        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("");
            }
        }
Exemple #4
0
        //更改预约状态
        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);
        }
Exemple #5
0
        //生成每月车辆报表
        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);
        }
Exemple #6
0
        //派遣司机
        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);
        }
Exemple #7
0
        //获取部门领导账号
        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("");
            }
        }
Exemple #8
0
        /// <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);
        }
Exemple #9
0
        /// <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);
        }
Exemple #10
0
        /// <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);
        }
Exemple #11
0
        //更改车辆状态
        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");
            }
        }
Exemple #12
0
        //插入预约信息
        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);
        }
Exemple #13
0
        //删除当前临时调度员账号
        public void delLsDispatcher()
        {
            this.result = XmlProvider.Document("sqldata");

            this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.DispatcherDol.delLsDispatcher", new object[] { this.context }, null);
        }
Exemple #14
0
 //请求添加司机
 public void reqAddDriver()
 {
     this.result = XmlProvider.Document("sqldata");
     //未分配车辆列表返回
     this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.getCarUnallocated", new object[] { this.context }, null);
 }
Exemple #15
0
 //获取司机列表
 public void getDriverList()
 {
     this.result = XmlProvider.Document("sqldata");
     //车辆列表返回
     this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.DriverDol.getDriverList", new object[] { this.context }, null);
 }
Exemple #16
0
 //添加车辆请求页
 public void reqAdd()
 {
     this.result = XmlProvider.Document("sqldata");
     this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.DriverDol.getFreeDriver", new object[] { this.context }, null);
 }
Exemple #17
0
 /// <summary>
 /// 请求添加维修记录
 /// </summary>
 public void reqFixed()
 {
     this.result = XmlProvider.Document("sqldata");
     //获取车牌
     this.result = (XmlDocument)Provider.Invoke("CLDD.Providers.CarDol.getLicenseIDList", new object[] { this.context }, null);
 }
Exemple #18
0
        //通知原司机、新司机、调度员、申请人,车辆变更成功
        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);
        }
Exemple #19
0
        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);
        }
Exemple #20
0
        //获取车辆在开始时间后七天内的车辆状态
        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);
            }
        }