구매신청화면에서 콤보를 버튼으로 변경하고 db검색 validation 기능 추가, 품목 추가시 sid검색기능도 추가 함
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using FCOMMON;
|
||||
using FCM0000.Mail;
|
||||
using FCOMMON;
|
||||
using FEQ0000.Purchase;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -18,7 +19,8 @@ namespace FEQ0000
|
||||
dsPurchase.PurchaseRow dr;
|
||||
public Boolean repeatAdd = false;
|
||||
Boolean binit = false;
|
||||
string sidchk = string.Empty;
|
||||
string sidchk1 = string.Empty;
|
||||
string dbchk1 = string.Empty;
|
||||
|
||||
public fPurchase_Add(dsPurchase.PurchaseRow dr_)
|
||||
{
|
||||
@@ -53,10 +55,6 @@ namespace FEQ0000
|
||||
Boolean advInput = false;
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
// TODO: 이 코드는 데이터를 'dsPurchase.Purchase' 테이블에 로드합니다. 필요한 경우 이 코드를 이동하거나 제거할 수 있습니다.
|
||||
//this.purchaseTableAdapter.Fill(this.dsPurchase.Purchase);
|
||||
// this.Show();
|
||||
// Application.DoEvents();
|
||||
advInput = FCOMMON.Util.getBit(FCOMMON.info.Login.gpermission, (int)FCOMMON.eGroupPermission.purchase_adv);
|
||||
|
||||
//상태
|
||||
@@ -65,39 +63,6 @@ namespace FEQ0000
|
||||
this.cmbState.ValueMember = "Value";
|
||||
this.cmbState.DataSource = stateList;
|
||||
|
||||
//장비제조
|
||||
var dt_dept = FCOMMON.DBM.getCodeTable("06");
|
||||
bsManu.DataSource = dt_dept;
|
||||
this.cbEQManu.DisplayMember = "Value";
|
||||
this.cbEQManu.ValueMember = "Value";
|
||||
this.cbEQManu.DataSource = bsManu;
|
||||
|
||||
//장비모델
|
||||
var dt_asset = FCOMMON.DBM.getCodeTable("07");
|
||||
bsModel.DataSource = dt_asset;
|
||||
bsModel.Filter = "svalue='그런거없다'";
|
||||
this.cbEQModel.DisplayMember = "Value";
|
||||
this.cbEQModel.ValueMember = "Value";
|
||||
this.cbEQModel.DataSource = bsModel;
|
||||
|
||||
//제조공정
|
||||
var dt_manuproc = FCOMMON.DBM.getCodeTable("08");
|
||||
this.cbManuProc.DisplayMember = "Value";
|
||||
this.cbManuProc.ValueMember = "Value";
|
||||
this.cbManuProc.DataSource = dt_manuproc;
|
||||
|
||||
//장비기술공정
|
||||
var dt_eetproc = FCOMMON.DBM.getCodeTable("09");
|
||||
this.cbProcess.DisplayMember = "Value";
|
||||
this.cbProcess.ValueMember = "Value";
|
||||
this.cbProcess.DataSource = dt_eetproc;
|
||||
|
||||
////processlist
|
||||
//var procList = FCOMMON.DBM.getGroupTable("process", "Purchase", "process <> ''");
|
||||
//this.cbProcess.DisplayMember = "Value";
|
||||
//this.cbProcess.ValueMember = "Key";
|
||||
//this.cbProcess.DataSource = new BindingSource(procList, "");
|
||||
|
||||
//담당자목록
|
||||
var userList = FCOMMON.DBM.getUserList(); //.getGroupList("name", "Users", "[level] > 0 and [level] < 10");
|
||||
foreach (var user in userList)
|
||||
@@ -160,26 +125,34 @@ namespace FEQ0000
|
||||
tbSID.Text = dr.sid;
|
||||
tbSID.Tag = tbSID.Text;
|
||||
|
||||
//230728
|
||||
if (dr.IscostcenterNull() == false)
|
||||
tbCostCenter.Text = dr.costcenter;
|
||||
else tbCostCenter.Text = string.Empty;
|
||||
if (dr.IslinecodeNull() == false)
|
||||
tbLineCode.Text = dr.linecode;
|
||||
else tbLineCode.Text = string.Empty;
|
||||
|
||||
if (dr.manuproc == "") cbManuProc.SelectedIndex = -1;
|
||||
else cbManuProc.Text = dr.manuproc; //190106
|
||||
if (dr.IsmanuprocNull() == false)
|
||||
btManuProc.Text = dr.manuproc;
|
||||
else
|
||||
btManuProc.Text = string.Empty;
|
||||
|
||||
if (dr.dept == "") cbEQManu.SelectedIndex = -1;
|
||||
else cbEQManu.Text = dr.dept; //제조사
|
||||
if (cbEQManu.SelectedIndex == -1)
|
||||
//if (dr.manuproc == "") btManuProc.SelectedIndex = -1;
|
||||
//else btManuProc.Text = dr.manuproc; //190106
|
||||
if (dr.IsdeptNull() == false)
|
||||
btEQManu.Text = dr.dept;
|
||||
else
|
||||
btEQManu.Text = string.Empty;
|
||||
|
||||
if (btEQManu.Text.isEmpty())
|
||||
{
|
||||
if (dr.asset != "") FCOMMON.Util.MsgE(
|
||||
string.Format("장비 모델 명({0})이 있지만 해당 제조사가 없으므로 모델명이 제거 됩니다. 모델을 다시 지정 하세요", dr.asset));
|
||||
cbEQModel.SelectedIndex = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cbEQModel.Text = dr.asset; //제조모델명
|
||||
if (cbEQModel.SelectedIndex == -1)
|
||||
{
|
||||
//FCOMMON.Util.MsgE("모델을 다시 선택하세요");
|
||||
}
|
||||
btEQModel.Text = string.Empty;
|
||||
}
|
||||
else btEQModel.Text = dr.asset; //제조모델명
|
||||
|
||||
|
||||
|
||||
tbPumName.Text = dr.pumname;
|
||||
@@ -205,14 +178,13 @@ namespace FEQ0000
|
||||
|
||||
cmbState.Text = dr.state;
|
||||
|
||||
|
||||
if (dr.process == "") cbProcess.SelectedIndex = -1;
|
||||
else cbProcess.Text = dr.process;
|
||||
if (cbProcess.SelectedIndex == -1)
|
||||
if (dr.IsprocessNull() == false) btProcess.Text = dr.process;
|
||||
else btProcess.Text = string.Empty;
|
||||
if (btProcess.Text.isEmpty())
|
||||
{
|
||||
//181203 - 이 사용자가 마지막으로 사용한 공정값을 사용한다.
|
||||
var lastprocess = FCOMMON.DBM.getFirstValue("process", "purchase", "request like '%" + this.cmbRequest.Text + "%'", "pdate desc");
|
||||
if (lastprocess != "") cbProcess.Text = lastprocess;
|
||||
if (lastprocess != "") btProcess.Text = lastprocess;
|
||||
|
||||
}
|
||||
chk1.Checked = dr.chk1;
|
||||
@@ -285,9 +257,9 @@ namespace FEQ0000
|
||||
binit = true;
|
||||
|
||||
if (dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Added)
|
||||
sidchk = string.Empty;
|
||||
sidchk1 = string.Empty;
|
||||
else
|
||||
sidchk = tbSID.Text.Trim();
|
||||
sidchk1 = tbSID.Text.Trim();
|
||||
|
||||
timer1.Start();
|
||||
|
||||
@@ -313,7 +285,7 @@ namespace FEQ0000
|
||||
case "cmbrequest":
|
||||
//요청자가 마지막으로 입력한 자료의 process 를 찾아서 기입해준다.
|
||||
var lastprocess = FCOMMON.DBM.getFirstValue("process", "purchase", "request like '%" + this.cmbRequest.Text + "%'", "pdate desc");
|
||||
if (lastprocess != "") cbProcess.Text = lastprocess;
|
||||
if (lastprocess != "") btProcess.Text = lastprocess;
|
||||
tbSID.Focus();
|
||||
break;
|
||||
case "tbpumname":
|
||||
@@ -340,6 +312,8 @@ namespace FEQ0000
|
||||
{
|
||||
if (search == "" && allowAll == false)
|
||||
{
|
||||
dbchk1 = string.Empty;
|
||||
sidchk1 = string.Empty;
|
||||
FCOMMON.Util.MsgE("품명은 필수 값 입니다");
|
||||
tbPumName.Focus();
|
||||
return;
|
||||
@@ -349,6 +323,8 @@ namespace FEQ0000
|
||||
var f = new FCM0000.fLovItem(search);
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
dbchk1 = f.itemName;
|
||||
|
||||
//인덱스값이 다르면 모델 및 가격을 업데이트 한다.
|
||||
tbPumName.Text = f.itemName;
|
||||
tbPumName.Tag = f.itemName;
|
||||
@@ -445,6 +421,23 @@ namespace FEQ0000
|
||||
|
||||
tbSID.Text = sidTrim(tbSID.Text);
|
||||
|
||||
if (dbchk1.isEmpty())
|
||||
{
|
||||
Util.MsgE("품목 검사가 진행되지 않았습니다\n품명을 입력한 후 엔터를 누르거나 [품명] 버튼을 눌러서 검색을 수행한 후 다시 시도하세요");
|
||||
tbPumName.Focus();
|
||||
Lov_Item(tbPumName.Text, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
//시드검사한 자료와 현재 입력된 시드가 다르면 검사를 다시 하게 한다
|
||||
if (this.tbPumName.Text.Trim().Equals(this.dbchk1) == false)
|
||||
{
|
||||
Util.MsgE("품명검사 자료가 변경되었습니다. 다시 검사 하세요");
|
||||
Lov_Item("", true);
|
||||
dbchk1 = string.Empty;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (tbSID.Text.Equals("신규") || tbSID.Text.isEmpty())
|
||||
{
|
||||
@@ -452,7 +445,7 @@ namespace FEQ0000
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(this.sidchk))
|
||||
if (string.IsNullOrWhiteSpace(this.sidchk1))
|
||||
{
|
||||
FCOMMON.Util.MsgE("SID검사가 필요합니다.\n상단의 검사 버튼을 눌러 SPR/NR 재고 여부를 확인 하세요");
|
||||
btSIDChk.Focus();
|
||||
@@ -460,14 +453,14 @@ namespace FEQ0000
|
||||
}
|
||||
|
||||
//시드검사한 자료와 현재 입력된 시드가 다르면 검사를 다시 하게 한다
|
||||
if (this.tbSID.Text.Trim().Equals(this.sidchk) == false)
|
||||
if (this.tbSID.Text.Trim().Equals(this.sidchk1) == false)
|
||||
{
|
||||
Util.MsgE("SID검사 자료가 변경되었습니다. 다시 검사 하세요");
|
||||
sidchk = string.Empty;
|
||||
sidchk1 = string.Empty;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//if (cbProcess.Text.Trim() == "")
|
||||
@@ -551,77 +544,65 @@ namespace FEQ0000
|
||||
var overtime = DateTime.Now - DateTime.Parse("2019-01-09 00:00:00");
|
||||
if (overtime.TotalSeconds > 0)
|
||||
{
|
||||
if (advInput == true && this.cbProcess.Text.Trim() == "")
|
||||
if (advInput == true && this.btProcess.Text.Trim() == "")
|
||||
{
|
||||
if (FCOMMON.info.Login.level >= 5)
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("[공정]을 입력하지 않고 진행 하시겠습니까?\n\n" +
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n" +
|
||||
"BongSeok Jung(T.7191)\n" +
|
||||
"BongSeok.Jung@amkor.co.kr");
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n");
|
||||
if (dlg != System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
cbProcess.Focus();
|
||||
btProcess.Focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FCOMMON.Util.MsgE("[공정]을 선택하세요\n\n" +
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n" +
|
||||
"BongSeok Jung(T.7191)\n" +
|
||||
"BongSeok.Jung@amkor.co.kr");
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n");
|
||||
|
||||
cbProcess.Focus();
|
||||
btProcess.Focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (advInput == true && cbManuProc.Text.Trim() == "")
|
||||
if (advInput == true && btManuProc.Text.Trim() == "")
|
||||
{
|
||||
if (FCOMMON.info.Login.level >= 5)
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("[제조공정]을 입력하지 않고 진행 하시겠습니까?\n\n" +
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n" +
|
||||
"BongSeok Jung(T.7191)\n" +
|
||||
"BongSeok.Jung@amkor.co.kr");
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n");
|
||||
if (dlg != System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
cbManuProc.Focus();
|
||||
btManuProc.Focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FCOMMON.Util.MsgE("[제조공정]을 선택하세요\n\n" +
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n" +
|
||||
"BongSeok Jung(T.7191)\n" +
|
||||
"BongSeok.Jung@amkor.co.kr");
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n");
|
||||
|
||||
cbManuProc.Focus();
|
||||
btManuProc.Focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (advInput == true && this.cbEQManu.Text.Trim() == "")
|
||||
if (advInput == true && this.btEQManu.Text.Trim() == "")
|
||||
{
|
||||
if (FCOMMON.info.Login.level >= 5)
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("[장비제조사]를 입력하지 않고 진행 하시겠습니까?\n\n" +
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n" +
|
||||
"BongSeok Jung(T.7191)\n" +
|
||||
"BongSeok.Jung@amkor.co.kr");
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n");
|
||||
if (dlg != System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
cbEQManu.Focus();
|
||||
btEQManu.Focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FCOMMON.Util.MsgE("[장비제조사]를 선택하세요.\n\n" +
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n" +
|
||||
"BongSeok Jung(T.7191)\n" +
|
||||
"BongSeok.Jung@amkor.co.kr");
|
||||
cbEQManu.Focus();
|
||||
"선택 대상이 없는 경우 문의 바랍니다.\n\n");
|
||||
btEQManu.Focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -711,9 +692,9 @@ namespace FEQ0000
|
||||
|
||||
dr.sid = tbSID.Text;
|
||||
|
||||
dr.asset = cbEQModel.Text;
|
||||
dr.dept = cbEQManu.Text;
|
||||
dr.manuproc = cbManuProc.Text;
|
||||
dr.asset = btEQModel.Text;
|
||||
dr.dept = btEQManu.Text;
|
||||
dr.manuproc = btManuProc.Text;
|
||||
|
||||
dr.pumname = tbPumName.Text;
|
||||
dr.pumname = dr.pumname.Replace("*", "x"); //181031
|
||||
@@ -724,6 +705,8 @@ namespace FEQ0000
|
||||
|
||||
dr.supply = tbSupply.Text;
|
||||
dr.place = tbStorage.Text;
|
||||
dr.costcenter = tbCostCenter.Text;
|
||||
dr.linecode = tbLineCode.Text;
|
||||
|
||||
if (tbSupplyIndex.Text == "") dr.SetsupplyidxNull();
|
||||
else dr.supplyidx = int.Parse(tbSupplyIndex.Text);
|
||||
@@ -739,7 +722,7 @@ namespace FEQ0000
|
||||
else
|
||||
dr.receive = cmbReceive.Text.Trim();
|
||||
|
||||
dr.process = cbProcess.Text;
|
||||
dr.process = btProcess.Text;
|
||||
dr.sc = tbSC.Text;
|
||||
dr.po = tbPO.Text;
|
||||
dr.orderno = tbOrderNo.Text;
|
||||
@@ -872,32 +855,8 @@ namespace FEQ0000
|
||||
|
||||
}
|
||||
|
||||
private void imgpase_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void cbEQManu_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
string 원본모델 = cbEQModel.Text;
|
||||
|
||||
//장비모델 필터를 변경해준다.
|
||||
if (cbEQManu.SelectedIndex < 0)
|
||||
{
|
||||
cbEQModel.SelectedIndex = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
string filter = "svalue='" + cbEQManu.Text.Replace("'", "''") + "'";
|
||||
bsModel.Filter = filter;
|
||||
if (원본모델 != "") cbEQModel.Text = 원본모델;
|
||||
else cbEQModel.SelectedIndex = -1;
|
||||
}
|
||||
|
||||
private void linkLabel6_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
@@ -940,7 +899,7 @@ namespace FEQ0000
|
||||
|
||||
private void tbPumName_Click(object sender, EventArgs e)
|
||||
{
|
||||
Lov_Item("", true);
|
||||
//Lov_Item("", true);
|
||||
}
|
||||
|
||||
private void tbPumName_TextChanged(object sender, EventArgs e)
|
||||
@@ -1048,7 +1007,7 @@ namespace FEQ0000
|
||||
else tbPumPrice.Text = "0";
|
||||
}
|
||||
|
||||
private void button8_Click(object sender, EventArgs e)
|
||||
private void btSIDChk_Click(object sender, EventArgs e)
|
||||
{
|
||||
var sid = tbSID.Text.Trim();
|
||||
|
||||
@@ -1074,17 +1033,17 @@ namespace FEQ0000
|
||||
if (f.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
dr.chk1 = true;
|
||||
this.sidchk = sid;
|
||||
this.sidchk1 = sid;
|
||||
}
|
||||
else
|
||||
{
|
||||
FCOMMON.Util.MsgE("목록표시 창에서 '확인' 버튼을 눌러야 SID검색이 완료됩니다.");
|
||||
Util.MsgE("목록표시 창에서 '확인' 버튼을 눌러야 SID검색이 완료됩니다.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FCOMMON.Util.MsgI("SPM/NR 에서 검색된 정보가 없습니다\n저장이 가능 합니다");
|
||||
this.sidchk = sid;
|
||||
Util.MsgI("SPM/NR 에서 검색된 정보가 없습니다\n저장이 가능 합니다");
|
||||
this.sidchk1 = sid;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1107,7 +1066,7 @@ namespace FEQ0000
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(sidchk))
|
||||
if (string.IsNullOrWhiteSpace(sidchk1))
|
||||
{
|
||||
if (btSIDChk.BackColor == Color.Lime)
|
||||
btSIDChk.BackColor = Color.White;
|
||||
@@ -1118,5 +1077,75 @@ namespace FEQ0000
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void processLabel_Click(object sender, EventArgs e)
|
||||
{
|
||||
//var f = new FCM0000.fCode("09");
|
||||
//var dlg = f.ShowDialog();
|
||||
//if (dlg == DialogResult.OK)
|
||||
//{
|
||||
// //장비기술공정
|
||||
// var dt = FCOMMON.DBM.getCodeTable("09");
|
||||
// this.cbProcess.DataSource = dt;
|
||||
// cbProcess.Text = f.SelectedTitle;// cbProcess.SelectedIndex = -1;
|
||||
//}
|
||||
}
|
||||
|
||||
private void groupBox1_Enter(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btProcess_Click(object sender, EventArgs e)
|
||||
{
|
||||
var bt = sender as Button;
|
||||
var guun = bt.Tag.ToString();
|
||||
var f = new FCM0000.fCode(guun);
|
||||
var dlg = f.ShowDialog();
|
||||
if (dlg == DialogResult.OK)
|
||||
{
|
||||
//장비기술공정;
|
||||
bt.Text = f.SelectedTitle;// cbProcess.SelectedIndex = -1;
|
||||
}
|
||||
}
|
||||
|
||||
private void tbSC_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void cbEQModel_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void cbEQManu_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void button8_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
if (btEQManu.Text.isEmpty())
|
||||
{
|
||||
Util.MsgE("장비 제조사가 선택되지 않았습니다");
|
||||
btEQManu.Focus();
|
||||
return;
|
||||
}
|
||||
|
||||
string filter = "svalue='" + btEQManu.Text.Replace("'", "''") + "'";
|
||||
|
||||
var bt = sender as Button;
|
||||
var guun = bt.Tag.ToString();
|
||||
var f = new FCM0000.fCode(guun, filter);
|
||||
var dlg = f.ShowDialog();
|
||||
if (dlg == DialogResult.OK)
|
||||
{
|
||||
//장비기술공정;
|
||||
bt.Text = f.SelectedTitle;// cbProcess.SelectedIndex = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user