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 } }