/// <summary> /// 获取限制比例 /// </summary> /// <param name="type"></param> /// <param name="id"></param> /// <returns></returns> private decimal LimitValuePercent(string type, string id) { string conpanyID = id; if ("P" == type) { conpanyID = SqlModel.Select(T_BASE_COMPANY_PK.COMPANYID).From(DB.T_BASE_COMPANY_PK).Where(T_BASE_COMPANY_PK.ID == id).ExecuteScalar().ToString(); } ThePeakInfo info = new ThePeakInfo(); T_THEPEAK_ENT_SUB_LISTModel company = info.GetThePeakEnterprise().Find(item => StringHelper.DynamicToString(item.COMPANY_ID) == conpanyID); if (null == company) { return(100); } decimal limitValue = 100; switch (StringHelper.DynamicToString(company.ENT_PEAK_TYPE)) { case "1": limitValue = 0; break; case "2": limitValue = company.LIMIT_RATIO.Value; break; case "3": limitValue = company.LIMIT_RATIO.Value; break; } return(limitValue); }
public ActionResult CloseWinDelConfigEnt(RequestData data) { //string levelId = data.Get("LevelId"); string entGuid = data.Get("entGuid"); PostResult result = new PostResult(); result.Success = false; T_THEPEAK_ENT_SUB_LISTModel modelEnt = new T_THEPEAK_ENT_SUB_LISTModel(); modelEnt.Delete(T_THEPEAK_ENT_SUB_LIST.THEPEAKID.IsNull() & T_THEPEAK_ENT_SUB_LIST.GUID == entGuid); result.Success = true; return(Json(result)); }
public ActionResult CheckUpdateLevel(RequestData data) { string levelId = data.Get("LevelId"); string entid = data.Get("entId"); PostResult result = new PostResult(); result.Success = false; T_THEPEAK_ENT_SUB_LISTModel modelEnt = new T_THEPEAK_ENT_SUB_LISTModel(); //modelEnt.LEVEL_ID =decimal.Parse( levelId); modelEnt.CONTROL_MEAS = decimal.Parse(levelId); modelEnt.Update(T_THEPEAK_ENT_SUB_LIST.ID == decimal.Parse(entid)); result.Success = true; return(Json(result)); }
public ActionResult GetCompanyNum(RequestData data) { string entGuid = data.Get("entGuid"); PostResult result = new PostResult(); result.Success = false; T_THEPEAK_ENT_SUB_LISTModel modelEnt = new T_THEPEAK_ENT_SUB_LISTModel(); int numberStop = SqlModel.Select(T_THEPEAK_ENT_SUB_LIST.ID).From(DB.T_THEPEAK_ENT_SUB_LIST) .Where(T_THEPEAK_ENT_SUB_LIST.ENT_PEAK_TYPE == 1 & T_THEPEAK_ENT_SUB_LIST.GUID == entGuid & T_THEPEAK_ENT_SUB_LIST.IS_SELECT == 1).ExecToDynamicList().Count; int numberLimit = SqlModel.Select(T_THEPEAK_ENT_SUB_LIST.ID).From(DB.T_THEPEAK_ENT_SUB_LIST) .Where(T_THEPEAK_ENT_SUB_LIST.ENT_PEAK_TYPE == 2 & T_THEPEAK_ENT_SUB_LIST.GUID == entGuid & T_THEPEAK_ENT_SUB_LIST.IS_SELECT == 1).ExecToDynamicList().Count; int numberTime = SqlModel.Select(T_THEPEAK_ENT_SUB_LIST.ID).From(DB.T_THEPEAK_ENT_SUB_LIST) .Where(T_THEPEAK_ENT_SUB_LIST.ENT_PEAK_TYPE == 3 & T_THEPEAK_ENT_SUB_LIST.GUID == entGuid & T_THEPEAK_ENT_SUB_LIST.IS_SELECT == 1).ExecToDynamicList().Count; result.Success = true; result.Data = "[{\"StopNum\":\"" + numberStop + "\",\"LimitNum\":\"" + numberLimit + "\",\"TimeNum\":\"" + numberTime + "\"}]"; return(Json(result)); }
public ActionResult DeleteConfigEnt(RequestData data) { string levelId = data.Get("LevelId"); string entGuid = data.Get("entGuid"); PostResult result = new PostResult(); if (!string.IsNullOrEmpty(entGuid)) { T_THEPEAK_ENT_SUB_LISTModel modelEnt = new T_THEPEAK_ENT_SUB_LISTModel(); modelEnt.Delete(T_THEPEAK_ENT_SUB_LIST.THEPEAKID.IsNull() & T_THEPEAK_ENT_SUB_LIST.GUID != entGuid); // result.Data = entGuid; result.Success = true; } else { result.Success = false; } return(Json(result)); }
public ActionResult SaveThePeak(RequestData data) { PostResult result = new PostResult(); List <dynamic> getXunChalis = null; string entGuid = data.Get("entGuid"); try { T_THEPEAK_MAIN_LIST_INFOModel model = new T_THEPEAK_MAIN_LIST_INFOModel(); model = this.GetModelValue <T_THEPEAK_MAIN_LIST_INFOModel>(model, data); model.PEAK_TYPE = "zfyj"; model.RESPONSE_AREA = model.LIMIT_AREA; //model.LIMITED_NUM = model.LIMITED_NUM ; model.ALL_NUM = model.LIMITED_NUM + model.STOP_NUM + model.THEPEAK_NUM; //主表 int peakId = model.GetIDByInsert(); FileUploadHandle.FileMessageSave(data, peakId.ToString()); //更新主表 T_THEPEAK_ENT_SUB_LISTModel entSub = new T_THEPEAK_ENT_SUB_LISTModel(); entSub.THEPEAKID = peakId; entSub.Update(T_THEPEAK_ENT_SUB_LIST.GUID == entGuid); //获取需要巡查的企业 getXunChalis = GetXunCha(peakId); result.Data = getXunChalis; result.Message = peakId.ToString(); result.Success = true; //UpdateAttach(Json,getID) //添加主表日志 base.AddLog(null, LogType.InsertOperate, "【任务下发成功】 " + ModelToString(model.ID)); } catch (Exception ex) { base.AddLog(null, LogType.InsertOperate, "【下发错峰任务失败】 " + ex.Message + ex.StackTrace); Lang.add_failure = "下发错峰任务失败"; result.Success = false; } //return result; return(Json(result)); }
public ActionResult CheckConfigEnt(RequestData data) { string levelId = data.Get("LevelId"); string entid = data.Get("entId"); bool isCheck = bool.Parse(data.Get("isCheck")); string peakId = data.Get("peakId"); string controlId = data.Get("controlId"); string entType = data.Get("entType"); string entGuid = data.Get("entGuid"); string companyId = data.Get("companyId"); PostResult result = new PostResult(); result.Success = false; T_THEPEAK_ENT_SUB_LISTModel modelEnt = new T_THEPEAK_ENT_SUB_LISTModel(); modelEnt.LEVEL_ID = decimal.Parse(levelId); //modelEnt.GUID modelEnt.CONTROL_MEAS = string.IsNullOrEmpty(controlId)? modelEnt.LEVEL_ID :decimal.Parse(controlId); if (!string.IsNullOrEmpty(peakId)) { modelEnt.THEPEAKID = decimal.Parse(peakId); } modelEnt.ENT_PEAK_TYPE = decimal.Parse(entType); modelEnt.GUID = entGuid; modelEnt.COMPANY_ID = decimal.Parse(companyId); if (isCheck) { modelEnt.IS_SELECT = 1; } // modelEnt.Insert(); else { modelEnt.IS_SELECT = 0; } modelEnt.Update(T_THEPEAK_ENT_SUB_LIST.ID == decimal.Parse(entid)); result.Success = true; return(Json(result)); }
protected override bool DoEdit(RequestData data) { bool reulst = true; string entGuid = data.Get("entGuid"); try { T_THEPEAK_MAIN_LIST_INFOModel model = new T_THEPEAK_MAIN_LIST_INFOModel(); model = this.GetModelValue <T_THEPEAK_MAIN_LIST_INFOModel>(model, data); reulst = model.Update(T_THEPEAK_MAIN_LIST_INFO.ID == data.Get("id")); //更新主表 T_THEPEAK_ENT_SUB_LISTModel entSub = new T_THEPEAK_ENT_SUB_LISTModel(); entSub.THEPEAKID = decimal.Parse(data.Get("id")); entSub.Update(T_THEPEAK_ENT_SUB_LIST.GUID == entGuid); } catch (Exception ex) { base.AddLog(null, LogType.InsertOperate, "【编辑错峰任务失败】 " + ex.Message + ex.StackTrace); Lang.add_failure = "编辑错峰任务失败"; reulst = false; } return(reulst); }
/// <summary> /// 根据时间获取处于错峰的企业 /// </summary> /// <param name="time"></param> /// <returns></returns> public List <T_THEPEAK_ENT_SUB_LISTModel> GetThePeakEnterprise(DateTime time) { Dictionary <string, List <DateTime> > peakTime = new Dictionary <string, List <DateTime> >(); SqlModel sql = SqlModel.SelectAll() .From(DB.T_THEPEAK_ENT_SUB_LIST) .LeftJoin(DB.T_THEPEAK_MAIN_LIST_INFO).On(T_THEPEAK_MAIN_LIST_INFO.ID == T_THEPEAK_ENT_SUB_LIST.THEPEAKID) .Where( T_THEPEAK_MAIN_LIST_INFO.START_TIME <= time & T_THEPEAK_MAIN_LIST_INFO.END_TIME >= time & T_THEPEAK_MAIN_LIST_INFO.PLAN_TYPE == "0" & T_THEPEAK_MAIN_LIST_INFO.IS_CLOSE == '0' ); var peakEnterpriseList = SerializerHelper.Deserialize <List <T_THEPEAK_ENT_SUB_LISTModel> >(SerializerHelper.Serialize(sql.ExecToDynamicList())); #region 根据企业的管制类型,再次判断是否处于错峰时间,将非该时间错峰的企业移除 for (int i = 0; peakEnterpriseList != null && i < peakEnterpriseList.Count; i++) { T_THEPEAK_ENT_SUB_LISTModel enterprise = peakEnterpriseList[i]; //停产和限产 if (3 != enterprise.ENT_PEAK_TYPE) { peakTime.Add(enterprise.ID.ToString(), new List <DateTime>() { DateTime.Now.Date, DateTime.Now.Date.AddDays(1).AddSeconds(-1) }); continue; } //时间段限产的 //00:00 ~ 00:00 if (enterprise.LIMIT_TIME_START == enterprise.LIMIT_TIME_END) { peakTime.Add(enterprise.ID.ToString(), new List <DateTime>() { DateTime.Now.Date, DateTime.Now.Date.AddDays(1).AddSeconds(-1) }); continue; } double hour = double.Parse(enterprise.LIMIT_TIME_START.Split(new char[1] { ':' })[0]); double minutes = double.Parse(enterprise.LIMIT_TIME_START.Split(new char[1] { ':' })[1]); DateTime limitTimeStart = DateTime.Now.Date.AddHours(hour).AddMinutes(minutes); hour = double.Parse(enterprise.LIMIT_TIME_END.Split(new char[1] { ':' })[0]); minutes = double.Parse(enterprise.LIMIT_TIME_END.Split(new char[1] { ':' })[1]); DateTime limitTimeEnd = DateTime.Now.Date.AddHours(hour).AddMinutes(minutes); //00:00 ~ 10:00 if (limitTimeEnd > limitTimeStart && limitTimeEnd > time && limitTimeStart <= time) { peakTime.Add(enterprise.ID.ToString(), new List <DateTime>() { limitTimeStart, limitTimeEnd }); continue; } //10:00 ~ 08:00 的时间段 10:00~24:00 10:00 ~ 08:00 的时间段 00:00~08:00 if (limitTimeEnd < limitTimeStart && (limitTimeStart <= time || limitTimeEnd > time)) { peakTime.Add(enterprise.ID.ToString(), new List <DateTime>() { limitTimeStart, DateTime.Now.Date.AddDays(1).AddSeconds(-1), DateTime.Now.Date, limitTimeEnd }); continue; } //将非该时间错峰的企业移除 peakEnterpriseList.Remove(enterprise); i--; } #endregion return(peakEnterpriseList); }
public ActionResult UpdateCompanyForIndustryType(RequestData data) { string levelId = data.Get("LevelId"); string IndustryType = data.Get("IndustryType"); bool isCheck = bool.Parse(data.Get("isCheck")); string entGuid = data.Get("entGuid"); string peakId = data.Get("peakId"); if (!string.IsNullOrEmpty(IndustryType)) { string[] arrayType = IndustryType.Split(','); for (int i = 0; i < arrayType.Length; i++) { arrayType[i] = "'" + arrayType[i] + "'"; } IndustryType = string.Join(",", arrayType); } // string actionType = data.Get("ActionType"); /*思路: 根据等级和行业类型获取相关企业 * 获取企业关联表ent * 遍历企业表 * 如果check为false就删除 * 查找关联表如果表中不存在相关企业进行插入 */ T_THEPEAK_ENT_SUB_LISTModel modelEnt = new T_THEPEAK_ENT_SUB_LISTModel(); modelEnt.GUID = entGuid; FieldModel where = null; where &= T_THEPEAK_LEVEL_CONFIG.PEAK_LEVE_ID == levelId; if (!string.IsNullOrEmpty(IndustryType)) { where &= T_BASE_COMPANY.BASTYPE.In(IndustryType); } var dynmaicSql = SqlModel.SelectAll( T_SYS_AREA.AREA_TEXT.As("AREA_TEXT") , T_SYS_AREA.AREA_CODE // , T_BASE_COMPANY.ID.As("T_COMPANY_ID") , T_THEPEAK_LEVEL_LIST_INFO.ID.As("LEVEL_ID") , T_THEPEAK_LEVEL_CONFIG.IS_STOP , T_THEPEAK_LEVEL_CONFIG.LIMIT_TYPE , T_THEPEAK_LEVEL_CONFIG.PEAK_LEVE_ID ) .From(DB.T_BASE_COMPANY) .LeftJoin(DB.T_SYS_AREA).On(T_BASE_COMPANY.AREA == T_SYS_AREA.AREA_CODE) .LeftJoin(DB.T_THEPEAK_LEVEL_CONFIG).On(T_THEPEAK_LEVEL_CONFIG.COMPANY_ID == T_BASE_COMPANY.ID) .LeftJoin(DB.T_THEPEAK_LEVEL_LIST_INFO).On(T_THEPEAK_LEVEL_LIST_INFO.ID == T_THEPEAK_LEVEL_CONFIG.PEAK_LEVE_ID) // .LeftJoin(DB.T_THEPEAK_ENT_SUB_LIST).On(T_THEPEAK_ENT_SUB_LIST.COMPANY_ID == T_BASE_COMPANY.ID & T_THEPEAK_LEVEL_LIST_INFO.ID == T_THEPEAK_ENT_SUB_LIST.LEVEL_ID) .Where(where).ExecToDynamicList(); var configEnt = SqlModel.SelectAll().From(DB.T_THEPEAK_ENT_SUB_LIST).Where(T_THEPEAK_ENT_SUB_LIST.LEVEL_ID == decimal.Parse(levelId) & T_THEPEAK_ENT_SUB_LIST.GUID == entGuid).ExecToDynamicList(); if (!isCheck) { modelEnt.IS_SELECT = 0; //删除 dynmaicSql.ForEach( m => { modelEnt.Update(T_THEPEAK_ENT_SUB_LIST.COMPANY_ID == m["ID"] & T_THEPEAK_ENT_SUB_LIST.LEVEL_ID == m["LEVEL_ID"] & T_THEPEAK_ENT_SUB_LIST.GUID == entGuid); }); //&modelEnt.GUID== entGuid } else { //往企业关系表插入值 dynmaicSql.ForEach( m => { modelEnt.IS_SELECT = 1; modelEnt.Update(T_THEPEAK_ENT_SUB_LIST.COMPANY_ID == m["ID"] & T_THEPEAK_ENT_SUB_LIST.LEVEL_ID == m["LEVEL_ID"] & T_THEPEAK_ENT_SUB_LIST.GUID == entGuid); }); } return(Json(dynmaicSql)); }
public ActionResult InsertConfigEnt(RequestData data) { string levelId = data.Get("LevelId"); string peakId = data.Get("peakId"); string getGuid = Guid.NewGuid().ToString(); PostResult result = new PostResult(); try { if (!string.IsNullOrEmpty(peakId)) { var getEnt = SqlModel.Select(T_THEPEAK_ENT_SUB_LIST.GUID) .From(DB.T_THEPEAK_ENT_SUB_LIST) .Where(T_THEPEAK_ENT_SUB_LIST.THEPEAKID == int.Parse(peakId)).ExecToDynamicList(); if (getEnt.Count > 0) { getGuid = getEnt[0]["GUID"]; } } else { if (!string.IsNullOrEmpty(levelId)) { //获取配置中的各项类型 var getConfigEnt = SqlModel.SelectAll( T_THEPEAK_LEVEL_CONFIG.ID.As("ConfigId"), T_THEPEAK_LEVEL_LIST_INFO.ID.As("LeveId") ) .From(DB.T_THEPEAK_LEVEL_CONFIG) .LeftJoin(DB.T_THEPEAK_LEVEL_LIST_INFO).On(T_THEPEAK_LEVEL_LIST_INFO.ID == T_THEPEAK_LEVEL_CONFIG.PEAK_LEVE_ID) .Where(T_THEPEAK_LEVEL_CONFIG.PEAK_LEVE_ID == levelId).ExecToDynamicList(); T_THEPEAK_ENT_SUB_LISTModel modelEnt = new T_THEPEAK_ENT_SUB_LISTModel(); // modelEnt.Delete(T_THEPEAK_ENT_SUB_LIST.THEPEAKID.IsNull() & T_THEPEAK_ENT_SUB_LIST.GUID != getGuid); //往企业关系表插入值 getConfigEnt.ForEach( m => { modelEnt = SerializerHelper.Deserialize <T_THEPEAK_ENT_SUB_LISTModel>(SerializerHelper.Serialize(m), new List <string>() { "ID" }); if (StringHelper.DynamicToString(m["IS_STOP"]) == "1") { modelEnt.ENT_PEAK_TYPE = 1; } else if (StringHelper.DynamicToString(m["LIMIT_TYPE"]) == "TheLimit") { modelEnt.ENT_PEAK_TYPE = 2; } else if (StringHelper.DynamicToString(m["LIMIT_TYPE"]) == "limitTime") { modelEnt.ENT_PEAK_TYPE = 3; } modelEnt.COMPANY_ID = m["COMPANY_ID"]; modelEnt.LEVEL_ID = m["PEAK_LEVE_ID"]; modelEnt.CONTROL_MEAS = m["PEAK_LEVE_ID"]; modelEnt.GUID = getGuid; modelEnt.IS_SELECT = 1; // modelEnt.ID = null; modelEnt.Insert(); }); // result.Data = modelEnt.GUID; // result.Success = true; } else { result.Success = false; } } } catch (Exception ex) { } result.Data = getGuid; result.Success = true; return(Json(result)); }