init lserp cs 5.0
This commit is contained in:
@@ -0,0 +1,230 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using ControlLib.com;
|
||||
using CommonLib;
|
||||
using CommonLib.data;
|
||||
|
||||
namespace Lskj.Main.sub
|
||||
{
|
||||
public partial class FrmMessage : FormBase
|
||||
{
|
||||
|
||||
private static FrmMessage _instance = null;
|
||||
|
||||
private FrmMessage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public static FrmMessage Instance
|
||||
{
|
||||
get {
|
||||
if (_instance == null)
|
||||
_instance = new FrmMessage();
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
//=============================================================================================================
|
||||
|
||||
//主界面上的消息标签
|
||||
public Label MessageButton;
|
||||
|
||||
//消息数
|
||||
public int MessageCount = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 更新消息数
|
||||
/// </summary>
|
||||
/// <param name="dec"></param>
|
||||
public void UpdateMessageCount(int dec)
|
||||
{
|
||||
MessageCount += dec;
|
||||
if(MessageButton!=null)
|
||||
MessageButton.Text = "消息:" + MessageCount.ToString();
|
||||
}
|
||||
|
||||
|
||||
private void FrmMessage_Load(object sender, EventArgs e)
|
||||
{
|
||||
//初始化位置
|
||||
this.Top = Screen.PrimaryScreen.Bounds.Height-this.Height-35;
|
||||
this.Left = Screen.PrimaryScreen.Bounds.Width-this.Width-2;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加一条消息
|
||||
/// </summary>
|
||||
/// <param name="MessageId"></param>
|
||||
/// <param name="strInfo"></param>
|
||||
public void AddItem(int MessageId, string strInfo)
|
||||
{
|
||||
SingleSelecter item = new SingleSelecter();
|
||||
item.SetInfo(MessageId, strInfo);
|
||||
panelContainer.Controls.Add(item);
|
||||
item.ContextMenuStrip = this.contextMenuStrip1;
|
||||
item.LblInfo.DoubleClick += new EventHandler(onItemDoubleClick);
|
||||
item.LblInfo.Click += new EventHandler(onItemClick);
|
||||
//if (panelContainer.Controls.Count % 2 == 1)
|
||||
// item.BackColor = Color.LightSlateGray;
|
||||
//else
|
||||
// item.BackColor = Color.White;
|
||||
Reset();
|
||||
UpdateMessageCount(1);
|
||||
}
|
||||
|
||||
//增加和删除后重新将panel中的控件排位置
|
||||
private void Reset()
|
||||
{
|
||||
int startY = 0;
|
||||
for (int i = 0; i < panelContainer.Controls.Count; i++)
|
||||
{
|
||||
Control c = panelContainer.Controls[i];
|
||||
c.Top = startY;
|
||||
startY += c.Height;
|
||||
}
|
||||
}
|
||||
|
||||
//删除选中
|
||||
private void btnDelSelected_Click(object sender, EventArgs e)
|
||||
{
|
||||
for(int i=0;i<panelContainer.Controls.Count;)
|
||||
{
|
||||
Control c = panelContainer.Controls[i];
|
||||
SingleSelecter item = (SingleSelecter)c;
|
||||
if(item!=null && item.Checked)
|
||||
{
|
||||
DelMessage0("用户删除信息", item.MessageId);
|
||||
panelContainer.Controls.Remove(c);
|
||||
}
|
||||
else
|
||||
i++;
|
||||
}
|
||||
|
||||
Reset();
|
||||
}
|
||||
|
||||
//删除所有
|
||||
private void btnDelAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(CommandType.Text, "insert P_H_MsgHintEmployeeTab select *,getdate() from P_MsgHintEmployeeTab where LoginAccount='" + ERPInfo.Instance.OperatorName + "'", null);
|
||||
SqlHelper.ExecuteNonQuery(CommandType.Text, "delete P_MsgHintEmployeeTab where LoginAccount='" + ERPInfo.Instance.OperatorName + "'", null);
|
||||
SqlHelper.ExecuteNonQuery(CommandType.Text, "insert P_H_MessageHintTab select *,getdate() from P_MessageHintTab where messageid not in (select messageid from P_H_MessageHintTab)", null);
|
||||
SqlHelper.ExecuteNonQuery(CommandType.Text, "DELETE P_MessageHintTab where messageid not in(select messageid from P_MsgHintEmployeeTab)", null);
|
||||
|
||||
UpdateMessageCount(-MessageCount);
|
||||
|
||||
panelContainer.Controls.Clear();
|
||||
Close();
|
||||
}
|
||||
|
||||
//关闭消息窗体
|
||||
private void btnClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
//这里该怎么处理消息了
|
||||
//UpdateMessageCount(-MessageCount);
|
||||
//panelContainer.Controls.Clear();
|
||||
this.Close();
|
||||
}
|
||||
|
||||
//弹出菜单删除选择项
|
||||
private void menuDelSelect_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach (Control c in panelContainer.Controls)
|
||||
{
|
||||
SingleSelecter item = (SingleSelecter)c;
|
||||
if (item != null && item.Selected)
|
||||
{
|
||||
DelMessage0("用户删除信息", item.MessageId);
|
||||
panelContainer.Controls.Remove(c);
|
||||
Reset();
|
||||
UpdateMessageCount(-1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//单击到某个容器则修改selected状态
|
||||
private void onItemClick(object sender, EventArgs e)
|
||||
{
|
||||
Label lbl = (Label)sender;
|
||||
SingleSelecter item = (SingleSelecter)lbl.Parent;
|
||||
foreach (Control c in panelContainer.Controls)
|
||||
{
|
||||
SingleSelecter item1 = (SingleSelecter)c;
|
||||
if (item1 != null)
|
||||
item1.Selected = false;
|
||||
}
|
||||
item.Selected = true;
|
||||
}
|
||||
|
||||
//双击弹出其他操作窗口
|
||||
private void onItemDoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
Label lbl = (Label)sender;
|
||||
SingleSelecter item = (SingleSelecter)lbl.Parent;
|
||||
//string strInfo = item.LblInfo.Text;
|
||||
//MessageBox.Show(strInfo);
|
||||
string DllFileName = item.DllName;//除了库名还应提供是delphi还是c#标志
|
||||
|
||||
if (DllFileName!="")
|
||||
{
|
||||
this.Hide();
|
||||
//Gtime4id = 1;
|
||||
|
||||
//string NewModelFlag = "";
|
||||
//PubUtil.LoadDll(DllFileName, NewModelFlag);
|
||||
PubUtil.LoadDelphiDll(PubUtil.AbsolutelyPath + "lib/" + DllFileName, DllFileName, DllFileName, DllFileName, "OK", 100, "");
|
||||
//rightstr(node.Values[3], 12)
|
||||
//Gtime4id := 0;
|
||||
this.Show();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查阅消息后处理
|
||||
/// </summary>
|
||||
/// <param name="SysMessage"></param>
|
||||
/// <param name="messageid"></param>
|
||||
private void DelMessage0(string SysMessage, int messageid)
|
||||
{
|
||||
try
|
||||
{
|
||||
string strSql = string.Format("update P_MessageHintTab set HintType=0 where HintType=1 and messageid='{0}'", messageid);
|
||||
SqlHelper.ExecuteNonQuery(CommandType.Text, strSql, null);
|
||||
// MgePackageDel.messageid := messageid;
|
||||
// MgePackageDel.SqlValue := IntToStr(messageid) + '|';
|
||||
// MgePackageDel.LoginAccounts := GOperatorname;
|
||||
// MgePackageDel.Remark := SysMessage;
|
||||
// MgePackageDel.OpWay := 4;
|
||||
// MgePackageDel.ADOSP := pr_MessageHintop;
|
||||
// PubleUnit.MessAgeMge.FDeleteMessage(MgePackageDel);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
PubUtil.WriteError("查阅消息后处理出错" , ex.Message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否可以释放窗体
|
||||
/// </summary>
|
||||
public bool CanClose = false;
|
||||
|
||||
private void FrmMessage_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (!CanClose && e.CloseReason == CloseReason.UserClosing)
|
||||
{
|
||||
e.Cancel = true;
|
||||
this.Hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user