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

📄 assets.cpp

📁 完整的资产管理系统
💻 CPP
字号:
// Assets.cpp: implementation of the CAssets class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "AssetsMan.h"
#include "Assets.h"
#include "ADOConn.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CAssets::CAssets()
{
	m_Aid = "";
	m_Aname = "";
	m_Model = "";
	m_Producer = "";
	m_UsedYear = 1;
	m_OrgPrice = 0;
	m_Ratio = 0;
	m_RepPerson = "";
	m_Status = "未使用";
	m_AddWay = "";
	m_IsAudit = 0;
	m_IsDiscount = 0;
}

CAssets::~CAssets()
{

}

   /**********************************************************
                              属性设置
   **********************************************************/
// 卡号
void CAssets::SetId(int iCId)
{
	m_Id = iCId;
}

int CAssets::GetId()
{
	return m_Id;
}

// 资产编号
void CAssets::SetAid(CString cAid)
{
	m_Aid = cAid;
}

CString CAssets::GetAid()
{
	return m_Aid;
}

// 资产名称
void CAssets::SetAname(CString cAname)
{
	m_Aname = cAname;
}

CString CAssets::GetAname()
{
	return m_Aname;
}

// 类别编号
void CAssets::SetTypeId(int iTId)
{
	m_TypeId = iTId;
}

int CAssets::GetTypeId()
{
	return m_TypeId;
}

// 型号
void CAssets::SetModel(CString cModel)
{
	m_Model = cModel;
}

CString CAssets::GetModel()
{
	return m_Model;
}

// 生产厂家
void CAssets::SetProducer(CString cProducer)
{
	m_Producer = cProducer;
}

CString CAssets::GetProducer() 
{
	return m_Producer;
}

// 使用日期
void CAssets::SetUseDate(CString cUseDate)
{
	m_UseDate = cUseDate;
}

CString CAssets::GetUseDate()
{
	return m_UseDate;
}

// 使用年限
void CAssets::SetUsedYear(int iUsedYear)
{
	m_UsedYear = iUsedYear;
}

int CAssets::GetUsedYear()
{
	return m_UsedYear;
}

// 原值
void CAssets::SetOrgPrice(double dOrgPrc)
{
	m_OrgPrice = dOrgPrc;
}

double CAssets::GetOrgPrice()
{
	return m_OrgPrice;
}

// 残值率
void CAssets::SetRatio(float fRatio)
{
	m_Ratio = fRatio;
}

float CAssets::GetRatio()
{
	return m_Ratio;
}

// 部门编号
void CAssets::SetDeptId(int iDeptId)
{
	m_DeptId = iDeptId;
}

int CAssets::GetDeptId()
{
	return m_DeptId;
}

// 负责人员
void CAssets::SetRepPerson(CString cRepPer)
{
	m_RepPerson = cRepPer;
}

CString CAssets::GetRepPerson()
{
	return m_RepPerson;
}

// 状态
void CAssets::SetStatus(CString iStatus)
{
	m_Status = iStatus;
}

CString CAssets::GetStatus()
{
	return m_Status;
}

// 增加方式
void CAssets::SetAddWay(CString cAddWay)
{
	m_AddWay = cAddWay;
}

CString CAssets::GetAddWay()
{
	return m_AddWay;
}

// 是否审核
void CAssets::SetIsAudit(int iIsAud)
{
	m_IsAudit = iIsAud;
}

int CAssets::GetIsAudit()
{
	return m_IsAudit;
}

// 提交日期
void CAssets::SetPostDate(CString cPostDate)
{
	m_PostDate = cPostDate;
}

CString CAssets::GetPostDate()
{
	return m_PostDate;
}

// 计提折旧
void CAssets::SetIsDiscount(int iDis)
{
	m_IsDiscount = iDis;
}

int CAssets::GetIsDiscount()
{
	return m_IsDiscount;
}

/**********************************************************
                           方法设置
**********************************************************/
//  插入新的资产信息
void CAssets::Insert()
{
	try
	{
		//连接数据库
		ADOConn adoConn;
		//设置INSERT语句, 将数值转换为字符串
		CString cSql,cDate,cOrgPrc,cRatio,cDeptId,cTypeId,cYear;
		_bstr_t bSql;
		cOrgPrc.Format("%f",m_OrgPrice);
		cRatio.Format("%f",m_Ratio);
		cDeptId.Format("%d",m_DeptId);
		cTypeId.Format("%d",m_TypeId);
		cYear.Format("%d",m_UsedYear);
		// 定义时间对象,取得当前日期
		CTime t = CTime::GetCurrentTime();
		cDate.Format(_T("%04d-%02d-%02d"),t.GetYear(),t.GetMonth(),t.GetDay());
		// 插入语句
		cSql = "Insert Into Assets(Aid,Aname,TypeId,Model,Producer,";
		cSql += "UseDate,UsedYear,OrgPrice,Ratio,DeptId,";
		cSql += "RepPerson,Status,AddWay,IsAudit,PostDate, IsDiscount) Values('";
		cSql += m_Aid+"','"+m_Aname+"',"+cTypeId+",'"+m_Model+"','"+m_Producer+"','";
		cSql += m_UseDate+"',"+cYear+","+cOrgPrc+",";
		cSql += cRatio+","+cDeptId+",'"+m_RepPerson+"','";
		cSql += m_Status+"','"+m_AddWay+"',0,'"+cDate+"', 0)";
		bSql = (LPCTSTR)(_bstr_t)cSql;
		adoConn.ExecuteSQL(bSql);
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
}
//  修改资产信息
void CAssets::Update(CString cId)
{
	try
	{
		//连接数据库
		ADOConn adoConn;
		//设置UPDATE语句, 将数值转换为字符串
		CString cDate,cOrgPrc,cRatio,cDeptId,cTypeId,cYear;
		_bstr_t bSql;
		cOrgPrc.Format("%f",m_OrgPrice);
		cRatio.Format("%f",m_Ratio);
		cDeptId.Format("%d",m_DeptId);
		cTypeId.Format("%d",m_TypeId);
		cYear.Format("%d",m_UsedYear);
		// 定义时间对象,取得当前日期
		CTime t = CTime::GetCurrentTime();
		cDate.Format(_T("%04d-%02d-%02d"),t.GetYear(),t.GetMonth(),t.GetDay());
		// 更新语句
		bSql = "Update Assets Set Aid='"+m_Aid+"',Aname='"+m_Aname+"',"
			+"TypeId="+cTypeId+",Model='"+m_Model+"',Producer='"+m_Producer+"',"
			+"UseDate='"+m_UseDate+"',UsedYear="+cYear+",OrgPrice="+cOrgPrc+","
			+"Ratio="+cRatio+",DeptId="+cDeptId+","
			+"RepPerson='"+m_RepPerson+"',Status='"+m_Status+"',AddWay='"+m_AddWay+"',"
			+"PostDate='"+cDate+"' Where Id="+cId;
		adoConn.ExecuteSQL(bSql);
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
}
//  删除资产信息
void CAssets::Delete(CString cId)
{
	try
	{
		//连接数据库
		ADOConn adoConn;
		//设置DELETE语句
		_bstr_t bSql;
		bSql = "Delete From Assets Where Id="+cId;
		adoConn.ExecuteSQL(bSql);
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
}

//  变更资产信息,只能变更部门、人员、使用年限、残值率
void CAssets::Change(CString cId)
{
	try
	{
		//连接数据库
		ADOConn adoConn;
		//设置UPDATE语句, 将数值转换为字符串
		CString cRatio,cDeptId,cYear;
		_bstr_t bSql;
		cRatio.Format("%f",m_Ratio);
		cDeptId.Format("%d",m_DeptId);
		cYear.Format("%d",m_UsedYear);
		// 更新语句
		bSql = "Update Assets Set UsedYear=" + cYear + ", Ratio=" + cRatio + ", DeptId= "+ cDeptId + ","
			 + "RepPerson='" + m_RepPerson + "', Status='" + m_Status + "',IsAudit=2 Where Id=" + cId;
		adoConn.ExecuteSQL(bSql);
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
}
//  资产审核完毕
void CAssets::Audit(CString cId)
{
	try
	{
		//连接数据库
		ADOConn adoConn;
		_bstr_t bSql;
		// 更新语句
		bSql = "Update Assets Set IsAudit=1 Where Id="+cId;
		adoConn.ExecuteSQL(bSql);
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
}

//bstr_t bstrSQL
void  CAssets::GetData(CString cId)
{
	try
	{
		//连接数据库
		ADOConn adoConn;
		//设置SELECT语句
		_bstr_t vSQL;
		vSQL = "SELECT * FROM Assets WHERE Id=" + cId;
		//执行SELETE语句
		_RecordsetPtr pRecordset;
		pRecordset = adoConn.GetRecordSet(vSQL);
		
		//返回各列的值
		if (pRecordset->adoEOF)
		{
			m_Aid = "";
			m_Aname = "";
			m_Model = "";
			m_Producer = "";
			m_UsedYear = 1;
			m_OrgPrice = 0;
			m_Ratio = 0;
			m_RepPerson = "";
			m_Status = "未使用";
			m_AddWay = "";
			m_IsAudit = 0;
			m_IsDiscount = 0;
		}
		else
		{
			m_Id = atoi(cId);
			m_Aid = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("Aid");
			m_Aname = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("Aname");
			m_TypeId = atoi((LPCTSTR)(_bstr_t)pRecordset->GetCollect("TypeId"));
			m_Model = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("Model");
			m_Producer = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("Producer");
			m_UseDate = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("UseDate");
			m_UsedYear = 
				atoi((LPCTSTR)(_bstr_t)pRecordset->GetCollect("UsedYear"));
			m_OrgPrice = 
				atof((LPCTSTR)(_bstr_t)pRecordset->GetCollect("OrgPrice"));
			m_Ratio = atof((LPCTSTR)(_bstr_t)pRecordset->GetCollect("Ratio"));
			m_RepPerson = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("RepPerson");
			m_DeptId = atoi((LPCTSTR)(_bstr_t)pRecordset->GetCollect("DeptId"));
			m_Status = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("Status");
			m_AddWay = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("AddWay");
			m_PostDate = (LPCTSTR)(_bstr_t)pRecordset->GetCollect("PostDate");
		}
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
}

// 判断是否存在某个资产编号
int CAssets::HaveAid(CString cAid)
{
	int iRet = -1;
	try
	{
		_RecordsetPtr pRecordset;
		// 连接数据库
		ADOConn adoConn;
		_bstr_t bSQL;
		bSQL = "Select * From Assets Where Aid='" + cAid + "'";
		
		// 执行SELETE语句
		pRecordset = adoConn.GetRecordSet(bSQL);
		// 如果adoEOF属性为真,表示存在相同编号的资产信息,返回1,否则返回-1
		if (pRecordset->adoEOF)
			iRet = -1;
		else
			iRet = 1;
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
	return iRet;
}

// 判断是否存在某个资产名称
int CAssets::HaveName(CString cAname)
{
	int iRet = -1;
	try
	{
		_RecordsetPtr pRecordset;
		// 连接数据库
		ADOConn adoConn;
		_bstr_t bSQL;
		bSQL = "Select * From Assets Where Aname='" + cAname + "'";
		
		// 执行SELETE语句
		pRecordset = adoConn.GetRecordSet(bSQL);
		// 如果adoEOF属性为真,表示存在相同名称的资产信息,返回1,否则返回-1
		if (pRecordset->adoEOF)
			iRet = -1;
		else
			iRet = 1;
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
	return iRet;
}

// 开始每个月进行计提折旧计算
void CAssets::BeginDiscount(CString cId)
{
	try
	{
		//连接数据库
		ADOConn adoConn;
		_bstr_t bSql;
		// 更新语句
		bSql = "Update Assets Set IsDiscount=1 Where Id="+cId;
		adoConn.ExecuteSQL(bSql);
		//断开与数据库的连接
		adoConn.ExitConnect();
	}
	// 捕捉异常
	catch(_com_error e)
	{
		// 显示错误信息
		AfxMessageBox(e.Description());
	}
}

⌨️ 快捷键说明

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