📄 assets.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 + -