⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 appendininfo.cpp

📁 去年暑假帮朋友企业写的仓库管理软件
💻 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 + -