using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Text;
|
using System.Windows.Forms;
|
using SQLHelper;
|
using Pub_Class;
|
|
namespace BLL
|
{
|
public partial class FrmLogin : Form
|
{
|
public string UserName;
|
public bool isOk;
|
public FrmLogin()
|
{
|
InitializeComponent();
|
}
|
|
private void SetCmbAccount(string sServer)//cmb中设置帐套 //Lock
|
{
|
ClsCNmaster oCn = new ClsCNmaster();
|
DataSet DS ;
|
try
|
{
|
DS = oCn.RunProcReturn("select * from hdsystem_databases where ynuse=1 ", "hdsystem_databases",ref ClsPub.sExeReturnInfo);
|
if (DS == null)
|
{
|
MessageBox.Show("读取帐套信息失败2!" + ClsPub.sExeReturnInfo);
|
return;
|
}
|
cmbAccount.Items.Clear();
|
for (int i = 0; i < DS.Tables[0].Rows.Count; i++)
|
{
|
cmbAccount.Items.Add(DS.Tables[0].Rows[i]["Number"].ToString() + "-" + DS.Tables[0].Rows[i]["CountingRoomName"].ToString());
|
}
|
if (cmbAccount.Items.Count > 0)
|
{
|
cmbAccount.SelectedIndex = 0;
|
ClsIni oIni = new ClsIni();
|
string sNumber = ClsIni.ReadIni("Erp", "DataBaseNumber", "HXErp.ini");
|
for (int j = 0; j < cmbAccount.Items.Count; j++)
|
{
|
if (sNumber.Trim() == cmbAccount.Items[j].ToString().Trim())
|
cmbAccount.SelectedIndex = j;
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("读取帐套信息失败!" + e.Message);
|
}
|
}
|
|
private bool CheckServer()//检查服务器名正确性 //Lock
|
{
|
ClsCN oCn=new ClsCN();
|
if (oCn.CheckOpen())
|
{
|
lblStatus.Text = "服务器连接成功";
|
SetCmbAccount(oCn.sServer);
|
return true;
|
}
|
else
|
{
|
lblStatus.Text = "服务器连接失败";
|
return false;
|
}
|
//测试K3帐套1
|
|
|
|
//测试K3帐套2
|
|
|
}
|
|
private void button2_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
|
private bool AllowLogin() //Lock
|
{
|
if (cmbUser.Text == string.Empty)
|
{
|
MessageBox.Show("用户名不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
cmbUser.Focus();
|
return false;
|
}
|
if (cmbAccount.Text == string.Empty)
|
{
|
MessageBox.Show("错误的帐套!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
return false;
|
}
|
return true;
|
}
|
|
private void btnOK_Click(object sender, EventArgs e) //Lock
|
{
|
if (AllowLogin() != true)
|
return;
|
DataSet ds = null;
|
ClsCNmaster oCn = new ClsCNmaster();
|
ClsCN oCnLoc = new ClsCN();
|
string sDataBase;
|
//sDataBase = oCn.GetDataBase(cmbAccount.Text.Trim());
|
ClsIni oIni = new ClsIni();
|
//ClsIni.WriteIni("Erp", "DataBase",sDataBase.Trim(), "HXERP.ini");
|
DAL.ClsUser oUser = new DAL.ClsUser();
|
|
ds = oUser.CheckCzymc(cmbUser.Text.Trim(),ClsPub.StrToPsd( txtPsd.Text.Trim()));
|
if (ds ==null)
|
{
|
MessageBox.Show("选择的帐套不存在!", "提示");
|
return;
|
}
|
if (ds.Tables[0].Rows.Count >0)
|
{
|
ClsPub.CurUserID = ds.Tables[0].Rows[0]["Czybm"].ToString();
|
this.Close();
|
isOk = true;
|
}
|
else
|
{
|
MessageBox.Show("错误的用户密码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
return;
|
}
|
//得到当前会计期间
|
int sYear = 0;
|
int sPeriod = 0;
|
if (!ClsPub.Sub_GetCurPeriod(ref sYear,ref sPeriod))
|
{
|
MessageBox.Show("得到当前会计期间失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
isOk = false;
|
return;
|
}
|
//
|
this.Close();
|
isOk = true;
|
ClsIni.WriteIni("Erp", "DataBaseNumber", cmbAccount.Text.Trim(), "HXERP.ini");
|
//存入用户名密码
|
//
|
UserName = cmbUser.Text.Trim() + "," + UserName;
|
string[] str = UserName.Split(',');
|
List<string> listStr = new List<string>();
|
foreach (string eachStr in str)
|
{
|
if (!listStr.Contains(eachStr))
|
listStr.Add(eachStr);
|
}
|
UserName = "";
|
if (listStr.Count > 10)
|
{
|
listStr.RemoveAt(10);
|
}
|
foreach (string eachStr in listStr)
|
{
|
UserName = UserName+eachStr + ",";
|
}
|
UserName = UserName.Remove(UserName.LastIndexOf(","), 1);
|
//
|
ClsIni.WriteIni("UserInfo", "UserName", UserName, "HXERP.ini");
|
ClsPub.CurUserName = cmbUser.Text.Trim();
|
ClsPub.AppPath = System.Environment.CurrentDirectory;
|
if(chkRemember.Checked==true )
|
{
|
ClsIni.WriteIni("UserInfo", "UserPsd", txtPsd.Text.Trim(), "HXERP.ini");
|
ClsIni.WriteIni("UserInfo", "Remember", "1", "HXERP.ini");
|
}
|
else
|
{
|
ClsIni.WriteIni("UserInfo", "UserPsd", "", "HXERP.ini");
|
ClsIni.WriteIni("UserInfo", "Remember", "0", "HXERP.ini");
|
}
|
|
}
|
|
private void txtUser_KeyUp(object sender, KeyEventArgs e)
|
{
|
if (e.KeyValue == 13) txtPsd.Focus();
|
|
}
|
|
private void txtPsd_KeyUp(object sender, KeyEventArgs e)
|
{
|
if (e.KeyValue == 13)
|
this.btnOK_Click(sender,e);
|
}
|
|
private void timer1_Tick(object sender, EventArgs e)
|
{
|
timer1.Enabled = false;
|
if (!CheckServer())
|
{
|
MessageBox.Show("数据库测试失败,请在高级选项里设置正确的服务器信息!", "提示!");
|
}
|
ClsIni oIni = new ClsIni();
|
//
|
UserName = ClsIni.ReadIni("UserInfo", "UserName", "HXERP.ini");
|
|
string[] strArr = UserName.Split(',');
|
foreach (string str in strArr)
|
{
|
cmbUser.Items.Add(str);
|
}
|
cmbUser.SelectedIndex = 0;
|
//
|
txtUser.Text = ClsIni.ReadIni("UserInfo", "UserName", "HXERP.ini");
|
if (ClsIni.ReadIni("UserInfo", "Remember", "HXERP.ini") == "1")
|
{
|
txtPsd.Text = ClsIni.ReadIni("UserInfo", "UserPsd", "HXERP.ini");
|
chkRemember.Checked = true;
|
}
|
else
|
{
|
txtPsd.Text ="";
|
chkRemember.Checked = false ;
|
}
|
}
|
|
private void lblChangePsd_Click(object sender, EventArgs e)
|
{
|
if (AllowLogin() != true)
|
return;
|
DataSet ds = null;
|
ClsCNmaster oCn = new ClsCNmaster();
|
DAL.ClsUser oUser = new DAL.ClsUser();
|
ds = oUser.CheckCzymc(cmbUser.Text.Trim(), ClsPub.StrToPsd(txtPsd.Text.Trim()));
|
if (ds.Tables[0].Rows.Count > 0)
|
{
|
FrmChangePsd oChange = new FrmChangePsd();
|
oChange.UserCode = cmbUser.Text.Trim();
|
oChange.ShowDialog();
|
return;
|
}
|
else
|
{
|
MessageBox.Show("错误的用户密码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
txtPsd.SelectAll();
|
return;
|
}
|
}
|
|
private void lblSetServer_Click(object sender, EventArgs e)
|
{
|
FrmSetServer oFrm = new FrmSetServer();
|
oFrm.ShowDialog();
|
timer1.Enabled = true;
|
}
|
|
private void FrmLogin_Load(object sender, EventArgs e)
|
{
|
lblVersion.Text = "服务器版本:" + Pub_Class.ClsPub.VersionNew;
|
lblVersion2.Text = "本地版本:" + Pub_Class.ClsPub.VersionOld;
|
lblIPAddress.Text = "IP:" + Pub_Class.ClsPub.IPAddress + " " + Pub_Class.ClsPub.ComputerName;
|
}
|
|
private void lblStatus_Click(object sender, EventArgs e)
|
{
|
|
}
|
|
private void label4_Click(object sender, EventArgs e)
|
{
|
if (MessageBox.Show("确定要手动更新程序吗?本程序将自动关闭!","提示",MessageBoxButtons.OKCancel)==DialogResult.OK)
|
{
|
string strFileName = ClsPub.AppPath + @"\HX_Update.exe";
|
System.Diagnostics.Process.Start(strFileName);
|
Application.Exit();
|
}
|
}
|
}
|
}
|