📄 baseinfo.cpp
字号:
// BaseInfo.cpp : 实现文件
//
#include "stdafx.h"
#include "ProjectManage.h"
#include "BaseInfo.h"
#include "empselect.h"
#include "user.h"
// CBaseInfo 对话框
IMPLEMENT_DYNAMIC(CBaseInfo, CDialog)
CBaseInfo::CBaseInfo(CWnd* pParent /*=NULL*/)
: CDialog(CBaseInfo::IDD, pParent)
{
}
CBaseInfo::~CBaseInfo()
{
}
void CBaseInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO2, pComb);
DDX_Control(pDX, IDC_COMBO3, mComb);
DDX_CBIndex(pDX, IDC_COMBO2, m_nDropListIndex);
DDX_Control(pDX,IDC_COMBO5,RegionComb);
DDX_Control(pDX,IDC_COMBO4,AreaComb);
DDX_CBIndex(pDX, IDC_COMBO5, m_RegionIndex);
DDX_CBIndex(pDX,IDC_COMBO4,m_EndIndex);
//DDX_Control(pDX, IDC_STATIC, m_wndPlaceholder);
}
BEGIN_MESSAGE_MAP(CBaseInfo, CDialog)
ON_BN_CLICKED(IDC_BUTTON4, &CBaseInfo::OnBnClickedButton4)
ON_BN_CLICKED(IDC_BUTTON1, &CBaseInfo::OnBntAddBasicInfo)
ON_CBN_SELCHANGE(IDC_COMBO2, &CBaseInfo::OnCbnSelchangeCombo2)
ON_CBN_SELCHANGE(IDC_COMBO5, &CBaseInfo::OnCbnSelchangeCombo5)
ON_CBN_SELCHANGE(IDC_COMBO4, &CBaseInfo::OnCbnSelchangeCombo4)
ON_WM_SIZE()
ON_BN_CLICKED(IDC_BUTTON5, &CBaseInfo::OnBntModity)
ON_BN_CLICKED(IDC_BUTTON2, &CBaseInfo::OnBntDelete)
ON_BN_CLICKED(IDC_BUTTON6, &CBaseInfo::OnBntExport)
END_MESSAGE_MAP()
// CBaseInfo 消息处理程序
void CBaseInfo::OnBnClickedButton4()
{
// TODO: 在此添加控件通知处理程序代码
CString NameList;
CEmpSelect frm;
int j=0;
if(frm.DoModal()==IDOK)
{
for(int i=0;i<frm.m_NameList.GetCount();i++)
{
/*NameList=frm.m_NameList[i];
NameList+=",";*/
}
POSITION p=frm.m_NameList.GetHeadPosition();
while(p)
{
NameList+=frm.m_NameList.GetNext(p);
if(j<frm.m_NameList.GetCount()-1)
{
NameList+=",";
}
j++;
}
CEdit* cEdit=(CEdit*)this->GetDlgItem(IDC_EDIT3);
cEdit->SetWindowTextA(NameList);
}
}
void CBaseInfo::OnBntAddBasicInfo()
{
// TODO: 在此添加控件通知处理程序代码
CString sql;
int pID;
CProjectManageApp* app=(CProjectManageApp*)AfxGetApp();
CProjectManageView* pView=app->GetMyView();
CString CustName,OmtName,RegionName,AreaID,ProviceID,SalesDate,cDataTime,SalesPerson,ServiceReson,ServiceConcent,ServiceResult,ServiceDesc;
CComboBox* pCustbox=(CComboBox*) this->GetDlgItem(IDC_COMBO1);
pCustbox->GetWindowTextA(CustName);
CEdit* txtOmeName=(CEdit*) this->GetDlgItem(IDC_EDIT1);
txtOmeName->GetWindowTextA(OmtName);
CComboBox* pRegBox=(CComboBox*) this->GetDlgItem(IDC_COMBO3);
pRegBox->GetWindowTextA(RegionName);
CComboBox* pAreaBox=(CComboBox*) this->GetDlgItem(IDC_COMBO5);
pAreaBox->GetWindowTextA(AreaID);
CComboBox* pProviceBox=(CComboBox*) this->GetDlgItem(IDC_COMBO2);
pProviceBox->GetWindowTextA(ProviceID);
CEdit* txtSalesDate=(CEdit*) this->GetDlgItem(IDC_DATETIMEPICKER1);
txtSalesDate->GetWindowTextA(SalesDate);
CEdit* txtDataTime=(CEdit*) this->GetDlgItem(IDC_DATETIMEPICKER2);
txtDataTime->GetWindowTextA(cDataTime);
CEdit* txtSalesPerson=(CEdit*) this->GetDlgItem(IDC_EDIT3);
txtSalesPerson->GetWindowTextA(SalesPerson);
CEdit* txtServiceReson=(CEdit*) this->GetDlgItem(IDC_EDIT4);
txtServiceReson->GetWindowTextA(ServiceReson);
CEdit* txtServiceConcent=(CEdit*) this->GetDlgItem(IDC_EDIT5);
txtServiceConcent->GetWindowTextA(ServiceConcent);
CEdit* txtServiceResult=(CEdit*) this->GetDlgItem(IDC_EDIT6);
txtServiceResult->GetWindowTextA(ServiceResult);
CEdit* txtServiceDesc=(CEdit*) this->GetDlgItem(IDC_EDIT7);
txtSalesPerson->GetWindowTextA(ServiceDesc);
pID=GenNewID();
sql="insert into ProjectTab(mod_id,UserName,ProjectName,[DateTime],CDataTime,EmpTabID,ServiceReason,ServiceContent,ServiceResult,[desc])values("+RegionName+",'"+CustName+"','"+OmtName+"','"+SalesDate+"','"+cDataTime+"','"+SalesPerson+"','"+ServiceReson+"','"+ServiceConcent+"','"+ServiceResult+"','"+ServiceDesc+"')";
if(RegionName=="")
{
MessageBox("区域不能为空!");
return;
}
if(OmtName=="")
{
MessageBox("站点不能为空!");
return;
}
try
{
if(this->m_Storage.ExecSql(sql))
{
CString sPid;
theApp.ProjID=sPid;
theApp.ProjName=OmtName;
MessageBox("添加成功!");
pView->LoadListViewData();
}
else
{
MessageBox("添加失败!");
}
}
catch(_com_error e)
{
CString errormessage;
MessageBox("添加记录出错!");
}
}
void CBaseInfo::AddEmp(int pid,int empcount)
{
char buffer[20];
CString sql;
CString sEmpcount,sPid;
sEmpcount.Format("%d",empcount);
sEmpcount=_itoa(empcount,buffer,10);
sPid=_itoa(pid,buffer,10);
sql="insert into ManPowerCost(EmpNumber,pid)values("+sEmpcount+","+sPid+")";
this->m_Storage.ExecSql(sql);
}
BOOL CBaseInfo::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
CComboBox* tComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
tComb->AddString("中国移动");
tComb->AddString("中国联通");
tComb->AddString("北方网通");
tComb->AddString("南方电信");
tComb->SetCurSel(0);
Porivace *pv;
CString sql,Name,curID;
_RecordsetPtr m_pTRecordset;
int n_Index=0;
sql="select mod_id,mod_name from RegionTree where mod_parent=0";
try
{
m_pTRecordset.CreateInstance("ADODB.Recordset");
m_pTRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pDBCon->GetActiveConnection(),true),adOpenDynamic,adLockOptimistic,adCmdText);
m_pTRecordset->MoveFirst();
if(!m_pTRecordset->adoEOF)
{
while(!m_pTRecordset->adoEOF)
{
Name = VariantToCString(m_pTRecordset->GetCollect("mod_name"));
pComb.AddString(Name);
curID= VariantToCString(m_pTRecordset->GetCollect("mod_id"));
pv=new Porivace();
pv->PorivaceName=Name;
pv->PorivaceID=curID;
pComb.SetItemDataPtr(n_Index,pv);
mComb.AddString(curID);
n_Index++;
if (!m_pTRecordset->adoEOF)
m_pTRecordset->MoveNext();
}
}
m_pTRecordset->Close();
}
catch(_com_error e)
{
CString errormessage;
MessageBox("读取类别子树出错!");
}
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
CString CBaseInfo::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 CBaseInfo::OnCbnSelchangeCombo2()
{
UpdateData();
// TODO: 在此添加控件通知处理程序代码
CString sql,Name,curID;
_RecordsetPtr m_pTRecordset;
RegionComb.ResetContent();
AreaComb.ResetContent();
if( m_nDropListIndex < 0 ) return;
pComb.GetLBText(m_nDropListIndex,Name);
sql="select mod_id,mod_name from RegionTree where mod_name='"+Name+"'";
try
{
m_pTRecordset.CreateInstance("ADODB.Recordset");
m_pTRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pDBCon->GetActiveConnection(),true),adOpenDynamic,adLockOptimistic,adCmdText);
m_pTRecordset->MoveFirst();
Porivace* pv;
if(!m_pTRecordset->adoEOF)
{
while(!m_pTRecordset->adoEOF)
{
pv=new Porivace();
pv=(Porivace*)pComb.GetItemDataPtr(m_nDropListIndex);
curID= VariantToCString(m_pTRecordset->GetCollect("mod_id"));
mComb.SetWindowTextA(curID);
SelectRegion(curID,RegionComb);
if (!m_pTRecordset->adoEOF)
m_pTRecordset->MoveNext();
}
}
m_pTRecordset->Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -