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

百货/超市行业

开发平台:

Visual C++

  1. // DlgJinHuoKanDan.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ncshop.h"
  5. #include "DlgJinHuoKanDan.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. // CDlgJinHuoKanDan dialog
  17. CDlgJinHuoKanDan::CDlgJinHuoKanDan(CWnd* pParent /*=NULL*/)
  18. : CDialog(CDlgJinHuoKanDan::IDD, pParent)
  19. {
  20. //{{AFX_DATA_INIT(CDlgJinHuoKanDan)
  21. m_str1 = _T("");
  22. m_str2 = _T("");
  23. m_str8 = _T("");
  24. m_str3 = _T("");
  25. m_str4 = _T("");
  26. m_str5 = _T("");
  27. m_flt6 = 0.0f;
  28. m_flt7 = 0.0f;
  29. //}}AFX_DATA_INIT
  30. }
  31. void CDlgJinHuoKanDan::DoDataExchange(CDataExchange* pDX)
  32. {
  33. CDialog::DoDataExchange(pDX);
  34. //{{AFX_DATA_MAP(CDlgJinHuoKanDan)
  35. DDX_Control(pDX, IDC_BUTTON8, m_Btn10);
  36. DDX_Control(pDX, IDC_BUTTON5, m_Btn9);
  37. DDX_Control(pDX, IDC_BUTTON2, m_Btn2);
  38. DDX_Control(pDX, IDC_BUTTON4, m_Btn8);
  39. DDX_Control(pDX, IDC_LIST1, m_listMain);
  40. DDX_Control(pDX, IDFIND, m_Btn6);
  41. DDX_Control(pDX, IDDEL, m_Btn5);
  42. DDX_Control(pDX, IDCANCEL, m_Btn4);
  43. DDX_Control(pDX, IDC_BUTTON3, m_Btn3);
  44. DDX_Control(pDX, IDC_BUTTON1, m_Btn1);
  45. DDX_Text(pDX, IDC_EDIT1, m_str1);
  46. DDX_Text(pDX, IDC_EDIT2, m_str2);
  47. DDX_Text(pDX, IDC_EDIT20, m_str8);
  48. DDX_Text(pDX, IDC_EDIT3, m_str3);
  49. DDX_Text(pDX, IDC_EDIT4, m_str4);
  50. DDX_Text(pDX, IDC_EDIT5, m_str5);
  51. DDX_Text(pDX, IDC_EDIT16, m_flt6);
  52. DDX_Text(pDX, IDC_EDIT18, m_flt7);
  53. //}}AFX_DATA_MAP
  54. }
  55. BEGIN_MESSAGE_MAP(CDlgJinHuoKanDan, CDialog)
  56. //{{AFX_MSG_MAP(CDlgJinHuoKanDan)
  57. ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
  58. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  59. ON_BN_CLICKED(IDFIND, OnFind)
  60. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  61. ON_BN_CLICKED(IDDEL, OnDel)
  62. ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
  63. ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
  64. ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
  65. ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
  66. //}}AFX_MSG_MAP
  67. END_MESSAGE_MAP()
  68. /////////////////////////////////////////////////////////////////////////////
  69. // CDlgJinHuoKanDan message handlers
  70. BOOL CDlgJinHuoKanDan::OnInitDialog() 
  71. {
  72. CDialog::OnInitDialog();
  73. // TODO: Add extra initialization here
  74. CString strSql;
  75. m_Btn1.SetXIcon(IDI_ICONALL);
  76. m_Btn2.SetXIcon(IDI_ICONALL);
  77. m_Btn3.SetXIcon(IDI_ICONBUTTON);
  78. m_Btn4.SetXIcon(IDI_ICONBUTTON);
  79. m_Btn5.SetXIcon(IDI_ICONBUTTON);
  80. m_Btn6.SetXIcon(IDI_ICONFIND);
  81. m_Btn8.SetXIcon(IDI_ICONBUTTON);
  82. m_Btn9.SetXIcon(IDI_ICONBUTTON);
  83. m_Btn10.SetXIcon(IDI_ICONBUTTON);
  84. m_listMain.InsertColumn(0,"条形码",LVCFMT_CENTER,100);
  85. m_listMain.InsertColumn(1,"名称",LVCFMT_CENTER,100);
  86. m_listMain.InsertColumn(2,"库存上限",LVCFMT_CENTER,100);
  87. m_listMain.InsertColumn(3,"库存下限",LVCFMT_CENTER,100);
  88. m_listMain.InsertColumn(4,"进货价",LVCFMT_CENTER,100);
  89. m_listMain.InsertColumn(5,"库存",LVCFMT_CENTER,100);
  90. m_listMain.InsertColumn(6,"数量",LVCFMT_CENTER,100);
  91. m_listMain.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
  92. GetDlgItem(IDC_STATIC1)->SetFont(&ftHeader,TRUE);
  93. return TRUE;  // return TRUE unless you set the focus to a control
  94.               // EXCEPTION: OCX Property Pages should return FALSE
  95. }
  96. void CDlgJinHuoKanDan::OnButton4() 
  97. {
  98. // TODO: Add your control notification handler code here
  99. int i;
  100. CString strSql,str;
  101. CADOConn adoMain;
  102. CMyTime time1;
  103. if(m_str1!="")
  104. {
  105. for(i=0;i<m_listMain.GetItemCount();i++)
  106. {
  107. strSql="update 商品库存数量统计表 set 进货价=";
  108. strSql=strSql+m_listMain.GetItemText(i,4)+",库存=";
  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 CDlgJinHuoKanDan::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 CDlgJinHuoKanDan::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 CDlgJinHuoKanDan::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=2;
  215. if(dlg.DoModal()==IDOK)
  216. {
  217. m_str4=dlg.strKey;
  218. UpdateData(FALSE);
  219. }
  220. }
  221. void CDlgJinHuoKanDan::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 CDlgJinHuoKanDan::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. strSql="update 商品库存数量统计表 set 进货价=";
  296. strSql=strSql+m_listMain.GetItemText(i,4)+",库存=";
  297. strSql=strSql+m_listMain.GetItemText(i,5)+" where 条形码='";
  298. strSql=strSql+m_listMain.GetItemText(i,0)+"'";
  299. adoMain.ExecuteSQL(strSql);
  300. }
  301. for(i=0;i<m_listMain.GetItemCount();i++)
  302. {
  303. dbl=dbl+atof(m_listMain.GetItemText(i,4))*atof(m_listMain.GetItemText(i,6));
  304. }
  305. str.Format("%0.2f",dbl);
  306. GetDlgItem(IDC_EDIT19)->SetWindowText(str);
  307. adoMain.ExitConnect();
  308. }
  309. void CDlgJinHuoKanDan::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
  310. {
  311. // TODO: Add your control notification handler code here
  312. UpdateData(TRUE);
  313. POSITION pos;
  314. int i;
  315. pos=m_listMain.GetFirstSelectedItemPosition();
  316. i=m_listMain.GetNextSelectedItem(pos);
  317. if (i>=0)
  318. {
  319. m_flt6=atof(m_listMain.GetItemText(i,4));
  320. m_flt7=atof(m_listMain.GetItemText(i,6));
  321. UpdateData(FALSE);
  322. }
  323. *pResult = 0;
  324. }
  325. void CDlgJinHuoKanDan::OnButton5() 
  326. {
  327. // TODO: Add your control notification handler code here
  328. int i;
  329. CString strSql,str;
  330. CADOConn adoMain;
  331. if(m_str1!="")
  332. {
  333. for(i=0;i<m_listMain.GetItemCount();i++)
  334. {
  335. strSql="update 商品库存数量统计表 set 进货价=";
  336. strSql=strSql+m_listMain.GetItemText(i,4)+",库存=";
  337. str.Format("%0.2f",atof(m_listMain.GetItemText(i,5))+atof(m_listMain.GetItemText(i,6)));
  338. strSql=strSql+str+" where 条形码='";
  339. strSql=strSql+m_listMain.GetItemText(i,0)+"'";
  340. adoMain.ExecuteSQL(strSql);
  341. }
  342. }
  343. m_str1="";
  344. m_str2="";
  345. m_str3="";
  346. m_str4="";
  347. m_str5="";
  348. m_flt6=0;
  349. m_flt7=0;
  350. UpdateData(FALSE);
  351. m_listMain.DeleteAllItems();
  352. }
  353. void CDlgJinHuoKanDan::OnButton8()
  354. {
  355. UpdateData(TRUE);
  356. CDlgPrint dlg;
  357. dlg.strTitle=m_str1;
  358. dlg.strSql="SELECT '' as 条形码,'' as 名称,'' as 库存上限,'' as 库存下限,'' as 进货价,'' as 库存,'' as 数量";
  359. dlg.strSql=dlg.strSql+" from 商品库存数量统计表";
  360. dlg.m_ListMain=&m_listMain;
  361. dlg.DoModal();
  362. }