📄 appendininfo.cpp
字号:
// AppendInInfo.cpp : implementation file
//
#include "stdafx.h"
#include "Material_MIS.h"
#include "AppendInInfo.h"
#include "Material_MISView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAppendInInfo dialog
CAppendInInfo::CAppendInInfo(CWnd* pParent /*=NULL*/)
: CDialog(CAppendInInfo::IDD, pParent)
{
//{{AFX_DATA_INIT(CAppendInInfo)
m_amount = _T("");
m_cdate = _T("");
m_creater = theApp.m_sCurrentUser;
m_cunit = _T("");
m_price = _T("");
m_productname = _T("");
m_remark = _T("");
m_safestocknum = _T("");
m_unit = _T("");
m_mapid = _T("");
m_version = _T("");
m_ioo = _T("");
m_time = _T("");
//}}AFX_DATA_INIT
}
void CAppendInInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAppendInInfo)
DDX_Text(pDX, IDC_IN_AMOUNT, m_amount);
DDX_Text(pDX, IDC_IN_CDATE, m_cdate);
DDX_Text(pDX, IDC_IN_CREATER, m_creater);
DDX_Text(pDX, IDC_IN_CUNIT, m_cunit);
DDX_Text(pDX, IDC_IN_PRICE, m_price);
DDX_Text(pDX, IDC_IN_PRODUCTNAME, m_productname);
DDX_Text(pDX, IDC_IN_REMARK, m_remark);
DDX_Text(pDX, IDC_IN_SAFESTOCKNUM, m_safestocknum);
DDX_Text(pDX, IDC_IN_UNIT, m_unit);
DDX_Text(pDX, IDC_IN_MAPID, m_mapid);
DDX_Text(pDX, IDC_IN_VERSION, m_version);
DDX_Text(pDX, IDC_STATIC_IOO, m_ioo);
DDX_Text(pDX, IDC_STATIC_TIME, m_time);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAppendInInfo, CDialog)
//{{AFX_MSG_MAP(CAppendInInfo)
ON_CBN_SELCHANGE(IDC_IN_MAPID, OnSelchangeInMapid)
ON_CBN_SELCHANGE(IDC_IN_VERSION, OnSelchangeInVersion)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAppendInInfo message handlers
void CAppendInInfo::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);
m_amount.TrimRight(" ");
m_price.TrimRight(" ");
int a=0;
CString sWarning="";
if( ""==m_amount ) sWarning=_T("数量");
else if ( ""==m_price ) a=1;
if ( ""!=sWarning )
{
sWarning += _T("不能为空!");
AfxMessageBox(sWarning, MB_ICONEXCLAMATION);
return;
}
double famount=atof(m_amount);
if ( 0==famount )
{
AfxMessageBox(_T("数量请输入非零整数!"), MB_ICONEXCLAMATION);
return;
}
m_amount.Format("%.2f", famount);
double fprice=atof(m_price);
if(0==fprice && a==0)
{
AfxMessageBox(_T("单价请输入非零数字!"), MB_ICONEXCLAMATION);
return;
}
m_price.Format("%.2f", fprice);
_variant_t strQuery,Holder;
// 删除旧记录
if ( !m_bAppend )
{
strQuery = "delete from ProductStock where SN='"+m_SN+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
}
// 产生序列号
COleDateTime today = COleDateTime::GetCurrentTime();
m_SN = today.Format("%y%m%d%H%M%S");
// 插入记录
strQuery = "insert ProductStock (MapID, Version, ProductName, State, Amount, Unit, CDate,Creater, Remark,SN) \
values ('"+m_mapid+"', '"+m_version+"','" +m_productname+"','"+theApp.inorout+"','"+m_amount+"','"\
+m_unit+"','"+m_cdate+"','"+m_creater+"','"+m_remark+"','"+m_SN+"')";
if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) )
{
if(a==0 && theApp.inorout=="in")
{
strQuery = "Update ProductRemain set StockNum=StockNum + "+m_amount+", CDate='"+m_cdate+"' \
where MapID='"+m_mapid+"' and Version='"+m_version+"'\
Update ProductPrice set Price='"+m_price+"', CDate='"+m_cdate+"', Creater='"+theApp.m_sCurrentUser+"' \
where MapID='"+m_mapid+"' and Version='"+m_version+"'";
}
else if(a==1 && theApp.inorout=="in")
{
strQuery = "Update ProductRemain set StockNum=StockNum + "+m_amount+", CDate='"+m_cdate+"' \
where MapID='"+m_mapid+"' and Version='"+m_version+"'";
}
else if(a==1 && theApp.inorout=="out")
{
strQuery = "Update ProductRemain set StockNum=StockNum - "+m_amount+", CDate='"+m_cdate+"' \
where MapID='"+m_mapid+"' and Version='"+m_version+"'";
}
else
{
strQuery = "Update ProductRemain set StockNum=StockNum - "+m_amount+", CDate='"+m_cdate+"' \
where MapID='"+m_mapid+"' and Version='"+m_version+"'\
Update ProductPrice set Price='"+m_price+"', CDate='"+m_cdate+"', Creater='"+theApp.m_sCurrentUser+"' \
where MapID='"+m_mapid+"' and Version='"+m_version+"'";
}
if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) )
AfxMessageBox(_T("添加记录成功!"), MB_ICONINFORMATION);
// 清除所有输入
m_productname=m_cunit=m_safestocknum=m_cdate=m_amount=m_unit=m_price="";
((CComboBox*)GetDlgItem(IDC_IN_MAPID))->SetCurSel(0);
((CComboBox*)GetDlgItem(IDC_IN_VERSION))->SetCurSel(0);
UpdateData(false);
}
else
{
AfxMessageBox(_T("添加记录失败!"), MB_ICONEXCLAMATION);
}
strQuery = "select * from ProductStock where State='"+theApp.inorout+"'";
CMaterial_MISView* p = (CMaterial_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
p->RefreshIn(strQuery);
if (!m_bAppend) CDialog::OnOK();
}
BOOL CAppendInInfo::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_cdate = COleDateTime::GetCurrentTime().Format("%Y-%m-%d");
_variant_t strQuery, strQueryTemp, Holder;
int iCount,iCount2;
// 初始化下拉列表
if(theApp.inorout=="in")
{
SetWindowText(_T("添加入库信息"));
m_ioo=_T("入库信息");
m_time=_T("入库时间");
}
else
{
SetWindowText(_T("添加出库信息"));
m_ioo=_T("出库信息");
m_time=_T("出库时间");
}
strQuery = "select distinct MapID from ProductInfo";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
iCount = theApp.m_pADOSet->GetRecordCount();
CString mver,strName;
if(iCount>0)
{
theApp.m_pADOSet->MoveFirst();
Holder = theApp.m_pADOSet->GetCollect("MapID");
strName = Holder.bstrVal;
theApp.m_pADOSet->MoveFirst();
for (int i=0; i<iCount; i++)
{
Holder = theApp.m_pADOSet->GetCollect("MapID");
((CComboBox*)GetDlgItem(IDC_IN_MAPID))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder);
theApp.m_pADOSet->MoveNext();
}
((CComboBox*)GetDlgItem(IDC_IN_MAPID))->SetCurSel(0);
strQuery = "select * from ProductInfo where MapID='"+strName+"'";
theApp.ADOExecute(theApp.m_pADOSet,strQuery);
iCount2 = theApp.m_pADOSet->GetRecordCount();
theApp.m_pADOSet->MoveFirst();
for(i = 0;i<iCount2;i++)
{
Holder = theApp.m_pADOSet->GetCollect("Version");
if(i==0) mver = Holder.bstrVal;
((CComboBox*)GetDlgItem(IDC_IN_VERSION))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder);
theApp.m_pADOSet->MoveNext();
}
((CComboBox*)GetDlgItem(IDC_IN_VERSION))->SetCurSel(0);
}
strQuery = "select * from ProductInfo where MapID='"+strName+"' and Version ='"+mver+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
Holder = theApp.m_pADOSet->GetCollect("ProductName");
m_productname = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
Holder = theApp.m_pADOSet->GetCollect("SafeStockNum");
m_safestocknum = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
Holder = theApp.m_pADOSet->GetCollect("Unit");
m_cunit = m_unit = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAppendInInfo::OnSelchangeInMapid()
{
UpdateData(true);
CString mver;
_variant_t strQuery, Holder;
//
strQuery = "select * from ProductInfo where MapID='"+m_mapid+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
((CComboBox*)GetDlgItem(IDC_IN_VERSION))->ResetContent();
ASSERT(((CComboBox*)GetDlgItem(IDC_IN_VERSION))->GetCount() == 0);
for (int i=0; i<iCount; i++)
{
Holder = theApp.m_pADOSet->GetCollect("Version");
if(i==0) mver = Holder.bstrVal;
((CComboBox*)GetDlgItem(IDC_IN_VERSION))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder);
theApp.m_pADOSet->MoveNext();
}
((CComboBox*)GetDlgItem(IDC_IN_VERSION))->SetCurSel(0);
strQuery = "select * from ProductInfo where MapID='"+m_mapid+"'and Version='"+mver+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
Holder = theApp.m_pADOSet->GetCollect("ProductName");
m_productname = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
Holder = theApp.m_pADOSet->GetCollect("SafeStockNum");
m_safestocknum = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
Holder = theApp.m_pADOSet->GetCollect("Unit");
m_cunit = m_unit = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
UpdateData(false);
}
void CAppendInInfo::OnSelchangeInVersion()
{
UpdateData(true);
_variant_t strQuery, Holder;
//
strQuery = "select * from ProductInfo where MapID='"+m_mapid+"' and Version ='"+m_version+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
Holder = theApp.m_pADOSet->GetCollect("ProductName");
m_productname = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
Holder = theApp.m_pADOSet->GetCollect("SafeStockNum");
m_safestocknum = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
Holder = theApp.m_pADOSet->GetCollect("Unit");
m_cunit = m_unit = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -