Exemple #1
0
        /// <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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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));
        }
Exemple #7
0
        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));
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        /// <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);
        }
Exemple #10
0
        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));
        }
Exemple #11
0
        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));
        }