File name
Commit message
Commit date
File name
Commit message
Commit date
using ClientLib;
using ClientLib.CommonService;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraEditors;
using PublicLib;
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 DevExpress.XtraEditors.DXErrorProvider;
namespace HANMI_MACH
{
//public static class MyExtenstions
//{
// public static Control FindControl(this Control root, string text)
// {
// if (root == null) throw new ArgumentNullException("root");
// foreach (Control child in root.Controls)
// {
// if (child.Text == text) return child;
// Control found = FindControl(child, text);
// if (found != null) return found;
// }
// return null;
// }
//}
public partial class MachineManager : PublicLib.CommonMDI
{
private DataView m_MATView;
public MachineManager()
{
InitializeComponent();
textEdit_Search.KeyPress += (sender, e) =>
{
if (e.KeyChar == '\r')
{
searchProc();
}
};
//gridView_Main.EditFormPrepared += (sender, e) =>
//{
// Control ctrl = MyExtenstions.FindControl(e.Panel, "Update");
// if (ctrl != null)
// ctrl.Text = "OK";
// ctrl = MyExtenstions.FindControl(e.Panel, "Cancel");
// if (ctrl != null)
// ctrl.Text = "NO";
//};
////상태 구분
DataView fab_kind_cd = new DataView(ConstClass._DATA);
fab_kind_cd.RowFilter = "CATE_CD = 'E' and GRP_CD = 'E01'";
UtilClass.SetLookup(repositoryItemLookUpEdit_FAB_KIND, fab_kind_cd, "NO_CD", "NO_CD_NM", true);
gridView_Main.FocusedRowChanged += (sender, e) =>
{
DataRow row = gridView_Main.GetFocusedDataRow();
gridView_Main.Columns["MACH_CD"].OptionsColumn.AllowEdit = row != null && (row.RowState == DataRowState.Added || row.RowState == DataRowState.Detached);
if (row != null)
{
if (m_MATView != null)
{
m_MATView.RowFilter = " COMP_CD = '" + UtilClass.toStr(row["COMP_CD"]) + "' and " +
" MACH_CD = '" + UtilClass.toStr(row["MACH_CD"]) + "'";
}
}
};
//gridView_MAT.ShownEditor += (sender, e) =>
//{
// DataRow row = gridView_MAT.GetFocusedDataRow();
// gridView_MAT.Columns["MAT_CD"].OptionsColumn.AllowEdit = row != null && (row.RowState == DataRowState.Added || row.RowState == DataRowState.Detached);
//};
gridView_MAT.FocusedRowChanged += (sender, e) =>
{
DataRow row = gridView_MAT.GetFocusedDataRow();
gridView_MAT.Columns["MAT_CD"].OptionsColumn.AllowEdit = row != null && (row.RowState == DataRowState.Added || row.RowState == DataRowState.Detached);
};
//처리 해야함..
gridView_Main.ValidatingEditor += (sender, e) =>
{
GridView view = sender as GridView;
if (view.FocusedColumn.FieldName == "MACH_NO")
{
if (UtilClass.toStr(e.Value) == "" )
{
e.Valid = false;
e.ErrorText = "필수값입니다..";
}
}
};
gridView_Main.ValidateRow += (sender, e) =>
{
GridView view = sender as GridView;
DataRow row = view.GetFocusedDataRow();
if (UtilClass.toStr(row["MACH_NO"]) == "")
{
e.Valid = false;
e.ErrorText = "설비 번호는 필수값입니다";
view.FocusedColumn = view.Columns["MACH_NO"];
return;
}
;
if (UtilClass.toStr(row["MACH_NM"]) == "")
{
e.Valid = false;
e.ErrorText = "설비이름은 필수값입니다";
view.FocusedColumn = view.Columns["MACH_NM"];
return;
}
};
this.Shown += (sender, e) =>
{
try
{
SerializedSqlParam[] aParam1 = new SerializedSqlParam[] {
ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD)
};
ResultData resultROUT = ClientClass.GetData("GetRoutingManager", aParam1);
if (resultROUT.isError)
{
throw new Exception(resultROUT.ResultValue);
}
UtilClass.SetLookup(repLOOKUPEDIT_ROUT_CD, resultROUT.TableData, "ROUT_CD", "ROUT_NM", true);
this.Cursor = Cursors.Arrow;
searchProc();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
this.Close();
}
};
}
public override void searchProc()
{
try
{
this.Cursor = Cursors.WaitCursor;
gridControl_Main.DataSource = null;
gridControl_MAT.DataSource = null;
SerializedSqlParam[] aParam = new SerializedSqlParam[] {
ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD),
ClientClass.CreateSqlParameter("SEARCH", SqlDbType.NVarChar, textEdit_Search.Text)
};
ResultData resultData = ClientClass.GetData("GetMachineManager", aParam);
if (resultData.isError)
{
throw new Exception(resultData.ResultValue);
}
gridControl_Main.DataSource = resultData.DataList.Tables[0];
m_MATView = new DataView(resultData.DataList.Tables[1]);
if (resultData.DataList.Tables[0].Rows.Count > 0)
{
DataRow row = resultData.DataList.Tables[0].Rows[0];
m_MATView.RowFilter = " COMP_CD = '" + UtilClass.toStr(row["COMP_CD"]) + "' and " +
" MACH_CD = '" + UtilClass.toStr(row["MACH_CD"]) + "'";
}
gridControl_MAT.DataSource = m_MATView;
this.Cursor = Cursors.Arrow;
}
catch (Exception ex)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show(ex.Message);
}
}
public override void newProc()
{
gridView_Main.PostEditor();
gridView_Main.UpdateCurrentRow();
gridView_Main.AddNewRow();
string AUTO_MACH_CD;
AUTO_MACH_CD = "A" + UtilClass.toStr(gridView_Main.RowCount) + ConstClass._USR_ID ;
gridView_Main.GetFocusedDataRow()["COMP_CD"] = ConstClass._COMP_CD;
gridView_Main.GetFocusedDataRow()["MACH_CD"] = AUTO_MACH_CD.Substring(0, AUTO_MACH_CD.Length<10?AUTO_MACH_CD.Length:10);
gridView_Main.GetFocusedDataRow()["MACH_STATE_CD"] = "01";
// gridView_Main.PostEditor();
// gridView_Main.UpdateCurrentRow();
//gridView_Main.ShowEditForm();
gridView_Main.Focus();
gridView_Main.FocusedColumn = gridView_Main.Columns["MACH_NO"];
}
public override void updateProc()
{
}
public override void deleteProc()
{
gridView_Main.PostEditor();
gridView_Main.UpdateCurrentRow();
Application.DoEvents();
DataTable data = gridControl_Main.DataSource as DataTable;
DataRow[] rows = data.Select("SEL_YN = 'Y'");
if (rows == null || rows.Length < 1)
{
MessageBox.Show("삭제할 항목을 선택하십시오.");
return;
}
foreach (DataRow row in rows)
{
row.Delete();
}
}
public override void saveProc()
{
try
{
this.Cursor = Cursors.WaitCursor;
gridView_Main.PostEditor();
gridView_Main.UpdateCurrentRow();
Application.DoEvents();
DataRow row = gridView_Main.GetFocusedDataRow();
string MACH_CD = "";
if (row != null)
{
MACH_CD = UtilClass.toStr(row["MACH_CD"]);
}
DataTable aData = gridControl_Main.DataSource as DataTable;
DataTable bData = m_MATView.Table;
ResultData[] dataList = null;
ResultData data1 = new ResultData();
DataTable dtData1 = UtilClass.GetDataTable(aData, true,
"COMP_CD", "MACH_CD", "MACH_NO", "MACH_NM", "ROUT_CD", "MODEL_NM",
"MACH_STATE_CD", "MAIN_USR_ID", "SUB_USR_ID", "DEL_YN", "MACH_RMK"
);
dtData1.TableName = "ADATA";
data1.TableData = dtData1;
dataList = new ResultData[] { data1 };
SerializedSqlParam[] aParam = new SerializedSqlParam[] {
ClientClass.CreateSqlParameter("REG_ID", SqlDbType.NVarChar, ConstClass._USR_ID),
ClientClass.CreateSqlParameter("RESULT_STR", SqlDbType.NVarChar, "", ParameterDirection.Output, 1000)
};
ResultData result = ClientClass.SetTableData("SaveMachineManager", dataList, aParam);
if (result.isError || !UtilClass.isNull(result.ResultValue))
{
throw new Exception(result.ResultValue);
}
this.Cursor = Cursors.Arrow;
MessageBox.Show("정상적으로 저장하였습니다.");
searchProc();
//if (!UtilClass.isNull(item_cd))
//{
// for (int i = 0; i < gridView_Main.RowCount; i++)
// {
// if (UtilClass.isEqual(item_cd, gridView_Main.GetDataRow(i)["ITEM_CD"]))
// {
// gridView_Main.FocusedRowHandle = i;
// break;
// }
// }
//}
}
catch (Exception ex)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show(ex.Message);
}
}
public override void excelProc()
{
this.ExportExcelGrid(gridControl_Main);
}
private void repLOOKUP_FACT_Popup(object sender, EventArgs e)
{
}
}
}