using ClientLib; using ClientLib.CommonService; using DevExpress.XtraGrid; using DevExpress.XtraGrid.Views.Grid.ViewInfo; 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; namespace HANMI_J_SALE { public partial class SalesList : PublicLib.CommonMDI { private int m_CURR_MY, m_VAT_MY, m_ORDER_MY; public SalesList() { InitializeComponent(); gridControl_Main.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat; gridControl_Main.LookAndFeel.UseDefaultLookAndFeel = false; gridView_Main.Appearance.HeaderPanel.BackColor = Color.FromArgb(170, 204, 255); m_CURR_MY = 0; m_VAT_MY = 0; m_ORDER_MY = 0; dateEdit_SDATE.DateTime = dateEdit_FDATE.DateTime = DateTime.Now; buttonEdit_CUST_NM.ButtonClick += (sender, e) => { selectCustProc(); }; buttonEdit_CUST_NM.KeyPress += (sender, e) => { if (e.KeyChar == '\r') { selectCustProc(); } }; buttonEdit_CUST_NM.EditValueChanged += (sender, e) => { if (UtilClass.isNull(buttonEdit_CUST_NM.Text)) { labelControl_CUST_CD.Text = ""; } }; checkEdit_SpecToItemName.KeyPress += (sender, e) => { if (e.KeyChar == '\r') { searchProc(); } }; GridGroupSummaryItem item; item = new GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, "CURR_MY", gridView_Main.Columns["CURR_MY"], "{0:#,##0}"); gridView_Main.GroupSummary.Add(item); item = new GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, "VAT_MY", gridView_Main.Columns["VAT_MY"], "{0:#,##0}"); gridView_Main.GroupSummary.Add(item); item = new GridGroupSummaryItem(DevExpress.Data.SummaryItemType.Sum, "ORDER_MY", gridView_Main.Columns["ORDER_MY"], "{0:#,##0}"); gridView_Main.GroupSummary.Add(item); gridView_Main.DoubleClick += (sender, e) => { Point aPT = gridControl_Main.PointToClient(Control.MousePosition); GridHitInfo aInfo = gridView_Main.CalcHitInfo(aPT); if (aInfo.InRowCell) { DataRow row = gridView_Main.GetFocusedDataRow(); SaleRegistrationPopupV2 form = new SaleRegistrationPopupV2(); form.setData(Convert.ToDateTime(row["ORDER_DT"]), UtilClass.toStr(row["ORDER_SEQ"])); form.ShowDialog(); if (form.m_Changed) { searchProc(); } } }; gridView_Main.CustomDrawFooterCell += (sender, e) => { if (e.Column == gridView_Main.Columns["CURR_MY"]) { e.Info.DisplayText = m_CURR_MY.ToString("#,##0"); } else if (e.Column == gridView_Main.Columns["VAT_MY"]) { e.Info.DisplayText = m_VAT_MY.ToString("#,##0"); } else if (e.Column == gridView_Main.Columns["ORDER_MY"]) { e.Info.DisplayText = m_ORDER_MY.ToString("#,##0"); } }; gridView_Main.CustomDrawCell += (sender, e) => { DataRow row = gridView_Main.GetDataRow(e.RowHandle); if (UtilClass.isEqual(e.Column.FieldName, "ORDER_DT") || UtilClass.isEqual(e.Column.FieldName, "CUST_NM") || UtilClass.isEqual(e.Column.FieldName, "CURR_MY") || UtilClass.isEqual(e.Column.FieldName, "VAT_MY") || UtilClass.isEqual(e.Column.FieldName, "ORDER_MY") || UtilClass.isEqual(e.Column.FieldName, "ORDER_QTY")) { if (UtilClass.isEqual(row["TAG_STR"], "C")) { e.Appearance.BackColor = Color.WhiteSmoke; e.Appearance.ForeColor = checkEdit_Color.Checked ? Color.Blue : e.Appearance.ForeColor; } else if (UtilClass.isEqual(row["TAG_STR"], "D")) { e.Appearance.BackColor = Color.LightCyan; e.Appearance.ForeColor = checkEdit_Color.Checked ? Color.Blue : e.Appearance.ForeColor; } else if (UtilClass.isEqual(row["TAG_STR"], "T")) { e.Appearance.BackColor = Color.LightGreen; e.Appearance.ForeColor = checkEdit_Color.Checked ? Color.Blue : e.Appearance.ForeColor; } else { e.Appearance.BackColor = Color.LightYellow; } } else { if (UtilClass.isEqual(row["TAG_STR"], "C")) { e.Appearance.BackColor = Color.WhiteSmoke; } else if (UtilClass.isEqual(row["TAG_STR"], "D")) { e.Appearance.BackColor = Color.LightCyan; } else if (UtilClass.isEqual(row["TAG_STR"], "T")) { e.Appearance.BackColor = Color.LightGreen; } else { e.Appearance.BackColor = Color.Empty; } } }; gridView_Main.Appearance.HeaderPanel.ForeColor = gridView_Main.Appearance.GroupFooter.ForeColor = gridView_Main.Appearance.FooterPanel.ForeColor = checkEdit_Color.Checked ? Color.Blue : Color.Empty; for (int i = 0; i < gridView_Main.FormatConditions.Count; i++) { gridView_Main.FormatConditions[i].Appearance.ForeColor = checkEdit_Color.Checked ? Color.Blue : Color.Empty; } checkEdit_Color.CheckedChanged += (sender, e) => { gridView_Main.Appearance.HeaderPanel.ForeColor = gridView_Main.Appearance.GroupFooter.ForeColor = gridView_Main.Appearance.FooterPanel.ForeColor = checkEdit_Color.Checked ? Color.Blue : Color.Empty; for (int i = 0; i < gridView_Main.FormatConditions.Count; i++) { gridView_Main.FormatConditions[i].Appearance.ForeColor = checkEdit_Color.Checked ? Color.Blue : Color.Empty; } }; checkEdit_SpecToItemName.CheckedChanged += (sender, e) => { if (checkEdit_SpecToItemName.Checked) { gridColumn_ITEM_NM.FieldName = "ORDER_NORM"; gridColumn_ORDER_NORM.Visible = false; } else { gridColumn_ITEM_NM.FieldName = "ITEM_NM"; gridColumn_ORDER_NORM.Visible = true; } }; this.Shown += (sender, e) => { try { SerializedSqlParam[] aParam = new SerializedSqlParam[] { ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD) }; ResultData resultData = ClientClass.GetData("GetSalesListForLookup", aParam); if (resultData.isError) { throw new Exception(resultData.ResultValue); } DataRow row; row = resultData.DataList.Tables[0].NewRow(); row["USR_ID"] = ""; row["EMP_NO"] = ""; row["USR_NM"] = "전체담당자"; resultData.DataList.Tables[0].Rows.InsertAt(row, 0); UtilClass.SetLookup(lookUpEdit_SALES_USER, resultData.DataList.Tables[0], "EMP_NO", "USR_NM", true); row = resultData.DataList.Tables[1].NewRow(); row["MST_DEPT_CD"] = ""; row["DEPT_CD"] = ""; row["DEPT_NM"] = "전체부서"; resultData.DataList.Tables[1].Rows.InsertAt(row, 0); UtilClass.SetLookup(lookUpEdit_DEPT, resultData.DataList.Tables[1], "MST_DEPT_CD", "DEPT_NM", true); DataView c11 = new DataView(ConstClass._DATA); c11.RowFilter = "CATE_CD = 'C' and GRP_CD = 'C11'"; DataTable c11Data = c11.ToTable(); row = c11Data.NewRow(); row["NO_CD"] = ""; row["NO_CD_NM"] = "전체창고"; c11Data.Rows.InsertAt(row, 0); UtilClass.SetLookup(lookUpEdit_STOCK, c11Data, "NO_CD", "NO_CD_NM", true); DataView c12 = new DataView(ConstClass._DATA); c12.RowFilter = "CATE_CD = 'C' and GRP_CD = 'C12'"; DataTable c12Data = c12.ToTable(); row = c12Data.NewRow(); row["NO_CD"] = ""; row["NO_CD_NM"] = "전체"; c12Data.Rows.InsertAt(row, 0); UtilClass.SetLookup(lookUpEdit_SIGN_GUBUN, c12Data, "NO_CD", "NO_CD_NM", true); } catch (Exception ex) { MessageBox.Show(ex.Message); this.Close(); } }; } private void selectCustProc() { SelectCustomerForm form = new SelectCustomerForm(buttonEdit_CUST_NM.Text, DateTime.Now); if (form.ShowDialog() != DialogResult.Yes) { return; } buttonEdit_CUST_NM.Text = form.m_CUST_NM; labelControl_CUST_CD.Text = form.m_CUST_CD; lookUpEdit_SALES_USER.Focus(); } private void selectItemProc() { SelectSalesItemForm form = new SelectSalesItemForm(buttonEdit_ITEM_NM.Text); if (form.ShowDialog() != System.Windows.Forms.DialogResult.Yes) { return; } labelControl_ITEM_CD.Text = form.m_ITEM_CD; buttonEdit_ITEM_NM.Text = form.m_ITEM_NM; buttonEdit_SPEC.Focus(); } public override void searchProc() { try { this.Cursor = Cursors.WaitCursor; gridControl_Main.DataSource = null; SerializedSqlParam[] aParam = new SerializedSqlParam[] { ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD), ClientClass.CreateSqlParameter("SDATE", SqlDbType.NVarChar, dateEdit_SDATE.DateTime.ToString("yyyy.MM.dd")), ClientClass.CreateSqlParameter("FDATE", SqlDbType.NVarChar, dateEdit_FDATE.DateTime.ToString("yyyy.MM.dd")), ClientClass.CreateSqlParameter("CUST_CD", SqlDbType.NVarChar, labelControl_CUST_CD.Text), ClientClass.CreateSqlParameter("SALE_USR_ID", SqlDbType.NVarChar, lookUpEdit_SALES_USER.EditValue), ClientClass.CreateSqlParameter("DEPT_CD", SqlDbType.NVarChar, lookUpEdit_DEPT.EditValue), ClientClass.CreateSqlParameter("PROC_CD", SqlDbType.NVarChar, (comboBoxEdit_PROC.SelectedIndex + 1).ToString()), ClientClass.CreateSqlParameter("STOCK_CD", SqlDbType.NVarChar, lookUpEdit_STOCK.EditValue), ClientClass.CreateSqlParameter("SIGN_GUBUN_CD", SqlDbType.NVarChar, lookUpEdit_SIGN_GUBUN.EditValue), ClientClass.CreateSqlParameter("ITEM_CD", SqlDbType.NVarChar, labelControl_ITEM_CD.Text), ClientClass.CreateSqlParameter("ORDER_NORM", SqlDbType.NVarChar, buttonEdit_SPEC.Text), ClientClass.CreateSqlParameter("SORT", SqlDbType.Int, checkEdit_CustSort.Checked ? 0 : 1) }; ResultData resultData = ClientClass.GetData("GetSaleList", aParam); if (resultData.isError) { throw new Exception(resultData.ResultValue); } if (checkEdit_SpecToItemName.Checked) { gridColumn_ITEM_NM.FieldName = "ORDER_NORM"; } else { gridColumn_ITEM_NM.FieldName = "ITEM_NM"; } DataTable data = resultData.TableData.Clone(); DataTable aData = resultData.TableData; m_CURR_MY = 0; m_VAT_MY = 0; m_ORDER_MY = 0; int curr_my_day = 0, vat_my_day = 0, order_my_day = 0; int curr_my_cust = 0, vat_my_cust = 0, order_my_cust = 0, cnt_cust = 0; string order_dt = "", cust_cd = ""; DataRow row; for (int i = 0; i < aData.Rows.Count; i++) { row = data.NewRow(); row.ItemArray = aData.Rows[i].ItemArray; data.Rows.Add(row); if (checkEdit_CustSort.Checked) { if (checkEdit_CustSum.Checked) { if (!UtilClass.isNull(cust_cd) && !UtilClass.isEqual(cust_cd, aData.Rows[i]["CUST_CD"])) { if (cnt_cust > 1) { row = data.NewRow(); row["ORDER_DT"] = " "; row["CUST_NM"] = "▷거래선계"; row["CURR_MY"] = curr_my_cust; row["VAT_MY"] = vat_my_cust; row["ORDER_MY"] = order_my_cust; row["TAG_STR"] = "C"; data.Rows.InsertAt(row, data.Rows.Count - 1); } curr_my_cust = 0; vat_my_cust = 0; order_my_cust = 0; cnt_cust = 0; } } if (checkEdit_DaySum.Checked) { if (!UtilClass.isNull(order_dt) && !UtilClass.isEqual(order_dt, aData.Rows[i]["ORDER_DT"])) { row = data.NewRow(); row["ORDER_DT"] = " "; row["CUST_NM"] = "▷일 자 계"; row["CURR_MY"] = curr_my_day; row["VAT_MY"] = vat_my_day; row["ORDER_MY"] = order_my_day; row["TAG_STR"] = "D"; data.Rows.InsertAt(row, data.Rows.Count - 1); curr_my_day = 0; vat_my_day = 0; order_my_day = 0; //cnt_cust = 0; } } } else { if (checkEdit_DaySum.Checked) { if (!UtilClass.isNull(order_dt) && !UtilClass.isEqual(order_dt, aData.Rows[i]["ORDER_DT"])) { row = data.NewRow(); row["ORDER_DT"] = " "; row["CUST_NM"] = "▷일 자 계"; row["CURR_MY"] = curr_my_day; row["VAT_MY"] = vat_my_day; row["ORDER_MY"] = order_my_day; row["TAG_STR"] = "D"; data.Rows.InsertAt(row, data.Rows.Count - 1); curr_my_day = 0; vat_my_day = 0; order_my_day = 0; //cnt_cust = 0; } } if (checkEdit_CustSum.Checked) { if (!UtilClass.isNull(cust_cd) && !UtilClass.isEqual(cust_cd, aData.Rows[i]["CUST_CD"])) { if (cnt_cust > 1) { row = data.NewRow(); row["ORDER_DT"] = " "; row["CUST_NM"] = "▷거래선계"; row["CURR_MY"] = curr_my_cust; row["VAT_MY"] = vat_my_cust; row["ORDER_MY"] = order_my_cust; row["TAG_STR"] = "C"; data.Rows.InsertAt(row, data.Rows.Count - 1); } curr_my_cust = 0; vat_my_cust = 0; order_my_cust = 0; cnt_cust = 0; } } } order_dt = UtilClass.toStr(aData.Rows[i]["ORDER_DT"]); cust_cd = UtilClass.toStr(aData.Rows[i]["CUST_CD"]); curr_my_day += UtilClass.toInt(aData.Rows[i]["CURR_MY"]); vat_my_day += UtilClass.toInt(aData.Rows[i]["VAT_MY"]); order_my_day += UtilClass.toInt(aData.Rows[i]["ORDER_MY"]); curr_my_cust += UtilClass.toInt(aData.Rows[i]["CURR_MY"]); vat_my_cust += UtilClass.toInt(aData.Rows[i]["VAT_MY"]); order_my_cust += UtilClass.toInt(aData.Rows[i]["ORDER_MY"]); m_CURR_MY += UtilClass.toInt(aData.Rows[i]["CURR_MY"]); m_VAT_MY += UtilClass.toInt(aData.Rows[i]["VAT_MY"]); m_ORDER_MY += UtilClass.toInt(aData.Rows[i]["ORDER_MY"]); cnt_cust++; } if (checkEdit_CustSum.Checked && cnt_cust > 1) { DataRow cRow = data.NewRow(); cRow["ORDER_DT"] = " "; cRow["CUST_NM"] = "▷거래선계"; cRow["CURR_MY"] = curr_my_cust; cRow["VAT_MY"] = vat_my_cust; cRow["ORDER_MY"] = order_my_cust; cRow["TAG_STR"] = "C"; data.Rows.Add(cRow); } if (checkEdit_DaySum.Checked) { DataRow dRow = data.NewRow(); dRow["ORDER_DT"] = " "; dRow["CUST_NM"] = "▷일 자 계"; dRow["CURR_MY"] = curr_my_day; dRow["VAT_MY"] = vat_my_day; dRow["ORDER_MY"] = order_my_day; dRow["TAG_STR"] = "D"; data.Rows.Add(dRow); } DataRow sRow = data.NewRow(); sRow["ORDER_DT"] = "★"; sRow["CUST_NM"] = "▷합 계"; sRow["CURR_MY"] = m_CURR_MY; sRow["VAT_MY"] = m_VAT_MY; sRow["ORDER_MY"] = m_ORDER_MY; sRow["TAG_STR"] = "T"; data.Rows.Add(sRow); data.AcceptChanges(); gridControl_Main.DataSource = data; this.Cursor = Cursors.Arrow; } catch (Exception ex) { this.Cursor = Cursors.Arrow; MessageBox.Show(ex.Message); } } public override void newProc() { try { SaleRegistrationPopupV2 form = new SaleRegistrationPopupV2(); form.ShowDialog(); if (form.m_Changed) { searchProc(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } public override void excelProc() { this.ExportExcelGrid(gridControl_Main); } } }