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

📄 devect.cpp

📁 一个有关人事系统的所有代码和有关文件包括里面小量数据库。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// DEvect.cpp : implementation file
//

#include "stdafx.h"
#include "Rsglxt.h"
#include "DEvect.h"
#include "DBaseQuery.h"
#include "ExternDllHeader.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDEvect dialog


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


void CDEvect::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDEvect)
	DDX_Control(pDX, IDC_COMSTAFFDEP, m_Comstaffdep);
	DDX_Control(pDX, IDC_LIST_GRID, m_Sql_Grid);
	DDX_Control(pDX, IDC_EDTSTAFFNAME, m_Edtstaffname);
	DDX_Control(pDX, IDC_EDTSTAFFID, m_EdtstaffID);
	DDX_Control(pDX, IDC_COMDept, m_ComDept);
	DDX_Control(pDX, IDC_BUTADD, m_ButAdd);
	DDX_Control(pDX, IDC_BUTCHANGE1, m_ButChange);
	DDX_Control(pDX, IDC_BUTDELE, m_ButDele);
	DDX_Control(pDX, IDC_BUTEXIT, m_ButExit);
	DDX_Control(pDX, IDC_BUTSAVE, m_ButSave);
	DDX_Control(pDX, IDC_BUTUNDO, m_ButUndo);
	DDX_Control(pDX, IDC_EDITREMARK, m_EdtRemark);
	DDX_Control(pDX, IDC_EDITPLACE, m_EdtPlace);
	DDX_Control(pDX, IDC_EDITNAME, m_EdtName);
	DDX_Control(pDX, IDC_EDITMAN, m_EdtMan);
	DDX_Control(pDX, IDC_EDITID, m_EdtID);
	DDX_Control(pDX, IDC_EDITEVEID, m_EdtEveID);
	DDX_Control(pDX, IDC_EDITCOUSE, m_EdtCouse);
	DDX_Control(pDX, IDC_EDITCHARGE, m_EdtCharge);
	DDX_Control(pDX, IDC_COMCLA, m_ComCla);
	DDX_Control(pDX, IDC_DATSTA, m_DatSta);
	DDX_Control(pDX, IDC_DATEND, m_DatEnd);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDEvect, CDialog)
	//{{AFX_MSG_MAP(CDEvect)
	ON_BN_CLICKED(IDC_BUTADD, OnButadd)
	ON_BN_CLICKED(IDC_BUTCHANGE1, OnButchange1)
	ON_BN_CLICKED(IDC_BUTDELE, OnButdele)
	ON_BN_CLICKED(IDC_BUTSAVE, OnButsave)
	ON_BN_CLICKED(IDC_BUTUNDO, OnButundo)
	ON_BN_CLICKED(IDC_BUTEXIT, OnButexit)
	ON_WM_PAINT()
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_BTNSEL, OnBtnsel)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_GRID, OnDblclkListGrid)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDEvect message handlers

BOOL CDEvect::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CDBaseQuery* ParentWnd=(CDBaseQuery*)FindWindow(NULL,"员工出差信息查询");
	m_sID=ParentWnd->m_Grid.GetItemText(ParentWnd->m_Grid.GetRow(),0);
	RxRecordset rs,ts;
	rs.Open("部门视图");
    m_ComDept.SetRecordset(rs,"部门名称");
	m_Comstaffdep.SetRecordset(rs,"部门名称");
	ts.Open("select 部门名称 from 部门视图");
	m_ComDept.SetFieldset(ts);
	m_Comstaffdep.SetFieldset(ts);
	m_Comstaffdep.SelectString(0,"所有部门");

	this->m_ComDept.m_CurrentFieldType="字符型";	
	m_ComCla.SelectString(0,"已报销");

	m_Sql_Grid.ReadOnly(true);
	m_Sql_Grid.SetDataBase("员工查询视图",adCmdTable);
	this->Display(m_sID);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDEvect::Clear()
{
	m_EdtID.SetWindowText("");
//	m_ComDept.SetWindowText("");
	m_EdtCouse.SetWindowText("");
	m_EdtName.SetWindowText("");
	m_EdtPlace.SetWindowText("");
	m_EdtMan.SetWindowText("");
	m_EdtRemark.SetWindowText("");
	m_EdtCharge.SetWindowText("");

}

void CDEvect::Enabled(bool bEnabled)
{
	m_EdtstaffID.EnableWindow(bEnabled);
	m_Edtstaffname.EnableWindow(bEnabled);
	m_Comstaffdep.EnableWindow(bEnabled);
	m_Sql_Grid.EnableWindow(bEnabled);
	m_EdtRemark.EnableWindow(bEnabled);
	m_EdtName.EnableWindow(bEnabled);
	m_EdtID.EnableWindow(bEnabled);
	m_ComDept.EnableWindow(bEnabled);
    m_EdtPlace.EnableWindow(bEnabled);
	m_EdtMan.EnableWindow(bEnabled);
    m_EdtCharge.EnableWindow(bEnabled);
	m_EdtCouse.EnableWindow(bEnabled);
	m_DatSta.EnableWindow(bEnabled);
	m_DatEnd.EnableWindow(bEnabled);
	m_ComCla.EnableWindow(bEnabled);
	m_ButUndo.EnableWindow(bEnabled);
	m_ButSave.EnableWindow(bEnabled);
	m_ButExit.EnableWindow(!bEnabled);
	m_ButDele.EnableWindow(!bEnabled);
	m_ButChange.EnableWindow(!bEnabled);
	m_ButAdd.EnableWindow(!bEnabled);

}

void CDEvect::Display(CString sID)
{
	if(sID.IsEmpty())
		return;
	CString sSQL;
	RxRecordset drst;
	sSQL.Format("SELECT * FROM 员工出差视图 WHERE 出差编号='%s'",sID);
	drst.Open(sSQL,adCmdText);
	if(drst.GetRecordCount()<1)
		return;
	CString sName,sSID,sDep,sSta,sCouse,sEnd,sPlace,sCla,sCharge,sMan,sRemark;
	sName=drst.GetFieldValue("员工姓名");
	sSID=drst.GetFieldValue("员工编号");
	sDep=drst.GetFieldValue("部门");
	sCouse=drst.GetFieldValue("出差事由");
	sPlace=drst.GetFieldValue("出差地点");
	sCla=drst.GetFieldValue("报销");
	sCharge=drst.GetFieldValue("出差费用");

	CTime cSta,cEnd; 
	sSta=drst.GetFieldValue("起始日期");
	cSta=CStringTOCTime(sSta);
	sEnd=drst.GetFieldValue("结束日期");
	cEnd=CStringTOCTime(sEnd);

	sMan=drst.GetFieldValue("批准人");
	sRemark=drst.GetFieldValue("备注");

	m_EdtEveID.SetWindowText(sID);
	m_EdtID.SetWindowText(sSID);
	m_EdtName.SetWindowText(sName);
	m_ComDept.SetWindowText(sDep);
	m_EdtCouse.SetWindowText(sCouse);
	m_EdtMan.SetWindowText(sMan);
	m_EdtPlace.SetWindowText(sPlace);
	m_EdtCharge.SetWindowText(sCharge);
	m_EdtRemark.SetWindowText(sRemark);
	m_ComCla.SetWindowText(sCla);

	this->m_DatSta.SetTime(&cSta);
	this->m_DatEnd.SetTime(&cEnd);

	m_EdtEveID.SetColour(RGB(0,0,0));//设置编辑框边框颜色
	m_EdtID.SetColour(RGB(0,0,0));
	m_EdtName.SetColour(RGB(0,0,0));
//	m_EdtDep.SetColour(RGB(0,0,0));
	m_EdtCouse.SetColour(RGB(0,0,0));
	m_EdtMan.SetColour(RGB(0,0,0));
	m_EdtPlace.SetColour(RGB(0,0,0));
	m_EdtCharge.SetColour(RGB(0,0,0));
	m_EdtRemark.SetColour(RGB(0,0,0));

}

void CDEvect::OnButadd() 
{
	// TODO: Add your control notification handler code here
	AddOrChange=1;
	this->Enabled(true);
	this->Clear();
	CString NewID=ado.AutoNumber("EvectInfo","Evect_ID","EV",3);//EV为英文字母出差的头字母
	m_EdtEveID.SetWindowText(NewID);
	m_EdtID.SetFocus();
}

void CDEvect::OnButchange1() 
{
	// TODO: Add your control notification handler code here
	AddOrChange=2;
	this->Enabled(true);
	m_EdtID.SetFocus();
}

void CDEvect::OnButdele() 
{
	// TODO: Add your control notification handler code here
	if(MessageBox("确定要删除此条记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	CString sSQL;
	sSQL.Format("DELETE FROM EvectInfo WHERE Evect_ID='%s'",m_sID);
	RxRecordset Drst;
	Drst.Open(sSQL,adCmdText);
	this->OnCancel();
}

void CDEvect::OnButsave() 
{
	// TODO: Add your control notification handler code here
		if(MessageBox("确定要保存记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
    CString sSQL,sID,sName,sSID,sDep,sSta,sCouse,sEnd,sPlace,sCla,sCharge,sMan,sRemark;
	m_EdtEveID.GetWindowText(sID);
	m_EdtID.GetWindowText(sSID);
	m_EdtName.GetWindowText(sName);
	m_EdtCouse.GetWindowText(sCouse);
	m_ComDept.GetWindowText(sDep);
	m_EdtMan.GetWindowText(sMan);
	m_EdtPlace.GetWindowText(sPlace);
	m_EdtCharge.GetWindowText(sCharge);
	m_EdtRemark.GetWindowText(sRemark);
	m_ComCla.GetWindowText(sCla);

	CTime cSta,cEnd; 
	m_DatSta.GetTime(cSta);
	sSta=CTimeToCString(cSta);

	m_DatEnd.GetTime(cEnd);
	sEnd=CTimeToCString(cEnd);


	if(sSID.IsEmpty())
	{
		MessageBox("员工编号不能为空,请输入员工编号。","系统提示",MB_OKCANCEL|MB_ICONQUESTION!=1);
		m_EdtID.SetFocus();
		return;
	}
	if(sName.IsEmpty())
	{

⌨️ 快捷键说明

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