2025-03-27 15:05:14 +08:00

236 lines
11 KiB
C#

using System;
using System.Data;
using System.Web.UI.WebControls;
using SuperMap.RealEstate.Web.UI.WebControls;
using SuperMap.RealEstate.HighWay.Storage.Business;
namespace SuperMap.RealEstate.ExchangeData.Modules.MachineInfo
{
public partial class ModifyConfig : SuperMap.RealEstate.Web.UI.PageValid
{
#region ->
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
DropDownListLoad();
Parameter_SelectedValueChanged(null, e);
BindServerPartData();
}
#endregion
#region ->
private void DropDownListLoad()
{
//绑定参数列表
Parameter.Items.Clear();
string sql = "SELECT FIELDENUM_NAME,FIELDENUM_VALUE FROM HIGHWAY_EXCHANGE.V_FIELDENUM WHERE FIELDENUM_BATCH = 1";
Business.FIELDENUM _FIELDENUM = new Business.FIELDENUM(this.Transaction);
DataTable dt = _FIELDENUM.ExecuteDataTable(sql);
foreach (DataRow _DataRow in dt.Rows)
{
ListItemEx _ListItemEx = new ListItemEx();
_ListItemEx.Text = _DataRow["FIELDENUM_NAME"].ToString();
_ListItemEx.Value = _DataRow["FIELDENUM_VALUE"].ToString();
Parameter.Items.Add(_ListItemEx);
}
}
#endregion
#region ->
protected void Parameter_SelectedValueChanged(object sender, EventArgs e)
{
//初始化属性
TextBoxParameter.Text = "";
DropDownListParameter.Visible = false;
TextBoxParameter.Visible = false;
TextBoxParameter.ValidType = ValidTypeEnum.NoSet;
//string name = Parameter.SelectedItem.Text;
#region
Business.FIELDENUM _FIELDENUM = new Business.FIELDENUM(this.Transaction);
string sql =
"SELECT FIELDENUM_CONTROLTYPE,FIELDENUM_INITIALVALUE FROM HIGHWAY_EXCHANGE.V_FIELDENUM WHERE FIELDENUM_VALUE = '" + Parameter.SelectedValue + "'";
DataTable ControltypeTable = _FIELDENUM.ExecuteDataTable(sql);
//根据控件类型判断显示控件
if (ControltypeTable.Rows.Count > 0)
{
if (ControltypeTable.Rows[0]["FIELDENUM_CONTROLTYPE"].ToString() == "0")
{
DropDownListParameter.Visible = true;
}
else if (ControltypeTable.Rows[0]["FIELDENUM_CONTROLTYPE"].ToString() == "1")
{
TextBoxParameter.Text = ControltypeTable.Rows[0]["FIELDENUM_INITIALVALUE"].ToString();
TextBoxParameter.Visible = true;
//if (name == "总部IP")
//{
// TextBoxParameter.ValidType = ValidTypeEnum.IP;
//}
}
}
DropDownListParameter.Items.Clear();
//参数值下拉框绑定值
string sqls =
@"SELECT FIELDENUM_DESC,FIELDENUM_INITIALVALUE FROM HIGHWAY_EXCHANGE.T_FIELDENUM WHERE FIELDENUM_PID =(
SELECT FIELDENUM_ID FROM HIGHWAY_EXCHANGE.T_FIELDENUM WHERE FIELDENUM_PID = (
SELECT FIELDENUM_ID FROM PLATFORM_DICTIONARY.T_FIELDENUM@HWS WHERE FIELDENUM_VALUE = '" + Parameter.SelectedValue + "'))";
DataTable table = _FIELDENUM.ExecuteDataTable(sqls);
//获取下拉框默认值并绑定
string _SelectSql =
@"SELECT FIELDENUM_OPTION FROM HIGHWAY_EXCHANGE.T_FIELDENUM WHERE FIELDENUM_PID = (
SELECT FIELDENUM_ID FROM PLATFORM_DICTIONARY.T_FIELDENUM@HWS WHERE FIELDENUM_VALUE = '" + Parameter.SelectedValue + "')";
DataTable tables = _FIELDENUM.ExecuteDataTable(_SelectSql);
if (table.Rows.Count > 0)
{
foreach (DataRow dr in table.Rows)
{
ListItemEx _ListItemEx = new ListItemEx();
_ListItemEx.Text = dr["FIELDENUM_DESC"].ToString();
_ListItemEx.Value = dr["FIELDENUM_INITIALVALUE"].ToString();
if (tables.Rows[0][0].ToString() == dr["FIELDENUM_INITIALVALUE"].ToString())
{
_ListItemEx.Selected = true;
}
DropDownListParameter.Items.Add(_ListItemEx);
}
}
#endregion
}
#endregion
#region ->
protected void ButtonSave_Click(object sender, EventArgs e)
{
Business.CONFIGURATION _CONFIGURATION = new Business.CONFIGURATION(this.Transaction);
//获取要修改的参数的值
string Parametertxt = "";
if (TextBoxParameter.Visible == true)
{
Parametertxt = TextBoxParameter.Text;
}
else
{
Parametertxt = DropDownListParameter.SelectedValue;
}
//获取选择的服务区和门店
string SERVERPARTCODE = ""; string _SERVERPARTSHOP_ID = "";
foreach (TreeNode _FormatTreeNode in MyTreeView.Nodes)
{
foreach (TreeNode _FirstTreeNode in _FormatTreeNode.ChildNodes)
{
foreach (TreeNode _TreeChildNode in _FirstTreeNode.ChildNodes)
{
if (_TreeChildNode.Checked)
{
_SERVERPARTSHOP_ID += (_SERVERPARTSHOP_ID == "" ? "" : ",") + _TreeChildNode.Value;
}
}
}
}
//执行修改和添加
if (_SERVERPARTSHOP_ID != "")
{
string _UpdateSql = "UPDATE HIGHWAY_EXCHANGE.T_CONFIGURATION A SET CONFIGURATION_VALUES = '" + Parametertxt +
"',CONFIGURATION_DATE = SYSDATE,CONFIGURATION_DESC = '" + PassportInfo.Name +
"' WHERE EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_CONFIGURATION B WHERE B.MACADDRESS = A.MACADDRESS AND " +
"B.CONFIGURATION_NAME = A.CONFIGURATION_NAME) AND CONFIGURATION_NAME = '" +
Parameter.SelectedValue + "' AND SERVERPARTSHOP_ID IN (" + _SERVERPARTSHOP_ID + ")";
string _InsertSql = @"INSERT INTO HIGHWAY_EXCHANGE.T_CONFIGURATION
(CONFIGURATION_ID,SERVERPARTCODE,SERVERPART_ID,SERVERPARTSHOP_ID,SHOPCODE,MACHINECODE,MACADDRESS,
CONFIGURATION_NAME,CONFIGURATION_VALUES,CONFIGURATION_DATE,CONFIGURATION_DESC)
SELECT
HIGHWAY_EXCHANGE.SEQ_CONFIGURATION.NEXTVAL,A.SERVERPARTCODE,B.SERVERPART_ID,
C.SERVERPARTSHOP_ID,A.SHOPCODE,A.MACHINECODE,A.MACHINE_MACADDRESS,'" +
Parameter.SelectedValue + "','" + Parametertxt + "',SYSDATE,'" + PassportInfo.Name + @"'
FROM
HIGHWAY_EXCHANGE.T_MACHINEINFO A,
HIGHWAY_STORAGE.T_SERVERPART@HWS B,
HIGHWAY_STORAGE.T_SERVERPARTSHOP@HWS C
WHERE
B.SERVERPART_CODE = A.SERVERPARTCODE AND A.SHOPCODE = C.SHOPCODE AND
C.SERVERPART_ID = B.SERVERPART_ID AND C.SERVERPARTSHOP_ID IN (" + _SERVERPARTSHOP_ID + @") AND
REGEXP_LIKE(A.MACHINE_MACADDRESS,'^[A-F0-9]{2}(:[A-F0-9]{2}){5}$') AND
NOT EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_CONFIGURATION D WHERE D.CONFIGURATION_NAME = '" +
Parameter.SelectedValue + "' AND D.MACADDRESS = A.MACHINE_MACADDRESS)";
try
{
_CONFIGURATION.ExecuteNonQuery(_UpdateSql, null);
_CONFIGURATION.ExecuteNonQuery(_InsertSql, null);
Alert("下发成功!", 3);
}
catch (Exception ex)
{
Alert("下发失败,请重试!\r\n" + ex.Message, 3);
}
}
else
{
Alert("请选择,要下发的门店!", 3);
}
}
#endregion
#region ->
private void BindServerPartData()
{
MyTreeView.Nodes.Clear();
//获得服务区信息
TreeNode _TreeNode = new TreeNode();
_TreeNode.NavigateUrl = "#";
_TreeNode.Text = "所有服务区";
_TreeNode.Value = "1=1";
MyTreeView.Nodes.Add(_TreeNode);
foreach (SERVERPART _SERVERPART in new SERVERPART(Transaction).GetPassportServerPart(PassportInfo.CityAuthority, "1000,1001"))
{
TreeNode _ChildTreeNode = new TreeNode();
_ChildTreeNode.NavigateUrl = "#";
_ChildTreeNode.Text = _SERVERPART.SERVERPART_NAME;
_ChildTreeNode.Value = _SERVERPART.SERVERPART_CODE.ToString();
foreach (SERVERPARTSHOP _SERVERPARTSHOP in new SERVERPARTSHOP(Transaction).FillCollection(
"WHERE ISVALID = 1 AND SHOPCODE IS NOT NULL AND SERVERPART_ID = " + _SERVERPART.SERVERPART_ID +
" AND NVL(STATISTICS_TYPE,'0') NOT LIKE '%1020%' ORDER BY SHOPTRADE,SHOPSHORTNAME,SHOPREGION"))
{
TreeNode _SecondTreeNode = new TreeNode();
_SecondTreeNode.NavigateUrl = "#";
_SecondTreeNode.Text = _SERVERPARTSHOP.SHOPNAME;
switch (_SERVERPARTSHOP.BUSINESS_STATE)
{
case 1010:
_SecondTreeNode.Text += "【待运营】";
break;
case 2000:
_SecondTreeNode.Text += "【暂停中】";
break;
case 3000:
_SecondTreeNode.Text += "【已关闭】";
break;
}
_SecondTreeNode.Value = _SERVERPARTSHOP.SERVERPARTSHOP_ID.ToString();
_ChildTreeNode.ChildNodes.Add(_SecondTreeNode);
}
if (_ChildTreeNode.ChildNodes.Count > 0)
{
_TreeNode.ChildNodes.Add(_ChildTreeNode);
_TreeNode.Expanded = true;
}
}
}
protected void MyTreeView_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
treeView_Checked(e.Node.ChildNodes, e.Node.Checked);
}
private void treeView_Checked(TreeNodeCollection nodes, bool Checked)
{
foreach (TreeNode treeNode in nodes)
{
treeNode.Checked = Checked;
treeView_Checked(treeNode.ChildNodes, Checked);
}
}
#endregion
}
}