Exemplo n.º 1
0
        public decimal GetMonitorUseVal(int co_id, int module_id, string moduleAddr, int fun_id)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Clear();
            strSql.Append("select a.LastVal-a.FirstVal");
            strSql.Append(" from v2_info as a");
            strSql.Append(" where a.Ledger=@Ledger and a.Co_id=@Co_id and a.Module_id=@Module_id and a.ModuleAddr=@ModuleAddr and a.Fun_id=@Fun_id");
            object obj = SQLHelper.ExecuteScalar(strSql.ToString(), new { Ledger = this.Ledger, Co_id = co_id, Module_id = module_id, ModuleAddr = moduleAddr, Fun_id = fun_id });

            return(CommFunc.ConvertDBNullToDecimal(obj));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 历史数据
        /// </summary>
        /// <param name="module_id">回路ID号</param>
        /// <param name="funType">采集项目</param>
        /// <param name="dataType">查询类型</param>
        /// <param name="startTime">开始日期</param>
        /// <returns></returns>
        public APIRst GetHisData(int module_id, string funType, string dataType, DateTime startTime)
        {
            APIRst rst = new APIRst();

            try
            {
                DateTime start = startTime, end = startTime;
                if (dataType.Equals("hour"))
                {
                    start = new DateTime(start.Year, start.Month, start.Day, start.Hour, 0, 0);
                    end   = new DateTime(start.Year, start.Month, start.Day, 23, 0, 0);
                }
                if (dataType.Equals("day"))
                {
                    start = new DateTime(start.Year, start.Month, 1);
                    end   = start.AddMonths(1).AddDays(-1);
                }
                if (dataType.Equals("month"))
                {
                    start = new DateTime(start.Year, 1, 1);
                    end   = start.AddYears(1).AddDays(-1);
                }
                DataTable dtSource = bll.GetHisData(module_id, funType, dataType, start, end);
                int       total    = dtSource.Rows.Count;
                var       res1     = from s1 in dtSource.AsEnumerable()
                                     select new
                {
                    RowId      = CommFunc.ConvertDBNullToInt32(s1["RowId"]),
                    TagTime    = CommFunc.ConvertDBNullToDateTime(s1["TagTime"]).ToString("yyyy-MM-dd HH:mm:ss"),
                    Module_id  = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                    Fun_id     = CommFunc.ConvertDBNullToInt32(s1["Fun_id"]),
                    FunName    = CommFunc.ConvertDBNullToString(s1["FunName"]),
                    ModuleAddr = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                    ModuleName = CommFunc.ConvertDBNullToString(s1["ModuleName"]),
                    CoStrcName = CommFunc.ConvertDBNullToString(s1["CoStrcName"]),
                    CoName     = CommFunc.ConvertDBNullToString(s1["CoName"]),
                    TagTimeS   = CommFunc.ConvertDBNullToString(s1["TagTimeS"]),
                    Cnt        = CommFunc.ConvertDBNullToInt32(s1["Cnt"]),
                    NewValue   = s1["NewValue"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["NewValue"]).ToString(),
                    Value      = s1["Value"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["Value"]).ToString(),
                };
                rst.data = res1.ToList();
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("查询类型下拉列表:" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 月份用能分析
        /// </summary>
        /// <param name="time"></param>
        /// <returns></returns>
        public APIRst GetMonthAnalysis(DateTime time)
        {
            APIRst rst = new APIRst();

            try
            {
                DataTable dtSource = bll.GetMonthAnalysis(user.Attach.mid, time);
                foreach (DataRow dr in dtSource.Rows)
                {
                    if (CommFunc.ConvertDBNullToInt32(dr["Step"]) == 0)
                    {
                        continue;                                                /*不存在月份*/
                    }
                    decimal useVal = CommFunc.ConvertDBNullToDecimal(dr["UseVal"]);
                    decimal pri1   = 0;
                    if (useVal <= user.Attach.step.s1)
                    {
                        pri1       = user.Attach.step.p1;
                        dr["Step"] = 1;
                    }
                    else if (useVal <= user.Attach.step.s2)
                    {
                        pri1       = user.Attach.step.p2;
                        dr["Step"] = 2;
                    }
                    else
                    {
                        pri1       = user.Attach.step.p3;
                        dr["Step"] = 3;
                    }
                    //dr["UseAmt"] = Math.Round(useVal * pri1, 2, MidpointRounding.AwayFromZero);
                }
                var res1 = from s1 in dtSource.AsEnumerable()
                           select new
                {
                    Month  = CommFunc.ConvertDBNullToInt32(s1["Month"]),
                    UseVal = CommFunc.ConvertDBNullToDecimal(s1["UseVal"]),
                    UseAmt = CommFunc.ConvertDBNullToDecimal(s1["UseAmt"]),
                    Step   = CommFunc.ConvertDBNullToInt32(s1["Step"]),
                };
                rst.data = new { row = res1.ToList(), total = dtSource.Rows.Count };
                rst.rst  = true;
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("月份用能分析错误:" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 4
0
        private void GetYdModuleCollectValData(string periods, string splitMdQuery, DateTime start, DateTime end, ref DataTable dtRst, ref DataTable dtSource)
        {
            DataTable dtUse = null;

            if (periods.ToLower().Equals("FirstVal".ToLower()))
            {
                dtUse = WholeBLL.GetCoreQueryData(this.Ledger, splitMdQuery, start, start, "day");
            }
            else
            {
                dtUse = WholeBLL.GetCoreQueryData(this.Ledger, splitMdQuery, end, end, "day");
            }

            foreach (DataRow dr in dtUse.Rows)
            {
                DataRow curDr = dtSource.Rows.Find(new object[] { dr["Module_id"], dr["Fun_id"] });
                if (curDr == null)
                {
                    continue;
                }
                int scale = CommFunc.ConvertDBNullToInt32(curDr["Scale"]);
                scale = scale == 0 ? 2 : scale;
                decimal  multiply = CommFunc.ConvertDBNullToDecimal(curDr["Multiply"]);
                DateTime tagtime  = CommFunc.ConvertDBNullToDateTime(dr["TagTime"]);
                decimal  firstVal = CommFunc.ConvertDBNullToDecimal(dr["FirstVal"]) * multiply;
                decimal  lastVal  = CommFunc.ConvertDBNullToDecimal(dr["LastVal"]) * multiply;
                firstVal = Math.Round(firstVal, scale, MidpointRounding.AwayFromZero);
                lastVal  = Math.Round(lastVal, scale, MidpointRounding.AwayFromZero);
                //
                DataRow addDr = dtRst.Rows.Find(new object[] { dr["Module_id"], dr["ModuleAddr"] });
                if (addDr == null)
                {
                    addDr = dtRst.NewRow();
                    addDr["Module_id"]  = dr["Module_id"];
                    addDr["ModuleAddr"] = dr["ModuleAddr"];
                    addDr["Start"]      = start;
                    addDr["End"]        = end;
                    addDr["ModuleName"] = curDr["ModuleName"];
                    addDr["RoomName"]   = curDr["CoName"];
                    addDr["StrcName"]   = curDr["CoStrcName"];
                    dtRst.Rows.Add(addDr);
                }
                if (periods.ToLower().Equals("FirstVal".ToLower()))
                {
                    addDr["FirstVal"] = firstVal;
                }
                else
                {
                    addDr["LastVal"] = lastVal;
                }
            }
        }
Exemplo n.º 5
0
        private object GetYdMontionOnList(string CoStrcName, string CoName, string DateType, DateTime Start, DateTime End, out int total)
        {
            DataTable dtSource = bll.GetYdMonitorOnList(CoStrcName, CoName, DateType, Start, End);

            total = dtSource.Rows.Count;
            var res1 = from s1 in dtSource.AsEnumerable()
                       select new
            {
                RowId      = CommFunc.ConvertDBNullToInt32(s1["RowId"]),
                TagTime    = CommFunc.ConvertDBNullToDateTime(s1["TagTime"]).ToString("yyyy-MM-dd HH:mm:ss"),
                Module_id  = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                ModuleAddr = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                ModuleName = CommFunc.ConvertDBNullToString(s1["ModuleName"]),
                CoStrcName = CommFunc.ConvertDBNullToString(s1["CoStrcName"]),
                CoName     = CommFunc.ConvertDBNullToString(s1["CoName"]),
                TagTimeS   = CommFunc.ConvertDBNullToString(s1["TagTimeS"]),
                Cnt        = CommFunc.ConvertDBNullToInt32(s1["Cnt"]),
                h00        = s1["h00"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h00"]).ToString(),
                h01        = s1["h01"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h01"]).ToString(),
                h02        = s1["h02"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h02"]).ToString(),
                h03        = s1["h03"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h03"]).ToString(),
                h04        = s1["h04"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h04"]).ToString(),
                h05        = s1["h05"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h05"]).ToString(),
                h06        = s1["h06"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h06"]).ToString(),
                h07        = s1["h07"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h07"]).ToString(),
                h08        = s1["h08"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h08"]).ToString(),
                h09        = s1["h09"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h09"]).ToString(),
                h10        = s1["h10"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h10"]).ToString(),
                h11        = s1["h11"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h11"]).ToString(),
                h12        = s1["h12"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h12"]).ToString(),
                h13        = s1["h13"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h13"]).ToString(),
                h14        = s1["h14"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h14"]).ToString(),
                h15        = s1["h15"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h15"]).ToString(),
                h16        = s1["h16"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h16"]).ToString(),
                h17        = s1["h17"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h17"]).ToString(),
                h18        = s1["h18"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h18"]).ToString(),
                h19        = s1["h19"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h19"]).ToString(),
                h20        = s1["h20"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h20"]).ToString(),
                h21        = s1["h21"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h21"]).ToString(),
                h22        = s1["h22"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h22"]).ToString(),
                h23        = s1["h23"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h23"]).ToString(),
                h24        = s1["h24"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h24"]).ToString(),
                h25        = s1["h25"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h25"]).ToString(),
                h26        = s1["h26"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h26"]).ToString(),
                h27        = s1["h27"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h27"]).ToString(),
                h28        = s1["h28"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h28"]).ToString(),
                h29        = s1["h29"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h29"]).ToString(),
                h30        = s1["h30"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["h30"]).ToString()
            };

            return(res1.ToList());
        }
Exemplo n.º 6
0
        private void GetRealVal(DataTable dt, out decimal pTotal, out decimal eTotal, out DateTime UTime)
        {
            pTotal = 0;
            eTotal = 0;
            UTime  = DateTime.MinValue;
            CacheUser user = WebConfig.GetSession();
            string    key  = (user == null || user.Uid == 0) ? "" : user.CacheKey;

            if (string.IsNullOrEmpty(key))
            {
                key = WebConfig.MemcachKey;
            }
            string ccKey = "";

            foreach (DataRow dr in dt.Rows)
            {
                ccKey = key + CommFunc.ConvertDBNullToString(dr["P_Tag"]);
                int    i   = 0;
                RstVar var = null;
                while (++i <= 2)
                {
                    var = MemcachedMgr.GetVal <RstVar>(ccKey);
                    if (var != null)
                    {
                        break;
                    }
                    System.Threading.Thread.Sleep(50);
                }
                if (var != null)
                {
                    pTotal += CommFunc.ConvertDBNullToDecimal(var.lpszVal);
                    if (var.lpszdateTime > UTime)
                    {
                        UTime = var.lpszdateTime;
                    }
                }
                //ccKey = key + CommFunc.ConvertDBNullToString(dr["E_Tag"]);
                //i = 0;
                //var = null;
                //while (++i <= 2)
                //{
                //    var = MemcachedMgr.GetVal<RstVar>(ccKey);
                //    if (var != null) break;
                //    System.Threading.Thread.Sleep(50);
                //}
                //if (var != null)
                //{
                //    eTotal += CommFunc.ConvertDBNullToDecimal(var.lpszVal);
                //    if (var.lpszdateTime > UTime) UTime = var.lpszdateTime;
                //}
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 保存采集项数据
        /// </summary>
        /// <param name="lpszDbVarName"></param>
        /// <param name="lpszVal"></param>
        /// <param name="lpszdateTime"></param>
        internal static void SaveCollectCache(string lpszDbVarName, string lpszVal, DateTime lpszdateTime)
        {
            string        mkey    = Helper.ProjectKey + lpszDbVarName;
            CollectVModel collect = null;

            if (NCSys.Result.TryGetValue(mkey, out collect) == false)
            {
                try
                {
                    collect = new CollectVModel();
                    System.Data.DataTable dtSource = processBll.GetMapInfo(lpszDbVarName);
                    if (dtSource.Rows.Count != 1)
                    {
                        FileLog.Debug("KEY:" + lpszDbVarName + "值信息不存在数据库中");
                        return;
                    }
                    collect.RstVar = new RstVar()
                    {
                        dwUserData = 0
                    };
                    foreach (DataRow dr in dtSource.Rows)
                    {
                        collect.Module_id           = CommFunc.ConvertDBNullToInt32(dr["Module_id"]);
                        collect.ModuleAddr          = CommFunc.ConvertDBNullToString(dr["ModuleAddr"]);
                        collect.Fun_id              = CommFunc.ConvertDBNullToInt32(dr["Fun_id"]);
                        collect.UpTime              = CommFunc.ConvertDBNullToDateTime(dr["LastTime"]);
                        collect.RstVar.lpszVal      = dr["LastVal"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(dr["LastVal"]).ToString();
                        collect.RstVar.lpszdateTime = collect.UpTime;
                    }
                    NCSys.Result.TryAdd(mkey, collect);
                }
                catch (Exception ex)
                {
                    FileLog.Debug("获取DB数据错误:" + ex.Message + ex.StackTrace);
                    return;/*采集值反转*/
                }
            }
            if (CommFunc.ConvertDBNullToDateTime(collect.RstVar.lpszdateTime) > lpszdateTime)
            {
                FileLog.Debug("KEY:" + lpszDbVarName + "值采集时间反转");
                return;/*时间反转*/
            }
            if (CommFunc.ConvertDBNullToDecimal(collect.RstVar.lpszVal) > CommFunc.ConvertDBNullToDecimal(lpszVal))
            {
                FileLog.Debug("KEY:" + lpszDbVarName + "值采集数据反转");
                return;/*采集值反转*/
            }
            collect.RstVar.lpszVal      = lpszVal;
            collect.RstVar.lpszdateTime = lpszdateTime;
            collect.RstVar.dwUserData   = 0;
        }
Exemplo n.º 8
0
        /// <summary>
        /// 新增物业列表
        /// </summary>
        /// <returns></returns>
        public int AddCharg(int co_id, decimal firstVal, decimal lastVal, DateTime firstTime, DateTime lastTime, decimal price, decimal chargAmt)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Clear();
            strSql.Append("select RdAmt from v1_custinfo where Ledger=@Ledger and Co_id=@Co_id");
            object  obj   = SQLHelper.ExecuteScalar(strSql.ToString(), new { Ledger = this.Ledger, Co_id = co_id });
            decimal syAmt = CommFunc.ConvertDBNullToDecimal(obj);

            strSql.Clear();
            strSql.Append("insert into v4_pay_charg(CDate,Ledger,Co_id,FirstVal,LastVal,FirstTime,LastTime,Price,ChargVal,Cretae_by,Create_dt,Update_by,Update_dt,SyAmt)");
            strSql.Append("values(@LastTime,@Ledger,@Co_id,@FirstVal,@LastVal,@FirstTime,@LastTime,@Price,@ChargVal,@SysUid,now(),@SysUid,now(),@SyAmt)");
            return(SQLHelper.Execute(strSql.ToString(), new { Ledger = this.Ledger, Co_id = co_id, FirstVal = firstVal, LastVal = lastVal, FirstTime = firstTime, LastTime = lastTime, Price = price, ChargVal = chargAmt, SysUid = this.SysUid, SyAmt = syAmt }));
        }
Exemplo n.º 9
0
 /// <summary>
 /// 电气火灾列表
 /// </summary>
 /// <returns></returns>
 public APIRst GetDqhzList()
 {
     APIRst rst = new APIRst();
     try
     {
         List<object> list = new List<object>();
         DataTable dtSource = bll.GetDqhzList();
         var res1 = from s1 in dtSource.AsEnumerable()
                    group s1 by new { Module_id = CommFunc.ConvertDBNullToInt32(s1["Module_id"]) } into g1
                    select new
                    {
                        Module_id = g1.Key.Module_id,
                        ModuleName = CommFunc.ConvertDBNullToString(g1.First()["ModuleName"]),
                        MeterName = CommFunc.ConvertDBNullToString(g1.First()["MeterName"]),
                    };
         foreach (var o1 in res1)
         {
             
             List<object> rv = new List<object>();
             foreach (DataRow dr in dtSource.Select("Module_id=" + o1.Module_id))
             {
                 string lpszDbVarName = CommFunc.ConvertDBNullToString(dr["LpszDbVarName"]);
                 string funType = CommFunc.ConvertDBNullToString(dr["FunType"]);
                 string funName = CommFunc.ConvertDBNullToString(dr["FunName"]);
                 int scale = CommFunc.ConvertDBNullToInt32(dr["Scale"]);
                 RstVar vv = MemcachedMgr.GetVal<RstVar>(user.CacheKey + lpszDbVarName);
                 if (vv != null)
                 {
                     vv.lpszVal = CommFunc.ConvertDBNullToDecimal(vv.lpszVal).ToString("f" + scale);
                     rv.Add(new { FunType = funType, FunName = funName, Data = new { lpszVal = vv.lpszVal, lpszdateTime = vv.lpszdateTime } });
                 }
                 else
                 {
                     rv.Add(new { FunType = funType, FunName = funName, Data = "" });
                 }
             }
             list.Add(new { Module_id = o1.Module_id, MouleName = o1.ModuleName, MeterName = o1.MeterName, List = rv });
         }
         rst.data = list;
     }
     catch (Exception ex)
     {
         rst.rst = false;
         rst.err.code = (int)ResultCodeDefine.Error;
         rst.err.msg = ex.Message;
         FileLog.WriteLog("获取电气火灾列表:" + ex.Message + ex.StackTrace);
     }
     return rst;
 }
Exemplo n.º 10
0
        /// <summary>
        /// 获取充值比率
        /// </summary>
        /// <returns></returns>
        public Decimal GetRatio()
        {
            object params01 = new
            {
                Ledger = this.Ledger,
            };
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select Price from syscont");
            strSql.Append(" where Ledger=@Ledger");
            //strSql.Append("select ratio from syscont where ledger=@ledger");
            object obj = SQLHelper.ExecuteScalar(strSql.ToString(), params01);

            return(CommFunc.ConvertDBNullToDecimal(obj));
        }
Exemplo n.º 11
0
        /// <summary>
        /// 月用电量
        /// </summary>
        /// <param name="Co_id"></param>
        /// <param name="Module_id"></param>
        /// <param name="ModuleAddr"></param>
        /// <returns></returns>
        public decimal GetYdMonitorOnMthUseVal(int Co_id, int Module_id, string ModuleAddr)
        {
            DateTime  TagTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
            decimal   useVal  = 0;
            DataTable dtUse   = WHoleDAL.GetCoreQueryData(this.Ledger, Module_id.ToString(), TagTime, TagTime, "month", "E");

            foreach (DataRow dr in dtUse.Rows)
            {
                if (CommFunc.ConvertDBNullToInt32(dr["Co_id"]) == Co_id)
                {
                    useVal = useVal + ((CommFunc.ConvertDBNullToDecimal(dr["LastVal"]) - CommFunc.ConvertDBNullToDecimal(dr["FirstVal"])) * CommFunc.ConvertDBNullToDecimal(dr["Multiply"]));
                }
            }
            return(useVal);
        }
Exemplo n.º 12
0
        /// <summary>
        /// 获取用户的用能列表
        /// </summary>
        /// <param name="Co_id"></param>
        /// <returns></returns>
        public APIRst GetYdCustOnMdList(int Co_id)
        {
            APIRst rst = new APIRst();

            try
            {
                Co_id = Co_id == 0 ? -9999 : Co_id;
                DataTable dtSource = bll.GetYdCustOnMdList(Co_id);
                var       res1     = from s1 in dtSource.AsEnumerable()
                                     select new
                {
                    id         = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                    _parentId  = CommFunc.ConvertDBNullToInt32(s1["pid"]),
                    Module_id  = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                    ModuleName = CommFunc.ConvertDBNullToString(s1["ModuleName"]),
                    ModuleAddr = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                    ModuleType = CommFunc.ConvertDBNullToString(s1["ModuleType"]),
                    Parent_id  = CommFunc.ConvertDBNullToString(s1["Parent_id"]),
                    Inst_loc   = CommFunc.ConvertDBNullToString(s1["Inst_loc"]),
                    Multiply   = CommFunc.ConvertDBNullToDecimal(s1["Multiply"]).ToString("f2"),
                    Co_id      = CommFunc.ConvertDBNullToInt32(s1["Co_id"]),
                    CoName     = CommFunc.ConvertDBNullToString(s1["CoName"]),
                    Struc      = CommFunc.ConvertDBNullToString(s1["GwName"]) + "->" + CommFunc.ConvertDBNullToString(s1["EspName"]),
                    //Waste = CommFunc.ConvertDBNullToDecimal(s1["Waste"]),
                    //Fees = CommFunc.ConvertDBNullToDecimal(s1["Fees"]),
                    MinPay = CommFunc.ConvertDBNullToDecimal(s1["MinPay"]),
                    Price  = CommFunc.ConvertDBNullToDecimal(s1["Price"]),
                    //IsPSum = CommFunc.ConvertDBNullToInt32(s1["IsPSum"]),
                    //Format = CommFunc.ConvertDBNullToInt32(s1["Format"]),
                    //DataCfg = CommFunc.ConvertDBNullToString(s1["DataCfg"]),
                    Rate_id        = CommFunc.ConvertDBNullToInt32(s1["Rate_id"]),
                    IsAlarm        = CommFunc.ConvertDBNullToInt32(s1["IsAlarm"]),
                    AlarmVal       = CommFunc.ConvertDBNullToDecimal(s1["AlarmVal"]),
                    EnergyItemCode = CommFunc.ConvertDBNullToString(s1["EnergyItemCode"]),
                    EnergyItemName = CommFunc.ConvertDBNullToString(s1["EnergyItemName"]),
                };
                object obj = new { total = dtSource.Rows.Count, rows = res1.ToList() };
                rst.data = obj;
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("获取用户的用能列表错误:" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 13
0
        public APIRst GetYdSmsContent(int co_id, int module_id, string moduleAddr)
        {
            APIRst rst = new APIRst();

            try
            {
                DataTable dtSource = bll.GetYdSmsContent(co_id, module_id, moduleAddr);
                string    content = "";
                string    crmName = "", coName = "", mPhone = "", email = "";
                decimal   syVal = 0, syAmt = 0, price = 0;
                DateTime  lastTime = new DateTime();
                if (dtSource.Rows.Count > 0)
                {
                    mPhone   = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["MPhone"]);
                    email    = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["Email"]);
                    crmName  = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["CrmName"]);
                    coName   = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["CoName"]);
                    syVal    = CommFunc.ConvertDBNullToDecimal(dtSource.Rows[0]["RdVal"]);
                    price    = CommFunc.ConvertDBNullToDecimal(dtSource.Rows[0]["Price"]);
                    lastTime = CommFunc.ConvertDBNullToDateTime(dtSource.Rows[0]["LastTime"]);
                    syAmt    = Math.Round(syVal * price, 2, MidpointRounding.AwayFromZero);
                    //尊敬的${CrmName}用户,截止到${DateTime},您所属的${CoName}号房间剩余金额是${SyAmt}元,剩余电量是${SyVal},为了不影响您正常的用电使用,请及时到物管中心缴费!谢谢您的合作!
                    content = "尊敬的{0}用户,截止到{1},您所属的{2}号房间剩余金额是{3}元,剩余电量是{4},为了不影响您正常的用电使用,请及时到物管中心缴费!谢谢您的合作!";
                    content = string.Format(content, crmName, (lastTime.Year != 1900 ? lastTime.ToString("yyyy-MM-dd") : ""), coName, syAmt, syVal.ToString("f2") + "kWh");
                }
                object obj = new
                {
                    Content  = content,
                    MPhone   = mPhone,
                    Email    = email,
                    CrmName  = crmName,
                    LastTime = (lastTime.Year == 1900 || lastTime.Year == 0) ? "" : lastTime.ToString("yyyy-MM-dd"),
                    CoName   = coName,
                    SyAmt    = syAmt,
                    SyVal    = syVal.ToString("f2") + "kWh"
                };
                rst.data = obj;
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("获取发送信息错误 (GetYdSmsContent)", ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 14
0
        public DataTable GetYdPayLogOnList(string StrcName, string CoName, int d_ways, string Create_by, DateTime StartTime, DateTime EndTime)
        {
            DataTable dtSource = dal.GetYdPayLogOnList(StrcName, CoName, d_ways, Create_by, StartTime, EndTime);

            dtSource.Columns.Add("RowId", typeof(System.Int32));
            dtSource.Columns.Add("PayTypeS", typeof(System.String));
            dtSource.Columns.Add("IsPayS", typeof(System.String));
            int RowId = 0;

            foreach (DataRow dr in dtSource.Rows)
            {
                dr["RowId"] = ++RowId;
                int payType = CommFunc.ConvertDBNullToInt32(dr["PayType"]);
                int ispay   = CommFunc.ConvertDBNullToInt32(dr["IsPay"]);
                if (payType == (int)PayType.pay)
                {
                    dr["PayTypeS"] = "充值";
                }
                if (payType == (int)PayType.refund)
                {
                    dr["PayAmt"]   = -CommFunc.ConvertDBNullToDecimal(dr["PayAmt"]);
                    dr["PayVal"]   = -CommFunc.ConvertDBNullToDecimal(dr["PayVal"]);
                    dr["PayTypeS"] = "退费";
                }
                if (payType == (int)PayType.present)
                {
                    dr["PayTypeS"] = "赠电";
                }
                if (payType == (int)PayType.reback)
                {
                    dr["PayAmt"]   = -CommFunc.ConvertDBNullToDecimal(dr["PayAmt"]);
                    dr["PayVal"]   = -CommFunc.ConvertDBNullToDecimal(dr["PayVal"]);
                    dr["PayTypeS"] = "退赠电";
                }
                if (ispay == 0)
                {
                    dr["IsPayS"] = "现金支付";
                }
                if ((ispay >= 10 && ispay < 20) || ispay == 1)
                {
                    dr["IsPayS"] = "微信支付";
                }
            }
            return(dtSource);
        }
Exemplo n.º 15
0
        // 采集器数据集合
        private object GetYdModuleOnDetail(int Gw_id, int Esp_id, int Meter_id, int Module_id, out int total)
        {
            DataTable dtSource = bll.GetYdModuleOnDetail(Gw_id, Esp_id, Meter_id, Module_id);

            total = dtSource.Rows.Count;
            var res1 = from s1 in dtSource.AsEnumerable()
                       orderby CommFunc.ConvertDBNullToInt32(s1["Id"])
                       select new
            {
                id             = CommFunc.ConvertDBNullToInt32(s1["Id"]),
                _parentId      = CommFunc.ConvertDBNullToInt32(s1["Pid"]),
                Gw_id          = CommFunc.ConvertDBNullToInt32(s1["Gw_id"]),
                Esp_id         = CommFunc.ConvertDBNullToInt32(s1["Esp_id"]),
                Meter_id       = CommFunc.ConvertDBNullToInt32(s1["Meter_id"]),
                Module_id      = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                EmName         = CommFunc.ConvertDBNullToString(s1["EmName"]),
                EmAddr         = CommFunc.ConvertDBNullToString(s1["EmAddr"]),
                EmNo           = CommFunc.ConvertDBNullToString(s1["EmNo"]),
                TransferType   = CommFunc.ConvertDBNullToInt32(s1["TransferType"]),
                EspIp          = CommFunc.ConvertDBNullToString(s1["EspIp"]),
                EspPort        = CommFunc.ConvertDBNullToInt32(s1["EspPort"]),
                Timeout        = CommFunc.ConvertDBNullToInt32(s1["Timeout"]),
                ComPort        = CommFunc.ConvertDBNullToString(s1["ComPort"]),
                ComPortNum     = CommFunc.ConvertDBNullToString(s1["ComPort"]).Replace("COM", ""),
                Baud           = CommFunc.ConvertDBNullToInt32(s1["Baud"]),
                DataBit        = CommFunc.ConvertDBNullToInt32(s1["DataBit"]),
                StopBit        = CommFunc.ConvertDBNullToInt32(s1["StopBit"]),
                Parity         = CommFunc.ConvertDBNullToInt32(s1["Parity"]),
                Mm_id          = CommFunc.ConvertDBNullToInt32(s1["Mm_id"]),
                EmType         = CommFunc.ConvertDBNullToString(s1["EmType"]),
                Inst_loc       = CommFunc.ConvertDBNullToString(s1["Inst_loc"]),
                Disabled       = CommFunc.ConvertDBNullToInt32(s1["Disabled"]),
                Remark         = CommFunc.ConvertDBNullToString(s1["Remark"]),
                Multiply       = CommFunc.ConvertDBNullToDecimal(s1["Multiply"]),
                EnergyItemCode = CommFunc.ConvertDBNullToString(s1["EnergyItemCode"]),
                Co_id          = CommFunc.ConvertDBNullToInt32(s1["Co_id"]),
                CoName         = CommFunc.ConvertDBNullToInt32(s1["CoName"]),
                IsAlarm        = CommFunc.ConvertDBNullToInt32(s1["IsAlarm"]),
                MinPay         = CommFunc.ConvertDBNullToInt32(s1["MinPay"]),
                Price          = CommFunc.ConvertDBNullToDecimal(s1["Price"]),
                Rate_id        = CommFunc.ConvertDBNullToInt32(s1["Rate_id"]),
            };

            return(res1.ToList());
        }
Exemplo n.º 16
0
        private object GetYdRateNewList(int rate_id, string descr)
        {
            DataTable dtSource = bll.GetYdRateNewList(rate_id, descr);
            var       res1     = from s1 in dtSource.AsEnumerable()
                                 select new
            {
                Rate_id  = CommFunc.ConvertDBNullToInt32(s1["Rate_id"]),
                Descr    = CommFunc.ConvertDBNullToString(s1["Descr"]),
                Unit     = CommFunc.ConvertDBNullToString(s1["Unit"]),
                UnitBase = CommFunc.ConvertDBNullToDecimal(s1["UnitBase"]).ToString("f2"),
                Rule     = CommFunc.ConvertDBNullToInt32(s1["Rule"]),
                UnitName = CommFunc.GetEnumDisplay(typeof(RateUnit), CommFunc.ConvertDBNullToString(s1["Unit"])),
                RuleName = CommFunc.GetEnumDisplay(typeof(RateRule), CommFunc.ConvertDBNullToInt32(s1["Rule"])),
            };
            object obj = new { total = dtSource.Rows.Count, rows = res1.ToList() };

            return(obj);
        }
Exemplo n.º 17
0
        /// <summary>
        /// 导出充值表
        /// </summary>
        /// <param name="Room_id"></param>
        /// <returns></returns>
        public DataTable GetYdPayBill(long Log_id)
        {
            DataTable dtSource = dal.GetPayList(Log_id);

            dtSource.Columns.Add("payTypeS", typeof(System.String)); //充值类型 payType=1充值=2退电=3赠送电
            dtSource.Columns.Add("strAmt", typeof(System.String));   //金额(大写)
            dtSource.Columns.Add("IsPayS", typeof(System.String));   //支付方式
            foreach (DataRow dr in dtSource.Rows)
            {
                dr["Multiply"] = CommFunc.ConvertDBNullToDecimal(dr["Multiply"]).ToString("f2");
                dr["PayVal"]   = CommFunc.ConvertDBNullToDecimal(dr["PayVal"]).ToString("f2");
                dr["PayAmt"]   = CommFunc.ConvertDBNullToDecimal(dr["PayAmt"]).ToString("f2");
                dr["strAmt"]   = CommFunc.convertMoneytoRMB(CommFunc.ConvertDBNullToDecimal(dr["PayAmt"]));
                if (CommFunc.ConvertDBNullToInt32(dr["PayType"]) == 1)
                {
                    dr["payTypeS"] = "充值";
                }
                if (CommFunc.ConvertDBNullToInt32(dr["PayType"]) == 2)
                {
                    dr["payTypeS"] = "退电";
                    dr["PayVal"]   = "-" + CommFunc.ConvertDBNullToDecimal(dr["PayVal"]).ToString("f2");
                    dr["PayAmt"]   = "-" + CommFunc.ConvertDBNullToDecimal(dr["PayAmt"]).ToString("f2");
                }
                if (CommFunc.ConvertDBNullToInt32(dr["PayType"]) == 3)
                {
                    dr["payTypeS"] = "赠送电";
                }
                dr["Create_dt"] = CommFunc.ConvertDBNullToDateTime(dr["Create_dt"]).ToString("yyyy-MM-dd HH:mm:ss");
                int isPay = CommFunc.ConvertDBNullToInt32(dr["IsPay"]);
                if (isPay == 0)
                {
                    dr["IsPayS"] = "现金支付";
                }
                else if (isPay == 1)
                {
                    dr["IsPayS"] = "PC端微信支付";
                }
                else if (isPay == 10)
                {
                    dr["IsPayS"] = "手机微信支付";
                }
            }
            return(dtSource);
        }
Exemplo n.º 18
0
        public int UpV4_pay_charg(long log_id, int co_id, decimal useAmt)
        {
            StringBuilder strSql = new StringBuilder();

            using (var conn1 = SQLHelper.GetDBConnection())
            {//更新数据库
                try
                {
                    conn1.Open();
                    using (var trans = conn1.BeginTransaction())
                    {
                        DataTable dtSource = this.GetCoEleAmt(conn1, trans, co_id);
                        decimal   eleAmt   = CommFunc.ConvertDBNullToDecimal(dtSource.Compute("sum(RdAmt)", "true"));
                        eleAmt = Math.Abs(eleAmt);
                        decimal RdCoAmt = this.GetCoRdAmt(conn1, trans, co_id);
                        if (RdCoAmt < eleAmt + useAmt)
                        {
                            return(0);
                        }
                        foreach (DataRow dr in dtSource.Rows)
                        {
                            int     module_id  = CommFunc.ConvertDBNullToInt32(dr["Module_id"]);
                            string  moduleAddr = CommFunc.ConvertDBNullToString(dr["ModuleAddr"]);
                            int     fun_id     = CommFunc.ConvertDBNullToInt32(dr["Fun_id"]);
                            decimal rdVal      = Math.Abs(CommFunc.ConvertDBNullToDecimal(dr["RdVal"]));
                            decimal rdAmt      = Math.Abs(CommFunc.ConvertDBNullToDecimal(dr["RdAmt"]));
                            this.UpV2Info(conn1, trans, co_id, module_id, moduleAddr, fun_id, rdVal, rdAmt);
                        }
                        this.UpV4_pay_charg(conn1, trans, log_id, co_id, useAmt);
                        trans.Commit();
                    }
                    conn1.Close();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    conn1.Close();
                }
            }
            return(1);
        }
Exemplo n.º 19
0
        public object GetMgrStatus(string pk)
        {
            DataTable     dtSource = dal.GetMgrStatus();
            List <object> dd       = new List <object>();
            int           sc       = 0;
            int           oc       = 0;
            int           ec       = 0;

            foreach (DataRow drp in dtSource.Rows)
            {
                string key = pk + CommFunc.ConvertDBNullToString(drp["LpszDbVarName"]);
                int    i   = 0;
                RstVar var = null;
                while (++i <= 2)
                {
                    var = MemcachedMgr.GetVal <RstVar>(key);
                    if (var != null)
                    {
                        break;
                    }
                    System.Threading.Thread.Sleep(50);
                }
                decimal?status = null;
                if (var != null)
                {
                    status = CommFunc.ConvertDBNullToDecimal(var.lpszVal);
                    //sc = sc + (CommFunc.ConvertDBNullToDecimal(var.lpszVal) == 0 ? 1 : 0);
                    if (status == 0)
                    {
                        sc++;
                    }
                    else
                    {
                        oc++;
                    }
                }
                else
                {
                    ec++;
                }
                dd.Add(new { moduleName = CommFunc.ConvertDBNullToString(drp["CoName"]), status = status });
            }
            return(new { status = new { count = dtSource.Rows.Count, online = sc, offline = oc, errCnt = ec }, list = dd });
        }
Exemplo n.º 20
0
        /// <summary>
        /// 回来能耗统计分析(区间粒度)
        /// </summary>
        /// <param name="selKey">选择的对象</param>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <returns></returns>
        public APIResult GetYdModuleCollectValList(string selKey, DateTime start, DateTime end)
        {
            APIResult rst = new APIResult();

            try
            {
                string[] kk = selKey.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                int      id = kk.Count() != 2 ? 0 : CommFunc.ConvertDBNullToInt32(kk[1]);
                int      co_id = 0, meter_id = 0;
                if (selKey.Contains("M-"))
                {
                    meter_id = id;
                }
                else
                {
                    co_id = id;
                }
                DataTable dtSource = bll.GetYdModuleCollectValList(co_id, meter_id, start, end);
                var       res1     = from s1 in dtSource.AsEnumerable()
                                     select new
                {
                    RowId      = dtSource.Rows.IndexOf(s1) + 1,
                    Module_id  = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                    ModuleAddr = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                    Start      = CommFunc.ConvertDBNullToDateTime(s1["Start"]).ToString("yyyy-MM-dd"),
                    End        = CommFunc.ConvertDBNullToDateTime(s1["End"]).ToString("yyyy-MM-dd"),
                    FirstVal   = s1["FirstVal"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["FirstVal"]).ToString("f2"),
                    LastVal    = s1["LastVal"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(s1["LastVal"]).ToString("f2"),
                    ModuleName = CommFunc.ConvertDBNullToString(s1["ModuleName"]),
                    RoomName   = CommFunc.ConvertDBNullToString(s1["RoomName"]),
                    StrcName   = CommFunc.ConvertDBNullToString(s1["StrcName"]),
                };
                rst.Code = 0;
                rst.Msg  = "";
                rst.Data = new { total = dtSource.Rows.Count, rows = res1.ToList() };
            }
            catch (Exception ex)
            {
                rst.Code = -1;
                rst.Msg  = ex.Message;
                FileLog.WriteLog("获取按区间粒度列表错误(GetYdModuleCollectValList):" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 21
0
        /// <summary>
        /// 获取设备信息
        /// </summary>
        /// <param name="meter_id">设备信息ID号</param>
        /// <param name="meterName">设备名称</param>
        /// <returns></returns>
        public APIResult GetMeterList(int meter_id, string meterName)
        {
            APIResult rst = new APIResult();

            try
            {
                DataTable dtSource = bll.GetMeterList(meter_id, meterName);
                var       res1     = from s1 in dtSource.AsEnumerable()
                                     select new
                {
                    RowId     = dtSource.Rows.IndexOf(s1) + 1,
                    Meter_id  = CommFunc.ConvertDBNullToInt32(s1["Meter_id"]),
                    Esp_id    = CommFunc.ConvertDBNullToString(s1["Esp_id"]),
                    MeterAddr = CommFunc.ConvertDBNullToString(s1["MeterAddr"]),
                    MeterName = CommFunc.ConvertDBNullToString(s1["MeterName"]),
                    Inst_loc  = CommFunc.ConvertDBNullToString(s1["Inst_loc"]),
                    Supplier  = CommFunc.ConvertDBNullToString(s1["Supplier"]),
                    //Switch = CommFunc.ConvertDBNullToString(s1["Switch"]),
                    //ChrgType = CommFunc.ConvertDBNullToInt32(s1["ChrgType"]),
                    Remark        = CommFunc.ConvertDBNullToString(s1["Remark"]),
                    Disabled      = CommFunc.ConvertDBNullToInt32(s1["Disabled"]),
                    Multiply      = CommFunc.ConvertDBNullToDecimal(s1["Multiply"]),
                    RoomId        = CommFunc.ConvertDBNullToInt32(s1["RoomId"]),
                    MeterTypeId   = CommFunc.ConvertDBNullToInt32(s1["MeterTypeId"]),
                    MeterType     = CommFunc.ConvertDBNullToString(s1["MeterType"]),
                    MeterTypeName = CommFunc.ConvertDBNullToString(s1["MeterTypeName"]),
                    RoomName      = CommFunc.ConvertDBNullToString(s1["RoomName"]),
                    //ChrgTypeName = CommFunc.GetEnumDisplay(typeof(ChargAttrib), CommFunc.ConvertDBNullToInt32(s1["ChrgType"])),
                    EspName = CommFunc.ConvertDBNullToString(s1["EspName"]),
                };
                object obj = new { total = dtSource.Rows.Count, rows = res1.ToList() };
                rst.Code = 0;
                rst.Msg  = "";
                rst.Data = obj;
            }
            catch (Exception ex)
            {
                rst.Code = -1;
                rst.Msg  = ex.Message;
                FileLog.WriteLog("获取设备信息信息错误(GetMeterList):" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 22
0
        /// <summary>
        /// 站点场景类型统计分析
        /// </summary>
        /// <param name="areaId">区域ID号</param>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="roomSightId">场景ID号</param>
        /// <returns></returns>
        public APIResult GetRptRoomSightList(int areaId, DateTime start, DateTime end, int roomSightId)
        {
            APIResult rst = new APIResult();

            try
            {
                DataTable dtSource = bll.GetRptRoomSightList(areaId, start, end, roomSightId);
                var       res1     = from s1 in dtSource.AsEnumerable()
                                     select new
                {
                    RowId         = dtSource.Rows.IndexOf(s1) + 1,
                    RoomId        = CommFunc.ConvertDBNullToInt32(s1["RoomId"]),
                    RoomSightId   = CommFunc.ConvertDBNullToInt32(s1["RoomSightId"]),
                    RoomNo        = CommFunc.ConvertDBNullToString(s1["RoomNo"]),
                    RoomName      = CommFunc.ConvertDBNullToString(s1["RoomName"]),
                    Address       = CommFunc.ConvertDBNullToString(s1["Address"]),
                    RoomSightName = CommFunc.ConvertDBNullToString(s1["RoomSightName"]),
                    StrcName      = CommFunc.ConvertDBNullToString(s1["StrcName"]),
                    UseVal        = CommFunc.ConvertDBNullToDecimal(s1["UseVal"]).ToString("f2"),
                    LastTime      = CommFunc.ConvertDBNullToDateTime(s1["LastTime"]).ToString("yyyy-MM-dd HH:mm:ss"),
                };
                var res2 = from s1 in dtSource.AsEnumerable()
                           group s1 by new { RoomSightId = CommFunc.ConvertDBNullToInt32(s1["RoomSightId"]) } into g1
                    select new
                {
                    RoomSightId   = g1.Key.RoomSightId,
                    RoomSightName = CommFunc.ConvertDBNullToString(g1.First()["RoomSightName"]),
                    UseVal        = g1.Sum(p => CommFunc.ConvertDBNullToDecimal(p["UseVal"])),
                    Cnt           = g1.Count()
                };

                rst.Code = 0;
                rst.Msg  = "";
                rst.Data = new { total = dtSource.Rows.Count, rows = res1.ToList(), charts = res2.ToList() };
            }
            catch (Exception ex)
            {
                rst.Code = -1;
                rst.Msg  = ex.Message;
                FileLog.WriteLog("站点场景类型统计分析(GetRptRoomSightList):" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 23
0
        private int GetStatus(string tag, string dataValue, DateTime update_dt)
        {
            string key = user.CacheKey + tag;
            int    i   = 0;
            RstVar var = null;

            while (++i <= 2)
            {
                var = MemcachedMgr.GetVal <RstVar>(key);
                if (var != null)
                {
                    break;
                }
                System.Threading.Thread.Sleep(50);
            }
            decimal?value      = null;// "未知";
            int     realStatus = 1;

            if (var != null)
            {
                value = CommFunc.ConvertDBNullToDecimal(var.lpszVal); // 值
            }
            if (!string.IsNullOrEmpty(dataValue))
            {
                decimal realVal = value == null ? -1 : value.Value;
                if (realVal == CommFunc.ConvertDBNullToDecimal(dataValue))
                {/*值相等设置成功*/
                    realStatus = 1;
                }
                else
                {
                    if (update_dt.AddMinutes(1) > DateTime.Now)
                    {/*正在设置*/
                        realStatus = 0;
                    }
                    else
                    {/*超过两分钟设置全部按缓存值*/
                        realStatus = -1;
                    }
                }
            }
            return(realStatus);
        }
Exemplo n.º 24
0
        /// <summary>
        /// 保存修改错误数据
        /// </summary>
        /// <returns></returns>
        public APIRst SaveVal(int RowId, int Co_id, int Log_id, int Module_id, int Fun_id, string ModuleAddr, decimal LastValOld, decimal LastVal, decimal FirstVal)
        {
            decimal charge = LastValOld - FirstVal;

            FirstVal = LastVal - charge;
            APIRst rst = new APIRst();

            try
            {
                int total = 0;
                bll.SetV2_infoInVal(Log_id, Co_id, Module_id, ModuleAddr, Fun_id, FirstVal, LastVal);

                DataTable dtSource = bll.GetTabVal(Co_id, ModuleAddr);
                total = dtSource.Rows.Count;
                var res1 = from s1 in dtSource.AsEnumerable()
                           select new
                {
                    RowId       = RowId,
                    Co_id       = CommFunc.ConvertDBNullToInt32(s1["Co_id"]),
                    Log_id      = CommFunc.ConvertDBNullToInt32(s1["Log_id"]),
                    CoStrcName  = CommFunc.ConvertDBNullToString(s1["CoStrcName"]),
                    CoName      = CommFunc.ConvertDBNullToString(s1["CoName"]),
                    ModuleAddr  = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                    AType       = CommFunc.ConvertDBNullToString(s1["AType"]),
                    Content     = CommFunc.ConvertDBNullToString(s1["Content"]),
                    ErrCode     = CommFunc.ConvertDBNullToString(s1["ErrCode"]),
                    CollectTime = CommFunc.ConvertDBNullToDateTime(s1["CollectTime"]).ToString("yyyy-MM-dd HH:mm:ss"),
                    FirstVal    = CommFunc.ConvertDBNullToDecimal(s1["FirstVal"]),
                    LastVal     = CommFunc.ConvertDBNullToDecimal(s1["LastVal"]),
                    LastValOld  = CommFunc.ConvertDBNullToDecimal(s1["LastVal"]),
                    LastTime    = CommFunc.ConvertDBNullToDateTime(s1["LastTime"]).ToString("yyyy-MM-dd HH:mm:ss"),
                };
                rst.data = res1.ToList();
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("保存修改错误数据错误:" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 25
0
        private bool AddType(ref SortedList <string, Data> source, ref List <Data> ld, int type)
        {
            if (source.Count == 0)
            {
                return(true);
            }
            Data    de = new Data();
            decimal useValE0 = 0, useValEa = 0;

            foreach (var dd in source)
            {
                de.FunType = type == 0 ? "E" : "E4";
                de.Type    = 0;
                de.Time    = dd.Value.Time;
                if (!string.IsNullOrEmpty(de.DataValue))
                {
                    de.DataValue = de.DataValue + ",";
                }
                if (dd.Key.Equals("E0"))
                {
                    de.DataValue = "E0:{0}";
                    useValE0     = CommFunc.ConvertDBNullToDecimal(dd.Value.DataValue);
                }
                else
                {
                    useValEa     = useValEa + CommFunc.ConvertDBNullToDecimal(dd.Value.DataValue);
                    de.DataValue = de.DataValue + dd.Key + ":" + dd.Value.DataValue;
                }
            }
            bool rst = true;

            if (Math.Abs(useValE0 - useValEa) > (decimal)0.01)
            {
                FileLog.WriteLog((type == 0 ? "非" : "") + "冻结数据E0不等于4个费率之和:" + de.DataValue);
                rst = false;
            }
            else
            {
                de.DataValue = string.Format(de.DataValue, useValEa.ToString());
                ld.Add(de);
            }
            return(rst);
        }
Exemplo n.º 26
0
        /// <summary>
        /// 采集异常告警列表
        /// </summary>
        /// <returns></returns>
        public APIRst GetYdAlarmOfUnusualList(string strcName, string coName, string startTime, string endTime)
        {
            APIRst rst = new APIRst();

            try
            {
                DataTable dtSource = bll.GetYdAlarmOfUnusualList(strcName, coName, CommFunc.ConvertDBNullToDateTime(startTime), CommFunc.ConvertDBNullToDateTime(endTime));
                int       total    = dtSource.Rows.Count;
                var       res1     = from s1 in dtSource.AsEnumerable()
                                     select new
                {
                    RowId       = CommFunc.ConvertDBNullToInt32(s1["RowId"]),
                    Co_id       = CommFunc.ConvertDBNullToInt32(s1["Co_id"]),
                    Log_id      = CommFunc.ConvertDBNullToInt32(s1["Log_id"]),
                    Module_id   = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                    ModuleName  = CommFunc.ConvertDBNullToString(s1["ModuleName"]),
                    Fun_id      = CommFunc.ConvertDBNullToInt32(s1["Fun_id"]),
                    CoStrcName  = CommFunc.ConvertDBNullToString(s1["CoStrcName"]),
                    CoName      = CommFunc.ConvertDBNullToString(s1["CoName"]),
                    ModuleAddr  = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                    ModuleAddrS = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                    AType       = CommFunc.ConvertDBNullToString(s1["AType"]),
                    Content     = CommFunc.ConvertDBNullToString(s1["Content"]),
                    ErrCode     = CommFunc.ConvertDBNullToString(s1["ErrCode"]),
                    CollectTime = CommFunc.ConvertDBNullToDateTime(s1["CollectTime"]).ToString("yyyy-MM-dd HH:mm:ss"),
                    FirstVal    = CommFunc.ConvertDBNullToDecimal(s1["FirstVal"]),
                    LastVal     = CommFunc.ConvertDBNullToDecimal(s1["LastVal"]),
                    LastValOld  = CommFunc.ConvertDBNullToDecimal(s1["LastVal"]),
                    LastTime    = CommFunc.ConvertDBNullToDateTime(s1["LastTime"]).ToString("yyyy-MM-dd HH:mm:ss"),
                };
                object obj = new { total = total, rows = res1.ToList() };
                rst.data = obj;
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("获取告警内容错误(GetYdAlarmOfUnusualList)", ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 27
0
        private int MeterInfo(DataRow dr, int esp_id)
        {
            v1_gateway_esp_meterVModel vm = new v1_gateway_esp_meterVModel()
            {
                Esp_id    = esp_id,
                MeterAddr = CommFunc.ConvertDBNullToString(dr["MeterAddr"]),
                Multiply  = CommFunc.ConvertDBNullToDecimal(dr["Multiply"])
            };
            string moduleType = CommFunc.ConvertDBNullToString(dr["ModuleType"]);
            string msg        = "";
            bool   isUp       = false;
            //更新
            DataTable dtMdInfo = dal.GetMeterInfo(esp_id, vm.MeterAddr);

            DataRow[] arr = dtMdInfo.Select();
            if (arr.Count() > 0)
            {
                vm.Meter_id = CommFunc.ConvertDBNullToInt32(arr[0]["Meter_id"]);
                if (!moduleType.Equals(CommFunc.ConvertDBNullToString(arr[0]["ModuleType"])))
                {
                    isUp = true;
                }
                else if (vm.Multiply != CommFunc.ConvertDBNullToDecimal(arr[0]["Multiply"]))
                {
                    isUp = true;
                }
            }
            else
            {
                isUp = true;
            }
            if (isUp == true)
            {
                int meter_id = dal.UpdateMeterInfo(vm, moduleType, out msg);
                if (meter_id == 0)
                {
                    dr["ErrCode"] = -1;
                    dr["ErrTxt"]  = msg;
                }
            }
            return(vm.Meter_id);
        }
Exemplo n.º 28
0
        public APIRst GetYdAlarmOfChargeList(string strcName, string coName, string isPay, string startTime, string endTime)
        {
            APIRst rst = new APIRst();

            try
            {
                DataTable dtSource = bll.GetYdAlarmOfChargeList(strcName, coName, isPay, CommFunc.ConvertDBNullToDateTime(startTime), CommFunc.ConvertDBNullToDateTime(endTime));
                int       total    = dtSource.Rows.Count;
                var       res1     = from s1 in dtSource.AsEnumerable()
                                     select new
                {
                    RowId      = CommFunc.ConvertDBNullToInt32(s1["RowId"]),
                    Co_id      = CommFunc.ConvertDBNullToInt32(s1["Co_id"]),
                    CoStrcName = CommFunc.ConvertDBNullToString(s1["CoStrcName"]),
                    CoName     = CommFunc.ConvertDBNullToString(s1["CoName"]),
                    Module_id  = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                    ModuleName = CommFunc.ConvertDBNullToString(s1["ModuleName"]),
                    ModuleAddr = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                    IsPay      = CommFunc.ConvertDBNullToInt32(s1["IsPay"]),
                    IsPayS     = CommFunc.ConvertDBNullToString(s1["IsPayS"]),
                    Trade_no   = CommFunc.ConvertDBNullToString(s1["Trade_no"]),
                    PayAmt     = CommFunc.ConvertDBNullToDecimal(s1["PayAmt"]).ToString("f2"),
                    PayVal     = CommFunc.ConvertDBNullToDecimal(s1["PayVal"]).ToString("f2"),
                    ErrCode    = CommFunc.ConvertDBNullToInt32(s1["ErrCode"]),
                    ErrTxt     = ((CommFunc.ConvertDBNullToInt32(s1["IsPay"]) == 1 && CommFunc.ConvertDBNullToInt32(s1["ErrCode"]) == -2) || (CommFunc.ConvertDBNullToInt32(s1["IsPay"]) == 10 && CommFunc.ConvertDBNullToInt32(s1["ErrCode"]) == 0)) ? "用户取消" : CommFunc.ConvertDBNullToString(s1["ErrTxt"]),
                    Create_by  = CommFunc.ConvertDBNullToString(s1["Create_by"]),
                    Create_dt  = CommFunc.ConvertDBNullToDateTime(s1["Create_dt"]).ToString("yyyy-MM-dd HH:mm:ss"),
                    PayType    = CommFunc.ConvertDBNullToInt32(s1["PayType"]),
                    PayTypeS   = CommFunc.ConvertDBNullToString(s1["PayTypeS"]),
                };
                object obj = new { total = total, rows = res1.ToList() };
                rst.data = obj;
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("获取充值用电告警错误(YdAlarmOnList)", ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 29
0
        //缴费总列表
        public APIRst GetYdPrePayInMdOnList(string strcName, string coName, int co_id)
        {
            APIRst rst = new APIRst();

            try
            {
                DataTable dtSource = bll.GetYdPrePayInMdOnList(strcName, coName, co_id);
                int       total    = dtSource.Rows.Count;
                int       RowId    = 0;
                var       res1     = from s1 in dtSource.AsEnumerable()
                                     select new
                {
                    RowId      = ++RowId,
                    Co_id      = CommFunc.ConvertDBNullToInt32(s1["Co_id"]),
                    CoStrcName = CommFunc.ConvertDBNullToString(s1["CoStrcName"]),
                    CoName     = CommFunc.ConvertDBNullToString(s1["CoName"]),
                    Module_id  = CommFunc.ConvertDBNullToInt32(s1["Module_id"]),
                    MeterName  = CommFunc.ConvertDBNullToString(s1["MeterName"]),
                    Fun_id     = CommFunc.ConvertDBNullToInt32(s1["Fun_id"]),
                    ModuleAddr = CommFunc.ConvertDBNullToString(s1["ModuleAddr"]),
                    ChrgVal    = CommFunc.ConvertDBNullToDecimal(s1["ChrgVal"]).ToString("f2"),
                    UseVal     = CommFunc.ConvertDBNullToDecimal(s1["UseVal"]).ToString("f2"),
                    RdVal      = CommFunc.ConvertDBNullToDecimal(s1["RdVal"]).ToString("f2"),
                    RdAmt      = (CommFunc.ConvertDBNullToDecimal(s1["RdVal"]) * CommFunc.ConvertDBNullToDecimal(s1["Price"])).ToString("f2"),
                    Price      = CommFunc.ConvertDBNullToDecimal(s1["Price"]).ToString("f3"),
                    ZsVal      = CommFunc.ConvertDBNullToDecimal(s1["ZsVal"]).ToString("f2"),
                    SyZsVal    = CommFunc.ConvertDBNullToDecimal(s1["SyZsVal"]).ToString("f2"),
                    SyVal      = (CommFunc.ConvertDBNullToDecimal(s1["RdVal"]) - CommFunc.ConvertDBNullToDecimal(s1["SyZsVal"])).ToString("f2")
                };
                object obj = new { total = total, rows = res1.ToList() };
                rst.data = obj;
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("获取预付费页面错误:(GetYdPrePayInMdOnList)", ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemplo n.º 30
0
        /// <summary>
        /// 汇出Excel(充值缴费--打印小票)
        /// </summary>
        /// <returns></returns>
        public APIRst GetYdPrePayInMdExcel(int Co_id, string PayAmt, int IsPay)
        {
            long Room_id = CommFunc.ConvertDBNullToLong(Co_id);              //房间id

            PayAmt = CommFunc.ConvertDBNullToDecimal(PayAmt).ToString("f2"); //缴费金额
            //int IsPay = CommFunc.ConvertDBNullToInt32(Request["IsPay"]);//缴费方式:=0现金充值,=10微信充值
            APIRst rst = new APIRst();

            try
            {
                DataTable dtSource = bll.GetPayList(Room_id, PayAmt, IsPay);
                //string path = GetYdPayLogOnExport(dtSource);
                //return Json(new { rst = true, msg = "", data = path }, JsonRequestBehavior.DenyGet);
                int total = dtSource.Rows.Count;
                var res1  = from s1 in dtSource.AsEnumerable()
                            select new
                {
                    CoStrcName = CommFunc.ConvertDBNullToString(s1["CoStrcName"]),
                    CoName     = CommFunc.ConvertDBNullToString(s1["CoName"]),
                    Multiply   = CommFunc.ConvertDBNullToDecimal(s1["Multiply"]),
                    IsPayS     = CommFunc.ConvertDBNullToString(s1["IsPayS"]),
                    payTypeS   = CommFunc.ConvertDBNullToString(s1["payTypeS"]),
                    PayVal     = CommFunc.ConvertDBNullToDecimal(s1["PayVal"]).ToString("f2"),
                    PayAmt     = CommFunc.ConvertDBNullToDecimal(s1["PayAmt"]).ToString("f2"),
                    Price      = CommFunc.ConvertDBNullToDecimal(s1["Price"]).ToString("f3"),
                    strAmt     = CommFunc.ConvertDBNullToString(s1["strAmt"]),
                    Create_by  = CommFunc.ConvertDBNullToString(s1["Create_by"]),
                    Create_dt  = CommFunc.ConvertDBNullToString(s1["Create_dt"]),
                };
                rst.data = res1.ToList();
                //return Json(new { rst = true, msg = "", data = new { total = total, rows = res1.ToList() } }, JsonRequestBehavior.DenyGet);
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("GetYdPrePayInMdExcel:" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }