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

📄 mrpcalc.h

📁 公司物流电脑管理系统(非常有名).rar
💻 H
字号:
// MRPCalc.h : Declaration of the CMRPCalc

#ifndef __MRPCALC_H_
#define __MRPCALC_H_

#include "stdafx.h"
#include "resource.h"       // main symbols
#include "Order.h"
#include "PrdStruct.h"

/////////////////////////////////////////////////////////////////////////////
struct CalcNode
{
	long NodeID;
	long MtrlID;
	long OrderID;
	double PrvdQty;     // 发料数量
	double RqQty;       // 缺料数量
	double PchQty;      // 安排例外采购/临时代用数量
	double Scale;       // 构成单位上件的数量
	double Loss;        // 构成上件的损耗率
	double RqDate;      // 需求时间
	_bstr_t Source;      // 供料来源
	CalcNode *son;
	CalcNode *brother;
};

struct RqSeq
{
	CalcNode *itself;
	CalcNode *parent;
	RqSeq *next;
};

struct RqMtrl
{
	long MtrlID;
	double Storage;     // 库存能力
    long counter;       // 需求计数
	RqSeq *firstRq;     // 需求次序
	RqMtrl *next;
};
// CMRPCalc
class ATL_NO_VTABLE CMRPCalc : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CMRPCalc, &CLSID_MRPCalc>,
	public IConnectionPointContainerImpl<CMRPCalc>,
	public IDispatchImpl<IMRPCalc, &IID_IMRPCalc, &LIBID_MRPCOMLib>

{
private:
	bool m_OprtOK;
	COrder *pOrder;
	CPrdStruct *pPrd;
	CalcNode *pRoot;
    RqMtrl *pRqMtrl;
    _RecordsetPtr pRstRslt;
	_RecordsetPtr pRstMtrlWare;
	_RecordsetPtr pRstAllocMx;
public:
	CMRPCalc()
	{
		m_OprtOK=false;
		pRoot=NULL;
		pRqMtrl=NULL;
	}

DECLARE_REGISTRY_RESOURCEID(IDR_MRPCALC)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CMRPCalc)
	COM_INTERFACE_ENTRY(IMRPCalc)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IConnectionPointContainer)
END_COM_MAP()
BEGIN_CONNECTION_POINT_MAP(CMRPCalc)
END_CONNECTION_POINT_MAP()


// IMRPCalc
public:
	STDMETHOD(MRP)();
	STDMETHOD(ReleaseDB)();
	STDMETHOD(ConnectDB)();
	STDMETHOD(get_OprtOK)(/*[out, retval]*/ BOOL *pVal);
	STDMETHOD(AddOrder)(/*[in]*/long argOrderID);
protected:
	void AccessTree(CalcNode *pNode);
	void DestroyTree(CalcNode *pCurNode);
	long RqCalc();
	void GenTree();
	CalcNode *GenLeftTree(CalcNode *parentNode);
	CalcNode * GenRightTree(CalcNode *parentNode,long argNodeID);
};

#endif //__MRPCALC_H_

⌨️ 快捷键说明

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