// TakeMoney3.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "TakeMoney3.h" #include "InputMemberno.h" #include "UseMemberCard.h" #include "SPLBDlg.h" #include "InputMemberno.h" #include "SelPayType.h" #include "Login2.h" #include "SelExpendType.h" #include "InStock.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // TakeMoney3 dialog IDC_EDITmembermoney TakeMoney3::TakeMoney3(CWnd* pParent /*=NULL*/) : CDialog(TakeMoney3::IDD, pParent) { //{{AFX_DATA_INIT(TakeMoney3) m_money = _T(""); m_time1 = g_date; m_bz = _T(""); m_strOrderNumber = _T(""); m_name1 = _T(""); m_name2 = _T(""); m_ren2 = _T(""); m_money2 = _T(""); m_ren3 = _T(""); m_time2 = g_date; m_bz2 =_T(""); m_sum1 = _T(""); m_sum2 = _T(""); m_sum3 = _T(""); m_memberno = _T(""); m_membermoney = _T(""); m_item = _T(""); m_mode=0; m_bInit=0; m_instock = _T(""); //}}AFX_DATA_INIT } void TakeMoney3::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(TakeMoney3) DDX_Control(pDX, IDC_COMBObz, m_combobz); DDX_Control(pDX, IDC_EDIT5, m_editdate2); DDX_Control(pDX, IDC_LIST3, m_List2); DDX_Control(pDX, IDC_EDIT4, m_editctrl3); DDX_Control(pDX, IDC_LIST1, m_List1); DDX_Control(pDX, IDC_EDIT2, m_editdate1); DDX_Control(pDX, IDC_EDIT1, m_editctrl1); DDX_Control(pDX, IDC_COMBO1, m_comboren); DDX_Text(pDX, IDC_EDIT1, m_money); DDX_Text(pDX, IDC_EDIT2, m_time1); DDX_Text(pDX, IDC_EDITid, m_strOrderNumber); DDX_Text(pDX, IDC_EDITname1, m_name1); DDX_Text(pDX, IDC_EDITname2, m_name2); DDX_Text(pDX, IDC_EDITren2, m_ren2); DDX_Text(pDX, IDC_EDIT4, m_money2); DDX_Text(pDX, IDC_EDITren3, m_ren3); DDX_Text(pDX, IDC_EDIT5, m_time2); DDX_Text(pDX, IDC_EDIT6, m_bz2); DDX_Text(pDX, IDC_EDITmoney2, m_sum1); DDX_Text(pDX, IDC_EDITmoney3, m_sum2); DDX_Text(pDX, IDC_EDITmoney5, m_sum3); DDX_Text(pDX, IDC_EDITmemberno, m_memberno); DDX_Text(pDX, IDC_EDITmembermoney, m_membermoney); DDX_Text(pDX, IDC_EDITitem, m_item); DDX_Text(pDX, IDC_EDIT17, m_instock); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(TakeMoney3, CDialog) //{{AFX_MSG_MAP(TakeMoney3) ON_WM_LBUTTONDOWN() ON_BN_CLICKED(IDOK2, OnOk2) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTdel, OnBUTdel) ON_BN_CLICKED(IDC_BUTdel4, OnBUTdel4) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON12, OnButton12) ON_WM_DESTROY() ON_EN_CHANGE(IDC_EDIT4, OnChangeEdit4) ON_BN_CLICKED(IDC_BUTTON6, OnButton6) ON_EN_CHANGE(IDC_EDIT6, OnChangeEdit6) ON_NOTIFY(NM_CLICK, IDC_LIST3, OnClickList3) ON_BN_CLICKED(IDC_BUTTON13, OnButton13) ON_BN_CLICKED(IDC_BUTTON24, OnButton24) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // TakeMoney3 message handlers BOOL TakeMoney3::OnInitDialog() { CDialog::OnInitDialog(); if(IsHasRights2new(49)==0) { GetDlgItem(IDC_BUTTON13)->EnableWindow(0); } #ifdef LYFZ_VERSION ((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly (0); #else if(IsHasRights2new(49)==0)((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly (); #endif #ifdef CHILD_VERSION GetDlgItem(IDC_STATIC10)->SetWindowText("家长:"); GetDlgItem(IDC_STATIC20)->SetWindowText("宝宝:"); #endif SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); GetDlgItem(IDC_BUTdel)->EnableWindow(IsHasRights2new(49)); GetDlgItem(IDC_BUTdel4)->EnableWindow(IsHasRights2new(49)); GetDlgItem(IDC_BUTTON2)->EnableWindow(IsHasRights2new(49)); #ifndef BASIC_ADDMEMBER #ifdef BASIC_VERSION GetDlgItem(IDC_EDITmemberno)->ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTTON12)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDITmembermoney)->ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE); #endif #endif #ifdef SUNRAIN_VERSION if(m_mode==1) { m_comboren.AddString (m_ren); m_comboren.SetCurSel (0); m_comboren.EnableWindow (0); } #endif // TODO: Add extra initialization here g_sendhead.bsql=0; g_sendhead.code[0]=93; g_sendhead.code[1]=38; g_sendhead.code[2]=11; g_sendhead.code[3]=68; g_sendhead.code[4]=160; g_sendhead.code[5]=50; g_sendhead.tabcount=6; CString filter="id='"+m_strOrderNumber+"';id='"+m_strOrderNumber+"';id='"+m_strOrderNumber+"';;;id='"+m_strOrderNumber+"'"; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0)return 0; CArraydindanarray; CArraymemberarray; CArrayexpendtypearray; DataToArray( &m_List1array,&m_List2array,&dindanarray,&memberarray,&expendtypearray,&sparray); int i = 0; for( i=0; iEnableWindow(0); GetDlgItem(IDC_COMBO1)->EnableWindow(0); GetDlgItem(IDOK)->EnableWindow(0); GetDlgItem(IDC_EDIT4)->EnableWindow(0); GetDlgItem(IDC_EDIT6)->EnableWindow(0); GetDlgItem(IDOK2)->EnableWindow(0); GetDlgItem(IDC_BUTTON1)->EnableWindow(0); GetDlgItem(IDC_BUTdel)->EnableWindow(0); GetDlgItem(IDC_BUTdel4)->EnableWindow(0); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void TakeMoney3::OnOK() { // TODO: Add extra validation here UpdateData(); if(m_money.IsEmpty ()) { AfxMessageBox("资料不全!", MB_ICONINFORMATION); return; } if(m_item.IsEmpty ()) { AfxMessageBox("收款项目不能为空,请在上方加挑物品的表格中选取!", MB_ICONINFORMATION); return; } int pos; pos=m_comboren.GetCurSel(); if(pos==-1) { AfxMessageBox("资料不全!", MB_ICONINFORMATION); return; } m_comboren.GetLBText (pos, m_ren); pos=m_combobz.GetCurSel(); if(pos==-1) { AfxMessageBox("请选择正确的二销类别!", MB_ICONINFORMATION); return; } m_combobz.GetLBText (pos, m_bz); switch(pos) { case 0: m_mode=5; break; case 1: m_mode=1; break; case 2: m_mode=6; break; case 3: m_mode=2; break; } if(!CheckDateOK(m_time1))return; BOOL bexist1=0; BOOL bexist2=0; if(bexist1==0) { for(int i=0; iProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; AfxMessageBox("保存成功!", MB_ICONINFORMATION); GetData(); } else { CString sql3; BOOL g_bBranchModifyBak=g_bBranchModify; CString g_branchnameBak=g_branchname; CString g_branchipBak=g_branchip; CString curbranch; if(g_branchname!="") curbranch=g_branchname; else { curbranch=localbranch; } CString m_id2=curbranch+m_strOrderNumber; CString jdd; if(atoi(g_cominfoarray.ElementAt(0).ElementAt(115))) { SelExpendType dlg; dlg.m_mode=3; if(dlg.DoModal()==IDOK) jdd=dlg.m_sel; } CString sql,sql2; sql.Format ("insert into dindanbukuan([id],[money],[ren],[date],[bz],[ren2],[kind],[item],[paytype],[jdd],[discount],[time])values('%s','%s','%s','%s','%s','%s','%d','%s','%s','%s','%s','curtimereplace')", m_strOrderNumber,m_money ,m_ren,m_time1 ,m_bz,m_ren2,m_mode,m_item,paytype,jdd,seltype.m_discount); if(g_nYearpos!=-1) { sql.Format ("insert into dindanbukuan([autoid],[id],[money],[ren],[date],[bz],[ren2],[kind],[item],[paytype],[jdd],[discount],[time])values(%d,'%s','%s','%s','%s','%s','%s','%d','%s','%s','%s','%s','curtimereplace')", atoi(CTime::GetCurrentTime ().Format ("%Y%m%d%H%M%S")),m_strOrderNumber,m_money ,m_ren,m_time1 ,m_bz,m_ren2,m_mode,m_item,paytype,jdd,seltype.m_discount); } if(paytype=="储值卡扣款") { CString ss=m_money; CString m_money=ss; if(seltype.m_bChildMoneyCard) { sql3+="###insert into [membercard3childusereg]([memberno],[dindanid],[money],[date])values('"+seltype.m_cardno+"','"+m_id2+"','"+m_money+"','"+g_date+"')"; sql3+="###refresh balance memberreg4"+seltype.m_parentno+";"+seltype.m_cardno; } else { if(atof(seltype.m_discount)!=0.0) m_money.Format("%d", int(0.5+atof(m_money)*atof(seltype.m_discount)/10.0) ); sql3+="###insert into [membercard3usereg]([memberno],[dindanid],[money],[date])values('"+seltype.m_cardno+"','"+m_id2+"','"+m_money+"','"+g_date+"')"; sql3+="###refresh balance memberreg3";sql3+=seltype.m_cardno; } if(atoi(g_cominfoarray.ElementAt(0).ElementAt(122))) { CString content,timestamp; CString m_phone=seltype.m_phone;; content.Format ("%s您好,您本次使用现金卡消费%s元,余额:%d元", seltype.m_name, m_money, seltype.m_money-atoi(m_money)); timestamp="msgtimestamp"; if( CheckPhoneType(m_phone)!=-1 && CheckBadWords(content,0) && CheckBadWords2(content,0) ) { int count=GetLengthEx(content)/MSG_LENGTH; if(GetLengthEx(content)%MSG_LENGTH) count++; CString scount; scount.Format ("%d", count); CString sql2="###insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone+"','"+content+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')"; sql3+=sql2; } } } else if(paytype=="积分兑换") { CString point; float rate=atof(g_cominfoarray.ElementAt (0).ElementAt (38))/100.0; point.Format ("%d", (int)(atof(m_money)*GetPointScale2()/rate)); sql3+="###insert into [memberreg2]([memberno],[dindanid],[money],[point],[date])values('"+seltype.m_cardno+"','"+m_id2+"','"+m_money+"','"+point+"','"+g_date+"')"; sql3+="###refresh balance memberreg2"; sql3+=seltype.m_cardno; if(atoi(g_cominfoarray.ElementAt(0).ElementAt(122))) { CString content,timestamp; CString m_phone=seltype.m_phone;; float rate=atof(g_cominfoarray.ElementAt (0).ElementAt (38))/100.0; int point=(int)(atof(m_money)/rate+0.5); content.Format ("%s您好,您本次使用积分%d分,余额:%d分", seltype.m_name, point, seltype.m_point-point); timestamp="msgtimestamp"; if( CheckPhoneType(m_phone)!=-1 && CheckBadWords(content,0) && CheckBadWords2(content,0) ) { int count=GetLengthEx(content)/MSG_LENGTH; if(GetLengthEx(content)%MSG_LENGTH) count++; CString scount; scount.Format ("%d", count); CString sql2="###insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone+"','"+content+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')"; sql3+=sql2; } } } sql+="###update dindan set [memberno]='"+m_memberno+"' where [id]='"+m_strOrderNumber+"'"; if( (!m_memberno.IsEmpty ()) && paytype!="积分兑换") { CString date=g_date; sql3+="###insert into memberreg([memberno],[dindanid],[money],[date],[type])values('"+m_memberno+"','"+m_id2+"','"+m_money+"','"+date+"','消费积分')"; } sql2="###"+m_strOrderNumber+"$$$"+m_memberno; sql+=sql2; sql3+=sql2; g_pMainWnd->OnDisconnect(); g_branchip=GetIP(branch); g_pMainWnd->OnDisconnect(); g_branchname=branch; g_bBranchModify=1; g_sendhead.bsql=1; sql3.TrimLeft("###"); g_pMainWnd->ProcessChatMessageRequest2(sql3);if(g_bSendOK==0)return; g_pMainWnd->OnDisconnect(); g_bBranchModify= g_bBranchModifyBak; g_branchname= g_branchnameBak; g_branchip= g_branchipBak; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; AfxMessageBox("保存成功!", MB_ICONINFORMATION); GetData(); } // CDialog::OnOK(); } /* HBRUSH TakeMoney3::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here if (nCtlColor==CTLCOLOR_STATIC) { pDC-> SetBkMode(TRANSPARENT); //设置字体背景为透明 return (HBRUSH)::GetStockObject(NULL_BRUSH); // 设置背景色 } // TODO: Return a different brush if the default is not desired return hbr; }*/ void TakeMoney3::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CDialog::OnLButtonDown(nFlags, point); } void TakeMoney3::GetData() { g_sendhead.bsql=0; g_sendhead.code[0]=93; g_sendhead.code[1]=38; g_sendhead.code[2]=11; g_sendhead.code[3]=68; g_sendhead.tabcount=4; CString filter="id='"+m_strOrderNumber+"';id='"+m_strOrderNumber+"';id='"+m_strOrderNumber+"';memberno='"+m_memberno+"'"; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0)return; CArraydindanarray; CArraymemberarray; DataToArray( &m_List1array,&m_List2array,&dindanarray,&memberarray); for(int i=0; iProcessChatMessageRequest2(sql); g_bNoConnDlg=0; } void TakeMoney3::FillGrid() { m_List1.DeleteAllItems2 (); int ii=0; m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 ); int count=0; for(ii=0; iimessage==WM_KEYDOWN) { switch (pMsg->wParam) { case VK_RETURN: return 1; case VK_DELETE: { if(GetFocus()==GetDlgItem(IDC_EDIT17)) { m_instock="";m_instocklb=""; SetDlgItemText(IDC_EDIT17, ""); } } return 1; } } return CDialog::PreTranslateMessage(pMsg); } void TakeMoney3::OnOk2() { // TODO: Add your control notification handler code here UpdateData(); m_bz2.TrimLeft (); m_money2.TrimLeft (); if(m_money2.IsEmpty ()) { AfxMessageBox("资料不全!", MB_ICONINFORMATION); return; } if(m_bz2.IsEmpty ()) { AfxMessageBox("资料不全!", MB_ICONINFORMATION); return; } if(!CheckDateOK(m_time2))return; BOOL bexist1=0; if(bexist1==0) { for(int i=0; iProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; AfxMessageBox("保存成功!", MB_ICONINFORMATION); GetData(); } void TakeMoney3::OnButton1() { // TODO: Add your control notification handler code here SPBox dlg; if(dlg.DoModal ()!=IDOK)return; m_instock="";m_instocklb=""; for(int a=0; aProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; sql="###"+m_strOrderNumber; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; GetData(); CString str; str="删除客人"; str+=m_name1; str+=m_name2; str+=m_strOrderNumber; str+="收款:"; str+=bz; str+=money; WriteLog(str); } void TakeMoney3::OnBUTdel4() { // TODO: Add your control notification handler code here if(IsHasRights2new(49)==0)return; // TODO: Add your control notification handler code here POSITION pos; pos=m_List2.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要删除的项目!", MB_ICONINFORMATION); return; } if(AfxMessageBox("是否删除此项目?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return; int iItem=m_List2.GetNextSelectedItem(pos); CString id=m_List2.GetItemText (iItem, 0); CString money=m_List2.GetItemText (iItem, 1); CString bz=m_List2.GetItemText (iItem, 2)+m_List2.GetItemText (iItem, 4) ; CString sql; sql.Format ("delete from [dindanbukuan2] where [autoid]=%d", atol(id)); CString sql2="$$$"+m_strOrderNumber; sql+=sql2; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; GetData(); CString str; str="删除客人"; str+=m_name1; str+=m_name2; str+=m_strOrderNumber; str+="加挑:"; str+=bz; str+=money; WriteLog(str); } void TakeMoney3::OnButton2() { if(IsHasRights2new(49)==0)return; // TODO: Add your control notification handler code here UpdateData(); InputMemberno dlg;dlg.m_mode=1; if(dlg.DoModal ()==IDOK) { CString oldmemberno=m_memberno; m_memberno=dlg.m_memberno; if(m_memberno==oldmemberno)return; CString sql,sql2; sql+="update dindan set [memberno]='"+m_memberno+"' where [id]='"+m_strOrderNumber+"'"; sql+="@@@update memberreg set [memberno]='"+m_memberno+"' where [dindanid]='"+m_strOrderNumber+"'"; sql2="@@@"+m_memberno+"###"+oldmemberno; sql+=sql2; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; UpdateData(false); m_memberno=dlg.m_memberno; g_sendhead.bsql=0; g_sendhead.code[0]=68; g_sendhead.tabcount=1; CString filter="memberno='"+m_memberno+"'"; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0)return; CArraymemberarray; DataToArray(&memberarray); if(memberarray.GetSize ()) m_membermoney = memberarray.ElementAt (0).ElementAt (9); UpdateData(false); m_memberno=dlg.m_memberno; } } void TakeMoney3::OnButton12() { // TODO: Add your control notification handler code here if(atof(g_cominfoarray.ElementAt (0).ElementAt (38))<=0) { AfxMessageBox("积分/金额比率未设置!"); return; } UpdateData(); if(m_memberno.IsEmpty ()) { AfxMessageBox("积分卡卡号未输入!"); return; } UseMemberCard dlg; dlg.m_memberno=m_memberno; dlg.m_id=m_strOrderNumber; dlg.m_point2 = m_membermoney; dlg.m_money2.Format ("%0.2f", atof(m_membermoney)*(atof(g_cominfoarray.ElementAt (0).ElementAt (38))/100)); if(dlg.DoModal ()!=IDOK)return; g_sendhead.bsql=0; g_sendhead.code[0]=11; g_sendhead.code[1]=68; g_sendhead.tabcount=2; CString filter="id='"+m_strOrderNumber+"';memberno='"+m_memberno+"'"; g_pMainWnd->ProcessChatMessageRequest2(filter); if(g_bSendOK==0)return; CArraydindanarray; CArraymemberarray; DataToArray(&dindanarray,&memberarray); if(memberarray.GetSize ()) m_membermoney = memberarray.ElementAt (0).ElementAt (9); CString m_money1 = dindanarray.ElementAt (0).ElementAt (1); CString m_taoxijiage = dindanarray.ElementAt (0).ElementAt (8); CString m_payed4 = dindanarray.ElementAt (0).ElementAt (19); CString m_payed5 = dindanarray.ElementAt (0).ElementAt (20); m_sum1.Format ("%f", atof(m_taoxijiage)+atof(m_payed4)); m_sum2.Format ("%f", atof(m_payed5)+atof(m_money1)); m_sum3.Format ("%f", atof(m_sum1)-atof(m_sum2)); ConvertToPrice(m_sum1); ConvertToPrice(m_sum2); ConvertToPrice(m_sum3); UpdateData(false); } void TakeMoney3::OnDestroy() { CDialog::OnDestroy(); // TODO: Add your message handler code here } void TakeMoney3::OnChangeEdit4() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. if(m_bInit==0)return; UpdateData(); SetDlgItemText(IDC_EDIT1, m_money2); // TODO: Add your control notification handler code here } void TakeMoney3::OnChangeEdit6() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. if(m_bInit==0)return; UpdateData(); SetDlgItemText(IDC_EDITitem, m_bz2); // TODO: Add your control notification handler code here } void TakeMoney3::OnClickList3(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here POSITION pos; pos=m_List2.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } int iItem; iItem = m_List2.GetNextSelectedItem(pos); SetDlgItemText(IDC_EDITitem, m_List2.GetItemText (iItem, 4)); *pResult = 0; } void TakeMoney3::OnButton6() //打印按钮*后期补款 { // TODO: Add your control notification handler code here float fmoney=0; CStringArray itemarray; #ifndef ZHIAI_VERSION POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要打单的项目!", MB_ICONINFORMATION); return; } int iItem; CStringArray array; array.Add(""); // 1.null array.Add(g_cominfoarray.ElementAt (0).ElementAt (48)); // 2.订单头 array.Add("NO."+m_strOrderNumber); // 3.订单号 CString str="地址:"+g_cominfoarray.ElementAt (0).ElementAt (12); str+=" 电话:"+g_cominfoarray.ElementAt (0).ElementAt (11); array.Add (str); // 4.公司信息 CString name; if(!m_name1.IsEmpty ()) name=m_name1+","; name+=m_name2; name.TrimRight (","); CString phone; if(!m_phone1.IsEmpty ()) phone=m_phone1+","; phone+=m_phone2;phone.TrimRight (","); array.Add ("客户姓名:"+name); // 5.客户姓名; if(IsHasRights2new(31)==0) array.Add (""); else array.Add ("联系电话:"+phone); // 6.客户电话 CString date; date.Format ("日期:%s年%s月%s日", g_date.Mid (0,4), g_date.Mid (5,2), g_date.Mid (8,2)); array.Add (date); // 7.订单日期 array.Add (" 收 款 项 目 "); // 8.列字段1 // array.Add(" 支付方式 "); // 8.1预加字段 // 可不用这里加,直接在PrintReciept_01里加; #if 1 // Jeff 显示打印支付方式; array.Add(" 支付方式 "); #endif array.Add (" 金 额 "); // 9.列字段2 array.Add (" 开单人 "); // 10.列字段3 /****************根据列字段名,填充列记录内容*********************/ int count=0; float money=0; BOOL bHasAll=0; while(pos) { count++; if(count>4) break; //Jeff 与pos无关,循环4次;4次后array.GetSize()=26 iItem = m_List1.GetNextSelectedItem(pos);//Jeff 最多只能选择4条记录来打印; // a.填充列<收款项目>记录 if(m_List1.GetItemText(iItem, 5)=="预约收款" || m_List1.GetItemText(iItem, 5)=="预约补款") { #ifdef LYFZ_VERSION CString temp=m_List1.GetItemText (iItem, 5); if(temp=="预约收款") temp="软件定金"; else temp="软件补款"; array.Add (temp); #else if(0)//m_List1.GetItemText (iItem, 5)=="预约收款" && atof(m_sum3)>1.0) array.Add ("预约金"+m_List1.GetItemText(iItem, 6)); else array.Add (m_List1.GetItemText (iItem, 5)+m_List1.GetItemText (iItem, 6)); #endif } else array.Add (m_List1.GetItemText (iItem, 6)); #if 1 // 显示打印支付方式; array.Add(m_List1.GetItemText(iItem,7)); // add by Jeff:添加支付方式; #endif // b.填充列<金额>记录 array.Add (m_List1.GetItemText (iItem, 1)); money+=atof(m_List1.GetItemText (iItem, 1)); // c.填充列<开单人>记录 array.Add (m_List1.GetItemText (iItem, 3)); CString sItem=m_List1.GetItemText (iItem, 6); if(sItem=="") bHasAll=1; if(::FindArray(&itemarray, sItem)==-1) { itemarray.Add(sItem); for(int a=0; aPrintReceipt_01(&array); // Jeff 需要显示支付方式; #else//zhiai POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要打单的项目!", MB_ICONINFORMATION); return; } int iItem; CStringArray array; array.Add ("项目名称"); array.Add ("数量"); array.Add ("金额"); array.Add ("开单人"); array.Add ("欠款"); int count=0; float money=0; while (pos) { count++; if(count>5)break; iItem = m_List1.GetNextSelectedItem(pos); if(m_List1.GetItemText (iItem, 5)=="预约收款" || m_List1.GetItemText (iItem, 5)=="预约补款") { if(m_List1.GetItemText (iItem, 5)=="预约收款") array.Add ("定金"); else array.Add (m_List1.GetItemText (iItem, 5)); array.Add ("1"); array.Add (m_taoxijiage); array.Add (m_List1.GetItemText (iItem, 3)); CString str; str.Format ("%f", atof(m_taoxijiage)-GetPayed1()); ConvertToPrice(str); array.Add (str); } else { array.Add (m_List1.GetItemText (iItem, 6)); array.Add ("1"); array.Add (GetNeedPay(m_List1.GetItemText (iItem, 6))); array.Add (m_List1.GetItemText (iItem, 3)); CString str; // str.Format ("%f", atof(GetNeedPay(m_List1.GetItemText (iItem, 6)))-atof(m_List1.GetItemText (iItem, 1))); str.Format ("%f", atof(GetNeedPay(m_List1.GetItemText (iItem, 6)))-GetPayed(m_List1.GetItemText (iItem, 6))); ConvertToPrice(str); array.Add (str); } money+=atof(m_List1.GetItemText (iItem, 1)); } while(array.GetSize ()<30) array.Add (""); g_pMainWnd->PrintReceipt3(m_strOrderNumber, &array, money); #endif } CString TakeMoney3::GetNeedPay(CString name) { CString sItem; for(int i=0; iProcessChatMessageRequest2(1); if(g_bSendOK==0)return; CArrayexpendtypearray; DataToArray(&expendtypearray); m_combobz.ResetContent (); for(int i=0; iSetReadOnly (0); }