HospitalClient.cpp 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025
  1. // HospitalClient.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "HospitalClient.h"
  6. #include "MyMdi.H"
  7. #include "ModifyDinDan.h"
  8. #include "InputPsw.h"
  9. #include "TakeMoney2.h"
  10. #include "NeroDlg.h"
  11. #include "ClientRequirement.h"
  12. #include "ChoosePhotoSkin2.h"
  13. #include "./helper/ffsco.h"
  14. #include "AddHospitalClient.h"
  15. #include "SendMsgDlg.h"
  16. #ifdef _DEBUG
  17. #define new DEBUG_NEW
  18. #undef THIS_FILE
  19. static char THIS_FILE[] = __FILE__;
  20. #endif
  21. #pragma comment(lib, "Shlwapi.lib")
  22. /////////////////////////////////////////////////////////////////////////////
  23. // HospitalClient
  24. IMPLEMENT_DYNCREATE(HospitalClient, MyFormView)
  25. HospitalClient::HospitalClient()
  26. : MyFormView(HospitalClient::IDD)
  27. {
  28. m_datetype = 0;
  29. m_date2 = GetTmFromStr(g_date);
  30. m_date1 = m_date2 - CTimeSpan(30, 0, 0, 0);
  31. m_addr = _T("");
  32. m_phone = _T("");
  33. m_bSearchAll = 0;
  34. m_id = _T("");
  35. m_name = _T("");
  36. //}}AFX_DATA_INIT
  37. }
  38. HospitalClient::~HospitalClient()
  39. {
  40. }
  41. void HospitalClient::DoDataExchange(CDataExchange* pDX)
  42. {
  43. MyFormView::DoDataExchange(pDX);
  44. //{{AFX_DATA_MAP(HospitalClient)
  45. DDX_Control(pDX, IDC_COMBOclerk, clerkCombo);
  46. DDX_Control(pDX, IDC_COMBOtype, typeCombo);
  47. DDX_Control(pDX, IDC_COMBOfrom, fromCombo);
  48. DDX_Control(pDX, IDC_COMBOhospital, hospitalCombo);
  49. DDX_Control(pDX, IDC_COMBObusinessintention, businessintentionCombo);
  50. DDX_Control(pDX, IDC_COMBObusinesstype, businesstypeCombo);
  51. DDX_Control(pDX, IDC_LIST2, m_List1);
  52. DDX_Control(pDX, IDC_STATIC1, m_static1);
  53. DDX_Radio(pDX, IDC_RADIO1, m_datetype);
  54. DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKERdate1, m_date1);
  55. DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKERdate2, m_date2);
  56. DDX_Text(pDX, IDC_EDITaddr1, m_addr);
  57. DDX_Text(pDX, IDC_EDITphone1, m_phone);
  58. DDX_Text(pDX, IDC_EDITid, m_id);
  59. DDX_Text(pDX, IDC_EDITname, m_name);
  60. //}}AFX_DATA_MAP
  61. }
  62. BEGIN_MESSAGE_MAP(HospitalClient, MyFormView)
  63. //{{AFX_MSG_MAP(HospitalClient)
  64. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  65. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  66. ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
  67. ON_WM_TIMER()
  68. ON_BN_CLICKED(IDC_BUTshowphoto, OnBUTshowphoto)
  69. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  70. ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnItemchangedList2)
  71. ON_BN_CLICKED(IDC_BUTburncd, OnBUTHospitalClient)
  72. ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2)
  73. ON_BN_CLICKED(IDC_BUTburncd2, OnBUTburncd2)
  74. ON_BN_CLICKED(IDC_BUTburncd3, OnBUTburncd3)
  75. ON_BN_CLICKED(IDC_BUTsendmsg, OnBUTsendmsg)
  76. ON_BN_CLICKED(IDC_BUTprint3, OnBUTprint3)
  77. //}}AFX_MSG_MAP
  78. END_MESSAGE_MAP()
  79. /////////////////////////////////////////////////////////////////////////////
  80. // HospitalClient diagnostics
  81. #ifdef _DEBUG
  82. void HospitalClient::AssertValid() const
  83. {
  84. MyFormView::AssertValid();
  85. }
  86. void HospitalClient::Dump(CDumpContext& dc) const
  87. {
  88. MyFormView::Dump(dc);
  89. }
  90. #endif //_DEBUG
  91. /////////////////////////////////////////////////////////////////////////////
  92. // HospitalClient message handlers
  93. void HospitalClient::OnInitialUpdate()
  94. {
  95. //AfxMessageBox("意向查询");//Jeff
  96. MyFormView::OnInitialUpdate();
  97. // GetDlgItem(IDC_BUTburncd)->EnableWindow(IsHasRights2new(0));
  98. // GetDlgItem(IDC_BUTburncd2)->EnableWindow(IsHasRights2new(0));
  99. GetDlgItem(IDC_BUTburncd3)->EnableWindow(IsHasRights2new(49));
  100. GetDlgItem(IDC_BUTprint3)->EnableWindow(IsHasRights2new(49));
  101. // TODO: Add your specialized code here and/or call the base class
  102. CMyMdi Mdi;
  103. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  104. // Here we create the outbar control using the splitter as its parent
  105. // and setting its id to the first pane.
  106. CRect rc2;
  107. GetWindowRect(rc2);
  108. ::MoveWindow(m_hWnd, g_rc.left, g_rc.top, g_rc.Width(), g_rc.Height(), TRUE);
  109. EnumChildWindows(m_hWnd, (WNDENUMPROC)EnumChildProc, 0);
  110. int idarray[] = { IDC_BUTburncd, IDC_BUTburncd2, IDC_BUTburncd3, IDC_BUTsendmsg, IDC_BUTprint3, IDC_BUTclose };
  111. int idcount = 6;
  112. int btnwid;
  113. CRect prerc;
  114. for (int a = idcount - 2; a >= 0; a--)
  115. {
  116. GetDlgItem(idarray[a + 1])->GetWindowRect(prerc);
  117. ScreenToClient(prerc);
  118. GetDlgItem(idarray[a])->GetWindowRect(rc2);
  119. ScreenToClient(rc2);
  120. btnwid = rc2.Width();
  121. rc2.right = prerc.left;
  122. rc2.left = rc2.right - btnwid;
  123. GetDlgItem(idarray[a])->MoveWindow(rc2);
  124. }
  125. m_static1.SetFont(&g_titlefont);
  126. #if 0 // Jeff 2014.05.19
  127. m_List1.SetHeadings("来单批号,100;客户姓名,100;宝宝姓名,100;宝宝性别,100;区域,100;类别,100;医院,100;电话1,100;电话2,100;QQ,100;地址1,100;地址2,100;地址3,100;录入日期,100;门市,100;录入员,100;业务种类,100;业务意向,100;预约日期,100;上门地址,100;备注,100" );
  128. #else
  129. m_List1.SetHeadings("来单批号,100;客户姓名,100;宝宝姓名,100;宝宝性别,100;生日类型,100;宝宝生日,100;区域,100;类别,100;医院,100;电话1,100;电话2,100;QQ,100;地址1,100;地址2,100;地址3,100;录入日期,100;门市,100;录入员,100;业务种类,100;业务意向,100;预约日期,100;上门地址,100;备注,100");
  130. #endif
  131. m_List1.LoadColumnInfo(144);
  132. m_List1.m_bSortSupport = 0;
  133. g_sendhead.bsql = 0;
  134. g_sendhead.code[0] = 200;
  135. g_sendhead.code[1] = 201;
  136. g_sendhead.code[2] = 202;
  137. g_sendhead.code[3] = 203;
  138. g_sendhead.code[4] = 82;
  139. g_sendhead.tabcount = 5;
  140. //LOG4C((LOG_NOTICE,"ProcessChatMessageRequest2=3"));
  141. g_pMainWnd->ProcessChatMessageRequest2(3);
  142. if (g_bSendOK)
  143. {
  144. CArray<CStringArray, CStringArray>List1array;
  145. CArray<CStringArray, CStringArray>List2array;
  146. CArray<CStringArray, CStringArray>List3array;
  147. CArray<CStringArray, CStringArray>List4array;
  148. CArray<CStringArray, CStringArray>List5array;
  149. DataToArray(&List1array, &List2array, &List3array, &List4array, &List5array);
  150. for (int ii = 0; ii < List1array.GetSize(); ii++)
  151. businesstypeCombo.AddString(List1array.ElementAt(ii).ElementAt(0));
  152. for (ii = 0; ii < List2array.GetSize(); ii++)
  153. businessintentionCombo.AddString(List2array.ElementAt(ii).ElementAt(0));
  154. for (ii = 0; ii < List3array.GetSize(); ii++)
  155. typeCombo.AddString(List3array.ElementAt(ii).ElementAt(0));
  156. for (ii = 0; ii < List4array.GetSize(); ii++)
  157. hospitalCombo.AddString(List4array.ElementAt(ii).ElementAt(0));
  158. for (ii = 0; ii < List5array.GetSize(); ii++)
  159. fromCombo.AddString(List5array.ElementAt(ii).ElementAt(0));
  160. businesstypeCombo.AddString("");
  161. businessintentionCombo.AddString("");
  162. typeCombo.AddString("");
  163. hospitalCombo.AddString("");
  164. fromCombo.AddString("");
  165. }
  166. GetData();
  167. /* m_combo1.GetWindowRect (rc2);
  168. ScreenToClient(rc2);
  169. rc2.bottom +=200;
  170. m_combo1.MoveWindow (rc2);
  171. GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2);
  172. SetComboHei(&m_combo1, rc2.Height ());*/
  173. }
  174. void HospitalClient::OnBUTclose()
  175. {
  176. // TODO: Add your control notification handler code here
  177. GetParent()->SendMessage(WM_CLOSE);
  178. }
  179. void HospitalClient::OnSelchangeCombo1()
  180. {
  181. // TODO: Add your control notification handler code here
  182. SetTimer(1, 100, NULL);
  183. }
  184. void HospitalClient::OnTimer(UINT nIDEvent)
  185. {
  186. // TODO: Add your message handler code here and/or call default
  187. KillTimer(nIDEvent);
  188. OnButton1();
  189. }
  190. BOOL HospitalClient::PreTranslateMessage(MSG* pMsg)
  191. {
  192. // TODO: Add your specialized code here and/or call the base class
  193. try
  194. {
  195. if (pMsg->message == WM_KEYDOWN)
  196. {
  197. switch (pMsg->wParam)
  198. {
  199. case VK_RETURN:
  200. OnButton1();
  201. return 1;
  202. case 0x43: // copy
  203. if ((GetKeyState(VK_CONTROL) & 0x80))
  204. {
  205. GetFocus()->SendMessage(WM_COPY);
  206. return TRUE;
  207. }
  208. break;
  209. case 0x56: //Ctrl + V:
  210. if ((GetKeyState(VK_CONTROL) & 0x80))
  211. {
  212. GetFocus()->SendMessage(WM_PASTE);
  213. return TRUE;
  214. }
  215. break;
  216. case 0x58: // cut
  217. if ((GetKeyState(VK_CONTROL) & 0x80))
  218. {
  219. GetFocus()->SendMessage(WM_CUT);
  220. return TRUE;
  221. }
  222. break;
  223. case 0x5A: //undo
  224. case 0x59: //redo
  225. if ((GetKeyState(VK_CONTROL) & 0x80))
  226. {
  227. GetFocus()->SendMessage(WM_UNDO);
  228. return TRUE;
  229. }
  230. break;
  231. }
  232. }
  233. return MyFormView::PreTranslateMessage(pMsg);
  234. }
  235. catch (...)
  236. {
  237. }
  238. }
  239. extern int CALLBACK BrowseProc(HWND hwnd, UINT msg, LPARAM lParam, LPARAM lpData);
  240. /*{
  241. switch(msg)
  242. {
  243. case BFFM_INITIALIZED:
  244. SendMessage(hwnd, BFFM_SETSELECTION, TRUE, NULL);
  245. break;
  246. case BFFM_SELCHANGED:
  247. {
  248. char szFileName[MAX_PATH];
  249. LPITEMIDLIST pidlCurrent = (LPITEMIDLIST)lParam;
  250. SHGetPathFromIDList(pidlCurrent, szFileName);
  251. SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, (LPARAM)szFileName);
  252. }
  253. break;
  254. }
  255. return 0;
  256. }*/
  257. void HospitalClient::GetSavePath(CString &path)
  258. {
  259. char lpszDisplayName[MAX_PATH], szFileName[MAX_PATH];
  260. LPITEMIDLIST pidlDesktop, pidlCurrent;
  261. if (SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidlDesktop)
  262. == NOERROR)
  263. {
  264. BROWSEINFO bi;
  265. bi.hwndOwner = this->m_hWnd;
  266. bi.pidlRoot = pidlDesktop;
  267. bi.pszDisplayName = lpszDisplayName;
  268. bi.lpszTitle = "\n文档保存的目录:";
  269. bi.ulFlags = BIF_STATUSTEXT&BIF_RETURNONLYFSDIRS;
  270. bi.lpfn = BrowseProc;
  271. bi.lParam = 0;
  272. bi.iImage = 0;
  273. pidlCurrent = SHBrowseForFolder(&bi);
  274. SHGetPathFromIDList(pidlCurrent, szFileName);
  275. path = szFileName;
  276. }
  277. }
  278. int HospitalClient::FindArray(CStringArray *pArray, CString Str)
  279. {
  280. for (int i = 0; i < pArray->GetSize(); i++)
  281. {
  282. if (pArray->ElementAt(i) == Str)
  283. return i;
  284. }
  285. return -1;
  286. }
  287. void HospitalClient::GetNo(CString str, CStringArray &array)
  288. {
  289. if (!str.IsEmpty())
  290. {
  291. int pos = str.Find(",");
  292. while (pos != -1)
  293. {
  294. if (FindArray(&array, str.Left(pos)) == -1)
  295. array.Add(str.Left(pos));
  296. str = str.Right(str.GetLength() - pos - 1);
  297. pos = str.Find(",");
  298. }
  299. if (FindArray(&array, str) == -1)
  300. array.Add(str);
  301. }
  302. }
  303. CString HospitalClient::GetSelName(CString name, CArray<CStringArray, CStringArray>&spnamearray)
  304. {
  305. CString ret;
  306. name = "," + name + ",";
  307. CString str;
  308. for (int i = 0; i < spnamearray.GetSize(); i++)
  309. {
  310. str = "," + spnamearray.ElementAt(i).ElementAt(6) + ",";
  311. if (str.Find(name) != -1)
  312. {
  313. ret += spnamearray.ElementAt(i).ElementAt(5);
  314. ret += ";";
  315. }
  316. }
  317. ret.TrimRight(";");
  318. ret.Replace("*", "x");
  319. return ret;
  320. }
  321. void HospitalClient::OnBUTshowphoto()
  322. {
  323. // TODO: Add your control notification handler code here
  324. POSITION pos;
  325. pos = m_List1.GetFirstSelectedItemPosition();
  326. if (pos == NULL)
  327. {
  328. AfxMessageBox("请先选中您要查看的定单!", MB_ICONINFORMATION);
  329. return;
  330. }
  331. int iItem = m_List1.GetNextSelectedItem(pos);
  332. CString status = m_List1.GetItemText(iItem, 4);
  333. CString id = m_List1.GetItemText(iItem, 0);
  334. if (status == "未设计")
  335. {
  336. AfxMessageBox("此单未导片!", MB_ICONINFORMATION);
  337. return;
  338. }
  339. /* ShowPic dlg;
  340. dlg.m_path=g_path3+"\\";
  341. dlg.m_path+=id;
  342. dlg.m_path +="\\";
  343. dlg.DoModal ();*/
  344. ChoosePhotoSkin2 dlg;
  345. dlg.m_Runingmode = 1;
  346. dlg.SetLiaPath("3.lia");
  347. dlg.m_strOrderNumber = id;
  348. dlg.m_path = g_path3 + "\\";
  349. dlg.m_path += id;
  350. dlg.m_path += "\\";
  351. dlg.DoModal();
  352. for (int i = 0; i < m_List1array.GetSize(); i++)
  353. {
  354. if (id == m_List1array.ElementAt(i).ElementAt(0))
  355. {
  356. m_List1array.ElementAt(i).SetAt(7, dlg.m_bz2);
  357. // FillGrid();
  358. break;
  359. }
  360. }
  361. }
  362. // Jeff 2014.05.20:开始查询按钮;
  363. void HospitalClient::OnButton1() // 开始查询按钮;
  364. {
  365. // TODO: Add your control notification handler code here
  366. m_bSearchAll = 0;
  367. FillGrid();
  368. }
  369. // 全部查询按钮;
  370. void HospitalClient::OnButton2()// 全部查询按钮;
  371. {
  372. // TODO: Add your control notification handler code here
  373. m_bSearchAll = 1;
  374. FillGrid();
  375. }
  376. void HospitalClient::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
  377. {
  378. NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
  379. // TODO: Add your control notification handler code here
  380. *pResult = 0;
  381. }
  382. void HospitalClient::OnBUTHospitalClient()
  383. {
  384. // TODO: Add your control notification handler code here
  385. AddHospitalClient dlg;
  386. dlg.DoModal();
  387. GetData();
  388. }
  389. void HospitalClient::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
  390. {
  391. // TODO: Add your control notification handler code here
  392. POSITION pos;
  393. pos = m_List1.GetFirstSelectedItemPosition();
  394. if (pos == NULL)return;
  395. OnBUTburncd2();
  396. *pResult = 0;
  397. }
  398. void HospitalClient::OnBUTburncd2() // 修改按钮;
  399. {
  400. // TODO: Add your control notification handler code here
  401. POSITION pos;
  402. pos = m_List1.GetFirstSelectedItemPosition();
  403. if (pos == NULL)
  404. {
  405. AfxMessageBox("请先选中您要修改的客户!", MB_ICONINFORMATION);
  406. return;
  407. }
  408. int iItem = m_List1.GetNextSelectedItem(pos);
  409. CString id = m_List1.GetItemText(iItem, 0);
  410. while (id == "")
  411. {
  412. iItem--;
  413. id = m_List1.GetItemText(iItem, 0);
  414. }
  415. AddHospitalClient dlg;
  416. dlg.bAdd = 0;
  417. dlg.no = id;
  418. dlg.DoModal();
  419. GetData();
  420. }
  421. void HospitalClient::OnBUTburncd3()
  422. {
  423. // TODO: Add your control notification handler code here
  424. POSITION pos;
  425. pos = m_List1.GetFirstSelectedItemPosition();
  426. if (pos == NULL)
  427. {
  428. AfxMessageBox("请先选中您要删除的客户!", MB_ICONINFORMATION);
  429. return;
  430. }
  431. int iItem = m_List1.GetNextSelectedItem(pos);
  432. CString id = m_List1.GetItemText(iItem, 0);
  433. while (id == "")
  434. {
  435. iItem--;
  436. id = m_List1.GetItemText(iItem, 0);
  437. }
  438. if (AfxMessageBox("确认删除吗?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
  439. CString sql;
  440. sql.Format("delete from hospitalclient where id='%s'***delete from hospitalclientcontactreg where id='%s'", id, id);
  441. g_sendhead.bsql = 1;
  442. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  443. GetData();
  444. }
  445. void HospitalClient::OnBUTsendmsg() // 发短信 按钮;
  446. {
  447. // TODO: Add your control notification handler code here
  448. POSITION pos;
  449. pos = m_List1.GetFirstSelectedItemPosition();
  450. if (pos == NULL)
  451. {
  452. AfxMessageBox("请先选中您要发送短信的客人!", MB_ICONINFORMATION);
  453. return;
  454. }
  455. int iItem;
  456. CStringArray array;
  457. while (pos)
  458. {
  459. iItem = m_List1.GetNextSelectedItem(pos);
  460. // 获取手机号码;
  461. if (!m_List1.GetItemText(iItem, 9).IsEmpty())
  462. array.Add(m_List1.GetItemText(iItem, 9));
  463. if (!m_List1.GetItemText(iItem, 10).IsEmpty())
  464. array.Add(m_List1.GetItemText(iItem, 10));
  465. }
  466. SendMsgDlg dlg;
  467. dlg.m_mode = 2;
  468. dlg.m_pArray = &array;
  469. dlg.DoModal();
  470. }
  471. void HospitalClient::OnBUTprint3() // 导出按钮;
  472. {
  473. ListToXLS(&m_List1, "c:\\意向单列表.xls", 0);
  474. }
  475. // 获取数据
  476. void HospitalClient::GetData()
  477. {
  478. g_sendhead.bsql = 0;
  479. g_sendhead.code[0] = 205;
  480. g_sendhead.tabcount = 1;
  481. g_pMainWnd->ProcessChatMessageRequest2(1);
  482. if (g_bSendOK == 0)
  483. return;
  484. DataToArray(&m_List1array);
  485. if (m_List1array.GetSize())
  486. {
  487. CString id = m_List1array.ElementAt(0).ElementAt(0);
  488. for (int ii = 1; ii < m_List1array.GetSize(); ii++)
  489. {
  490. if (m_List1array.ElementAt(ii).ElementAt(0) == id)
  491. {
  492. m_List1array.ElementAt(ii).SetAt(0, "");
  493. m_List1array.ElementAt(ii).SetAt(1, "");
  494. m_List1array.ElementAt(ii).SetAt(2, "");
  495. m_List1array.ElementAt(ii).SetAt(3, "");
  496. m_List1array.ElementAt(ii).SetAt(4, "");
  497. m_List1array.ElementAt(ii).SetAt(5, "");
  498. m_List1array.ElementAt(ii).SetAt(6, "");
  499. m_List1array.ElementAt(ii).SetAt(7, "");
  500. m_List1array.ElementAt(ii).SetAt(8, "");
  501. m_List1array.ElementAt(ii).SetAt(9, "");
  502. m_List1array.ElementAt(ii).SetAt(10, "");
  503. m_List1array.ElementAt(ii).SetAt(11, "");
  504. m_List1array.ElementAt(ii).SetAt(12, "");
  505. m_List1array.ElementAt(ii).SetAt(13, "");
  506. m_List1array.ElementAt(ii).SetAt(14, "");
  507. m_List1array.ElementAt(ii).SetAt(15, "");
  508. m_List1array.ElementAt(ii).SetAt(21, "");
  509. m_List1array.ElementAt(ii).SetAt(22, "");
  510. m_List1array.ElementAt(ii).SetAt(23, ""); // Jeff Add 20014.05.20
  511. m_List1array.ElementAt(ii).SetAt(24, ""); // Jeff Add 20014.05.20
  512. }
  513. else
  514. id = m_List1array.ElementAt(ii).ElementAt(0);
  515. }
  516. }
  517. FillGrid();
  518. }
  519. void HospitalClient::FillGrid()
  520. {
  521. UpdateData();
  522. m_List1.DeleteAllItems2();
  523. int ii = 0;
  524. int maxsize = m_List1array.GetSize();
  525. m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1);
  526. CArray<int, int>signarray;
  527. for (int i = 0; i < maxsize; i++)
  528. signarray.Add(1);
  529. int count = 0;
  530. CArray<int, int>posarray;
  531. if (m_bSearchAll) // 查询全部hostpitalview的记录;
  532. {
  533. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  534. {
  535. #if 0 // Jeff;
  536. // LOG4C((LOG_NOTICE,"生日类型:%s",m_List1array.ElementAt(ii).ElementAt(4)));
  537. if ( m_List1array.ElementAt(ii).ElementAt(4) == "0")
  538. m_List1array.ElementAt(ii).SetAt(4,"宝宝生日");
  539. else
  540. m_List1array.ElementAt(ii).SetAt(4,"预产期");
  541. #endif
  542. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  543. }
  544. }
  545. else
  546. {
  547. CString date1 = m_date1.Format("%Y-%m-%d");
  548. CString date2 = m_date2.Format("%Y-%m-%d");
  549. CString type, hospital, from, clerk, businesstype, businessintention;
  550. // 客户类别;
  551. int pos = typeCombo.GetCurSel();
  552. if (pos != -1)
  553. {
  554. typeCombo.GetLBText(pos, type);
  555. }
  556. // 来单医院;
  557. pos = hospitalCombo.GetCurSel();
  558. if (pos != -1)
  559. {
  560. hospitalCombo.GetLBText(pos, hospital);
  561. }
  562. // 客户区域;
  563. pos = fromCombo.GetCurSel();
  564. if (pos != -1)
  565. {
  566. fromCombo.GetLBText(pos, from);
  567. }
  568. // 门市;
  569. pos = clerkCombo.GetCurSel();
  570. if (pos != -1)
  571. {
  572. clerkCombo.GetLBText(pos, clerk);
  573. }
  574. // 业务种类;
  575. pos = businesstypeCombo.GetCurSel();
  576. if (pos != -1)
  577. {
  578. businesstypeCombo.GetLBText(pos, businesstype);
  579. }
  580. // 业务意向;
  581. pos = businessintentionCombo.GetCurSel();
  582. if (pos != -1)
  583. {
  584. businessintentionCombo.GetLBText(pos, businessintention);
  585. }
  586. // 上门时间;
  587. if (m_datetype)
  588. {
  589. BOOL bFinded = 0;
  590. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  591. {
  592. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  593. {
  594. continue;
  595. }
  596. //if(m_List1array.ElementAt (ii).ElementAt (13)<date1 || m_List1array.ElementAt (ii).ElementAt (13)>date2)//Jeff:hostpitalview加了两个字段,这里不是13
  597. if (m_List1array.ElementAt(ii).ElementAt(15) < date1 || m_List1array.ElementAt(ii).ElementAt(15) > date2)
  598. {
  599. signarray.SetAt(ii, 0);
  600. bFinded = 0;
  601. continue;
  602. }
  603. bFinded = 1;
  604. }
  605. }
  606. // 客户区域;
  607. if (from != "")
  608. {
  609. BOOL bFinded = 0;
  610. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  611. {
  612. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  613. {
  614. continue;
  615. }
  616. //if(m_List1array.ElementAt (ii).ElementAt (4)!=from)////Jeff:hostpitalview加了两个字段,这里不为4
  617. if (m_List1array.ElementAt(ii).ElementAt(6) != from)
  618. {
  619. signarray.SetAt(ii, 0);
  620. bFinded = 0;
  621. continue;
  622. }
  623. bFinded = 1;
  624. }
  625. }
  626. // 客户类别;
  627. if (type != "")
  628. {
  629. BOOL bFinded = 0;
  630. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  631. {
  632. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  633. {
  634. continue;
  635. }
  636. //if(m_List1array.ElementAt (ii).ElementAt (5)!=type)//Jeff:hostpitalview加了两个字段,这里不为5
  637. if (m_List1array.ElementAt(ii).ElementAt(7) != type)
  638. {
  639. signarray.SetAt(ii, 0);
  640. bFinded = 0;
  641. continue;
  642. }
  643. bFinded = 1;
  644. }
  645. }
  646. // 来单医院;
  647. if (hospital != "")
  648. {
  649. BOOL bFinded = 0;
  650. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  651. {
  652. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  653. {
  654. continue;
  655. }
  656. //if(m_List1array.ElementAt (ii).ElementAt (6)!=hospital)//Jeff:hostpitalview加了两个字段,这里不为6
  657. if (m_List1array.ElementAt(ii).ElementAt(8) != hospital)
  658. {
  659. signarray.SetAt(ii, 0);
  660. bFinded = 0;
  661. continue;
  662. }
  663. bFinded = 1;
  664. }
  665. }
  666. // 门市;
  667. if (clerk != "")
  668. {
  669. BOOL bFinded = 0;
  670. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  671. {
  672. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  673. {
  674. continue;
  675. }
  676. //if(m_List1array.ElementAt (ii).ElementAt (14)!=clerk)//Jeff:hostpitalview加了两个字段,这里不为14
  677. if (m_List1array.ElementAt(ii).ElementAt(16) != clerk)//
  678. {
  679. signarray.SetAt(ii, 0);
  680. bFinded = 0;
  681. continue;
  682. }
  683. bFinded = 1;
  684. }
  685. }
  686. // 手机;
  687. if (m_phone != "")
  688. {
  689. BOOL bFinded = 0;
  690. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  691. {
  692. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  693. {
  694. continue;
  695. }
  696. //Jeff:hostpitalview加了两个字段,这里不为7/8
  697. //if(m_List1array.ElementAt (ii).ElementAt (7).Find(m_phone)==-1 && m_List1array.ElementAt (ii).ElementAt (8).Find(m_phone)==-1)
  698. if (m_List1array.ElementAt(ii).ElementAt(9).Find(m_phone) == -1 && m_List1array.ElementAt(ii).ElementAt(10).Find(m_phone) == -1)
  699. {
  700. signarray.SetAt(ii, 0);
  701. bFinded = 0;
  702. continue;
  703. }
  704. bFinded = 1;
  705. }
  706. }
  707. // 地址;
  708. if (m_addr != "")
  709. {
  710. BOOL bFinded = 0;
  711. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  712. {
  713. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  714. {
  715. continue;
  716. }
  717. //Jeff:hostpitalview加了两个字段,这里不为10/11/12
  718. //if(m_List1array.ElementAt (ii).ElementAt (10).Find(m_addr)==-1 && m_List1array.ElementAt (ii).ElementAt (11).Find(m_addr)==-1 && m_List1array.ElementAt (ii).ElementAt (12).Find(m_addr)==-1)
  719. if (m_List1array.ElementAt(ii).ElementAt(12).Find(m_addr) == -1 && m_List1array.ElementAt(ii).ElementAt(13).Find(m_addr) == -1 && m_List1array.ElementAt(ii).ElementAt(14).Find(m_addr) == -1)
  720. {
  721. signarray.SetAt(ii, 0);
  722. bFinded = 0;
  723. continue;
  724. }
  725. bFinded = 1;
  726. }
  727. }
  728. // 单号;
  729. if (m_id != "")
  730. {
  731. BOOL bFinded = 0;
  732. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  733. {
  734. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  735. {
  736. continue;
  737. }
  738. if (m_List1array.ElementAt(ii).ElementAt(0).Find(m_id) == -1)
  739. {
  740. signarray.SetAt(ii, 0);
  741. bFinded = 0;
  742. continue;
  743. }
  744. bFinded = 1;
  745. }
  746. }
  747. // 名字;
  748. if (m_name != "")
  749. {
  750. m_name.MakeUpper();
  751. BOOL bFinded = 0;
  752. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  753. {
  754. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty())
  755. {
  756. continue;
  757. }
  758. //Jeff:hostpitalview加了两个字段,这里不为21/22
  759. //if(m_List1array.ElementAt (ii).ElementAt (1).Find(m_name)==-1 && m_List1array.ElementAt (ii).ElementAt (2).Find(m_name)==-1 && m_List1array.ElementAt (ii).ElementAt (21).Find(m_name)==-1 && m_List1array.ElementAt (ii).ElementAt (22).Find(m_name)==-1)
  760. if (m_List1array.ElementAt(ii).ElementAt(1).Find(m_name) == -1 && m_List1array.ElementAt(ii).ElementAt(2).Find(m_name) == -1 && m_List1array.ElementAt(ii).ElementAt(23).Find(m_name) == -1 && m_List1array.ElementAt(ii).ElementAt(24).Find(m_name) == -1)
  761. {
  762. signarray.SetAt(ii, 0);
  763. bFinded = 0;
  764. continue;
  765. }
  766. bFinded = 1;
  767. }
  768. }
  769. // 日期类型;
  770. if (m_datetype == 0)
  771. {
  772. BOOL bFinded = 0;
  773. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  774. {
  775. if (0)//bFinded && m_List1array.ElementAt (ii).ElementAt (0).IsEmpty ())
  776. {
  777. continue;
  778. }
  779. //Jeff:hostpitalview加了两个字段,这里不为18
  780. //if(m_List1array.ElementAt (ii).ElementAt (18)<date1 || m_List1array.ElementAt (ii).ElementAt (18)>date2)
  781. if (m_List1array.ElementAt(ii).ElementAt(20) < date1 || m_List1array.ElementAt(ii).ElementAt(20) > date2)
  782. {
  783. signarray.SetAt(ii, 0);
  784. bFinded = 0;
  785. continue;
  786. }
  787. bFinded = 1;
  788. }
  789. }
  790. // 业务类型;
  791. if (businesstype != "")
  792. {
  793. BOOL bFinded = 0;
  794. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  795. {
  796. if (0)//bFinded && m_List1array.ElementAt (ii).ElementAt (0).IsEmpty ())
  797. {
  798. continue;
  799. }
  800. //Jeff:hostpitalview加了两个字段,这里不为16
  801. //if(m_List1array.ElementAt (ii).ElementAt (16)!=businesstype)
  802. if (m_List1array.ElementAt(ii).ElementAt(18) != businesstype)
  803. {
  804. signarray.SetAt(ii, 0);
  805. bFinded = 0;
  806. continue;
  807. }
  808. bFinded = 1;
  809. }
  810. }
  811. // 业务意向;
  812. if (businessintention != "")
  813. {
  814. BOOL bFinded = 0;
  815. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  816. {
  817. if (0)//bFinded && m_List1array.ElementAt (ii).ElementAt (0).IsEmpty ())
  818. {
  819. continue;
  820. }
  821. //Jeff:hostpitalview加了两个字段,这里不为17
  822. //if(m_List1array.ElementAt (ii).ElementAt (17)!=businessintention)
  823. if (m_List1array.ElementAt(ii).ElementAt(19) != businessintention)
  824. {
  825. signarray.SetAt(ii, 0);
  826. bFinded = 0;
  827. continue;
  828. }
  829. bFinded = 1;
  830. }
  831. }
  832. for (ii = 0; ii < signarray.GetSize(); ii++)
  833. {
  834. if (signarray.ElementAt(ii))
  835. {
  836. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  837. posarray.Add(ii);
  838. }
  839. }
  840. }
  841. m_List1.m_arLabels.SetSize(count, 1);
  842. // 非全部查询;
  843. if (m_bSearchAll == 0)
  844. {
  845. for (int i = 0; i < posarray.GetSize(); i++)
  846. {
  847. int pos = posarray.ElementAt(i);
  848. CString id = m_List1array.ElementAt(pos).ElementAt(0);
  849. while (id == "")
  850. {
  851. pos--;
  852. id = m_List1array.ElementAt(pos).ElementAt(0);
  853. }
  854. posarray.SetAt(i, pos);
  855. }
  856. for (i = 0; i < count; i++)
  857. {
  858. if (m_List1.m_arLabels.ElementAt(i).ElementAt(0) == "")
  859. {
  860. int pos = posarray.ElementAt(i);
  861. m_List1.m_arLabels.ElementAt(i).SetAt(0, m_List1array.ElementAt(pos).ElementAt(0));
  862. m_List1.m_arLabels.ElementAt(i).SetAt(1, m_List1array.ElementAt(pos).ElementAt(1));
  863. m_List1.m_arLabels.ElementAt(i).SetAt(2, m_List1array.ElementAt(pos).ElementAt(2));
  864. m_List1.m_arLabels.ElementAt(i).SetAt(3, m_List1array.ElementAt(pos).ElementAt(3));
  865. #if 0 // Jeff
  866. // LOG4C((LOG_NOTICE,"生日类型:%s",m_List1array.ElementAt(pos).ElementAt(4)));
  867. // 生日类型:预产期、
  868. CString strBirthdayType = "";
  869. if ( m_List1array.ElementAt(pos).ElementAt(4) == "0")
  870. {
  871. strBirthdayType = "宝宝生日";
  872. }
  873. else
  874. {
  875. strBirthdayType = "预产期";
  876. }
  877. m_List1.m_arLabels.ElementAt (i).SetAt (4, strBirthdayType );
  878. #else
  879. m_List1.m_arLabels.ElementAt(i).SetAt(4, m_List1array.ElementAt(pos).ElementAt(4));
  880. #endif
  881. m_List1.m_arLabels.ElementAt(i).SetAt(5, m_List1array.ElementAt(pos).ElementAt(5));
  882. m_List1.m_arLabels.ElementAt(i).SetAt(6, m_List1array.ElementAt(pos).ElementAt(6));
  883. m_List1.m_arLabels.ElementAt(i).SetAt(7, m_List1array.ElementAt(pos).ElementAt(7));
  884. m_List1.m_arLabels.ElementAt(i).SetAt(8, m_List1array.ElementAt(pos).ElementAt(8));
  885. m_List1.m_arLabels.ElementAt(i).SetAt(9, m_List1array.ElementAt(pos).ElementAt(9));
  886. m_List1.m_arLabels.ElementAt(i).SetAt(10, m_List1array.ElementAt(pos).ElementAt(10));
  887. m_List1.m_arLabels.ElementAt(i).SetAt(11, m_List1array.ElementAt(pos).ElementAt(11));
  888. m_List1.m_arLabels.ElementAt(i).SetAt(12, m_List1array.ElementAt(pos).ElementAt(12));
  889. m_List1.m_arLabels.ElementAt(i).SetAt(13, m_List1array.ElementAt(pos).ElementAt(13));
  890. m_List1.m_arLabels.ElementAt(i).SetAt(14, m_List1array.ElementAt(pos).ElementAt(14));
  891. m_List1.m_arLabels.ElementAt(i).SetAt(15, m_List1array.ElementAt(pos).ElementAt(15));
  892. m_List1.m_arLabels.ElementAt(i).SetAt(21, m_List1array.ElementAt(pos).ElementAt(21));
  893. m_List1.m_arLabels.ElementAt(i).SetAt(22, m_List1array.ElementAt(pos).ElementAt(22));
  894. m_List1.m_arLabels.ElementAt(i).SetAt(23, m_List1array.ElementAt(pos).ElementAt(21));// add Jeff 0214.05.21
  895. m_List1.m_arLabels.ElementAt(i).SetAt(24, m_List1array.ElementAt(pos).ElementAt(22));// add Jeff 0214.05.21
  896. }
  897. }
  898. if (m_List1.m_arLabels.GetSize())
  899. {
  900. CString id = m_List1.m_arLabels.ElementAt(0).ElementAt(0);
  901. for (int ii = 1; ii < m_List1.m_arLabels.GetSize(); ii++)
  902. {
  903. if (m_List1.m_arLabels.ElementAt(ii).ElementAt(0) == id)
  904. {
  905. m_List1.m_arLabels.ElementAt(ii).SetAt(0, "");
  906. m_List1.m_arLabels.ElementAt(ii).SetAt(1, "");
  907. m_List1.m_arLabels.ElementAt(ii).SetAt(2, "");
  908. m_List1.m_arLabels.ElementAt(ii).SetAt(3, "");
  909. m_List1.m_arLabels.ElementAt(ii).SetAt(4, "");
  910. m_List1.m_arLabels.ElementAt(ii).SetAt(5, "");
  911. m_List1.m_arLabels.ElementAt(ii).SetAt(6, "");
  912. m_List1.m_arLabels.ElementAt(ii).SetAt(7, "");
  913. m_List1.m_arLabels.ElementAt(ii).SetAt(8, "");
  914. m_List1.m_arLabels.ElementAt(ii).SetAt(9, "");
  915. m_List1.m_arLabels.ElementAt(ii).SetAt(10, "");
  916. m_List1.m_arLabels.ElementAt(ii).SetAt(11, "");
  917. m_List1.m_arLabels.ElementAt(ii).SetAt(12, "");
  918. m_List1.m_arLabels.ElementAt(ii).SetAt(13, "");
  919. m_List1.m_arLabels.ElementAt(ii).SetAt(14, "");
  920. m_List1.m_arLabels.ElementAt(ii).SetAt(15, "");
  921. m_List1.m_arLabels.ElementAt(ii).SetAt(21, "");
  922. m_List1.m_arLabels.ElementAt(ii).SetAt(22, "");
  923. m_List1.m_arLabels.ElementAt(ii).SetAt(23, "");// add by Jeff 2014.05.21
  924. m_List1.m_arLabels.ElementAt(ii).SetAt(24, "");// add by Jeff 2014.05.21
  925. }
  926. else
  927. id = m_List1.m_arLabels.ElementAt(ii).ElementAt(0);
  928. }
  929. }
  930. }
  931. ii = count;
  932. m_List1.m_LabelCount = ii;
  933. m_List1.SetItemCountEx(ii);
  934. CString str;
  935. str.Format("项目:%d", ii);
  936. SetDlgItemText(IDC_STATIC2, str);
  937. }