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

📄 shangpinyanshou.cpp

📁 面向软件工程的Visual C++网络程序开发
💻 CPP
字号:
// Shangpinyanshou.cpp : implementation file
//

#include "stdafx.h"
#include "falcon_jxc.h"
#include "FALCON_JXCView.h"
#include "Shangpinyanshou.h"
#include "Yanshoumingxi.h"
#include "mainfrm.h"
#include "message.h"

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

/////////////////////////////////////////////////////////////////////////////
// CShangpinyanshou dialog


CShangpinyanshou::CShangpinyanshou(CWnd* pParent /*=NULL*/)
	: CDialog(CShangpinyanshou::IDD, pParent)
{
	//{{AFX_DATA_INIT(CShangpinyanshou)
	m_strCombo1 = _T("");
	m_strCombo2 = _T("");
	m_strGuanjianzi1 = _T("");
	m_strGuanjianzi2 = _T("");
	m_strYanshouzhidanren = _T("");
	m_strYanshouzhidanriqi = _T("");
	//}}AFX_DATA_INIT
	m_strCode = _T("");
	m_iRow = 0;
	m_iSelectRow = 0;
	m_bSave = FALSE;
}


void CShangpinyanshou::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CShangpinyanshou)
	DDX_Control(pDX, IDC_COMBO2, m_ctrCombo2);
	DDX_Control(pDX, IDC_COMBO1, m_ctrCombo1);
	DDX_CBString(pDX, IDC_COMBO1, m_strCombo1);
	DDX_CBString(pDX, IDC_COMBO2, m_strCombo2);
	DDX_Text(pDX, IDC_GUANJIANZI1, m_strGuanjianzi1);
	DDX_Text(pDX, IDC_GUANJIANZI2, m_strGuanjianzi2);
	DDX_Control(pDX, IDC_MSFLEXGRID1, m_CMSFlexGrid);
	DDX_Text(pDX, IDC_YANSHOUZHIDANREN, m_strYanshouzhidanren);
	DDX_Text(pDX, IDC_YANSHOUZHIDANRIQI, m_strYanshouzhidanriqi);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CShangpinyanshou, CDialog)
	//{{AFX_MSG_MAP(CShangpinyanshou)
	ON_BN_CLICKED(IDC_MINGXIYANSHOU, OnMingxiyanshou)
	ON_BN_CLICKED(IDC_CHAZHAO, OnChazhao)
	ON_BN_CLICKED(IDC_SAVE, OnSave)
	ON_BN_CLICKED(ID_TUICHU, OnTuichu)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CShangpinyanshou message handlers

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

	m_CMSFlexGrid.SetCols(18);
	m_CMSFlexGrid.SetRows(m_iRow+1);
	m_CMSFlexGrid.SetTextMatrix(0,0,"序号");
	m_CMSFlexGrid.SetTextMatrix(0,1,"编码");
 	m_CMSFlexGrid.SetTextMatrix(0,2,"名称");	
	m_CMSFlexGrid.SetTextMatrix(0,3,"单位");	
	m_CMSFlexGrid.SetTextMatrix(0,4,"规格");	
	m_CMSFlexGrid.SetTextMatrix(0,5,"型号");	
	m_CMSFlexGrid.SetTextMatrix(0,6,"数量");	
	m_CMSFlexGrid.SetTextMatrix(0,7,"进价");		
	m_CMSFlexGrid.SetTextMatrix(0,8,"售价");	
	m_CMSFlexGrid.SetTextMatrix(0,9,"供货商");	
	m_CMSFlexGrid.SetTextMatrix(0,10,"生产厂商");	
	m_CMSFlexGrid.SetTextMatrix(0,11,"入货部门");		
	m_CMSFlexGrid.SetTextMatrix(0,12,"方量");	
	m_CMSFlexGrid.SetTextMatrix(0,13,"正品数");		
	m_CMSFlexGrid.SetTextMatrix(0,14,"次品数");		
	m_CMSFlexGrid.SetTextMatrix(0,15,"质量");		
	m_CMSFlexGrid.SetTextMatrix(0,16,"库号");
	m_CMSFlexGrid.SetTextMatrix(0,17,"商品状态");
	
	m_ctrCombo1.AddString("入库单号");
	m_ctrCombo1.AddString("入库日期");
	m_ctrCombo1.AddString("商品编码");
	m_ctrCombo1.SetCurSel(0);
	m_ctrCombo2.AddString("商品编码");
	m_ctrCombo2.AddString("入库单号");
	m_ctrCombo2.SetCurSel(0);	
	
	UpdateData(TRUE);
	CMainFrame* pwnd=(CMainFrame*)AfxGetApp()->m_pMainWnd;
	CFALCON_JXCView* pView=(CFALCON_JXCView*)pwnd->GetActiveView();
	CFALCON_JXCDoc* pDoc=	pView->GetDocument();


	CTime time=CTime::GetCurrentTime();
	int yy,mm,dd;
	CString str;	
	yy=time.GetYear();
	mm=time.GetMonth();
	dd=time.GetDay();
	str.Format("%d-%d-%d",yy,mm,dd);
	m_strYanshouzhidanriqi = str;
	UpdateData(FALSE);
	return TRUE; 
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

BEGIN_EVENTSINK_MAP(CShangpinyanshou, CDialog)
    //{{AFX_EVENTSINK_MAP(CShangpinyanshou)
	ON_EVENT(CShangpinyanshou, IDC_MSFLEXGRID1, -600 /* Click */, OnClickMsflexgrid1, VTS_NONE)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CShangpinyanshou::OnMingxiyanshou() 
{
	// TODO: Add your control notification handler code here
	CMainFrame* pwnd=(CMainFrame*)AfxGetApp()->m_pMainWnd;
	CFALCON_JXCView* pView=(CFALCON_JXCView*)pwnd->GetActiveView();

	CYanshoumingxi dlg;
	CString str;
	if(m_iSelectRow != 0)
	{
		dlg.m_strBianma = m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,1);
		dlg.m_strMingcheng = m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,2);
		dlg.m_strDanwei = m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,3);
		dlg.m_strGuige = m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,4);
		dlg.m_strXinghao = m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,5);
		dlg.m_nShuliang = atoi(m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,6));
		dlg.m_fJinjia = (float)atof(m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,7));
		dlg.m_fShoujia = (float)atof(m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,8));
		dlg.m_strGonghuoshang = m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,9);
		dlg.m_strShengchanchang = m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,10);
		dlg.m_strRuhuobumen =  m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,11);
		dlg.m_iZhengpinshu = atoi(m_CMSFlexGrid.GetTextMatrix(m_iSelectRow,6));
		dlg.m_iCipinshu = 0;

		if (dlg.DoModal() == IDOK)
		{
			str.Format("%.2f",dlg.m_fJinjia);
			m_CMSFlexGrid.SetTextMatrix(m_iSelectRow,7,str);
			str.Format("%.2f",dlg.m_fShoujia);
			m_CMSFlexGrid.SetTextMatrix(m_iSelectRow,8,str);
			m_CMSFlexGrid.SetTextMatrix(m_iSelectRow,11,dlg.m_strRuhuobumen);
			m_CMSFlexGrid.SetTextMatrix(m_iSelectRow,12,dlg.m_strFangliang);
			str.Format("%d",dlg.m_iZhengpinshu);
			m_CMSFlexGrid.SetTextMatrix(m_iSelectRow,13,str);
			str.Format("%d",dlg.m_iCipinshu);
			m_CMSFlexGrid.SetTextMatrix(m_iSelectRow,14,str);
			m_CMSFlexGrid.SetTextMatrix(m_iSelectRow,15,dlg.m_strZhiliang);
			m_CMSFlexGrid.SetTextMatrix(m_iSelectRow,16,dlg.m_strKuhao);
		}
	}
	
}

void CShangpinyanshou::OnChazhao() 
{
	// TODO: Add your control notification handler code here
	UpdateData();

	CMainFrame* pwnd=(CMainFrame*)AfxGetApp()->m_pMainWnd;
	CFALCON_JXCView* pView=(CFALCON_JXCView*)pwnd->GetActiveView();
	CFALCON_JXCDoc* pDoc = pView->GetDocument();

	if (m_strGuanjianzi1 == ""&&m_strGuanjianzi2 == "" )
	{
		AfxMessageBox("请输入关键字!");
		return;
	}
	else
	{
		CString strRequest;
		strRequest = m_strCombo1;
		strRequest += CHARFLAG;
		strRequest += m_strGuanjianzi1;
		strRequest += CHARFLAG;
		strRequest += m_strCombo2;
		strRequest += CHARFLAG;
		strRequest += m_strGuanjianzi2;
		strRequest += CHARFLAG;
	
		if(pDoc->ConnectToServer())
		{

			pDoc->SendMsg(strRequest,1221);//发送查询"入库单"请求
		}
		else
			return;
	}	

a: 
	if(pDoc->m_b2221)
	{
		if(pDoc->m_pMsg->ShortMessage != "")
		{
			int n = 0;
			CString str;
			m_iRow = pDoc->m_iRow;
			m_CMSFlexGrid.SetRows(m_iRow+1);
			for(int i = 0; i < m_iRow; i++)
			{
				str.Format("%d",i+1);
				m_CMSFlexGrid.SetTextMatrix(i+1,0,str);
				
				str = pDoc->m_StrArray[n+1];
				m_CMSFlexGrid.SetTextMatrix(i+1,1,str);

				str = pDoc->m_StrArray[n+2];
				m_CMSFlexGrid.SetTextMatrix(i+1,2,str);

				str = pDoc->m_StrArray[n+3];
				m_CMSFlexGrid.SetTextMatrix(i+1,3,str);

				str = pDoc->m_StrArray[n+4];
				m_CMSFlexGrid.SetTextMatrix(i+1,4,str);

				str = pDoc->m_StrArray[n+5];
				m_CMSFlexGrid.SetTextMatrix(i+1,5,str);

				str = pDoc->m_StrArray[n+6];
				m_CMSFlexGrid.SetTextMatrix(i+1,6,str);
				
				str = pDoc->m_StrArray[n+7];
				m_CMSFlexGrid.SetTextMatrix(i+1,7,str);

				str = pDoc->m_StrArray[n+8];
				m_CMSFlexGrid.SetTextMatrix(i+1,8,str);
				
				str = pDoc->m_StrArray[n+9];
				m_CMSFlexGrid.SetTextMatrix(i+1,9,str);
				
				str = pDoc->m_StrArray[n+10];
				m_CMSFlexGrid.SetTextMatrix(i+1,10,str);
				
				m_CMSFlexGrid.SetTextMatrix(i+1,11,pView->m_sShangchangmingcheng);

				str = pDoc->m_StrArray[n+6];
				m_CMSFlexGrid.SetTextMatrix(i+1,13,str);
				
				m_CMSFlexGrid.SetTextMatrix(i+1,14,"0");

				m_CMSFlexGrid.SetTextMatrix(i+1,15,"正品");
				
				m_CMSFlexGrid.SetTextMatrix(i+1,17,"已验收");
				n = n+15;
			}
		}
		else
		{
			AfxMessageBox("未查到相符记录!");
		}
		pDoc->m_b2221 = FALSE;
	}
	else
	{
		pDoc->ProcessReadMessage();
		goto a;
	}
	
}

void CShangpinyanshou::OnClickMsflexgrid1() 
{
	// TODO: Add your control notification handler code here
	m_iSelectRow = m_CMSFlexGrid.GetRow();
}

void CShangpinyanshou::OnSave() 
{
	// TODO: Add your control notification handler code here
	UpdateData();

	CMainFrame* pwnd=(CMainFrame*)AfxGetApp()->m_pMainWnd;
	CFALCON_JXCView* pView=(CFALCON_JXCView*)pwnd->GetActiveView();
	CFALCON_JXCDoc* pDoc=pView->GetDocument();
	if(pDoc->ConnectToServer())
	{

		pDoc->SendMsg("",1220);
	}
	else
		return;
a:
	if(pDoc->m_b2220)
	{
	   m_strYsdbh=pDoc->m_pMsg->ShortMessage;
	   pDoc->m_b2220 = FALSE;
	}
	else
	{
		pDoc->ProcessReadMessage();
		goto a;
	}
	
	if(m_iRow == 0)
	{
		AfxMessageBox("没有需要保存的信息!");
		return;
	}
	CString strTemp;
	int i,j,iRow = 0;
	int iTmp = atoi(m_strYsdbh);
	iTmp++;//验收单编号

	for(i = 1; i < m_iRow+1; i++)
	{
		if(m_CMSFlexGrid.GetTextMatrix(i,17) == "已验收")
		{
			iRow++;//要修改的商品的个数
		}
	}
	strTemp.Format("%d",iRow+4);
	CString strRequest;
	strRequest = "1";//1行
	strRequest += CHARFLAG;
	strRequest += strTemp;//列
	strRequest += CHARFLAG;
	strRequest += m_strCombo1;
	strRequest += CHARFLAG;
	strRequest += m_strGuanjianzi1;
	strRequest += CHARFLAG;
	strRequest += m_strCombo2;
	strRequest += CHARFLAG;
	strRequest += m_strGuanjianzi2;
	strRequest += CHARFLAG;
	for (i=1; i<m_iRow+1; i++)
	{
		if(m_CMSFlexGrid.GetTextMatrix(i,17) == "已验收")
		{
			strRequest += m_CMSFlexGrid.GetTextMatrix(i,1);//取要更新的商品编码
			strRequest += CHARFLAG;
		}
	}	
	if(pDoc->ConnectToServer())
	{

		pDoc->SendMsg(strRequest,1223);//发送更新"入库单"请求
	}
	else
		return;

a1: 
	if(pDoc->m_b2223)
	{
		pDoc->m_b2223 = FALSE;
	}
	else
	{
		pDoc->ProcessReadMessage();
		goto a1;
	}

	
	strTemp.Format("%d",iRow);
	m_strCode = strTemp;
	m_strCode += CHARFLAG;
	m_strCode += "19";		
	m_strCode += CHARFLAG;

	strTemp.Format("%d",iTmp);
	for (i=1; i<m_iRow+1; i++)
	{
		if(m_CMSFlexGrid.GetTextMatrix(i,17) == "已验收")
		{
			m_strCode += strTemp;
			m_strCode += CHARFLAG;

			for (j=1; j<17; j++)
			{
				m_strCode += m_CMSFlexGrid.GetTextMatrix(i,j);
				m_strCode += CHARFLAG;
			}
			m_strCode += m_strYanshouzhidanriqi;
			m_strCode += CHARFLAG;
			m_strCode += m_strYanshouzhidanren;
			m_strCode += CHARFLAG;
		}
	}
//	AfxMessageBox(m_strCode);
	if(pDoc->ConnectToServer())
	{

		pDoc->SendMsg(m_strCode,1222);//发送存储"验收单"请求
	}
	else
		return;

a2: 
	if(pDoc->m_b2222)
	{
		pDoc->m_b2222 = FALSE;
		m_CMSFlexGrid.SetRows(2);
		for (int j=0; j<18;j++)
		{
			m_CMSFlexGrid.SetTextMatrix(1,j,"");
		}
		m_CMSFlexGrid.Refresh();
		m_strGuanjianzi1="";
		UpdateData(FALSE);
	}
	else
	{
		pDoc->ProcessReadMessage();
		goto a2;
	}
	/*/////////////////////
	添加打印函数
	*/////////////////////

	m_bSave = TRUE;
//		OnOK();

}

void CShangpinyanshou::OnTuichu() 
{
	// TODO: Add your control notification handler code here
	if (m_bSave == FALSE && AfxMessageBox("尚未出单!是否退出?", MB_YESNO | MB_ICONQUESTION) == IDNO)
	{
		return;
	}
	else
	{
		CDialog::OnOK();

	}
}

void CShangpinyanshou::OnOK() 
{
	//Dummy OnOk function!
}

void CShangpinyanshou::OnCancel() 
{
	//Dummy OnCancel function!
}

⌨️ 快捷键说明

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