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); }
/// <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 })); }
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); }
/// <summary> /// 设置回路信息(电能表信息) /// </summary> /// <param name="Gw"></param> /// <returns></returns> public int YdModuleOnSaveMd(v1_gateway_esp_moduleVModel Md) { return(dal.YdModuleOnSaveMd(Md)); }
public APIRst SetYdModuleOnSaveMd(v1_gateway_esp_moduleVModel md) { return(infoHelper.YdModuleOnSaveMd(md)); }