Beispiel #1
0
 /// <summary>
 /// 获取企业(或排口)的名字和编号
 /// </summary>
 /// <param name="type"></param>
 /// <param name="id"></param>
 /// <returns></returns>
 public static dynamic GetCompanyOrPK(string type, string id)
 {
     if ("P" == type)
     {
         SqlModel sqlmodel = SqlModel.Select(T_BASE_COMPANY_PK.CODE, T_BASE_COMPANY_PK.NAME).From(DB.T_BASE_COMPANY_PK).Where(T_BASE_COMPANY_PK.ID == id);
         var      list     = sqlmodel.ExecToDynamicList();
         if (list.Count > 0)
         {
             return(new {
                 Code = StringHelper.DynamicToString(list[0]["CODE"]),
                 Name = StringHelper.DynamicToString(list[0]["NAME"]),
             });
         }
     }
     else
     {
         SqlModel sqlmodel = SqlModel.Select(T_BASE_COMPANY.ID, T_BASE_COMPANY.NAME).From(DB.T_BASE_COMPANY).Where(T_BASE_COMPANY.ID == id);
         var      list     = sqlmodel.ExecToDynamicList();
         if (list.Count > 0)
         {
             return(new
             {
                 Code = StringHelper.DynamicToString(list[0]["ID"]),
                 Name = StringHelper.DynamicToString(list[0]["NAME"]),
             });
         }
     }
     return(new
     {
         Code = "",
         Name = ""
     });
 }
Beispiel #2
0
        /// <summary>
        /// 污染物超标
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        private DataTable GetExcessivePollutSource(RequestData data, DataTable dataTable)
        {
            FieldModel where = null;
            if (data.Get("CompanyID") != "-1")
            {
                where &= T_MID_ALERT.COMPANYID == data.Get("CompanyID");
            }
            else
            {
                where &= T_MID_ALERT.PKID == data.Get("PKID");
            }
            where &= T_MID_ALERT.TYPE == 0;
            SqlModel model = SqlModel.SelectAll("A".Field("TITLE").As("CODE_TEXT"), "B".Field("TITLE").As("CODE_TEXT2"), "C".Field("NAME").As("PK_NAME")).From(DB.T_MID_ALERT)
                             .LeftJoin(DB.BASDIC.As("A")).On(T_MID_ALERT.ITEMCODE == "A".Field("CODE"))
                             .LeftJoin(DB.BASDIC.As("B")).On(T_MID_ALERT.SUBITEMCODE == "B".Field("CODE"))
                             .LeftJoin(DB.T_BASE_COMPANY_PK.As("C")).On(T_MID_ALERT.PKID == "C".Field("ID"))
                             .Where(where);
            List <dynamic> query = model.ExecToDynamicList();
            // List<T_MID_ALERTModel> lis = SerializerHelper.Deserialize<List<T_MID_ALERTModel>>(SerializerHelper.Serialize(query));
            DataRow dr = null;

            query.ForEach(d =>
            {
                dr               = dataTable.NewRow();
                dr["PK_NAME"]    = d["PK_NAME"];
                dr["STAIN_TEXT"] = d["CODE_TEXT"] + "(" + d["CODE_TEXT2"] + ")";
                dr["VALUE"]      = d["VALUE"] == System.DBNull.Value ? 0: d["VALUE"];
                dr["LIMIT"]      = d["LIMIT"];
                dr["STATE"]      = d["STATE"] == 0 ? "未处理" : "处理";
                dr["STARTTIME"]  = d["STARTTIME"];
                dr["ENDTIME"]    = d["ENDTIME"];
                dataTable.Rows.Add(dr);
            });
            return(dataTable);
        }
Beispiel #3
0
        /// <summary>
        /// 获取区域的企业
        /// </summary>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        private static List <dynamic> GetCompanyInfo(string areaCode)
        {
            SqlModel sql = SqlModel.SelectAll()
                           .From(DB.T_BASE_COMPANY)
                           .Where(T_BASE_COMPANY.AREA.In(StringHelper.SqlInCondition(areaCode)));

            return(sql.ExecToDynamicList());
        }
Beispiel #4
0
        /// <summary>
        /// 获取区域信息
        /// </summary>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        private static List <dynamic> GetAreaInfo(string areaCode)
        {
            SqlModel sql = SqlModel.Select(
                T_SYS_AREA.AREA_CODE
                , T_SYS_AREA.AREA_TEXT
                )
                           .From(DB.T_SYS_AREA).Where(T_SYS_AREA.AREA_CODE.In(StringHelper.SqlInCondition(areaCode)));

            return(sql.ExecToDynamicList());
        }
Beispiel #5
0
        /// <summary>
        /// 获取行业信息
        /// </summary>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        private static List <dynamic> GetAreaInfo(string industryCode)
        {
            SqlModel sql = SqlModel.Select(
                BASDIC.CODE
                , BASDIC.TITLE
                )
                           .From(DB.BASDIC).Where(BASDIC.CODE.In(StringHelper.SqlInCondition(industryCode)));

            return(sql.ExecToDynamicList());
        }
Beispiel #6
0
        /// <summary>
        /// 获取需要巡查的企业
        /// </summary>
        /// <returns></returns>
        private dynamic  GetXunCha(int peakId)
        {
            FieldModel where = null;
            where           &= T_THEPEAK_ENT_SUB_LIST.THEPEAKID == peakId;
            where           &= T_THEPEAK_ENT_SUB_LIST.IS_PATROL == 1;
            SqlModel sql = SqlModel.SelectAll(
                T_SYS_AREA.AREA_TEXT.As("AREA_TEXT")
                , "d1".Field("TITLE").As("INDUSTRY_TYPE_TEXT")
                // , "d2".Field("TITLE").As("POLLUTION_TYPE_TEXT")
                // , "d3".Field(T_BAS_AIR_MONITOR.MONITOR_ITEM_NAME).As("POLLUTION_ITEM_TEXT")
                //  , "d4".Field("TITLE").As("COMPANY_STATE_TEXT")
                , T_THEPEAK_ENT_SUB_LIST.ID.As("ENTSUBID")
                , T_THEPEAK_LEVEL_LIST_INFO.ID.As("LEVEL_ID")
                , T_THEPEAK_ENT_SUB_LIST.ENT_PEAK_TYPE
                , T_THEPEAK_ENT_SUB_LIST.THEPEAKID
                , T_THEPEAK_ENT_SUB_LIST.IS_SELECT
                , T_THEPEAK_MAIN_LIST_INFO.PEAK_THEME
                , T_THEPEAK_MAIN_LIST_INFO.START_TIME
                , T_THEPEAK_MAIN_LIST_INFO.END_TIME
                , T_THEPEAK_MAIN_LIST_INFO.PEAK_DESC
                , T_BASE_COMPANY.AREA
                , T_BASE_COMPANY.ID.As("COMPANY_ID")
                , "d6".Field("TITLE").As("PEAK_LEVEL_TEXT")
                //, "d7".Field(BASUSER.TRUENAME).As("TOWN_SUPERVISOR_TEXT")
                // , "d8".Field(BASUSER.TRUENAME).As("INDUSTRY_SUPERVISOR_TEXT")
                , "d9".Field(BASUSER.TRUENAME).As("SUPERVISOR_TEXT")

                )
                           .From(DB.T_BASE_COMPANY)
                           .LeftJoin(DB.T_SYS_AREA).On(T_BASE_COMPANY.AREA == T_SYS_AREA.AREA_CODE)
                           .LeftJoin(DB.BASDIC.As("d1")).On(T_BASE_COMPANY.BASTYPE == "d1".Field("CODE") & "d1".Field("TYPECODE") == ConstStrings.IndustryType)
                           // .LeftJoin(DB.BASDIC.As("d2")).On(T_BASE_COMPANY.typ.POLLUTION_TYPE == "d2".Field("CODE") & "d2".Field("TYPECODE") == ConstStrings.PollutionType)
                           //.LeftJoin(DB.T_BAS_AIR_MONITOR.As("d3")).On(T_BASE_COMPANY.POLLUTION_ITEM == "d3".Field(T_BAS_AIR_MONITOR.MONITOR_ITEM_CODE))
                           //.LeftJoin(DB.BASDIC.As("d4")).On(T_BASE_COMPANY.COMPANY_STATE == "d4".Field("CODE") & "d4".Field("TYPECODE") == ConstStrings.Company_State)
                           //.LeftJoin(DB.BASDIC.As("d5")).On(T_BASE_COMPANY.FUEL_TYPE == "d5".Field("CODE") & "d5".Field("TYPECODE") == ConstStrings.FuelType)
                           .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)//& T_THEPEAK_ENT_SUB_LIST.GUID == entGuid
                           .LeftJoin(DB.T_THEPEAK_MAIN_LIST_INFO).On(T_THEPEAK_MAIN_LIST_INFO.ID == T_THEPEAK_ENT_SUB_LIST.THEPEAKID)
                           .LeftJoin(DB.BASDIC.As("d6")).On(T_THEPEAK_LEVEL_LIST_INFO.PEAK_LEVEL == "d6".Field("CODE") & "d6".Field("TYPECODE") == ConstStrings.LevelType & T_THEPEAK_LEVEL_LIST_INFO.ID == T_THEPEAK_ENT_SUB_LIST.LEVEL_ID)
                           // .LeftJoin(DB.BASUSER.As("d7")).On(T_BASE_COMPANY.SUPERVISOR == "d7".Field(BASUSER.USERNAME))
                           // .LeftJoin(DB.BASUSER.As("d8")).On(T_BASE_COMPANY.INDUSTRY_SUPERVISOR == "d8".Field(BASUSER.USERNAME))
                           .LeftJoin(DB.BASUSER.As("d9")).On(T_BASE_COMPANY.SUPERVISOR == "d9".Field(BASUSER.USERNAME))
                           .Where(where);

            return(sql.ExecToDynamicList());
        }
Beispiel #7
0
        /// <summary>
        /// 数采仪掉线
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        private DataTable GetMNDownLineSource(RequestData data, DataTable dataTable)
        {
            FieldModel where = null;
            if (data.Get("CompanyID") != "-1")
            {
                where &= T_MID_ALERT.COMPANYID == data.Get("CompanyID");
            }
            else
            {
                where &= T_MID_ALERT.PKID == data.Get("PKID");
            }
            where &= T_MID_ALERT.TYPE == 3;
            SqlModel model = SqlModel.SelectAll("A".Field("TITLE").As("CODE_TEXT"),
                                                "B".Field("TITLE").As("CODE_TEXT2"),
                                                "C".Field("NAME").As("PK_NAME"),
                                                "D".Field("MN").As("TX_NAME")).From(DB.T_MID_ALERT)
                             .LeftJoin(DB.BASDIC.As("A")).On(T_MID_ALERT.ITEMCODE == "A".Field("CODE"))
                             .LeftJoin(DB.BASDIC.As("B")).On(T_MID_ALERT.SUBITEMCODE == "B".Field("CODE"))
                             .LeftJoin(DB.T_BASE_COMPANY_PK.As("C")).On(T_MID_ALERT.PKID == "C".Field("ID") | T_MID_ALERT.COMPANYID == "C".Field("COMPANYID"))
                             .LeftJoin(DB.T_BASE_COMPANY_PK_TX.As("D")).On(T_MID_ALERT.PKID == "D".Field("PKID") | T_MID_ALERT.COMPANYID == "D".Field("COMPANYID"))
                             .Where(where);
            List <dynamic> query = model.ExecToDynamicList();
            //.LeftJoin(DB..As("C")).On(T_MID_ALERT.TXID == "C".Field("ID"))


            // List<T_MID_ALERTModel> lis = SerializerHelper.Deserialize<List<T_MID_ALERTModel>>(SerializerHelper.Serialize(query));
            DataRow dr = null;

            query.ForEach(d =>
            {
                dr               = dataTable.NewRow();
                dr["PK_NAME"]    = d["PK_NAME"];
                dr["STAIN_TEXT"] = d["TX_NAME"];
                dr["STATE"]      = d["STATE"] == 0 ? "未处理" : "处理";
                dr["STARTTIME"]  = d["STARTTIME"];
                dr["ENDTIME"]    = d["ENDTIME"];
                dr["LENTIME"]    = new  TimeSpan(Convert.ToDateTime(d["STARTTIME"]) - Convert.ToDateTime(d["ENDTIME"])).TotalMinutes;

                dataTable.Rows.Add(dr);
            });
            return(dataTable);
        }
Beispiel #8
0
        /// <summary>
        /// 获取企业
        /// </summary>
        /// <returns></returns>
        private List <dynamic> GetCompanyList(RequestData data)
        {
            DataTable dataTable = new DataTable();

            FieldModel where = null;
            if (!string.IsNullOrEmpty(data.Get("CompanyID")) && data.Get("CompanyID") != "-1")
            {
                where &= T_BASE_COMPANY_PK.COMPANYID == data.Get("CompanyID");
            }
            else if (!string.IsNullOrEmpty(data.Get("CompanyID")) && data.Get("PKID") != "-1")
            {
                where &= T_BASE_COMPANY_PK.ID == data.Get("PKID");
            }
            SqlModel model = SqlModel.SelectAll(T_BASE_COMPANY.ISONLINE, T_BASE_COMPANY_PK.NAME.As("PK_NAME"), T_BASE_COMPANY.NAME.As("COMPANY_NAME")).From(DB.T_BASE_COMPANY_PK)
                             .LeftJoin(DB.T_BASE_COMPANY_PK_TX).On(T_BASE_COMPANY_PK.ID == T_BASE_COMPANY_PK_TX.PKID)
                             .LeftJoin(DB.T_BASE_COMPANY).On(T_BASE_COMPANY.ID == T_BASE_COMPANY_PK.COMPANYID)
                             .Where(where);

            return(model.ExecToDynamicList());
        }
Beispiel #9
0
        public ActionResult GetCompanyConfig(RequestData data)
        {
            string levelID = data.Get("PEAK_LEVE_ID");

            //levelID = "2";
            if (string.IsNullOrEmpty(levelID))
            {
                return(this.ErrorResult("没有上传等级ID"));
            }
            List <dynamic> companyList = new List <dynamic>();
            List <dynamic> dischList   = new List <dynamic>();
            List <dynamic> energyList  = new List <dynamic>();
            SqlModel       companySql  = SqlModel.SelectAll().From(DB.T_THEPEAK_LEVEL_CONFIG).Where(T_THEPEAK_LEVEL_CONFIG.PEAK_LEVE_ID == levelID);

            //SqlModel dischSql = SqlModel.SelectAll().From(DB.T_THEPEAK_LEVEL_CONFIG_DISCH).Where(T_THEPEAK_LEVEL_CONFIG_DISCH.PEAK_LEVE_ID == levelID);
            //SqlModel energySql = SqlModel.SelectAll().From(DB.T_THEPEAK_LEVEL_CONFIG_ENERGY).Where(T_THEPEAK_LEVEL_CONFIG_ENERGY.PEAK_LEVE_ID == levelID);
            companySql.ExecToDynamicList().ForEach(item => {
                if ("1" == StringHelper.DynamicToString(item["IS_STOP"]))
                {
                    var company = new
                    {
                        ID           = StringHelper.DynamicToString(item["ID"]),
                        PEAK_LEVE_ID = StringHelper.DynamicToString(item["PEAK_LEVE_ID"]),
                        COMPANY_ID   = StringHelper.DynamicToString(item["COMPANY_ID"]),
                        IS_STOP      = StringHelper.DynamicToString(item["IS_STOP"]),
                    };
                    companyList.Add(company);
                }
                else if ("1" == StringHelper.DynamicToString(item["LIMIT_CONFIG"]))
                {
                    var company = new
                    {
                        ID               = StringHelper.DynamicToString(item["ID"]),
                        PEAK_LEVE_ID     = StringHelper.DynamicToString(item["PEAK_LEVE_ID"]),
                        COMPANY_ID       = StringHelper.DynamicToString(item["COMPANY_ID"]),
                        LIMIT_TIME_START = StringHelper.DynamicToString(item["LIMIT_TIME_START"]),
                        LIMIT_TIME_END   = StringHelper.DynamicToString(item["LIMIT_TIME_END"]),
                        LIMIT_TYPE       = StringHelper.DynamicToString(item["LIMIT_TYPE"]),
                        LIMIT_RATIO      = StringHelper.DynamicToString(item["LIMIT_RATIO"]),//排污上限
                        LIMIT_CONFIG     = StringHelper.DynamicToString(item["LIMIT_CONFIG"]),
                        LIMIT_START      = StringHelper.DynamicToString(item["LIMIT_START"]),
                    };
                    companyList.Add(company);
                }

                /*
                 * var company = new
                 * {
                 *  ID = StringHelper.DynamicToString(item["ID"]),
                 *  PEAK_LEVE_ID = StringHelper.DynamicToString(item["PEAK_LEVE_ID"]),
                 *  COMPANY_ID = StringHelper.DynamicToString(item["COMPANY_ID"]),
                 *  IS_STOP = StringHelper.DynamicToString(item["IS_STOP"]),
                 *  //IS_PATROL = StringHelper.DynamicToString(item["IS_PATROL"]),
                 *  LIMIT_TIME_START = StringHelper.DynamicToString(item["LIMIT_TIME_START"]),
                 *  LIMIT_TIME_END = StringHelper.DynamicToString(item["LIMIT_TIME_END"]),
                 *  LIMIT_TYPE = StringHelper.DynamicToString(item["LIMIT_TYPE"]),
                 *  LIMIT_RATIO = StringHelper.DynamicToString(item["LIMIT_RATIO"]),//排污上限
                 *  //ENERGY_RATIO = StringHelper.DynamicToString(item["ENERGY_RATIO"]),//能耗上限
                 *  LIMIT_CONFIG = StringHelper.DynamicToString(item["LIMIT_CONFIG"]),
                 *  LIMIT_START = StringHelper.DynamicToString(item["LIMIT_START"]),
                 *  ENERGY_START = StringHelper.DynamicToString(item["ENERGY_START"]),
                 *  //LINE_ID = StringHelper.DynamicToString(item["LINE_ID"]),
                 *  //IS_POWER_OFF = StringHelper.DynamicToString(item["IS_POWER_OFF"]),
                 * };
                 * companyList.Add(company);
                 */
            });
            return(this.SuccessResult("", new
            {
                companyList = companyList,
                dischList = dischList,
                energyList = energyList
            }));
        }
Beispiel #10
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);
        }