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

百货/超市行业

开发平台:

Visual C++

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