DlgXiaoShouKanDan.cpp
上传用户:jzscgs158
上传日期:2022-05-25
资源大小:8709k
文件大小:11k
源码类别:

百货/超市行业

开发平台:

Visual C++

  1. // DlgXiaoShouKanDan.cpp : implementation file
  2. // Download by http://www.codefans.net
  3. #include "stdafx.h"
  4. #include "ncshop.h"
  5. #include "DlgXiaoShouKanDan.h"
  6. #include "ADOConn.h"
  7. #include "MyTime.h"
  8. #include "DlgAll.h"
  9. #include "DlgPrint.h"
  10. #ifdef _DEBUG
  11. #define new DEBUG_NEW
  12. #undef THIS_FILE
  13. static char THIS_FILE[] = __FILE__;
  14. #endif
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CDlgXiaoShouKanDan dialog
  17. CDlgXiaoShouKanDan::CDlgXiaoShouKanDan(CWnd* pParent /*=NULL*/)
  18. : CDialog(CDlgXiaoShouKanDan::IDD, pParent)
  19. {
  20. //{{AFX_DATA_INIT(CDlgXiaoShouKanDan)
  21. // NOTE: the ClassWizard will add member initialization here
  22. m_str1 = _T("");
  23. m_str2 = _T("");
  24. m_str8 = _T("");
  25. m_str3 = _T("");
  26. m_str4 = _T("");
  27. m_str5 = _T("");
  28. m_flt6 = 0.0f;
  29. m_flt7 = 0.0f;
  30. //}}AFX_DATA_INIT
  31. }
  32. void CDlgXiaoShouKanDan::DoDataExchange(CDataExchange* pDX)
  33. {
  34. CDialog::DoDataExchange(pDX);
  35. //{{AFX_DATA_MAP(CDlgXiaoShouKanDan)
  36. DDX_Control(pDX, IDC_BUTTON8, m_Btn10);
  37. DDX_Control(pDX, IDC_BUTTON5, m_Btn9);
  38. DDX_Control(pDX, IDC_BUTTON2, m_Btn2);
  39. DDX_Control(pDX, IDC_BUTTON4, m_Btn8);
  40. DDX_Control(pDX, IDC_LIST1, m_listMain);
  41. DDX_Control(pDX, IDFIND, m_Btn6);
  42. DDX_Control(pDX, IDDEL, m_Btn5);
  43. DDX_Control(pDX, IDCANCEL, m_Btn4);
  44. DDX_Control(pDX, IDC_BUTTON3, m_Btn3);
  45. DDX_Control(pDX, IDC_BUTTON1, m_Btn1);
  46. DDX_Text(pDX, IDC_EDIT1, m_str1);
  47. DDX_Text(pDX, IDC_EDIT2, m_str2);
  48. DDX_Text(pDX, IDC_EDIT20, m_str8);
  49. DDX_Text(pDX, IDC_EDIT3, m_str3);
  50. DDX_Text(pDX, IDC_EDIT4, m_str4);
  51. DDX_Text(pDX, IDC_EDIT5, m_str5);
  52. DDX_Text(pDX, IDC_EDIT16, m_flt6);
  53. DDX_Text(pDX, IDC_EDIT18, m_flt7);
  54. //}}AFX_DATA_MAP
  55. }
  56. BEGIN_MESSAGE_MAP(CDlgXiaoShouKanDan, CDialog)
  57. //{{AFX_MSG_MAP(CDlgXiaoShouKanDan)
  58. ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
  59. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  60. ON_BN_CLICKED(IDFIND, OnFind)
  61. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  62. ON_BN_CLICKED(IDDEL, OnDel)
  63. ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
  64. ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
  65. ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
  66. ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
  67. //}}AFX_MSG_MAP
  68. END_MESSAGE_MAP()
  69. /////////////////////////////////////////////////////////////////////////////
  70. // CDlgXiaoShouKanDan message handlers
  71. BOOL CDlgXiaoShouKanDan::OnInitDialog() 
  72. {
  73. CDialog::OnInitDialog();
  74. // TODO: Add extra initialization here
  75. CString strSql;
  76. m_Btn1.SetXIcon(IDI_ICONALL);
  77. m_Btn2.SetXIcon(IDI_ICONALL);
  78. m_Btn3.SetXIcon(IDI_ICONBUTTON);
  79. m_Btn4.SetXIcon(IDI_ICONBUTTON);
  80. m_Btn5.SetXIcon(IDI_ICONBUTTON);
  81. m_Btn6.SetXIcon(IDI_ICONFIND);
  82. m_Btn8.SetXIcon(IDI_ICONBUTTON);
  83. m_Btn9.SetXIcon(IDI_ICONBUTTON);
  84. m_Btn10.SetXIcon(IDI_ICONBUTTON);
  85. m_listMain.InsertColumn(0,"条形码",LVCFMT_CENTER,100);
  86. m_listMain.InsertColumn(1,"名称",LVCFMT_CENTER,100);
  87. m_listMain.InsertColumn(2,"库存上限",LVCFMT_CENTER,100);
  88. m_listMain.InsertColumn(3,"库存下限",LVCFMT_CENTER,100);
  89. m_listMain.InsertColumn(4,"销售价",LVCFMT_CENTER,100);
  90. m_listMain.InsertColumn(5,"库存",LVCFMT_CENTER,100);
  91. m_listMain.InsertColumn(6,"数量",LVCFMT_CENTER,100);
  92. m_listMain.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
  93. GetDlgItem(IDC_STATIC1)->SetFont(&ftHeader,TRUE);
  94. return TRUE;  // return TRUE unless you set the focus to a control
  95.               // EXCEPTION: OCX Property Pages should return FALSE
  96. }
  97. void CDlgXiaoShouKanDan::OnButton4() 
  98. {
  99. // TODO: Add your control notification handler code here
  100. int i;
  101. CString strSql,str;
  102. CADOConn adoMain;
  103. CMyTime time1;
  104. if(m_str1!="")
  105. {
  106. for(i=0;i<m_listMain.GetItemCount();i++)
  107. {
  108. strSql="update 商品库存数量统计表 set 库存=";
  109. str.Format("%0.2f",atof(m_listMain.GetItemText(i,5))-atof(m_listMain.GetItemText(i,6)));
  110. strSql=strSql+str+" where 条形码='";
  111. strSql=strSql+m_listMain.GetItemText(i,0)+"'";
  112. adoMain.ExecuteSQL(strSql);
  113. }
  114. }
  115. time1.SetNow();
  116. m_str1=time1.GetSimpleString();
  117. m_str2=time1.GetDateString(FALSE);
  118. m_str3="";
  119. m_str4="";
  120. m_str5="";
  121. m_flt6=0;
  122. m_flt7=0;
  123. UpdateData(FALSE);
  124. strSql="insert into 销售单统计表(单编号,开票日期) values('";
  125. strSql=strSql+m_str1+"','";
  126. strSql=strSql+m_str2+"')";
  127. adoMain.ExecuteSQL(strSql);
  128. adoMain.ExitConnect();
  129. m_listMain.DeleteAllItems();
  130. }
  131. void CDlgXiaoShouKanDan::OnButton2() 
  132. {
  133. // TODO: Add your control notification handler code here
  134. CDlgAll dlg;
  135. UpdateData(TRUE);
  136. dlg.strTitle="管理员基本信息表";
  137. dlg.strSql="select 编号,姓名 from 管理员基本信息表";
  138. dlg.intOpen=2;
  139. if(dlg.DoModal()==IDOK)
  140. {
  141. m_str3=dlg.strKey;
  142. UpdateData(FALSE);
  143. }
  144. }
  145. void CDlgXiaoShouKanDan::OnFind() 
  146. {
  147. // TODO: Add your control notification handler code heres
  148. UpdateData(TRUE);
  149. if(m_str1=="") 
  150. {
  151. MessageBox("请先开单,后加载商品!","提示",MB_OK|MB_ICONWARNING);
  152. return;
  153. }
  154. CADOConn adoMain;
  155. CString strSql,str;
  156. CDlgAll dlg;
  157. int i=0;
  158. strSql="SELECT 商品档案基本信息表.条形码, 商品档案基本信息表.名称,";
  159. strSql=strSql+"商品档案基本信息表.库存上限, 商品档案基本信息表.库存下限";
  160. strSql=strSql+",商品库存数量统计表.进货价," ;
  161. strSql=strSql+"商品库存数量统计表.库存 FROM 商品档案基本信息表 INNER JOIN 商品库存数量统计表 ON ";
  162. strSql=strSql+"商品档案基本信息表.条形码 = 商品库存数量统计表.条形码 where 商品档案基本信息表.条形码='";
  163. strSql=strSql+m_str8+"' or 商品档案基本信息表.商品编码='";
  164. strSql=strSql+m_str8+"' or 商品档案基本信息表.助记码='";
  165. strSql=strSql+m_str8+"' or 商品档案基本信息表.拼音码='";
  166. strSql=strSql+m_str8+"'";
  167. dlg.strTitle="商品档案基本信息";
  168. dlg.strSql=strSql;
  169. dlg.intOpen=6;
  170. dlg.intKey=0;
  171. if(dlg.DoModal()==IDOK)
  172. {
  173. while(i<m_listMain.GetItemCount()&&m_listMain.GetItemText(i,0)!=dlg.strKey)
  174. {
  175. i=i+1;
  176. }
  177. if(i<m_listMain.GetItemCount()) 
  178. {
  179. MessageBox("表中已经存在此商品!","提示",MB_OK|MB_ICONWARNING);
  180. return;
  181. }
  182. if(i==m_listMain.GetItemCount())
  183. {
  184. if(m_listMain.GetItemText(i,0)==dlg.strKey)
  185. {
  186. MessageBox("表中已经存在此商品!","提示",MB_OK|MB_ICONWARNING);
  187. return;
  188. }
  189. }
  190. strSql="SELECT 商品档案基本信息表.条形码, 商品档案基本信息表.名称,";
  191. strSql=strSql+"商品档案基本信息表.库存上限, 商品档案基本信息表.库存下限";
  192. strSql=strSql+",商品库存数量统计表.零售价," ;
  193. strSql=strSql+"商品库存数量统计表.库存 FROM 商品档案基本信息表 INNER JOIN 商品库存数量统计表 ON ";
  194. strSql=strSql+"商品档案基本信息表.条形码 = 商品库存数量统计表.条形码 where 商品档案基本信息表.条形码='";
  195. strSql=strSql+dlg.strKey+"'";
  196. adoMain.Open(strSql);
  197. adoMain.FillList(&m_listMain);
  198. strSql="insert into 销售商品管理表(单编号,条形码,销售单价,数量) values('";
  199. strSql=strSql+m_str1+"','";
  200. strSql=strSql+dlg.strKey+"',";
  201. strSql=strSql+m_listMain.GetItemText(0,4)+",1)";
  202. adoMain.ExecuteSQL(strSql);
  203. m_listMain.SetItemText(0,6,"1");
  204. }
  205. adoMain.ExitConnect();
  206. }
  207. void CDlgXiaoShouKanDan::OnButton1() 
  208. {
  209. // TODO: Add your control notification handler code here
  210. CDlgAll dlg;
  211. UpdateData(TRUE);
  212. dlg.strTitle="分机基本信息表";
  213. dlg.strSql="select * from 分机基本信息表";;
  214. dlg.intOpen=3;
  215. if(dlg.DoModal()==IDOK)
  216. {
  217. m_str4=dlg.strKey;
  218. UpdateData(FALSE);
  219. }
  220. }
  221. void CDlgXiaoShouKanDan::OnDel() 
  222. {
  223. // TODO: Add your control notification handler code here
  224. CADOConn adoMain,adoFile;
  225. CString strSql;
  226. POSITION pos;
  227. int i;
  228. UINT j=0;
  229. UpdateData(TRUE);
  230. pos=m_listMain.GetFirstSelectedItemPosition();
  231. i=m_listMain.GetNextSelectedItem(pos);
  232. if (i>=0)
  233. {
  234. if(MessageBox("确信删除这些信息吗?","提示",MB_YESNO|MB_ICONQUESTION)==IDNO) return;
  235. i=m_listMain.GetItemCount();
  236. while(j<m_listMain.GetSelectedCount()&&i>=0)
  237. {
  238. if(m_listMain.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
  239. {
  240. strSql="delete * from 销售商品管理表 where 单编号='";
  241. strSql=strSql+m_str1+"' and 条形码='";
  242. strSql=strSql+m_listMain.GetItemText(i,0)+"'";
  243. adoMain.ExecuteSQL(strSql);
  244. m_listMain.DeleteItem(i);
  245. j=j+1;
  246. }
  247. i=i-1;
  248. }
  249. }
  250. adoMain.ExitConnect();
  251. m_flt6=0;
  252. m_flt7=0;
  253. UpdateData(FALSE);
  254. }
  255. void CDlgXiaoShouKanDan::OnButton3() 
  256. {
  257. // TODO: Add your control notification handler code here
  258. UpdateData(TRUE);
  259. if(m_str1=="") 
  260. {
  261. MessageBox("请先开单,后加载商品!","提示",MB_OK|MB_ICONWARNING);
  262. return;
  263. }
  264. POSITION pos;
  265. CString str;
  266. int i;
  267. pos=m_listMain.GetFirstSelectedItemPosition();
  268. i=m_listMain.GetNextSelectedItem(pos);
  269. if (i>=0)
  270. {
  271. str.Format("%0.2f",m_flt6);
  272. m_listMain.SetItemText(i,4,str);
  273. str.Format("%0.2f",m_flt7);
  274. m_listMain.SetItemText(i,6,str);
  275. UpdateData(FALSE);
  276. }
  277. CString strSql;
  278. CADOConn adoMain;
  279. double dbl=0;
  280. strSql="update 销售单统计表 set 开票日期='";
  281. strSql=strSql+m_str2+"',经办人='";
  282. strSql=strSql+m_str3+"',分机号='";
  283. strSql=strSql+m_str4+"',备注='";
  284. strSql=strSql+m_str5+"' where 单编号='";
  285. strSql=strSql+m_str1+"'";
  286. adoMain.ExecuteSQL(strSql);
  287. for(i=0;i<m_listMain.GetItemCount();i++)
  288. {
  289. strSql="update 销售商品管理表 set 销售单价=";
  290. strSql=strSql+m_listMain.GetItemText(i,4)+",数量=";
  291. strSql=strSql+m_listMain.GetItemText(i,6)+" where 单编号='";
  292. strSql=strSql+m_str1+"' and 条形码='";
  293. strSql=strSql+m_listMain.GetItemText(i,0)+"'";
  294. adoMain.ExecuteSQL(strSql);
  295. }
  296. for(i=0;i<m_listMain.GetItemCount();i++)
  297. {
  298. dbl=dbl+atof(m_listMain.GetItemText(i,4))*atof(m_listMain.GetItemText(i,6));
  299. }
  300. str.Format("%0.2f",dbl);
  301. GetDlgItem(IDC_EDIT19)->SetWindowText(str);
  302. adoMain.ExitConnect();
  303. }
  304. void CDlgXiaoShouKanDan::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
  305. {
  306. // TODO: Add your control notification handler code here
  307. UpdateData(TRUE);
  308. POSITION pos;
  309. int i;
  310. pos=m_listMain.GetFirstSelectedItemPosition();
  311. i=m_listMain.GetNextSelectedItem(pos);
  312. if (i>=0)
  313. {
  314. m_flt6=atof(m_listMain.GetItemText(i,4));
  315. m_flt7=atof(m_listMain.GetItemText(i,6));
  316. UpdateData(FALSE);
  317. }
  318. *pResult = 0;
  319. }
  320. void CDlgXiaoShouKanDan::OnButton5() 
  321. {
  322. // TODO: Add your control notification handler code here
  323. int i;
  324. CString strSql,str;
  325. CADOConn adoMain;
  326. if(m_str1!="")
  327. {
  328. for(i=0;i<m_listMain.GetItemCount();i++)
  329. {
  330. strSql="update 商品库存数量统计表 set 库存=";
  331. str.Format("%0.2f",atof(m_listMain.GetItemText(i,5))-atof(m_listMain.GetItemText(i,6)));
  332. strSql=strSql+str+" where 条形码='";
  333. strSql=strSql+m_listMain.GetItemText(i,0)+"'";
  334. adoMain.ExecuteSQL(strSql);
  335. }
  336. }
  337. m_str1="";
  338. m_str2="";
  339. m_str3="";
  340. m_str4="";
  341. m_str5="";
  342. m_flt6=0;
  343. m_flt7=0;
  344. UpdateData(FALSE);
  345. m_listMain.DeleteAllItems();
  346. }
  347. void CDlgXiaoShouKanDan::OnButton8() 
  348. {
  349. // TODO: Add your control notification handler code here
  350. UpdateData(TRUE);
  351. CDlgPrint dlg;
  352. dlg.strTitle=m_str1;
  353. dlg.strSql="SELECT '' as 条形码,'' as 名称,'' as 库存上限,'' as 库存下限,'' as 销售价,'' as 库存,'' as 数量";
  354. dlg.strSql=dlg.strSql+" from 商品库存数量统计表";
  355. dlg.m_ListMain=&m_listMain;
  356. dlg.DoModal();
  357. }