📄 dlgskpj_dhhy.cpp
字号:
// DlgSKPJ_DHHY.cpp : implementation file
//
#include "stdafx.h"
#include "falcon_jxc.h"
#include "DlgSKPJ_DHHY.h"
#include "FALCON_JXCView.h"
#include "message.h"
#include "DlgZCXS.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgSKPJ_DHHY dialog
CDlgSKPJ_DHHY::CDlgSKPJ_DHHY(CWnd* pParent /*=NULL*/)
: CDialog(CDlgSKPJ_DHHY::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgSKPJ_DHHY)
m_sChangming = _T("");
m_sGuanjianzi = _T("");
m_sHeji = _T("");
m_sRiqi = _T("");
m_sShouyinyuan = _T("");
m_sYifudingjin = _T("");
m_sYingfukuan = _T("");
m_sChaxunziduan = _T("");
m_fYufukuan = 0.0f;
m_strYingyeyuan = _T("");
m_fWeifuweikuan = 0.0f;
m_strXiaoshoubumen = _T("");
//}}AFX_DATA_INIT
m_nRowNum = 1;
m_fHeji = 0;
m_iSelectRow = 0;
m_bSave = FALSE;
m_fYifudingjin = 0.0;
//Andrew--------------------------------------------------
m_pView = NULL;
}
CDlgSKPJ_DHHY::CDlgSKPJ_DHHY(CFALCON_JXCView * pView)
{
m_sChangming = _T("");
m_sGuanjianzi = _T("");
m_sHeji = _T("");
m_sRiqi = _T("");
m_sShouyinyuan = _T("");
m_sYifudingjin = _T("");
m_sYingfukuan = _T("");
m_sChaxunziduan = _T("");
m_fYufukuan = 0.0f;
m_strYingyeyuan = _T("");
m_fWeifuweikuan = 0.0f;
m_strXiaoshoubumen = _T("");
m_nRowNum = 1;
m_fHeji = 0;
m_iSelectRow = 0;
m_bSave = FALSE;
m_fYifudingjin = 0.0;
m_bSave = FALSE;
m_pView = pView;
}
BOOL CDlgSKPJ_DHHY::Create()
{
return CDialog::Create(CDlgSKPJ_DHHY::IDD);
}
//----------------------------------------------------------
void CDlgSKPJ_DHHY::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgSKPJ_DHHY)
DDX_Control(pDX, IDC_WEIFUWEIKUAN1, m_ctrWeifuweikuan);
DDX_Control(pDX, IDC_CHAXUNZIDUAN2, m_ctrChaxunziduan);
DDX_Text(pDX, IDC_CHANGMING, m_sChangming);
DDX_Text(pDX, IDC_GUANJIANZI, m_sGuanjianzi);
DDX_Text(pDX, IDC_HEJI, m_sHeji);
DDX_Control(pDX, IDC_MSFLEXGRID1, m_ctrMSFlexGrid);
DDX_Text(pDX, IDC_RIQI, m_sRiqi);
DDX_Text(pDX, IDC_SHOUYINYUAN, m_sShouyinyuan);
DDX_Text(pDX, IDC_YIFUDINGJIN, m_sYifudingjin);
DDX_Text(pDX, IDC_YINGFUKUAN, m_sYingfukuan);
DDX_CBString(pDX, IDC_CHAXUNZIDUAN2, m_sChaxunziduan);
DDX_Text(pDX, IDC_YUFUKUAN, m_fYufukuan);
DDX_Text(pDX, IDC_YINGYEYUAN, m_strYingyeyuan);
DDX_Text(pDX, IDC_WEIFUWEIKUAN1, m_fWeifuweikuan);
DDX_Text(pDX, IDC_XIAOSHOUBUMEN1, m_strXiaoshoubumen);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgSKPJ_DHHY, CDialog)
//{{AFX_MSG_MAP(CDlgSKPJ_DHHY)
ON_BN_CLICKED(IDC_QUEDING, OnQueding)
ON_BN_CLICKED(IDC_CHAXUN, OnChaxun)
ON_BN_CLICKED(IDC_TUICHU, OnTuichu)
ON_BN_CLICKED(IDC_TIANJIA, OnTianjia)
ON_BN_CLICKED(IDC_SHANCHU, OnShanchu)
ON_EN_CHANGE(IDC_YUFUKUAN, OnChangeYufukuan)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgSKPJ_DHHY message handlers
BOOL CDlgSKPJ_DHHY::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_strXiaoshoubumen = m_pView->m_sShangchangmingcheng;
m_sShouyinyuan = m_pView->m_sShouyinyuan;
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,"生产厂商");
CTime time=CTime::GetCurrentTime();
int yy,mm,dd;
yy=time.GetYear();
mm=time.GetMonth();
dd=time.GetDay();
CString str;
str.Format("%d-%d-%d",yy,mm,dd);
m_sRiqi = str;
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgSKPJ_DHHY::OnQueding()
{
// TODO: Add your control notification handler code here
CFALCON_JXCDoc* pDoc = m_pView->GetDocument();
UpdateData();
if(m_ctrMSFlexGrid.GetTextMatrix(1,0) == "")
{
AfxMessageBox("无货品!");
return;
}
if(pDoc->ConnectToServer())
{
pDoc->SendMsg("",13221);
}
else
return;
a:
if(pDoc->m_b13221)
{
m_strPzbh=pDoc->m_pMsg->ShortMessage;
pDoc->m_b13221 = FALSE;
}
else
{
pDoc->ProcessReadMessage();
goto a;
}
for (int m=1;m<5; m++ )
{
if (m_ctrMSFlexGrid.GetTextMatrix(m,0) == "")
{
m_nRowNum = m;
break;
}
}
CString strInsert,strtemp,str;
int iCol = 9;/////////////表中一条记录为9列
int i,j;
int iTemp = atoi(m_strPzbh);
iTemp++;
m_strPzbh.Format("%d",iTemp);
///////////////////////////////////转换日期格式
int len = m_sRiqi.GetLength();
int Index = m_sRiqi.Find("-");
strtemp = m_sRiqi.Mid(0,Index);
str = m_sRiqi.GetAt(Index+2);
if(str == "-")
{
CString sMonth;
sMonth = m_sRiqi.GetAt(Index+1);
int month = atoi(sMonth);
sMonth.Format("0%d",month);
strtemp += sMonth;
}
else
{
strtemp += m_sRiqi.Mid(Index+1,2);
}
str = m_sRiqi.GetAt(len-2);
if(str == "-")
{
CString sDay;
sDay = m_sRiqi.GetAt(len-1);
int day = atoi(sDay);
sDay.Format("0%d",day);
strtemp += sDay;
}
else
{
strtemp += m_sRiqi.Mid(len-2,2);
}
CString strRiqi = strtemp;
/////////////////////////////////////////////
strtemp.Format("%d",m_nRowNum-1);
strInsert = strtemp;
strInsert += CHARFLAG;
strtemp.Format("%d",23);//数据库中有22列
strInsert += strtemp;
strInsert += CHARFLAG;
for(i = 1; i < m_nRowNum; i++)
{
strInsert += m_strPzbh;
strInsert += CHARFLAG;
strInsert += m_strXiaoshoubumen;
strInsert += CHARFLAG;
strInsert += m_sChangming;
strInsert += CHARFLAG;
strInsert += strRiqi;
strInsert += CHARFLAG;
for(j = 0; j < iCol; j++)
{
strInsert += m_ctrMSFlexGrid.GetTextMatrix(i,j);
strInsert += CHARFLAG;
}
if(i == 1)
{
strInsert += m_sHeji;
strInsert += CHARFLAG;
strInsert += m_sYifudingjin;//正常销售没有已付定金
strInsert += CHARFLAG;
strtemp.Format("%.2f",m_fYufukuan);
strInsert += strtemp;
strInsert += CHARFLAG;
strtemp.Format("%.2f",m_fWeifuweikuan);
strInsert += strtemp;
strInsert += CHARFLAG;
strInsert += "";//已付尾款为0
strInsert += CHARFLAG;
strInsert += m_sShouyinyuan;//预付款收银员
strInsert += CHARFLAG;
strInsert += "";//尾款收银员为空
strInsert += CHARFLAG;
strInsert += "";//付尾款日期为空
strInsert += CHARFLAG;
strInsert += m_strYingyeyuan;
strInsert += CHARFLAG;
strInsert += m_sGuanjianzi;
strInsert += CHARFLAG;
}
else
{
strInsert += "";
strInsert += CHARFLAG;
strInsert += "";//正常销售没有已付定金
strInsert += CHARFLAG;
// strtemp.Format("%.2f",m_fYufujine);
strInsert += "";
strInsert += CHARFLAG;
// strtemp.Format("%.2f",m_fWeifuweikuan);
strInsert += "";
strInsert += CHARFLAG;
strInsert += "";//已付尾款为0
strInsert += CHARFLAG;
strInsert += "";//预付款收银员
strInsert += CHARFLAG;
strInsert += "";//尾款收银员为空
strInsert += CHARFLAG;
strInsert += "";//付尾款日期为空
strInsert += CHARFLAG;
strInsert += "";
strInsert += CHARFLAG;
strInsert += "";
strInsert += CHARFLAG;
}
}
if(pDoc->ConnectToServer())
{
pDoc->SendMsg(strInsert,1322);//发送存储"收款凭据"请求
}
else
return;
/*/////////////////////
添加打印函数
*/////////////////////
b: if (pDoc->m_b2322)
{
pDoc->m_b2322 = FALSE;
m_bSave = TRUE;
OnDhhySkpjStat();
SendMessage(WM_COMMAND,ID_FILE_PRINT);
for(i=1;i<5;i++)
{
for(j=0;j<9;j++)
{
m_ctrMSFlexGrid.SetTextMatrix(i,j,"");
}
}
m_sChangming = "";
m_sGuanjianzi = "";
m_sYifudingjin = "";
m_sHeji = "";
m_fWeifuweikuan=0;
m_sYingfukuan = "";
m_fYufukuan=0;
m_strYingyeyuan = "";
UpdateData(FALSE);
}
else
{
pDoc->ProcessReadMessage();
goto b;
}
}
void CDlgSKPJ_DHHY::OnDhhySkpjStat()
{
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(6);
m_pView->m_strPrtArray.SetAt(0,m_strPzbh);
str = "顾客姓名 ";
str += m_sChangming;
m_pView->m_strPrtArray.SetAt(1,str);
m_pView->m_strPrtArray.SetAt(2,m_sRiqi);
str.Format("%.2f",m_fHeji);
m_pView->m_strPrtArray.SetAt(3,str);
str.Format("已付: %.2f",m_fYifudingjin+m_fYufukuan);
m_pView->m_strPrtArray.SetAt(4,str);
m_pView->m_strPrtArray.SetAt(5,m_sShouyinyuan);
}
void CDlgSKPJ_DHHY::OnChaxun()
{
// TODO: Add your control notification handler code here
UpdateData();
CFALCON_JXCDoc* pDoc = m_pView->GetDocument();
if(m_sGuanjianzi == "")
{
AfxMessageBox("请输入预定单号!");
return;
}
CString strRequest = m_sGuanjianzi;
if(pDoc->ConnectToServer())
{
pDoc->SendMsg(strRequest,1321);//发送查询"订货和约"请求
}
else
return;
a:
if(pDoc->m_b2321)
{
if(pDoc->m_pMsg->ShortMessage != "")
{
CString str;
m_sChangming = pDoc->m_StrArray[0];
m_strXiaoshoubumen = pDoc->m_StrArray[1];
for(int i = 0; i < 4; i++)
{
for (int j=0; j<9; j++)
{
str = pDoc->m_StrArray[2+i*9+j];
m_ctrMSFlexGrid.SetTextMatrix(i+1,j,str);
}
}
m_sYifudingjin = pDoc->m_StrArray[38];//yufudingjin
m_sHeji = pDoc->m_StrArray[39];
m_strYingyeyuan = pDoc->m_StrArray[40];
UpdateData(FALSE);
m_fYifudingjin = (float)atof(m_sYifudingjin);
OnUpdateData();
}
else
{
AfxMessageBox("未查到相符记录!");
}
pDoc->m_b2321 = FALSE;
}
else
{
pDoc->ProcessReadMessage();
goto a;
}
}
void CDlgSKPJ_DHHY::OnOK()
{
//Dummy OnOk function!
}
void CDlgSKPJ_DHHY::OnCancel()
{
//Dummy OnCancel function!
}
void CDlgSKPJ_DHHY::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 CDlgSKPJ_DHHY::OnTianjia()
{
// TODO: Add your control notification handler code here
UpdateData();
for (int i=1;i<5; i++ )
{
if (m_ctrMSFlexGrid.GetTextMatrix(i,0) == "")
{
m_nRowNum = i;
break;
}
}
if(m_nRowNum > 4)
return;
CDlgZCXS_SPMX dlg;
if(dlg.DoModal() == IDOK)
{
if (dlg.m_sBianma == "")
{
return;
}
for(int i = 1; i < m_nRowNum; i++)
{
if(dlg.m_sBianma == m_ctrMSFlexGrid.GetTextMatrix(i,0))
{
AfxMessageBox("该商品已添加!");
return;
}
}
m_nRowNum++;
CString str;
str = dlg.m_sBianma;
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,0,str);
str = dlg.m_sMingcheng;
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,1,str);
str = dlg.m_sDanwei;
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,2,str);
str = dlg.m_sGuige;
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,3,str);
str.Format("%d",dlg.m_iShuliang);
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,4,str);
str.Format("%.2f",dlg.m_fYouhuijia);
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,5,str);
str.Format("%.2f",dlg.m_fYouhuijia*dlg.m_iShuliang);
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,6,str);
str = dlg.m_sGonghuoshang;
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,7,str);
str = dlg.m_sShengchanchangshang;
m_ctrMSFlexGrid.SetTextMatrix(m_nRowNum-1,8,str);
OnUpdateData();
UpdateData(FALSE);
}
}
void CDlgSKPJ_DHHY::OnShanchu()
{
// TODO: Add your control notification handler code here
UpdateData();
CString str;
if (m_iSelectRow >0)
{
str.Format("是否删除第%d条记录?",m_iSelectRow);
if(AfxMessageBox(str,MB_YESNO) == IDYES)
{
m_ctrMSFlexGrid.RemoveItem(m_iSelectRow);
m_nRowNum--;
m_ctrMSFlexGrid.SetRows(5);
m_ctrMSFlexGrid.Refresh();
OnUpdateData();
UpdateData(FALSE);
}
m_iSelectRow=0;
}
else
{
AfxMessageBox("请选择要删除的记录!");
return;
}
}
BEGIN_EVENTSINK_MAP(CDlgSKPJ_DHHY, CDialog)
//{{AFX_EVENTSINK_MAP(CDlgSKPJ_DHHY)
ON_EVENT(CDlgSKPJ_DHHY, IDC_MSFLEXGRID1, -600 /* Click */, OnClickMsflexgrid1, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CDlgSKPJ_DHHY::OnClickMsflexgrid1()
{
// TODO: Add your control notification handler code here
m_iSelectRow = m_ctrMSFlexGrid.GetRow();
}
void CDlgSKPJ_DHHY::OnUpdateData()
{
UpdateData();
int iRows = 0;
m_fHeji = 0.0;
for (int i=1;i<5; i++ )
{
if (m_ctrMSFlexGrid.GetTextMatrix(i,0) != "")
{
m_fHeji += (float)atof(m_ctrMSFlexGrid.GetTextMatrix(i,6));
}
}
m_sHeji.Format("%.2f",m_fHeji);
m_sYingfukuan.Format("%.2f", m_fHeji - m_fYifudingjin);
m_fWeifuweikuan = m_fHeji - m_fYufukuan - m_fYifudingjin;
UpdateData(FALSE);
}
void CDlgSKPJ_DHHY::OnChangeYufukuan()
{
OnUpdateData();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -