612 lines
19 KiB
C#
612 lines
19 KiB
C#
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 StackExchange.Redis;
|
|
|
|
namespace Project
|
|
{
|
|
public partial class fMain : Form
|
|
{
|
|
string SearchKey = string.Empty;
|
|
public fMain()
|
|
{
|
|
InitializeComponent();
|
|
this.KeyDown += (s1, e1) =>
|
|
{
|
|
if (e1.KeyCode == Keys.F12) btSetting.PerformClick();
|
|
else if (e1.KeyCode == Keys.F11) btLog.PerformClick();
|
|
else if (e1.KeyCode == Keys.F1 && e1.Control && e1.Shift)
|
|
{
|
|
Dialog.fDebug f = new Dialog.fDebug();
|
|
f.Show();
|
|
}
|
|
else if (e1.KeyCode == Keys.F2 && e1.Control && e1.Shift)
|
|
{
|
|
var f = new fLog();
|
|
f.Show();
|
|
}
|
|
|
|
if (DateTime.Now > Pub.LastInputTime) Pub.LastInputTime = DateTime.Now;
|
|
};
|
|
|
|
this.MouseMove += (s1, e1) => { if (DateTime.Now > Pub.LastInputTime) Pub.LastInputTime = DateTime.Now; };
|
|
this.FormClosing += __Closing;
|
|
}
|
|
|
|
private void __Closing(object sender, FormClosingEventArgs e)
|
|
{
|
|
MessageWindow.CloseAll();
|
|
var rlt = Util.MsgQ(Lang.Question_Exit);
|
|
if (rlt != DialogResult.Yes)
|
|
{
|
|
e.Cancel = true;
|
|
return;
|
|
}
|
|
|
|
//close redis
|
|
if (this.redisConnection != null && this.redisConnection.IsConnected && this.db != null)
|
|
{
|
|
this.redisConnection.Close();
|
|
this.redisConnection.Dispose();
|
|
}
|
|
|
|
Pub.log.Add("Program Close");
|
|
Pub.log.Flush();
|
|
bBW = false; //backgroundWorker
|
|
if (bw.IsBusy) bw.CancelAsync();
|
|
}
|
|
|
|
ConnectionMultiplexer redisConnection;
|
|
IDatabase db;
|
|
|
|
private void __Load(object sender, EventArgs e)
|
|
{
|
|
this.Text = Application.ProductName + " v" + Application.ProductVersion;
|
|
Pub.init();
|
|
_SetLang();
|
|
if (Pub.setting.FullScreen) this.WindowState = FormWindowState.Maximized;
|
|
else this.WindowState = FormWindowState.Normal;
|
|
this.Show();
|
|
Application.DoEvents();
|
|
|
|
Pub.barcode = new Device.Barcode();
|
|
if (!Pub.setting.Barcode.isEmpty()) Pub.barcode.PortName = Pub.setting.Barcode;
|
|
Pub.barcode.ReceiveData += barcode_ReceiveData;
|
|
|
|
FCOMMON.info.camIndex = Pub.setting.CamIndex;
|
|
UpdateControls();
|
|
|
|
tmDisplay.Start(); //display timer
|
|
|
|
Func_Login();
|
|
Update_Site();
|
|
bw.RunWorkerAsync(); //background worker
|
|
|
|
}
|
|
void Update_Site()
|
|
{
|
|
//즐겨찾기 없데이트 g=17
|
|
//타입
|
|
var dt_type = FCOMMON.DBM.getCodeTable("17");
|
|
foreach(DataRow dr in dt_type.Rows)
|
|
{
|
|
var bt = new ToolStripMenuItem();
|
|
bt.Text = dr["value"].ToString();
|
|
bt.Tag = dr["svalue"].ToString();
|
|
bt.Click += bt_Click;
|
|
즐겨찾기ToolStripMenuItem.DropDownItems.Add(bt);
|
|
}
|
|
}
|
|
|
|
void bt_Click(object sender, EventArgs e)
|
|
{
|
|
var bt = sender as ToolStripMenuItem;
|
|
var cmd = bt.Tag.ToString();
|
|
Util.RunExplorer(cmd);
|
|
}
|
|
|
|
void Func_Login()
|
|
{
|
|
Dialog.fLogin flogIn = new Dialog.fLogin();
|
|
if (flogIn.ShowDialog() != System.Windows.Forms.DialogResult.OK)
|
|
Application.ExitThread();
|
|
|
|
if (FCOMMON.info.Login.level >= 10) btDev.Visible = true;
|
|
|
|
sbLogin.Text = string.Format("[{0}] ({1}-{2} T:{3}) - {4}",
|
|
FCOMMON.info.Login.title,
|
|
FCOMMON.info.Login.no,
|
|
FCOMMON.info.Login.nameK,
|
|
FCOMMON.info.Login.tel,
|
|
FCOMMON.info.Login.dept);
|
|
Pub.log.Add("Program Start");
|
|
|
|
Func_RunStartForm();
|
|
}
|
|
void Func_RunStartForm()
|
|
{
|
|
//시작폼 확인
|
|
if (Pub.setting.startForm == eFormList.NR구매관리)
|
|
{
|
|
menu_nrpurchase();
|
|
}
|
|
else if (Pub.setting.startForm == eFormList.업무일지)
|
|
{
|
|
menu_work_report();
|
|
}
|
|
else if (Pub.setting.startForm == eFormList.프로젝트관리)
|
|
{
|
|
menu_projecT_list();
|
|
}
|
|
}
|
|
|
|
|
|
void _SetLang()
|
|
{
|
|
btSetting.Text = Lang.Setting;
|
|
}
|
|
|
|
void barcode_ReceiveData(object sender, Device.Barcode.ReceiveDataEventArgs e)
|
|
{
|
|
#region "invoke"
|
|
if (this.InvokeRequired)
|
|
{
|
|
this.BeginInvoke(new EventHandler<Device.Barcode.ReceiveDataEventArgs>(barcode_ReceiveData), new object[] { sender, e });
|
|
return;
|
|
}
|
|
#endregion
|
|
Pub.log.Add("BCD", "Rx:" + e.StrValue);
|
|
}
|
|
|
|
void Menu_Log()
|
|
{
|
|
var f = new fLog();
|
|
f.TopMost = true;
|
|
f.Show();
|
|
}
|
|
|
|
void Menu_Setting()
|
|
{
|
|
fSetting f = new fSetting();
|
|
if (f.ShowDialog() == DialogResult.OK)
|
|
{
|
|
FCOMMON.info.camIndex = Pub.setting.CamIndex;
|
|
Pub.setting.Save();
|
|
Pub.log.AddI("Setting Save");
|
|
Pub.log.Add(Pub.setting.ToString());
|
|
UpdateControls();
|
|
}
|
|
}
|
|
|
|
|
|
#region "util"
|
|
|
|
void UpdateControls()
|
|
{
|
|
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
private void settingToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Menu_Setting();
|
|
}
|
|
|
|
private void logToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Menu_Log();
|
|
}
|
|
|
|
|
|
private void listToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
menu_projecT_list();
|
|
}
|
|
void menu_work_report()
|
|
{
|
|
string formkey = "WORKBOOK";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FPJ0000.fJobReport());
|
|
|
|
}
|
|
|
|
void menu_dayhistory()
|
|
{
|
|
string formkey = "DAYHISTORY";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FPJ0000.fProjectList());
|
|
}
|
|
void menu_projecT_list()
|
|
{
|
|
string formkey = "PROJECTS";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FPJ0000.fProjectList());
|
|
|
|
}
|
|
|
|
private void helpToolStripButton_Click(object sender, EventArgs e)
|
|
{
|
|
menu_projecT_list();
|
|
}
|
|
|
|
private void itemsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "ITEMS";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FCM0000.fItems());
|
|
}
|
|
|
|
|
|
private void staffGridToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "STAFFGRID";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new _Info.fInfo_Staff());
|
|
|
|
}
|
|
|
|
private void dataToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "EQBUMP";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FEQ0000.fEquipment(FEQ0000.fEquipment.eTabletype.BUMP));
|
|
|
|
}
|
|
|
|
private void dataMoldEOLToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "EQMOLD";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FEQ0000.fEquipment(FEQ0000.fEquipment.eTabletype.MOLD));
|
|
|
|
|
|
}
|
|
|
|
private void dataFOLToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
string formkey = "EQFOL";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FEQ0000.fEquipment(FEQ0000.fEquipment.eTabletype.FOL));
|
|
|
|
}
|
|
|
|
private void cascadeToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
LayoutMdi(MdiLayout.Cascade);
|
|
}
|
|
|
|
private void tileVerticalToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
LayoutMdi(MdiLayout.TileVertical);
|
|
}
|
|
|
|
private void tileHorizontalToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
LayoutMdi(MdiLayout.TileHorizontal);
|
|
}
|
|
|
|
private void closeAllToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
foreach (Form childForm in MdiChildren)
|
|
{
|
|
childForm.Close();
|
|
}
|
|
}
|
|
|
|
private void arrangeIconsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
LayoutMdi(MdiLayout.ArrangeIcons);
|
|
}
|
|
|
|
private void personalInventoryToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Menu_Inventory();
|
|
}
|
|
|
|
void Menu_Inventory()
|
|
{
|
|
string formkey = "INVENTORY";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FCM0000.fInventory());
|
|
}
|
|
|
|
private void minutesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
string formkey = "MINUTES";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FBS0000.fMinutes());
|
|
|
|
|
|
}
|
|
|
|
private void holidayToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "HOLYDAY";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FBS0000.fHolyday());
|
|
|
|
}
|
|
|
|
private void codesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FCM0000.fCode();
|
|
f.ShowDialog();
|
|
}
|
|
|
|
private void mailFormToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "MAILFORM";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FCM0000.fMailform());
|
|
|
|
}
|
|
|
|
private void requestITemToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "ITEMREQUEST";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FCM0000.fRequestItem());
|
|
|
|
}
|
|
|
|
private void toolStripButton1_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
void menu_nrpurchase()
|
|
{
|
|
|
|
string formkey = "PUCHASE";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FEQ0000.fPurchase());
|
|
|
|
|
|
}
|
|
private void nRPurchaseToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
menu_nrpurchase();
|
|
}
|
|
|
|
private void purchaseImportToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FEQ0000.fPurchase_Import();
|
|
// f.MdiParent = this;
|
|
f.Show();
|
|
}
|
|
|
|
private void purchaseDataConvertToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FEQ0000.fPurchase_Data();
|
|
// f.MdiParent = this;
|
|
f.Show();
|
|
}
|
|
|
|
private void customerToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "CUSTOMS";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new FCM0000.fCustoms());
|
|
var f = new FCM0000.fCustoms();
|
|
}
|
|
|
|
private void toolStripButton2_Click(object sender, EventArgs e)
|
|
{
|
|
nRPurchaseToolStripMenuItem.PerformClick();
|
|
}
|
|
|
|
private void userAccountToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new _Common.fUserInfo();
|
|
f.ShowDialog();
|
|
}
|
|
|
|
private void aDSUserListToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
|
|
if (FCOMMON.info.Login.level < 10)
|
|
{
|
|
FCOMMON.Util.MsgE("개발자 이상 사용가능한 메뉴 입니다.");
|
|
return;
|
|
}
|
|
|
|
string formkey = "ADUSERS";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new _Common.fADSUserList());
|
|
}
|
|
|
|
private void myAccouserToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string formkey = "USERS";
|
|
if (!ShowForm(formkey))
|
|
AddForm(formkey, new _Common.fUserList());
|
|
|
|
}
|
|
|
|
private void toolStripButton3_Click(object sender, EventArgs e)
|
|
{
|
|
menu_projecT_list();
|
|
}
|
|
|
|
private void workReportToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void toolStripButton4_Click(object sender, EventArgs e)
|
|
{
|
|
Menu_Inventory();
|
|
}
|
|
|
|
private void customerImportToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FCM0000.Customer_Import();
|
|
// f.MdiParent = this;
|
|
f.Show();
|
|
}
|
|
|
|
Boolean ShowForm(string key)
|
|
{
|
|
int tabIndex = this.tabControl1.TabPages.IndexOfKey(key);
|
|
if (tabIndex != -1)
|
|
{
|
|
this.tabControl1.SelectedIndex = tabIndex;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
void AddForm(string key, Form f)
|
|
{
|
|
f.TopLevel = false;
|
|
f.Dock = DockStyle.Fill;
|
|
f.ControlBox = false;
|
|
f.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
|
this.tabControl1.TabPages.Add(key, f.Text);
|
|
this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].BorderStyle = BorderStyle.Fixed3D;
|
|
this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].Padding = new Padding(10, 10, 10, 10);
|
|
this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].BackColor = Color.LightGray;
|
|
this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].ContextMenuStrip = this.cmTab;
|
|
this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].Controls.Add(f);
|
|
this.tabControl1.SelectedIndex = this.tabControl1.TabPages.Count - 1;
|
|
f.Show();
|
|
}
|
|
|
|
private void 라인코드관리ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
_Management.fLineCode f = new _Management.fLineCode();
|
|
f.ShowDialog();
|
|
}
|
|
|
|
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
|
|
{
|
|
//e.Graphics.FillRectangle(Brushes.Red, e.Bounds);
|
|
e.DrawBackground();
|
|
e.DrawFocusRectangle();
|
|
e.Graphics.DrawString(this.tabControl1.TabPages[e.Index].Text, e.Font, new SolidBrush(e.ForeColor), e.Bounds);
|
|
var tabpos = this.PointToClient(new Point(tabControl1.Left, tabControl1.Top));
|
|
e.Graphics.DrawString("X", this.Font, Brushes.Black, tabControl1.Right - 50, tabControl1.Top);
|
|
}
|
|
|
|
private void toolStripButton5_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void 패치내역ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void materialImportToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FCM0000.fMaterial_Import();
|
|
f.Show();
|
|
}
|
|
|
|
private void projectImportToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FPJ0000.Import();
|
|
f.Show();
|
|
}
|
|
|
|
private void 프로젝트ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
menu_projecT_list();
|
|
}
|
|
|
|
private void 업무일지ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void todoListToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void projectImportCompleteToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FPJ0000.ImportC();
|
|
f.Show();
|
|
}
|
|
|
|
private void purchaseOrderImportToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FEQ0000.fPurchase_ImportO();
|
|
// f.MdiParent = this;
|
|
f.Show();
|
|
}
|
|
|
|
private void 로그인ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.tabControl1.TabPages.Count > 1)
|
|
{
|
|
while (tabControl1.TabPages.Count > 1)
|
|
{
|
|
var tab = this.tabControl1.TabPages[1];
|
|
var f = tab.Controls[0] as System.Windows.Forms.Form;
|
|
f.Close();
|
|
f.Dispose();
|
|
tabControl1.TabPages.Remove(tab);
|
|
this.tabControl1.Refresh();
|
|
}
|
|
}
|
|
Func_Login();
|
|
}
|
|
|
|
private void 메일전송ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (FCOMMON.info.Login.level < 10)
|
|
{
|
|
FCOMMON.Util.MsgE("테스트 기능이므로 개발자만 사용가능 합니다.");
|
|
return;
|
|
}
|
|
FCM0000.fSendMail f = new FCM0000.fSendMail();
|
|
//f.MdiParent = this;
|
|
f.Show();
|
|
}
|
|
|
|
private void nR구매신청ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
menu_nrpurchase();
|
|
}
|
|
|
|
private void 업무일지ToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
{
|
|
menu_work_report();
|
|
}
|
|
|
|
private void 패치내역ToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
{
|
|
FCM0000.fPatchList f = new FCM0000.fPatchList();
|
|
f.Show();
|
|
}
|
|
|
|
private void workReportImportToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new FPJ0000.JobReport.fJobReportImport();
|
|
f.ShowDialog();
|
|
}
|
|
|
|
private void 월별근무표ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
//string formkey = "HOLIS";
|
|
//if (!ShowForm(formkey))
|
|
// AddForm(formkey, new FCM0000.fHolidaytable());
|
|
var f = new FCM0000.fHolidaytable();
|
|
f.ShowDialog();
|
|
}
|
|
|
|
}
|
|
}
|