File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
using ClientLib;
using ClientLib.CommonService;
using DevExpress.XtraEditors;
using PublicLib;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace HANMI_J_SALE
{
partial class CollectPopup : XtraForm
{
public bool m_Changed;
private string m_COL_DT;
private string m_COL_NO;
private string m_COL_CD;
private CommonMDI m_Parent;
public CollectPopup(CommonMDI parent, DateTime sale_date)
{
InitializeComponent();
m_COL_NO = "";
m_COL_DT = "";
m_COL_CD = "";
m_Changed = false;
dateEdit_COL_DT.DateTime = sale_date;
m_Parent = parent;
buttonEdit_COL_CD.KeyPress += (sender, e) =>
{
if (!UtilClass.isNull(buttonEdit_COL_CD.Text))
{
searchProc(3);
}
};
buttonEdit_COL_CD.ButtonClick += (sender, e) =>
{
if (e.Button.Index == 0) // 기존정보 검색
{
ColCdPopup form = new ColCdPopup(dateEdit_COL_DT.DateTime);
if (form.ShowDialog() == DialogResult.Yes)
{
m_COL_NO = form.m_COL_NO;
buttonEdit_COL_CD.Text = form.m_COL_CD;
dateEdit_COL_DT.DateTime = UtilClass.toDateTime(form.m_COL_DT);
searchProc(3);
}
}
else if (e.Button.Index == 1) // 높은 번호 검색
{
searchProc(1);
}
else // 낮은 번호 검색
{
searchProc(2);
}
};
buttonEdit_CUST_NM.ButtonClick += (sender, e) =>
{
selectCustProc();
};
buttonEdit_CUST_NM.KeyPress += (sender, e) =>
{
if (e.KeyChar == '\r')
{
selectCustProc();
}
};
buttonEdit_ACC_NO.KeyPress += (sender, e) =>
{
if (e.KeyChar == '\r')
{
selectBankProc();
}
};
buttonEdit_ACC_NO.ButtonClick += (sender, e) =>
{
selectBankProc();
};
textEdit_CASH_MY.EditValueChanged += (sender, e) =>
{
calcProc();
};
textEdit_DEP_MY.EditValueChanged += (sender, e) =>
{
calcProc();
};
textEdit_ETC_MY.EditValueChanged += (sender, e) =>
{
calcProc();
};
simpleButton_CANCEL.Click += (sender, e) =>
{
clearProc();
};
simpleButton_INPUT.Click += (sender, e) =>
{
saveProc("I", "");
};
simpleButton_UPDATE.Click += (sender, e) =>
{
saveProc("M", buttonEdit_COL_CD.Text);
};
simpleButton_DELETE.Click += (sender, e) =>
{
if (XtraMessageBox.Show("삭제하시겠습니까?", "삭제", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
saveProc("D", buttonEdit_COL_CD.Text);
}
};
simpleButton_CLOSE.Click += (sender, e) =>
{
this.DialogResult = m_Changed ? DialogResult.Yes : DialogResult.Cancel;
this.Close();
};
this.Shown += (sender, e) =>
{
try
{
SerializedSqlParam[] aParam = new SerializedSqlParam[]
{
ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD)
};
ResultData resultData = ClientClass.GetData("GetSalesUserForLookup", aParam);
if (resultData.isError)
{
throw new Exception(resultData.ResultValue);
}
UtilClass.SetLookup(lookUpEdit_COL_USR_ID, resultData.TableData, "EMP_NO", "USR_NM");
if (!UtilClass.isNull(m_COL_DT) && !UtilClass.isNull(m_COL_CD))
{
searchProc(3);
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message);
this.Close();
}
};
this.FormClosed += (sender, e) =>
{
(m_Parent as CollectMoneyList).m_SALE_DATE = dateEdit_COL_DT.DateTime;
};
}
public void setData(string col_dt, string col_cd, string col_no)
{
m_COL_DT = col_dt;
m_COL_CD = col_cd;
m_COL_NO = col_no;
dateEdit_COL_DT.DateTime = Convert.ToDateTime(col_dt);
buttonEdit_COL_CD.Text = col_cd;
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.A | Keys.Alt))
{
clearProc();
return true;
}
else if (keyData == (Keys.I | Keys.Alt))
{
saveProc("I", "");
return true;
}
else if (keyData == (Keys.M | Keys.Alt))
{
saveProc("M", buttonEdit_COL_CD.Text);
return true;
}
else if (keyData == (Keys.D | Keys.Alt))
{
deleteProc();
return true;
}
else if (keyData == (Keys.X | Keys.Alt))
{
this.DialogResult = m_Changed ? DialogResult.Yes : DialogResult.Cancel;
this.Close();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
private void selectBankProc()
{
buttonEdit_ACC_NO.Text = "";
buttonEdit_ACC_NO.Tag = "";
labelControl_BANK_NM.Text = "";
textEdit_ACC_NM.Text = "";
SelectAccNoPopup form = new SelectAccNoPopup();
if (form.ShowDialog() == DialogResult.Yes)
{
buttonEdit_ACC_NO.Tag = form.m_BANK_CD;
buttonEdit_ACC_NO.Text = form.m_ACC_NO;
labelControl_BANK_NM.Text = form.m_BANK_NM;
textEdit_ACC_NM.Text = form.m_ACC_NM;
}
}
private void calcProc()
{
textEdit_Total.EditValue = UtilClass.toInt(textEdit_CASH_MY.EditValue) + UtilClass.toInt(textEdit_DEP_MY.EditValue) + UtilClass.toInt(textEdit_ETC_MY.EditValue);
}
private void selectCustProc()
{
SelectCustomerForm form = new SelectCustomerForm(buttonEdit_CUST_NM.Text, dateEdit_COL_DT.DateTime);
if (form.ShowDialog() != DialogResult.Yes)
{
return;
}
buttonEdit_CUST_NM.Text = form.m_CUST_NM;
labelControl_CUST_CD.Text = form.m_CUST_CD;
textEdit_CUST_USR_NM.Tag = form.m_CUST_USR_ID;
textEdit_CUST_USR_NM.Text = form.m_CUST_USR_NM;
buttonEdit_CURR_REMAIN_MONEY.EditValue = form.m_CURR_REMAIN_MONEY;
textEdit_CASH_MY.Focus();
}
private void searchProc(int mode)
{
try
{
this.Cursor = Cursors.WaitCursor;
SerializedSqlParam[] aParam = new SerializedSqlParam[]
{
ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD),
ClientClass.CreateSqlParameter("COL_DT", SqlDbType.NVarChar, dateEdit_COL_DT.DateTime.ToString("yyyy.MM.dd")),
ClientClass.CreateSqlParameter("COL_CD", SqlDbType.NVarChar, buttonEdit_COL_CD.Text),
ClientClass.CreateSqlParameter("MODE", SqlDbType.Int, mode)
};
ResultData resultData = ClientClass.GetData("GetCollectPopup", aParam);
if (resultData.isError)
{
throw new Exception(resultData.ResultValue);
}
if (resultData.DataList.Tables[0].Rows.Count > 0)
{
m_COL_NO = UtilClass.toStr(resultData.DataList.Tables[0].Rows[0]["COL_NO"]);
buttonEdit_CUST_NM.Text = UtilClass.toStr(resultData.DataList.Tables[0].Rows[0]["CUST_NM"]);
labelControl_CUST_CD.Text = UtilClass.toStr(resultData.DataList.Tables[0].Rows[0]["CUST_CD"]);
buttonEdit_CURR_REMAIN_MONEY.EditValue = UtilClass.toInt(resultData.DataList.Tables[0].Rows[0]["CURR_REMAIN_MONEY"]);
textEdit_REMAK.Text = UtilClass.toStr(resultData.DataList.Tables[0].Rows[0]["REMARK"]);
lookUpEdit_COL_USR_ID.EditValue = resultData.DataList.Tables[0].Rows[0]["COL_USR_ID"];
textEdit_CASH_MY.EditValue = resultData.DataList.Tables[0].Rows[0]["CASH_MY"];
textEdit_DEP_MY.EditValue = resultData.DataList.Tables[0].Rows[0]["DEP_MY"];
textEdit_ETC_MY.EditValue = resultData.DataList.Tables[0].Rows[0]["ETC_MY"];
textEdit_Total.EditValue = resultData.DataList.Tables[0].Rows[0]["TOT_MY"];
buttonEdit_ACC_NO.Text = UtilClass.toStr(resultData.DataList.Tables[0].Rows[0]["ACC_NO"]);
buttonEdit_ACC_NO.Tag = UtilClass.toStr(resultData.DataList.Tables[0].Rows[0]["BANK_CD"]);
labelControl_BANK_NM.Text = UtilClass.toStr(resultData.DataList.Tables[0].Rows[0]["BANK_NM"]);
textEdit_ACC_NM.Text = UtilClass.toStr(resultData.DataList.Tables[0].Rows[0]["BANK_CD"]);
}
else
{
clearProc();
}
buttonEdit_COL_CD.Text = UtilClass.toStr(resultData.DataList.Tables[1].Rows[0]["COL_CD"]);
this.Cursor = Cursors.Arrow;
if (mode > 0 && resultData.DataList.Tables[0].Rows.Count < 1)
{
XtraMessageBox.Show("해당 관리번호가 없습니다. 확인하시길 바랍니다.");
}
}
catch (Exception ex)
{
this.Cursor = Cursors.Arrow;
XtraMessageBox.Show(ex.Message);
}
}
private void clearProc()
{
m_COL_NO = "";
dateEdit_COL_DT.DateTime = DateTime.Now;
buttonEdit_COL_CD.Text = "";
buttonEdit_CUST_NM.Text = "";
labelControl_CUST_CD.Text = "";
textEdit_CUST_USR_NM.Text = "";
buttonEdit_CURR_REMAIN_MONEY.Text = "";
textEdit_CASH_MY.Text = "";
textEdit_DEP_MY.Text = "";
textEdit_ETC_MY.Text = "";
lookUpEdit_COL_USR_ID.ItemIndex = 0;
buttonEdit_ACC_NO.Tag = "";
buttonEdit_ACC_NO.Text = "";
labelControl_BANK_NM.Text = "";
textEdit_ACC_NM.Text = "";
textEdit_REMAK.Text = "";
textEdit_Total.Text = "";
}
private void saveProc(string mode, string col_cd)
{
try
{
this.Cursor = Cursors.WaitCursor;
if (UtilClass.isNull(labelControl_CUST_CD.Text))
{
buttonEdit_CUST_NM.Focus();
throw new Exception("거래선을 조회하여 선택하십시오.");
}
// 2019.07.05 khkang 마이너스 금액 입력 가능하도록 변경
//if (UtilClass.toInt(textEdit_Total.EditValue) < 1)
if (UtilClass.toInt(textEdit_Total.EditValue) == 0)
{
textEdit_CASH_MY.Focus();
throw new Exception("금액을 입력하십시오.");
}
string remark = textEdit_REMAK.Text.Trim();
if (remark.Equals(""))
{
if (UtilClass.isNull(buttonEdit_ACC_NO.Text))
{
remark = "수금";
}
else
{
remark = textEdit_ACC_NM.Text.Trim() + "(" + buttonEdit_ACC_NO.Text.Trim() + ")";
}
}
string col_usr_id = "";
DataRowView drv = lookUpEdit_COL_USR_ID.Properties.GetDataSourceRowByKeyValue(lookUpEdit_COL_USR_ID.EditValue) as DataRowView;
if (drv != null)
{
col_usr_id = UtilClass.toStr(drv["USR_ID"]);
}
SerializedSqlParam[] aParam = new SerializedSqlParam[]
{
ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD),
ClientClass.CreateSqlParameter("COL_NO", SqlDbType.NVarChar, m_COL_NO),
ClientClass.CreateSqlParameter("COL_DT", SqlDbType.NVarChar, dateEdit_COL_DT.DateTime.ToString("yyyy.MM.dd")),
ClientClass.CreateSqlParameter("COL_CD", SqlDbType.NVarChar, col_cd),
ClientClass.CreateSqlParameter("CUST_CD", SqlDbType.NVarChar, labelControl_CUST_CD.Text),
ClientClass.CreateSqlParameter("CASH_MY", SqlDbType.Int, UtilClass.toInt(textEdit_CASH_MY.EditValue)),
ClientClass.CreateSqlParameter("DEP_MY", SqlDbType.Int, UtilClass.toInt(textEdit_DEP_MY.EditValue)),
ClientClass.CreateSqlParameter("ETC_MY", SqlDbType.Int, UtilClass.toInt(textEdit_ETC_MY.EditValue)),
ClientClass.CreateSqlParameter("BANK_CD", SqlDbType.NVarChar, UtilClass.toStr(buttonEdit_ACC_NO.Tag)),
ClientClass.CreateSqlParameter("ACC_NO", SqlDbType.NVarChar, UtilClass.toStr(buttonEdit_ACC_NO.Text)),
ClientClass.CreateSqlParameter("COL_USR_ID", SqlDbType.NVarChar, col_usr_id),
ClientClass.CreateSqlParameter("REMARK", SqlDbType.NVarChar, remark),
ClientClass.CreateSqlParameter("REG_ID", SqlDbType.NVarChar, ConstClass._USR_ID),
ClientClass.CreateSqlParameter("MODE", SqlDbType.NVarChar, mode),
ClientClass.CreateSqlParameter("RESULT_STR", SqlDbType.NVarChar, "", ParameterDirection.Output, 1000)
};
ResultData resultData = ClientClass.SetData("SaveCollectPopup", aParam);
if (resultData.isError)
{
throw new Exception(resultData.ResultValue);
}
if (!UtilClass.isNull(resultData.ResultValue))
{
XtraMessageBox.Show(resultData.ResultValue);
}
m_Changed = true;
this.Cursor = Cursors.Arrow;
XtraMessageBox.Show((mode.Equals("I") ? "등록" : "수정") + " 완료");
clearProc();
}
catch (Exception ex)
{
this.Cursor = Cursors.Arrow;
XtraMessageBox.Show(ex.Message);
}
}
private void deleteProc()
{
try
{
if (XtraMessageBox.Show("삭제하시겠습니까?", "삭제", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
{
return;
}
this.Cursor = Cursors.WaitCursor;
if (UtilClass.isNull(m_COL_NO))
{
throw new Exception("삭제할 자료를 조회하십시오.");
}
SerializedSqlParam[] aParam = new SerializedSqlParam[]
{
ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD),
ClientClass.CreateSqlParameter("COL_NO", SqlDbType.NVarChar, m_COL_NO)
};
ResultData resultData = ClientClass.SetData("DeleteCollectPopup", aParam);
if (resultData.isError)
{
throw new Exception(resultData.ResultValue);
}
m_Changed = true;
m_COL_NO = "";
this.Cursor = Cursors.Arrow;
XtraMessageBox.Show("삭제 완료");
clearProc();
}
catch (Exception ex)
{
this.Cursor = Cursors.Arrow;
XtraMessageBox.Show(ex.Message);
}
}
}
}