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

📄 dsell.cpp

📁 商品销售管理系统程序全套源码 gongnengxiangjin
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	this->m_EdtCliect.GetWindowText(sCliectName);
	sCliectID=ado.FieldToOtherField("客户信息表","名称",sCliectName,"编号",1);
	this->m_EdtDealMan.GetWindowText(sDeal);
	this->m_ComStyle.GetWindowText(sStyle);
	this->m_ComRID.GetWindowText(sRID);
	this->m_StaSmallSum.GetWindowText(sSumMoney);
	this->m_StaSumNumber.GetWindowText(sSumNumber);
	OPID=ado.FieldToOtherField("操作员信息表","名称",OP,"编号",1);		

	if(sStyle=="订货销售")
	{
		//更新订货信息表
		sSQL.Format("UPDATE 订货信息表 SET 结款否=1 WHERE 票号='%s'",sRID);
		rst.Open(sSQL,adCmdText);
		//添加销售信息表
		sSQL.Format("INSERT INTO 销售信息表 values('%s','%s','%s',%s,%s,%s,'%s',1,%s,%s,%s)",sCID,sDate,sCliectID,sSumNumber,sSumMoney,OPID,sDeal,sPay,sNotPay,sGiveChange);
	}
	else
		sSQL.Format("INSERT INTO 销售信息表 values('%s','%s','%s',%s,%s,%s,'%s',0,%s,%s,%s)",sCID,sDate,sCliectID,sSumNumber,sSumMoney,OPID,sDeal,sPay,sNotPay,sGiveChange);
	rst.Open(sSQL,adCmdText);
	//添加销售明细表
	for(int i=0;i<m_Grid.GetItemCount();i++)
	{
		//名称、规格、产地三个字段才能指定唯一的商品
		sWare=this->m_Grid.GetItemText(i,0);
		sSpec=this->m_Grid.GetItemText(i,1);
		sAddr=this->m_Grid.GetItemText(i,2);
		sPrice=this->m_Grid.GetItemText(i,5);
		sNumber=this->m_Grid.GetItemText(i,4);
		if(sWare.IsEmpty())
			break;
		sSQL.Format("SELECT * FROM 商品信息表 WHERE 名称='%s' AND 规格='%s' AND 产地='%s'",sWare,sSpec,sAddr);
		rst.Open(sSQL,adCmdText);
		rst.MoveFirst();
		sWareID=rst.GetFieldValue("编号");
		sSQL.Format("INSERT INTO 销售明细表 VALUES('%s','%s',%s,%s)",sCID,sWareID,sPrice,sNumber);
		rst.Open(sSQL,adCmdText);
		//更新库存信息表
		sSQL.Format("SELECT * FROM 库存信息表 WHERE 商品编号='%s'",sWareID);
		rst.Open(sSQL,adCmdText);
		if(rst.GetRecordCount()<1)//没有此种商品的库存信息	
			sSQL.Format("INSERT INTO 库存信息表 VALUES('%s',-%s)",sWareID,sNumber);
		else
		{
			sStoreNUM=rst.GetFieldValue("库存数量");
			sSQL.Format("UPDATE 库存信息表 SET 库存数量=%d WHERE 商品编号='%s'",atoi(sStoreNUM)-atoi(sNumber),sWareID);	
		}
		rst.Open(sSQL,adCmdText);
	}
	this->Enabled(false);
	this->m_ButPrint.SetFocus();	

}


void CDSell::OnSetfocusComrid() 
{

	CString sCliectID,sCliect,sSQL;
	m_EdtCliect.GetWindowText(sCliect);
	sCliectID=ado.FieldToOtherField("客户信息表","名称",sCliect,"编号",1);
	sSQL.Format("SELECT * FROM 订货信息表 WHERE 客户编号='%s' AND 结款否=0",sCliectID);
	rst.Open(sSQL,adCmdText);
	m_ComRID.SetRecordset(rst,"票号");	
	
}

void CDSell::OnKillfocusComstyle() 
{
	CString sText;
	this->m_ComStyle.GetWindowText(sText);

	if(sText=="零售")
	{
		this->m_ComRID.EnableWindow(false);
		m_Grid.SetRow(0);
		m_Grid.SetCol(0);
		m_Grid.InsertItem(0,"");
		m_Grid.BeginEdit(0,0);
		rst.Open("SELECT DISTINCT 名称,简称  from 商品信息表",adCmdText);		
		m_Grid.m_Edit.StartUpAssciation=true;
		m_Grid.m_Edit.SetRecordset(rst);
		m_Grid.m_Edit.SetSelectField("名称");
		m_Grid.m_Edit.SetFocus();
	}
	else
	{
		this->m_ComRID.EnableWindow(true);	
		this->m_ComRID.SetFocus();
	}
	
}

void CDSell::OnCellKillFocus()
{
	CString sNumber,sPrice,sTotal;
	float fTotal;
	if(m_Grid.GetCol()==5)
	{	
		sNumber=m_Grid.GetItemText(m_Grid.GetRow(),4);
		sPrice=m_Grid.GetItemText(m_Grid.GetRow(),5);
		fTotal=atof(sNumber)*atof(sPrice);
		sTotal.Format("%f",fTotal);
		m_Grid.SetItemText(m_Grid.GetRow(),6,sTotal);
		int nRecordCount,nSumNumber=0;
		float fSumTotal=0.00;
		nRecordCount=m_Grid.GetItemCount();
		for(int m=0;m<nRecordCount;m++)
		{
			sNumber=m_Grid.GetItemText(m,4);
			sPrice=m_Grid.GetItemText(m,5);
			fTotal=atof(sNumber)*atof(sPrice);
			nSumNumber=nSumNumber+atoi(sNumber);
			fSumTotal=fSumTotal+fTotal;
		}
		
		sNumber.Format("%d",nSumNumber);
		sTotal.Format("%f",fSumTotal);
		this->m_StaSumNumber.SetWindowText(sNumber);
		this->m_StaSmallSum.SetWindowText(sTotal);
		this->m_StaNotPay.SetWindowText(sTotal);
		CString BigTotal;
		BigTotal=MoneyToChineseCode(sTotal);
		this->m_StaBigSum.SetWindowText(BigTotal);
	}
	if(m_Grid.GetCol()==6)
	{
		rst.Open("SELECT DISTINCT 名称,简称  from 商品信息表",adCmdText);		
		m_Grid.m_Edit.StartUpAssciation=true;
		m_Grid.m_Edit.SetRecordset(rst);
		m_Grid.m_Edit.SetSelectField("名称");
		m_Grid.m_Edit.NumberOnly(false);
	}
}

void CDSell::OnCellSetFocus()
{
	CString sSQL,sName,sSpec,sUnit;
	if(m_Grid.GetCol()==1)
	{	
		sName=m_Grid.GetItemText(m_Grid.GetRow(),0);
		m_Grid.m_Edit.ClearAll();
		sSQL.Format("SELECT DISTINCT 名称,规格 from 商品信息表 WHERE 名称='%s'",sName);
		rst.Close();
		rst.Open(sSQL,adCmdText);
		m_Grid.m_Edit.SetRecordset(rst);
		m_Grid.m_Edit.SetSelectField("规格");
		m_Grid.m_Edit.StartUpAssciation=false;
		m_Grid.m_Edit.PopHide=false;
		m_Grid.m_Edit.AutoPosition();
	}
	if(m_Grid.GetCol()==2)
	{
		m_Grid.m_Edit.ClearAll();
		sName=m_Grid.GetItemText(m_Grid.GetRow(),0);
		sSpec=m_Grid.GetItemText(m_Grid.GetRow(),1);
		sSQL.Format("SELECT DISTINCT 名称,产地  from 商品信息表 WHERE 名称='%s' and 规格='%s'",sName,sSpec);
		rst.Close();
		rst.Open(sSQL,adCmdText);
		m_Grid.m_Edit.SetRecordset(rst);
		m_Grid.m_Edit.SetSelectField("产地");
		m_Grid.m_Edit.PopHide=false;
		m_Grid.m_Edit.StartUpAssciation=false;
		m_Grid.m_Edit.AutoPosition();
	}
	if(m_Grid.GetCol()==3)
	{
		m_Grid.m_Edit.ClearAll();
		sName=m_Grid.GetItemText(m_Grid.GetRow(),0);
		sSpec=m_Grid.GetItemText(m_Grid.GetRow(),1);
		sUnit=m_Grid.GetItemText(m_Grid.GetRow(),2);
		sSQL.Format("SELECT DISTINCT 名称,计量单位  from 商品信息表 WHERE 名称='%s' and 规格='%s'and 产地='%s'",sName,sSpec,sUnit);
		rst.Close();
		rst.Open(sSQL,adCmdText);
		m_Grid.m_Edit.SetRecordset(rst);
		m_Grid.m_Edit.SetSelectField("计量单位");
		m_Grid.m_Edit.StartUpAssciation=false;
		m_Grid.m_Edit.AutoPosition();
		m_Grid.m_Edit.PopHide=true;
		m_Grid.m_Edit.EnterNumber=0;
	}
	if(m_Grid.GetCol()==4)
	{
		m_Grid.m_Edit.EnterNumber=0;
		m_Grid.m_Edit.PopHide=true;
		m_Grid.m_Edit.NumberOnly(true);

	}
	if(m_Grid.GetCol()==5)
	{
		m_Grid.m_Edit.ClearAll();
		sName=m_Grid.GetItemText(m_Grid.GetRow(),0);
		sSpec=m_Grid.GetItemText(m_Grid.GetRow(),1);
		sUnit=m_Grid.GetItemText(m_Grid.GetRow(),2);
		sSQL.Format("SELECT DISTINCT 名称,销售价格 as 单价  from 商品信息表 WHERE 名称='%s' and 规格='%s'and 产地='%s'",sName,sSpec,sUnit);
		rst.Close();
		rst.Open(sSQL,adCmdText);
		m_Grid.m_Edit.SetRecordset(rst);
		m_Grid.m_Edit.SetSelectField("单价");
		m_Grid.m_Edit.StartUpAssciation=false;
		m_Grid.m_Edit.PopHide=false;
		m_Grid.m_Edit.AutoPosition();
	}

}

void CDSell::OnBUTUndo() 
{
	if(MessageBox("确定要撤消操作吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)==1)
	{
		m_StaID.SetWindowText("DH040403-000001");
		m_StaDate.SetWindowText("2004-04-03");
		this->Enabled(false);
		m_ButCleck.SetFocus();
		this->clear();
	}
	
}

void CDSell::OnBUTExit() 
{
	this->OnCancel();	
	
}

HBRUSH CDSell::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	if(pWnd==&m_StaBigSum ||pWnd==&m_StaSmallSum||pWnd==&m_StaSumNumber)
		pDC->SetTextColor(RGB(255,0,0));
	
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

void CDSell::OnChangeEdtpay() 
{
	CString sSmallSum,sPay,sMoney;
	int fMoney;
	m_EdtPay.GetWindowText(sPay);
	this->m_StaSmallSum.GetWindowText(sSmallSum);
	if(atof(sPay)>=atof(sSmallSum))
	{
		this->m_StaNotPay.SetWindowText("0");
		fMoney=atof(sPay)-atof(sSmallSum);
		sMoney.Format("%f",fMoney);
		this->m_StaGiveChange.SetWindowText(sMoney);
	}
	else
	{
		this->m_StaGiveChange.SetWindowText("0");
		fMoney=atof(sSmallSum)-atof(sPay);
		sMoney.Format("%f",fMoney);
		this->m_StaNotPay.SetWindowText(sMoney);
	}
}

⌨️ 快捷键说明

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