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

📄 dlgdhhy.cpp

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

#include "stdafx.h"
#include "FALCON_JXC.h"
#include "DlgDHHY.h"
#include "dlgspmx.h"
#include "FALCON_JXCView.h"
#include "message.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgDHHY dialog


CDlgDHHY::CDlgDHHY(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgDHHY::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgDHHY)
	m_sBz = _T("");
	m_sDate = _T("");
	m_sDinghuofang = _T("");
	m_sDianhua = _T("");
	m_fDingjin = 0.0f;
	m_sGonghuofang = _T("");
	m_sJiaohuodidian = _T("");
	m_sJiaohuoriqi = _T("");
	m_sLianxidianhua = _T("");
	m_sShouyinyuan = _T("");
	m_fXiaoji = 0.0f;
	m_sYingyeyuan = _T("");
	m_fZhekou = 0.0f;
	m_fTotal = 0.0f;
	m_strHybh = _T("");
	m_nDelXuhao = 0;
	//}}AFX_DATA_INIT
	m_nRowNum = 1;
	m_iColNum = 11;
	m_nDelXuhao = 0;
	m_iSelcetRow = 0;
	m_bSave = FALSE;
//Andrew--------------------------------------------------
	m_pView = NULL;
}

CDlgDHHY::CDlgDHHY(CFALCON_JXCView * pView)
{
	m_sBz = _T("");
	m_sDate = _T("");
	m_sDinghuofang = _T("");
	m_sDianhua = _T("");
	m_fDingjin = 0.0f;
	m_sGonghuofang = _T("");
	m_sJiaohuodidian = _T("");
	m_sJiaohuoriqi = _T("");
	m_sLianxidianhua = _T("");
	m_sShouyinyuan = _T("");
	m_fXiaoji = 0.0f;
	m_sYingyeyuan = _T("");
	m_fZhekou = 0.0f;
	m_fTotal = 0.0f;
	m_strHybh = _T("");
	m_nDelXuhao = 0;
	m_nRowNum = 1;
	m_iColNum = 11;
	m_nDelXuhao = 0;
	m_iSelcetRow = 0;
	m_bSave = FALSE;
	m_pView = pView;
}

BOOL CDlgDHHY::Create()
{
	return CDialog::Create(CDlgDHHY::IDD);
}
//----------------------------------------------------------


void CDlgDHHY::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgDHHY)
	DDX_Control(pDX, IDC_DATETIMEPICKER2, m_ctrJiaoHuoDate);
	DDX_Control(pDX, IDC_DATETIMEPICKER1, m_ctrDate);
	DDX_Control(pDX, IDC_TOTAL, m_ctrTotal);
	DDX_Control(pDX, IDC_SAVE, m_ctrSave);
	DDX_Text(pDX, IDC_BZ, m_sBz);
	DDX_Text(pDX, IDC_DATE, m_sDate);
	DDX_Text(pDX, IDC_DHF, m_sDinghuofang);
	DDX_Text(pDX, IDC_DIANHUA, m_sDianhua);
	DDX_Text(pDX, IDC_DJ, m_fDingjin);
	DDX_Text(pDX, IDC_GHF, m_sGonghuofang);
	DDX_Text(pDX, IDC_JHDD, m_sJiaohuodidian);
	DDX_Text(pDX, IDC_JHRQ, m_sJiaohuoriqi);
	DDX_Text(pDX, IDC_LXDH, m_sLianxidianhua);
	DDX_Text(pDX, IDC_SYY, m_sShouyinyuan);
	DDX_Text(pDX, IDC_XJ, m_fXiaoji);
	DDX_Text(pDX, IDC_YYY, m_sYingyeyuan);
	DDX_Text(pDX, IDC_ZK, m_fZhekou);
	DDX_Control(pDX, IDC_MSFLEXGRID1, m_ctrMSFlexGrid);
	DDX_Text(pDX, IDC_TOTAL, m_fTotal);
	DDX_Text(pDX, IDC_DELXUHAO, m_nDelXuhao);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgDHHY, CDialog)
	//{{AFX_MSG_MAP(CDlgDHHY)
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
	ON_BN_CLICKED(IDC_SAVE, OnSave)
	ON_EN_SETFOCUS(IDC_TOTAL, OnSetfocusTotal)
	ON_EN_UPDATE(IDC_ZK, OnUpdateZk)
	ON_BN_CLICKED(IDC_BUTTON4, OnDelete)
	ON_BN_CLICKED(ID_OK, OnTuichu)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgDHHY message handlers

BOOL CDlgDHHY::OnInitDialog() 
{
	CDialog::OnInitDialog();

	// TODO: Add extra initialization here
	m_ctrMSFlexGrid.SetTextArray(0,"序号");	
	m_ctrMSFlexGrid.SetTextArray(1,"编码");	
	m_ctrMSFlexGrid.SetTextArray(2,"名称");	
	m_ctrMSFlexGrid.SetTextArray(3,"规格");	
	m_ctrMSFlexGrid.SetTextArray(4,"单位");	
	m_ctrMSFlexGrid.SetTextArray(5,"数量");	
	m_ctrMSFlexGrid.SetTextArray(6,"原价");	
	m_ctrMSFlexGrid.SetTextArray(7,"优惠价");	
	m_ctrMSFlexGrid.SetTextArray(8,"折扣率");	
	m_ctrMSFlexGrid.SetTextArray(9,"金额");	
	m_ctrMSFlexGrid.SetTextArray(10,"备注");
	
	m_ctrMSFlexGrid.SetColWidth(0,600);

	CString str;
	for(int i = 1; i < 5; i++)
	{
		str.Format("%d",i);
		m_ctrMSFlexGrid.SetTextMatrix(i,0,str);
	}
	
	CTime time=CTime::GetCurrentTime();
	int yy,mm,dd;
	yy=time.GetYear();
	mm=time.GetMonth();
	dd=time.GetDay();
	str.Format("%d-%d-%d",yy,mm,dd);
	m_sDate = str;

	m_ctrJiaoHuoDate.SetTime(&time);
	m_ctrJiaoHuoDate.SetTime(&time);
	m_sGonghuofang = m_pView->m_sShangchangmingcheng;
	m_sShouyinyuan = m_pView->m_sShouyinyuan;
	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgDHHY::OnButton3() //添加
{
	// TODO: Add your control notification handler code here
	UpdateData();
	CDlgSPMX dlg;
	if(dlg.DoModal() == IDOK)
	{
		if (dlg.m_sBianma == "")
		{
			return;
		}
		m_nRowNum++;
		if(m_nRowNum > 5)	return;
		CString str,strYuanjia;
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,1,dlg.m_sBianma);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,2,dlg.m_sName);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,3,dlg.m_sGuige);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,4,dlg.m_sDanwei);
		str.Format("%d",dlg.m_iShuliang);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,5,str);
		strYuanjia.Format("%.2f",dlg.m_fJiage);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,6,strYuanjia);
		str.Format("%.2f",dlg.m_fZhekoujia);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,7,str);

		m_fZhekoulv = dlg.m_fZhekoujia/dlg.m_fJiage;
		str.Format("%.2f",m_fZhekoulv);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,8,str);
		
		str.Format("%.2f",dlg.m_iShuliang*dlg.m_fZhekoujia);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,9,str);
		m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,10,dlg.m_sBeizhu);

		m_fXiaoji += (float)atof(strYuanjia)*dlg.m_iShuliang;
		m_fZhekou += (float)atof(strYuanjia)*dlg.m_iShuliang - (float)atof(str);
		m_fTotal += (float)atof(str);
		UpdateData(FALSE);
	}
}

void CDlgDHHY::OnSave() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	CFALCON_JXCDoc* pDoc = m_pView->GetDocument();
	
	if(m_ctrMSFlexGrid.GetTextMatrix(1,1) == "")
	{
		AfxMessageBox("无订货!");
		return;
	}

	if(pDoc->ConnectToServer())
	{

		pDoc->SendMsg("",13201);
	}
	else
		return;
a: 
	if(pDoc->m_b13201)
	{
	   m_strHybh=pDoc->m_pMsg->ShortMessage;
		pDoc->m_b13201 = FALSE;
	}
	else
	{
		pDoc->ProcessReadMessage();
		goto a;
	}


	CString strInsert,strtemp,str;

	int iTemp = atoi(m_strHybh);
	iTemp++;
	m_strHybh.Format("%d",iTemp);
	strInsert = m_strHybh;
	strInsert+=CHARFLAG;
	strInsert+=m_sGonghuofang;
	strInsert+=CHARFLAG;
	strInsert+=m_sDinghuofang;
	strInsert+=CHARFLAG;
	strInsert+=m_sDianhua;
	strInsert+=CHARFLAG;
	///////////////////////////////////转换日期格式
	int len = m_sDate.GetLength();
	int Index = m_sDate.Find("-");
	strtemp = m_sDate.Mid(0,Index);
	str = m_sDate.GetAt(Index+2);
	if(str == "-")
	{
		CString sMonth;
		sMonth = m_sDate.GetAt(Index+1);
		int month = atoi(sMonth);
		sMonth.Format("0%d",month);
		strtemp += sMonth;
	}
	else
	{
		strtemp += m_sDate.Mid(Index+1,2);
	}
	str = m_sDate.GetAt(len-2);
	if(str == "-")
	{
		CString sDay;
		sDay = m_sDate.GetAt(len-1);
		int day = atoi(sDay);
		sDay.Format("0%d",day);
		strtemp += sDay;
	}
	else
	{
		strtemp += m_sDate.Mid(len-2,2);
	}
//	m_sDate = strtemp;
	/////////////////////////////////////////////
	strInsert+=strtemp;
	strInsert+=CHARFLAG;
	for(int i=1;i<5;i++)
	{
		for(int j=0;j<11;j++)
		{
			strInsert+=m_ctrMSFlexGrid.GetTextMatrix(i,j);
			strInsert+=CHARFLAG;
		}

	}
	strtemp.Format("%.2f",m_fXiaoji);
	strInsert+=strtemp;
	strInsert+=CHARFLAG;
	strtemp.Format("%.2f",m_fZhekou);
	strInsert+=strtemp;
	strInsert+=CHARFLAG;
	strtemp.Format("%.2f",m_fTotal);
	strInsert+=strtemp;
	strInsert+=CHARFLAG;
	strtemp.Format("%.2f",m_fDingjin);
	strInsert+=strtemp;
	strInsert+=CHARFLAG;
	strInsert+=m_sBz;
	strInsert+=CHARFLAG;

	CTime time;
	m_ctrJiaoHuoDate.GetTime(time);
	int yy,mm,dd;
	yy = time.GetYear();
	mm = time.GetMonth();
	dd = time.GetDay();
	str.Format("%d-%d-%d",yy,mm,dd);
	strInsert+=str;
	strInsert+=CHARFLAG;

	strInsert+=m_sLianxidianhua;
	strInsert+=CHARFLAG;
	strInsert+=m_sJiaohuodidian;
	strInsert+=CHARFLAG;
	strInsert+=m_sYingyeyuan;
	strInsert+=CHARFLAG;
	strInsert+=m_sShouyinyuan;
	strInsert+=CHARFLAG;

	if(pDoc->ConnectToServer())
	{

		pDoc->SendMsg(strInsert,1320);//发送存储"订货和约"请求
	}
	else
		return;

	/*/////////////////////
	添加打印函数
	*/////////////////////
b:	if (pDoc->m_b2320)
	{
		pDoc->m_b2320 = FALSE;
		m_bSave = TRUE;

		OnDhhySata();
		SendMessage(WM_COMMAND,ID_FILE_PRINT);

		for(i=1;i<5;i++)
		{
			for(int j=0;j<11;j++)
			{
				m_ctrMSFlexGrid.SetTextMatrix(i,j,"");
			}
		}
		m_sDinghuofang = "";
		m_sDianhua = "";
		m_fXiaoji = 0;
		m_fTotal = 0;
		m_fZhekou = 0;
		m_fDingjin = 0;
		m_sBz = "";
		m_sLianxidianhua = "";
		m_sJiaohuodidian = "";
		m_sYingyeyuan = "";
		UpdateData(FALSE);
	}
	else
	{
		pDoc->ProcessReadMessage();
		goto b;
	}

}

void CDlgDHHY::OnDhhySata()
{
	m_pView->m_CMSFlexGrid = &m_ctrMSFlexGrid;
	m_pView->m_iRows = 0;
	for (int i=1; i<5; i++)
	{
		if (m_ctrMSFlexGrid.GetTextMatrix(i,0) != "")
		{
			m_pView->m_iRows++;
		}
		else
		{
			break;
		}
	}

	if (m_pView->m_strPrtArray.GetSize()!=0)
	{
		m_pView->m_strPrtArray.RemoveAll();
	}
	
	CString str;
	m_pView->m_strPrtArray.SetSize(15);
	m_pView->m_strPrtArray.SetAt(0,m_strHybh);
	m_pView->m_strPrtArray.SetAt(1,m_sGonghuofang);
	m_pView->m_strPrtArray.SetAt(2,m_sDinghuofang);
	m_pView->m_strPrtArray.SetAt(3,m_sDianhua);
	str.Format("%.2f",m_fXiaoji);
	m_pView->m_strPrtArray.SetAt(4,str);
	str.Format("%.2f",m_fZhekou);
	m_pView->m_strPrtArray.SetAt(5,str);
	str.Format("%.2f",m_fTotal);
	m_pView->m_strPrtArray.SetAt(6,str);
	str.Format("%.2f",m_fDingjin);
	m_pView->m_strPrtArray.SetAt(7,str);
	m_pView->m_strPrtArray.SetAt(8,m_sBz);
	
	CTime time;
	m_ctrJiaoHuoDate.GetTime(time);
	int yy,mm,dd;
	yy = time.GetYear();
	mm = time.GetMonth();
	dd = time.GetDay();
	str.Format("%d-%d-%d",yy,mm,dd);
	m_pView->m_strPrtArray.SetAt(9,str);
	m_pView->m_strPrtArray.SetAt(10,m_sLianxidianhua);
	m_pView->m_strPrtArray.SetAt(11,m_sJiaohuodidian);
	m_pView->m_strPrtArray.SetAt(12,m_sYingyeyuan);
	m_pView->m_strPrtArray.SetAt(13,m_sShouyinyuan);
	m_pView->m_strPrtArray.SetAt(14,m_sDate);
}
void CDlgDHHY::OnSetfocusTotal() 
{
	// TODO: Add your control notification handler code here
//	m_fTotal = m_fXiaoji - m_fZhekou;
//	UpdateData(FALSE);
}

void CDlgDHHY::OnUpdateZk() 
{
/*	UpdateData();
	m_fTotal = m_fXiaoji - m_fZhekou;
	CString str;
	str.Format("%.2f",m_fTotal);
	m_ctrTotal.SetWindowText(str);*/
}

void CDlgDHHY::OnDelete() 
{
	// TODO: Add your control notification handler code here

	UpdateData();
	CString str;

	if (m_iSelcetRow >0)
	{	
		str.Format("是否删除第%d条记录?",m_iSelcetRow);
		if(AfxMessageBox(str,MB_YESNO) == IDYES)
		{
			m_fXiaoji -= (float)atof(m_ctrMSFlexGrid.GetTextMatrix(m_iSelcetRow,5))
							*(float)atof(m_ctrMSFlexGrid.GetTextMatrix(m_iSelcetRow,6));
			m_fZhekou -= (float)atof(m_ctrMSFlexGrid.GetTextMatrix(m_iSelcetRow,6))
				*(float)atof(m_ctrMSFlexGrid.GetTextMatrix(m_iSelcetRow,5))
				- (float)atof(m_ctrMSFlexGrid.GetTextMatrix(m_iSelcetRow,9));
			m_fTotal -= (float)atof(m_ctrMSFlexGrid.GetTextMatrix(m_iSelcetRow,9));
			UpdateData(FALSE);//
			
			m_ctrMSFlexGrid.RemoveItem(m_iSelcetRow);
			m_nRowNum--;
			m_ctrMSFlexGrid.SetRows(5);
			for(int i = 1; i < 5; i++)
			{
				str.Format("%d",i);
				m_ctrMSFlexGrid.SetTextMatrix(i,0,str);
			}
			m_ctrMSFlexGrid.Refresh();

		}
		m_iSelcetRow=0;
	}
	else 
	{
		AfxMessageBox("请选择要删除的记录!");
		return;
	}

}

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

void CDlgDHHY::OnClickMsflexgrid1() 
{
	// TODO: Add your control notification handler code here
	m_iSelcetRow = m_ctrMSFlexGrid.GetRow();
}

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

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

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

⌨️ 快捷键说明

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