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

百货/超市行业

开发平台:

Visual C++

  1. // DlgDanganBase.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ncshop.h"
  5. #include "DlgDanganBase.h"
  6. #include "ADOConn.h"
  7. #include "DlgAll.h"
  8. #include "MyChiToLetter.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CDlgDanganBase dialog
  16. CDlgDanganBase::CDlgDanganBase(CWnd* pParent /*=NULL*/)
  17. : CDialog(CDlgDanganBase::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(CDlgDanganBase)
  20. m_str1 = _T("");
  21. m_str2 = _T("");
  22. m_str3 = _T("");
  23. m_str4 = _T("");
  24. m_str5 = _T("");
  25. m_str6 = _T("");
  26. m_str7 = _T("");
  27. m_str8 = _T("");
  28. m_dbl10 = 0.0;
  29. m_dbl9 = 0.0;
  30. m_dbl11 = 0.0;
  31. m_dbl12 = 0.0;
  32. m_dbl13 = 0.0;
  33. m_dbl14 = 0.0;
  34. m_dbl15 = 0.0;
  35. m_str16 = _T("");
  36. //}}AFX_DATA_INIT
  37. }
  38. void CDlgDanganBase::DoDataExchange(CDataExchange* pDX)
  39. {
  40. CDialog::DoDataExchange(pDX);
  41. //{{AFX_DATA_MAP(CDlgDanganBase)
  42. DDX_Control(pDX, IDC_LIST1, m_listMain);
  43. DDX_Control(pDX, IDC_BUTTON1, m_Btn5);
  44. DDX_Control(pDX, IDMODIFY, m_Btn2);
  45. DDX_Control(pDX, IDDEL2, m_Btn3);
  46. DDX_Control(pDX, IDC_BTNFIND, m_Btn4);
  47. DDX_Control(pDX, IDADD2, m_Btn1);
  48. DDX_Text(pDX, IDC_EDIT1, m_str1);
  49. DDV_MaxChars(pDX, m_str1, 255);
  50. DDX_Text(pDX, IDC_EDIT2, m_str2);
  51. DDV_MaxChars(pDX, m_str2, 50);
  52. DDX_Text(pDX, IDC_EDIT3, m_str3);
  53. DDV_MaxChars(pDX, m_str3, 50);
  54. DDX_Text(pDX, IDC_EDIT4, m_str4);
  55. DDV_MaxChars(pDX, m_str4, 50);
  56. DDX_Text(pDX, IDC_EDIT5, m_str5);
  57. DDV_MaxChars(pDX, m_str5, 50);
  58. DDX_Text(pDX, IDC_EDIT6, m_str6);
  59. DDV_MaxChars(pDX, m_str6, 50);
  60. DDX_Text(pDX, IDC_EDIT7, m_str7);
  61. DDV_MaxChars(pDX, m_str7, 50);
  62. DDX_Text(pDX, IDC_EDIT8, m_str8);
  63. DDV_MaxChars(pDX, m_str8, 5);
  64. DDX_Text(pDX, IDC_EDIT10, m_dbl10);
  65. DDX_Text(pDX, IDC_EDIT9, m_dbl9);
  66. DDX_Text(pDX, IDC_EDIT11, m_dbl11);
  67. DDX_Text(pDX, IDC_EDIT12, m_dbl12);
  68. DDX_Text(pDX, IDC_EDIT13, m_dbl13);
  69. DDX_Text(pDX, IDC_EDIT14, m_dbl14);
  70. DDX_Text(pDX, IDC_EDIT15, m_dbl15);
  71. DDX_Text(pDX, IDC_EDIT16, m_str16);
  72. //}}AFX_DATA_MAP
  73. }
  74. BEGIN_MESSAGE_MAP(CDlgDanganBase, CDialog)
  75. //{{AFX_MSG_MAP(CDlgDanganBase)
  76. ON_BN_CLICKED(IDC_BTNFIND, OnBtnfind)
  77. ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
  78. ON_BN_CLICKED(IDADD2, OnAdd2)
  79. ON_BN_CLICKED(IDMODIFY, OnModify)
  80. ON_BN_CLICKED(IDDEL2, OnDel2)
  81. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  82. ON_EN_KILLFOCUS(IDC_EDIT6, OnKillfocusEdit6)
  83. ON_EN_CHANGE(IDC_EDIT6, OnChangeEdit6)
  84. ON_EN_UPDATE(IDC_EDIT6, OnUpdateEdit6)
  85. ON_EN_CHANGE(IDC_EDIT11, OnChangeEdit11)
  86. ON_EN_KILLFOCUS(IDC_EDIT11, OnKillfocusEdit11)
  87. ON_EN_UPDATE(IDC_EDIT11, OnUpdateEdit11)
  88. //}}AFX_MSG_MAP
  89. END_MESSAGE_MAP()
  90. /////////////////////////////////////////////////////////////////////////////
  91. // CDlgDanganBase message handlers
  92. void CDlgDanganBase::OnBtnfind() 
  93. {
  94. // TODO: Add your control notification handler code here
  95. UpdateData(TRUE);
  96. CADOConn adoMain;
  97. CString strSql;
  98. strSql="SELECT 商品档案基本信息表.*, 商品库存数量统计表.进货价, 商品库存数量统计表.零售价,";
  99. strSql=strSql+"商品库存数量统计表.会员价, 商品库存数量统计表.业务提成, " ;
  100. strSql=strSql+"商品库存数量统计表.库存 FROM 商品档案基本信息表 INNER JOIN 商品库存数量统计表 ON ";
  101. strSql=strSql+"商品档案基本信息表.条形码 = 商品库存数量统计表.条形码 where 商品档案基本信息表.条形码='";
  102. strSql=strSql+m_str16+"' or 商品档案基本信息表.商品编码='";
  103. strSql=strSql+m_str16+"' or 商品档案基本信息表.助记码='";
  104. strSql=strSql+m_str16+"' or 商品档案基本信息表.拼音码='";
  105. strSql=strSql+m_str16+"'";
  106. adoMain.Open(strSql);
  107. adoMain.FillList(&m_listMain,15);
  108. adoMain.ExitConnect();
  109. m_listMain.SetItemState(0,  LVIS_SELECTED,  LVIS_SELECTED);
  110. m_str1="";
  111. m_str2="";
  112. m_str3="";
  113. m_str4="";
  114. m_str5="";
  115. m_str6="";
  116. m_str7="";
  117. m_str8="";
  118. m_dbl9=0;
  119. m_dbl10=0;
  120. m_dbl11=0;
  121. m_dbl12=0;
  122. m_dbl13=0;
  123. m_dbl14=0;
  124. m_dbl15=0;
  125. UpdateData(FALSE);
  126. }
  127. BOOL CDlgDanganBase::OnInitDialog() 
  128. {
  129. CDialog::OnInitDialog();
  130. // TODO: Add extra initialization here
  131. CADOConn adoMain;
  132. CString strSql;
  133. strSql="SELECT 商品档案基本信息表.*, 商品库存数量统计表.进货价, 商品库存数量统计表.零售价,";
  134. strSql=strSql+"商品库存数量统计表.会员价, 商品库存数量统计表.业务提成, " ;
  135. strSql=strSql+"商品库存数量统计表.库存 FROM 商品档案基本信息表 INNER JOIN 商品库存数量统计表 ON ";
  136. strSql=strSql+"商品档案基本信息表.条形码 = 商品库存数量统计表.条形码";
  137. adoMain.Open(strSql);
  138. adoMain.InitList(&m_listMain,15);
  139. adoMain.FillList(&m_listMain,2);
  140. m_Btn1.SetXIcon(IDI_ICONBUTTON);
  141. m_Btn2.SetXIcon(IDI_ICONBUTTON);
  142. m_Btn3.SetXIcon(IDI_ICONBUTTON);
  143. m_Btn4.SetXIcon(IDI_ICONFIND);
  144. m_Btn5.SetXIcon(IDI_ICONALL);
  145. GetDlgItem(IDC_STATIC2)->SetFont(&ftHeader,TRUE);
  146. adoMain.ExitConnect();
  147. return TRUE;  // return TRUE unless you set the focus to a control
  148.               // EXCEPTION: OCX Property Pages should return FALSE
  149. }
  150. void CDlgDanganBase::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
  151. {
  152. // TODO: Add your control notification handler code here
  153. POSITION pos;
  154. int i;
  155. pos=m_listMain.GetFirstSelectedItemPosition();
  156. i=m_listMain.GetNextSelectedItem(pos);
  157. if (i>=0)
  158. {
  159. m_str1=m_listMain.GetItemText(i,0);
  160. m_str2=m_listMain.GetItemText(i,1);
  161. m_str3=m_listMain.GetItemText(i,2);
  162. m_str4=m_listMain.GetItemText(i,3);
  163. m_str5=m_listMain.GetItemText(i,4);
  164. m_str6=m_listMain.GetItemText(i,5);
  165. m_str7=m_listMain.GetItemText(i,6);
  166. m_str8=m_listMain.GetItemText(i,7);
  167. m_dbl9=atof(m_listMain.GetItemText(i,8));
  168. m_dbl10=atof(m_listMain.GetItemText(i,9));
  169. m_dbl11=atof(m_listMain.GetItemText(i,10));
  170. m_dbl12=atof(m_listMain.GetItemText(i,11));
  171. m_dbl13=atof(m_listMain.GetItemText(i,12));
  172. m_dbl14=atof(m_listMain.GetItemText(i,13));
  173. m_dbl15=atof(m_listMain.GetItemText(i,14));
  174. UpdateData(FALSE);
  175. }
  176. *pResult = 0;
  177. }
  178. void CDlgDanganBase::OnAdd2() 
  179. {
  180. // TODO: Add your control notification handler code here
  181. CADOConn adoMain;
  182. CString strSql;
  183. int i=0;
  184. UpdateData(TRUE);
  185. strSql="insert into 商品档案基本信息表(条形码) values('')";
  186. adoMain.ExecuteSQL(strSql);
  187. strSql="insert into 商品库存数量统计表(条形码) values('')";
  188. adoMain.ExecuteSQL(strSql);
  189. strSql="SELECT 商品档案基本信息表.*, 商品库存数量统计表.进货价, 商品库存数量统计表.零售价,";
  190. strSql=strSql+"商品库存数量统计表.会员价, 商品库存数量统计表.业务提成, " ;
  191. strSql=strSql+"商品库存数量统计表.库存 FROM 商品档案基本信息表 INNER JOIN 商品库存数量统计表 ON ";
  192. strSql=strSql+"商品档案基本信息表.条形码 = 商品库存数量统计表.条形码";
  193. adoMain.Open(strSql);
  194. adoMain.FillList(&m_listMain,15);
  195. m_listMain.SetItemState(0,  LVIS_SELECTED,  LVIS_SELECTED);
  196. m_str1="";
  197. m_str2="";
  198. m_str3="";
  199. m_str4="";
  200. m_str5="";
  201. m_str6="";
  202. m_str7="";
  203. m_str8="";
  204. m_dbl9=0;
  205. m_dbl10=0;
  206. m_dbl11=0;
  207. m_dbl12=0;
  208. m_dbl13=0;
  209. m_dbl14=0;
  210. m_dbl15=0;
  211. UpdateData(FALSE);
  212. adoMain.ExitConnect();
  213. }
  214. void CDlgDanganBase::OnModify() 
  215. {
  216. // TODO: Add your control notification handler code here
  217. CADOConn adoMain;
  218. CString strSql,str;
  219. POSITION pos;
  220. int i;
  221. pos=m_listMain.GetFirstSelectedItemPosition();
  222. i=m_listMain.GetNextSelectedItem(pos);
  223. if (i>=0)
  224. {
  225. str=m_listMain.GetItemText(i,1);
  226. }
  227. UpdateData(TRUE);
  228. strSql="update 商品档案基本信息表 set 分类编号='";
  229. strSql=strSql+m_str1+"',条形码='";
  230. strSql=strSql+m_str2+"',商品编码='";
  231. strSql=strSql+m_str3+"',助记码='";
  232. strSql=strSql+m_str4+"',拼音码='";
  233. strSql=strSql+m_str5+"',名称='";
  234. strSql=strSql+m_str6+"',规格='";
  235. strSql=strSql+m_str7+"',单位='";
  236. strSql=strSql+m_str8+"',库存上限=";
  237. str.Format("%f",m_dbl9);
  238. strSql=strSql+str+",库存下限=";
  239. str.Format("%f",m_dbl10);
  240. strSql=strSql+str+" ";
  241. str=m_listMain.GetItemText(i,1);
  242. strSql=strSql+" where 条形码='"+str+"'";
  243. adoMain.ExecuteSQL(strSql);
  244. strSql="update 商品库存数量统计表 set 条形码='";
  245. strSql=strSql+m_str2+"',进货价=";
  246. str.Format("%f",m_dbl11);
  247. strSql=strSql+str+",零售价=";
  248. str.Format("%f",m_dbl12);
  249. strSql=strSql+str+",会员价=";
  250. str.Format("%f",m_dbl13);
  251. strSql=strSql+str+",业务提成=";
  252. str.Format("%f",m_dbl14);
  253. strSql=strSql+str+",库存=";
  254. str.Format("%f",m_dbl15);
  255. strSql=strSql+str;
  256. str=m_listMain.GetItemText(i,1);
  257. strSql=strSql+" where 条形码='"+str+"'";
  258. adoMain.ExecuteSQL(strSql);
  259. strSql="SELECT 商品档案基本信息表.*, 商品库存数量统计表.进货价, 商品库存数量统计表.零售价,";
  260. strSql=strSql+"商品库存数量统计表.会员价, 商品库存数量统计表.业务提成, " ;
  261. strSql=strSql+"商品库存数量统计表.库存 FROM 商品档案基本信息表 INNER JOIN 商品库存数量统计表 ON ";
  262. strSql=strSql+"商品档案基本信息表.条形码 = 商品库存数量统计表.条形码";
  263. adoMain.Open(strSql);
  264. adoMain.FillList(&m_listMain,15);
  265. while(m_listMain.GetItemText(i,1)!=m_str2&&i<m_listMain.GetItemCount())
  266. {
  267. i++;
  268. }
  269. if(m_listMain.GetItemCount()>0)
  270. m_listMain.SetItemState(i,  LVIS_SELECTED,  LVIS_SELECTED);
  271. adoMain.ExitConnect();
  272. }
  273. void CDlgDanganBase::OnDel2() 
  274. {
  275. // TODO: Add your control notification handler code here
  276. CADOConn adoMain,adoFile;
  277. CString strSql;
  278. POSITION pos;
  279. int i;
  280. UINT j=0;
  281. pos=m_listMain.GetFirstSelectedItemPosition();
  282. i=m_listMain.GetNextSelectedItem(pos);
  283. if (i>=0)
  284. {
  285. if(MessageBox("确信删除这些信息吗?","提示",MB_YESNO|MB_ICONQUESTION)==IDNO) return;
  286. while(j<m_listMain.GetSelectedCount()&&i<m_listMain.GetItemCount())
  287. {
  288. if(m_listMain.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
  289. {
  290. strSql="delete * from 商品档案基本信息表 where 条形码='"+m_listMain.GetItemText(i,1)+"'";
  291. adoMain.ExecuteSQL(strSql);
  292. strSql="delete * from 商品库存数量统计表 where 条形码='"+m_listMain.GetItemText(i,1)+"'";
  293. adoMain.ExecuteSQL(strSql);
  294. j=j+1;
  295. }
  296. i=i+1;
  297. }
  298. }
  299. adoMain.ExitConnect();
  300. strSql="SELECT 商品档案基本信息表.*, 商品库存数量统计表.进货价, 商品库存数量统计表.零售价,";
  301. strSql=strSql+"商品库存数量统计表.会员价, 商品库存数量统计表.业务提成, " ;
  302. strSql=strSql+"商品库存数量统计表.库存 FROM 商品档案基本信息表 INNER JOIN 商品库存数量统计表 ON ";
  303. strSql=strSql+"商品档案基本信息表.条形码 = 商品库存数量统计表.条形码";
  304. adoFile.Open(strSql);
  305. adoFile.FillList(&m_listMain,2);
  306. adoFile.ExitConnect();
  307. m_listMain.SetItemState(0,  LVIS_SELECTED,  LVIS_SELECTED);
  308. m_str1="";
  309. m_str2="";
  310. m_str3="";
  311. m_str4="";
  312. m_str5="";
  313. m_str6="";
  314. m_str7="";
  315. m_str8="";
  316. m_dbl9=0;
  317. m_dbl10=0;
  318. m_dbl11=0;
  319. m_dbl12=0;
  320. m_dbl13=0;
  321. m_dbl14=0;
  322. m_dbl15=0;
  323. UpdateData(FALSE);
  324. }
  325. void CDlgDanganBase::OnButton1() 
  326. {
  327. // TODO: Add your control notification handler code here
  328. CDlgAll dlg;
  329. UpdateData(TRUE);
  330. dlg.strTitle="商品分类基本信息";
  331. dlg.strSql="select * from 商品分类基本信息表";
  332. dlg.intOpen=3;
  333. if(dlg.DoModal()==IDOK)
  334. {
  335. m_str1=dlg.strKey;
  336. UpdateData(FALSE);
  337. }
  338. }
  339. void CDlgDanganBase::OnKillfocusEdit6() 
  340. {
  341. // TODO: Add your control notification handler code here
  342. CMyChiToLetter ch1;
  343. UpdateData(TRUE);
  344. ch1.m_blnAllBiG=TRUE;
  345. ch1.m_blnSimaple=TRUE;
  346. m_str5=ch1.GetLetter(m_str6);
  347. UpdateData(FALSE);
  348. }
  349. void CDlgDanganBase::OnChangeEdit6() 
  350. {
  351. // TODO: If this is a RICHEDIT control, the control will not
  352. // send this notification unless you override the CDialog::OnInitDialog()
  353. // function and call CRichEditCtrl().SetEventMask()
  354. // with the ENM_CHANGE flag ORed into the mask.
  355. // TODO: Add your control notification handler code here
  356. OnKillfocusEdit6();
  357. }
  358. void CDlgDanganBase::OnUpdateEdit6() 
  359. {
  360. // TODO: If this is a RICHEDIT control, the control will not
  361. // send this notification unless you override the CDialog::OnInitDialog()
  362. // function to send the EM_SETEVENTMASK message to the control
  363. // with the ENM_UPDATE flag ORed into the lParam mask.
  364. // TODO: Add your control notification handler code here
  365. OnKillfocusEdit6();
  366. }
  367. void CDlgDanganBase::OnChangeEdit11() 
  368. {
  369. // TODO: If this is a RICHEDIT control, the control will not
  370. // send this notification unless you override the CDialog::OnInitDialog()
  371. // function and call CRichEditCtrl().SetEventMask()
  372. // with the ENM_CHANGE flag ORed into the mask.
  373. // TODO: Add your control notification handler code here
  374. UpdateData(TRUE);
  375. m_dbl12=m_dbl11;
  376. m_dbl13=m_dbl11;
  377. m_dbl14=m_dbl11;
  378. UpdateData(FALSE);
  379. }
  380. void CDlgDanganBase::OnKillfocusEdit11() 
  381. {
  382. // TODO: Add your control notification handler code here
  383. OnChangeEdit11();
  384. }
  385. void CDlgDanganBase::OnUpdateEdit11() 
  386. {
  387. // TODO: If this is a RICHEDIT control, the control will not
  388. // send this notification unless you override the CDialog::OnInitDialog()
  389. // function to send the EM_SETEVENTMASK message to the control
  390. // with the ENM_UPDATE flag ORed into the lParam mask.
  391. // TODO: Add your control notification handler code here
  392. OnChangeEdit11();
  393. }