?? dinput.cpp
字號:
fNumber=atof(sNumber);
fTotal=fNumber*atof(sMoney);
fSumNumber=fSumNumber+fNumber;
fSumMoney=fSumMoney+fTotal;
}
sSumNumber.Format("%d",(int)fSumNumber);
sSumMoney.Format("%f",fSumMoney);
m_StaSumMoney.SetWindowText(sSumMoney);
m_StaSumNumber.SetWindowText(sSumNumber);
m_StaBigSumMoney.SetWindowText(MoneyToChineseCode(sSumMoney));
this->m_EdtNoPay.SetWindowText(sSumMoney);
}
}
void CDInput::OnInputButexit()
{
CString MsgText;
MsgText.Format("確定要退出%s模塊嗎?",m_Caption);
if(MessageBox(MsgText,"系統(tǒng)提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
this->OnCancel();
}
void CDInput::OnInputButsave()
{
CString MsgText;
if(m_Caption=="進(jìn)貨管理")
MsgText="確定要保存此進(jìn)貨單嗎?";
if(m_Caption=="退貨返廠管理")
MsgText="確定要保存此退貨返廠單嗎?";
if(m_Caption=="銷售管理")
MsgText="確定要保存此銷售單嗎?";
if(m_Caption=="銷售退貨管理")
MsgText="確定要保存此銷售退貨單嗎?";
if(m_Caption=="商品調(diào)撥管理")
MsgText="確定要保存此商品調(diào)撥單嗎?";
if(MessageBox(MsgText,"系統(tǒng)提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
CString sSQL,sID,sDate,sProvide,sProvideID,sOPID,sDealWith,sDearID,sPay,sNoPay,sGiveChange,sSumMoney,sSumNumber,sStore,sStoreID;
m_StaID.GetWindowText(sID);
sID.TrimLeft();
sID.TrimRight();
m_StaDate.GetWindowText(sDate);
sDate.TrimRight();
m_EdtDear.GetWindowText(sDealWith);
sDearID=ado.FieldToOtherField("員工信息表","姓名",sDealWith,"編號",1);
m_EdtProvide.GetWindowText(sProvide);
sProvideID=ado.FieldToOtherField("往來單位信息表","名稱",sProvide,"編號",1);
sOPID=ado.FieldToOtherField("操作員信息表","用戶名",OP,"編號",1);
m_EdtPay.GetWindowText(sPay);
if(m_Caption!="商品調(diào)撥管理")
if(sPay.IsEmpty())
{
MessageBox("還沒有結(jié)款!!","系統(tǒng)提示",MB_OK|MB_ICONSTOP);
m_EdtPay.SetFocus();
return;
}
m_EdtNoPay.GetWindowText(sNoPay);
m_EdtGiveChange.GetWindowText(sGiveChange);
m_StaSumMoney.GetWindowText(sSumMoney);
m_StaSumNumber.GetWindowText(sSumNumber);
m_EdtStore.GetWindowText(sStore);
sStoreID=ado.FieldToOtherField("倉庫信息表","名稱",sStore,"編號",1);
if(m_Caption=="進(jìn)貨管理")
{
//添加到進(jìn)貨信息表中
sSQL.Format("INSERT INTO 進(jìn)貨信息表 VALUES ('%s','%s',#%s#,%s,%s,%s,%s,%s,%s,%s,%s)",sID,sProvideID,sDate,sStoreID,sSumNumber,sSumMoney,sPay,sNoPay,sGiveChange,sOPID,sDearID);
rst.Open(sSQL,adCmdText);
//添加到進(jìn)貨明細(xì)表
CString sWare,sWareID,sSpec,sAddr,sPrice,sNumber;
for(int i=0;i<m_Grid.GetItemCount();i++)
{
//名稱、規(guī)格、產(chǎn)地三個字段才能指定唯一的商品
sWare=this->m_Grid.GetItemText(i,0);
sSpec=this->m_Grid.GetItemText(i,2);
sAddr=this->m_Grid.GetItemText(i,3);
sPrice=this->m_Grid.GetItemText(i,6);
sNumber=this->m_Grid.GetItemText(i,5);
if(sWare.IsEmpty())
break;
sSQL.Format("SELECT * FROM 商品信息表 WHERE 名稱='%s' AND 規(guī)格='%s' AND 產(chǎn)地='%s'",sWare,sSpec,sAddr);
rst.Open(sSQL,adCmdText);
rst.MoveFirst();
sWareID=rst.GetFieldValue("編號");
sSQL.Format("INSERT INTO 進(jìn)貨明細(xì)表 VALUES('%s','%s',%s,%s)",sID,sWareID,sPrice,sNumber);
rst.Open(sSQL,adCmdText);
//更新庫存信息表
CString sStoreNumber;
sSQL.Format("SELECT * FROM 庫存信息表 WHERE 商品編號='%s' AND 倉庫=%s",sWareID,sStoreID);
rst.Open(sSQL,adCmdText);
if(rst.GetRecordCount()<1)//沒有此種商品的庫存信息
sSQL.Format("INSERT INTO 庫存信息表 VALUES('%s',%s,%s)",sWareID,sStoreID,sNumber);
else
{
sStoreNumber=rst.GetFieldValue("庫存數(shù)量");
sSQL.Format("UPDATE 庫存信息表 SET 庫存數(shù)量=%d WHERE 商品編號='%s'AND 倉庫=%s",atoi(sStoreNumber)+atoi(sNumber),sWareID,sStoreID);
}
rst.Open(sSQL,adCmdText);
}
}
if(m_Caption=="退貨返廠管理")
{
//添加到退貨返廠信息表中
sSQL.Format("INSERT INTO 退貨返廠表 VALUES ('%s','%s',#%s#,%s,%s,%s,%s,%s,%s,%s,%s)",sID,sProvideID,sDate,sStoreID,sSumNumber,sSumMoney,sPay,sNoPay,sGiveChange,sOPID,sDearID);
rst.Open(sSQL,adCmdText);
//添加到退貨返廠明細(xì)表
CString sWare,sWareID,sSpec,sAddr,sPrice,sNumber;
for(int i=0;i<m_Grid.GetItemCount();i++)
{
//名稱、規(guī)格、產(chǎn)地三個字段才能指定唯一的商品
sWare=this->m_Grid.GetItemText(i,0);
sSpec=this->m_Grid.GetItemText(i,2);
sAddr=this->m_Grid.GetItemText(i,3);
sPrice=this->m_Grid.GetItemText(i,6);
sNumber=this->m_Grid.GetItemText(i,5);
if(sWare.IsEmpty())
break;
sSQL.Format("SELECT * FROM 商品信息表 WHERE 名稱='%s' AND 規(guī)格='%s' AND 產(chǎn)地='%s'",sWare,sSpec,sAddr);
rst.Open(sSQL,adCmdText);
rst.MoveFirst();
sWareID=rst.GetFieldValue("編號");
sSQL.Format("INSERT INTO 退貨返廠明細(xì)表 VALUES('%s','%s',%s,%s)",sID,sWareID,sPrice,sNumber);
rst.Open(sSQL,adCmdText);
//更新庫存信息表
CString sStoreNumber;
sSQL.Format("SELECT * FROM 庫存信息表 WHERE 商品編號='%s' AND 倉庫=%s",sWareID,sStoreID);
rst.Open(sSQL,adCmdText);
if(rst.GetRecordCount()<1)//沒有此種商品的庫存信息
sSQL.Format("INSERT INTO 庫存信息表 VALUES('%s',%s,-%s)",sWareID,sStoreID,sNumber);
else
{
sStoreNumber=rst.GetFieldValue("庫存數(shù)量");
sSQL.Format("UPDATE 庫存信息表 SET 庫存數(shù)量=%d WHERE 商品編號='%s'AND 倉庫=%s",atoi(sStoreNumber)-atoi(sNumber),sWareID,sStoreID);
}
rst.Open(sSQL,adCmdText);
}
}
if(m_Caption=="銷售管理")
{
//添加到銷售信息表中
sSQL.Format("INSERT INTO 銷售信息表 VALUES ('%s','%s',#%s#,%s,%s,%s,%s,%s,%s,%s,%s)",sID,sProvideID,sDate,sStoreID,sSumNumber,sSumMoney,sPay,sNoPay,sGiveChange,sOPID,sDearID);
rst.Open(sSQL,adCmdText);
//添加到銷售明細(xì)表
CString sWare,sWareID,sSpec,sAddr,sPrice,sNumber;
for(int i=0;i<m_Grid.GetItemCount();i++)
{
//名稱、規(guī)格、產(chǎn)地三個字段才能指定唯一的商品
sWare=this->m_Grid.GetItemText(i,0);
sSpec=this->m_Grid.GetItemText(i,2);
sAddr=this->m_Grid.GetItemText(i,3);
sPrice=this->m_Grid.GetItemText(i,6);
sNumber=this->m_Grid.GetItemText(i,5);
if(sWare.IsEmpty())
break;
sSQL.Format("SELECT * FROM 商品信息表 WHERE 名稱='%s' AND 規(guī)格='%s' AND 產(chǎn)地='%s'",sWare,sSpec,sAddr);
rst.Open(sSQL,adCmdText);
rst.MoveFirst();
sWareID=rst.GetFieldValue("編號");
sSQL.Format("INSERT INTO 銷售明細(xì)表 VALUES('%s','%s',%s,%s)",sID,sWareID,sPrice,sNumber);
rst.Open(sSQL,adCmdText);
//更新庫存信息表
CString sStoreNumber;
sSQL.Format("SELECT * FROM 庫存信息表 WHERE 商品編號='%s' AND 倉庫=%s",sWareID,sStoreID);
rst.Open(sSQL,adCmdText);
if(rst.GetRecordCount()<1)//沒有此種商品的庫存信息
sSQL.Format("INSERT INTO 庫存信息表 VALUES('%s',%s,-%s)",sWareID,sStoreID,sNumber);
else
{
sStoreNumber=rst.GetFieldValue("庫存數(shù)量");
sSQL.Format("UPDATE 庫存信息表 SET 庫存數(shù)量=%d WHERE 商品編號='%s'AND 倉庫=%s",atoi(sStoreNumber)-atoi(sNumber),sWareID,sStoreID);
}
rst.Open(sSQL,adCmdText);
}
}
if(m_Caption=="銷售退貨管理")
{
//添加到銷售退貨信息表中
sSQL.Format("INSERT INTO 銷售退貨信息表 VALUES ('%s','%s',#%s#,%s,%s,%s,%s,%s,%s,%s,%s)",sID,sProvideID,sDate,sStoreID,sSumNumber,sSumMoney,sPay,sNoPay,sGiveChange,sOPID,sDearID);
rst.Open(sSQL,adCmdText);
//添加到銷售退貨明細(xì)表
CString sWare,sWareID,sSpec,sAddr,sPrice,sNumber;
for(int i=0;i<m_Grid.GetItemCount();i++)
{
//名稱、規(guī)格、產(chǎn)地三個字段才能指定唯一的商品
sWare=this->m_Grid.GetItemText(i,0);
sSpec=this->m_Grid.GetItemText(i,2);
sAddr=this->m_Grid.GetItemText(i,3);
sPrice=this->m_Grid.GetItemText(i,6);
sNumber=this->m_Grid.GetItemText(i,5);
if(sWare.IsEmpty())
break;
sSQL.Format("SELECT * FROM 商品信息表 WHERE 名稱='%s' AND 規(guī)格='%s' AND 產(chǎn)地='%s'",sWare,sSpec,sAddr);
rst.Open(sSQL,adCmdText);
rst.MoveFirst();
sWareID=rst.GetFieldValue("編號");
sSQL.Format("INSERT INTO 銷售退貨明細(xì)表 VALUES('%s','%s',%s,%s)",sID,sWareID,sPrice,sNumber);
rst.Open(sSQL,adCmdText);
//更新庫存信息表
CString sStoreNumber;
sSQL.Format("SELECT * FROM 庫存信息表 WHERE 商品編號='%s' AND 倉庫=%s",sWareID,sStoreID);
rst.Open(sSQL,adCmdText);
if(rst.GetRecordCount()<1)//沒有此種商品的庫存信息
sSQL.Format("INSERT INTO 庫存信息表 VALUES('%s',%s,%s)",sWareID,sStoreID,sNumber);
else
{
sStoreNumber=rst.GetFieldValue("庫存數(shù)量");
sSQL.Format("UPDATE 庫存信息表 SET 庫存數(shù)量=%d WHERE 商品編號='%s'AND 倉庫=%s",atoi(sStoreNumber)+atoi(sNumber),sWareID,sStoreID);
}
rst.Open(sSQL,adCmdText);
}
}
if(m_Caption=="商品調(diào)撥管理")
{
CString sYStore,sYStoreID;
this->m_EdtProvide.GetWindowText(sYStore);
sYStoreID=ado.FieldToOtherField("倉庫信息表","名稱",sYStore,"編號",1);
//添加到調(diào)撥信息表中
sSQL.Format("INSERT INTO 調(diào)貨信息表 VALUES ('%s',%s,%s,#%s#,%s,%s,%s,%s)",sID,sYStoreID,sStoreID,sDate,sSumNumber,sSumMoney,sOPID,sDearID);
rst.Open(sSQL,adCmdText);
//添加到銷售退貨明細(xì)表
CString sWare,sWareID,sSpec,sAddr,sPrice,sNumber;
for(int i=0;i<m_Grid.GetItemCount();i++)
{
//名稱、規(guī)格、產(chǎn)地三個字段才能指定唯一的商品
sWare=this->m_Grid.GetItemText(i,0);
sSpec=this->m_Grid.GetItemText(i,2);
sAddr=this->m_Grid.GetItemText(i,3);
sPrice=this->m_Grid.GetItemText(i,6);
sNumber=this->m_Grid.GetItemText(i,5);
if(sWare.IsEmpty())
break;
sSQL.Format("SELECT * FROM 商品信息表 WHERE 名稱='%s' AND 規(guī)格='%s' AND 產(chǎn)地='%s'",sWare,sSpec,sAddr);
rst.Open(sSQL,adCmdText);
rst.MoveFirst();
sWareID=rst.GetFieldValue("編號");
sSQL.Format("INSERT INTO 調(diào)貨明細(xì)表 VALUES('%s','%s',%s,%s)",sID,sWareID,sNumber,sPrice);
rst.Open(sSQL,adCmdText);
//更新庫存信息表
CString sStoreNumber;
//將出貨倉庫中此種商品減去調(diào)撥數(shù)量
sSQL.Format("SELECT * FROM 庫存信息表 WHERE 商品編號='%s' AND 倉庫=%s",sWareID,sYStoreID);
rst.Open(sSQL,adCmdText);
if(rst.GetRecordCount()<1)//沒有此種商品的庫存信息
sSQL.Format("INSERT INTO 庫存信息表 VALUES('%s',%s,-%s)",sWareID,sStoreID,sNumber);
else
{
sStoreNumber=rst.GetFieldValue("庫存數(shù)量");
sSQL.Format("UPDATE 庫存信息表 SET 庫存數(shù)量=%d WHERE 商品編號='%s'AND 倉庫=%s",atoi(sStoreNumber)-atoi(sNumber),sWareID,sYStoreID);
}
rst.Open(sSQL,adCmdText);
//將收貨倉庫中此種商品加上調(diào)撥數(shù)量
sSQL.Format("SELECT * FROM 庫存信息表 WHERE 商品編號='%s' AND 倉庫=%s",sWareID,sStoreID);
rst.Open(sSQL,adCmdText);
if(rst.GetRecordCount()<1)//沒有此種商品的庫存信息
sSQL.Format("INSERT INTO 庫存信息表 VALUES('%s',%s,%s)",sWareID,sStoreID,sNumber);
else
{
sStoreNumber=rst.GetFieldValue("庫存數(shù)量");
sSQL.Format("UPDATE 庫存信息表 SET 庫存數(shù)量=%d WHERE 商品編號='%s'AND 倉庫=%s",atoi(sStoreNumber)+atoi(sNumber),sWareID,sStoreID);
}
rst.Open(sSQL,adCmdText);
}
}
this->Enabled(true);
this->m_ButPrint.SetFocus();
}
void CDInput::OnChangeInputEdtpay()
{
CString sPay,sSumMoney,sMoney;
int nMoney;
m_EdtPay.GetWindowText(sPay);
m_StaSumMoney.GetWindowText(sSumMoney);
if(atoi(sSumMoney)<atoi(sPay))
{
nMoney=atoi(sPay)-atoi(sSumMoney);
sMoney.Format("%d",nMoney);
this->m_EdtGiveChange.SetWindowText(sMoney);
this->m_EdtNoPay.SetWindowText("0");
}
else
{
nMoney=atoi(sSumMoney)-atoi(sPay);
sMoney.Format("%d",nMoney);
this->m_EdtNoPay.SetWindowText(sMoney);
this->m_EdtGiveChange.SetWindowText("0");
}
}
void CDInput::OnInputButundo()
{
if(MessageBox("確定要撤消操作嗎?","系統(tǒng)提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
this->Enabled(true);
this->m_ButBookIn.SetFocus();
}
void CDInput::Clear()
{
this->m_EdtProvide.SetWindowText("");
this->m_Grid.DeleteAllItems();
if(m_Caption!="商品調(diào)撥管理")
{
this->m_EdtGiveChange.SetWindowText("0");
this->m_EdtNoPay.SetWindowText("0");
this->m_EdtPay.SetWindowText("0");
}
this->m_StaBigSumMoney.SetWindowText("零元");
this->m_StaSumMoney.SetWindowText("0");
this->m_StaSumNumber.SetWindowText("0");
}
void CDInput::OnInputButprint()
{
CString sID,sName,sDate,sProvide,sStore,sSumMoney,sBigMoney,sSumNumber,sDear;
RxRecordset brst;
brst.Open("系統(tǒng)設(shè)置表");
sName=brst.GetFieldValue("公司名稱");
this->m_StaID.GetWindowText(sID);
this->m_EdtProvide.GetWindowText(sProvide);
this->m_StaSumMoney.GetWindowText(sSumMoney);
this->m_StaSumNumber.GetWindowText(sSumNumber);
this->m_StaBigSumMoney.GetWindowText(sBigMoney);
this->m_EdtStore.GetWindowText(sStore);
this->m_StaDate.GetWindowText(sDate);
m_ps.DeckCaptionNumber=4;
m_ps.MainCaptionFontSize=400;
m_ps.DeckCaptionFontSize=180;
if(m_Caption=="進(jìn)貨管理")
{
sName=sName+"進(jìn)貨單";
m_ps.DeckCaptions[0]="進(jìn)貨票號:"+sID;
m_ps.DeckCaptions[1]="進(jìn)貨日期:"+sDate;
m_ps.DeckCaptions[2]="進(jìn)貨倉庫:"+sStore;
m_ps.DeckCaptions[3]="供應(yīng)商:"+sProvide;
}
if(m_Caption=="退貨返廠管理")
{
sName=sName+"退貨返廠單";
m_ps.DeckCaptions[0]="退貨票號:"+sID;
m_ps.DeckCaptions[1]="退貨日期:"+sDate;
m_ps.DeckCaptions[2]="退貨倉庫:"+sStore;
m_ps.DeckCaptions[3]="供應(yīng)商:"+sProvide;
}
if(m_Caption=="銷售管理")
{
sName=sName+"銷售單";
m_ps.DeckCaptions[0]="銷售票號:"+sID;
m_ps.DeckCaptions[1]="銷售日期:"+sDate;
m_ps.DeckCaptions[2]="提貨倉庫:"+sStore;
m_ps.DeckCaptions[3]="客戶:"+sProvide;
}
if(m_Caption=="銷售退貨管理")
{
sName=sName+"銷售退貨單";
m_ps.DeckCaptions[0]="退貨票號:"+sID;
m_ps.DeckCaptions[1]="退貨日期:"+sDate;
m_ps.DeckCaptions[2]="收貨倉庫:"+sStore;
m_ps.DeckCaptions[3]="客戶:"+sProvide;
}
if(m_Caption=="商品調(diào)撥管理")
{
sName=sName+"商品調(diào)撥單";
m_ps.DeckCaptions[0]="調(diào)撥票號:"+sID;
m_ps.DeckCaptions[1]="調(diào)撥日期:"+sDate;
m_ps.DeckCaptions[2]="收貨倉庫:"+sStore;
m_ps.DeckCaptions[3]="出貨倉庫:"+sProvide;
}
m_ps.MainCaption=sName;
m_ps.Grid=&m_Grid;
this->m_EdtDear.GetWindowText(sDear);
m_ps.TotalNumber=4;
m_ps.Totals[0]="合計數(shù)量:"+sSumNumber;
m_ps.Totals[1]="合計金額(小寫):"+sSumMoney;
m_ps.Totals[2]="合計金額(大寫):"+sBigMoney;
m_ps.Totals[3]="經(jīng)手人:"+sDear;
theApp.Print();
}
void CDInput::OnKillfocusInputEdtdear()
{
//檢查經(jīng)手人是否有效
CString sSQL,sDear;
this->m_EdtDear.GetWindowText(sDear);
sSQL.Format("SELECT * FROM 員工信息表 WHERE 姓名='%s'",sDear);
RxRecordset rst;
rst.Open(sSQL,adCmdText);
if(rst.GetRecordCount()<0)
{
MessageBox("對不起!您輸入的經(jīng)手人有誤!","系統(tǒng)提示",MB_OK|MB_ICONSTOP);
this->m_EdtDear.SetFocus();
this->m_EdtDear.SetWindowText("");
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -