public void GetRoomPriceCode(HttpContext context, string jsonDate) { #region ** 参数验证 ** JsonData jd_data = JsonMapper.ToObject(jsonDate); if (jd_data == null || jd_data.Count < 1) { throw new PMSException("参数不能为空"); } string HotelCode = CommonUse.ParamVal(jd_data, "HotelCode", "酒店编号", true, true); string[] keyValue = DESEncrypt.Decrypt(HotelCode).Split(','); if (keyValue.Length != 2) { throw new PMSException("错误的酒店编号,请核对后重试"); } #endregion string adminHotelId = keyValue[0]; string hotelId = keyValue[1]; if (!DataFactory.CheckSqlIsOpen(adminHotelId, CommonHelper.GetInt(hotelId)))//数据库是否能连接 { throw new PMSException("数据库连接失败,请验证网络是否正常"); } StringBuilder sql = new StringBuilder(); sql.Append("SELECT plan0 RoomPriceCode,desc0 RoomPriceName FROM CS_FJBMB"); DataTable dt = DataFactory.SqlDataBase(adminHotelId, hotelId).GetDataTableBySQL(sql); JsonData jd = new JsonData();//返回JsonData if (dt != null && dt.Rows.Count > 0) { JsonData jdData = new JsonData();//DataTable值 for (int i = 0; i < dt.Rows.Count; i++) { JsonData jdList = new JsonData(); jdList["RoomPriceCode"] = dt.Rows[i]["RoomPriceCode"].ToString(); jdList["RoomPriceName"] = dt.Rows[i]["RoomPriceName"].ToString(); jdData.Add(jdList); } jd["code"] = 1; jd["data"] = jdData; } else { jd["code"] = 0; jd["message"] = "未查询到房价码!"; } string json = jd.ToJson(); // 统一输出 PMSResponse.WirterString(json); }
/// <summary> /// 初始化 /// </summary> private void InitData() { StringBuilder sb = new StringBuilder(); sb.AppendFormat("SELECT id,name FROM Hotel_Admin WHERE AdminHotelid='{0}'", RequestSession.GetSessionUser().AdminHotelid); DataTable dt = DataFactory.SqlDataBase().GetDataTableBySQL(sb); if (dt != null && dt.Rows.Count > 0) { hotelName.InnerHtml = PageTitle = dt.Rows[0]["name"].ToString(); } string Rolesname = RequestSession.GetSessionUser().RoleName.ToString(); string un = RequestSession.GetSessionUser().UserName.ToString() + " [" + Rolesname + "]"; this.MenuTitle.InnerHtml = this.spTopUserName.InnerHtml = un; try { DataFactory.ClearConnString(RequestSession.GetSessionUser().AdminHotelid.ToString(), Convert.ToInt32(RequestSession.GetSessionUser().Hotelid)); //数据库连接状态 if (DataFactory.CheckSqlIsOpen(RequestSession.GetSessionUser().AdminHotelid.ToString(), Convert.ToInt32(RequestSession.GetSessionUser().Hotelid))) { zt.Attributes.Add("class", "ljqk zc"); ljzt.InnerText = "连接正常"; //ljzt.Style.Add("color", "#5FE390"); tk.InnerHtml = ""; } else { zt.Attributes.Add("class", "ljqk yc"); ljzt.InnerText = "连接异常"; HCheckSqlIsOpen.Value = "1"; //ljzt.Style.Add("color", "#FA6F72"); } } catch { } }
public void Supervise(HttpContext context, string jsonDate) { #region ** 参数验证 ** JsonData jd_data = JsonMapper.ToObject(jsonDate); if (jd_data == null || jd_data.Count < 1) { throw new PMSException("参数不能为空"); } string HotelCode = CommonUse.ParamVal(jd_data, "HotelCode", "酒店编号", true, true); string sign = CommonUse.ParamVal(jd_data, "Sign", "签名", true, true); string sign_new = Md5Helper.MD5(HotelCode, 32); if (sign.ToLower() != sign_new.ToLower()) { throw new PMSException("签名验证失败!"); } string[] keyValue = DESEncrypt.Decrypt(HotelCode).Split(','); if (keyValue.Length < 2) { throw new PMSException("错误的酒店编号,请核对后重试"); } int pageIndex = CommonHelper.GetInt(CommonUse.ParamVal(jd_data, "PageIndex", "当前页", true, true)); int DataType = CommonHelper.GetInt(CommonUse.ParamVal(jd_data, "DataType", "数据类型", false, false)); #endregion string adminHotelId = keyValue[0]; string hotelId = keyValue[1]; string userId = keyValue[2]; if (DataType > 1)//数据类型不为0表示为数据查询数据库读取 { adminHotelId = "1010142"; hotelId = "0"; } if (!DataFactory.CheckSqlIsOpen(adminHotelId, CommonHelper.GetInt(hotelId)))//数据库是否能连接 { throw new PMSException("数据库连接失败,请验证网络是否正常"); } int PageSize = 20; int doCount = 0; int more = 0; JsonData jd = new JsonData(); //返回JsonData JsonData jdData = new JsonData(); //DataTable值 #region ** 获取数据值 ** try { StringBuilder sql = new StringBuilder(); sql.Append(@" SELECT rq , jglb , xh , jglr FROM XX_JGXJCX "); IList <SqlParam> lParam = new List <SqlParam>(); if (DataType > 1) { sql.Append(" WHERE jdid = @jdid "); lParam.Add(new SqlParam("@jdid", DataType)); } sql.Append(" ORDER BY rq DESC "); DataTable dt = DataFactory.SqlDataBase(adminHotelId, hotelId).GetDataTableBySQL(sql); if (dt != null && dt.Rows.Count > 0) { doCount = dt.Rows.Count; int pi_ps = (pageIndex - 1) * PageSize; int pi_dc = pi_ps + PageSize; if (pi_dc > doCount) { pi_dc = doCount; } more = doCount - pi_dc;//更多剩余数 more = more > 0 ? more : 0; if (pi_dc > doCount) { pi_dc = doCount; } for (int i = pi_ps; i < pi_dc; i++) { JsonData jdList = new JsonData(); // jdList["Time"] = dt.Rows[i]["rq"].ToString(); //时间 jdList["Type"] = dt.Rows[i]["jglb"].ToString();; //类型 jdList["Operator"] = "00" + dt.Rows[i]["xh"].ToString(); //操作人 jdList["Content"] = dt.Rows[i]["jglr"].ToString(); //操作内容 jdData.Add(jdList); } } } catch { } #endregion jd["code"] = 1; jd["count"] = doCount; //数量 jd["more"] = more; //更多剩余数 jd["data"] = jdData.IsArray ? jdData : false; string json = jd.ToJson(); // 统一输出 PMSResponse.WirterString(json); }
public void RevenueMonth(HttpContext context, string jsonDate) { #region ** 参数验证 ** JsonData jd_data = JsonMapper.ToObject(context.Server.UrlDecode(jsonDate)); if (jd_data == null || jd_data.Count < 1) { throw new PMSException("参数不能为空"); } string HotelCode = CommonUse.ParamVal(jd_data, "HotelCode", "酒店编号", true, true); string sign = CommonUse.ParamVal(jd_data, "Sign", "签名", true, true); string sign_new = Md5Helper.MD5(HotelCode, 32); if (sign.ToLower() != sign_new.ToLower()) { throw new PMSException("签名验证失败!"); } string[] keyValue = DESEncrypt.Decrypt(HotelCode).Split(','); if (keyValue.Length < 2) { throw new PMSException("错误的酒店编号,请核对后重试"); } string date = CommonUse.ParamVal(jd_data, "Date", "时间", true, true); string type = CommonUse.ParamVal(jd_data, "Type", "时间类型", true, true); int DataType = CommonHelper.GetInt(CommonUse.ParamVal(jd_data, "DataType", "数据类型", false, false)); #endregion string adminHotelId = keyValue[0]; string hotelId = keyValue[1]; string userId = keyValue[2]; if (DataType > 1)//数据类型不为0表示为数据查询数据库读取 { adminHotelId = "1010142"; hotelId = "0"; } if (!DataFactory.CheckSqlIsOpen(adminHotelId, CommonHelper.GetInt(hotelId)))//数据库是否能连接 { throw new PMSException("数据库连接失败,请验证网络是否正常"); } DateTime StartDate = Convert.ToDateTime("2010-01-01"); DateTime EndDate = DateTime.Now.AddDays(1); string json = ""; switch (type) { case "1": StartDate = Convert.ToDateTime(date + "01日"); EndDate = StartDate.AddMonths(1); json = MonthData(adminHotelId, hotelId, StartDate.ToString("yyyy-MM-dd"), EndDate.ToString("yyyy-MM-dd"), DataType); break; case "2": StartDate = Convert.ToDateTime(date + "01月01日"); EndDate = StartDate.AddYears(1); json = YearData(adminHotelId, hotelId, StartDate.ToString("yyyy-MM-dd"), EndDate.ToString("yyyy-MM-dd"), DataType); break; case "3": json = AllData(adminHotelId, hotelId, DataType); break; default: break; } if (json == "") { JsonData jd = new JsonData();//返回JsonData jd["code"] = 0; jd["message"] = "没有找到您要找的数据!"; json = jd.ToJson(); } // 统一输出 PMSResponse.WirterString(json); }
public void Truth(HttpContext context, string jsonDate) { #region ** 参数验证 ** JsonData jd_data = JsonMapper.ToObject(jsonDate); if (jd_data == null || jd_data.Count < 1) { throw new PMSException("参数不能为空"); } string HotelCode = CommonUse.ParamVal(jd_data, "HotelCode", "酒店编号", true, true); string sign = CommonUse.ParamVal(jd_data, "Sign", "签名", true, true); string sign_new = Md5Helper.MD5(HotelCode, 32); if (sign.ToLower() != sign_new.ToLower()) { throw new PMSException("签名验证失败!"); } string[] keyValue = DESEncrypt.Decrypt(HotelCode).Split(','); if (keyValue.Length < 2) { throw new PMSException("错误的酒店编号,请核对后重试"); } string date = CommonUse.ParamVal(jd_data, "Date", "时间", true, true); string type = CommonUse.ParamVal(jd_data, "Type", "时间类型", true, true); string sd = CommonUse.ParamVal(jd_data, "StartDate", "开始日期", false, false); string ed = CommonUse.ParamVal(jd_data, "EndDate", "结束日期", false, false); int DataType = CommonHelper.GetInt(CommonUse.ParamVal(jd_data, "DataType", "数据类型", false, false)); #endregion string adminHotelId = keyValue[0]; string hotelId = keyValue[1]; string userId = keyValue[2]; if (DataType > 1)//数据类型不为0表示为数据查询数据库读取 { adminHotelId = "1010142"; hotelId = "0"; } if (!DataFactory.CheckSqlIsOpen(adminHotelId, CommonHelper.GetInt(hotelId)))//数据库是否能连接 { throw new PMSException("数据库连接失败,请验证网络是否正常"); } int SalesMoney = 0; int SalesAccumulate = 0; int SaleNight = 0; int RentalRate = 0; int AveragePrice = 0; int RevPAR = 0; int StayIn = 0; int GetRoom = 0; int RetreatRoom = 0; int Arrivals = 0; int Repair = 0; int EstimateMoney = 0; DateTime StartDate = Convert.ToDateTime("2010-01-01"); DateTime EndDate = DateTime.Now.AddDays(1); DateTime sdAccumulate = Convert.ToDateTime("2010-01-01"); DateTime edAccumulate = DateTime.Now.AddDays(1); switch (type) { case "1": StartDate = Convert.ToDateTime(date); EndDate = StartDate.AddDays(1); sdAccumulate = Convert.ToDateTime(StartDate.ToString("yyyy-MM-01")); edAccumulate = Convert.ToDateTime(StartDate.AddMonths(1).ToString("yyyy-MM-01")); break; case "2": StartDate = Convert.ToDateTime(date + "01日"); EndDate = StartDate.AddMonths(1); sdAccumulate = Convert.ToDateTime(StartDate.ToString("yyyy-01-01")); edAccumulate = Convert.ToDateTime(StartDate.AddYears(1).ToString("yyyy-01-01")); break; case "3": StartDate = Convert.ToDateTime(date + "01月01日"); EndDate = StartDate.AddYears(1); break; case "4": try { sdAccumulate = StartDate = Convert.ToDateTime(sd); edAccumulate = EndDate = Convert.ToDateTime(ed).AddDays(1); } catch { throw new PMSException("自定义时间格式错误!"); } break; default: break; } #region ** 获取数据值 ** try { DataTable dt = GetSales(DataType, adminHotelId, hotelId, StartDate, EndDate); DataTable dtAcc = GetSales(DataType, adminHotelId, hotelId, sdAccumulate, edAccumulate); if (dt != null && dt.Rows.Count > 0) { int days = CommonHelper.GetInt(dt.Rows[0]["dayNum"].ToString()); SalesMoney = CommonHelper.GetInt(dt.Rows[0]["yysr"].ToString()); SalesAccumulate = CommonHelper.GetInt(dtAcc.Rows[0]["yysr"].ToString()); SaleNight = CommonHelper.GetInt(dt.Rows[0]["fws"].ToString()); RentalRate = CommonHelper.GetInt(dt.Rows[0]["czl"].ToString()) / days; AveragePrice = CommonHelper.GetInt(dt.Rows[0]["pjfj"].ToString()) / days; RevPAR = CommonHelper.GetInt(dt.Rows[0]["repar"].ToString()) / days; } DataTable dt_day = GetDayNumber(DataType, adminHotelId, hotelId, StartDate, EndDate); if (dt_day != null && dt_day.Rows.Count > 0) { StayIn = CommonHelper.GetInt(dt_day.Rows[0]["dqzzs"].ToString()); GetRoom = CommonHelper.GetInt(dt_day.Rows[0]["jrkfs"].ToString()); RetreatRoom = CommonHelper.GetInt(dt_day.Rows[0]["jrtfs"].ToString()); Arrivals = CommonHelper.GetInt(dt_day.Rows[0]["jryd"].ToString()); Repair = CommonHelper.GetInt(dt_day.Rows[0]["jrwx"].ToString()); EstimateMoney = CommonHelper.GetInt(dt_day.Rows[0]["yjjrsr"].ToString()); } } catch { } #endregion JsonData jd = new JsonData(); //返回JsonData JsonData jdData = new JsonData(); //DataTable值 jdData["SalesMoney"] = SalesMoney; //营收 jdData["SalesAccumulate"] = SalesAccumulate; //累计 jdData["SaleNight"] = SaleNight; //房晚数 jdData["RentalRate"] = RentalRate; //出租率 jdData["AveragePrice"] = AveragePrice; //平均房价 jdData["RevPAR"] = RevPAR; //RevPAR jdData["StayIn"] = StayIn; //在住数 jdData["GetRoom"] = GetRoom; //开房 jdData["RetreatRoom"] = RetreatRoom; //退房 jdData["Arrivals"] = Arrivals; //预抵 jdData["Repair"] = Repair; //维修房 jdData["EstimateMoney"] = EstimateMoney; //预计房租收入 jd["code"] = 1; jd["data"] = jdData; string json = jd.ToJson(); // 统一输出 PMSResponse.WirterString(json); }
public void ProcessRequest(HttpContext context) { string Action = context.Request["action"]; //提交动作 switch (Action) { case "login": PwdLogin(context); break; case "code_login": CodeLogin(context); break; case "retrieve_pwd": Retrieve_Pwd(context); break; case "sms_code": SmsCode(context); break; case "jizhumima": string str = "0"; HttpCookie cookie = context.Request.Cookies["USER_COOKIE"]; if (cookie != null) { str = cookie["UserName"] + "&" + cookie["PassWord"] + "&" + cookie["DLAdminHotelid"]; } context.Response.Write(str); break; case "Menu": RM_System_IDAO sys_idao = new RM_System_Dal(); string UserId = RequestSession.GetSessionUser().UserId.ToString();//用户ID string strMenus = JsonHelper.DataTableToJson(sys_idao.GetMenuHtml(UserId), "MENU"); context.Response.Write(strMenus); break; case "CheckSqlIsOpen": try { //数据库连接状态 if (DataFactory.CheckSqlIsOpen(RequestSession.GetSessionUser().AdminHotelid.ToString(), Convert.ToInt32(RequestSession.GetSessionUser().Hotelid))) { StringBuilder sql = new StringBuilder(); sql.AppendFormat("SELECT id,ErrorNum FROM dbo.Set_Association WHERE hotelid={0} ", RequestSession.GetSessionUser().Hotelid); DataTable dt = DataFactory.SqlDataBase().GetDataTableBySQL(sql); if (dt != null && dt.Rows.Count > 0) { if (Convert.ToInt32(dt.Rows[0]["ErrorNum"]) > 0) { Hashtable ht = new Hashtable(); ht["ErrorNum"] = 0; DataFactory.SqlDataBase().UpdateByHashtable("Set_Association", "id", dt.Rows[0]["id"].ToString(), ht); } } context.Response.Write("1"); } else { context.Response.Write("0"); } } catch { } break; default: break; } }
public void GetRoomStateView(HttpContext context, string jsonDate) { #region ** 解码酒店编号 ** JsonData jd_data = JsonMapper.ToObject(jsonDate); if (jd_data == null || jd_data.Count < 1) { throw new PMSException("参数不能为空"); } string HotelCode = CommonUse.ParamVal(jd_data, "HotelCode", "酒店编号", true, true); string sign = CommonUse.ParamVal(jd_data, "Sign", "签名", true, true); string sign_new = Md5Helper.MD5(HotelCode, 32); if (sign.ToLower() != sign_new.ToLower()) { throw new PMSException("签名验证失败!"); } string[] keyValue = DESEncrypt.Decrypt(HotelCode).Split(','); if (keyValue.Length < 2) { throw new PMSException("错误的酒店编号,请核对后重试"); } int DataType = CommonHelper.GetInt(CommonUse.ParamVal(jd_data, "DataType", "数据类型", false, false)); #endregion string adminHotelId = keyValue[0]; string hotelId = keyValue[1]; string userId = keyValue[2]; if (DataType > 1)//数据类型不为0表示为数据查询数据库读取 { adminHotelId = "1010142"; hotelId = "0"; } if (!DataFactory.CheckSqlIsOpen(adminHotelId, CommonHelper.GetInt(hotelId)))//数据库是否能连接 { throw new PMSException("数据库连接失败,请验证网络是否正常"); } StringBuilder sql = new StringBuilder(); sql.Append("select * from XX_SSFTB where 1=1 "); IList <SqlParam> lParam = new List <SqlParam>(); if (DataType > 1) { sql.Append(" AND jdid = @jdid "); lParam.Add(new SqlParam("@jdid", DataType)); } sql.Append(" order by fh asc "); DataTable dt = DataFactory.SqlDataBase(adminHotelId, hotelId).GetDataTableBySQL(sql, lParam.ToArray()); JsonData jd = new JsonData();//返回JsonData if (dt != null && dt.Rows.Count > 0) { string GuestNum = dt.Rows.Count.ToString(); JsonData jdData = new JsonData(); //DataTable值 JsonData jdTotalData = new JsonData(); //DataTable值 int ZS = 0; int OC = 0; int VC = 0; int VD = 0; int BC = 0; int OOO = 0; int LR = 0; for (int i = 0; i < dt.Rows.Count; i++) { ZS++; JsonData jdList = new JsonData(); string StateStyle = ""; string ftcode = dt.Rows[i]["fjzt"].ToString().Trim(); if (ftcode == "OC" || ftcode == "OD")//在住房 { OC++; StateStyle = "zaizhu"; } //else if (ftcode == "OD")//在住脏房 //{ // ftname = "在住脏房"; // StateStyle = "zhuzang"; //} else if (ftcode == "VD")//空脏房 { VD++; StateStyle = "kongzang"; } else if (ftcode == "VC")//空洁房 { VC++; StateStyle = "kongjie"; } else if (ftcode == "BC" || ftcode == "BD" || ftcode == "CMD" || ftcode == "CMC")//预抵净房 { BC++; StateStyle = "yudijing"; } //else if (ftcode == "CMD")//预抵脏房 //{ // StateStyle = "yudizang"; //} //else if (ftcode == "BD")//预抵脏房 //{ // StateStyle = "yudizang"; //} //else if (ftcode == "CMC")//预抵净房 //{ // StateStyle = "yudijing"; //} else if (ftcode == "OOO" || ftcode == "OOS")//维修房 { OOO++; StateStyle = "weixiu"; } //else if (ftcode == "OOS")//维护房 //{ // StateStyle = "weihu"; //} else if (ftcode == "GO")//预离房 { StateStyle = "yuli"; } else if (ftcode == "LR" || ftcode == "LC")//锁房 { LR++; StateStyle = "suo"; } //else if (ftcode == "LC")//锁房 //{ // StateStyle = "suo"; //} jdList["RoomNumber"] = dt.Rows[i]["fh"].ToString(); //房间号 jdList["StateStyle"] = StateStyle; //房间样式 jdList["RoomState"] = ftcode; //房间状态代码 jdData.Add(jdList); } JsonData jdhj = new JsonData(); jdhj["RoomState"] = "ZS"; //房间状态 jdhj["RoomNumber"] = ZS; //房态数量 jdTotalData.Add(jdhj); // jdhj = new JsonData(); jdhj["RoomState"] = "OC"; //房间状态 jdhj["RoomNumber"] = OC; //房态数量 jdTotalData.Add(jdhj); // jdhj = new JsonData(); jdhj["RoomState"] = "VC"; //房间状态 jdhj["RoomNumber"] = VC; //房态数量 jdTotalData.Add(jdhj); // jdhj = new JsonData(); jdhj["RoomState"] = "VD"; //房间状态 jdhj["RoomNumber"] = VD; //房态数量 jdTotalData.Add(jdhj); // jdhj = new JsonData(); jdhj["RoomState"] = "BC"; //房间状态 jdhj["RoomNumber"] = BC; //房态数量 jdTotalData.Add(jdhj); // jdhj = new JsonData(); jdhj["RoomState"] = "OOO"; //房间状态 jdhj["RoomNumber"] = OOO; //房态数量 jdTotalData.Add(jdhj); // jdhj = new JsonData(); jdhj["RoomState"] = "LR"; //房间状态 jdhj["RoomNumber"] = LR; //房态数量 jdTotalData.Add(jdhj); jd["code"] = 1; jd["data"] = jdData.IsArray ? jdData : false; jd["TotalData"] = jdTotalData.IsArray ? jdTotalData : false; int or = Convert.ToInt32((Convert.ToDouble(OC) / Convert.ToDouble(ZS)) * 1000); jd["OccupancyRate"] = or / 10; } else { jd["code"] = 0; jd["message"] = "未查询到相关信息!"; } string json = jd.ToJson(); // 统一输出 PMSResponse.WirterString(json); }
public void SettleReport(HttpContext context, string jsonDate) { #region ** 解码酒店编号 ** JsonData jd_data = JsonMapper.ToObject(jsonDate); if (jd_data == null || jd_data.Count < 1) { throw new PMSException("参数不能为空"); } string HotelCode = CommonUse.ParamVal(jd_data, "HotelCode", "酒店编号", true, true); string date = CommonUse.ParamVal(jd_data, "Date", "日期", true, true); string sign = CommonUse.ParamVal(jd_data, "Sign", "签名", true, true); string sign_new = Md5Helper.MD5(HotelCode + date, 32); if (sign.ToLower() != sign_new.ToLower()) { throw new PMSException("签名验证失败!"); } string[] keyValue = DESEncrypt.Decrypt(HotelCode).Split(','); if (keyValue.Length < 2) { throw new PMSException("错误的酒店编号,请核对后重试"); } int DataType = CommonHelper.GetInt(CommonUse.ParamVal(jd_data, "DataType", "数据类型", false, false)); #endregion DateTime startDate = CommonHelper.GetDateTime(date); DateTime endDate = startDate.AddDays(1); string adminHotelId = keyValue[0]; string hotelId = keyValue[1]; string userId = keyValue[2]; if (DataType > 1)//数据类型不为0表示为数据查询数据库读取 { adminHotelId = "1010142"; hotelId = "0"; } if (!DataFactory.CheckSqlIsOpen(adminHotelId, CommonHelper.GetInt(hotelId)))//数据库是否能连接 { throw new PMSException("数据库连接失败!"); } StringBuilder sql = new StringBuilder(); sql.Append(@" SELECT jdid , xmdesc , je FROM [view_yyjssrb] WHERE rq >= @startDate AND rq < @endDate "); JsonData jdData = new JsonData();//DataTable值 IList <SqlParam> lParam = new List <SqlParam>(); lParam.Add(new SqlParam("@startDate", startDate)); lParam.Add(new SqlParam("@endDate", endDate)); if (DataType > 1) { sql.Append(" AND jdid = @jdid "); lParam.Add(new SqlParam("@jdid", DataType)); } //sql.Append(" ORDER BY xmlb ASC "); DataTable dt = DataFactory.SqlDataBase(adminHotelId, hotelId).GetDataTableBySQL(sql, lParam.ToArray()); JsonData jd = new JsonData();//返回JsonData if (dt != null && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { JsonData jdList = new JsonData(); jdList["ItemName"] = dt.Rows[i]["xmdesc"].ToString(); //项目名称 jdList["SurplusMoney"] = Convert.ToDouble(dt.Rows[i]["je"]); //余额 jdData.Add(jdList); } jd["code"] = 1; jd["data"] = jdData.IsArray ? jdData : false; } else { jd["code"] = 0; jd["message"] = "未查询到相关信息!"; } string json = jd.ToJson(); // 统一输出 PMSResponse.WirterString(json); }
/// <summary> /// 微信订单支付 /// </summary> /// <param name="a"></param> /// /// <param name="transaction_id"></param> /// <param name="money"></param> private void wxzf(string[] a, string transaction_id, int money) { try { string OrderNum = a[0]; string sql = string.Format(@"select id,number from Finance where number='{0}'", OrderNum); DataTable ds = DataFactory.SqlDataBase().GetDataTableBySQL(new StringBuilder(sql)); if (ds != null && ds.Rows.Count > 0) { return; } else { SqlParam[] spOrderNum = new SqlParam[] { new SqlParam("@OrderNum", OrderNum) }; #region 订单信息 StringBuilder sb_OrderInfo = new StringBuilder(); sb_OrderInfo.Append(@" SELECT PayType , TomePrice , MemberId , Mobile , AdminHotelid , hotelid , RoomId , BeginTime , EndTime , CAST(name AS VARCHAR(30)) name , CAST(Environment AS VARCHAR(30)) Environment , CAST(Quality AS CHAR(4)) Quality , OrderNum , pay , Adult , RoomType , Number , Days , StaffId , openid , Coupon , RuleId , Zip FROM Reservation WHERE OrderNum = @OrderNum "); DataTable dt_OrderInfo = DataFactory.SqlDataBase().GetDataTableBySQL(sb_OrderInfo, spOrderNum); #endregion #region 微信支付订单处理 if (dt_OrderInfo == null || dt_OrderInfo.Rows.Count <= 0) { string sqls1wx = string.Format(@"select PayType,TomePrice,name,MemberId,Mobile,hotelid from WeChat_Reservation where OrderNum='{0}'", OrderNum); DataTable dsswx = DataFactory.SqlDataBase().GetDataTableBySQL(new StringBuilder(sqls1wx)); if (dsswx != null && dsswx.Rows.Count > 0) { if (money != CommonHelper.GetInt(dsswx.Rows[0]["TomePrice"]))//判断支付金额是否一致 { Log.Info("支付金额错误:", "应付" + dsswx.Rows[0]["TomePrice"] + ",实付" + money + "。"); return; } StringBuilder sqlwx = new StringBuilder(); sqlwx.AppendFormat(@" INSERT INTO Reservation (OrderNum,RoomType,Number,Days,BeginTime,EndTime,Adult,RoomTotal,ServiceTotal, TomePrice,Name,Sex,Mobile,Zip,Arrived,Other,Remark,PayType,State, MemberId,Comm,Environment,Source,Pay,KeepTime,Quality,HotelId,Coupon,Distributor, AdminHotelid,isdelete,rpid,XX_SKYDDB,openid,PayOpenid,RoomId,RuleId,StaffId,StaffRemarks,VipCode,VipName,FirstLive,ContinueState,ContinueOrderNum) SELECT OrderNum,RoomType,Number,Days,BeginTime,EndTime,Adult,RoomTotal,ServiceTotal, TomePrice,Name,Sex,Mobile,Zip,Arrived,Other,Remark,PayType,State, MemberId,Comm,Environment,Source,Pay,KeepTime,Quality,HotelId,Coupon,Distributor, AdminHotelid,isdelete,rpid,XX_SKYDDB,openid,PayOpenid,RoomId,RuleId,StaffId,StaffRemarks,VipCode,VipName,FirstLive,ContinueState,ContinueOrderNum FROM WeChat_Reservation WHERE OrderNum='{0}' ", a[0]); int i = DataFactory.SqlDataBase().ExecuteBySql(sqlwx); if (i > 0) { dt_OrderInfo = DataFactory.SqlDataBase().GetDataTableBySQL(sb_OrderInfo, spOrderNum); } } } #endregion if (dt_OrderInfo != null && dt_OrderInfo.Rows.Count > 0) { string adminHotelid = dt_OrderInfo.Rows[0]["AdminHotelid"].ToString(); string hotelId = dt_OrderInfo.Rows[0]["hotelid"].ToString(); if (money != CommonHelper.GetInt(dt_OrderInfo.Rows[0]["TomePrice"]))//判断支付金额是否一致 { Log.Info("支付金额错误:", "应付" + dt_OrderInfo.Rows[0]["TomePrice"] + ",实付" + money + "。"); StringBuilder sqldel = new StringBuilder(); sqldel.AppendFormat("UPDATE Reservation SET Remark = '{0}' WHERE OrderNum = '{1}'", "支付金额错误:" + "应付" + dt_OrderInfo.Rows[0]["TomePrice"] + ",实付" + money + "。", OrderNum); DataFactory.SqlDataBase().ExecuteBySql(sqldel); return; } //处理优惠券为已使用 if (dt_OrderInfo.Rows[0]["Coupon"] != null && dt_OrderInfo.Rows[0]["Coupon"].ToString() != "") { UpdateCoupon(dt_OrderInfo.Rows[0]["Coupon"].ToString()); } string name = dt_OrderInfo.Rows[0]["name"].ToString(); string phone = dt_OrderInfo.Rows[0]["Mobile"].ToString(); string memberId = dt_OrderInfo.Rows[0]["MemberId"].ToString(); string openid = dt_OrderInfo.Rows[0]["openid"].ToString(); //财务记录 int iss = CommonClass.InsertFinance(OrderNum, name, phone, money, 1, "酒店客房预订支付", memberId, transaction_id, adminHotelid, CommonHelper.GetInt(hotelId), "", openid); if (iss > 0) { #region 步至国光系统 if (DataFactory.CheckSqlIsOpen(adminHotelid, CommonHelper.GetInt(hotelId)))//订单数据库是否能连接 { string mem = string.Format(@"select lsh,kh,hylx,Carid from hy_hyzlxxb where lsh='{0}' and AdminHotelid='{1}'", memberId, adminHotelid); DataTable dsm = DataFactory.SqlDataBase(adminHotelid).GetDataTableBySQL(new StringBuilder(mem)); //会员信息 string hykh = ""; //会员卡号 if (dsm != null && dsm.Rows.Count > 0) { hykh = dsm.Rows[0]["kh"].ToString(); } string kfcode = dt_OrderInfo.Rows[0]["Quality"].ToString(); if (kfcode.Length > 4) { kfcode = kfcode.Substring(0, 4); } Hashtable ht = new Hashtable(); ht["ddrq"] = dt_OrderInfo.Rows[0]["BeginTime"]; ht["ldrq"] = dt_OrderInfo.Rows[0]["EndTime"]; ht["krname"] = dt_OrderInfo.Rows[0]["Name"]; ht["ydly"] = 2; ht["tbyq"] = dt_OrderInfo.Rows[0]["Environment"]; ht["kfcode"] = kfcode; ht["ordernum"] = dt_OrderInfo.Rows[0]["OrderNum"]; ht["dh"] = dt_OrderInfo.Rows[0]["Mobile"]; ht["pay"] = 1; ht["paytype"] = 4; ht["ydsl"] = CommonHelper.GetInt(dt_OrderInfo.Rows[0]["Number"]); ht["zfj"] = CommonHelper.GetInt(dt_OrderInfo.Rows[0]["TomePrice"]); ht["wxid"] = dt_OrderInfo.Rows[0]["openid"]; ht["dfbz"] = dt_OrderInfo.Rows[0]["OrderNum"] + "," + GetRule(dt_OrderInfo.Rows[0]["RuleId"].ToString()) + "," + dt_OrderInfo.Rows[0]["Environment"]; if (dt_OrderInfo.Rows[0]["Coupon"] != null && dt_OrderInfo.Rows[0]["Coupon"].ToString() != "") { ht["dfbz"] += ("," + "卡券" + dt_OrderInfo.Rows[0]["Zip"] + "元"); } ht["vipkh"] = hykh; ht["OUT_yddh"] = null; Hashtable rs = new Hashtable(); DataFactory.SqlDataBase(adminHotelid, hotelId).ExecuteByProcReturn("proc_wxydcl", ht, ref rs); string yddh = rs["OUT_yddh"].ToString(); Hashtable info = new Hashtable(); info["XX_SKYDDB"] = yddh; //国光订单编号 DataFactory.SqlDataBase().UpdateByHashtable("Reservation", "ordernum", OrderNum, info); //更新订单 } #endregion #region 发送消息 TemplateMessage.Sen(OrderNum, "4"); //推送模板消息给 预订人 CommonMethod.SendMessage_ZDY(OrderNum); //推送消息给智订云管理员及员工 TemplateMessage.NoticePush_RoomState(hotelId, dt_OrderInfo.Rows[0]["RoomId"].ToString()); if (DataFactory.CheckSqlIsOpen(adminHotelid, 0))//会员数据库是否能连接 { //会员升级 CommonMethod.UpdateUpgrade(a[1], openid, money, 0); #region 获得优惠券奖励 CommonMethod.GiveCoupon(adminHotelid, memberId, "单次消费赠送,累计消费赠送", CommonHelper.GetInt(dt_OrderInfo.Rows[0]["TomePrice"]), "", OrderNum); #endregion //消费红包 AddReward(openid, adminHotelid); } #endregion } } else { Log.Info("微信支付错误信息(wxzf)", "未找到订单!"); } } } catch (Exception e) { Log.Info("微信支付错误信息(wxzf)", e.Message); } }