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

📄 dujt.cpp

📁 c++制作固定资产管理系统
💻 CPP
字号:
// DUjt.cpp : implementation file
//

#include "stdafx.h"
#include "gdzc.h"
#include "DUjt.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDUjt dialog


CDUjt::CDUjt(CWnd* pParent /*=NULL*/)
	: CDialog(CDUjt::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDUjt)
	//}}AFX_DATA_INIT
}


void CDUjt::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDUjt)
	DDX_Control(pDX, IDC_LIST1, m_Grid);
	DDX_Control(pDX, IDC_COMBO2, m_ComFH);
	DDX_Control(pDX, IDC_EDIT1, m_EdtJT);
	DDX_Control(pDX, IDC_COMBO1, m_ComZD);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDUjt, CDialog)
	//{{AFX_MSG_MAP(CDUjt)
	ON_CBN_KILLFOCUS(IDC_COMBO1, OnKillfocusCombo1)
	ON_BN_CLICKED(IDC_BUTFIND, OnButfind)
	ON_BN_CLICKED(IDC_BUTJT, OnButjt)
	ON_BN_CLICKED(IDC_BUTEXIT, OnButexit)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDUjt message handlers

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

BOOL CDUjt::OnInitDialog() 
{
	CDialog::OnInitDialog();	
	CString sSQL;
	sSQL.Format("SELECT * FROM 计提表 WHERE 资产编号='1'");
	m_Grid.SetDataBase(sSQL,adCmdText);
	rst.Open("计提表");
	m_ComZD.SetFieldset(rst);
	this->m_ComZD.SetCurSel(0);
	this->m_ComFH.SetCurSel(0);
	m_ComZD.SetFocus();
	this->m_Grid.ReadOnly(true);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDUjt::OnKillfocusCombo1() 
{
	m_LX=rst.GetFieldType(m_ComZD.GetCurSel());
}

void CDUjt::OnButfind() 
{
	CString sSQL,sZD,sFH,sTJ;
	this->m_ComZD.GetWindowText(sZD);
	this->m_ComFH.GetWindowText(sFH);
	this->m_EdtJT.GetWindowText(sTJ);
	if(m_LX=="字符型")
		if(sFH=="LIKE")
			sSQL.Format("SELECT * FROM 计提表 WHERE %s %s '%s%%'",sZD,sFH,sTJ);
		else
			sSQL.Format("SELECT * FROM 计提表 WHERE %s %s '%s'",sZD,sFH,sTJ);
	if(m_LX=="日期型")
		sSQL.Format("SELECT * FROM 计提表 WHERE %s %s '%s'",sZD,sFH,sTJ);
	if(m_LX=="数值型")
		sSQL.Format("SELECT * FROM 计提表 WHERE %s %s %s",sZD,sFH,sTJ);
	rst.Open(sSQL,adCmdText);
	m_Grid.DeleteAllItems();
	m_Grid.AddCellValue(rst);
}

void CDUjt::OnButjt() 
{
	CString sDate,sMsg;
	RxRecordset brst;
	if(MessageBox("确定要执行反计提吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)	
		return;
	sDate=m_Grid.GetItemText(m_Grid.GetRow(),7);
	if(sDate.IsEmpty())
	{
		MessageBox("请选择一条计提记录!","系统提示",MB_OK|MB_ICONSTOP);
		return;
	}
	sMsg.Format("您选择的反计提记录是 %s 的,反计提后,所有%s以后计提的记录都将被删除!继续吗?",sDate,sDate);
	if(MessageBox(sMsg,"系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)	
		return;
	CString sSQL,sID,sDepreciation,sNetValue,sUseTime,sMeans,sDepreciationRate,sDepreciationMoney;
	sID=m_Grid.GetItemText(m_Grid.GetRow(),0);
	sDepreciation=m_Grid.GetItemText(m_Grid.GetRow(),1);
	sNetValue=m_Grid.GetItemText(m_Grid.GetRow(),2);
	sUseTime=m_Grid.GetItemText(m_Grid.GetRow(),3);
	sMeans=m_Grid.GetItemText(m_Grid.GetRow(),4);
	sDepreciationRate=m_Grid.GetItemText(m_Grid.GetRow(),5);
	sDepreciationMoney=m_Grid.GetItemText(m_Grid.GetRow(),6);

	sSQL.Format("UPDATE 固定资产信息表 SET 累计折旧=%s,净值=%s,已计提月份=%s,折旧方法=%s,月折旧率=%s,月折旧额=%s WHERE 编号='%s'",sDepreciation,sNetValue,sUseTime,sMeans,sDepreciationRate,sDepreciationMoney,sID);
	brst.Open(sSQL,adCmdText);

	sSQL.Format("DELETE FROM 计提表 WHERE 资产编号='%s' AND 计提日期>='%s'",sID,sDate);
	rst.Open(sSQL,adCmdText);
//	MessageBox("反计提成功!","系统提示",MB_OK|MB_ICONINFORMATION);
	OnButfind();
}

void CDUjt::OnButexit() 
{
	this->OnCancel();	
}

void CDUjt::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	if(this->m_Grid.GetHotItem()<0)
		return;
	else
		OnButjt();
	*pResult = 0;
}

⌨️ 快捷键说明

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