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

📄 findgiveback.cpp

📁 关于固定资产管理系统的源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// FindGiveback.cpp : implementation file
//

#include "stdafx.h"
#include "FixedAssets.h"
#include "FindGiveback.h"
#include "CRACK.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFindGiveback dialog


CFindGiveback::CFindGiveback(CWnd* pParent /*=NULL*/)
	: CDialog(CFindGiveback::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFindGiveback)
	m_strAssetID = _T("");
	m_strBorrower = _T("");
	m_CKAssetID = FALSE;
	m_CKBorrower = FALSE;
	m_CKDepartment = FALSE;
	m_CKGBDate = FALSE;
	m_CKLender = FALSE;
	m_CKName = FALSE;
	m_CKRatifier = FALSE;
	m_CKReciever = FALSE;
	m_CKSort = FALSE;
	m_CKType = FALSE;
	m_GBDate1 = -1;
	m_GBDate2 = -1;
	m_strLender = _T("");
	m_LNDate1 = -1;
	m_LNDate2 = -1;
	m_strName = _T("");
	m_strRatifier = _T("");
	m_strReciever = _T("");
	m_strType = _T("");
	m_CKLNDate = FALSE;
	//}}AFX_DATA_INIT
	flag1=0;
	flag2=0;
}


void CFindGiveback::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFindGiveback)
	DDX_Control(pDX, IDC_FDGB_TYPE, m_CtrlCBType);
	DDX_Control(pDX, IDC_FDGB_SORT, m_CtrlCBSort);
	DDX_Control(pDX, IDC_FDGB_RECIEVER, m_CtrlCBReciever);
	DDX_Control(pDX, IDC_FDGB_RATIFIER, m_CtrlCBRatifier);
	DDX_Control(pDX, IDC_FDGB_NAME, m_CtrlCBName);
	DDX_Control(pDX, IDC_FDGB_LIST, m_CtrlList);
	DDX_Control(pDX, IDC_FDGB_LENDER, m_CtrlCBLender);
	DDX_Control(pDX, IDC_FDGB_DEPARTMENT, m_CtrlCBDepartment);
	DDX_Control(pDX, IDC_FDGB_BORROWER, m_CtrlCBBorrower);
	DDX_Control(pDX, IDC_FDGB_ASSETID, m_CtrlCBAssetID);
	DDX_CBString(pDX, IDC_FDGB_ASSETID, m_strAssetID);
	DDX_CBString(pDX, IDC_FDGB_BORROWER, m_strBorrower);
	DDX_Check(pDX, IDC_FDGB_CKASSETID, m_CKAssetID);
	DDX_Check(pDX, IDC_FDGB_CKBORROWER, m_CKBorrower);
	DDX_Check(pDX, IDC_FDGB_CKDEPARTMENT, m_CKDepartment);
	DDX_Check(pDX, IDC_FDGB_CKGBDATE, m_CKGBDate);
	DDX_Check(pDX, IDC_FDGB_CKLENDER, m_CKLender);
	DDX_Check(pDX, IDC_FDGB_CKNAME, m_CKName);
	DDX_Check(pDX, IDC_FDGB_CKRATIFIER, m_CKRatifier);
	DDX_Check(pDX, IDC_FDGB_CKRECIEVER, m_CKReciever);
	DDX_Check(pDX, IDC_FDGB_CKSORT, m_CKSort);
	DDX_Check(pDX, IDC_FDGB_CKTYPE, m_CKType);
	DDX_DateTimeCtrl(pDX, IDC_FDGB_GBDATE1, m_GBDate1);
	DDX_DateTimeCtrl(pDX, IDC_FDGB_GBDATE2, m_GBDate2);
	DDX_CBString(pDX, IDC_FDGB_LENDER, m_strLender);
	DDX_DateTimeCtrl(pDX, IDC_FDGB_LNDATE1, m_LNDate1);
	DDX_DateTimeCtrl(pDX, IDC_FDGB_LNDATE2, m_LNDate2);
	DDX_CBString(pDX, IDC_FDGB_NAME, m_strName);
	DDX_CBString(pDX, IDC_FDGB_RATIFIER, m_strRatifier);
	DDX_CBString(pDX, IDC_FDGB_RECIEVER, m_strReciever);
	DDX_CBString(pDX, IDC_FDGB_TYPE, m_strType);
	DDX_Check(pDX, IDC_FDGB_CKLNDATE, m_CKLNDate);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CFindGiveback, CDialog)
	//{{AFX_MSG_MAP(CFindGiveback)
	ON_BN_CLICKED(IDC_FDGB_CKRECIEVER, OnFdgbCkreciever)
	ON_BN_CLICKED(IDC_FDGB_CKLENDER, OnFdgbCklender)
	ON_BN_CLICKED(IDC_FDGB_CKBORROWER, OnFdgbCkborrower)
	ON_BN_CLICKED(IDC_FDGB_CKDEPARTMENT, OnFdgbCkdepartment)
	ON_BN_CLICKED(IDC_FDGB_CKRATIFIER, OnFdgbCkratifier)
	ON_BN_CLICKED(IDC_FDGB_CKASSETID, OnFdgbCkassetid)
	ON_BN_CLICKED(IDC_FDGB_CKTYPE, OnFdgbCktype)
	ON_BN_CLICKED(IDC_FDGB_CKSORT, OnFdgbCksort)
	ON_BN_CLICKED(IDC_FDGB_CKNAME, OnFdgbCkname)
	ON_BN_CLICKED(IDC_FDGB_CKLNDATE, OnFdgbCklndate)
	ON_BN_CLICKED(IDC_FDGB_CKGBDATE, OnFdgbCkgbdate)
	ON_BN_CLICKED(IDC_FDGB_FIND, OnFdgbFind)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFindGiveback message handlers

int CFindGiveback::DoModal() 
{
	// TODO: Add your specialized code here and/or call the base class
	
	return CDialog::DoModal();
}

BOOL CFindGiveback::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	m_pDatabase->Close();
	delete m_pDatabase;
	m_pDatabase=NULL;
	return CDialog::DestroyWindow();
}

BOOL CFindGiveback::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_CtrlList.SetExtendedStyle(LVS_EX_GRIDLINES); 
	//连接数据库
    m_pDatabase=new CDaoDatabase;
	try{
		m_pDatabase->Open("FixedAssets");
        m_pRecordset=new CDaoRecordset(m_pDatabase);
	}
	catch(CDaoException *e)
	{
		e->ReportError();
		delete m_pDatabase;
		m_pDatabase=NULL;
		e->Delete();
	}	
	if(!m_pDatabase->IsOpen()) return 0;
	if(!m_pRecordset) return 0;
	if(m_pRecordset->IsOpen()) m_pRecordset->Close();
	CString strSelect;
	try
	{  
		// 部门
		strSelect = _T("Select 部门ID,部门名称 From 部门");
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_uaDepartment.Add(var.lVal);
			var = m_pRecordset->GetFieldValue(1);
			m_saDepartment.Add(CCrack::strVARIANT(var));
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
		
		// 资产类别
		strSelect = _T("Select 资产类别ID,资产类别 From 资产类别");
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_uaSort.Add(var.lVal);
			var = m_pRecordset->GetFieldValue(1);
			m_saSort.Add(CCrack::strVARIANT(var));
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
        
		strSelect = _T("Select DISTINCT 借用人 From 借出还入资产");
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{ 
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_CtrlCBBorrower.AddString(CCrack::strVARIANT(var));
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
	
		strSelect = _T("Select DISTINCT 出借人 From 借出还入资产");
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_CtrlCBLender.AddString(CCrack::strVARIANT(var));
        	m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
	
		strSelect = _T("Select DISTINCT 批复人 From 借出还入资产");
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_CtrlCBRatifier.AddString(CCrack::strVARIANT(var));
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
		
		strSelect = _T("Select DISTINCT 接收人 From 借出还入资产");
    	m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_CtrlCBReciever.AddString(CCrack::strVARIANT(var));
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();

    	strSelect = _T("Select DISTINCT 资产名称 From 资产信息");
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_CtrlCBName.AddString(CCrack::strVARIANT(var));
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();

		strSelect = _T("Select DISTINCT 资产编号 From 资产信息");
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_CtrlCBAssetID.AddString(CCrack::strVARIANT(var));
        	m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();

		strSelect = _T("Select DISTINCT 型号 From 资产信息");
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(0);
			m_CtrlCBType.AddString(CCrack::strVARIANT(var));
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();

	}
	catch (CDaoException* e)
	{
		e->ReportError(); 
		e->Delete();
		return 0;
	}
	int nIndex,i;
	for(i=0;i<m_saDepartment.GetSize();i++)  //初始化 部门
	{
	   nIndex =m_CtrlCBDepartment.AddString(m_saDepartment.GetAt(i));
	   m_CtrlCBDepartment.SetItemData(nIndex, m_uaDepartment.GetAt(i));
	} 
	for(i=0;i<m_saSort.GetSize();i++)  //初始化类别
	{
	   nIndex =m_CtrlCBSort.AddString(m_saSort.GetAt(i));
	   m_CtrlCBSort.SetItemData(nIndex, m_uaSort.GetAt(i));
	} 
	
	
	
	strSelect=_T("Select * From 借出还入资产");
	Refresh(strSelect);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CFindGiveback::Refresh(CString strSelect)//刷新
{
    m_strTableName = _T("借出还入资产");
	if(!m_pDatabase->IsOpen()) return;
	if(!m_pRecordset) return;
	if(m_pRecordset->IsOpen()) m_pRecordset->Close();
	//清空list控件
	m_CtrlList.DeleteAllItems();
	while(m_CtrlList.DeleteColumn(0));
	CDaoFieldInfo fieldInfo;
	int nFields;

	CDaoTableDef td(m_pDatabase);
	try
	{
		td.Open(m_strTableName);
		nFields = td.GetFieldCount();
		int nWidth;
		for (int j=0; j < nFields; j++)
		{
			td.GetFieldInfo(j,fieldInfo);
			nWidth = m_CtrlList.GetStringWidth(fieldInfo.m_strName) + 15;
			if(j>=2)
			  m_CtrlList.InsertColumn(j+2,fieldInfo.m_strName, LVCFMT_LEFT, nWidth);
			else
			  m_CtrlList.InsertColumn(j,fieldInfo.m_strName, LVCFMT_LEFT, nWidth);
		}
		nWidth=100;
		m_CtrlList.InsertColumn(2,"资产编号", LVCFMT_LEFT, nWidth);
		m_CtrlList.InsertColumn(3,"资产名称", LVCFMT_LEFT, nWidth);
	}
	catch (CDaoException* e)
	{
		e->ReportError(); 
		e->Delete();
		return;
	}
	td.Close();

	int nItem = 0,i;
	try
	{
		CString select;
		m_pRecordset->Open(dbOpenDynaset,strSelect);
		while (!m_pRecordset->IsEOF())
		{
			COleVariant var;
			var = m_pRecordset->GetFieldValue(11);
			if(CCrack::strVARIANT(var)=="FALSE") 
			{   
				m_pRecordset->MoveNext();
				continue;
			}
            //判断归还时间是否在用户规定的时间内
            if(m_CKGBDate)//归还时间
			{
	           if(m_GBDate1>m_GBDate2)
			   { 
	               CTime temp;
		           temp=m_GBDate1;m_GBDate1=m_GBDate2;m_GBDate2=temp;
			   } 
			   var = m_pRecordset->GetFieldValue(9);
	           CString year,month,day,str;
			   str=CCrack::strVARIANT(var);
			   if(str=="NULL")
               {
			      m_pRecordset->MoveNext();
			      continue;
			   }
			   if(str.GetAt(6)=='0') 
			      year.Format("20%c%c",str.GetAt(6),str.GetAt(7));
		       else
			      year.Format("19%c%c",str.GetAt(6),str.GetAt(7));
		       month.Format("%c%c",str.GetAt(0),str.GetAt(1));
		       day.Format("%c%c",str.GetAt(3),str.GetAt(4));
		       CTime time(atoi(year),atoi(month),atoi(day),m_GBDate1.GetHour(),m_GBDate1.GetMinute(),m_GBDate1.GetSecond());
	           if(time<m_GBDate1||time>m_GBDate2) 
			   {
			      m_pRecordset->MoveNext();
			      continue;
			   }
			}
			//判断借入时间是否在用户规定的时间内
			if(m_CKLNDate)   //借入时间
			{
	           if(m_LNDate1>m_LNDate2)
			   { 
	               CTime temp;
		           temp=m_LNDate1;m_LNDate1=m_LNDate2;m_LNDate2=temp;
			   } 
			   var = m_pRecordset->GetFieldValue(6);
	           CString year,month,day,str;

⌨️ 快捷键说明

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