SetLeftBar.cpp 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. // SetLeftBar.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "SetLeftBar.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // SetLeftBar dialog
  13. SetLeftBar::SetLeftBar(CWnd* pParent /*=NULL*/)
  14. : CDialog(SetLeftBar::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(SetLeftBar)
  17. // NOTE: the ClassWizard will add member initialization here
  18. //}}AFX_DATA_INIT
  19. }
  20. void SetLeftBar::DoDataExchange(CDataExchange* pDX)
  21. {
  22. CDialog::DoDataExchange(pDX);
  23. //{{AFX_DATA_MAP(SetLeftBar)
  24. // NOTE: the ClassWizard will add DDX and DDV calls here
  25. //}}AFX_DATA_MAP
  26. }
  27. BEGIN_MESSAGE_MAP(SetLeftBar, CDialog)
  28. //{{AFX_MSG_MAP(SetLeftBar)
  29. ON_WM_DESTROY()
  30. //}}AFX_MSG_MAP
  31. END_MESSAGE_MAP()
  32. /////////////////////////////////////////////////////////////////////////////
  33. // SetLeftBar message handlers
  34. BOOL SetLeftBar::OnInitDialog()
  35. {
  36. // LOG4C((LOG_NOTICE,"SetLeftBar::OnInitDialog"));
  37. CDialog::OnInitDialog();
  38. CString filter = "account='" + m_account + "'";
  39. g_sendhead.bsql = 0;
  40. g_sendhead.code[0] = 23;
  41. g_sendhead.tabcount = 1;
  42. g_pMainWnd->ProcessChatMessageRequest2(filter);
  43. if (g_bSendOK == 0)
  44. {
  45. CDialog::OnCancel();
  46. return 0;
  47. }
  48. DataToArray(&g_List1array);
  49. if (g_List1array.GetSize() == 0)
  50. {
  51. CDialog::OnCancel();
  52. return 0;
  53. }
  54. // Jeff.case 23 at[4]界面分配;
  55. m_rights = g_List1array.ElementAt(0).ElementAt(4);
  56. // ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  57. ::MoveWindow(m_hWnd, 0, g_rc.top, g_rc.left + g_rc.Width(), g_rc.Height(), TRUE);
  58. // TODO: Add extra initialization here
  59. List1array.SetSize(15, 0);
  60. List1array.ElementAt(0).Add("门市流程");
  61. List1array.ElementAt(0).Add("开单");
  62. List1array.ElementAt(1).Add("财务管理");
  63. List1array.ElementAt(1).Add("订单收款");
  64. List1array.ElementAt(1).Add("其它二销");
  65. List1array.ElementAt(1).Add("现金支出");
  66. List1array.ElementAt(1).Add("其它收入");
  67. List1array.ElementAt(1).Add("提成比例");
  68. // List1array.ElementAt (1).Add ("员工工作");
  69. List1array.ElementAt(1).Add("计件提成"); // Jeff
  70. List1array.ElementAt(1).Add("工资管理");
  71. List1array.ElementAt(1).Add("员工奖罚");
  72. List1array.ElementAt(2).Add("统计查询");
  73. List1array.ElementAt(2).Add("日财务表");
  74. List1array.ElementAt(2).Add("月财务表");
  75. List1array.ElementAt(2).Add("年财务表");
  76. List1array.ElementAt(2).Add("年财务图表");
  77. List1array.ElementAt(2).Add("订单图表");
  78. List1array.ElementAt(2).Add("成本核算");
  79. List1array.ElementAt(2).Add("工资报表");
  80. List1array.ElementAt(2).Add("员工业绩");
  81. List1array.ElementAt(2).Add("员工资料");
  82. List1array.ElementAt(2).Add("员工奖惩");
  83. List1array.ElementAt(2).Add("客户区域");
  84. List1array.ElementAt(3).Add(" 短信管理 "); // 2014.05.19 按要求将"短信群发"改成"短信管理"
  85. List1array.ElementAt(3).Add("短信群发");
  86. List1array.ElementAt(3).Add("短信发送");
  87. List1array.ElementAt(3).Add("流程短信");
  88. List1array.ElementAt(3).Add("员工短信");
  89. List1array.ElementAt(3).Add("发送记录");
  90. List1array.ElementAt(3).Add("短信设置");
  91. List1array.ElementAt(4).Add("会员管理");
  92. List1array.ElementAt(4).Add("金卡会员");
  93. List1array.ElementAt(4).Add("现金子卡");
  94. List1array.ElementAt(4).Add("金卡图表");
  95. List1array.ElementAt(4).Add("积分短信");
  96. List1array.ElementAt(4).Add("蓝钻会员");
  97. List1array.ElementAt(4).Add("转介绍返现");
  98. List1array.ElementAt(4).Add("转介绍图表");
  99. List1array.ElementAt(4).Add("积分设置");
  100. List1array.ElementAt(5).Add("礼服管理");
  101. List1array.ElementAt(5).Add("礼服录入");
  102. List1array.ElementAt(5).Add("礼服查看");
  103. List1array.ElementAt(5).Add("礼服出租");
  104. List1array.ElementAt(5).Add("撞期预警");
  105. List1array.ElementAt(5).Add("礼服图片");
  106. List1array.ElementAt(6).Add("库存管理");
  107. List1array.ElementAt(6).Add("入库单");
  108. List1array.ElementAt(6).Add("出库单");
  109. List1array.ElementAt(6).Add("库存查询");
  110. List1array.ElementAt(6).Add("商品图表");
  111. List1array.ElementAt(6).Add("固定资产管理");
  112. List1array.ElementAt (7).Add ("客户管理");
  113. List1array.ElementAt (7).Add ("服务跟踪");
  114. List1array.ElementAt (7).Add ("意向客户");
  115. List1array.ElementAt (7).Add ("服务记录");
  116. List1array.ElementAt (7).Add ("服务统计");
  117. List1array.ElementAt (7).Add ("每日签到");
  118. List1array.ElementAt (7).Add ("服务费");
  119. List1array.ElementAt (7).Add ("客户短信");
  120. List1array.ElementAt (7).Add ("满意度");
  121. List1array.ElementAt (7).Add ("满意度图表");
  122. List1array.ElementAt (7).Add ("客户流失");
  123. List1array.ElementAt (7).Add ("客户来源");
  124. List1array.ElementAt(8).Add("来电精灵");
  125. List1array.ElementAt(8).Add("客户来电");
  126. List1array.ElementAt(8).Add("拨出电话");
  127. List1array.ElementAt(8).Add("未接来电");
  128. List1array.ElementAt(9).Add("员工考勤");
  129. List1array.ElementAt(9).Add("考勤记录");
  130. List1array.ElementAt(9).Add("月统计");
  131. List1array.ElementAt(9).Add("时间设置");
  132. List1array.ElementAt(9).Add("排班设置");
  133. List1array.ElementAt(10).Add("客户服务");
  134. List1array.ElementAt(10).Add("满意度");
  135. List1array.ElementAt(10).Add("满意度图表");
  136. #if JEFF_DELETE_ON // 2014.11.14-PM 16:20
  137. List1array.ElementAt(10).Add("回复统计");
  138. #endif
  139. BOOL bHospital = 0;
  140. if (g_cominfoarray.GetSize())
  141. {
  142. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(125)))
  143. {
  144. bHospital = 1;
  145. }
  146. }
  147. if (bHospital)
  148. {
  149. List1array.ElementAt(11).Add("医院跟踪系统");
  150. List1array.ElementAt(11).Add("意向查询");
  151. List1array.ElementAt(11).Add("意向单录入");
  152. List1array.ElementAt(11).Add("今日提醒");
  153. List1array.ElementAt(11).Add("跟踪短信");
  154. List1array.ElementAt(11).Add("资料设置");
  155. }
  156. for (int i = 0; i < 15; i++)
  157. {
  158. while (List1array.ElementAt(i).GetSize() < 20)
  159. List1array.ElementAt(i).Add("");
  160. }
  161. CRect rc(10, 0, 15, 15);
  162. CString str;
  163. int itemcount = 11;
  164. if (bHospital)itemcount++;
  165. for (int a = 0; a < itemcount; a++)
  166. {
  167. rc.right = rc.left + 100;
  168. rc.top = 20;
  169. for (int b = 0; b < 20; b++)
  170. {
  171. str = List1array.ElementAt(a).ElementAt(b);
  172. if (str.IsEmpty())break;
  173. CButton *pBtn = new CButton;
  174. rc.top += 22;
  175. rc.bottom = rc.top + 17;
  176. pBtn->Create(str, WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX | BS_FLAT, rc, this, 123);
  177. if (b == 0)
  178. {
  179. if (IsHasRightsHead(m_rights, str))
  180. pBtn->SetCheck(1);
  181. }
  182. else
  183. {
  184. if (IsHasRightsItem(m_rights, List1array.ElementAt(a).ElementAt(0), str))
  185. pBtn->SetCheck(1);
  186. }
  187. m_pCheckArray.Add(pBtn);
  188. }
  189. if (g_screenwid <= 1024)
  190. rc.left += 101;
  191. else
  192. rc.left += 105;
  193. }
  194. return TRUE;
  195. }
  196. void SetLeftBar::SetRights(CString rights)
  197. {
  198. // int header[]={};
  199. }
  200. void SetLeftBar::OnDestroy()
  201. {
  202. // TODO: Add your message handler code here
  203. for (int i = 0; i < m_pCheckArray.GetSize(); i++)
  204. {
  205. CButton *pBtn = m_pCheckArray.ElementAt(i);
  206. pBtn->DestroyWindow();
  207. delete pBtn;
  208. }
  209. CDialog::OnDestroy();
  210. }
  211. BOOL SetLeftBar::IsHasRightsHead(CString rights, CString name)
  212. {
  213. name = "*" + name + ";1;";
  214. int pos = rights.Find(name);
  215. if (pos == -1)return 0;
  216. return 1;
  217. }
  218. BOOL SetLeftBar::IsHasRightsItem(CString rights, CString head, CString name)
  219. {
  220. head = "*" + head + ";";
  221. int pos = rights.Find(head);
  222. if (pos == -1)return 0;
  223. rights = rights.Right(rights.GetLength() - pos - head.GetLength() - 2);
  224. pos = rights.Find("*");
  225. if (pos != -1)
  226. rights = rights.Left(pos);
  227. if (rights.Find(name) != -1)return 1;
  228. return 0;
  229. }
  230. void SetLeftBar::OnOK()
  231. {
  232. // TODO: Add extra validation here
  233. m_rights.Empty();
  234. for (int i = 0; i < m_pCheckArray.GetSize(); i++)
  235. {
  236. CButton *pBtn = m_pCheckArray.ElementAt(i);
  237. CString str;
  238. pBtn->GetWindowText(str);
  239. if (IsHeader(str))
  240. {
  241. m_rights += "*" + str + ";";
  242. if (pBtn->GetCheck() == 0)
  243. m_rights += "0;";
  244. else
  245. m_rights += "1;";
  246. }
  247. else
  248. {
  249. if (pBtn->GetCheck() == 0)continue;
  250. m_rights += str + ";";
  251. }
  252. }
  253. CString sql;
  254. sql.Format("update [user] set [rights2]='%s' where [account]='%s' ", m_rights, m_account);
  255. g_sendhead.bsql = 1;
  256. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  257. AfxMessageBox("保存成功!");
  258. //AfxMessageBox(sql);
  259. CDialog::OnOK();
  260. }
  261. BOOL SetLeftBar::IsHeader(CString name)
  262. {
  263. for (int i = 0; i < List1array.GetSize(); i++)
  264. {
  265. if (name == List1array.ElementAt(i).ElementAt(0))return 1;
  266. }
  267. return 0;
  268. }