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

📄 reportdialog.cpp

📁 本系统是一简单的物资管理系统
💻 CPP
字号:
// ReportDialog.cpp : implementation file
//

#include "stdafx.h"
#include "WhMgr.h"
#include "ReportDialog.h"
#include "MaterialInfoDataSet.h"
#include "InDataSet.h"
#include "OutDataSet.h"
#include "BorrowDataSet.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CReportDialog dialog


CReportDialog::CReportDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CReportDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CReportDialog)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	bIsDataExchanged = FALSE;
}


void CReportDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CReportDialog)
	DDX_Control(pDX, IDC_LIST_REPORT, m_ReportList);
	DDX_Control(pDX, IDC_MSFLEXGRID, m_Grid);
	//}}AFX_DATA_MAP
	InitList();
	bIsDataExchanged = TRUE;
}


BEGIN_MESSAGE_MAP(CReportDialog, CDialog)
	//{{AFX_MSG_MAP(CReportDialog)
	ON_LBN_SELCHANGE(IDC_LIST_REPORT, OnSelchangeListReport)
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CReportDialog message handlers

void CReportDialog::InitList()
{
	int nIndex;
	nIndex = m_ReportList.AddString("库存信息表");
	m_ReportList.SetItemData(nIndex, 0);
	nIndex = m_ReportList.AddString("入库表");
	m_ReportList.SetItemData(nIndex, 1);
	nIndex = m_ReportList.AddString("出库表");
	m_ReportList.SetItemData(nIndex, 2);
	nIndex = m_ReportList.AddString("借出表");
	m_ReportList.SetItemData(nIndex, 3);
}

//装载材料信息报表
void CReportDialog::LoadMaterialInfo()
{
	m_Grid.SetCols(6);
	m_Grid.SetRows(1);
	m_Grid.SetRow(0);
	m_Grid.SetCol(0);
	m_Grid.SetText("序号");
	m_Grid.SetCol(1);
	m_Grid.SetText("物资号");
	m_Grid.SetCol(2);
	m_Grid.SetText("物资名称");
	m_Grid.SetCol(3);
	m_Grid.SetText("单位");
	m_Grid.SetCol(4);
	m_Grid.SetText("数量");
	m_Grid.SetCol(5);
	m_Grid.SetText("最大数量");
	int nRowCount = 1;
	CMaterialInfoDataSet dsMaterialInfo;
	dsMaterialInfo.m_cnn = m_pConn;
	if(dsMaterialInfo.LoadData())
	{
		while(!dsMaterialInfo.IsEOF())
		{
			nRowCount++;
			m_Grid.SetRows(nRowCount);
			m_Grid.SetRow(nRowCount - 1);
			m_Grid.SetCol(0);
			CString strNum;
			strNum.Format("%d", nRowCount - 1);
			m_Grid.SetText(strNum);
			m_Grid.SetCol(1);
			m_Grid.SetText(dsMaterialInfo.GetMaterialNum());
			m_Grid.SetCol(2);
			m_Grid.SetText(dsMaterialInfo.GetMaterialName());
			m_Grid.SetCol(3);
			m_Grid.SetText(dsMaterialInfo.GetUnit());
			m_Grid.SetCol(4);
			m_Grid.SetText(dsMaterialInfo.GetCount());
			m_Grid.SetCol(5);
			m_Grid.SetText(dsMaterialInfo.GetMaxCount());
			dsMaterialInfo.MoveNext();
		}
	}
}

void CReportDialog::OnSelchangeListReport() 
{
	int nIndex;
	nIndex = m_ReportList.GetCurSel();
	if(nIndex >= 0)
	{
		int nSelData = m_ReportList.GetItemData(nIndex);
		switch(nSelData)
		{
		case 0:
			LoadMaterialInfo();
			break;
		case 1:
			LoadIn();
			break;
		case 2:
			LoadOut();
			break;
		case 3:
			LoadBorrow();
			break;
		}
	}
}

//装载入库报表
void CReportDialog::LoadIn()
{
	m_Grid.SetCols(7);
	m_Grid.SetRows(1);
	m_Grid.SetRow(0);
	m_Grid.SetCol(0);
	m_Grid.SetText("序号");
	m_Grid.SetCol(1);
	m_Grid.SetText("物资号");
	m_Grid.SetCol(2);
	m_Grid.SetText("供应商信息");
	m_Grid.SetCol(3);
	m_Grid.SetText("入库数量");
	m_Grid.SetCol(4);
	m_Grid.SetText("价格");
	m_Grid.SetCol(5);
	m_Grid.SetText("采购员");
	m_Grid.SetCol(6);
	m_Grid.SetText("入库时间");
	int nRowCount = 1;
	CInDataSet dsIn;
	dsIn.m_cnn = m_pConn;
	if(dsIn.LoadData())
	{
		while(!dsIn.IsEOF())
		{
			nRowCount++;
			m_Grid.SetRows(nRowCount);
			m_Grid.SetRow(nRowCount - 1);
			m_Grid.SetCol(0);
			CString strNum;
			strNum.Format("%d", nRowCount - 1);
			m_Grid.SetText(strNum);
			m_Grid.SetCol(1);
			m_Grid.SetText(dsIn.GetMaterialNum());
			m_Grid.SetCol(2);
			m_Grid.SetText(dsIn.GetSupplier());
			m_Grid.SetCol(3);
			m_Grid.SetText(dsIn.GetCount());
			m_Grid.SetCol(4);
			m_Grid.SetText(dsIn.GetPrice());
			m_Grid.SetCol(5);
			m_Grid.SetText(dsIn.GetBuyer());
			m_Grid.SetCol(6);
			m_Grid.SetText(dsIn.GetData());
			dsIn.MoveNext();
		}
	}
}

//装载出库报表
void CReportDialog::LoadOut()
{
	m_Grid.SetCols(9);
	m_Grid.SetRows(1);
	m_Grid.SetRow(0);
	m_Grid.SetCol(0);
	m_Grid.SetText("序号");
	m_Grid.SetCol(1);
	m_Grid.SetText("物资号");
	m_Grid.SetCol(2);
	m_Grid.SetText("使用部门");
	m_Grid.SetCol(3);
	m_Grid.SetText("出库状态");
	m_Grid.SetCol(4);
	m_Grid.SetText("经手人");
	m_Grid.SetCol(5);
	m_Grid.SetText("出库数量");
	m_Grid.SetCol(6);
	m_Grid.SetText("领取人");
	m_Grid.SetCol(7);
	m_Grid.SetText("用途");
	m_Grid.SetCol(8);
	m_Grid.SetText("出库时间");
	int nRowCount = 1;
	COutDataSet dsOut;
	dsOut.m_cnn = m_pConn;
	if(dsOut.LoadData())
	{
		while(!dsOut.IsEOF())
		{
			nRowCount++;
			m_Grid.SetRows(nRowCount);
			m_Grid.SetRow(nRowCount - 1);
			m_Grid.SetCol(0);
			CString strNum;
			strNum.Format("%d", nRowCount - 1);
			m_Grid.SetText(strNum);
			m_Grid.SetCol(1);
			m_Grid.SetText(dsOut.GetMaterialNum());
			m_Grid.SetCol(2);
			m_Grid.SetText(dsOut.GetDepartment());
			m_Grid.SetCol(3);
			m_Grid.SetText(dsOut.GetState());
			m_Grid.SetCol(4);
			m_Grid.SetText(dsOut.GetJsr());
			m_Grid.SetCol(5);
			m_Grid.SetText(dsOut.GetCount());
			m_Grid.SetCol(6);
			m_Grid.SetText(dsOut.GetLqr());
			m_Grid.SetCol(7);
			m_Grid.SetText(dsOut.GetUse());
			m_Grid.SetCol(8);
			m_Grid.SetText(dsOut.GetData());
			dsOut.MoveNext();
		}
	}
}

//装载借出报表
void CReportDialog::LoadBorrow()
{
	m_Grid.SetCols(9);
	m_Grid.SetRows(1);
	m_Grid.SetRow(0);
	m_Grid.SetCol(0);
	m_Grid.SetText("序号");
	m_Grid.SetCol(1);
	m_Grid.SetText("物资号");
	m_Grid.SetCol(2);
	m_Grid.SetText("使用部门");
	m_Grid.SetCol(3);
	m_Grid.SetText("出库状态");
	m_Grid.SetCol(4);
	m_Grid.SetText("经手人");
	m_Grid.SetCol(5);
	m_Grid.SetText("出库数量");
	m_Grid.SetCol(6);
	m_Grid.SetText("领取人");
	m_Grid.SetCol(7);
	m_Grid.SetText("用途");
	m_Grid.SetCol(8);
	m_Grid.SetText("出库时间");
	int nRowCount = 1;
	CBorrowDataSet dsBorrow;
	dsBorrow.m_cnn = m_pConn;
	if(dsBorrow.LoadData())
	{
		while(!dsBorrow.IsEOF())
		{
			nRowCount++;
			m_Grid.SetRows(nRowCount);
			m_Grid.SetRow(nRowCount - 1);
			m_Grid.SetCol(0);
			CString strNum;
			strNum.Format("%d", nRowCount - 1);
			m_Grid.SetText(strNum);
			m_Grid.SetCol(1);
			m_Grid.SetText(dsBorrow.GetMaterialNum());
			m_Grid.SetCol(2);
			m_Grid.SetText(dsBorrow.GetDepartment());
			m_Grid.SetCol(3);
			m_Grid.SetText(dsBorrow.GetState());
			m_Grid.SetCol(4);
			m_Grid.SetText(dsBorrow.GetJsr());
			m_Grid.SetCol(5);
			m_Grid.SetText(dsBorrow.GetCount());
			m_Grid.SetCol(6);
			m_Grid.SetText(dsBorrow.GetLqr());
			m_Grid.SetCol(7);
			m_Grid.SetText(dsBorrow.GetUse());
			m_Grid.SetCol(8);
			m_Grid.SetText(dsBorrow.GetData());
			dsBorrow.MoveNext();
		}
	}
}

void CReportDialog::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);
	if(bIsDataExchanged)
	{
		RECT r;
		GetClientRect(&r);
		RECT rList;
		m_ReportList.GetWindowRect(&rList);
		m_ReportList.SetWindowPos(NULL, r.left, r.top, rList.right - rList.left, r.bottom - r.top, SWP_NOACTIVATE);
		int nGridLeft = r.left + rList.right - rList.left + 2;
		m_Grid.SetWindowPos(NULL, nGridLeft, r.top, r.right - nGridLeft, r.bottom - r.top, SWP_NOACTIVATE); 
	}
}

⌨️ 快捷键说明

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