📄 salemanagerview.cpp
字号:
// SaleManagerView.cpp : CSaleManagerView 类的实现
//
#include "stdafx.h"
#include "SaleManager.h"
#include "SaleManagerDoc.h"
#include "SaleManagerView.h"
#include "LoginDlg.h"
#include "UserSetDialog.h"
#include "ChangePassDialog.h"
#include "OperateNoteDialog.h"
#include "PowSetDialog.h"
#include "GoodsManagerDialog.h"
#include "GoodsSetDialog.h"
#include "MerchandiseSetDialog.h"
#include "BuinessQueryDialog.h"
#include "StatisticDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CSaleManagerView
IMPLEMENT_DYNCREATE(CSaleManagerView, CView)
BEGIN_MESSAGE_MAP(CSaleManagerView, CView)
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
ON_COMMAND(ID_EXIT, OnExit)
ON_COMMAND(ID_LOGOUT, OnLogout)
ON_COMMAND(ID_USE_SET, OnUseSet)
ON_COMMAND(ID_CHANGEPASS, OnUseChangePass)
ON_COMMAND(ID_OPERATE_NOTE, OnOperateNote)
ON_COMMAND(ID_POWER_SET, OnPowerSet)
ON_COMMAND(ID_GOOD_SET, OnGoodsSet)
ON_COMMAND(ID_GOOD_MANAGER, OnGoodsManager)
ON_COMMAND(ID_MERCHANDISE_SET, OnMerchandiseManager)
ON_COMMAND(ID_BUINESSQUARE, OnBuinessQuery)
ON_COMMAND(ID_STATISTICS, OnStatistics)
ON_UPDATE_COMMAND_UI(ID_USE_SET, OnUpdateUseSet)
ON_UPDATE_COMMAND_UI(ID_POWER_SET, OnUpdatePowerSet)
ON_UPDATE_COMMAND_UI(ID_GOOD_SET, OnUpdateGoodsSet)
ON_UPDATE_COMMAND_UI(ID_GOOD_MANAGER, OnUpdateGoodsManager)
ON_UPDATE_COMMAND_UI(ID_MERCHANDISE_SET, OnUpdateMerchandiseManager)
ON_UPDATE_COMMAND_UI(ID_BUINESSQUARE, OnUpdateBuinessQuery)
ON_UPDATE_COMMAND_UI(ID_STATISTICS, OnUpdateStatistics)
END_MESSAGE_MAP()
// CSaleManagerView 构造/析构
CSaleManagerView::CSaleManagerView():m_Login(TRUE), flag(TRUE)
{
// TODO: 在此处添加构造代码
}
CSaleManagerView::~CSaleManagerView()
{
}
BOOL CSaleManagerView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
return CView::PreCreateWindow(cs);
}
// CSaleManagerView 绘制
void CSaleManagerView::Login()
{
CLoginDlg dlg;
m_Login = FALSE;
if(dlg.DoModal() == IDCANCEL)
PostMessage(WM_QUIT);
m_RealName = dlg.GetRealName();
m_AccountName = dlg.GetAccountName();
m_AccountNum = dlg.GetAccountNum();
m_ActionName = _T("登陆系统");
m_PowerName = dlg.GetPowerName();
OperateNote();
ManagerModule();
AfxGetMainWnd()->SendMessage(WM_REALNAME,0, (LPARAM)&m_RealName);
}
void CSaleManagerView::OnDraw(CDC* /*pDC*/)
{
CSaleManagerDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
CBitmap bitmap;
HBITMAP hbitmap;
hbitmap = (HBITMAP)::LoadImage(::AfxGetInstanceHandle(),"1.bmp",IMAGE_BITMAP,
0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
bitmap.Attach(hbitmap);
BITMAP bm;
bitmap.GetBitmap(&bm);
CDC dcMem;
dcMem.CreateCompatibleDC(GetDC());
CBitmap *pOldBitmap = (CBitmap *)dcMem.SelectObject(bitmap);
CRect rect;
GetClientRect(&rect);
AfxGetMainWnd()->GetDC()->StretchBlt(rect.left, rect.top , rect.Width(), rect.Height(), &dcMem,
0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
flag = FALSE;
if(m_Login)
Login();
}
// CSaleManagerView 打印
BOOL CSaleManagerView::OnPreparePrinting(CPrintInfo* pInfo)
{
// 默认准备
return DoPreparePrinting(pInfo);
}
void CSaleManagerView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印前添加额外的初始化
}
void CSaleManagerView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印后添加清除过程
}
// CSaleManagerView 诊断
#ifdef _DEBUG
void CSaleManagerView::AssertValid() const
{
CView::AssertValid();
}
void CSaleManagerView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CSaleManagerDoc* CSaleManagerView::GetDocument() const // 非调试版本是内联的
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSaleManagerDoc)));
return (CSaleManagerDoc*)m_pDocument;
}
#endif //_DEBUG
// CSaleManagerView 消息处理程序
void CSaleManagerView::OnExit()
{
m_ActionName = _T("离开系统");
OperateNote();
PostMessage(WM_QUIT);
}
void CSaleManagerView::OnLogout()
{
m_ActionName = _T("离开系统");
OperateNote();
Login();
}
void CSaleManagerView::OnUseSet()
{
m_ActionName = _T("用户设置");
OperateNote();
CUserSetDialog dlg;
dlg.m_RealName = m_RealName;
dlg.m_AccountName = m_AccountName;
dlg.m_AccountNum = m_AccountNum;
dlg.m_PowerName = m_PowerName;
dlg.DoModal();
SendMessage(WM_COMMAND,0,0);
}
void CSaleManagerView::OnUseChangePass()
{
m_ActionName = _T("更改密码");
OperateNote();
CChangePassDialog dlg;
dlg.m_tempRealName = m_RealName;
dlg.m_tempAccountName = m_AccountName;
dlg.DoModal();
}
void CSaleManagerView::OnOperateNote()
{
COperateNoteDialog dlg;
dlg.m_tempAccountName = m_AccountName;
dlg.m_tempRealName = m_RealName;
dlg.DoModal();
}
void CSaleManagerView::OnStatistics()
{
m_ActionName = _T("统计查询");
OperateNote();
CStatisticDialog dlg;
dlg.DoModal();
}
void CSaleManagerView::OperateNote()
{
_RecordsetPtr m_RecordsetAction;
HRESULT hrAction;
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance (__uuidof(Connection));
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionString = "File Name=SaleManagerdata.udl";
m_pConnection->ConnectionTimeout = 20;
hr = m_pConnection->Open ("","","",adConnectUnspecified);
if(FAILED(hr))
{
AfxMessageBox ("打开失败");
return;
}
}
else
{
AfxMessageBox ("创建连接实例失败!");
return;
}
hrAction = m_RecordsetAction.CreateInstance (__uuidof(Recordset));
if(FAILED(hr))
{
AfxMessageBox(_T("创建实例失败!"));
return;
}
hrAction = m_RecordsetAction->Open ("select * from ActionTable",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
if(SUCCEEDED(hrAction))
{
m_RecordsetAction->AddNew();
m_RecordsetAction->PutCollect ("OperatorName", _variant_t(m_RealName));
m_RecordsetAction->PutCollect ("ActionName", _variant_t(m_ActionName));
CTime Time;
CTime CurrentTime = Time.GetCurrentTime();
int Year = CurrentTime.GetYear();
int Month = CurrentTime.GetMonth();
int Day = CurrentTime.GetDay();
CString strDate;
strDate.Format ("%d-%d-%d",Year,Month,Day);
m_RecordsetAction->PutCollect ("ActionDate",_variant_t(strDate));
int Hour = CurrentTime.GetHour();
int Min = CurrentTime.GetMinute();
int Sec = CurrentTime.GetSecond();
strDate.Empty();
strDate.Format ("%0.2d:%0.2d:%0.2d",Hour,Min,Sec);
m_RecordsetAction->PutCollect ("ActionTime",_variant_t(strDate));
m_RecordsetAction->Update();
}
m_RecordsetAction->Close();
m_pConnection->Close();
m_RecordsetAction = NULL;
}
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
return;
}
}
void CSaleManagerView::OnPowerSet()
{
m_ActionName = _T("权限设置");
OperateNote();
CPowSetDialog dlg;
dlg.DoModal();
ManagerModule();
}
void CSaleManagerView::OnGoodsSet()
{
m_ActionName = _T("货品设置");
OperateNote();
CGoodsSetDialog dlg;
dlg.DoModal();
}
void CSaleManagerView::OnGoodsManager()
{
m_ActionName = _T("存货管理");
OperateNote();
CGoodsManagerDialog dlg;
dlg.OperatorName = m_RealName;
dlg.DoModal();
}
void CSaleManagerView::OnMerchandiseManager()
{
m_ActionName = _T("商品设置");
OperateNote();
CMerchandiseSetDialog dlg;
dlg.DoModal();
}
void CSaleManagerView::OnBuinessQuery()
{
m_ActionName = _T("交易查询");
OperateNote();
CBuinessQueryDialog dlg;
dlg.DoModal();
}
void CSaleManagerView::ManagerModule()
{
_RecordsetPtr m_pRecordsetMM;
HRESULT hrMM;
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance (__uuidof(Connection));
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionString = "File Name=SaleManagerdata.udl";
m_pConnection->ConnectionTimeout = 20;
hr = m_pConnection->Open ("","","",adConnectUnspecified);
if(FAILED(hr))
{
AfxMessageBox ("打开失败");
return;
}
}
else
{
AfxMessageBox ("创建连接实例失败!");
return;
}
hrMM = m_pRecordsetMM.CreateInstance(__uuidof(Recordset));
if(FAILED(hrMM))
{
AfxMessageBox(_T("创建实例失败!"));
return;
}
CString strSQL;
strSQL.Format("select * from ManagerModuleTable where PowerName = '%s'", m_PowerName);
hrMM = m_pRecordsetMM->Open(_bstr_t(strSQL),
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
if(SUCCEEDED(hrMM))
{
if(!m_pRecordsetMM->adoEOF)
{
_variant_t var;
CString strValue;
var = m_pRecordsetMM->GetCollect("ManagerModuleNum");
strValue = (LPCSTR)_bstr_t(var);
m_AllManagerNum = strValue;
m_pRecordsetMM->Close();
m_pRecordsetMM = NULL;
m_pConnection->Close();
m_pConnection = NULL;
}
}
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
return;
}
}
void CSaleManagerView::OnUpdateUseSet(CCmdUI *cmdUI)
{
int Count = m_AllManagerNum.GetLength();
BOOL flag = false;
for( int index = 0; index < Count; index++)
{
if(m_AllManagerNum[index] == 'A')
{
flag = TRUE;
break;
}
}
cmdUI->Enable(flag);
}
void CSaleManagerView::OnUpdatePowerSet(CCmdUI *cmdUI)
{
int Count = m_AllManagerNum.GetLength();
BOOL flag = false;
for( int index = 0; index < Count; index++)
{
if(m_AllManagerNum[index] == 'B')
{
flag = TRUE;
break;
}
}
cmdUI->Enable(flag);
}
void CSaleManagerView::OnUpdateGoodsSet(CCmdUI *cmdUI)
{
int Count = m_AllManagerNum.GetLength();
BOOL flag = false;
for( int index = 0; index < Count; index++)
{
if(m_AllManagerNum[index] == 'C')
{
flag = TRUE;
break;
}
}
cmdUI->Enable(flag);
}
void CSaleManagerView::OnUpdateGoodsManager(CCmdUI *cmdUI)
{
int Count = m_AllManagerNum.GetLength();
BOOL flag = false;
for( int index = 0; index < Count; index++)
{
if(m_AllManagerNum[index] == 'D')
{
flag = TRUE;
break;
}
}
cmdUI->Enable(flag);
}
void CSaleManagerView::OnUpdateMerchandiseManager(CCmdUI *cmdUI)
{
int Count = m_AllManagerNum.GetLength();
BOOL flag = false;
for( int index = 0; index < Count; index++)
{
if(m_AllManagerNum[index] == 'E')
{
flag = TRUE;
break;
}
}
cmdUI->Enable(flag);
}
void CSaleManagerView::OnUpdateBuinessQuery (CCmdUI *cmdUI)
{
int Count = m_AllManagerNum.GetLength();
BOOL flag = false;
for( int index = 0; index < Count; index++)
{
if(m_AllManagerNum[index] == 'F')
{
flag = TRUE;
break;
}
}
cmdUI->Enable(flag);
}
void CSaleManagerView::OnUpdateStatistics (CCmdUI *cmdUI)
{
int Count = m_AllManagerNum.GetLength();
BOOL flag = false;
for( int index = 0; index < Count; index++)
{
if(m_AllManagerNum[index] == 'G')
{
flag = TRUE;
break;
}
}
cmdUI->Enable(flag);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -