SetLeftBar.cpp 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  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. #ifdef LYFZ_VERSION
  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 (7).Add ("服务费");
  129. List1array.ElementAt (7).Add ("客户短信");
  130. List1array.ElementAt (7).Add ("满意度");
  131. List1array.ElementAt (7).Add ("满意度图表");
  132. List1array.ElementAt (7).Add ("客户流失");
  133. List1array.ElementAt (7).Add ("客户来源");
  134. #else
  135. List1array.ElementAt(7).Add("客户管理");
  136. List1array.ElementAt(7).Add("订单客户");
  137. List1array.ElementAt(7).Add("老客户");
  138. List1array.ElementAt(7).Add("意向客户");
  139. List1array.ElementAt(7).Add("客户流失");
  140. List1array.ElementAt(7).Add("客户来源");
  141. #endif
  142. List1array.ElementAt(8).Add("来电精灵");
  143. List1array.ElementAt(8).Add("客户来电");
  144. List1array.ElementAt(8).Add("拨出电话");
  145. List1array.ElementAt(8).Add("未接来电");
  146. List1array.ElementAt(9).Add("员工考勤");
  147. List1array.ElementAt(9).Add("考勤记录");
  148. List1array.ElementAt(9).Add("月统计");
  149. List1array.ElementAt(9).Add("时间设置");
  150. List1array.ElementAt(9).Add("排班设置");
  151. List1array.ElementAt(10).Add("客户服务");
  152. List1array.ElementAt(10).Add("满意度");
  153. List1array.ElementAt(10).Add("满意度图表");
  154. #if JEFF_DELETE_ON // 2014.11.14-PM 16:20
  155. List1array.ElementAt(10).Add("回复统计");
  156. #endif
  157. BOOL bHospital = 0;
  158. if (g_cominfoarray.GetSize())
  159. {
  160. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(125)))
  161. {
  162. bHospital = 1;
  163. }
  164. }
  165. if (bHospital)
  166. {
  167. List1array.ElementAt(11).Add("医院跟踪系统");
  168. List1array.ElementAt(11).Add("意向查询");
  169. List1array.ElementAt(11).Add("意向单录入");
  170. List1array.ElementAt(11).Add("今日提醒");
  171. List1array.ElementAt(11).Add("跟踪短信");
  172. List1array.ElementAt(11).Add("资料设置");
  173. }
  174. for (int i = 0; i < 15; i++)
  175. {
  176. while (List1array.ElementAt(i).GetSize() < 20)
  177. List1array.ElementAt(i).Add("");
  178. }
  179. CRect rc(10, 0, 15, 15);
  180. CString str;
  181. int itemcount = 11;
  182. if (bHospital)itemcount++;
  183. for (int a = 0; a < itemcount; a++)
  184. {
  185. rc.right = rc.left + 100;
  186. rc.top = 20;
  187. for (int b = 0; b < 20; b++)
  188. {
  189. str = List1array.ElementAt(a).ElementAt(b);
  190. if (str.IsEmpty())break;
  191. CButton *pBtn = new CButton;
  192. rc.top += 22;
  193. rc.bottom = rc.top + 17;
  194. pBtn->Create(str, WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX | BS_FLAT, rc, this, 123);
  195. if (b == 0)
  196. {
  197. if (IsHasRightsHead(m_rights, str))
  198. pBtn->SetCheck(1);
  199. }
  200. else
  201. {
  202. if (IsHasRightsItem(m_rights, List1array.ElementAt(a).ElementAt(0), str))
  203. pBtn->SetCheck(1);
  204. }
  205. m_pCheckArray.Add(pBtn);
  206. }
  207. if (g_screenwid <= 1024)
  208. rc.left += 101;
  209. else
  210. rc.left += 105;
  211. }
  212. return TRUE; // return TRUE unless you set the focus to a control
  213. // EXCEPTION: OCX Property Pages should return FALSE
  214. }
  215. void SetLeftBar::SetRights(CString rights)
  216. {
  217. // int header[]={};
  218. }
  219. void SetLeftBar::OnDestroy()
  220. {
  221. // TODO: Add your message handler code here
  222. for (int i = 0; i < m_pCheckArray.GetSize(); i++)
  223. {
  224. CButton *pBtn = m_pCheckArray.ElementAt(i);
  225. pBtn->DestroyWindow();
  226. delete pBtn;
  227. }
  228. CDialog::OnDestroy();
  229. }
  230. BOOL SetLeftBar::IsHasRightsHead(CString rights, CString name)
  231. {
  232. name = "*" + name + ";1;";
  233. int pos = rights.Find(name);
  234. if (pos == -1)return 0;
  235. return 1;
  236. }
  237. BOOL SetLeftBar::IsHasRightsItem(CString rights, CString head, CString name)
  238. {
  239. head = "*" + head + ";";
  240. int pos = rights.Find(head);
  241. if (pos == -1)return 0;
  242. rights = rights.Right(rights.GetLength() - pos - head.GetLength() - 2);
  243. pos = rights.Find("*");
  244. if (pos != -1)
  245. rights = rights.Left(pos);
  246. if (rights.Find(name) != -1)return 1;
  247. return 0;
  248. }
  249. void SetLeftBar::OnOK()
  250. {
  251. // TODO: Add extra validation here
  252. m_rights.Empty();
  253. for (int i = 0; i < m_pCheckArray.GetSize(); i++)
  254. {
  255. CButton *pBtn = m_pCheckArray.ElementAt(i);
  256. CString str;
  257. pBtn->GetWindowText(str);
  258. if (IsHeader(str))
  259. {
  260. m_rights += "*" + str + ";";
  261. if (pBtn->GetCheck() == 0)
  262. m_rights += "0;";
  263. else
  264. m_rights += "1;";
  265. }
  266. else
  267. {
  268. if (pBtn->GetCheck() == 0)continue;
  269. m_rights += str + ";";
  270. }
  271. }
  272. CString sql;
  273. sql.Format("update [user] set [rights2]='%s' where [account]='%s' ", m_rights, m_account);
  274. g_sendhead.bsql = 1;
  275. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  276. AfxMessageBox("保存成功!");
  277. //AfxMessageBox(sql);
  278. CDialog::OnOK();
  279. }
  280. BOOL SetLeftBar::IsHeader(CString name)
  281. {
  282. for (int i = 0; i < List1array.GetSize(); i++)
  283. {
  284. if (name == List1array.ElementAt(i).ElementAt(0))return 1;
  285. }
  286. return 0;
  287. }