fpxmxb.cpp

来自「商品进存销管理系统 包含发票」· C++ 代码 · 共 304 行

CPP
304
字号
// fpxmxb.cpp : implementation file
//

#include "stdafx.h"
#include "glxt.h"
#include "fpxmxb.h"
#include "fpbDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// Cfpxmxb dialog


Cfpxmxb::Cfpxmxb(CWnd* pParent /*=NULL*/)
	: CDialog(Cfpxmxb::IDD, pParent)
{
	//{{AFX_DATA_INIT(Cfpxmxb)
	m_rkno = _T("");
	m_bgy = _T("");
	m_rkshj = 0;
	m_fh = _T("");
	m_ghsh = _T("");
	m_shhr = _T("");
	m_cgy = _T("");
	//}}AFX_DATA_INIT
}


void Cfpxmxb::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Cfpxmxb)
	DDX_Control(pDX, IDC_LIST3, m_fpmx);
	DDX_Control(pDX, IDC_LIST2, m_lfpmx);
	DDX_Control(pDX, IDC_LIST1, m_lfpx);
	DDX_Text(pDX, IDC_EDIT2, m_rkno);
	DDX_Text(pDX, IDC_EDIT1, m_bgy);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_rkshj);
	DDX_Text(pDX, IDC_EDIT3, m_fh);
	DDX_Text(pDX, IDC_EDIT4, m_ghsh);
	DDX_Text(pDX, IDC_EDIT5, m_shhr);
	DDX_Text(pDX, IDC_EDIT6, m_cgy);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Cfpxmxb, CDialog)
	//{{AFX_MSG_MAP(Cfpxmxb)
	ON_BN_CLICKED(IDC_BUTTON1, Onallxsh)
	ON_BN_CLICKED(IDC_BUTTON3, Onruku)
	ON_BN_CLICKED(IDC_BUTTON4, Onsave)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	ON_BN_CLICKED(IDC_BUTTON2, Ondel)
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Cfpxmxb message handlers

BOOL Cfpxmxb::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here

	m_lfpx.InsertColumn(0,"入库单号",LVCFMT_LEFT,100);
	m_lfpx.InsertColumn(1,"入库时间",LVCFMT_LEFT,200);
	m_lfpx.InsertColumn(2,"保管员",LVCFMT_LEFT,80);
	m_lfpx.InsertColumn(3,"采购员",LVCFMT_LEFT,80);
	m_lfpx.InsertColumn(4,"审核人",LVCFMT_LEFT,80);
	
	m_lfpx.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
    
	m_fpmx.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
    m_fpmx.InsertColumn(0,"发票号",LVCFMT_LEFT,100);
	m_fpmx.InsertColumn(1,"商品编号",LVCFMT_LEFT,100);
	m_fpmx.InsertColumn(2,"数量",LVCFMT_LEFT,100);
	m_fpmx.InsertColumn(3,"单价",LVCFMT_LEFT,100);
	m_fpmx.InsertColumn(4,"小计",LVCFMT_LEFT,100);
	
	m_lfpmx.InsertColumn(0,"入库单号",LVCFMT_LEFT,100);
	m_lfpmx.InsertColumn(1,"商品编号",LVCFMT_LEFT,100);
    m_lfpmx.InsertColumn(2,"发票号",LVCFMT_LEFT,100);
	m_lfpmx.InsertColumn(3,"供货商",LVCFMT_LEFT,100);
	m_lfpmx.InsertColumn(4,"商品名称",LVCFMT_LEFT,100);
	m_lfpmx.InsertColumn(5,"品牌",LVCFMT_LEFT,100);
	m_lfpmx.InsertColumn(6,"规格",LVCFMT_LEFT,100);
	m_lfpmx.InsertColumn(7,"计量单位",LVCFMT_LEFT,100);
    m_lfpmx.InsertColumn(8,"产地",LVCFMT_LEFT,100);
    m_lfpmx.InsertColumn(9,"数量",LVCFMT_LEFT,80);
	m_lfpmx.InsertColumn(10,"单价",LVCFMT_LEFT,80);
	m_lfpmx.InsertColumn(11,"小计",LVCFMT_LEFT,80);
	m_lfpmx.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
    m_db.Open(_T("gshDSN"));
	m_rku.m_pDatabase=&m_db;
	m_rs.m_pDatabase=&m_db;
    m_fpmxrs.m_pDatabase=&m_db;
	UpdateData();
	m_fpmxrs.m_strFilter="Tickno like '" + m_fh + "'";//通过过滤条件显示刚添加的记录
    
	m_fpmxrs.Open();
	
    int n = 0 ;
	  while(!m_fpmxrs.IsEOF())
	  {
	     m_fpmx.InsertItem(n,"");
         CString s;
		 s.Format("%s",m_fpmxrs.m_Tickno);
 		 m_fpmx.SetItemText(n,0,s);
		 s.Format("%s",m_fpmxrs.m_Gno);
		 m_fpmx.SetItemText(n,1,s);
		 s.Format("%d",m_fpmxrs.m_Tcount);
		 m_fpmx.SetItemText(n,2,s);
		 s.Format("%.2f",m_fpmxrs.m_Gprice);
		 m_fpmx.SetItemText(n,3,s);
		 s.Format("%.2f",m_fpmxrs.m_subtotal);
		 m_fpmx.SetItemText(n,4,s);
         
	
		 m_fpmxrs.MoveNext();
		 n++;
	  }

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void Cfpxmxb::allxsh()
{
    
	if(m_rku.IsOpen())
		m_rku.Close();

		m_rku.Open();
  m_lfpx.DeleteAllItems();
    int n = 0 ;
	while(!m_rku.IsEOF())
	{
		
	    m_lfpx.InsertItem(n,"");
        CString s;
		s.Format("%s",m_rku.m_Lbno);
 		m_lfpx.SetItemText(n,0,s);
		s=m_rku.m_Lbtime.Format("%Y-%m-%d");
		
        m_lfpx.SetItemText(n,1,s);
		s.Format("%s",m_rku.m_keeper);
        m_lfpx.SetItemText(n,2,s);
		s.Format("%s",m_rku.m_buyer);
     	m_lfpx.SetItemText(n,3,s);
    	s.Format("%s",m_rku.m_checker);
     	m_lfpx.SetItemText(n,4,s);
	    //s.Format("%s",m_rs.m_checker);
        //m_lfpx.SetItemText(n,5,s);
		//s=m_rs.m_checktime.Format("%Y-%m-%d");
     	//m_lfpx.SetItemText(n,6,s);
		m_rku.MoveNext();
		n++;
	  }
  m_rku.Close();
  //dlg.DoModal();
  
}

void Cfpxmxb::Onallxsh() 
{
	// TODO: Add your control notification handler code here
	allxsh();
}

void Cfpxmxb::Onruku() 
{
	// TODO: Add your control notification handler code here
	
	if(m_shpku.IsOpen())
		m_shpku.Close();
   
	
    m_shpku.Open();

	m_lfpmx.DeleteAllItems();
    int n = 0 ;
	
	while(!m_shpku.IsEOF())
	{
		double x;
	    m_lfpmx.InsertItem(n,"");
        CString s;
		s.Format("%s",m_shpku.m_Lbno);
 		m_lfpmx.SetItemText(n,0,s);
		s.Format("%s",m_shpku.m_Gno);
		
		m_lfpmx.SetItemText(n,1,s);
        s.Format("%s",m_shpku.m_Tickno);
        m_lfpmx.SetItemText(n,2,s);
        s.Format("%s",m_shpku.m_Pname);
		m_lfpmx.SetItemText(n,3,s);
        s.Format("%s",m_shpku.m_Gname);
		m_lfpmx.SetItemText(n,4,s);
		s.Format("%s",m_shpku.m_Gtype);
        m_lfpmx.SetItemText(n,6,s);
        s.Format("%s",m_shpku.m_Gsign);
        m_lfpmx.SetItemText(n,5,s);
		s.Format("%s",m_shpku.m_Gcbitname);
        m_lfpmx.SetItemText(n,7,s);
        s.Format("%s",m_shpku.m_Gaddr);
        m_lfpmx.SetItemText(n,8,s);
		s.Format("%d",m_shpku.m_Lbcount);
		m_lfpmx.SetItemText(n,9,s);
        s.Format("%.2f",m_shpku.m_Gprice);
        m_lfpmx.SetItemText(n,10,s);
		x=m_shpku.m_Gprice*m_shpku.m_Lbcount;
        s.Format("%.2f",x);
	    m_lfpmx.SetItemText(n,11,s);
		m_shpku.MoveNext();
		n++;

	  }
	m_shpku.Close();
	//if (m_db.IsOpen())  m_db.Close(); 
	
	

}

void Cfpxmxb::Onsave() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_rku.IsOpen())
		m_rku.Close();
    m_rku.Open();
	
	try
	{
		m_rku.AddNew();
        UpdateData(TRUE);
        m_rku.m_Lbno=m_rkno;
        m_rku.m_Lbtime=m_rkshj;
	    m_rku.m_keeper=m_bgy;
	    m_rku.m_buyer=m_cgy;
	    m_rku.m_checker=m_shhr;
        m_rku.Update();
	    m_rku.Requery();
		if(m_rsmx.IsOpen())
			m_rsmx.Close();
        m_rsmx.Open();
        for(int i=0;i<m_fpmx.GetItemCount();i++)
		{
			m_rsmx.AddNew();
		    
            m_rsmx.m_Lbno=m_rkno;
            m_rsmx.m_Gno=m_fpmx.GetItemText(i,1);
		    m_rsmx.m_Tickno=m_fpmx.GetItemText(i,0);
		    m_rsmx.m_Lbcount=atof(m_fpmx.GetItemText(i,2));
		    m_rsmx.m_Gprice=atof(m_fpmx.GetItemText(i,3));
	        m_rsmx.m_Pname=m_ghsh;
            m_rsmx.Update();
            m_rsmx.Requery();
		}
	   m_rsmx.Close();
	}
	catch(CDBException *e)
   {
    AfxMessageBox(e->m_strError,MB_ICONEXCLAMATION);
		e->Delete();
	MessageBox("保存失败!");
	return;
   }
  AfxMessageBox("添加成功!");
  m_rku.Close();
}

void Cfpxmxb::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
}

void Cfpxmxb::Ondel() 
{
	// TODO: Add your control notification handler code here
	int	i = m_lfpx.GetNextItem(-1,LVNI_SELECTED);

	m_lfpx.DeleteItem(i);
}

HBRUSH Cfpxmxb::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	
	// TODO: Return a different brush if the default is not desired
	return m_brush;
}

⌨️ 快捷键说明

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