📄 projectmanageview.cpp
字号:
{
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 + -