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

📄 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_sDealPerson = _T("");
	m_sMemo = _T("");
	m_sSavePerson = _T("");
	m_sStorage = _T("");
	m_sTime = COleDateTime::GetCurrentTime();
	m_sUnit = _T("");
	m_wzName=_T("");
	m_wzID=_T("");
	m_wzSpec=_T("");
	m_wzKind=_T("");
	m_wzUnit=_T("");
	m_rkNO = _T("");
	m_sMoney = _T("");
	m_sQuantity = _T("");
	//}}AFX_DATA_INIT
}


void CAppendInInfo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAppendInInfo)
	DDX_Text(pDX, IDC_IN_DEALPERSON, m_sDealPerson);
	DDX_Text(pDX, IDC_IN_MEMO, m_sMemo);
	DDX_Text(pDX, IDC_IN_SAVEPERSON, m_sSavePerson);
	DDX_Text(pDX, IDC_IN_STORAGE, m_sStorage);
	DDX_Text(pDX, IDC_IN_TIME, m_sTime);
	DDX_Text(pDX, IDC_IN_UNIT, m_sUnit);
	DDX_Text(pDX, IDC_IN_WZNAME, m_wzName);
	DDX_Text(pDX, IDC_IN_WZID, m_wzID);
	DDX_Text(pDX, IDC_IN_WZSPEC, m_wzSpec);
	DDX_Text(pDX, IDC_IN_WZKIND, m_wzKind);
	DDX_Text(pDX, IDC_IN_WZUNIT, m_wzUnit);
	DDX_Text(pDX, IDC_IN_RKNO, m_rkNO);
	DDX_Text(pDX, IDC_IN_MONEY, m_sMoney);
	DDX_Text(pDX, IDC_IN_QUANTITY, m_sQuantity);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAppendInInfo, CDialog)
	//{{AFX_MSG_MAP(CAppendInInfo)
	ON_CBN_SELCHANGE(IDC_IN_WZID, OnSelchangeInWzid)
	ON_EN_KILLFOCUS(IDC_IN_QUANTITY, OnKillfocusInQuantity)
	ON_EN_KILLFOCUS(IDC_IN_UNIT, OnKillfocusInUnit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAppendInInfo message handlers

void CAppendInInfo::OnOK() 
{
	// TODO: Add extra validation here
		UpdateData(true);
	
	m_sDealPerson.TrimRight(" ");
    m_sMoney.TrimRight(" ");
	m_sQuantity.TrimRight(" ");
	m_sSavePerson.TrimRight(" ");
	m_sStorage.TrimRight(" ");
	m_sUnit.TrimRight(" ");
	m_sMemo.TrimRight(" ");

	CString sWarning="";
	if( ""==m_sQuantity ) sWarning=_T("数量");
	else if ( ""==m_sUnit ) sWarning=_T("单价");
	else if ( ""==m_sMoney ) sWarning=_T("金额");
    else if ( ""==m_sDealPerson ) sWarning=_T("经办人");
	else if ( ""==m_sSavePerson ) sWarning=_T("保管人");
	else if ( ""==m_sStorage ) sWarning=_T("仓库");

	if ( ""!=sWarning ) 
	{
	   sWarning += _T("不能为空!");
	   AfxMessageBox(sWarning, MB_ICONEXCLAMATION);
	   return;
	}
	
	double fQuantity=atof(m_sQuantity);
	if ( 0==fQuantity )  
	{
		AfxMessageBox(_T("数量请输入非零整数!"), MB_ICONEXCLAMATION);
	    return;
	}
	
	double fUnit=atof(m_sUnit);
	if(0==fUnit)
	{
		AfxMessageBox(_T("单价请输入非零数字!"), MB_ICONEXCLAMATION);
	    return;
	}
	m_sUnit.Format("%.2f", fUnit);
	
	double fMoney=atof(m_sMoney);
	if(0==fMoney)
	{
		AfxMessageBox(_T("金额请输入非零数字!"), MB_ICONEXCLAMATION);
	    return;
	}
	m_sMoney.Format("%.2f", fMoney);

	_variant_t strQuery;
	_variant_t strQuery1;
	_variant_t strQuery2;
	_variant_t strQuery3;
	_variant_t strQuery4;
	
	// 删除旧记录
	if ( !m_bAppend )
	{	

		strQuery4="update tblMsurplus set fldYeaccount=fldYeaccount-"+m_soldaccount+",fldYevalue=fldYevalue-"\
				+m_soldvalue+" where fldYeid='"+m_wzID+"'and fldYebase='"+m_sStorage+"'";
		theApp.ADOExecute(theApp.m_pADOSet,strQuery4);
		
		strQuery = "delete from tblMsave where fldRkno='"+m_rkNO+"'";
        theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	}
   				
	// 产生序列号
	CString sSN;
	COleDateTime today = COleDateTime::GetCurrentTime();
	sSN = today.Format("%y%m%d%H%M%S");

    // 获得入库日期
	CString sInDate;
	sInDate = m_sTime.Format("%Y-%m-%d");
		
	// 插入记录
	strQuery = "insert tblMsave (fldRkno, fldRkid, fldRkname, fldRkspec, fldRkkind, fldRkunit, fldRkaccount,fldRkprice,\
					fldRkvalue,fldRkdate,fldRkdeal_person,fldRksave_person,fldRkbase,fldRkmemo) values ('"+sSN+"', '"\
					+m_wzID+"','" +m_wzName+"','"+m_wzSpec+"','"+m_wzKind+"','"\
					+m_wzUnit+"',"+m_sQuantity+","+m_sUnit+","+m_sMoney+",'"\
					+sInDate+"','"+m_sDealPerson+"','"+m_sSavePerson+"','"\
					+m_sStorage+"','"+m_sMemo+"')";
					
	if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) ) 
	{
		if ( m_bAppend ) 
		{
			AfxMessageBox(_T("添加记录成功!"), MB_ICONINFORMATION);
			strQuery1="select * from tblMsurplus where fldYeid='"+m_wzID+"' and fldYebase='"+m_sStorage+"'";
			theApp.ADOExecute(theApp.m_pADOSet, strQuery1);
			int iCount=theApp.m_pADOSet->RecordCount;
			if(0==iCount)
			{
				strQuery2 = "insert tblMsurplus (fldYeid, fldYename, fldYespec, fldYekind, fldYeunit, fldYeaccount,\
					fldYevalue,fldYebase,fldYememo) values ('"+m_wzID+"','" +m_wzName+"','"+m_wzSpec+"','"+m_wzKind+"','"\
					+m_wzUnit+"',"+m_sQuantity+","+m_sMoney+",'"\
					+m_sStorage+"','"+m_sMemo+"')";
				theApp.ADOExecute(theApp.m_pADOSet,strQuery2);
			}
			// ... Modified by jackie
			else
			{
				strQuery3="update tblMsurplus set fldYeaccount=fldYeaccount+"+m_sQuantity+",fldYevalue=fldYevalue+"\
				+m_sMoney+" where fldYeid='"+m_wzID+"'and fldYebase='"+m_sStorage+"'";
				theApp.ADOExecute(theApp.m_pADOSet,strQuery3);
			}

		    // 清除所有输入
			m_sQuantity=m_sUnit=m_sMoney=sInDate=m_sDealPerson=m_sSavePerson=\
				m_sStorage=m_sMemo="";
            ((CComboBox*)GetDlgItem(IDC_IN_WZID))->SetCurSel(0);
			UpdateData(false);
		}
		else 
		{
			
				strQuery3="update tblMsurplus set fldYeaccount=fldYeaccount+"+m_sQuantity+",fldYevalue=fldYevalue+"\
				+m_sMoney+" where fldYeid='"+m_wzID+"'and fldYebase='"+m_sStorage+"'";
				theApp.ADOExecute(theApp.m_pADOSet,strQuery3);
			
			AfxMessageBox(_T("修改记录成功!"), MB_ICONINFORMATION);
		}
	}
	else 
	{
		if ( m_bAppend ) AfxMessageBox(_T("添加记录失败!"), MB_ICONEXCLAMATION);
		else AfxMessageBox(_T("修改记录失败!"), MB_ICONEXCLAMATION);
	    
	}
		
	// 刷新入库信息列表
	strQuery = "select * from tblMsave";
	CMaterial_MISView* p = (CMaterial_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
	p->RefreshIn(strQuery);
	
	if (!m_bAppend) CDialog::OnOK();
}

BOOL CAppendInInfo::OnInitDialog() 
{
	CDialog::OnInitDialog();
	((CEdit*)GetDlgItem(IDC_IN_QUANTITY))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_IN_UNIT))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_IN_MONEY))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_IN_TIME))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_IN_DEALPERSON))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_IN_SAVEPERSON))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_IN_STORAGE))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_IN_MEMO))->SetLimitText(50);


	// TODO: Add extra initialization here
	_variant_t strQuery, Holder;
	if (m_bAppend)
	{
	    // 初始化下拉列表
		SetWindowText(_T("添加入库信息"));

		strQuery = "select * from tblMaterial";
	    theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	    int iCount = theApp.m_pADOSet->GetRecordCount();

		theApp.m_pADOSet->MoveFirst();
		for (int i=0; i<iCount; i++)
		{
		    Holder = theApp.m_pADOSet->GetCollect("fldWzid");
	        ((CComboBox*)GetDlgItem(IDC_IN_WZID))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder);				
			if (0==i)
			{
			Holder = theApp.m_pADOSet->GetCollect("fldWzname");
			m_wzName = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
    
			Holder = theApp.m_pADOSet->GetCollect("fldWzspec");
			m_wzSpec = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
 
			Holder = theApp.m_pADOSet->GetCollect("fldWzkind");
			m_wzKind = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;

			Holder = theApp.m_pADOSet->GetCollect("fldWzunit");
			m_wzUnit = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
			
		}
			theApp.m_pADOSet->MoveNext();
		}
		((CComboBox*)GetDlgItem(IDC_IN_WZID))->SetCurSel(0);
	}
	else//修改记录
	{
		SetWindowText(_T("修改物资入库信息"));
		
		m_rkOldNO=m_rkNO;
		m_soldaccount=m_sQuantity;
		m_soldvalue=m_sMoney;
		_variant_t strQuery, Holder;	
		CString NO;
		int iSel = 0;
		strQuery = "select * from tblMsave";
	    theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	    int iCount = theApp.m_pADOSet->GetRecordCount();
		theApp.m_pADOSet->MoveFirst();
		for (int i=0; i<iCount; i++)
		{
		    Holder = theApp.m_pADOSet->GetCollect("fldRkno");
			NO = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;

			Holder = theApp.m_pADOSet->GetCollect("fldRkid");
			m_wzID = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	        ((CComboBox*)GetDlgItem(IDC_IN_WZID))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder);				
			if (NO==m_rkNO)
			{
			Holder = theApp.m_pADOSet->GetCollect("fldRkname");
			m_wzName = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
    
			Holder = theApp.m_pADOSet->GetCollect("fldRkspec");
			m_wzSpec = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
 
			Holder = theApp.m_pADOSet->GetCollect("fldRkkind");
			m_wzKind = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;

			Holder = theApp.m_pADOSet->GetCollect("fldRkunit");
			m_wzUnit = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;

			iSel=i;
			
		}
			theApp.m_pADOSet->MoveNext();
		}
		((CComboBox*)GetDlgItem(IDC_IN_WZID))->SetCurSel(iSel);
		
	}

	UpdateData(false);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}



void CAppendInInfo::OnSelchangeInWzid() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	_variant_t strQuery, Holder;
	//
	strQuery = "select * from tblMaterial where fldWzid='"+m_wzID+"'";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
 
	Holder = theApp.m_pADOSet->GetCollect("fldWzname");
	m_wzName = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;


	Holder = theApp.m_pADOSet->GetCollect("fldWzspec");
	m_wzSpec = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
   
	Holder = theApp.m_pADOSet->GetCollect("wzKind");
	m_wzKind = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
  
	Holder = theApp.m_pADOSet->GetCollect("fldWzunit");
	m_wzUnit = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
    
    UpdateData(false);
}



void CAppendInInfo::OnKillfocusInQuantity() 
{
	// TODO: Add your control notification handler code here
	CString strQ,strU,strM;
	double dMoney;
	((CEdit*)GetDlgItem(IDC_IN_QUANTITY))->GetWindowText(strQ);
	if(strQ.GetLength()<=0)
		return;
	((CEdit*)GetDlgItem(IDC_IN_UNIT))->GetWindowText(strU);
	if(strU.GetLength()<=0)
		return;
	dMoney = (double)(atof(strQ) * atof(strU));
	strM.Format("%.2f",dMoney);
	((CEdit*)GetDlgItem(IDC_IN_MONEY))->SetWindowText(strM);
}

void CAppendInInfo::OnKillfocusInUnit() 
{
	// TODO: Add your control notification handler code here
	CString strQ,strU,strM;
	double dMoney;
	((CEdit*)GetDlgItem(IDC_IN_QUANTITY))->GetWindowText(strQ);
	if(strQ.GetLength()<=0)
		return;
	((CEdit*)GetDlgItem(IDC_IN_UNIT))->GetWindowText(strU);
	if(strU.GetLength()<=0)
		return;
	dMoney = (double)(atof(strQ) * atof(strU));
	strM.Format("%.2f",dMoney);
	((CEdit*)GetDlgItem(IDC_IN_MONEY))->SetWindowText(strM);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -