📄 dlgdhhy.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 + -