SetLeftBar.cpp 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  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. List1array.ElementAt (10).Add ("回复统计");
  155. #if 1 // Jeff.文件柜
  156. List1array.ElementAt(11).Add("电子办公");
  157. List1array.ElementAt(11).Add("文件柜");
  158. #endif
  159. BOOL bHospital=0;
  160. if(g_cominfoarray.GetSize ())
  161. {
  162. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(125)))
  163. {
  164. bHospital=1;
  165. }
  166. }
  167. if(bHospital)
  168. {
  169. #if 0 // Jeff.delete
  170. List1array.ElementAt (11).Add ("医院跟踪系统");
  171. List1array.ElementAt (11).Add ("意向查询");
  172. List1array.ElementAt (11).Add ("意向单录入");
  173. List1array.ElementAt (11).Add ("今日提醒");
  174. List1array.ElementAt (11).Add ("跟踪短信");
  175. List1array.ElementAt (11).Add ("资料设置");
  176. #else
  177. List1array.ElementAt (12).Add ("医院跟踪系统");
  178. List1array.ElementAt (12).Add ("意向查询");
  179. List1array.ElementAt (12).Add ("意向单录入");
  180. List1array.ElementAt (12).Add ("今日提醒");
  181. List1array.ElementAt (12).Add ("跟踪短信");
  182. List1array.ElementAt (12).Add ("资料设置");
  183. #endif
  184. }
  185. for(int i=0; i<15; i++)
  186. {
  187. while(List1array.ElementAt (i).GetSize ()<20)
  188. List1array.ElementAt (i).Add ("");
  189. }
  190. CRect rc(10,0,15,15);
  191. CString str;
  192. #if 0
  193. int itemcount=11;
  194. #else
  195. int itemcount=12; //Jeff.加上文件柜;
  196. #endif
  197. if(bHospital)itemcount++;
  198. for(int a=0; a<itemcount; a++)
  199. {
  200. rc.right =rc.left +100;
  201. rc.top =20;
  202. for(int b=0; b<20; b++)
  203. {
  204. str=List1array.ElementAt (a).ElementAt (b);
  205. if(str.IsEmpty ())break;
  206. CButton *pBtn=new CButton;
  207. rc.top +=22;
  208. rc.bottom =rc.top +17;
  209. pBtn->Create(str,WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX|BS_FLAT, rc,this,123);
  210. if(b==0)
  211. {
  212. if(IsHasRightsHead(m_rights, str))
  213. pBtn->SetCheck (1);
  214. }
  215. else
  216. {
  217. if(IsHasRightsItem(m_rights, List1array.ElementAt (a).ElementAt (0), str))
  218. pBtn->SetCheck (1);
  219. }
  220. m_pCheckArray.Add (pBtn);
  221. }
  222. if(g_screenwid<=1024)
  223. rc.left +=101;
  224. else
  225. rc.left +=105;
  226. }
  227. return TRUE; // return TRUE unless you set the focus to a control
  228. // EXCEPTION: OCX Property Pages should return FALSE
  229. }
  230. void SetLeftBar::SetRights(CString rights)
  231. {
  232. // int header[]={};
  233. }
  234. void SetLeftBar::OnDestroy()
  235. {
  236. // TODO: Add your message handler code here
  237. for(int i=0; i<m_pCheckArray.GetSize (); i++)
  238. {
  239. CButton *pBtn=m_pCheckArray.ElementAt (i);
  240. pBtn->DestroyWindow ();
  241. delete pBtn;
  242. }
  243. CDialog::OnDestroy();
  244. }
  245. BOOL SetLeftBar::IsHasRightsHead(CString rights, CString name)
  246. {
  247. name="*"+name+";1;";
  248. int pos=rights.Find (name);
  249. if(pos==-1)return 0;
  250. return 1;
  251. }
  252. BOOL SetLeftBar::IsHasRightsItem(CString rights, CString head, CString name)
  253. {
  254. head="*"+head+";";
  255. int pos=rights.Find (head);
  256. if(pos==-1)return 0;
  257. rights=rights.Right(rights.GetLength()-pos-head.GetLength()-2);
  258. pos=rights.Find("*");
  259. if(pos!=-1)
  260. rights=rights.Left(pos);
  261. if(rights.Find(name)!=-1)return 1;
  262. return 0;
  263. }
  264. void SetLeftBar::OnOK()
  265. {
  266. // TODO: Add extra validation here
  267. m_rights.Empty ();
  268. for(int i=0; i<m_pCheckArray.GetSize (); i++)
  269. {
  270. CButton *pBtn=m_pCheckArray.ElementAt (i);
  271. CString str;
  272. pBtn->GetWindowText (str);
  273. if(IsHeader(str))
  274. {
  275. m_rights+="*"+str+";";
  276. if(pBtn->GetCheck ()==0)
  277. m_rights+="0;";
  278. else
  279. m_rights+="1;";
  280. }
  281. else
  282. {
  283. if(pBtn->GetCheck ()==0)continue;
  284. m_rights+=str+";";
  285. }
  286. }
  287. CString sql;
  288. sql.Format ("update [user] set [rights2]='%s' where [account]='%s' ", m_rights, m_account);
  289. g_sendhead.bsql=1;
  290. g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return;
  291. AfxMessageBox("保存成功!");
  292. //AfxMessageBox(sql);
  293. CDialog::OnOK();
  294. }
  295. BOOL SetLeftBar::IsHeader(CString name)
  296. {
  297. for(int i=0; i<List1array.GetSize(); i++)
  298. {
  299. if(name==List1array.ElementAt(i).ElementAt(0))return 1;
  300. }
  301. return 0;
  302. }