⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlgbaseinfom.cpp

📁 主要功能 企业仓库管理系统由基本信息管理模块、入库管理模块、库存管理模块、查询管理模块等几部分组成。 &#61553 基本信息管理模块 该模块主要包括操作员管理、商品信息管理、库存信息管理、供
💻 CPP
📖 第 1 页 / 共 4 页
字号:
// DlgBaseInfoM.cpp : implementation file
//

#include "stdafx.h"
#include "aaa.h"
#include "DlgBaseInfoM.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

extern  BOOL ADOFLAG; //数据库连接标识【连接:TRUE  断开:FALSE】
extern _ConnectionPtr m_pCon; //ADO连接对象
extern _RecordsetPtr m_pRs;   //ADO记录集对象
extern CString strsql;        //SQL语句

/////////////////////////////////////////////////////////////////////////////
// CDlgBaseInfoM dialog

CDlgBaseInfoM::CDlgBaseInfoM(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgBaseInfoM::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgBaseInfoM)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	nSelect = -1;
	iDataIndex = 1;
	iDataIndex1 = 1;
	iDataIndex2 = 1;
	iDataIndex3 = 1;
}

CDlgBaseInfoM::CDlgBaseInfoM(int iSelect, CWnd* pParent /*=NULL*/ )
	: CDialog(CDlgBaseInfoM::IDD, pParent)
{
	nSelect = iSelect;
	iDataIndex = 1;
	iDataIndex1 = 1;
	iDataIndex2 = 1;
	iDataIndex3 = 1;
}

void CDlgBaseInfoM::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgBaseInfoM)
	DDX_Control(pDX, IDC_TAB1, m_tab);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CDlgBaseInfoM, CDialog)
	//{{AFX_MSG_MAP(CDlgBaseInfoM)
	ON_WM_CLOSE()
	ON_COMMAND(IDC_ADD, OnAdd)
	ON_COMMAND(IDC_MODIFY, OnModify)
	ON_COMMAND(IDC_QUERY, OnQuery)
	ON_COMMAND(IDC_DEL, OnDel)
	ON_COMMAND(IDC_FIRST, OnFirst)
	ON_COMMAND(IDC_BEFORE, OnBefore)
	ON_COMMAND(IDC_AFTER, OnAfter)
	ON_COMMAND(IDC_END, OnEnd)
	ON_COMMAND(IDC_SHUTDOWN, OnShut)		
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgBaseInfoM message handlers

BOOL CDlgBaseInfoM::OnInitDialog() 
{
	CDialog::OnInitDialog();	
	// TODO: Add extra initialization here
	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP   
		| CBRS_TOOLTIPS |CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
	{
		return FALSE;      
	}
	if(!m_wndReBar.Create(this,TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP|RBS_VERTICALGRIPPER
		| CBRS_TOOLTIPS | CBRS_FLYBY| CBRS_SIZE_DYNAMIC))
	{
		return FALSE;
	}

	m_wndToolBar.GetToolBarCtrl().SetButtonWidth(40, 80);  //设置按钮的宽度和长度
	
	CImageList img;	
	//设置图标
	img.Create(22, 22, ILC_COLOR24|ILC_MASK,2,2);
	img.SetBkColor(::GetSysColor(COLOR_BTNFACE));
	img.Add(AfxGetApp()->LoadIcon(IDI_ICON11));  //0
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON12));  //1	
	img.Add(AfxGetApp()->LoadIcon(IDI_ICON13));  //2
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON14));  //3    
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON15));  //4
    img.Add(AfxGetApp()->LoadIcon(IDI_ICON16));  //5     
	img.Add(AfxGetApp()->LoadIcon(IDI_ICON17));  //6    
	img.Add(AfxGetApp()->LoadIcon(IDI_ICON18));  //7 
	img.Add(AfxGetApp()->LoadIcon(IDI_SHUT_DOWN)); //8 	
	m_wndToolBar.GetToolBarCtrl().SetImageList(&img);
	img.Detach();
	m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT |CBRS_TOOLTIPS | TBSTYLE_TRANSPARENT|TBBS_CHECKBOX);
	m_wndToolBar.SetButtons(NULL, 9); //共九个按钮	
	// 设置每个工具按钮文字
	m_wndToolBar.SetButtonInfo(0, IDC_ADD, TBSTYLE_BUTTON, 0);
	m_wndToolBar.SetButtonText(0, "增加");			
	m_wndToolBar.SetButtonInfo(1, IDC_MODIFY, TBSTYLE_BUTTON , 1);
	m_wndToolBar.SetButtonText(1, "修改");	
	m_wndToolBar.SetButtonInfo(2, IDC_QUERY, TBSTYLE_BUTTON, 2);
	m_wndToolBar.SetButtonText(2, "查询");	
	m_wndToolBar.SetButtonInfo(3, IDC_DEL, TBSTYLE_BUTTON, 3);
	m_wndToolBar.SetButtonText(3, "删除");	
	m_wndToolBar.SetButtonInfo(4, IDC_FIRST, TBSTYLE_BUTTON, 4);
	m_wndToolBar.SetButtonText(4, "首条记录");	
	m_wndToolBar.SetButtonInfo(5, IDC_BEFORE, TBSTYLE_BUTTON, 5);
	m_wndToolBar.SetButtonText(5, "向前");	
	m_wndToolBar.SetButtonInfo(6, IDC_AFTER, TBSTYLE_BUTTON , 6);
	m_wndToolBar.SetButtonText(6, "向后");	
	m_wndToolBar.SetButtonInfo(7, IDC_END, TBSTYLE_BUTTON , 7);
	m_wndToolBar.SetButtonText(7, "末条记录");
	m_wndToolBar.SetButtonInfo(8, IDC_SHUTDOWN, TBSTYLE_BUTTON , 8);
	m_wndToolBar.SetButtonText(8, "退出");
	CRect rectToolBar;
	m_wndToolBar.GetItemRect(0, &rectToolBar);  //得到按钮的大小	
	rectToolBar.right = 55;
	rectToolBar.bottom= 42;
	m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(20,20)); //设置按钮的大小	
	//在Rebar中加入ToolBar	
	m_wndReBar.AddBar(&m_wndToolBar);
	RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
	m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_MODIFY, FALSE);
	m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_FIRST, FALSE);
	m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_BEFORE, FALSE);
	m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_AFTER, FALSE);
	m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_END, FALSE);
	m_tab.AddPage("操作员",     &m_dlg1, IDD_OPERATOR1);
	m_tab.AddPage("商品信息",   &m_dlg2, IDD_PRODUCT_INFO1);
	m_tab.AddPage("库存信息",   &m_dlg3, IDD_STORAGE_INFO1);
	m_tab.AddPage("供应商信息", &m_dlg4, IDD_PRIVDER_INFO1);
	if (nSelect >= 0)
	{
		m_tab.Show(nSelect);
	}
	else
	{
		m_tab.Show();
	}	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgBaseInfoM::OnClose() 
{
	// TODO: Add your message handler code here and/or call default	
	m_tab.DestroyWindow();
	CDialog::OnClose();
}

void CDlgBaseInfoM::OnAdd() 
{
	int iCur = m_tab.GetCurSel();
	switch(iCur)
	{
	case 0:
		{
			CAaaApp *pApp = (CAaaApp *)AfxGetApp();
			int iflag = 0;  //操作员级别
			CString strName, strPass, strCount;			
			m_dlg1.GetDlgItemText(IDC_NAME, strName);
			m_dlg1.GetDlgItemText(IDC_PASSWORD, strPass);
			if (strName == "" || strPass =="")
			{
				MessageBox("操作员名称或密码不能为空", "增加信息错误");
				return;
			}
			iflag = m_dlg1.GetDlgItemInt(IDC_COMB_JB);
			if (iflag<=0 || iflag>pApp->iLevel)
			{
				CString str;
				str.Format("添加操作员级别必须为数字1到数字%d之间", pApp->iLevel);
				MessageBox(str, "增加信息错误");
				return;
			}			
			if (ADOFLAG)
			{
				try
				{
					strsql.Format("select count(*) as nCount from tb_operator where name='%s' ", strName);
					m_pRs = m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);			
					strCount = (LPCSTR)_bstr_t(m_pRs->GetCollect("nCount"));
					if (strCount == "1")
					{
						MessageBox("操作员名称已经存在 请您选择另一个名称", "增加信息错误");
						return;
					}
					
					strsql.Format("insert into  tb_operator(name, password, [level]) values('%s', '%s', %d)",
						strName, strPass, iflag);
					m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
					
				}
				catch(...)
				{
					ADOFLAG = FALSE;
					MessageBox("添加操作员失败", "增加信息");
				}
				MessageBox("添加操作员成功", "增加信息");
			}
			else
			{
				MessageBox("添加操作员失败 数据库连接失败", "增加信息");
			}
			
			m_dlg1.SetDlgItemText(IDC_NAME, "");
			m_dlg1.SetDlgItemText(IDC_PASSWORD, "");
			m_dlg1.SetDlgItemText(IDC_COMB_JB, "");

			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_MODIFY, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_FIRST, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_BEFORE, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_AFTER, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_END, FALSE);
					
		}
		break;
	case 1:
		{
			CAaaApp *pApp = (CAaaApp *)AfxGetApp();			
			CString strProId, strProName,  strRule,	strZjCode, strPrice, strProider, strMark;
			m_dlg2.GetDlgItemText(IDC_ID, strProId);
			m_dlg2.GetDlgItemText(IDC_PRO_NAME, strProName);
			m_dlg2.GetDlgItemText(IDC_RULE, strRule);
			m_dlg2.GetDlgItemText(IDC_ZJCODE, strZjCode);
			m_dlg2.GetDlgItemText(IDC_MR_PRICE, strPrice);
			m_dlg2.GetDlgItemText(IDC_PRO_PROVIDER, strProider);
			m_dlg2.GetDlgItemText(IDC_PRO_MARK, strMark);
			if (pApp->iLevel <=  2)
			{				
				MessageBox("您没有权限添加信息", "增加信息错误");
				return;
			}
			if (strProId.IsEmpty() || strProName.IsEmpty() ||strRule.IsEmpty() ||strZjCode.IsEmpty()
				|| strPrice.IsEmpty() ||strProider.IsEmpty() || strMark.IsEmpty())
			{
				MessageBox("增加的信息不完整, 请您重新填写", "增加信息错误");
				return;
			}			
			
			
			if (ADOFLAG)
			{
				try
				{
					strsql.Format("select count(*) as nCount from tb_merchandiseinfo where ID='%s' ", strProId);
					m_pRs = m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);			
					CString strCount = (LPCSTR)_bstr_t(m_pRs->GetCollect("nCount"));
					if (strCount == "1")
					{
						MessageBox("商品编号已经存在 请您选择另一个编号", "增加信息错误");
						return;
					}
					
					strsql.Format("insert into  tb_merchandiseinfo(ID, name, spec, shortname, defaultprice, \
						manufacturer, memo) values('%s', '%s', '%s', '%s', %.2f, '%s', '%s')",
						strProId, strProName, strRule, strZjCode, atof(strPrice),strProider, strMark);
					m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
					
				}
				catch(...)
				{
					ADOFLAG = FALSE;
					MessageBox("添加商品信息失败", "增加信息");
				}
				MessageBox("添加商品信息成功", "增加信息");
			}
			else
			{
				MessageBox("添加商品信息失败 数据库连接失败", "增加信息");
			}
			
			m_dlg2.SetDlgItemText(IDC_ID, "");
			m_dlg2.SetDlgItemText(IDC_PRO_NAME, "");
			m_dlg2.SetDlgItemText(IDC_RULE, "");
			m_dlg2.SetDlgItemText(IDC_ZJCODE, "");
			m_dlg2.SetDlgItemText(IDC_MR_PRICE, "");
			m_dlg2.SetDlgItemText(IDC_PRO_PROVIDER, "");
			m_dlg2.SetDlgItemText(IDC_PRO_MARK, "");

			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_MODIFY, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_FIRST, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_BEFORE, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_AFTER, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_END, FALSE);
		}
		break;
	case 2:
		{
			CAaaApp *pApp = (CAaaApp *)AfxGetApp();			
			CString strStoreName;
			m_dlg3.GetDlgItemText(IDC_STORE_NAME, strStoreName);
			if (pApp->iLevel <=  2)
			{				
				MessageBox("您没有权限添加信息", "增加信息错误");
				return;
			}
			if (strStoreName.IsEmpty())
			{
				MessageBox("增加的信息不能为空, 请您重新填写", "增加信息错误");
				return;
			}			
			
			if (ADOFLAG)
			{
				try
				{
					strsql.Format("select count(*) as nCount from tb_storageinfo where storagename='%s' ", strStoreName);
					m_pRs = m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);			
					CString strCount = (LPCSTR)_bstr_t(m_pRs->GetCollect("nCount"));
					if (strCount == "1")
					{
						MessageBox("库存名称已经存在 请您选择另一个库存名称", "增加信息错误");
						return;
					}
					
					strsql.Format("insert into  tb_storageinfo(storagename) values('%s') ", strStoreName);
					m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
					
				}
				catch(...)
				{
					ADOFLAG = FALSE;
					MessageBox("添加库存信息失败", "增加信息");
				}
				MessageBox("添加库存信息成功", "增加信息");
			}
			else
			{
				MessageBox("添加库存信息失败 数据库连接失败", "增加信息");
			}
			
			m_dlg3.SetDlgItemText(IDC_STORE_NAME, "");

			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_MODIFY, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_FIRST, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_BEFORE, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_AFTER, FALSE);
			m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_END, FALSE);
		}
		break;
	case 3:
		{
			CAaaApp *pApp = (CAaaApp *)AfxGetApp();			
			CString strProName, strCEo,  strManager,
				strPhone, strAddress, strNetAddress, strEmail;
			m_dlg4.GetDlgItemText(IDC_PROVIDER_NAME, strProName);
			m_dlg4.GetDlgItemText(IDC_PRO_CEO, strCEo);
			m_dlg4.GetDlgItemText(IDC_PRO_MANAGER, strManager);
			m_dlg4.GetDlgItemText(IDC_PRO_PHONE, strPhone);
			m_dlg4.GetDlgItemText(IDC_PRO_ADDRESS, strAddress);
			m_dlg4.GetDlgItemText(IDC_PRO_NET_ADDRESS, strNetAddress);
			m_dlg4.GetDlgItemText(IDC_PRO_EMAIL, strEmail);
			if (pApp->iLevel <=  2)
			{				
				MessageBox("您没有权限添加信息", "增加信息错误");
				return;
			}
			if (strProName.IsEmpty()||strCEo.IsEmpty())
			{
				MessageBox("增加的信息不完整, 请您重新填写", "增加信息错误");
				return;
			}			
			if (ADOFLAG)
			{
				try
				{
					strsql.Format("select count(*) as nCount from tb_providerinfo where providername='%s' ", strProName);
					m_pRs = m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);			
					CString strCount = (LPCSTR)_bstr_t(m_pRs->GetCollect("nCount"));
					if (strCount == "1")
					{
						MessageBox("供应商名称已经存在 请您选择另一个编号", "增加信息错误");
						return;
					}
					
					strsql.Format("insert into  tb_providerinfo(providername, artificialperson, \
						principal, phone, addr, web, e_mail) values('%s', '%s', '%s', '%s', '%s', '%s', '%s')",
						strProName, strCEo, strManager, strPhone, strAddress,strNetAddress, strEmail);
					m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
					

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -