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

📄 promanegemode.cpp

📁 用Visual C++ 开发的项目管理系统
💻 CPP
字号:
// ProManegeMode.cpp : implementation file
//

#include "stdafx.h"
#include "FileMaSys.h"
#include "ProManegeMode.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CFileMaSysApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CProManegeMode dialog


CProManegeMode::CProManegeMode(CWnd* pParent /*=NULL*/)
	: CDialog(CProManegeMode::IDD, pParent)
{
	//{{AFX_DATA_INIT(CProManegeMode)
	m_ManMode = 0;
	//}}AFX_DATA_INIT
}


void CProManegeMode::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CProManegeMode)
	DDX_Radio(pDX, IDC_RADIO_ADD, m_ManMode);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CProManegeMode, CDialog)
	//{{AFX_MSG_MAP(CProManegeMode)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CProManegeMode message handlers

void CProManegeMode::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);
	switch(m_ManMode)
	{
	case 0:
		{
		    CAddSheet sheet("添加项目");
		    sheet.SetWizardMode();
		    if (sheet.DoModal()==ID_WIZFINISH)
			{
				CString sql1,sql2,sql3,sql4,InTime;
				int i,count;
				//////////////////////////////////////////////////////////////////////////
				//操作项目信息
				sql1="Select * From  ProjectInfo";
				m_RecordProInfo.CreateInstance("ADODB.Recordset");
				
				m_RecordProInfo->Open((_variant_t)sql1,_variant_t((IDispatch *)theApp.m_pConnection,true),
					adOpenDynamic,adLockPessimistic,adCmdText);
				m_RecordProInfo->AddNew();
				m_RecordProInfo->PutCollect("ProjectID",_variant_t((sheet.m_addPage1).m_ProID));
				m_RecordProInfo->PutCollect("ProjectName",_variant_t(sheet.m_addPage1.m_ProName));
				m_RecordProInfo->PutCollect("ProjectLoc",_variant_t(sheet.m_addPage1.m_ProLoc));
				COleDateTime now=COleDateTime::GetCurrentTime();
				m_RecordProInfo->PutCollect("ProjectTime",_variant_t((DATE)now));
				m_RecordProInfo->PutCollect("ProjectRemark",_variant_t(sheet.m_addPage1.m_ProRemark));
				m_RecordProInfo->Update();
				m_RecordProInfo->Close();
				//操作项目电子文件存档信息
				sql2="Select * From  FileElectron";
				m_RecordEFile.CreateInstance("ADODB.Recordset");
				
				m_RecordEFile->Open((_variant_t)sql2,_variant_t((IDispatch *)theApp.m_pConnection,true),
					adOpenDynamic,adLockPessimistic,adCmdText);
				CPtrArray &pArray=sheet.m_addPage2.m_eFileArray;
				count=pArray.GetSize();
				
				for (i=0;i<count;i++)
				{
					m_RecordEFile->AddNew();
					m_RecordEFile->PutCollect("FileID",_variant_t(((EFILEHEADER *)pArray[i])->eFileID));
					m_RecordEFile->PutCollect("FileName",_variant_t(((EFILEHEADER *)pArray[i])->eFileName));
				    m_RecordEFile->PutCollect("ProjectName",_variant_t(sheet.m_addPage1.m_ProName));
					m_RecordEFile->PutCollect("FileType",_variant_t(((EFILEHEADER *)pArray[i])->eFileType));
				    m_RecordEFile->PutCollect("FileLoc",_variant_t(((EFILEHEADER *)pArray[i])->eFileLoc));
					m_RecordEFile->PutCollect("FileLayer",_variant_t((long)((EFILEHEADER *)pArray[i])->eFileLevel));
					m_RecordEFile->PutCollect("ModifyTime",_variant_t((DATE)now));
				    m_RecordEFile->PutCollect("FileOwner",_variant_t(((EFILEHEADER *)pArray[i])->eFileOwner));
					m_RecordEFile->Update();
				}
				
				pArray.RemoveAll();
				m_RecordEFile->Close();
				//操作项目文件存档信息
                sql3="Select * From  FileTable";
				m_RecordFile.CreateInstance("ADODB.Recordset");
				
				m_RecordFile->Open((_variant_t)sql3,_variant_t((IDispatch *)theApp.m_pConnection,true),
					adOpenDynamic,adLockPessimistic,adCmdText);
				CPtrArray &pArray1=sheet.m_addPage3.m_FileArray;
				count=pArray1.GetSize();
				
				for (i=0;i<count;i++)
				{
					m_RecordFile->AddNew();
					m_RecordFile->PutCollect("FileID",_variant_t(((FILEHEADER *)pArray1[i])->FileID));
					m_RecordFile->PutCollect("FileName",_variant_t(((FILEHEADER *)pArray1[i])->FileName));
					m_RecordFile->PutCollect("ProjectName",_variant_t(sheet.m_addPage1.m_ProName));
					m_RecordFile->PutCollect("FileCount",_variant_t((long)((FILEHEADER *)pArray1[i])->FileCount));
					m_RecordFile->PutCollect("LendCount",_variant_t((long)((FILEHEADER *)pArray1[i])->FileCount));
					m_RecordFile->PutCollect("FileRemark",_variant_t(((FILEHEADER *)pArray1[i])->FileRemark));
					m_RecordFile->Update();
				}
				
				pArray1.RemoveAll();	
				m_RecordFile->Close();
				
				
				//项目开发人员存档
                sql4="Select * From  ProjectDesigner";
				m_RecordName.CreateInstance("ADODB.Recordset");
				
				m_RecordName->Open((_variant_t)sql4,_variant_t((IDispatch *)theApp.m_pConnection,true),
					adOpenDynamic,adLockPessimistic,adCmdText);
				CPtrArray &pArray2=sheet.m_addPage4.m_NameArray;
				count=pArray2.GetSize();
				
				for (i=0;i<count;i++)
				{
					m_RecordName->AddNew();
					m_RecordName->PutCollect("ProjectName",_variant_t(sheet.m_addPage1.m_ProName));
					m_RecordName->PutCollect("Designer",_variant_t(((WORKERHEADER *)pArray2[i])->Worker));
					m_RecordName->PutCollect("Function",_variant_t(((WORKERHEADER *)pArray2[i])->WorkFunction));
					m_RecordName->Update();
				}
				
				pArray2.RemoveAll();
				m_RecordName->Close();
			}
		}
		break;
	case 1:
		//修改项目信息
		{
			CModifySheet  sheet("修改项目");
			sheet.SetWizardMode();
			if (sheet.DoModal()==ID_WIZFINISH)
			{
			}
		}
		break;
	case 2:
		//删除已存在的项目
		{
            CProDelDlg dlg;
			if (dlg.DoModal()==IDOK)
			{
				if (::MessageBox(dlg.m_hWnd,"删除项目将删除项目所有相关信息,确定要继续吗","删除项目",MB_OKCANCEL)==IDOK)
				{
					CString sql1,sql2,sql3,sql4;
					//删除此工程的所有相关人员记录
					_variant_t ra;
					_ConnectionPtr &con=theApp.m_pConnection;
					m_cProName=dlg.m_cProName;
					sql4="Delete From ProjectDesigner Where ProjectName='"+m_cProName+"'";
					sql3="Delete From FileTable Where ProjectName= '"+m_cProName+"'";
					sql2="Delete From FileElectron Where ProjectName= '"+m_cProName+"' ";
					sql1="Delete From ProjectInfo  Where ProjectName= '"+m_cProName+"'";
					con->Execute((_bstr_t)sql4,&ra,adCmdText);
					//删除此工程的所有档案文件记录
					
                    con->Execute((_bstr_t)sql3,&ra,adCmdText);
					//删除此工程的所有电子文档记录
					con->Execute((_bstr_t)sql2,&ra,adCmdText);
					//删除此工程信息
					con->Execute((_bstr_t)sql1,&ra,adCmdText);
				}
			}
		}
	    break;
	default:
	    break;
	}
	CDialog::OnOK();
}

⌨️ 快捷键说明

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