TakeMoney3.cpp 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128
  1. // TakeMoney3.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "TakeMoney3.h"
  6. #include "InputMemberno.h"
  7. #include "UseMemberCard.h"
  8. #include "SPLBDlg.h"
  9. #include "InputMemberno.h"
  10. #include "SelPayType.h"
  11. #include "Login2.h"
  12. #include "SelExpendType.h"
  13. #include "InStock.h"
  14. #include "DlgPaymentMethod.h"
  15. #ifdef _DEBUG
  16. #define new DEBUG_NEW
  17. #undef THIS_FILE
  18. static char THIS_FILE[] = __FILE__;
  19. #endif
  20. TakeMoney3::TakeMoney3(CWnd* pParent /*=NULL*/): CDialog(TakeMoney3::IDD, pParent)
  21. {
  22. m_money = _T("");
  23. m_time1 = g_date;
  24. m_bz = _T("");
  25. m_strOrderNumber = _T("");
  26. m_name1 = _T("");
  27. m_name2 = _T("");
  28. m_ren2 = _T("");
  29. m_money2 = _T("");
  30. m_ren3 = _T("");
  31. m_time2 = g_date;
  32. m_bz2 = _T("");
  33. m_sum1 = _T("");
  34. m_sum2 = _T("");
  35. m_sum3 = _T("");
  36. m_memberno = _T("");
  37. m_membermoney = _T("");
  38. m_item = _T("");
  39. m_mode = 0;
  40. m_bInit = 0;
  41. m_instock = _T("");
  42. }
  43. void TakeMoney3::DoDataExchange(CDataExchange* pDX)
  44. {
  45. CDialog::DoDataExchange(pDX);
  46. //{{AFX_DATA_MAP(TakeMoney3)
  47. DDX_Control(pDX, IDC_COMBObz, m_combobz);
  48. DDX_Control(pDX, IDC_EDIT5, m_editdate2);
  49. DDX_Control(pDX, IDC_LIST3, m_List2);
  50. DDX_Control(pDX, IDC_EDIT4, m_editctrl3);
  51. DDX_Control(pDX, IDC_LIST1, m_List1);
  52. DDX_Control(pDX, IDC_EDIT2, m_editdate1);
  53. DDX_Control(pDX, IDC_EDIT1, m_editctrl1);
  54. DDX_Control(pDX, IDC_COMBO1, m_comboren);
  55. DDX_Text(pDX, IDC_EDIT1, m_money);
  56. DDX_Text(pDX, IDC_EDIT2, m_time1);
  57. DDX_Text(pDX, IDC_EDITid, m_strOrderNumber);
  58. DDX_Text(pDX, IDC_EDITname1, m_name1);
  59. DDX_Text(pDX, IDC_EDITname2, m_name2);
  60. DDX_Text(pDX, IDC_EDITren2, m_ren2);
  61. DDX_Text(pDX, IDC_EDIT4, m_money2);
  62. DDX_Text(pDX, IDC_EDITren3, m_ren3);
  63. DDX_Text(pDX, IDC_EDIT5, m_time2);
  64. DDX_Text(pDX, IDC_EDIT6, m_bz2);
  65. DDX_Text(pDX, IDC_EDITmoney2, m_sum1);
  66. DDX_Text(pDX, IDC_EDITmoney3, m_sum2);
  67. DDX_Text(pDX, IDC_EDITmoney5, m_sum3);
  68. DDX_Text(pDX, IDC_EDITmemberno, m_memberno);
  69. DDX_Text(pDX, IDC_EDITmembermoney, m_membermoney);
  70. DDX_Text(pDX, IDC_EDITitem, m_item);
  71. DDX_Text(pDX, IDC_EDIT17, m_instock);
  72. //}}AFX_DATA_MAP
  73. DDX_Control(pDX, CBOX_STAFF, m_cbox_staff);
  74. }
  75. BEGIN_MESSAGE_MAP(TakeMoney3, CDialog)
  76. //{{AFX_MSG_MAP(TakeMoney3)
  77. ON_WM_LBUTTONDOWN()
  78. ON_BN_CLICKED(IDOK2, OnOk2)
  79. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  80. ON_BN_CLICKED(IDC_BUTdel, OnBUTdel)
  81. ON_BN_CLICKED(IDC_BUTdel4, OnBUTdel4)
  82. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  83. ON_BN_CLICKED(IDC_BUTTON12, OnButton12)
  84. ON_WM_DESTROY()
  85. ON_EN_CHANGE(IDC_EDIT4, OnChangeEdit4)
  86. ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
  87. ON_EN_CHANGE(IDC_EDIT6, OnChangeEdit6)
  88. ON_NOTIFY(NM_CLICK, IDC_LIST3, OnClickList3)
  89. ON_BN_CLICKED(IDC_BUTTON13, OnButton13)
  90. ON_BN_CLICKED(IDC_BUTTON24, OnButton24)
  91. //}}AFX_MSG_MAP
  92. END_MESSAGE_MAP()
  93. BOOL TakeMoney3::OnInitDialog()
  94. {
  95. CDialog::OnInitDialog();
  96. if (IsHasRights2new(49) == 0)
  97. {
  98. GetDlgItem(IDC_BUTTON13)->EnableWindow(0);
  99. }
  100. ((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly (0);
  101. SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
  102. GetDlgItem(IDC_BUTdel)->EnableWindow(IsHasRights2new(49));
  103. GetDlgItem(IDC_BUTdel4)->EnableWindow(IsHasRights2new(49));
  104. GetDlgItem(IDC_BUTTON2)->EnableWindow(IsHasRights2new(49));
  105. g_sendhead.bsql = 0;
  106. g_sendhead.code[0] = 93;
  107. g_sendhead.code[1] = 38;
  108. g_sendhead.code[2] = 11;
  109. g_sendhead.code[3] = 68;
  110. g_sendhead.code[4] = 160;
  111. g_sendhead.code[5] = 50;
  112. g_sendhead.tabcount = 6;
  113. CString filter = "id='" + m_strOrderNumber + "';id='" + m_strOrderNumber + "';id='" + m_strOrderNumber + "';;;id='" + m_strOrderNumber + "'";
  114. g_pMainWnd->ProcessChatMessageRequest2(filter);
  115. if (g_bSendOK == 0)return 0;
  116. CArray<CStringArray, CStringArray>dindanarray;
  117. CArray<CStringArray, CStringArray>memberarray;
  118. CArray<CStringArray, CStringArray>expendtypearray;
  119. DataToArray(&m_List1array, &m_List2array, &dindanarray, &memberarray, &expendtypearray, &sparray);
  120. int i = 0;
  121. for ( i = 0; i < g_AryStaff.GetSize(); i++)
  122. {
  123. m_comboren.AddString(DAL::GetStaffName(i));
  124. m_cbox_staff.AddString(DAL::GetStaffName(i));
  125. }
  126. CenterWindow(g_pMainWnd);
  127. m_ren2 = g_user.name;
  128. m_ren3 = g_user.name;
  129. m_memberno = dindanarray.ElementAt(0).ElementAt(47);
  130. for (i = 0; i < memberarray.GetSize(); i++)
  131. {
  132. if (m_memberno == memberarray.ElementAt(i).ElementAt(1))
  133. {
  134. m_membermoney = memberarray.ElementAt(i).ElementAt(9);
  135. break;
  136. }
  137. }
  138. for (i = 0; i < expendtypearray.GetSize(); i++)
  139. {
  140. m_combobz.AddString(expendtypearray.ElementAt(i).ElementAt(0));
  141. }
  142. m_combobz.AddString("摄影二销");
  143. m_combobz.AddString("化妆二销");
  144. m_combobz.AddString("选片二销");
  145. CString m_money1 = dindanarray.ElementAt(0).ElementAt(1);
  146. m_taoxijiage = dindanarray.ElementAt(0).ElementAt(8);
  147. CString m_payed4 = dindanarray.ElementAt(0).ElementAt(19);
  148. CString m_payed5 = dindanarray.ElementAt(0).ElementAt(20);
  149. m_sum1.Format("%f", atof(m_taoxijiage) + atof(m_payed4));
  150. m_sum2.Format("%f", atof(m_payed5) + atof(m_money1));
  151. m_sum3.Format("%f", atof(m_sum1) - atof(m_sum2));
  152. ConvertToPrice(m_sum1);
  153. ConvertToPrice(m_sum2);
  154. ConvertToPrice(m_sum3);
  155. UpdateData(false);
  156. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(115)))
  157. m_List1.SetHeadings("id,0;金额,55;日期,90;开单人,70;收款人,70;备注,90;收款项目,90;支付方式,70;接单点,80");
  158. else
  159. m_List1.SetHeadings("id,0;金额,60;日期,90;开单人,70;收款人,70;备注,90;收款项目,90;支付方式,90");
  160. m_List1.LoadColumnInfo(115);
  161. m_List2.SetHeadings("id,0;加挑金额,100;日期,100;录单,100;加挑物品,100;开单人,100");
  162. m_List2.LoadColumnInfo(123);
  163. for (i = 0; i < m_List1array.GetSize(); i++)
  164. {
  165. if (m_List1array.ElementAt(i).ElementAt(9) != "")
  166. {
  167. CString discount = "(打" + m_List1array.ElementAt(i).ElementAt(9) + "折)";
  168. m_List1array.ElementAt(i).SetAt(6, m_List1array.ElementAt(i).ElementAt(6) + discount);
  169. }
  170. }
  171. FillGrid();
  172. m_bInit = 1;
  173. if (m_mode == 5)
  174. {
  175. SetWindowText("客户付款详情");
  176. GetDlgItem(IDC_EDIT1)->EnableWindow(0);
  177. GetDlgItem(IDC_COMBO1)->EnableWindow(0);
  178. GetDlgItem(IDOK)->EnableWindow(0);
  179. GetDlgItem(IDC_EDIT4)->EnableWindow(0);
  180. GetDlgItem(IDC_EDIT6)->EnableWindow(0);
  181. GetDlgItem(IDOK2)->EnableWindow(0);
  182. GetDlgItem(IDC_BUTTON1)->EnableWindow(0);
  183. GetDlgItem(IDC_BUTdel)->EnableWindow(0);
  184. GetDlgItem(IDC_BUTdel4)->EnableWindow(0);
  185. }
  186. return TRUE;
  187. }
  188. void TakeMoney3::OnOK() // 收款保存按钮;
  189. {
  190. UpdateData();
  191. if (m_money.IsEmpty())
  192. {
  193. AfxMessageBox("收款金额不能为空!", MB_ICONINFORMATION);
  194. return;
  195. }
  196. if (m_item.IsEmpty())
  197. {
  198. AfxMessageBox("收款项目不能为空,请在上方加挑物品的表格中选取!", MB_ICONINFORMATION);
  199. return;
  200. }
  201. int pos;
  202. pos = m_comboren.GetCurSel();
  203. if (pos == -1)
  204. {
  205. AfxMessageBox("开单人员不能为空!", MB_ICONINFORMATION);
  206. return;
  207. }
  208. m_comboren.GetLBText(pos, m_ren);
  209. pos = m_combobz.GetCurSel();
  210. if (pos == -1)
  211. {
  212. AfxMessageBox("请选择正确的二销类别!", MB_ICONINFORMATION);
  213. return;
  214. }
  215. m_combobz.GetLBText(pos, m_bz);
  216. switch (pos)
  217. {
  218. case 0:
  219. m_mode = 5;
  220. break;
  221. case 1:
  222. m_mode = 1;
  223. break;
  224. case 2:
  225. m_mode = 6;
  226. break;
  227. case 3:
  228. m_mode = 2;
  229. break;
  230. }
  231. if (!CheckDateOK(m_time1))return;
  232. BOOL bexist1 = 0;
  233. BOOL bexist2 = 0;
  234. if (bexist1 == 0)
  235. {
  236. for (int i = 0; i < m_List1array.GetSize(); i++)
  237. {
  238. if (m_List1array.ElementAt(i).ElementAt(1) == m_money)
  239. {
  240. bexist1 = 1;
  241. break;
  242. }
  243. }
  244. }
  245. if (bexist2 == 0)
  246. {
  247. for (int i = 0; i < m_List1array.GetSize(); i++)
  248. {
  249. if (m_List1array.ElementAt(i).ElementAt(5) == m_bz)
  250. {
  251. bexist2 = 1;
  252. break;
  253. }
  254. }
  255. }
  256. if (bexist1 && bexist2)
  257. {
  258. if (AfxMessageBox("已有相似的记录, 确认没有重复吗? 是否继续?", MB_YESNO | MB_ICONINFORMATION) != IDYES)
  259. return;
  260. }
  261. #if 0
  262. SelPayType seltype;
  263. seltype.m_paymoney = m_money;
  264. if (seltype.DoModal() != IDOK)return;
  265. CString paytype, branch;
  266. if (seltype.m_radio1 == 0)
  267. paytype = "现金";
  268. else if (seltype.m_radio1 == 1)
  269. paytype = "POS机刷卡";
  270. else if (seltype.m_radio1 == 2)
  271. paytype = "储值卡扣款";
  272. else if (seltype.m_radio1 == 3)
  273. paytype = "积分兑换";
  274. else if (seltype.m_radio1 == 4)
  275. paytype = "银行转账";
  276. branch = seltype.m_branch;
  277. #else
  278. CString paytype, branch;
  279. CDlgPaymentMethod seldlg;
  280. if ( seldlg.DoModal() != IDOK )
  281. return;
  282. paytype = seldlg.m_strPaymentMethod;
  283. #endif
  284. CString localbranch = GetNameFromDomain(g_domain);
  285. if (branch == "" || branch == g_branchname || (g_branchname == ""&&branch == localbranch))
  286. {
  287. CString jdd;
  288. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(115)))
  289. {
  290. SelExpendType dlg;
  291. dlg.m_mode = 3;
  292. if (dlg.DoModal() == IDOK)
  293. jdd = dlg.m_sel;
  294. }
  295. CString sql, sql2;
  296. 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')",
  297. m_strOrderNumber, m_money, m_ren, m_time1, m_bz, m_ren2, m_mode, m_item, paytype, jdd, _T(""));
  298. if (g_nYearpos != -1)
  299. {
  300. 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")),
  301. m_strOrderNumber, m_money, m_ren, m_time1, m_bz, m_ren2, m_mode, m_item, paytype, jdd, _T(""));
  302. }
  303. sql += "###update dindan set [memberno]='" + m_memberno + "' where [id]='" + m_strOrderNumber + "'";
  304. if ((!m_memberno.IsEmpty()) && paytype != "积分兑换")
  305. {
  306. CString date = g_date;
  307. sql += "###insert into memberreg([memberno],[dindanid],[money],[date],[type])values('" + m_memberno + "','" + m_strOrderNumber + "','" + m_money + "','" + date + "','消费积分')";
  308. }
  309. sql2 = "###" + m_strOrderNumber + "$$$" + m_memberno;
  310. sql += sql2;
  311. g_sendhead.bsql = 1;
  312. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  313. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  314. GetData();
  315. }
  316. else
  317. {
  318. CString sql3;
  319. BOOL g_bBranchModifyBak = g_bBranchModify;
  320. CString g_branchnameBak = g_branchname;
  321. CString g_branchipBak = g_branchip;
  322. CString curbranch;
  323. if (g_branchname != "")
  324. curbranch = g_branchname;
  325. else
  326. {
  327. curbranch = localbranch;
  328. }
  329. CString m_id2 = curbranch + m_strOrderNumber;
  330. CString jdd;
  331. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(115)))
  332. {
  333. SelExpendType dlg;
  334. dlg.m_mode = 3;
  335. if (dlg.DoModal() == IDOK)
  336. jdd = dlg.m_sel;
  337. }
  338. CString sql, sql2;
  339. 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')",
  340. m_strOrderNumber, m_money, m_ren, m_time1, m_bz, m_ren2, m_mode, m_item, paytype, jdd, _T(""));
  341. if (g_nYearpos != -1)
  342. {
  343. 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")),
  344. m_strOrderNumber, m_money, m_ren, m_time1, m_bz, m_ren2, m_mode, m_item, paytype, jdd, _T(""));
  345. }
  346. sql += "###update dindan set [memberno]='" + m_memberno + "' where [id]='" + m_strOrderNumber + "'";
  347. if ((!m_memberno.IsEmpty()) && paytype != "积分兑换")
  348. {
  349. CString date = g_date;
  350. sql3 += "###insert into memberreg([memberno],[dindanid],[money],[date],[type])values('" + m_memberno + "','" + m_id2 + "','" + m_money + "','" + date + "','消费积分')";
  351. }
  352. sql2 = "###" + m_strOrderNumber + "$$$" + m_memberno;
  353. sql += sql2;
  354. sql3 += sql2;
  355. g_pMainWnd->OnDisconnect();
  356. g_branchip = GetIP(branch);
  357. g_pMainWnd->OnDisconnect();
  358. g_branchname = branch;
  359. g_bBranchModify = 1;
  360. g_sendhead.bsql = 1; sql3.TrimLeft("###");
  361. g_pMainWnd->ProcessChatMessageRequest2(sql3); if (g_bSendOK == 0)return;
  362. g_pMainWnd->OnDisconnect();
  363. g_bBranchModify = g_bBranchModifyBak;
  364. g_branchname = g_branchnameBak;
  365. g_branchip = g_branchipBak;
  366. g_sendhead.bsql = 1;
  367. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  368. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  369. GetData();
  370. }
  371. // CDialog::OnOK();
  372. }
  373. void TakeMoney3::OnLButtonDown(UINT nFlags, CPoint point)
  374. {
  375. // TODO: Add your message handler code here and/or call default
  376. CDialog::OnLButtonDown(nFlags, point);
  377. }
  378. void TakeMoney3::GetData()
  379. {
  380. g_sendhead.bsql = 0;
  381. g_sendhead.code[0] = 93;
  382. g_sendhead.code[1] = 38;
  383. g_sendhead.code[2] = 11;
  384. g_sendhead.code[3] = 68;
  385. g_sendhead.tabcount = 4;
  386. CString filter = "id='" + m_strOrderNumber + "';id='" + m_strOrderNumber + "';id='" + m_strOrderNumber + "';memberno='" + m_memberno + "'";
  387. g_pMainWnd->ProcessChatMessageRequest2(filter);
  388. if (g_bSendOK == 0)return;
  389. CArray<CStringArray, CStringArray>dindanarray;
  390. CArray<CStringArray, CStringArray>memberarray;
  391. DataToArray(&m_List1array, &m_List2array, &dindanarray, &memberarray);
  392. for (int i = 0; i < m_List1array.GetSize(); i++)
  393. {
  394. if (m_List1array.ElementAt(i).ElementAt(9) != "")
  395. {
  396. CString discount = "(打" + m_List1array.ElementAt(i).ElementAt(9) + "折)";
  397. m_List1array.ElementAt(i).SetAt(6, m_List1array.ElementAt(i).ElementAt(6) + discount);
  398. }
  399. }
  400. FillGrid();
  401. if (memberarray.GetSize())
  402. m_membermoney = memberarray.ElementAt(0).ElementAt(9);
  403. CString m_money1 = dindanarray.ElementAt(0).ElementAt(1);
  404. m_taoxijiage = dindanarray.ElementAt(0).ElementAt(8);
  405. CString m_payed4 = dindanarray.ElementAt(0).ElementAt(19);
  406. CString m_payed5 = dindanarray.ElementAt(0).ElementAt(20);
  407. m_sum1.Format("%f", atof(m_taoxijiage) + atof(m_payed4));
  408. m_sum2.Format("%f", atof(m_payed5) + atof(m_money1));
  409. m_sum3.Format("%f", atof(m_sum1) - atof(m_sum2));
  410. ConvertToPrice(m_sum1);
  411. ConvertToPrice(m_sum2);
  412. ConvertToPrice(m_sum3);
  413. UpdateData(false);
  414. CString sql;
  415. sql.Format("update [todaytake] set [arrearage]='%s' where [id]='%s'", m_sum3, m_strOrderNumber);
  416. g_sendhead.bsql = 1;
  417. g_bNoConnDlg = 1;
  418. g_pMainWnd->ProcessChatMessageRequest2(sql);
  419. g_bNoConnDlg = 0;
  420. }
  421. void TakeMoney3::FillGrid()
  422. {
  423. m_List1.DeleteAllItems2();
  424. int ii = 0;
  425. m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1);
  426. int count = 0;
  427. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  428. {
  429. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  430. }
  431. m_List1.m_arLabels.SetSize(count, 1);
  432. ii = count;
  433. m_List1.m_LabelCount = ii;
  434. m_List1.SetItemCountEx(ii);
  435. {
  436. m_List2.DeleteAllItems2();
  437. int ii = 0;
  438. m_List2.m_arLabels.SetSize(m_List2array.GetSize(), 1);
  439. int count = 0;
  440. for (ii = 0; ii < m_List2.m_arLabels.GetSize(); ii++)
  441. {
  442. m_List2.m_arLabels.ElementAt(count++).Copy(m_List2array.ElementAt(ii));
  443. }
  444. m_List2.m_arLabels.SetSize(count, 1);
  445. ii = count;
  446. m_List2.m_LabelCount = ii;
  447. m_List2.SetItemCountEx(ii);
  448. }
  449. }
  450. BOOL TakeMoney3::PreTranslateMessage(MSG* pMsg)
  451. {
  452. if (pMsg->message == WM_KEYDOWN)
  453. {
  454. switch (pMsg->wParam)
  455. {
  456. case VK_RETURN:
  457. return 1;
  458. case VK_DELETE:
  459. {
  460. if (GetFocus() == GetDlgItem(IDC_EDIT17))
  461. {
  462. m_instock = ""; m_instocklb = "";
  463. SetDlgItemText(IDC_EDIT17, "");
  464. }
  465. }
  466. return 1;
  467. }
  468. }
  469. return CDialog::PreTranslateMessage(pMsg);
  470. }
  471. void TakeMoney3::OnOk2() // 加挑保存按钮;
  472. {
  473. UpdateData();
  474. m_bz2.TrimLeft();
  475. m_money2.TrimLeft();
  476. if (m_money2.IsEmpty())
  477. {
  478. AfxMessageBox("加挑金额不能为空!", MB_ICONINFORMATION);
  479. return;
  480. }
  481. if (m_bz2.IsEmpty())
  482. {
  483. AfxMessageBox("加挑物品不能为空, 请选择加挑物品!", MB_ICONINFORMATION);
  484. return;
  485. }
  486. if (!CheckDateOK(m_time2))return;
  487. // 获取接单人员;
  488. int nSelectedItem = m_cbox_staff.GetCurSel();
  489. if ( nSelectedItem == CB_ERR )
  490. {
  491. MessageBox(_T("接单人员必须选择"));
  492. return;
  493. }
  494. // 接单人员;
  495. CString strOrderTaker = _T("");
  496. m_cbox_staff.GetLBText(nSelectedItem, strOrderTaker);
  497. BOOL bexist1 = 0;
  498. if (bexist1 == 0)
  499. {
  500. for (int i = 0; i < m_List2array.GetSize(); i++)
  501. {
  502. if (m_List2array.ElementAt(i).ElementAt(1) == m_money2)
  503. {
  504. bexist1 = 1;
  505. break;
  506. }
  507. }
  508. }
  509. if (bexist1)
  510. {
  511. if (AfxMessageBox("已有相似的记录, 确认没有重复吗? 是否继续?", MB_YESNO | MB_ICONINFORMATION) != IDYES)
  512. return;
  513. }
  514. CString sql, sql2;
  515. sql.Format("insert into dindanbukuan2([id],[money],[date],[bz],[ren2],[kind],[order_taker],[order_taker_dept])values('%s','%s','%s','%s','%s','%d','%s','%s')",
  516. m_strOrderNumber, m_money2, m_time2, m_bz2, m_ren3, m_mode + 1, strOrderTaker, DAL::GetStaffDepartment(strOrderTaker));
  517. if (g_nYearpos != -1)
  518. {
  519. sql.Format("insert into dindanbukuan2([autoid],[id],[money],[date],[bz],[ren2],[kind],[order_taker],[order_taker_dept])values(%d,'%s','%s','%s','%s','%s','%d','%s','%s')",
  520. atoi(CTime::GetCurrentTime().Format("%Y%m%d%H%M%S")), m_strOrderNumber, m_money2, m_time2, m_bz2, m_ren3, m_mode + 1,strOrderTaker, DAL::GetStaffDepartment(strOrderTaker));
  521. }
  522. if (m_instock != "")
  523. {
  524. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(131)))
  525. {
  526. CString name, lb, id;
  527. CStringArray namearray;
  528. CStringArray lbarray;
  529. int pos = m_instock.Find(",");
  530. if (pos != -1)
  531. {
  532. namearray.Add(m_instock.Left(pos));
  533. m_instock = m_instock.Right(m_instock.GetLength() - pos - 1);
  534. pos = m_instock.Find(",");
  535. while (pos != -1)
  536. {
  537. namearray.Add(m_instock.Left(pos));
  538. m_instock = m_instock.Right(m_instock.GetLength() - pos - 1);
  539. pos = m_instock.Find(",");
  540. }
  541. namearray.Add(m_instock);
  542. }
  543. else
  544. {
  545. namearray.Add(m_instock);
  546. }
  547. pos = m_instocklb.Find(",");
  548. if (pos != -1)
  549. {
  550. lbarray.Add(m_instocklb.Left(pos));
  551. m_instocklb = m_instocklb.Right(m_instocklb.GetLength() - pos - 1);
  552. pos = m_instocklb.Find(",");
  553. while (pos != -1)
  554. {
  555. lbarray.Add(m_instocklb.Left(pos));
  556. m_instocklb = m_instocklb.Right(m_instocklb.GetLength() - pos - 1);
  557. pos = m_instocklb.Find(",");
  558. }
  559. lbarray.Add(m_instocklb);
  560. }
  561. else
  562. {
  563. lbarray.Add(m_instocklb);
  564. }
  565. id = m_strOrderNumber + "(二销)";
  566. for (int i = 0; i < namearray.GetSize(); i++)
  567. {
  568. name = namearray.ElementAt(i);
  569. lb = lbarray.ElementAt(i);
  570. sql += "$$$insert into storeinfo2([id],[type],[name],[count],[date],[clerk])values('" + id + "','" + lb + "','" + name + "','1','" + g_date + "','" + g_user.name + "')";
  571. }
  572. }
  573. }
  574. sql2 = "$$$" + m_strOrderNumber;
  575. sql += sql2;
  576. g_sendhead.bsql = 1;
  577. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  578. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  579. GetData();
  580. }
  581. void TakeMoney3::OnButton1()
  582. {
  583. SPBox dlg;
  584. if (dlg.DoModal() != IDOK)return;
  585. m_instock = ""; m_instocklb = "";
  586. for (int a = 0; a < dlg.m_spidarray.GetSize(); a++)
  587. {
  588. dlg.m_spid = dlg.m_lbarray.ElementAt(a);
  589. dlg.m_spname = dlg.m_spnamearray.ElementAt(a);
  590. BOOL bindindan = 0;
  591. for (int i = 0; i < sparray.GetSize(); i++)
  592. {
  593. if (dlg.m_spname == sparray.ElementAt(i).ElementAt(5))
  594. {
  595. bindindan = 1; break;
  596. }
  597. }
  598. if (bindindan)continue;
  599. if (m_instock == "")
  600. {
  601. m_instock += dlg.m_spname;
  602. m_instocklb += dlg.m_lb;
  603. }
  604. else
  605. {
  606. m_instock += "," + dlg.m_spname;
  607. m_instocklb += "," + dlg.m_lb;
  608. }
  609. }
  610. m_bz2 = m_instock;
  611. UpdateData(0);
  612. }
  613. void TakeMoney3::RefreshMoney()
  614. {
  615. }
  616. void TakeMoney3::OnBUTdel()
  617. {
  618. if (IsHasRights2new(49) == 0)return;
  619. // TODO: Add your control notification handler code here
  620. POSITION pos;
  621. pos = m_List1.GetFirstSelectedItemPosition();
  622. if (pos == NULL)
  623. {
  624. AfxMessageBox("请先选中您要删除的项目!", MB_ICONINFORMATION);
  625. return;
  626. }
  627. if (AfxMessageBox("是否删除此项目?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
  628. int iItem = m_List1.GetNextSelectedItem(pos);
  629. CString id = m_List1.GetItemText(iItem, 0);
  630. CString money = m_List1.GetItemText(iItem, 1);
  631. CString bz = m_List1.GetItemText(iItem, 2) + m_List1.GetItemText(iItem, 5) + m_List1.GetItemText(iItem, 6);
  632. CString sql;
  633. sql.Format("delete from dindanbukuan where [autoid]=%d", atol(id));
  634. sql += "%%%[money]='" + money + "' and [dindanid]='" + m_strOrderNumber + "'";
  635. sql += "###" + m_memberno;
  636. g_sendhead.bsql = 1;
  637. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  638. sql = "###" + m_strOrderNumber;
  639. g_sendhead.bsql = 1;
  640. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  641. GetData();
  642. CString str;
  643. str = "删除客人";
  644. str += m_name1;
  645. str += m_name2;
  646. str += m_strOrderNumber;
  647. str += "收款:";
  648. str += bz;
  649. str += money;
  650. WriteLog(_T("普通日志"), _T("删除客人"), g_user.name, str);
  651. }
  652. void TakeMoney3::OnBUTdel4()
  653. {
  654. if (IsHasRights2new(49) == 0)return;
  655. // TODO: Add your control notification handler code here
  656. POSITION pos;
  657. pos = m_List2.GetFirstSelectedItemPosition();
  658. if (pos == NULL)
  659. {
  660. AfxMessageBox("请先选中您要删除的项目!", MB_ICONINFORMATION);
  661. return;
  662. }
  663. if (AfxMessageBox("是否删除此项目?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
  664. int iItem = m_List2.GetNextSelectedItem(pos);
  665. CString id = m_List2.GetItemText(iItem, 0);
  666. CString money = m_List2.GetItemText(iItem, 1);
  667. CString bz = m_List2.GetItemText(iItem, 2) + m_List2.GetItemText(iItem, 4);
  668. CString sql;
  669. sql.Format("delete from [dindanbukuan2] where [autoid]=%d", atol(id));
  670. CString sql2 = "$$$" + m_strOrderNumber;
  671. sql += sql2;
  672. g_sendhead.bsql = 1;
  673. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  674. GetData();
  675. CString str;
  676. str = "删除客人";
  677. str += m_name1;
  678. str += m_name2;
  679. str += m_strOrderNumber;
  680. str += "加挑:";
  681. str += bz;
  682. str += money;
  683. WriteLog(_T("普通日志"), _T("删除客人"), g_user.name, str);
  684. }
  685. void TakeMoney3::OnButton2()
  686. {
  687. if (IsHasRights2new(49) == 0)return;
  688. UpdateData();
  689. InputMemberno dlg; dlg.m_mode = 1;
  690. if (dlg.DoModal() == IDOK)
  691. {
  692. CString oldmemberno = m_memberno;
  693. m_memberno = dlg.m_memberno;
  694. if (m_memberno == oldmemberno)return;
  695. CString sql, sql2;
  696. sql += "update dindan set [memberno]='" + m_memberno + "' where [id]='" + m_strOrderNumber + "'";
  697. sql += "@@@update memberreg set [memberno]='" + m_memberno + "' where [dindanid]='" + m_strOrderNumber + "'";
  698. sql2 = "@@@" + m_memberno + "###" + oldmemberno;
  699. sql += sql2;
  700. g_sendhead.bsql = 1;
  701. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  702. UpdateData(false);
  703. m_memberno = dlg.m_memberno;
  704. g_sendhead.bsql = 0;
  705. g_sendhead.code[0] = 68;
  706. g_sendhead.tabcount = 1;
  707. CString filter = "memberno='" + m_memberno + "'";
  708. g_pMainWnd->ProcessChatMessageRequest2(filter);
  709. if (g_bSendOK == 0)return;
  710. CArray<CStringArray, CStringArray>memberarray;
  711. DataToArray(&memberarray);
  712. if (memberarray.GetSize())
  713. m_membermoney = memberarray.ElementAt(0).ElementAt(9);
  714. UpdateData(false);
  715. m_memberno = dlg.m_memberno;
  716. }
  717. }
  718. void TakeMoney3::OnButton12()
  719. {
  720. if (atof(g_cominfoarray.ElementAt(0).ElementAt(38)) <= 0)
  721. {
  722. AfxMessageBox("积分/金额比率未设置!");
  723. return;
  724. }
  725. UpdateData();
  726. if (m_memberno.IsEmpty())
  727. {
  728. AfxMessageBox("积分卡卡号未输入!");
  729. return;
  730. }
  731. UseMemberCard dlg;
  732. dlg.m_memberno = m_memberno;
  733. dlg.m_id = m_strOrderNumber;
  734. dlg.m_point2 = m_membermoney;
  735. dlg.m_money2.Format("%0.2f", atof(m_membermoney)*(atof(g_cominfoarray.ElementAt(0).ElementAt(38)) / 100));
  736. if (dlg.DoModal() != IDOK)return;
  737. g_sendhead.bsql = 0;
  738. g_sendhead.code[0] = 11;
  739. g_sendhead.code[1] = 68;
  740. g_sendhead.tabcount = 2;
  741. CString filter = "id='" + m_strOrderNumber + "';memberno='" + m_memberno + "'";
  742. g_pMainWnd->ProcessChatMessageRequest2(filter);
  743. if (g_bSendOK == 0)return;
  744. CArray<CStringArray, CStringArray>dindanarray;
  745. CArray<CStringArray, CStringArray>memberarray;
  746. DataToArray(&dindanarray, &memberarray);
  747. if (memberarray.GetSize())
  748. m_membermoney = memberarray.ElementAt(0).ElementAt(9);
  749. CString m_money1 = dindanarray.ElementAt(0).ElementAt(1);
  750. CString m_taoxijiage = dindanarray.ElementAt(0).ElementAt(8);
  751. CString m_payed4 = dindanarray.ElementAt(0).ElementAt(19);
  752. CString m_payed5 = dindanarray.ElementAt(0).ElementAt(20);
  753. m_sum1.Format("%f", atof(m_taoxijiage) + atof(m_payed4));
  754. m_sum2.Format("%f", atof(m_payed5) + atof(m_money1));
  755. m_sum3.Format("%f", atof(m_sum1) - atof(m_sum2));
  756. ConvertToPrice(m_sum1);
  757. ConvertToPrice(m_sum2);
  758. ConvertToPrice(m_sum3);
  759. UpdateData(false);
  760. }
  761. void TakeMoney3::OnDestroy()
  762. {
  763. CDialog::OnDestroy();
  764. }
  765. void TakeMoney3::OnChangeEdit4()
  766. {
  767. if (m_bInit == 0)return;
  768. UpdateData();
  769. SetDlgItemText(IDC_EDIT1, m_money2);
  770. }
  771. void TakeMoney3::OnChangeEdit6()
  772. {
  773. if (m_bInit == 0)return;
  774. UpdateData();
  775. SetDlgItemText(IDC_EDITitem, m_bz2);
  776. }
  777. void TakeMoney3::OnClickList3(NMHDR* pNMHDR, LRESULT* pResult) // 选择加挑物品;
  778. {
  779. POSITION pos;
  780. pos = m_List2.GetFirstSelectedItemPosition();
  781. if (pos == NULL)
  782. {
  783. return;
  784. }
  785. int iItem;
  786. iItem = m_List2.GetNextSelectedItem(pos);
  787. SetDlgItemText(IDC_EDITitem, m_List2.GetItemText(iItem, 4));
  788. *pResult = 0;
  789. }
  790. void TakeMoney3::OnButton6() //打印按钮*后期补款
  791. {
  792. // TODO: Add your control notification handler code here
  793. float fmoney = 0;
  794. CStringArray itemarray;
  795. #ifndef ZHIAI_VERSION
  796. POSITION pos;
  797. pos = m_List1.GetFirstSelectedItemPosition();
  798. if (pos == NULL)
  799. {
  800. AfxMessageBox("请先选中您要打单的项目!", MB_ICONINFORMATION);
  801. return;
  802. }
  803. int iItem;
  804. CStringArray array;
  805. array.Add(""); // 1.null
  806. array.Add(g_cominfoarray.ElementAt(0).ElementAt(48)); // 2.订单头
  807. array.Add("NO." + m_strOrderNumber); // 3.订单号
  808. CString str = "地址:" + g_cominfoarray.ElementAt(0).ElementAt(12);
  809. str += " 电话:" + g_cominfoarray.ElementAt(0).ElementAt(11);
  810. array.Add(str); // 4.公司信息
  811. CString name;
  812. if (!m_name1.IsEmpty())
  813. name = m_name1 + ",";
  814. name += m_name2;
  815. name.TrimRight(",");
  816. CString phone;
  817. if (!m_phone1.IsEmpty())
  818. phone = m_phone1 + ",";
  819. phone += m_phone2; phone.TrimRight(",");
  820. array.Add("客户姓名:" + name); // 5.客户姓名;
  821. if (IsHasRights2new(31) == 0)
  822. array.Add("");
  823. else
  824. array.Add("联系电话:" + phone); // 6.客户电话
  825. CString date;
  826. date.Format("日期:%s年%s月%s日", g_date.Mid(0, 4), g_date.Mid(5, 2), g_date.Mid(8, 2));
  827. array.Add(date); // 7.订单日期
  828. array.Add(" 收 款 项 目 "); // 8.列字段1
  829. // array.Add(" 支付方式 "); // 8.1预加字段 // 可不用这里加,直接在PrintReciept_01里加;
  830. #if 1 // Jeff 显示打印支付方式;
  831. array.Add(" 支付方式 ");
  832. #endif
  833. array.Add(" 金 额 "); // 9.列字段2
  834. array.Add(" 开单人 "); // 10.列字段3
  835. /****************根据列字段名,填充列记录内容*********************/
  836. int count = 0;
  837. float money = 0;
  838. BOOL bHasAll = 0;
  839. while (pos)
  840. {
  841. count++;
  842. if (count > 4) break; //Jeff 与pos无关,循环4次;4次后array.GetSize()=26
  843. iItem = m_List1.GetNextSelectedItem(pos);//Jeff 最多只能选择4条记录来打印;
  844. // a.填充列<收款项目>记录
  845. if (m_List1.GetItemText(iItem, 5) == "预约收款" || m_List1.GetItemText(iItem, 5) == "预约补款")
  846. {
  847. #ifdef LYFZ_VERSION
  848. CString temp = m_List1.GetItemText(iItem, 5);
  849. if (temp == "预约收款")
  850. temp="软件定金";
  851. else
  852. temp="软件补款";
  853. array.Add (temp);
  854. #else
  855. if (0)//m_List1.GetItemText (iItem, 5)=="预约收款" && atof(m_sum3)>1.0)
  856. array.Add("定金" + m_List1.GetItemText(iItem, 6));
  857. else
  858. array.Add(m_List1.GetItemText(iItem, 5) + m_List1.GetItemText(iItem, 6));
  859. #endif
  860. }
  861. else array.Add(m_List1.GetItemText(iItem, 6));
  862. #if 1 // 显示打印支付方式;
  863. array.Add(m_List1.GetItemText(iItem, 7)); // add by Jeff:添加支付方式;
  864. #endif
  865. // b.填充列<金额>记录
  866. array.Add(m_List1.GetItemText(iItem, 1));
  867. money += atof(m_List1.GetItemText(iItem, 1));
  868. // c.填充列<开单人>记录
  869. array.Add(m_List1.GetItemText(iItem, 3));
  870. CString sItem = m_List1.GetItemText(iItem, 6);
  871. if (sItem == "") bHasAll = 1;
  872. if (::FindArray(&itemarray, sItem) == -1)
  873. {
  874. itemarray.Add(sItem);
  875. for (int a = 0; a < m_List2.GetItemCount(); a++)
  876. {
  877. if (m_List2.GetItemText(a, 4) == sItem)
  878. fmoney += atof(m_List2.GetItemText(a, 1));
  879. }
  880. }
  881. }
  882. //while(array.GetSize()<22) array.Add ("");// Jeff del;
  883. while (array.GetSize() < 27) array.Add(""); // 显示打印支付方式;
  884. CString smoney;
  885. smoney.Format("%0.1f", fmoney);
  886. if (fmoney < 1 || bHasAll)
  887. smoney = m_sum1;
  888. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(87)))//小单
  889. {
  890. str = "付款情况 应付:" + smoney;
  891. smoney.Format("%0.1f", money);
  892. str += " 实付:" + smoney;
  893. str += " 欠款:" + m_sum3;
  894. }
  895. else
  896. {
  897. str = "付款情况 应付:" + smoney;
  898. smoney.Format("%0.1f", money);
  899. str += " 实付:" + smoney;
  900. str += " 欠款:" + m_sum3;
  901. }
  902. array.Add(str);
  903. smoney.Format("%f", money);
  904. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(87)))//小单
  905. {
  906. str.Format("合计人民币(大写): %s 萬 %s 仟 %s 佰 %s 拾 %s 元", \
  907. GetHMoney(GetW(smoney)), GetHMoney(GetK(smoney)), GetHMoney(GetB(smoney)), GetHMoney(GetS(smoney)), GetHMoney(GetG(smoney)));
  908. }
  909. else
  910. {
  911. str.Format("合计人民币(大写): %s 萬 %s 仟 %s 佰 %s 拾 %s 元", \
  912. GetHMoney(GetW(smoney)), GetHMoney(GetK(smoney)), GetHMoney(GetB(smoney)), GetHMoney(GetS(smoney)), GetHMoney(GetG(smoney)));
  913. }
  914. array.Add(str);
  915. array.Add(g_cominfoarray.ElementAt(0).ElementAt(120));
  916. // array.Add ("定金或消费金在国家法律法规允许的情况下恕不退还,请妥善保管此单");
  917. array.Add("门市:" + m_ren + " 收银:" + g_user.name);
  918. array.Add("顾客签名:");
  919. array.Add("");//第\r\n一\r\n联\r\n存\r\n根\r\n∧\r\n白\r\n∨\r\n第\r\n二\r\n联\r\n财\r\n务\r\n∧\r\n黄\r\n∨\r\n第\r\n三\r\n联\r\n客\r\n户\r\n∧\r\n红\r\n∨");
  920. g_pMainWnd->PrintReceipt_02(&array); // Jeff 需要显示支付方式;
  921. #else//zhiai
  922. POSITION pos;
  923. pos = m_List1.GetFirstSelectedItemPosition();
  924. if(pos==NULL)
  925. {
  926. AfxMessageBox("请先选中您要打单的项目!", MB_ICONINFORMATION);
  927. return;
  928. }
  929. int iItem;
  930. CStringArray array;
  931. array.Add ("项目名称");
  932. array.Add ("数量");
  933. array.Add ("金额");
  934. array.Add ("开单人");
  935. array.Add ("欠款");
  936. int count=0;
  937. float money=0;
  938. while (pos)
  939. {
  940. count++;
  941. if(count>5)break;
  942. iItem = m_List1.GetNextSelectedItem(pos);
  943. if(m_List1.GetItemText (iItem, 5)=="预约收款" || m_List1.GetItemText (iItem, 5)=="预约补款")
  944. {
  945. if(m_List1.GetItemText (iItem, 5)=="预约收款")
  946. array.Add ("定金");
  947. else
  948. array.Add (m_List1.GetItemText (iItem, 5));
  949. array.Add ("1");
  950. array.Add (m_taoxijiage);
  951. array.Add (m_List1.GetItemText (iItem, 3));
  952. CString str;
  953. str.Format ("%f", atof(m_taoxijiage)-GetPayed1());
  954. ConvertToPrice(str);
  955. array.Add (str);
  956. }
  957. else
  958. {
  959. array.Add (m_List1.GetItemText (iItem, 6));
  960. array.Add ("1");
  961. array.Add (GetNeedPay(m_List1.GetItemText (iItem, 6)));
  962. array.Add (m_List1.GetItemText (iItem, 3));
  963. CString str;
  964. // str.Format ("%f", atof(GetNeedPay(m_List1.GetItemText (iItem, 6)))-atof(m_List1.GetItemText (iItem, 1)));
  965. str.Format ("%f", atof(GetNeedPay(m_List1.GetItemText (iItem, 6)))-GetPayed(m_List1.GetItemText (iItem, 6)));
  966. ConvertToPrice(str);
  967. array.Add (str);
  968. }
  969. money+=atof(m_List1.GetItemText (iItem, 1));
  970. }
  971. while(array.GetSize ()<30)
  972. array.Add ("");
  973. g_pMainWnd->PrintReceipt3(m_strOrderNumber, &array, money);
  974. #endif
  975. }
  976. CString TakeMoney3::GetNeedPay(CString name)
  977. {
  978. CString sItem;
  979. for (int i = 0; i < m_List2.GetItemCount(); i++)
  980. {
  981. if (m_List2.GetItemText(i, 4) == name)
  982. return m_List2.GetItemText(i, 1);
  983. }
  984. return "0";
  985. }
  986. float TakeMoney3::GetPayed(CString name)
  987. {
  988. float sum = 0;;
  989. for (int i = 0; i < m_List1.GetItemCount(); i++)
  990. {
  991. if (m_List1.GetItemText(i, 6) == name)
  992. sum += atof(m_List1.GetItemText(i, 1));
  993. }
  994. return sum;
  995. }
  996. float TakeMoney3::GetPayed1()
  997. {
  998. float fret = 0;
  999. for (int i = 0; i < m_List1.GetItemCount(); i++)
  1000. {
  1001. if (m_List1.GetItemText(i, 5) == "预约收款" || m_List1.GetItemText(i, 5) == "预约补款")
  1002. fret += atof(m_List1.GetItemText(i, 1));
  1003. }
  1004. return fret;
  1005. }
  1006. void TakeMoney3::OnButton13()
  1007. {
  1008. SPLBDlg dlg;
  1009. dlg.m_mode = 6;
  1010. dlg.DoModal();
  1011. g_sendhead.bsql = 0;
  1012. g_sendhead.code[0] = 160;
  1013. g_sendhead.tabcount = 1;
  1014. g_pMainWnd->ProcessChatMessageRequest2(1);
  1015. if (g_bSendOK == 0)return;
  1016. CArray<CStringArray, CStringArray>expendtypearray;
  1017. DataToArray(&expendtypearray);
  1018. m_combobz.ResetContent();
  1019. for (int i = 0; i < expendtypearray.GetSize(); i++)
  1020. {
  1021. m_combobz.AddString(expendtypearray.ElementAt(i).ElementAt(0));
  1022. }
  1023. m_combobz.AddString("摄影二销");
  1024. m_combobz.AddString("化妆二销");
  1025. m_combobz.AddString("选片二销");
  1026. }
  1027. void TakeMoney3::OnButton24()
  1028. {
  1029. Login2 dlg;
  1030. dlg.m_mode = 3;
  1031. if (dlg.DoModal() != IDOK)return;
  1032. if (IsHasRightsnew2(49, dlg.m_rights) == 0)return;
  1033. ((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly(0);
  1034. }