misdoc.cpp

来自「可以应用于企业商品管理」· C++ 代码 · 共 297 行

CPP
297
字号
// MISDoc.cpp : implementation of the CMISDoc class
//

#include "stdafx.h"
#include "MIS.h"

#include "MISDoc.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMISDoc

IMPLEMENT_DYNCREATE(CMISDoc, CDocument)

BEGIN_MESSAGE_MAP(CMISDoc, CDocument)
	//{{AFX_MSG_MAP(CMISDoc)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMISDoc construction/destruction

//##ModelId=46B6093A02FF
CMISDoc::CMISDoc():m_AccessDB("mis.mdb")
{
	if( !m_AccessDB.Initialize())
	{
		MessageBox( NULL , "数据库初始化失败" , "错误" , NULL);
	}
	else
	{
		//数据库初始化成功就装入数据。
		//装入销售数据
		m_AccessDB.GetData(m_vOrder);

		//装入进货数据
		m_AccessDB.GetData(m_vStock);

		//装入商品数据
		m_AccessDB.GetData(m_vProduct);
	}
}

//##ModelId=46B6093A037D
CMISDoc::~CMISDoc()
{
	FreeStockVector();
	FreeProductVector();
	FreeOrderVector();
}

//##ModelId=46B6093A036E
BOOL CMISDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CMISDoc serialization

//##ModelId=46B6093A037A
void CMISDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}

/////////////////////////////////////////////////////////////////////////////
// CMISDoc diagnostics

#ifdef _DEBUG
//##ModelId=46B6093A037F
void CMISDoc::AssertValid() const
{
	CDocument::AssertValid();
}

//##ModelId=46B6093A038A
void CMISDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMISDoc commands
//##ModelId=46B6093A030D
vector<LPPRODUCTINFO>& CMISDoc::GetProduct()
{
	return m_vProduct;
}

//得到进货数据
//##ModelId=46B6093A030E
vector<LPSTOCKINFO>& CMISDoc::GetStock()
{
	return m_vStock;
}

//得到销售数据
//##ModelId=46B6093A030F
vector<LPORDERINFO>& CMISDoc::GetOrder()
{
	return m_vOrder;
}


//添加商品数据
//##ModelId=46B6093A0310
void CMISDoc::AddProduct(LPPRODUCTINFO pIn)
{
	//向数据库添加数据。
	m_AccessDB.InsertData(pIn);
	RefreshProduct();

}

//添加进货数据
//##ModelId=46B6093A031D
void CMISDoc::AddStock(LPSTOCKINFO pIn)
{
	//向数据库添加数据。
	m_AccessDB.InsertData(pIn);
	RefreshStock();
}

//添加销售数据
//##ModelId=46B6093A031F
void CMISDoc::AddOrder(LPORDERINFO pIn)
{
	//向数据库添加数据。
	m_AccessDB.InsertData(pIn);
	RefreshOrder();
}

//修改商品数据
//##ModelId=46B6093A032C
void CMISDoc::ModifyProduct(LPPRODUCTINFO pIn)
{
	m_AccessDB.UpdateData(pIn);
	RefreshProduct();
}

//修改进货数据
//##ModelId=46B6093A032E
void CMISDoc::ModifyStock(LPSTOCKINFO pIn)
{
	m_AccessDB.UpdateData(pIn);
	RefreshStock();
}

//修改销售数据
//##ModelId=46B6093A0330
void CMISDoc::ModifyOrder(LPORDERINFO pIn)
{
	m_AccessDB.UpdateData(pIn);
	RefreshOrder();
}

//刷新商品数据
//##ModelId=46B6093A03D9
void CMISDoc::RefreshProduct()
{
	FreeProductVector();
	//装入商品数据
	m_AccessDB.GetData(m_vProduct);
}

//刷新进货数据
//##ModelId=46B6093A03DA
void CMISDoc::RefreshStock()
{
	FreeStockVector();
	//装入进货数据
	m_AccessDB.GetData(m_vStock);

}

//刷新销售数据
//##ModelId=46B6093A03DB
void CMISDoc::RefreshOrder()
{
	FreeOrderVector();
	//装入进货数据
	m_AccessDB.GetData(m_vOrder);
}

//释放销售数据
//##ModelId=46B6093A03C8
void CMISDoc::FreeOrderVector()
{
	for( size_t i = 0 ; i < m_vOrder.size() ; i++)
	{
		SAFE_DELETE(m_vOrder[i]);
	}

	//清空vector
	vector<LPORDERINFO>().swap(m_vOrder);
}

//释放进货数据
//##ModelId=46B6093A03C9
void CMISDoc::FreeStockVector()
{
	for( size_t i = 0 ; i < m_vStock.size() ; i++)
	{
		SAFE_DELETE(m_vStock[i]);
	}

	//清空vector
	vector<LPSTOCKINFO>().swap(m_vStock);
}

//释放商品数据
//##ModelId=46B6093A03D8
void CMISDoc::FreeProductVector()
{
	for( size_t i = 0 ; i < m_vProduct.size() ; i++)
	{
		SAFE_DELETE(m_vProduct[i]);
	}

	//清空vector
	vector<LPPRODUCTINFO>().swap(m_vProduct);
}

//删除商品数据
//##ModelId=46B6093A033D
void CMISDoc::DelProduct(vector<LPPRODUCTINFO>& pIn)
{
	for( size_t i = 0 ; i < pIn.size() ; i++)
	{
		m_AccessDB.DeleteData(pIn[i]);
	}
	RefreshProduct();

}

//删除进货数据
//##ModelId=46B6093A034B
void CMISDoc::DelStock(vector<LPSTOCKINFO>& pIn)
{
	for( size_t i = 0 ; i < pIn.size() ; i++)
	{
		m_AccessDB.DeleteData(pIn[i]);
	}
	RefreshStock();
}

//删除销售数据
//##ModelId=46B6093A034D
void CMISDoc::DelOrder(vector<LPORDERINFO>& pIn)
{
	for( size_t i = 0 ; i < pIn.size() ; i++)
	{
		m_AccessDB.DeleteData(pIn[i]);
	}
	RefreshOrder();
}

//根据商品编号查询进货数据
//##ModelId=46B6093A035B
void CMISDoc::QueryStock(DWORD dwProductID)
{
	FreeStockVector();
	m_AccessDB.QueryStockInfoByProductID(dwProductID , m_vStock);
}

//根据商品编号删除进货数据
//##ModelId=46B6093A036C
void CMISDoc::QueryOrder(DWORD dwProductID)
{
	FreeOrderVector();
	m_AccessDB.QueryOrderInfoByProductID(dwProductID , m_vOrder);
}


⌨️ 快捷键说明

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