コード例 #1
0
        public int UpdateModuleInfo(v1_gateway_esp_moduleVModel Md, string coFullName, out string msg)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Clear();
            DataTable obj = new DataTable();

            msg = "";

            strSql.Append("select Co_id from vp_coinfo where Ledger=@Ledger and CoFullName=@CoFullName");
            obj      = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger, CoFullName = coFullName });
            Md.Co_id = obj.Rows.Count > 0 ? CommFunc.ConvertDBNullToInt32(obj.Rows[0]["Co_id"]) : 0;
            if (Md.Co_id == 0)
            {
                msg = "房间" + coFullName + "不存在";
                throw new Exception("房间" + coFullName + "不存在");
            }

            if (Md.Module_id == 0)
            {
                obj = null;
                strSql.Clear();
                strSql.Append("select max(Module_id) as cnt from v1_gateway_esp_module where Ledger=@Ledger");
                obj          = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger });
                Md.Module_id = obj.Rows.Count > 0 ? CommFunc.ConvertDBNullToInt32(obj.Rows[0]["cnt"]) + 1 : 1;
            }
            obj = null;
            strSql.Clear();
            strSql.Append("select Esp_id from v1_gateway_esp_meter where Ledger=@Ledger and Meter_id=@Meter_id");
            obj = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger, Meter_id = Md.Meter_id });
            string Esp_id = CommFunc.ConvertDBNullToString(obj.Rows[0]["Esp_id"]);

            obj = null;
            strSql.Clear();
            strSql.Append("select count(*) as cnt from v1_gateway_esp_meter as a inner join v1_gateway_esp_module as b on a.Ledger=b.Ledger and a.Meter_id=b.Meter_id");
            strSql.Append(" where a.Ledger=@Ledger and b.Module_id!=@Module_id and a.Esp_id=@Esp_id and b.ModuleAddr=@ModuleAddr");
            obj = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger, Module_id = Md.Module_id, Esp_id = Esp_id, ModuleAddr = Md.ModuleAddr });
            if (CommFunc.ConvertDBNullToInt32(obj.Rows[0]["cnt"]) > 0)
            {
                msg = "同一采集器下回路地址" + Md.ModuleAddr + "重复";
                throw new Exception("同一采集器下回路地址" + Md.ModuleAddr + "重复");
            }

            strSql.Clear();
            strSql.Append("insert into v1_gateway_esp_module(");
            strSql.Append("Ledger,Module_id,Meter_id,ModuleName,ModuleAddr,Co_id,Disabled,Remark,EnergyItemCode,Create_by,Create_dt,Update_by,Update_dt)");
            strSql.Append(" values (");
            strSql.Append("@Ledger,@Module_id,@Meter_id,@ModuleAddr,@ModuleAddr,@Co_id,0,'','01000',@SysUid,now(),@SysUid,now())");
            strSql.Append("ON DUPLICATE KEY UPDATE ModuleAddr=@ModuleAddr,Co_id=@Co_id,Update_by=@SysUid,Update_dt=now();");
            ///
            strSql.Append("insert into v1_gateway_esp_module_info(");
            strSql.Append("Ledger,Module_id,IsAlarm,MinPay,Price,Rate_id,Update_by,Update_dt)");
            strSql.Append(" values (");
            strSql.Append("@Ledger,@Module_id,0,0,0,0,@SysUid,now())");
            strSql.Append(" ON DUPLICATE KEY UPDATE Update_by=@SysUid,Update_dt=now();");//MinPay=@MinPay,Price=@Price,Rate_id=@Rate_id,
            SQLHelper.Execute(strSql.ToString(), new { Ledger = this.Ledger, Module_id = Md.Module_id, Meter_id = Md.Meter_id, ModuleAddr = Md.ModuleAddr, Co_id = Md.Co_id, SysUid = this.SysUid });
            return(Md.Module_id);
        }
コード例 #2
0
        /// <summary>
        /// 设置回路信息(电能表信息)
        /// </summary>
        /// <param name="Md"></param>
        /// <returns></returns>
        public int YdModuleOnSaveMd(v1_gateway_esp_moduleVModel Md)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Clear();
            DataTable obj    = new DataTable();
            int       Esp_id = 0;

            strSql.Append("select Esp_id from v1_gateway_esp_meter where Ledger=@Ledger and Meter_id=@Meter_id");
            obj    = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger, Meter_id = Md.Meter_id });
            Esp_id = CommFunc.ConvertDBNullToInt32(obj.Rows[0]["Esp_id"]);

            obj = null;
            strSql.Clear();
            strSql.Append("select count(*) from v1_gateway_esp_meter as a inner join v1_gateway_esp_module as b on a.Ledger=b.Ledger and a.Meter_id=b.Meter_id");
            strSql.Append(" where a.Ledger=@Ledger and b.Module_id!=@Module_id and a.Esp_id=@Esp_id and b.ModuleAddr=@ModuleAddr");
            obj = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger, Module_id = Md.Module_id, Esp_id = Esp_id, ModuleAddr = Md.ModuleAddr });
            if (CommFunc.ConvertDBNullToInt32(obj.Rows[0]["count(*)"]) > 0)
            {
                throw new Exception("同一采集器下回路地址重复");
            }

            obj = null;
            strSql.Clear();
            strSql.Append("select count(*) from v1_gateway_esp_meter as a inner join v1_gateway_esp_module as b on a.Ledger=b.Ledger and a.Meter_id=b.Meter_id");
            strSql.Append(" where a.Ledger=@Ledger and b.Module_id!=@Module_id and a.Esp_id=@Esp_id and b.ModuleName=@ModuleName");
            obj = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger, Module_id = Md.Module_id, Esp_id = Esp_id, ModuleName = Md.ModuleName });
            if (CommFunc.ConvertDBNullToInt32(obj.Rows[0]["count(*)"]) > 0)
            {
                throw new Exception("同一采集器下回路名称重复");
            }
            if (Md.Module_id == 0)
            {
                obj = null;
                strSql.Clear();
                strSql.Append("select max(Module_id) as cnt from v1_gateway_esp_module where Ledger=@Ledger");
                obj          = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger });
                Md.Module_id = obj.Rows.Count > 0 ? CommFunc.ConvertDBNullToInt32(obj.Rows[0]["cnt"]) + 1 : 1;
                //Md.Module_id = CommFunc.ConvertDBNullToInt32(obj.Rows[0]["cnt"]) + 1;
            }

            strSql.Clear();
            strSql.Append("insert into v1_gateway_esp_module(");
            strSql.Append("Ledger,Module_id,Meter_id,ModuleName,ModuleAddr,Disabled,Remark,EnergyItemCode,Create_by,Create_dt,Update_by,Update_dt)");
            strSql.Append(" values (");
            strSql.Append("@Ledger,@Module_id,@Meter_id,@ModuleName,@ModuleAddr,@Disabled,@Remark,@EnergyItemCode,@Uid,now(),@Uid,now())");
            strSql.Append("ON DUPLICATE KEY UPDATE ModuleName=@ModuleName,ModuleAddr=@ModuleAddr,Disabled=@Disabled,");
            strSql.Append("Remark=@Remark,Update_by=@Uid,Update_dt=now();");
            //
            strSql.Append("insert into v1_gateway_esp_module_info(");
            strSql.Append("Ledger,Module_id,IsAlarm,MinPay,Price,Rate_id,Update_by,Update_dt)");
            strSql.Append(" values (");
            strSql.Append("@Ledger,@Module_id,@IsAlarm,@MinPay,@Price,@Rate_id,@Uid,now())");
            strSql.Append("ON DUPLICATE KEY UPDATE IsAlarm=IsAlarm;");//MinPay=@MinPay,Price=@Price,Rate_id=@Rate_id,
            int cc = 0;

            return(SQLHelper.Execute(strSql.ToString(), new { Ledger = this.Ledger, Module_id = Md.Module_id, Meter_id = Md.Meter_id, ModuleName = Md.ModuleName, ModuleAddr = Md.ModuleAddr, Disabled = Md.Disabled, Remark = Md.Remark, EnergyItemCode = Md.EnergyItemCode, Uid = this.SysUid, IsAlarm = Md.IsAlarm, MinPay = Md.MinPay, Price = Md.Price, Rate_id = Md.Rate_id }));
        }
コード例 #3
0
        private int ModuleInfo(DataRow dr, int meter_id)
        {
            v1_gateway_esp_moduleVModel vm = new v1_gateway_esp_moduleVModel()
            {
                Module_id  = 0,
                Meter_id   = meter_id,
                ModuleAddr = CommFunc.ConvertDBNullToString(dr["ModuleAddr"]),
            };
            string coFullName = CommFunc.ConvertDBNullToString(dr["CoFullName"]);
            string msg        = "";
            //
            bool isUp = false;
            //更新
            DataTable dtMdInfo = dal.GetMdInfo(meter_id, vm.ModuleAddr);

            DataRow[] arr = dtMdInfo.Select();
            if (arr.Count() > 0)
            {
                vm.Module_id = CommFunc.ConvertDBNullToInt32(arr[0]["Module_id"]);
                if (!vm.ModuleAddr.Equals(CommFunc.ConvertDBNullToString(arr[0]["ModuleAddr"])))
                {
                    isUp = true;
                }
                else if (!coFullName.Equals(CommFunc.ConvertDBNullToString(arr[0]["CoFullName"])))
                {
                    isUp = true;
                }
            }
            else
            {
                isUp = true;
            }
            if (isUp == true)
            {
                int module_id = dal.UpdateModuleInfo(vm, coFullName, out msg);
                if (module_id == 0)
                {
                    dr["ErrCode"] = -1;
                    dr["ErrTxt"]  = msg;
                }
            }
            return(vm.Module_id);
        }
コード例 #4
0
ファイル: ExpYdModuleBLL.cs プロジェクト: ZQuanLi/Test
 /// <summary>
 /// 设置回路信息(电能表信息)
 /// </summary>
 /// <param name="Gw"></param>
 /// <returns></returns>
 public int YdModuleOnSaveMd(v1_gateway_esp_moduleVModel Md)
 {
     return(dal.YdModuleOnSaveMd(Md));
 }
コード例 #5
0
 public APIRst SetYdModuleOnSaveMd(v1_gateway_esp_moduleVModel md)
 {
     return(infoHelper.YdModuleOnSaveMd(md));
 }