📄 findgiveback.cpp
字号:
// 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 + -