📄 commisionview.cpp
字号:
if(m_pParameterSet->IsOpen())
m_pParameterSet->Close();
m_pParameterSet->Open(CRecordset::snapshot, strSQL);
if(m_pParameterSet->IsBOF() && m_pParameterSet->IsEOF())
{
m_bIsNewArea = TRUE;
return;
}
m_bIsNewArea = FALSE;
m_ctrlEditPreheadFee.SetWindowText(m_pParameterSet->m_prehead);
m_ctrlEdit0Fee.SetWindowText(m_pParameterSet->m_a_fee);
if(count == 1 || count == 2)
{
m_ctrlEdit1TimeFee.SetWindowText(m_pParameterSet->m_b_time);
m_ctrlEdit1Fee.SetWindowText(m_pParameterSet->m_b_fee);
}
if(count == 0)
{
m_ctrlEdit1TimeFee.SetWindowText(m_pParameterSet->m_b_time);
m_ctrlEdit1Fee.SetWindowText(m_pParameterSet->m_b_fee);
m_ctrlEdit2TimeFee.SetWindowText(m_pParameterSet->m_c_time);
m_ctrlEdit2Fee.SetWindowText(m_pParameterSet->m_c_fee);
m_ctrlEdit3TimeFee.SetWindowText(m_pParameterSet->m_d_time);
m_ctrlEdit3Fee.SetWindowText(m_pParameterSet->m_d_fee);
}
}
void CCommisionView::OnButtonAddFee()
{
// TODO: Add your control notification handler code here
CString EditPrehead, Edit0,Edit1Time,Edit1,Edit2Time,Edit2,Edit3Time,Edit3;
int count;
CString item;
count = m_ctrlComboFee.GetCurSel();
item.Format("%d",count);
m_ctrlEditPreheadFee.GetWindowText(EditPrehead);
m_ctrlEdit0Fee.GetWindowText(Edit0);
m_ctrlEdit1TimeFee.GetWindowText(Edit1Time);
m_ctrlEdit1Fee.GetWindowText(Edit1);
m_ctrlEdit2TimeFee.GetWindowText(Edit2Time);
m_ctrlEdit2Fee.GetWindowText(Edit2);
m_ctrlEdit3TimeFee.GetWindowText(Edit3Time);
m_ctrlEdit3Fee.GetWindowText(Edit3);
if(count == 0)
{
if(/*Edit0.IsEmpty() || Edit1Time.IsEmpty() || Edit1.IsEmpty() || Edit2Time.IsEmpty() || Edit2.IsEmpty() || */Edit3Time.IsEmpty())// || Edit3.IsEmpty())
{
MessageBox("请填写完全");
return;
}
}
else// if(count == 3)
{
if(EditPrehead.IsEmpty())// || Edit0.IsEmpty())
{
MessageBox("请填写完全");
return;
}
}
/* else
{
if(EditPrehead.IsEmpty() || Edit0.IsEmpty() || Edit1Time.IsEmpty() || Edit1.IsEmpty())
{
MessageBox("请填写完全");
return;
}
}
*/
if(m_bIsNewArea)
{
m_pParameterSet->AddNew();
m_pParameterSet->m_item = item;
}
else
m_pParameterSet->Edit( );
if(count != 0)
m_pParameterSet->m_prehead = EditPrehead;
/* m_pParameterSet->m_a_fee = Edit0;
if(count == 1 || count == 2)
{
m_pParameterSet->m_b_fee = Edit1;
m_pParameterSet->m_b_time = Edit1Time;
}
if(count == 0)*/
else
{
/* m_pParameterSet->m_b_fee = Edit1;
m_pParameterSet->m_b_time = Edit1Time;
m_pParameterSet->m_c_fee = Edit2;
m_pParameterSet->m_c_time = Edit2Time;
m_pParameterSet->m_d_fee = Edit3;
*/ m_pParameterSet->m_d_time = Edit3Time;
}
m_pParameterSet->Update( );
}
void CCommisionView::OnButtonDelFee()
{
// TODO: Add your control notification handler code here
int count;
count = m_ctrlComboFee.GetCurSel();
if(count < 0)
{
MessageBox("请选择地区");
return;
}
int i = MessageBox("确认删除", "确认删除", MB_OKCANCEL);
if(i != IDOK)
return;
CString strSQL;
strSQL.Format("delete FROM [parameter] WHERE [item] = '%d'", count);
if(m_pParameterSet->IsOpen())
m_pParameterSet->Close();
m_pParameterSet->m_pDatabase->ExecuteSQL(strSQL);
m_ctrlEditPreheadFee.SetWindowText("");
m_ctrlEdit0Fee.SetWindowText("");
m_ctrlEdit1TimeFee.SetWindowText("");
m_ctrlEdit1Fee.SetWindowText("");
m_ctrlEdit2TimeFee.SetWindowText("");
m_ctrlEdit2Fee.SetWindowText("");
m_ctrlEdit3TimeFee.SetWindowText("");
m_ctrlEdit3Fee.SetWindowText("");
m_ctrlComboFee.SetWindowText("");
}
void CCommisionView::MoveDoDir()
{
m_ctrlStaticDir.MoveWindow(0,0,0,0);
m_ctrlEditDir.MoveWindow(0,0,0,0);
}
void CCommisionView::MoveDoUser()
{
m_ctrlListUser.MoveWindow(0,0,0,0);
m_ctrlStatic2User.MoveWindow(0,0,0,0);
m_ctrlStatic1User.MoveWindow(0,0,0,0);
m_ctrlEditTelUser.MoveWindow(0,0,0,0);
m_ctrlEditUser.MoveWindow(0,0,0,0);
m_ctrlButtonAddUser.MoveWindow(0,0,0,0);
m_ctrlButtonDelUser.MoveWindow(0,0,0,0);
}
void CCommisionView::MoveDoFee()
{
m_ctrlStaticPreheadFee.MoveWindow(0,0,0,0);
m_ctrlEditPreheadFee.MoveWindow(0,0,0,0);;
m_ctrlButtonDelFee.MoveWindow(0,0,0,0);
m_ctrlButtonAddFee.MoveWindow(0,0,0,0);
m_ctrlStatic7Fee.MoveWindow(0,0,0,0);
m_ctrlStatic6Fee.MoveWindow(0,0,0,0);
m_ctrlStatic5Fee.MoveWindow(0,0,0,0);
m_ctrlStatic4Fee.MoveWindow(0,0,0,0);
m_ctrlStatic3Fee.MoveWindow(0,0,0,0);
m_ctrlStatic2Fee.MoveWindow(0,0,0,0);
m_ctrlStaticFee.MoveWindow(0,0,0,0);
m_ctrlEdit3TimeFee.MoveWindow(0,0,0,0);
m_ctrlEdit3Fee.MoveWindow(0,0,0,0);
m_ctrlEdit2TimeFee.MoveWindow(0,0,0,0);
m_ctrlEdit2Fee.MoveWindow(0,0,0,0);
m_ctrlEdit1TimeFee.MoveWindow(0,0,0,0);
m_ctrlEdit1Fee.MoveWindow(0,0,0,0);
m_ctrlEdit0Fee.MoveWindow(0,0,0,0);
m_ctrlComboFee.MoveWindow(0,0,0,0);
}
void CCommisionView::translate(CString billfile)
{
telstruct teldb[100];
CString filename;
int i,j,k;
int readlen;
char temp[26];
CString readstr[2];//17911有2个字段有用
CString strFee;
CString strSQL;
int ii;
for(ii = 0; ii < 100; ii++)
{
teldb[ii].money = 0;
teldb[ii].telephone.Empty();
}
CWaitCursor cursor; // this will automatically display a wait cursor
filename = m_strCurDia + billfile;
CFile m_file(filename,CFile::modeRead);
int len = m_file.GetLength();
if(len > 1536000)
{
strFee.Format("记费文件:%s大于1500k(1536000字节),请重新处理该文件",billfile);
return;
}
readlen = m_file.Read(m_cBuf,1536000);
i = 0;
j = 0;
k = 0;
while(i <= len)
{
if(m_cBuf[j] == ',' && m_cBuf[j + 1] == '1' && m_cBuf[j + 2] == '7' && m_cBuf[j + 3] == '9' && m_cBuf[j + 4] == ',')
{
j += 5;
while(m_cBuf[j] != ',')
{
temp[k] = m_cBuf[j];
k++;
j++;
}
temp[j] = '\0';
readstr[0] = temp;
j = 0;
}
if(m_cBuf[i] == -61 && m_cBuf[i + 1] == -21 && m_cBuf[i + 2] == ',')//秒,
{
i += 3;
while(m_cBuf[i] != ',')
{
temp[j] = m_cBuf[i];
i++;
j++;
}
temp[j] = '\0';
readstr[1] = temp;
j = 0;
k = 1;
}
i++;
if(k == 1)
{
k = 0;
readstr[0].Delete(0,3);
for(ii = 0; ii < 100; ii++)
{
if(teldb[ii].telephone.IsEmpty())
{
teldb[ii].telephone = readstr[0];
strSQL.Format("SELECT * FROM [commision] WHERE [telephone] = '%s'", readstr[0]) ;
if(m_pSet->IsOpen())
m_pSet->Close();
m_pSet->Open(CRecordset::snapshot, strSQL);
if(m_pSet->IsEOF() && m_pSet->IsBOF())
{
teldb[ii].money = atof(readstr[1]);
}
else
{
teldb[ii].money = atof(m_pSet->m_money) + atof(readstr[1]);
}
break;
}
if(teldb[ii].telephone == readstr[0])
{
teldb[ii].money += atof(readstr[1]);
break;
}
}
if(ii == 100)
{
for(ii = 0; ii < 100; ii++)
{
strSQL.Format("SELECT * FROM [commision] WHERE [telephone] = '%s'", teldb[ii].telephone) ;
if(m_pSet->IsOpen())
m_pSet->Close();
m_pSet->Open(CRecordset::snapshot, strSQL);
if(m_pSet->IsEOF() && m_pSet->IsBOF())
{
m_pSet->AddNew();
m_pSet->m_telephone = teldb[ii].telephone;
}
else
{
m_pSet->Edit();
}
m_pSet->m_money.Format("%.2f",teldb[ii].money);
m_pSet->Update();
}
for(ii = 0; ii < 100; ii++)
{
teldb[ii].telephone.Empty();
}
teldb[0].telephone == readstr[0];
teldb[0].money = atof(readstr[1]);
}
}
}
}
void CCommisionView::OnStatFee()
{
// TODO: Add your command handler code here
MoveDoDir();
MoveDoFee();
MoveDoUser();
MoveDoHelp();
m_ctrlListFee.MoveWindow(120,60,400,380);
m_ctrlComboStatFee.MoveWindow(120,40,100,20);
CString strSQL;
strSQL.Format("select * FROM [username]");
if(m_pUserSet->IsOpen())
m_pUserSet->Close();
m_pUserSet->Open(CRecordset::snapshot, strSQL);
if(m_pUserSet->IsBOF() && m_pUserSet->IsEOF())
return;
int len = m_pUserSet->m_telephone.GetLength();
char temp[12];
char readstr[100][12];
//////
int i = 0;
int j = 0;
int k = 0;
while(i < len)
{
if(i < len && m_pUserSet->m_telephone.GetAt(i) >= '0' && m_pUserSet->m_telephone.GetAt(i) <= '9')
{
temp[j] = m_pUserSet->m_telephone.GetAt(i);
i++;
j++;
while(i < len && m_pUserSet->m_telephone.GetAt(i) >= '0' && m_pUserSet->m_telephone.GetAt(i) <= '9')
{
temp[j] = m_pUserSet->m_telephone.GetAt(i);
i++;
j++;
if(j >= 12)
{
AfxMessageBox("客户号码段设置有误.");
exit(0);
}
}
temp[j] = '\0';
strcpy(readstr[k], temp);
k++;
if(k >= 100)
{
AfxMessageBox("客户号码段设置不能超过100个");
exit(0);
}
j = 0;
}
i++;
}
/////
m_ctrlComboStatFee.ResetContent();
while(!m_pUserSet->IsEOF())
{
m_ctrlComboStatFee.AddString(m_pUserSet->m_username);
m_pUserSet->MoveNext();
}
m_ctrlComboStatFee.SetCurSel(0);
strSQL.Format("select * FROM [commision]");
if(m_pSet->IsOpen())
m_pSet->Close();
m_pSet->Open(CRecordset::snapshot, strSQL);
int row = 0;
double fee = 0;
m_ctrlListFee.DeleteAllItems();
while(!m_pSet->IsEOF())
{
for(i = 0; i < k; i++)
{
if(m_pSet->m_telephone.Find(readstr[i]) == 0)
{
m_ctrlListFee.InsertItem(row, m_pSet->m_telephone);
m_ctrlListFee.SetItem(row, 1, LVIF_TEXT,m_pSet->m_money, -1, 0, 0, 0);
fee += atof(m_pSet->m_money);
row++;
break;
}
}
m_pSet->MoveNext();
}
strSQL.Format("%.2f",fee);
m_ctrlListFee.InsertItem(row,"话费共计");
m_ctrlListFee.SetItem(row, 1, LVIF_TEXT,strSQL, -1, 0, 0, 0);
}
void CCommisionView::MoveDoStatFee()
{
m_ctrlComboStatFee.MoveWindow(0,0,0,0);
m_ctrlListFee.MoveWindow(0,0,0,0);
}
void CCommisionView::OnSelchangeComboStatFee()
{
// TODO: Add your control notification handler code here
CString strSQL;
CString username;
m_ctrlComboStatFee.GetWindowText(username);
strSQL.Format("select * FROM [username] where [username] = '%s'", username);
if(m_pUserSet->IsOpen())
m_pUserSet->Close();
m_pUserSet->Open(CRecordset::snapshot, strSQL);
int len = m_pUserSet->m_telephone.GetLength();
char temp[12];
char readstr[100][12];
//////
int i = 0;
int j = 0;
int k = 0;
while(i < len)
{
if(i < len && m_pUserSet->m_telephone.GetAt(i) >= '0' && m_pUserSet->m_telephone.GetAt(i) <= '9')
{
temp[j] = m_pUserSet->m_telephone.GetAt(i);
i++;
if(i >= len)
break;
j++;
while(i < len && m_pUserSet->m_telephone.GetAt(i) >= '0' && m_pUserSet->m_telephone.GetAt(i) <= '9')
{
temp[j] = m_pUserSet->m_telephone.GetAt(i);
i++;
j++;
if(j >= 12)
{
AfxMessageBox("客户号码段设置有误.");
exit(0);
}
}
temp[j] = '\0';
strcpy(readstr[k], temp);
k++;
if(k >= 100)
{
AfxMessageBox("客户号码段设置不能超过100个");
exit(0);
}
j = 0;
}
i++;
}
/////
strSQL.Format("select * FROM [commision]");
if(m_pSet->IsOpen())
m_pSet->Close();
m_pSet->Open(CRecordset::snapshot, strSQL);
int row = 0;
double fee = 0;
m_ctrlListFee.DeleteAllItems();
while(!m_pSet->IsEOF())
{
for(i = 0; i < k; i++)
{
if(m_pSet->m_telephone.Find(readstr[i]) == 0)
{
m_ctrlListFee.InsertItem(row, m_pSet->m_telephone);
m_ctrlListFee.SetItem(row, 1, LVIF_TEXT,m_pSet->m_money, -1, 0, 0, 0);
fee += atof(m_pSet->m_money);
row++;
break;
}
}
m_pSet->MoveNext();
}
strSQL.Format("%.2f",fee);
m_ctrlListFee.InsertItem(row,"话费共计");
m_ctrlListFee.SetItem(row, 1, LVIF_TEXT,strSQL, -1, 0, 0, 0);
}
void CCommisionView::OnDelStatFee()
{
// TODO: Add your control notification handler code here
OnHelp();
int i = MessageBox("确认清除", "确认清除?", MB_OKCANCEL);
if(i != IDOK)
return;
CString strSQL;
strSQL.Format("delete FROM [commision]");
m_pDaoDB->ExecuteSQL(strSQL);
}
void CCommisionView::OnHelp()
{
// TODO: Add your command handler code here
m_ctrlEdit_help.MoveWindow(30,100,500,360);
/* CRect r;
r.left = 40;
r.right = 450;
r.top = 100;
r.bottom = 260;
m_ctrlEdit_help.SetRect(&r);
*/ MoveDoDir();
MoveDoFee();
MoveDoStatFee();
MoveDoUser();
}
void CCommisionView::MoveDoHelp()
{
m_ctrlEdit_help.MoveWindow(0,0,0,0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -