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

📄 goodsmanagerdialog.cpp

📁 VC+SQL SERVER 2000环境下开发的商品销售管理系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
	
	OnInitGoodsManList();

	*pResult = 0;
}

void CGoodsManagerDialog::OnDtnDatetimechangeDatetimepickerGoodsmanagerto(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
	
	OnInitGoodsManList();
	
    *pResult = 0;
}

void CGoodsManagerDialog::OnBnClickedButtonGoodsmanager()
{
	OnCancelControl();
	CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODSMANAGERNAMEOFNAME);
	pEdit->SetFocus ();
}

void CGoodsManagerDialog::OnBnClickedManagerCancel()
{
	OnInitControl ();
	m_BookinNum = "";
	m_GoodsManRemark = "";
	m_GoodsManUnits = "";
	m_BookinTotalPrice = "";
	m_GoodsManNowStore = "";
	m_GoodsManSalePrice = "";
	UpdateData(FALSE);
}

void CGoodsManagerDialog::OnBookIn()
{
	_RecordsetPtr     m_pRecordsetGM;
	_RecordsetPtr     m_pRecordsetG;
	HRESULT           hrG;
	HRESULT           hrGM;

	try
	{
		hrGM = m_pRecordsetGM.CreateInstance (__uuidof(Recordset));
		hrG = m_pRecordsetG.CreateInstance (__uuidof(Recordset));
		if(FAILED(hrGM) || FAILED(hrG))
		{
			AfxMessageBox (_T("创建实例失败!"));
			return;
		}
		CString GoodsName;
		m_GoodsManGoodsName.GetWindowText (GoodsName);
		
		CString strSQL;
		strSQL.Format ("select * from GoodsTable where GoodsName = '%s'", GoodsName);
		hrG = m_pRecordsetG->Open (_bstr_t(strSQL),
			                        m_pConnection.GetInterfacePtr(),
									adOpenDynamic,
									adLockOptimistic,
									adCmdText);
		strSQL.Format ("select * from GoodsManagerTable  where GoodsName = '%s'", GoodsName);
		hrGM = m_pRecordsetGM->Open (_bstr_t(strSQL),
			                        m_pConnection.GetInterfacePtr(),
									adOpenDynamic,
									adLockOptimistic,
									adCmdText);

		if(SUCCEEDED(hrG) && SUCCEEDED(hrGM))
		{

			CString Type;
			m_GoodsManType.GetWindowText (Type);

			if(Type == _T("进货"))
			{

				m_GoodsManagerList.DeleteAllItems ();
                
				m_pRecordsetGM->AddNew ();
				m_pRecordsetGM->PutCollect ("TotalNum", _variant_t(m_BookinNum));
				m_pRecordsetGM->PutCollect ("Remark", _variant_t(m_GoodsManRemark));
				m_pRecordsetGM->PutCollect ("Type", _variant_t(Type));
				m_pRecordsetGM->PutCollect ("Units", _variant_t(m_GoodsManUnits));
				m_pRecordsetGM->PutCollect ("GoodsName", _variant_t(GoodsName));
				m_pRecordsetGM->PutCollect ("TotalPrice", _variant_t(m_BookinTotalPrice));

				_variant_t var = m_pRecordsetG->GetCollect ("NowStore");
				int NowStore = (int)_variant_t(var);
                m_pRecordsetGM->PutCollect ("OldStore", _variant_t(NowStore));

				NowStore += (int)_variant_t(m_BookinNum);
				m_pRecordsetGM->PutCollect ("NowStore", _variant_t(NowStore));
				m_pRecordsetG->PutCollect ("NowStore", _variant_t(NowStore));

				m_pRecordsetGM->PutCollect ("SalePrice", _variant_t(m_GoodsManSalePrice));
				m_pRecordsetGM->PutCollect ("OperatorName", _variant_t(OperatorName));

				CTime  time = CTime::GetCurrentTime ();
				int Year = time.GetYear ();
				int Month = time.GetMonth ();
				int Day = time.GetDay ();

				CString strData;
				strData.Format ("%d-%0.2d-%0.2d", Year, Month, Day);
				m_pRecordsetGM->PutCollect ("ActionData", _variant_t(strData));

				int Min = time.GetMinute ();
				int Hour = time.GetHour();
				int Sec = time.GetSecond ();
				CString strTime;
				strTime.Format ("%0.2d:%0.2d:%0.2d", Hour, Min, Sec);
				m_pRecordsetGM->PutCollect ("ActimeTime", _variant_t(strTime));

                float BuyPrice = (float)_variant_t(m_BookinTotalPrice) / 
					              (float)_variant_t(m_BookinNum);
				m_pRecordsetG->PutCollect ("BuyPrice", _variant_t(BuyPrice));
                m_pRecordsetGM->PutCollect ("BuyPrice", _variant_t(BuyPrice));

				var = m_pRecordsetG->GetCollect ("WarningStore");
                m_pRecordsetGM->PutCollect ("WarningStore", _variant_t(var));

				m_pRecordsetGM->Update ();
				m_pRecordsetG->Update ();

			}//if
			else if(Type == _T("修改"))
			{
                m_pRecordsetGM->AddNew ();
				m_pRecordsetGM->PutCollect ("TotalNum", _variant_t(m_BookinNum));
				m_pRecordsetGM->PutCollect ("Remark", _variant_t(m_GoodsManRemark));
				m_pRecordsetGM->PutCollect ("Type", _variant_t(Type));
				m_pRecordsetGM->PutCollect ("Units", _variant_t(m_GoodsManUnits));
				m_pRecordsetGM->PutCollect ("GoodsName", _variant_t(GoodsName));
				m_pRecordsetGM->PutCollect ("TotalPrice", _variant_t(m_BookinTotalPrice));

				_variant_t var = m_pRecordsetG->GetCollect ("NowStore");
				int NowStore = (int)_variant_t(var);
                m_pRecordsetGM->PutCollect ("OldStore", _variant_t(NowStore));

				NowStore += (int)_variant_t(m_BookinNum);
				m_pRecordsetGM->PutCollect ("NowStore", _variant_t(NowStore));
				m_pRecordsetG->PutCollect ("NowStore", _variant_t(NowStore));

				m_pRecordsetGM->PutCollect ("SalePrice", _variant_t(m_GoodsManSalePrice));
				m_pRecordsetGM->PutCollect ("OperatorName", _variant_t(OperatorName));

				CTime  time = CTime::GetCurrentTime ();
				int Year = time.GetYear ();
				int Month = time.GetMonth ();
				int Day = time.GetDay ();

				CString strData;
				strData.Format ("%d-%0.2d-%0.2d", Year, Month, Day);
				m_pRecordsetGM->PutCollect ("ActionData", _variant_t(strData));

				int Min = time.GetMinute ();
				int Hour = time.GetHour();
				int Sec = time.GetSecond ();
				CString strTime;
				strTime.Format ("%0.2d:%0.2d:%0.2d", Hour, Min, Sec);
				m_pRecordsetGM->PutCollect ("ActimeTime", _variant_t(strTime));

                float BuyPrice = ((float)_variant_t(m_BookinTotalPrice)) /NowStore;

				m_pRecordsetG->PutCollect ("BuyPrice", _variant_t(BuyPrice));
                m_pRecordsetGM->PutCollect ("BuyPrice", _variant_t(BuyPrice));

				var = m_pRecordsetG->GetCollect ("WarningStore");
                m_pRecordsetGM->PutCollect ("WarningStore", _variant_t(var));
						
				m_pRecordsetGM->Update ();
				m_pRecordsetG->Update ();
			}
			m_pRecordsetGM->Close ();
			m_pRecordsetG->Close ();
			m_pRecordsetGM = NULL;
			m_pRecordsetG = NULL;
			m_Succeed = TRUE;
		}			                       
	}
	catch(_com_error &e)
	{
		AfxMessageBox (e.ErrorMessage());
		return;
	}
}

void CGoodsManagerDialog::OnBnClickedManagerOk()
{
	UpdateData(TRUE);

	if(m_BookinNum == "")
	{
		MessageBox (_T("登记数量不能为空!"), _T("商品管理"), MB_ICONERROR | MB_OK);
		CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MANAGERGOODSNUM);
		return;
	}

	CString  strValue;
	m_GoodsManType.GetWindowText (strValue);

	if(strValue == "")
	{
		MessageBox (_T("类型不能为空!"), _T("存货管理"), MB_ICONERROR | MB_OK);
		return;
	}

	m_GoodsManType.GetWindowText (strValue);

	if(strValue == "")
	{
		MessageBox (_T("商品名称不能为空!"), _T("存货管理"), MB_ICONERROR | MB_OK);
		m_GoodsManGoodsName.SetFocus ();
		return;
	}

	if(m_BookinTotalPrice == "")
	{
		MessageBox (_T("登记总价输入错误!"), _T("存货管理"), MB_ICONERROR | MB_OK);
		CEdit *pEdit = (CEdit*) GetDlgItem (IDC_EDIT_GOODSMANAGER_TOTALPRICE);
		pEdit->SetFocus ();
		return;
	}

	OnBookIn();

	if(m_Succeed)
	{
		OnInitGoodsManList();
		MessageBox (_T("添加进货成功!"), _T("存货管理"), MB_ICONASTERISK | MB_OK);
		m_BookinNum = "";
		m_GoodsManRemark = "";
		m_GoodsManUnits = "";
		m_BookinTotalPrice = "";
		m_GoodsManNowStore = "";
		m_GoodsManSalePrice = "";
		UpdateData(FALSE);
		OnInitControl ();
		m_Succeed = FALSE;
	}
}

void CGoodsManagerDialog::OnCbnSelchangeComboGoodsmanagerGoodsname()
{
	_RecordsetPtr    m_pRecordsetG;
	HRESULT          hrG;
	try
	{
		hrG = m_pRecordsetG.CreateInstance (__uuidof(Recordset));
		if(FAILED(hrG))
		{
			AfxMessageBox(_T("创建实例失败!"));
			return;
		}
		CString strSQL , GoodsName;
		m_GoodsManGoodsName.GetWindowText (GoodsName);
		strSQL.Format ("select * from GoodsTable where GoodsName = '%s'", GoodsName);
		hrG = m_pRecordsetG->Open (_bstr_t(strSQL),
			                        m_pConnection.GetInterfacePtr(),
									adOpenDynamic,
									adLockOptimistic,
									adCmdText);
		
		if(SUCCEEDED(hrG))
		{
			_variant_t    var;
			CString       strValue;

			if(!m_pRecordsetG->adoEOF)
			{
				var = m_pRecordsetG->GetCollect ("NowStore");
                m_GoodsManNowStore = (LPCSTR)_bstr_t(var);

				var = m_pRecordsetG->GetCollect ("SalePrice");
				m_GoodsManSalePrice = (LPCSTR)_bstr_t(var);

				var = m_pRecordsetG->GetCollect ("Units"); 
				m_GoodsManUnits = (LPCSTR)_bstr_t(var);

				UpdateData(FALSE);
			}

			m_pRecordsetG->Close ();
			m_pRecordsetG = NULL;
		}
	}
	catch(_com_error &e)
	{
		AfxMessageBox (e.ErrorMessage());
		return;
	}
}

void CGoodsManagerDialog::OnEnChangeEditGoodsmanagernameofname()
{
	UpdateData (TRUE);

	int Count = m_GoodsManNameofName.GetLength ();
    if(Count <1 )
		return;

	CTime timeFrom , timeTo;
	m_GoodsManagerTimeFrom.GetTime (timeFrom);
	m_GoodsManagerTimeTo.GetTime (timeTo);

	if(timeFrom.GetMonth () > timeTo.GetMonth ())
		return;

	if(timeFrom.GetMonth () == timeTo.GetMonth ())
		if(timeFrom.GetDay () > timeTo.GetDay ())
			return;

	CString strDataFrom, strDataTo, OperatorName;
	m_GoodsManagerTimeFrom.GetWindowText (strDataFrom);
	m_GoodsManagerTimeTo.GetWindowText (strDataTo);
	m_GoodsManagerOperate.GetWindowText (OperatorName);

	HRESULT         hrGM;
	_RecordsetPtr   m_pRecordsetGM;

	try
	{
		hrGM = m_pRecordsetGM.CreateInstance (__uuidof(Recordset));
		if(FAILED(hrGM))
		{
			AfxMessageBox (_T("创建实例失败!"));
			return;
		}

		CString strSQL;
		if(OperatorName != _T("")) 
		{ 
			strSQL.Format ("select * from GoodsManagerTable where ActionData >= '%s' and ActionData <='%s'\
		                 and OperatorName = '%s'", strDataFrom, strDataTo , OperatorName);
            strSQL += _T(" and GoodsName like ");
			strSQL += _T("'%");
			strSQL += m_GoodsManNameofName;
            strSQL += _T("%'");
		}
		else
		{
			strSQL.Format ("select * from GoodsManagerTable where ActionData >= '%s' and ActionData <='%s'"
			               , strDataFrom, strDataTo);
			strSQL += _T(" and GoodsName like ");
			strSQL += _T("'%");
			strSQL += m_GoodsManNameofName;
            strSQL += _T("%'");
		}

		hrGM = m_pRecordsetGM->Open (_bstr_t(strSQL),
			                        m_pConnection.GetInterfacePtr(),
									adOpenDynamic,
									adLockOptimistic,
									adCmdText);
        
		m_GoodsManagerList.DeleteAllItems();

		if(SUCCEEDED(hrGM))
		{
			_variant_t var;
			CString    strValue;
			m_IndexList = 0;

			while(!m_pRecordsetGM->adoEOF)
			{
				var = m_pRecordsetGM->GetCollect ("ActionData");
				strValue = (LPCSTR)_bstr_t(var);
				m_GoodsManagerList.InsertItem (m_IndexList, strValue);

⌨️ 快捷键说明

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