using SuperMap.RealEstate.CoreFrameWork; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; using MSPB = SuperMap.RealEstate.MobileServicePlatform.Business; using HWSB = SuperMap.RealEstate.HighWay.Storage.Business; using SRCDB = SuperMap.RealEstate.CoreFrameWork.Dictionary.Business; using SuperMap.RealEstate.Web.UI.WebControls; using SuperMap.RealEstate.Web.UI; using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business; namespace SuperMap.RealEstate.ExchangeData.Modules.ControlVersion { public partial class BatchMsgTree : BasePage { private static IList SERVERPARTSHOP_IDList = new List(); //门店内码集合 protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; InitData();//初始化数据 } #region 方法 -> 初始化数据 private void InitData() { //第一次加载树 //if (Session["StoresList"] != null) //{ // SERVERPARTSHOP_IDList = (IList)Session["StoresList"]; //} //else //{ // if (SERVERPARTSHOP_IDList != null) // SERVERPARTSHOP_IDList.Clear(); // else SERVERPARTSHOP_IDList = new List(); //} if (SERVERPARTSHOP_IDList != null) SERVERPARTSHOP_IDList.Clear(); else SERVERPARTSHOP_IDList = new List(); //初始化树 TreeViewBinding_AutoTypeUser(); TreeViewBinding_Price_Type(); //注册脚本关闭 SetControlClosePopDialog(ButtonClose); } #endregion #region 方法 -> 初始化左树 private void TreeViewBinding_AutoTypeUser() { TreeViewAutoType.Nodes.Clear(); //左边服务区 TreeNode _TreeNodeAll = new TreeNode(); _TreeNodeAll.NavigateUrl = "#"; _TreeNodeAll.Text = "所有省份"; _TreeNodeAll.Value = "1=1"; TreeViewAutoType.Nodes.Add(_TreeNodeAll); MSPB.SERVERPART _SERVERPART = new MSPB.SERVERPART(Transaction); FieldExplain _FieldExplain = DictionaryHelper.GetFieldExplain("DIVISION_CODE", Transaction); DataTable SERVERPART = _SERVERPART.ExecuteDataTable( @"SELECT SERVERPARTCODE,SERVERPART_NAME,PROVINCE_CODE FROM HIGHWAY_EXCHANGE.V_SOFTUPDATE_MAC GROUP BY SERVERPARTCODE,SERVERPART_NAME,PROVINCE_CODE ORDER BY SERVERPARTCODE"); DataTable SERVERPARTSHOP = _SERVERPART.ExecuteDataTable( $@"SELECT SHOPCODE,SHOPNAME,PROVINCE_CODE,SERVERPARTCODE FROM HIGHWAY_EXCHANGE.V_SOFTUPDATE_MAC {(string.IsNullOrEmpty(TextBoxSearch.Text) ? "" : " WHERE SHOPNAME LIKE '%" + TextBoxSearch.Text + "%'")} GROUP BY SHOPCODE,SHOPNAME,PROVINCE_CODE,SERVERPARTCODE ORDER BY SHOPNAME,SHOPCODE"); foreach (FieldEnum _FieldEnum in new FieldEnum(Transaction).FillCollection( $@"WHERE FieldEnum_PID = -1 AND FieldExplain_ID = {_FieldExplain.FieldExplain_ID} AND FieldEnum_Value IN (SELECT PROVINCE_CODE FROM MOBILESERVICE_PLATFORM.T_SERVERPART@MSPB) ORDER BY FIELDENUM_INDEX")) { TreeNode _TreeNodeFirst = new TreeNode(); _TreeNodeFirst.NavigateUrl = "#"; _TreeNodeFirst.Text = $"【{_FieldEnum.FieldEnum_Value}】{_FieldEnum.FieldEnum_Name}"; _TreeNodeFirst.Value = _FieldEnum.FieldEnum_Value; _TreeNodeAll.ChildNodes.Add(_TreeNodeFirst); foreach (DataRow _DataRow in SERVERPART.Select("PROVINCE_CODE = " + _FieldEnum.FieldEnum_Value)) { TreeNode _TreeNodeServerPart = new TreeNode(); _TreeNodeServerPart.NavigateUrl = "#"; _TreeNodeServerPart.Text = $"【{_DataRow["SERVERPARTCODE"].ToString()}】{_DataRow["SERVERPART_NAME"].ToString()}"; _TreeNodeServerPart.Value = _DataRow["SERVERPARTCODE"].ToString(); _TreeNodeFirst.ChildNodes.Add(_TreeNodeServerPart); foreach (DataRow _DataRowShop in SERVERPARTSHOP.Select("PROVINCE_CODE = " + _FieldEnum.FieldEnum_Value + " AND SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'")) { TreeNode _TreeNodeShop = new TreeNode(); _TreeNodeShop.NavigateUrl = "#"; _TreeNodeShop.Text = $"【{_DataRowShop["SHOPCODE"].ToString()}】{_DataRowShop["SHOPNAME"].ToString()}"; _TreeNodeShop.Value = (_FieldEnum.FieldEnum_Value + "," + _DataRow["SERVERPARTCODE"].ToString() + "," + _DataRowShop["SHOPCODE"].ToString()).ToEncrypt(); if (!SERVERPARTSHOP_IDList.Contains(_FieldEnum.FieldEnum_Value + "," + _DataRow["SERVERPARTCODE"].ToString() + "," + _DataRowShop["SHOPCODE"].ToString())) { _TreeNodeServerPart.ChildNodes.Add(_TreeNodeShop); } } if (_TreeNodeServerPart.ChildNodes.Count == 0) _TreeNodeFirst.ChildNodes.Remove(_TreeNodeServerPart); } if (_TreeNodeFirst.ChildNodes.Count == 0) _TreeNodeAll.ChildNodes.Remove(_TreeNodeFirst); } if (_TreeNodeAll.ChildNodes.Count == 0) TreeViewAutoType.Nodes.Remove(_TreeNodeAll); TreeViewAutoType.CollapseAll(); } #endregion #region 方法 -> 初始化右边树 private void TreeViewBinding_Price_Type() { MyTreeView.Nodes.Clear(); //右边服务区 TreeNode _TreeNodeAll = new TreeNode(); _TreeNodeAll.NavigateUrl = "#"; _TreeNodeAll.Text = "所有省份"; _TreeNodeAll.Value = "1=1"; MyTreeView.Nodes.Add(_TreeNodeAll); MSPB.SERVERPART _SERVERPART = new MSPB.SERVERPART(Transaction); FieldExplain _FieldExplain = DictionaryHelper.GetFieldExplain("DIVISION_CODE", Transaction); DataTable SERVERPART = _SERVERPART.ExecuteDataTable( @"SELECT SERVERPARTCODE,SERVERPART_NAME,PROVINCE_CODE FROM HIGHWAY_EXCHANGE.V_SOFTUPDATE_MAC GROUP BY SERVERPARTCODE,SERVERPART_NAME,PROVINCE_CODE ORDER BY SERVERPARTCODE"); DataTable SERVERPARTSHOP = _SERVERPART.ExecuteDataTable( $@"SELECT SHOPCODE,SHOPNAME,PROVINCE_CODE,SERVERPARTCODE FROM HIGHWAY_EXCHANGE.V_SOFTUPDATE_MAC {(string.IsNullOrEmpty(TextBoxSearch.Text) ? "" : " WHERE SHOPNAME LIKE '%" + TextBoxSearch.Text + "%'")} GROUP BY SHOPCODE,SHOPNAME,PROVINCE_CODE,SERVERPARTCODE ORDER BY SHOPNAME,SHOPCODE"); foreach (FieldEnum _FieldEnum in new FieldEnum(Transaction).FillCollection( $@"WHERE FieldEnum_PID = -1 AND FieldExplain_ID = {_FieldExplain.FieldExplain_ID} AND FieldEnum_Value IN (SELECT PROVINCE_CODE FROM MOBILESERVICE_PLATFORM.T_SERVERPART@MSPB) ORDER BY FIELDENUM_INDEX")) { TreeNode _TreeNodeFirst = new TreeNode(); _TreeNodeFirst.NavigateUrl = "#"; _TreeNodeFirst.Text = $"【{_FieldEnum.FieldEnum_Value}】{_FieldEnum.FieldEnum_Name}"; _TreeNodeFirst.Value = _FieldEnum.FieldEnum_Value; _TreeNodeAll.ChildNodes.Add(_TreeNodeFirst); foreach (DataRow _DataRow in SERVERPART.Select("PROVINCE_CODE = " + _FieldEnum.FieldEnum_Value)) { TreeNode _TreeNodeServerPart = new TreeNode(); _TreeNodeServerPart.NavigateUrl = "#"; _TreeNodeServerPart.Text = $"【{_DataRow["SERVERPARTCODE"].ToString()}】{_DataRow["SERVERPART_NAME"].ToString()}"; _TreeNodeServerPart.Value = _DataRow["SERVERPARTCODE"].ToString(); _TreeNodeFirst.ChildNodes.Add(_TreeNodeServerPart); foreach (DataRow _DataRowShop in SERVERPARTSHOP.Select("PROVINCE_CODE = " + _FieldEnum.FieldEnum_Value + " AND SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'")) { TreeNode _TreeNodeShop = new TreeNode(); _TreeNodeShop.NavigateUrl = "#"; _TreeNodeShop.Text = $"【{ _DataRowShop["SHOPCODE"].ToString()}】{_DataRowShop["SHOPNAME"].ToString()}"; _TreeNodeShop.Value = (_FieldEnum.FieldEnum_Value + "," + _DataRow["SERVERPARTCODE"].ToString() + "," + _DataRowShop["SHOPCODE"].ToString()).ToEncrypt(); if (SERVERPARTSHOP_IDList.Contains(_FieldEnum.FieldEnum_Value + "," + _DataRow["SERVERPARTCODE"].ToString() + "," + _DataRowShop["SHOPCODE"].ToString())) { _TreeNodeServerPart.ChildNodes.Add(_TreeNodeShop); } } if (_TreeNodeServerPart.ChildNodes.Count == 0) _TreeNodeFirst.ChildNodes.Remove(_TreeNodeServerPart); } if (_TreeNodeFirst.ChildNodes.Count == 0) _TreeNodeAll.ChildNodes.Remove(_TreeNodeFirst); } if (_TreeNodeAll.ChildNodes.Count == 0) MyTreeView.Nodes.Remove(_TreeNodeAll); treeView_Checked(MyTreeView.Nodes, true); MyTreeView.ExpandAll(); } #endregion #region 方法 -> 树节点选中公共事件 private void treeView_Checked(TreeNodeCollection nodes, bool Checked) { foreach (TreeNode treeNode in nodes) { treeNode.Checked = Checked; treeView_Checked(treeNode.ChildNodes, Checked); } } #endregion #region 方法 -> 左右边TreeView选中节点事件 protected void TreeViewAutoType_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) { //treeView_Checked(e.Node.ChildNodes, e.Node.Checked); } #endregion #region 方法 -> 查询TreeView数据事件 protected void ButtonSearch_Click(object sender, EventArgs e) { TreeViewBinding_AutoTypeUser(); } #endregion #region 方法 -> 选择按钮事件 protected void ButtonSave_Click(object sender, EventArgs e) { TreeNodeCollection nodeList = TreeViewAutoType.CheckedNodes;//得到所有选中复选框的节点集合 foreach (TreeNode node in nodeList) //遍历集合,获得被选中节点的值 { if (node.Parent != null && node.ChildNodes.Count == 0) //排除省份勾选(即排除根)、排除服务区勾选 { if (!SERVERPARTSHOP_IDList.Contains(node.Value.ToDecrypt())) SERVERPARTSHOP_IDList.Add(node.Value.ToDecrypt()); } } TreeViewBinding_AutoTypeUser(); TreeViewBinding_Price_Type(); } #endregion #region 方法 -> 移除按钮事件 protected void ButtonRemove_Click(object sender, EventArgs e) { TreeNodeCollection nodeList = MyTreeView.CheckedNodes; //得到所有选中复选框的节点集合 foreach (TreeNode node in nodeList) //遍历集合,获得被选中节点的值 { if (node.Parent != null && node.ChildNodes.Count == 0) //排除省份勾选(即排除根)、排除服务区勾选 { if (SERVERPARTSHOP_IDList.Contains(node.Value.ToDecrypt())) SERVERPARTSHOP_IDList.Remove(node.Value.ToDecrypt()); } } TreeViewBinding_AutoTypeUser(); TreeViewBinding_Price_Type(); } #endregion #region 方法 -> 关闭按钮事件 protected void buttonClose_Click(object sender, EventArgs e) { ClosePopDialog(); } #endregion #region 方法 -> 保存按钮事件 protected void ButtonOk_Click(object sender, EventArgs e) { Session["StoresList"] = SERVERPARTSHOP_IDList; if (SOFTUPDATE_VERSION.SelectedIndex > 0) { try { foreach (string temp in SERVERPARTSHOP_IDList) { //省份 string _PROVINCE_CODE = temp.Split(",")[0]; //服务区 string _SERVERPARTCODE = temp.Split(",")[1]; //门店 string _SHOPCODE = temp.Split(",")[2]; string _PROVINCE_NAME = string.Empty; //string _SERVERPART_NAME = string.Empty; //string _SERVERPART_ID = string.Empty; //string _SERVERPARTSHOP_ID = string.Empty; //string _SHOPNAME = string.Empty; //string _SOFTUPDATE_DATE = string.Empty; if (string.IsNullOrEmpty(_PROVINCE_CODE) || string.IsNullOrEmpty(_SERVERPARTCODE) || string.IsNullOrEmpty(_SHOPCODE)) { return; } DataTable _DataTable = new MSPB.SERVERPART(this.Transaction).ExecuteDataTable( $@"SELECT * FROM HIGHWAY_EXCHANGE.V_SOFTUPDATE_MAC WHERE PROVINCE_CODE = '{_PROVINCE_CODE}' AND SERVERPARTCODE = '{_SERVERPARTCODE}' AND SHOPCODE = '{_SHOPCODE}'"); if (_DataTable != null && _DataTable.Rows.Count > 0) { //省份 foreach (FieldEnum _FieldEnum in (new FieldEnum(this.Transaction)) .FillCollection(@" WHERE FieldExplain_ID IN (SELECT FieldExplain_ID FROM T_FieldExplain WHERE FieldExplain_Field = 'DIVISION_CODE') AND FieldEnum_PID = -1")) { if (_FieldEnum.FieldEnum_Value == _PROVINCE_CODE) { _PROVINCE_NAME = _FieldEnum.FieldEnum_Name; break; } } ////服务区 //HWSB.SERVERPART _SERVERPART = new HWSB.SERVERPART(Transaction); //_SERVERPART.AddSearchParameter("SERVERPART_CODE", _SERVERPARTCODE); //if (_SERVERPART.Search()) //{ // _SERVERPART_NAME = _SERVERPART.SERVERPART_NAME; // _SERVERPART_ID = _SERVERPART.SERVERPART_ID.ToString(); //} ////门店 //HWSB.SERVERPARTSHOP _SERVERPARTSHOP = new HWSB.SERVERPARTSHOP(Transaction); //_SERVERPARTSHOP.AddSearchParameter("SERVERPART_ID", _SERVERPART_ID); //_SERVERPARTSHOP.AddSearchParameter("SHOPCODE", _SHOPCODE); //if (_SERVERPARTSHOP.Search()) //{ // _SHOPNAME = _SERVERPARTSHOP.SHOPNAME; // _SERVERPARTSHOP_ID = _SERVERPARTSHOP.SERVERPARTSHOP_ID.ToString(); //} DataRow _DataRowSoftversion = new MSPB.SERVERPART(this.Transaction).ExecuteDataTable( @"SELECT * FROM HIGHWAY_EXCHANGE.T_SOFTVERSION WHERE SOFTVERSION_VERSION = '" + SOFTUPDATE_VERSION.SelectedValue + "'").Rows[0]; foreach (DataRow _DataRow in _DataTable.Rows) { string sql = string.Empty; if (!(_DataRow["SOFTUPDATE_VERSION"] != null && !string.IsNullOrEmpty(_DataRow["SOFTUPDATE_VERSION"].ToString()))) { sql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SOFTUPDATE( SOFTUPDATE_ID,PROVINCE_CODE,PROVINCE_NAME,SERVERPART_CODE, SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPCODE,SHOPNAME, MACADDRESS,SOFTUPDATE_DATE,SOFTUPDATE_VERSION,SOFTUPDATE_DESC) VALUES (HIGHWAY_EXCHANGE.SEQ_SOFTUPDATE.NEXTVAL, {0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10})", string.IsNullOrEmpty(_PROVINCE_CODE) ? "null" : ("'" + _PROVINCE_CODE + "'"), string.IsNullOrEmpty(_PROVINCE_NAME) ? "null" : ("'" + _PROVINCE_NAME + "'"), _DataRow["SERVERPARTCODE"] == null ? "null" : ("'" + _DataRow["SERVERPARTCODE"].ToString() + "'"), _DataRow["SERVERPART_NAME"] == null ? "null" : ("'" + _DataRow["SERVERPART_NAME"].ToString() + "'"), _DataRow["SERVERPARTSHOP_ID"] == null ? "null" : _DataRow["SERVERPARTSHOP_ID"].ToString(), string.IsNullOrEmpty(_SHOPCODE) ? "null" : ("'" + _SHOPCODE + "'"), _DataRow["SHOPNAME"] == null ? "null" : ("'" + _DataRow["SHOPNAME"].ToString() + "'"), _DataRow["MACHINE_MACADDRESS"] == null ? "null" : ("'" + _DataRow["MACHINE_MACADDRESS"].ToString() + "'"), _DataRowSoftversion["SOFTVERSION_DATE"] == null ? "null" : ("TO_DATE('" + _DataRowSoftversion["SOFTVERSION_DATE"].ToString() + "','YYYY/MM/DD HH24:MI:SS')"), string.IsNullOrEmpty(SOFTUPDATE_VERSION.SelectedValue) ? "null" : ("'" + SOFTUPDATE_VERSION.SelectedValue + "'"), _DataRowSoftversion["UPDATECONTENT"] == null ? "null" : ("'" + _DataRowSoftversion["UPDATECONTENT"].ToString() + "'")); } else { sql = $@"UPDATE HIGHWAY_EXCHANGE.T_SOFTUPDATE SET PROVINCE_CODE = {(string.IsNullOrEmpty(_PROVINCE_CODE) ? "null" : ("'" + _PROVINCE_CODE + "'"))}, PROVINCE_NAME = {(string.IsNullOrEmpty(_PROVINCE_NAME) ? "null" : ("'" + _PROVINCE_NAME + "'"))}, SERVERPART_CODE = {(_DataRow["SERVERPARTCODE"] == null ? "null" : ("'" + _DataRow["SERVERPARTCODE"].ToString() + "'"))}, SERVERPART_NAME = {(_DataRow["SERVERPART_NAME"] == null ? "null" : ("'" + _DataRow["SERVERPART_NAME"].ToString() + "'"))}, SERVERPARTSHOP_ID = {(_DataRow["SERVERPARTSHOP_ID"] == null ? "null" : _DataRow["SERVERPARTSHOP_ID"].ToString())}, SHOPCODE = {(string.IsNullOrEmpty(_SHOPCODE) ? "null" : ("'" + _SHOPCODE + "'"))}, SHOPNAME = {(_DataRow["SHOPNAME"] == null ? "null" : ("'" + _DataRow["SHOPNAME"].ToString() + "'"))}, SOFTUPDATE_DATE = {(_DataRowSoftversion["SOFTVERSION_DATE"] == null ? "null" : $"TO_DATE('{_DataRowSoftversion["SOFTVERSION_DATE"].ToString()}','YYYY/MM/DD HH24:MI:SS')")}, SOFTUPDATE_VERSION = {(string.IsNullOrEmpty(SOFTUPDATE_VERSION.SelectedValue) ? "null" : ("'" + SOFTUPDATE_VERSION.SelectedValue + "'"))}, SOFTUPDATE_DESC = {(_DataRowSoftversion["UPDATECONTENT"] == null ? "null" : ("'" + _DataRowSoftversion["UPDATECONTENT"].ToString() + "'"))} WHERE PROVINCE_CODE = '{_PROVINCE_CODE}' AND SERVERPART_CODE = '{_SERVERPARTCODE}' AND SHOPCODE = '{_SHOPCODE}'"; } if (!string.IsNullOrEmpty(sql)) { new MSPB.SERVERPART(this.Transaction).ExecuteNonQuery(sql, null); } break; } } } } catch (Exception ex) { Alert("发生错误:" + ex.ToString(), 3); return; } } else { Alert("您未选任何的软件版本", 3); return; } if (SERVERPARTSHOP_IDList == null || (SERVERPARTSHOP_IDList != null && SERVERPARTSHOP_IDList.Count == 0)) { Alert("您未选任何的门店", 3); return; } RefreshOpenerGridPage(RefreshGridPageType.Refresh); Alert("批量操作成功", 3); ClosePopDialog(); } #endregion #region 方法 -> 确定提交按钮 protected void ButtonPass_CallBackClick(object sender, ClientSetEventArgs e) { //业态类型 SOFTUPDATE_VERSION.Clear(); foreach (DataRow _DataRow in (new MSPB.SERVERPART(this.Transaction)).ExecuteDataTable( @"SELECT SOFTVERSION_VERSION,SOFTVERSION_NAME FROM HIGHWAY_EXCHANGE.T_SOFTVERSION WHERE SOFTVERSION_VERSION IS NOT NULL AND SOFTVERSION_DATE IS NOT NULL AND ISVALID = 1 ORDER BY SOFTVERSION_BUILD DESC").Rows) { ListItemEx _ListItemEx = new ListItemEx(); _ListItemEx.Value = _DataRow["SOFTVERSION_VERSION"].ToString(); _ListItemEx.Text = _DataRow["SOFTVERSION_NAME"].ToString(); SOFTUPDATE_VERSION.Items.Add(_ListItemEx); } e.SetDropDownListEx(SOFTUPDATE_VERSION); e.ClientScript = "$('.WorkFlowDialogMark,.WorkFlowDialogTable').css('display','table');$('#" + PanelPass.ClientID + "').css('display','block');"; } #endregion #region 方法 -> 展开收起按钮 protected void Expand_Click(object sender, EventArgs e) { if (Expand.Text == "收起↑") { foreach (TreeNode _TreeNode in TreeViewAutoType.Nodes) { _TreeNode.Expanded = false; } Expand.Text = "展开↓"; } else if (Expand.Text == "展开↓") { TreeViewAutoType.ExpandAll(); Expand.Text = "收起↑"; } } #endregion } }