174 lines
6.9 KiB
C#
174 lines
6.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using UpdateListBuilder;
|
|
|
|
namespace HighWaySoftRelease
|
|
{
|
|
public partial class FormMain : Form
|
|
{
|
|
public static string host = ConfigurationManager.AppSettings["host"];
|
|
|
|
public static string port = ConfigurationManager.AppSettings["port"];
|
|
|
|
public static string service_name = ConfigurationManager.AppSettings["service_name"];
|
|
|
|
public static string dbname = ConfigurationManager.AppSettings["dbname"];
|
|
|
|
public static string UserName = ConfigurationManager.AppSettings["UserName"];
|
|
|
|
public static string UserPwd = ConfigurationManager.AppSettings["UserPwd"];
|
|
|
|
OracleHelper _OracleHelper = new OracleHelper(host, service_name, UserName, UserPwd);
|
|
public FormMain()
|
|
{
|
|
InitializeComponent();
|
|
getserverpartlist();
|
|
getVersionList();
|
|
}
|
|
|
|
private void getVersionList()
|
|
{
|
|
string _SelectSql = "SELECT SOFTVERSION_ID,SOFTVERSION_BUILD,SOFTVERSION_VERSION,SOFTVERSION_NAME FROM " +
|
|
dbname + ".T_SOFTVERSION ORDER BY SOFTVERSION_BUILD DESC";
|
|
try
|
|
{
|
|
DataTable _VersionTable = _OracleHelper.ExcuteSqlGetDataSet(_SelectSql, "T_SOFTVERSION").Tables[0];
|
|
cobVersion.DataSource = _VersionTable;
|
|
cobVersion.ValueMember = "SOFTVERSION_VERSION";
|
|
cobVersion.DisplayMember = "SOFTVERSION_NAME";
|
|
}
|
|
catch
|
|
{
|
|
MessageBox.Show("服务器连接失败,程序将自动退出");
|
|
Environment.Exit(0);
|
|
}
|
|
}
|
|
///<summary>
|
|
/// 加载服务区列表
|
|
/// </summary>
|
|
private void getserverpartlist()
|
|
{
|
|
string _strsql = "SELECT PROVINCE_CODE,PROVINCE_NAME FROM " + dbname +
|
|
".T_SOFTUPDATE GROUP BY PROVINCE_CODE,PROVINCE_NAME ORDER BY PROVINCE_CODE ASC";
|
|
if (!treeView1.Nodes.ContainsKey("全国"))
|
|
{
|
|
TreeNode root = new TreeNode("全国");
|
|
root.Name = "全国";
|
|
treeView1.Nodes.Add(root);
|
|
treeView1.ExpandAll();
|
|
using (DataTable dt = _OracleHelper.ExcuteSqlGetDataSet(_strsql, "t_softupdate").Tables["t_softupdate"])
|
|
{
|
|
if (dt.Rows.Count > 0)
|
|
{
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
TreeNode node = new TreeNode("[" + row["province_code"].ToString() + "]" + row["province_name"].ToString());
|
|
node.Name = row["province_code"].ToString();
|
|
if (!root.Nodes.ContainsKey(node.Name))
|
|
{
|
|
root.Nodes.Add(node);
|
|
_strsql = "SELECT DISTINCT SERVERPART_CODE,SERVERPART_NAME,SOFTUPDATE_VERSION " +
|
|
"FROM " + dbname + ".T_SOFTUPDATE WHERE PROVINCE_CODE = '" +
|
|
row["province_code"].ToString() + "' ORDER BY SERVERPART_CODE ASC";
|
|
using (DataTable dtServerPart = _OracleHelper.ExcuteSqlGetDataSet(_strsql, "serverpart").Tables["serverpart"])
|
|
{
|
|
if (dtServerPart.Rows.Count > 0)
|
|
{
|
|
foreach (DataRow serverrow in dtServerPart.Rows)
|
|
{
|
|
TreeNode clicknode = new TreeNode("(" + serverrow["softupdate_version"].ToString() + ")[" +
|
|
serverrow["serverpart_code"].ToString() + "]" + serverrow["serverpart_name"].ToString());
|
|
clicknode.Name = serverrow["serverpart_code"].ToString();
|
|
if (!node.Nodes.ContainsKey(clicknode.Name))
|
|
{
|
|
node.Nodes.Add(clicknode);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 需要更新的服务区
|
|
/// </summary>
|
|
private string UpdateServerPart()
|
|
{
|
|
string code = "";
|
|
foreach (TreeNode root in treeView1.Nodes)
|
|
{
|
|
if (root.Checked)
|
|
{
|
|
if (root.Name == "全国")
|
|
{
|
|
code = "ALL";
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
foreach (TreeNode node in root.Nodes)
|
|
{
|
|
//if (node.Checked)
|
|
//{
|
|
// foreach (TreeNode clicknode in node.Nodes)
|
|
// {
|
|
// code += (code == ""?"":"|") + clicknode.Name;
|
|
// }
|
|
//}
|
|
//else
|
|
//{
|
|
foreach (TreeNode clicknode in node.Nodes)
|
|
{
|
|
if (clicknode.Checked)
|
|
{
|
|
code += (code == "" ? "" : "|") + clicknode.Name;
|
|
}
|
|
}
|
|
//}
|
|
}
|
|
}
|
|
}
|
|
return code;
|
|
}
|
|
|
|
private void btnEnter_Click(object sender, EventArgs e)
|
|
{
|
|
if(UpdateServerPart()=="")
|
|
{
|
|
MessageBox.Show("请勾选需要更新的服务区");
|
|
return;
|
|
}
|
|
string _Version = cobVersion.SelectedValue.ToString();
|
|
if(_Version=="")
|
|
{
|
|
MessageBox.Show("请选择需要更新的版本号");
|
|
return;
|
|
}
|
|
string _strsql = "UPDATE " + dbname + ".T_SOFTUPDATE SET SOFTUPDATE_VERSION = '" + _Version +
|
|
"',SOFTUPDATE_DATE = TO_DATE('" + DateTime.Now.ToString() + "','YYYY/MM/DD HH24:MI:SS') " +
|
|
(UpdateServerPart() == "ALL" ? "" : "WHERE SERVERPART_CODE IN ('" + UpdateServerPart().Replace("|", "','") + "')");
|
|
try
|
|
{
|
|
_OracleHelper.ExcuteSql(_strsql);
|
|
MessageBox.Show("系统更新推送成功");
|
|
}
|
|
catch
|
|
{
|
|
MessageBox.Show("系统更新推送失败,请重试");
|
|
}
|
|
}
|
|
}
|
|
}
|