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

455 lines
24 KiB
C#

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<string> SERVERPARTSHOP_IDList = new List<string>(); //门店内码集合
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
InitData();//初始化数据
}
#region ->
private void InitData()
{
//第一次加载树
//if (Session["StoresList"] != null)
//{
// SERVERPARTSHOP_IDList = (IList<string>)Session["StoresList"];
//}
//else
//{
// if (SERVERPARTSHOP_IDList != null)
// SERVERPARTSHOP_IDList.Clear();
// else SERVERPARTSHOP_IDList = new List<string>();
//}
if (SERVERPARTSHOP_IDList != null)
SERVERPARTSHOP_IDList.Clear();
else SERVERPARTSHOP_IDList = new List<string>();
//初始化树
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
}
}