TakeMoney3.cpp 38 KB

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