SetLeftBar.cpp 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  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(0).Add("拍照");
  63. List1array.ElementAt(0).Add("修片");
  64. List1array.ElementAt(0).Add("选片");
  65. List1array.ElementAt(0).Add("精修");
  66. List1array.ElementAt(0).Add("设计");
  67. List1array.ElementAt(0).Add("刻盘");
  68. List1array.ElementAt(0).Add("相片冲印");
  69. List1array.ElementAt(0).Add("发片/取件");
  70. List1array.ElementAt(0).Add("数码安排");
  71. List1array.ElementAt(1).Add("财务管理");
  72. List1array.ElementAt(1).Add("订单收款");
  73. List1array.ElementAt(1).Add("其它二销");
  74. List1array.ElementAt(1).Add("现金支出");
  75. List1array.ElementAt(1).Add("其它收入");
  76. List1array.ElementAt(1).Add("提成比例");
  77. // List1array.ElementAt (1).Add ("员工工作");
  78. List1array.ElementAt(1).Add("计件提成"); // Jeff
  79. List1array.ElementAt(1).Add("工资管理");
  80. List1array.ElementAt(1).Add("员工奖罚");
  81. List1array.ElementAt(2).Add("统计查询");
  82. List1array.ElementAt(2).Add("日财务表");
  83. List1array.ElementAt(2).Add("月财务表");
  84. List1array.ElementAt(2).Add("年财务表");
  85. List1array.ElementAt(2).Add("年财务图表");
  86. List1array.ElementAt(2).Add("订单图表");
  87. List1array.ElementAt(2).Add("成本核算");
  88. List1array.ElementAt(2).Add("工资报表");
  89. List1array.ElementAt(2).Add("员工业绩");
  90. List1array.ElementAt(2).Add("员工资料");
  91. List1array.ElementAt(2).Add("员工奖惩");
  92. List1array.ElementAt(2).Add("客户区域");
  93. //List1array.ElementAt (3).Add (" 短信群发 "); // remark by jeff
  94. List1array.ElementAt(3).Add(" 短信管理 "); // 2014.05.19 按要求将"短信群发"改成"短信管理"
  95. List1array.ElementAt(3).Add("短信群发");
  96. List1array.ElementAt(3).Add("短信发送");
  97. List1array.ElementAt(3).Add("流程短信");
  98. List1array.ElementAt(3).Add("员工短信");
  99. List1array.ElementAt(3).Add("发送记录");
  100. List1array.ElementAt(3).Add("短信设置");
  101. List1array.ElementAt(4).Add("会员管理");
  102. List1array.ElementAt(4).Add("金卡会员");
  103. List1array.ElementAt(4).Add("现金子卡");
  104. List1array.ElementAt(4).Add("金卡图表");
  105. List1array.ElementAt(4).Add("积分短信");
  106. List1array.ElementAt(4).Add("蓝钻会员");
  107. List1array.ElementAt(4).Add("转介绍返现");
  108. List1array.ElementAt(4).Add("转介绍图表");
  109. List1array.ElementAt(4).Add("积分设置");
  110. List1array.ElementAt(5).Add("礼服管理");
  111. List1array.ElementAt(5).Add("礼服录入");
  112. List1array.ElementAt(5).Add("礼服查看");
  113. List1array.ElementAt(5).Add("礼服出租");
  114. List1array.ElementAt(5).Add("撞期预警");
  115. List1array.ElementAt(5).Add("礼服图片");
  116. List1array.ElementAt(6).Add("库存管理");
  117. List1array.ElementAt(6).Add("入库单");
  118. List1array.ElementAt(6).Add("出库单");
  119. List1array.ElementAt(6).Add("库存查询");
  120. List1array.ElementAt(6).Add("商品图表");
  121. List1array.ElementAt(6).Add("固定资产管理");
  122. List1array.ElementAt(7).Add("客户管理");
  123. List1array.ElementAt(7).Add("订单客户");
  124. List1array.ElementAt(7).Add("老客户");
  125. List1array.ElementAt(7).Add("意向客户");
  126. List1array.ElementAt(7).Add("客户流失");
  127. List1array.ElementAt(7).Add("客户来源");
  128. List1array.ElementAt(8).Add("来电精灵");
  129. List1array.ElementAt(8).Add("客户来电");
  130. List1array.ElementAt(8).Add("拨出电话");
  131. List1array.ElementAt(8).Add("未接来电");
  132. List1array.ElementAt(9).Add("员工考勤");
  133. List1array.ElementAt(9).Add("考勤记录");
  134. List1array.ElementAt(9).Add("月统计");
  135. List1array.ElementAt(9).Add("时间设置");
  136. List1array.ElementAt(9).Add("排班设置");
  137. List1array.ElementAt(10).Add("客户服务");
  138. List1array.ElementAt(10).Add("满意度");
  139. List1array.ElementAt(10).Add("满意度汇总");
  140. #if JEFF_DELETE_ON // 2014.11.14-PM 16:20
  141. List1array.ElementAt(10).Add("回复统计");
  142. #endif
  143. List1array.ElementAt(11).Add(_T("微信公众号"));
  144. List1array.ElementAt(11).Add(_T("公众号设置"));
  145. List1array.ElementAt(11).Add(_T("模板消息设置"));
  146. List1array.ElementAt(11).Add(_T("推送记录"));
  147. BOOL bHospital = 0;
  148. if (g_cominfoarray.GetSize())
  149. {
  150. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(125)))
  151. {
  152. bHospital = 1;
  153. }
  154. }
  155. if (bHospital)
  156. {
  157. #if 1
  158. List1array.ElementAt(12).Add("医院跟踪系统");
  159. List1array.ElementAt(12).Add("意向查询");
  160. List1array.ElementAt(12).Add("意向单录入");
  161. List1array.ElementAt(12).Add("今日提醒");
  162. List1array.ElementAt(12).Add("跟踪短信");
  163. List1array.ElementAt(12).Add("资料设置");
  164. #else
  165. List1array.ElementAt(11).Add("医院跟踪系统");
  166. List1array.ElementAt(11).Add("意向查询");
  167. List1array.ElementAt(11).Add("意向单录入");
  168. List1array.ElementAt(11).Add("今日提醒");
  169. List1array.ElementAt(11).Add("跟踪短信");
  170. List1array.ElementAt(11).Add("资料设置");
  171. #endif
  172. }
  173. for (int i = 0; i < 15; i++)
  174. {
  175. while (List1array.ElementAt(i).GetSize() < 20)
  176. List1array.ElementAt(i).Add("");
  177. }
  178. CRect rc(10, 0, 15, 15);
  179. CString str;
  180. int itemcount = g_nDrawerCount; // 侧边栏数量;
  181. if (bHospital)itemcount++;
  182. for (int a = 0; a < itemcount; a++)
  183. {
  184. rc.right = rc.left + 100;
  185. rc.top = 20;
  186. for (int b = 0; b < 20; b++)
  187. {
  188. str = List1array.ElementAt(a).ElementAt(b);
  189. if (str.IsEmpty())break;
  190. CButton *pBtn = new CButton;
  191. rc.top += 22;
  192. rc.bottom = rc.top + 17;
  193. pBtn->Create(str, WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX | BS_FLAT, rc, this, 123);
  194. if (b == 0)
  195. {
  196. if (IsHasRightsHead(m_rights, str))
  197. pBtn->SetCheck(1);
  198. }
  199. else
  200. {
  201. if (IsHasRightsItem(m_rights, List1array.ElementAt(a).ElementAt(0), str))
  202. pBtn->SetCheck(1);
  203. }
  204. m_pCheckArray.Add(pBtn);
  205. }
  206. if (g_screenwid <= 1024)
  207. rc.left += 101;
  208. else
  209. rc.left += 105;
  210. }
  211. return TRUE; // return TRUE unless you set the focus to a control
  212. // EXCEPTION: OCX Property Pages should return FALSE
  213. }
  214. void SetLeftBar::SetRights(CString rights)
  215. {
  216. // int header[]={};
  217. }
  218. void SetLeftBar::OnDestroy()
  219. {
  220. // TODO: Add your message handler code here
  221. for (int i = 0; i < m_pCheckArray.GetSize(); i++)
  222. {
  223. CButton *pBtn = m_pCheckArray.ElementAt(i);
  224. pBtn->DestroyWindow();
  225. delete pBtn;
  226. }
  227. CDialog::OnDestroy();
  228. }
  229. BOOL SetLeftBar::IsHasRightsHead(CString rights, CString name)
  230. {
  231. name = "*" + name + ";1;";
  232. int pos = rights.Find(name);
  233. if (pos == -1)return 0;
  234. return 1;
  235. }
  236. BOOL SetLeftBar::IsHasRightsItem(CString rights, CString head, CString name)
  237. {
  238. head = "*" + head + ";";
  239. int pos = rights.Find(head);
  240. if (pos == -1)return 0;
  241. rights = rights.Right(rights.GetLength() - pos - head.GetLength() - 2);
  242. pos = rights.Find("*");
  243. if (pos != -1)
  244. rights = rights.Left(pos);
  245. if (rights.Find(name) != -1)return 1;
  246. return 0;
  247. }
  248. void SetLeftBar::OnOK()
  249. {
  250. // TODO: Add extra validation here
  251. m_rights.Empty();
  252. for (int i = 0; i < m_pCheckArray.GetSize(); i++)
  253. {
  254. CButton *pBtn = m_pCheckArray.ElementAt(i);
  255. CString str;
  256. pBtn->GetWindowText(str);
  257. if (IsHeader(str))
  258. {
  259. m_rights += "*" + str + ";";
  260. if (pBtn->GetCheck() == 0)
  261. m_rights += "0;";
  262. else
  263. m_rights += "1;";
  264. }
  265. else
  266. {
  267. if (pBtn->GetCheck() == 0)continue;
  268. m_rights += str + ";";
  269. }
  270. }
  271. CString sql;
  272. sql.Format("update [user] set [rights2]='%s' where [account]='%s' ", m_rights, m_account);
  273. g_sendhead.bsql = 1;
  274. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  275. AfxMessageBox("保存成功!");
  276. //AfxMessageBox(sql);
  277. CDialog::OnOK();
  278. }
  279. BOOL SetLeftBar::IsHeader(CString name)
  280. {
  281. for (int i = 0; i < List1array.GetSize(); i++)
  282. {
  283. if (name == List1array.ElementAt(i).ElementAt(0))return 1;
  284. }
  285. return 0;
  286. }