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

📄 ddj.cpp

📁 固定资产管理系统:可以帮助企业实现对固定资产的信息化管理。该系统是以实物管理为特点
💻 CPP
字号:
// DDJ.cpp : implementation file
//

#include "stdafx.h"
#include "gdzc.h"
#include "DDJ.h"
#include "DAdd.h"
#include "DLost.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDDJ dialog


CDDJ::CDDJ(CWnd* pParent /*=NULL*/)
	: CDialog(CDDJ::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDDJ)
	//}}AFX_DATA_INIT
	m_font.CreatePointFont(200,"黑体",NULL);
	IsAdd=0;
}


void CDDJ::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDDJ)
	DDX_Control(pDX, IDC_COMFIND, m_ComFind);
	DDX_Control(pDX, IDC_BUTFIND, m_ButFind);
	DDX_Control(pDX, IDC_DTDATE1, m_DtDate1);
	DDX_Control(pDX, IDC_DTDATE2, m_DtDate2);
	DDX_Control(pDX, IDC_LIST1, m_Grid);
	DDX_Control(pDX, IDC_STATIT, m_StaTit);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDDJ, CDialog)
	//{{AFX_MSG_MAP(CDDJ)
	ON_WM_CTLCOLOR()
	ON_NOTIFY(NM_KILLFOCUS, IDC_DTDATE1, OnKillfocusDtdate1)
	ON_NOTIFY(NM_KILLFOCUS, IDC_DTDATE2, OnKillfocusDtdate2)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	ON_BN_CLICKED(IDC_BUTFIND, OnButfind)
	ON_CBN_KILLFOCUS(IDC_COMFIND, OnKillfocusComfind)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDDJ message handlers

void CDDJ::OnOK() 
{
	// TODO: Add extra validation here
	
	//CDialog::OnOK();
}

BOOL CDDJ::OnInitDialog() 
{
	CDialog::OnInitDialog();
	CString sSQL;
	//计算日期
	CTime time;
	time=time.GetCurrentTime();
	int nYear=time.GetYear();
	CTime time1(nYear,1,1,0,0,0);
	CTime time2(nYear+1,1,1,0,0,0);
	this->m_DtDate1.SetTime(&time1);
	this->m_DtDate2.SetTime(&time2);
	m_ButFind.LoadPic(IDB_FIND,IDB_FIND2,IDB_FIND);
	this->ShowWindow(SW_SHOWMAXIMIZED);
	sSQL.Format("select 减少否,编号,名称,规格型号,单位,数量,入账原值,预计净残值率,累计折旧,净值,预计使用月份,已计提月份 from 固定资产信息视图 WHERE 数量<1"); //数量<1的记录不会存在,此查询只为了向表格中添加列
	m_Grid.SetDataBase(sSQL,adCmdText);
	this->Query(time1,time2);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

HBRUSH CDDJ::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	if(pWnd->GetSafeHwnd()==m_StaTit.GetSafeHwnd())
		pDC->SelectObject(&m_font);
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

BOOL CDDJ::DestroyWindow() 
{
	m_font.DeleteObject();	
	return CDialog::DestroyWindow();
}

void CDDJ::Query(CTime ttime1, CTime ttime2)
{
	int RowWidth[12]={19,77,100,98,43,59,79,44,76,77,49,49};
	CString sSQL,sTime1,sTime2,sText;
	sTime1=CTimeToCString(ttime1);
	sTime2=CTimeToCString(ttime2);
	m_ComFind.GetWindowText(sText);
	if(sText.IsEmpty())
		if(this->IsAdd==0)
			sSQL.Format("select 减少否,编号,名称,规格型号,单位,数量,入账原值,预计净残值率,累计折旧,净值,预计使用月份,已计提月份 from 固定资产信息视图 WHERE 入账日期 BETWEEN'%s' AND '%s'",sTime1,sTime2);
		else
			sSQL.Format("select 减少否,编号,名称,规格型号,单位,数量,入账原值,预计净残值率,累计折旧,净值,预计使用月份,已计提月份 from 固定资产信息视图 WHERE 入账日期 BETWEEN'%s' AND '%s' AND 减少否=0",sTime1,sTime2);
	else
		if(this->IsAdd==0)
			sSQL.Format("select 减少否,编号,名称,规格型号,单位,数量,入账原值,预计净残值率,累计折旧,净值,预计使用月份,已计提月份 from 固定资产信息视图 WHERE 入账日期 BETWEEN'%s' AND '%s' AND 名称='%s'",sTime1,sTime2,sText);
		else
			sSQL.Format("select 减少否,编号,名称,规格型号,单位,数量,入账原值,预计净残值率,累计折旧,净值,预计使用月份,已计提月份 from 固定资产信息视图 WHERE 入账日期 BETWEEN'%s' AND '%s' AND 名称='%s'AND 减少否=0",sTime1,sTime2,sText);
	rst.Open(sSQL,adCmdText);
	m_Grid.AddCellValue(rst);
	m_Grid.ReadOnly(true);
	for(int m=0;m<12;m++)
	{
		m_Grid.SetColumnWidth(m,RowWidth[m]);
	}
}

void CDDJ::OnKillfocusDtdate1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CTime time1,time2;
	this->m_DtDate1.GetTime(time1);
	this->m_DtDate2.GetTime(time2);
	this->Query(time1,time2);
	*pResult = 0;
}

void CDDJ::OnKillfocusDtdate2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	OnKillfocusDtdate1(pNMHDR,pResult);
	*pResult = 0;
}

void CDDJ::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	POSITION pos;
	pos=m_Grid.GetFirstSelectedItemPosition();
	CDAdd dlg1;
	CDLost dlg2;
	CString sCaption;
	if(this->IsAdd==0)
	{
		dlg1.SetID(m_Grid.GetItemText(m_Grid.GetSelectionMark(),1));
		dlg1.DoModal();
	}
	else
	{
		if(pos!=NULL)
		{
			dlg2.SetID(m_Grid.GetItemText(m_Grid.GetSelectionMark(),1));
			dlg2.DoModal();
		}
		else
			return;
	}
	 this->OnKillfocusDtdate2(pNMHDR,pResult);
	*pResult = 0;
}

void CDDJ::OnButfind() 
{
	CString sSQL;
	RxRecordset rt;
	sSQL.Format("SELECT DISTINCT 名称 FROM 固定资产信息表");
	rt.Open(sSQL,adCmdText);
	m_ComFind.ClearString();
	m_ComFind.SetRecordset(rt,"名称");
	m_ButFind.ShowWindow(SW_HIDE);	
	m_ComFind.ShowWindow(SW_SHOW);	
	m_ComFind.SetFocus();
}

void CDDJ::OnKillfocusComfind() 
{
	CTime time1,time2;
	this->m_DtDate1.GetTime(time1);
	this->m_DtDate2.GetTime(time2);
	this->Query(time1,time2);
	this->m_ComFind.SetWindowText("");
	m_ButFind.ShowWindow(SW_SHOW);	
	m_ComFind.ShowWindow(SW_HIDE);			
}

⌨️ 快捷键说明

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