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

📄 projectmanageview.cpp

📁 主要用在管理系统,一个工程维护管理用vc++ 8.0 accesss数据库
💻 CPP
📖 第 1 页 / 共 2 页
字号:
{

    CString Ssql,Name,curID;
	try
	{
		CString sql;
		int numline=0;
		m_oListmateriel.DeleteAllItems();
		this->m_Storage.OpenSql("ProjectTab","ProjectTab.ProjectID, ProjectTab.ProjectName, RegionTree.mod_name, ProjectTab.UserName, ProjectTab.DateTime, ProjectTab.EmpTabID, ProjectTab.CDataTime, ProjectTab.ServiceReason, ProjectTab.ServiceContent, ProjectTab.ServiceResult, ProjectTab.Desc","ProjectTab INNER JOIN RegionTree ON ProjectTab.Mod_ID = RegionTree.mod_id  "+sSql+"");
		if(!this->m_Storage.IsEof())
		{
			LV_ITEM lvitem;
			lvitem.pszText="";
			lvitem.mask=LVIF_TEXT;
			lvitem.iSubItem=0;
			this->m_Storage.MoveFirst();
			CString name;
			int nColumnCount=m_oListmateriel.GetHeaderCtrl()->GetItemCount();
			while(!this->m_Storage.IsEof())
			{
				lvitem.iItem=numline;
				m_oListmateriel.InsertItem(&lvitem);
				for(int i=0;i<nColumnCount;i++)
				{
					this->m_Storage.GetFieldValue(i,name);
					m_oListmateriel.SetItemText(numline,i,(LPCTSTR)(_bstr_t)name);
				}

				numline++;
				this->m_Storage.MoveNext();
			}
		}
		CString temp;
		temp.Format("共有%d条记录",numline);
		SetWindowText(temp);
	}
	catch(_com_error e)
	{
		 CString errormessage;
		 MessageBox("读取类别子树出错!");
	}
}
void CProjectManageView::LoadListViewData()
{
	CString sql;
	int numline=0;
	m_oListmateriel.DeleteAllItems();
	this->m_Storage.OpenSql("ProjectTab","ProjectTab.ProjectID, ProjectTab.ProjectName, RegionTree.mod_name, ProjectTab.UserName, ProjectTab.DateTime, ProjectTab.EmpTabID, ProjectTab.CDataTime, ProjectTab.ServiceReason, ProjectTab.ServiceContent, ProjectTab.ServiceResult, ProjectTab.Desc","ProjectTab INNER JOIN RegionTree ON ProjectTab.Mod_ID = RegionTree.mod_id");
	if(!this->m_Storage.IsEof())
	{
		LV_ITEM lvitem;
		lvitem.pszText="";
		lvitem.mask=LVIF_TEXT;
		lvitem.iSubItem=0;
		this->m_Storage.MoveFirst();
		CString name;
		int nColumnCount=m_oListmateriel.GetHeaderCtrl()->GetItemCount();
		while(!this->m_Storage.IsEof())
		{
            lvitem.iItem=numline;
			m_oListmateriel.InsertItem(&lvitem);
			for(int i=0;i<nColumnCount;i++)
			{
				this->m_Storage.GetFieldValue(i,name);
				m_oListmateriel.SetItemText(numline,i,(LPCTSTR)(_bstr_t)name);
			}

			numline++;
			this->m_Storage.MoveNext();
		}
	}
	CString temp;
	temp.Format("共有%d条记录",numline);
	SetWindowText(temp);
	
}

CString CProjectManageView::VariantToCString(VARIANT var)
{
	CString strValue;
	_variant_t var_t;
	_bstr_t bst_t;
	time_t cur_time;
	CTime time_value;
	COleCurrency var_currency;
	switch(var.vt)
	{
	case VT_EMPTY:strValue=_T("");break;
	case VT_UI1:strValue.Format ("%d",var.bVal);break;
	case VT_I2:strValue.Format ("%d",var.iVal );break;
	case VT_I4:strValue.Format ("%d",var.lVal);break;
	case VT_R4:strValue.Format ("%f",var.fltVal);break;
	case VT_R8:strValue.Format ("%f",var.dblVal);break;
	case VT_CY:
		var_currency=var;
		strValue=var_currency.Format(0);
		break;
	case VT_BSTR:
		var_t=var;
		bst_t=var_t;
		strValue.Format ("%s",(const char*)bst_t);
		break;
	case VT_NULL:strValue=_T("");break;
	case VT_DATE:
		cur_time=var.date;
		time_value=cur_time;
		strValue=time_value.Format("%A,%B%d,%Y");
		break;
	case VT_BOOL:strValue.Format ("%d",var.boolVal );break;
	default:strValue=_T("");break;
	}
	return strValue;
}
void CProjectManageView::OnWriteexcel(CString spath)
{
	if(theApp.SQL=="")
	{
         MessageBox("请选择要导出的数据!");
	}
	else
	{
		CSpreadSheet SS(spath+"\\基本信息表.xls", "基本信息");

		CStringArray sampleArray, testRow;
		
		SS.BeginTransaction();
		
		// 加入标题
		sampleArray.RemoveAll();
		sampleArray.Add("项目");
		sampleArray.Add("区域");
		sampleArray.Add("客户");
		sampleArray.Add("日期");
		sampleArray.Add("参与人员");
		//sampleArray.Add("日期");
		sampleArray.Add("售后代维原因");
		sampleArray.Add("售后代维内容");
		sampleArray.Add("售后代维结果");
		sampleArray.Add("备注");

		SS.AddHeaders(sampleArray);
		
		// 加入数据
	  /*CString strName[] = {""};
		CString strAge[]  = {""};
		for(int i = 0; i < sizeof(strName)/sizeof(CString); i++)
		{
			sampleArray.RemoveAll();
			sampleArray.Add(strName[i]);
			sampleArray.Add(strAge[i]);
			SS.AddRow(sampleArray);
		}*/
		CString name;
		this->m_Storage.OpenSql("ProjectTab"," ProjectTab.ProjectName, RegionTree.mod_name, ProjectTab.UserName, ProjectTab.DateTime, ProjectTab.EmpTabID, ProjectTab.ServiceReason, ProjectTab.ServiceContent, ProjectTab.ServiceResult, ProjectTab.Desc","ProjectTab INNER JOIN RegionTree ON ProjectTab.Mod_ID = RegionTree.mod_id  "+theApp.SQL+"");
		if(!this->m_Storage.IsEof())
		{
			
			this->m_Storage.MoveFirst();
			while(!this->m_Storage.IsEof())
			{
			    sampleArray.RemoveAll();
                for(int i=0;i<(int)SS.GetTotalColumns();i++)
				{
				     this->m_Storage.GetFieldValue(i,name);
                     sampleArray.Add(name);
			        				 
				}
				 SS.AddRow(sampleArray);
				this->m_Storage.MoveNext();
			}
		}
		
		// 初始化测试行数据,进行添加、插入及替换数据操作演示
		///*for (int k = 1; k <= 2; k++)
		//{
		//	testRow.Add("Test");
		//}*/
		
		//SS.AddRow(testRow);				// 添加到尾部
		//SS.AddRow(testRow, 2);			// 插入新行到第二行
		//SS.AddRow(testRow, 6, true);	// 替换原第四行来新的内容
		this->m_Storage.Close();
		SS.Commit();	
		
		//if(m_Check.GetCheck())
		//	SS.Convert(";");            // 将原Excel文件转换为用分号分隔的文本,并另存为同名文本文件


		//导出车辆
		CSpreadSheet SScar(spath+"\\基本信息表.xls", "车辆信息");

		CStringArray carArray, carRow;
		
		SScar.BeginTransaction();
		
		// 加入标题

		carArray.RemoveAll();
		carArray.Add("项目ID");
		carArray.Add("项目");
		carArray.Add("日期");
		carArray.Add("里程");
		carArray.Add("车号");
		carArray.Add("司机");

		SScar.AddHeaders(carArray);
		

		CString carname;
		this->m_Storage.OpenSql("ProjectTab"," ProjectTab.ProjectID,ProjectTab.ProjectName, CarCost.SDateTime, CarCost.Milemeter, CarCost.VehicleCode, CarCost.Chauffeur","INNER JOIN CarCost ON ProjectTab.ProjectID = CarCost.ProjID  "+theApp.SQL+"");
		if(!this->m_Storage.IsEof())
		{
			
			this->m_Storage.MoveFirst();
			while(!this->m_Storage.IsEof())
			{
			    carArray.RemoveAll();
                for(int i=0;i<(int)SScar.GetTotalColumns();i++)
				{
				     this->m_Storage.GetFieldValue(i,carname);
                     carArray.Add(carname);
			        				 
				}
				 SScar.AddRow(carArray);
				this->m_Storage.MoveNext();
			}
		}

		this->m_Storage.Close();
		SScar.Commit();	


	    CSpreadSheet SSperson(spath+"\\基本信息表.xls", "人力成本");

		CStringArray personArray, personRow;
		
		SSperson.BeginTransaction();
		
		// 加入标题

		personArray.RemoveAll();

		personArray.Add("项目ID");
		personArray.Add("项目");
		personArray.Add("人员数量");
		personArray.Add("费用");
		personArray.Add("其他费用");
		personArray.Add("经历时间");

		SSperson.AddHeaders(personArray);
		

		CString personname;
		this->m_Storage.OpenSql("ProjectTab"," ProjectTab.ProjectID,ProjectTab.ProjectName, ManPowerCost.EmpNumber, ManPowerCost.SubsidyCost, ManPowerCost.OtherCost, ManPowerCost.ServiceDatetime","INNER JOIN ManPowerCost ON ProjectTab.ProjectID = ManPowerCost.ProjID  "+theApp.SQL+"");
		if(!this->m_Storage.IsEof())
		{
			
			this->m_Storage.MoveFirst();
			while(!this->m_Storage.IsEof())
			{
			    personArray.RemoveAll();
                for(int i=0;i<(int)SSperson.GetTotalColumns();i++)
				{
				     this->m_Storage.GetFieldValue(i,personname);
                     personArray.Add(personname);
			        				 
				}
				 SSperson.AddRow(personArray);
				this->m_Storage.MoveNext();
			}
		}

		this->m_Storage.Close();
		SSperson.Commit();	


	    CSpreadSheet SSstuff(spath+"\\基本信息表.xls", "物料信息");
		CStringArray stuffArray, stuffRow;		
		SSstuff.BeginTransaction();
		
		// 加入标题

		stuffArray.RemoveAll();

		stuffArray.Add("项目ID");
		stuffArray.Add("项目");
		stuffArray.Add("客户类型");
		stuffArray.Add("区域");
		stuffArray.Add("站点名称");
		stuffArray.Add("物料名称");
        stuffArray.Add("规格");
		stuffArray.Add("存料编码");
		stuffArray.Add("单位");
		stuffArray.Add("数量");
		stuffArray.Add("单价");
		stuffArray.Add("总价格");
		stuffArray.Add("描述");

		SSstuff.AddHeaders(stuffArray);
		

		CString stuffname;
		this->m_Storage.OpenSql("RegionTree"," ProjectTab.ProjectID,ProjectTab.ProjectName, ProjectTab.UserName, RegionTree.mod_name,StuffBill.omtname, StuffBill.StuffName, StuffBill.SpecModel,StuffBill.StoresCode,StuffBill.Uint, StuffBill.Stuffnum, StuffBill.StuffCost,StuffBill.TotalCost,StuffBill.StuffDesc"," INNER JOIN (ProjectTab INNER JOIN StuffBill ON ProjectTab.ProjectID = StuffBill.ProjID) ON RegionTree.mod_id = ProjectTab.Mod_ID" +theApp.SQL+"");
		if(!this->m_Storage.IsEof())
		{
			
			this->m_Storage.MoveFirst();
			while(!this->m_Storage.IsEof())
			{
			    stuffArray.RemoveAll();
                for(int i=0;i<(int)SSstuff.GetTotalColumns();i++)
				{
				     this->m_Storage.GetFieldValue(i,stuffname);
                     stuffArray.Add(stuffname);
			        				 
				}
				 SSstuff.AddRow(stuffArray);
				this->m_Storage.MoveNext();
			}
		}

		this->m_Storage.Close();
		SSstuff.Commit();	

		AfxMessageBox("文件写入成功!文件存入"+spath+"目录");
	}
}

⌨️ 快捷键说明

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