/// <summary> /// 获取按时计费策略表 /// </summary> /// <param name="tempID"></param> /// <returns></returns> public JsonResult FindHourDetail(int tempID) { CWTariff cwtariff = new CWTariff(); HourChargeDetail policy = cwtariff.FindHourChgDetail(hr => hr.TempChgID == tempID); if (policy == null) { List <HourChargeDetail> hourList = cwtariff.FindHourChgDetailList(); if (hourList.Count > 0) { policy = hourList[0]; if (policy != null) { policy.TempChgID = tempID; cwtariff.UpdateHourChgDetail(policy); } } else { policy = new HourChargeDetail(); policy.TempChgID = tempID; policy.StrideDay = EnmStrideDay.Continue; policy.CycleTime = EnmCycleTime.Hour_24; policy.CycleTopFee = 0; cwtariff.AddHourChgDetail(policy); } } return(Json(policy, JsonRequestBehavior.AllowGet)); }
public ActionResult ModifyTempRuleOfHour() { Response resp = new Response(); CWTariff cwtarff = new CWTariff(); int mainID = 0; string mID = Request.Form["MID"]; if (!string.IsNullOrEmpty(mID)) { TempChargingRule rule = cwtarff.FindTempChgRule(Convert.ToInt32(mID)); if (rule != null) { string preID = Request.Form["PreID"]; string tType = Request.Form["TType"]; rule.TempChgType = (EnmTempChargeType)Convert.ToInt16(tType); rule.PreChgID = Convert.ToInt32(preID); cwtarff.UpdateTempChgRule(rule); mainID = rule.ID; } } string hourID = Request.Form["hourID"]; if (!string.IsNullOrEmpty(hourID)) { string strided = Request.Form["StrideDay"]; string cyclet = Request.Form["CycleTime"]; string topfee = Request.Form["StrideTopFee"]; if (hourID == "0") { //新增 HourChargeDetail hour = new HourChargeDetail { StrideDay = (EnmStrideDay)Convert.ToInt16(strided), CycleTime = (EnmCycleTime)Convert.ToInt16(cyclet), CycleTopFee = Convert.ToSingle(topfee), TempChgID = mainID }; resp = cwtarff.AddHourChgDetail(hour); } else { //修改 HourChargeDetail detail = cwtarff.FindHourChgDetail(Convert.ToInt32(hourID)); if (detail != null) { detail.StrideDay = (EnmStrideDay)Convert.ToInt16(strided); detail.CycleTime = (EnmCycleTime)Convert.ToInt16(cyclet); detail.CycleTopFee = Convert.ToSingle(topfee); resp = cwtarff.UpdateHourChgDetail(detail); } } } resp.Message = "修改数据成功"; return(Json(resp)); }
public ActionResult AddHourSectionRule() { Response resp = new Response(); CWTariff cwtarff = new CWTariff(); string hourchgID = Request.Form["HourChgID"]; if (string.IsNullOrEmpty(hourchgID)) { resp.Message = "周期性计费策略ID为空,传输错误!"; return(Json(resp)); } int hourID = Convert.ToInt32(hourchgID); HourChargeDetail temprule = cwtarff.FindHourChgDetail(hourID); if (temprule == null) { resp.Message = "传输错误,找不到相关的周期性计费,ID-" + hourchgID; return(Json(resp)); } //重点是时间段的判断 string start = Request.Form["StartTime"]; string end = Request.Form["EndTime"]; DateTime st_dtime = DateTime.Parse("2017-1-1 " + start + ":00"); DateTime end_dtime = DateTime.Parse("2017-1-1 " + end + ":00").AddSeconds(-1); if (DateTime.Compare(st_dtime, end_dtime) > 0) { end_dtime = end_dtime.AddDays(1); } List <HourSectionInfo> timeSlotLst = cwtarff.FindHourSectionList(hr => true); foreach (HourSectionInfo section in timeSlotLst) { DateTime sttime = section.StartTime; DateTime endtime = section.EndTime.AddSeconds(-1); #region if (DateTime.Compare(sttime, st_dtime) < 0 && DateTime.Compare(endtime, st_dtime) > 0) { resp.Message = "当前时段设置错误,原来-" + sttime.ToString() + ",现-" + st_dtime.ToString(); return(Json(resp)); } if (DateTime.Compare(sttime, end_dtime) < 0 && DateTime.Compare(endtime, end_dtime) > 0) { resp.Message = "当前时段设置错误,原来-" + sttime.ToString() + ",现-" + end_dtime.ToString(); return(Json(resp)); } if (DateTime.Compare(st_dtime, sttime) < 0 && DateTime.Compare(end_dtime, sttime) > 0) { resp.Message = "当前时段设置错误,现-" + st_dtime.ToString() + ",原来 - " + sttime.ToString(); return(Json(resp)); } if (DateTime.Compare(st_dtime, endtime) < 0 && DateTime.Compare(end_dtime, endtime) > 0) { resp.Message = "当前时段设置错误,现-" + st_dtime.ToString() + ",原来 - " + endtime.ToString(); return(Json(resp)); } #endregion if (DateTime.Compare(endtime, DateTime.Parse("2017-1-1 23:59:59")) > 0) { DateTime newstart = DateTime.Parse("2017-1-1"); DateTime newend = endtime.AddDays(-1); if (DateTime.Compare(newstart, st_dtime) < 0 && DateTime.Compare(newend, st_dtime) > 0) { resp.Message = "当前时段设置错误,现-" + st_dtime.ToString() + ",原来 New- " + newstart.ToString(); return(Json(resp)); } if (DateTime.Compare(newstart, end_dtime) < 0 && DateTime.Compare(newend, end_dtime) > 0) { resp.Message = "当前时段设置错误,现-" + end_dtime.ToString() + ",原来 New- " + newstart.ToString(); return(Json(resp)); } } } if (DateTime.Compare(end_dtime, DateTime.Parse("2017-1-1 23:59:59")) > 0) { DateTime newend = DateTime.Parse("2017-1-1 " + end + ":00").AddSeconds(-1); foreach (HourSectionInfo section in timeSlotLst) { DateTime sttime = section.StartTime; DateTime endtime = section.EndTime.AddSeconds(-1); if (DateTime.Compare(sttime, newend) < 0 && DateTime.Compare(endtime, newend) > 0) { resp.Message = "当前时段设置错误,原来-" + sttime.ToString() + ",现-" + newend.ToString(); return(Json(resp)); } } } string topfee = Request.Form["SectionTopFee"]; string freetime = Request.Form["SectionFreeTime"]; string firstvoid = Request.Form["FirstVoidTime"]; string firstfee = Request.Form["FirstVoidFee"]; string intervalvoid = Request.Form["IntervalVoidTime"]; string intervalfee = Request.Form["IntervalVoidFee"]; HourSectionInfo hoursection = new HourSectionInfo() { HourChgID = hourID, StartTime = st_dtime, EndTime = end_dtime.AddSeconds(1), SectionTopFee = Convert.ToSingle(topfee), SectionFreeTime = freetime, FirstVoidTime = firstvoid, FirstVoidFee = Convert.ToSingle(firstfee), IntervalVoidTime = intervalvoid, IntervalVoidFee = Convert.ToSingle(intervalfee) }; resp = cwtarff.AddHourSection(hoursection); return(Json(resp)); }