帮忙改一下代码

0 1看天下 2010-11-26 04:18:28
namespace Biz.Client.RP.RP01
{
public partial class subForm_RP0111 : ControlBase
{
//调用服务器端方法的路径
string serverCall_Str = "Biz.Server.RP.RP01.DLL#Biz.Server.RP.RP01.BF_RP0111#";

//从数据库中获取RP_UPLOADFLAG的记录
DataSet ds_BD_SYS = new DataSet();
DataTable dt_BD_SYS = new DataTable();

public subForm_RP0111()
{
InitializeComponent();
}

public void LoadAll()
{
string sSqL = "select t.ssysparm_code, t.ssysparm_vale, t.scorpcode from bd_sys t where t.ssysparm_code='RP_UPLOADFLAG' and t.scorpcode='" + UIP.FrameManager.GetGlobalVariable().CorpCode + "'";
string[] arr = new string[1];
arr[0] = sSqL;
object[] args = new object[1];
args[0] = arr;

ReturnObject retObj_GetRP_UpLoadFlag = this.UIP.FrameManager.ServerCall(serverCall_Str + "getDataSet",args);

ds_BD_SYS = retObj_GetRP_UpLoadFlag.ReturnValue as DataSet;
dt_BD_SYS = ds_BD_SYS.Tables["bd_sys"];

//如果不存在RP_UPLOADFLAG的记录
if (dt_BD_SYS.Rows.Count == 0)
{
//关闭预算开关
setRPOpen(false);
//关闭监管开关
setJGOpen(false);
//关闭决算开关
setBGOpen(false);
}
//如果存在RP_UPLOADFLAG的记录
else
{
//判断RP_UPLOADFLAG的记录是否为Y/N
if (dt_BD_SYS.Rows[0]["ssysparm_vale"].ToString() == "Y"
|| dt_BD_SYS.Rows[0]["ssysparm_vale"].ToString() == "N")
{
//如果RP_UPLOADFLAG的记录为Y
if (dt_BD_SYS.Rows[0]["ssysparm_vale"].ToString() == "Y")
{
//打开预算开关
setRPOpen(true);
//关闭监管开关
setJGOpen(false);
//关闭决算开关
setBGOpen(false);

}
//如果RP_UPLOADFLAG的记录为N
else
{
//关闭预算开关
setRPOpen(true);
//关闭监管开关
setJGOpen(false);
//关闭决算开关
setBGOpen(false);
}
}
//如果为标准格式数据(BG:Y/N;JG:Y/N;RP:Y/N)
else
{
if (dt_BD_SYS.Rows.Count > 0)
{
string flag = this.dt_BD_SYS.Rows[0]["ssysparm_vale"].ToString();
switch (flag)
{
case "RP:N;JG:N;BG:Y":
setRPOpen(false);
setJGOpen(false);
setBGOpen(true);
break;
case "RP:N;JG:N;BG:N":
setRPOpen(false);
setJGOpen(false);
setBGOpen(false);
break;
case "RP:N;JG:Y;BG:N":
setRPOpen(false);
setJGOpen(true);
setBGOpen(false);
break;
case "RP:N;JG:Y;BG:Y":
setRPOpen(false);
setJGOpen(true);
setBGOpen(true);
break;
case "RP:Y;JG:N;BG:N":
setRPOpen(true);
setJGOpen(false);
setBGOpen(false);
break;
case "RP:Y;JG:N;BG:Y":
setRPOpen(true);
setJGOpen(false);
setBGOpen(true);
break;
case "RP:Y;JG:Y;BG:N":
setRPOpen(true);
setJGOpen(true);
setBGOpen(false);
break;
case "RP:Y;JG:Y;BG:Y":
setRPOpen(true);
setJGOpen(true);
setBGOpen(true);
break;
}
}
else
{
//关闭预算开关
setRPOpen(false);
//关闭监管开关
setJGOpen(false);
//关闭决算开关
setBGOpen(false);
}
}
}
}

/// <summary>
/// 设置预算开关状态
/// </summary>
/// <param name="beOpen"></param>
private void setRPOpen(bool beOpen)
{
if (beOpen == true)
{
this.yytRadioButton_RP_Open.Checked = true;
}
else
{
this.yytRadioButton_RP_Close.Checked = true;
}
}
/// <summary>
/// 获取预算开关状态
/// </summary>
/// <returns></returns>
private bool getRPOpen()
{
if (this.yytRadioButton_RP_Open.Checked == true)
{
return true;
}
else if (this.yytRadioButton_RP_Close.Checked == true)
{
return false;
}
return false;
}

/// <summary>
/// 设置监管开关状态
/// </summary>
/// <param name="beOpen"></param>
private void setJGOpen(bool beOpen)
{
if (beOpen == true)
{
this.yytRadioButton_JG_Open.Checked = true;
}
else
{
this.yytRadioButton_JG_Close.Checked = true;
}
}
/// <summary>
/// 获取监管开关状态
/// </summary>
/// <returns></returns>
private bool getJGOpen()
{
if (this.yytRadioButton_JG_Open.Checked == true)
{
return true;
}
else if (this.yytRadioButton_JG_Close.Checked == true)
{
return false;
}
return false;
}

/// <summary>
/// 设置决算开关状态
/// </summary>
/// <param name="beOpen"></param>
private void setBGOpen(bool beOpen)
{
if (beOpen == true)
{
this.yytRadioButton_BG_Open.Checked = true;
}
else
{
this.yytRadioButton_BG_Close.Checked = true;
}
}
/// <summary>
/// 获取决算开关状态
/// </summary>
/// <returns></returns>
private bool getBGOpen()
{
if (this.yytRadioButton_BG_Open.Checked == true)
{
return true;
}
else if (this.yytRadioButton_BG_Close.Checked == true)
{
return false;
}
return false;
}

private string getAllOpenStatus()
{
//三个开关的状态
string allOpenStatus ="";
//预算开关状态
string RPOpenStatus="";
//决算开关状态
string BGOpenStatus="";
//监管开关状态
string JGOpenStatus="";

if (getBGOpen() == true)
{
BGOpenStatus = "BG:Y";
}
if (getBGOpen() == false)
{
BGOpenStatus = "BG:N";
}
if (getJGOpen() == true)
{
JGOpenStatus = "JG:Y";
}
if (getJGOpen() == false)
{
JGOpenStatus = "JG:N";
}
if (getRPOpen() == true)
{
RPOpenStatus = "RP:Y";
}
if (getRPOpen() == false)
{
RPOpenStatus = "RP:N";
}

allOpenStatus=RPOpenStatus + ";" + JGOpenStatus + ";" + BGOpenStatus;
return allOpenStatus;
}

private void btn_Save_Click(object sender, EventArgs e)
{
Datasave();
}
//退出
private void btn_Exit_Click(object sender, EventArgs e)
{
dt_BD_SYS.Rows[0]["ssysparm_vale"] = getAllOpenStatus();

if (dt_BD_SYS.GetChanges() == null)
{
this.UIP.FrameManager.CloseSubForm();
}
else
{
DialogResult dr = this.UIP.FrameManager.ShowQuestion("!提示","数据已改变,是否要保存?", MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
Datasave();
}
else
{
this.UIP.FrameManager.CloseSubForm();
}
}
}
}
点击退出时,无论数据是否改变都出提示框为什么?
...全文
170 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT0329 2010-11-29
  • 打赏
  • 举报
回复
进来讨点分数,都没分数哦!
damjmk2 2010-11-29
  • 打赏
  • 举报
回复
看着头晕..
0 1看天下 2010-11-29
  • 打赏
  • 举报
回复
没人?我已经解决完了,进来就给分哈
内容概要:本文围绕间歇性光伏出力条件下48V直流母线电压的稳定控制与储能系统双向充放电的闭环调控体系展开深入研究,系统探讨了光伏阵列非线性输出特性与锂离子电池储能系统在离网直流微网中的能量均衡建模方法及分层控制策略。通过Simulink平台构建完整的光伏储能直流系统仿真模型,涵盖PV阵列、Boost DC-DC变换器、负载、双向DC-DC变换器及电池系统等关键组件,实现了最大功率点跟踪(MPPT)与储能系统的协同控制,有效应对光照波动引起的功率供需失衡问题。研究采用双PI闭环控制、模型预测控制(MPC)等多种先进控制算法,显著提升了系统的动态响应速度与直流母线电压稳定性,并实现了储能系统在削峰填谷中的优化运行,对于增强离网微网的供电可靠性与能源利用效率具有重要理论价值和工程意义。; 适合人群:具备电力电子、新能源系统或自动控制等相关领域基础知识的研究生、科研人员,以及从事微电网、光伏储能系统开发与设计的工程技术人员。; 使用场景及目标:① 构建适用于离网场景的光伏储能系统Simulink仿真模型;② 实现间歇性光照条件下48V直流母线电压的精确稳定控制与储能系统的双向能量管理;③ 研究MPPT控制与储能充放电策略之间的协同机制,提升系统在复杂工况下的运行稳定性与鲁棒性;④ 为微电网能量管理系统的设计、优化与性能验证提供可靠的理论依据和技术支撑。; 阅读建议:建议结合文中所述的Simulink仿真模型与控制算法,亲自动手实践建模与仿真全过程,重点关注MPPT控制策略的实现、双向DC-DC变换器的设计以及电压外环与电流内环构成的双闭环控制结构的参数整定,并通过设置不同的光照强度变化曲线和负载投切工况,全面测试和评估系统的动态响应能力与控制性能。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧