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

📄 dlgwlz.cpp

📁 进销存管理系统介绍了企业的现状以及进销存数据管理系统的特点、功能和使用对象
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	sql.Format("select tabrkjz.fk_ph,tabrkjz.je,tabrkjz.rq from tabrkjz,tabrkph where tabrkph.rk_ph = tabrkjz.rk_ph and tabrkjz.rq>='%s' and tabrkjz.rq<='%s' and tabrkph.gys_id ='%s' order by tabrkjz.rq asc",
		this->m_strRqDown,this->m_strRqUp,this->m_strId);

	if(!this->m_runsql.CheckSQLResult(sql)) return i--;

	this->m_list.InsertItem(i,"入库结帐票号");
	this->m_list.SetItemText(i,1,"金额");
	this->m_list.SetItemText(i,4,"日期");
	this->m_list.SetItemText(i,5,"入库结帐登记");
	_variant_t value;
	i++;
	while(!m_runsql.m_recordset->adoEOF)
	{
		value=m_runsql.m_recordset->GetCollect("fk_ph");
		if(value.vt!=VT_NULL)
		m_list.InsertItem(i,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("je");
		if(value.vt!=VT_NULL)
		m_list.SetItemText(i,1,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("rq");
		if(value.vt!=VT_NULL)
		m_list.SetItemText(i,4,(char*)(_bstr_t)value);

		m_list.SetItemText(i,5,"入库结帐登记");

		i++;
		m_runsql.m_recordset->MoveNext();
	}
//	i++;
	return i;
}

int CDlgWLZ::RefreshRKTHList(int i)
{
	CString sql;
	sql.Format("select tabrkthph.rkth_ph,tabrkthph.ys,\
		tabrkthph.ss,tabrkthph.ws,tabrkthph.rq from \
		tabrkthph,tabrkph \
		where tabrkph.rk_ph = tabrkthph.rk_ph and\
		tabrkthph.rq>='%s' and tabrkthph.rq<='%s' and\
		tabrkph.gys_id ='%s' order by tabrkthph.rq asc",
		this->m_strRqDown,this->m_strRqUp,this->m_strId);

	if(!this->m_runsql.CheckSQLResult(sql)) return i;


	this->m_list.InsertItem(i,"入库退货票号");
	this->m_list.SetItemText(i,1,"应收");
	this->m_list.SetItemText(i,2,"已收");
	this->m_list.SetItemText(i,3,"未收");
	this->m_list.SetItemText(i,4,"日期");
	this->m_list.SetItemText(i,5,"入库退货登记");
	_variant_t value;
	double ys=0,ss=0;m_drkth_ws=0;i++;
	while(!m_runsql.m_recordset->adoEOF)
	{
		value=m_runsql.m_recordset->GetCollect("rkth_ph");
		if(value.vt!=VT_NULL)
		m_list.InsertItem(i,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("ys");
		if(value.vt!=VT_NULL)
		ys=ys+value.dblVal;
		m_list.SetItemText(i,1,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("ss");
		if(value.vt!=VT_NULL)
		ss=ss+value.dblVal;
		m_list.SetItemText(i,2,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("ws");
		if(value.vt!=VT_NULL)
		this->m_drkth_ws=m_dxsth_wf+value.dblVal;
		m_list.SetItemText(i,3,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("rq");
		if(value.vt!=VT_NULL)
		m_list.SetItemText(i,4,(char*)(_bstr_t)value);
		m_list.SetItemText(i,5,"入库退货登记");
		m_runsql.m_recordset->MoveNext();
		i++;
	}
	m_list.InsertItem(i,"");
	CString a;
	m_list.SetItemText(i,0,"合计:");
	a.Format("%0.2f",ys);a+="元";
	m_list.SetItemText(i,1,a);
	a.Format("%0.2f",ss);a+="元";
	m_list.SetItemText(i,2,a);
	a.Format("%0.2f",this->m_drkth_ws);a+="元";
	m_list.SetItemText(i,3,a);
	i++;
	return i;
}

int CDlgWLZ::RefreshRKTHJZList(int i)
{
	CString sql;
	sql.Format("select tabrkthjz.sk_ph,tabrkthjz.je,\
		tabrkthjz.rq from tabrkthjz,tabrkthph,tabrkph \
		where tabrkthph.rkth_ph = tabrkthjz.rkth_ph and\
		tabrkthph.rk_ph = tabrkph.rk_ph and\
		tabrkthjz.rq>='%s' and tabrkthjz.rq<='%s' and\
		tabrkph.gys_id ='%s' order by tabrkthjz.rq asc",
		this->m_strRqDown,this->m_strRqUp,this->m_strId);

	if(!this->m_runsql.CheckSQLResult(sql)) return i--;

	this->m_list.InsertItem(i,"入库退货结帐票号");
	this->m_list.SetItemText(i,1,"金额");
	this->m_list.SetItemText(i,4,"日期");
	this->m_list.SetItemText(i,5,"入库退货结帐登记");
	_variant_t value;
	i++;
	while(!m_runsql.m_recordset->adoEOF)
	{
		value=m_runsql.m_recordset->GetCollect("sk_ph");
		if(value.vt!=VT_NULL)
		m_list.InsertItem(i,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("je");
		if(value.vt!=VT_NULL)
		m_list.SetItemText(i,1,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("rq");
		if(value.vt!=VT_NULL)
		m_list.SetItemText(i,4,(char*)(_bstr_t)value);
	this->m_list.SetItemText(i,5,"入库退货结帐登记");

		i++;
		m_runsql.m_recordset->MoveNext();
	}
	return i;
}

BOOL CDlgWLZ::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	InitBaseInfo();

	InitListView();	

	m_editId.SetFocus();
	//	::PostMessage(m_editId.GetSafeHwnd(),WM_ACTIVATE ,WA_CLICKACTIVE,0);
	return false;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

bool CDlgWLZ::InitStringList()
{
	CString sql;
	_variant_t value;
	m_strlist=new CStringList[2];
	if(this->m_bKh)
	{
		m_strlist[0].AddTail("客户编号");
		m_strlist[1].AddTail("客户全称");
		sql.Format("select DISTINCT kh_id,kh_name from tabkh order by kh_id asc");
		if(!this->m_runsql.CheckSQLResult(sql))return false;
		while(!m_runsql.m_recordset->adoEOF)
		{
			value=m_runsql.m_recordset->GetCollect("kh_id");
			if(value.vt!=VT_NULL)
			{
				this->m_strlist[0].AddTail((char*)(_bstr_t)value);
			}
			value=m_runsql.m_recordset->GetCollect("kh_name");
			if(value.vt!=VT_NULL)
			{
				this->m_strlist[1].AddTail((char*)(_bstr_t)value);
			}

			m_runsql.m_recordset->MoveNext();
		}
	}
	else
	{
		m_strlist[0].AddTail("供应商编号");
		m_strlist[1].AddTail("供应商全称");
		sql.Format("select DISTINCT gys_id,gys_name from tabgys order by gys_id asc");
		if(!this->m_runsql.CheckSQLResult(sql))return false;
		while(!m_runsql.m_recordset->adoEOF)
		{
			value=m_runsql.m_recordset->GetCollect("gys_id");
			if(value.vt!=VT_NULL)
			{
				this->m_strlist[0].AddTail((char*)(_bstr_t)value);
			}
			value=m_runsql.m_recordset->GetCollect("gys_name");
			if(value.vt!=VT_NULL)
			{
				this->m_strlist[1].AddTail((char*)(_bstr_t)value);
			}

			m_runsql.m_recordset->MoveNext();
		}
	
	}
	this->m_popList.Create(this);
	m_popList.SelectStringList(2,this->m_strlist);
	this->m_editId.SelectPopList(&m_popList);
	this->m_editName.SelectPopList(&m_popList);

	return true;
}
void CDlgWLZ::SetTheFocus()
{
	HWND hwnd=::GetFocus();
	int iID=::GetDlgCtrlID(hwnd);
	switch(iID)
	{
	case IDC_EDIT_KHID:
		{
			this->m_editName.SetFocus();
			m_editName.SetSel(0,-1);
			break;
		}
	case IDC_EDIT_KHNAME:
		{
			this->m_tcRqDown.SetFocus();
			break;
		}
	case IDC_DATETIMEPICKER1:
		{
			this->m_tcRqUp.SetFocus();
			break;
		}
	case IDC_DATETIMEPICKER2:
		{
			this->m_btnQuery.SetFocus();
			break;
		}
	case IDOK:
		{
			this->m_editId.SetFocus();
			this->m_editId.SetSel(0,-1);
			break;
		}
	case IDC_LIST1:
		{
			this->m_editId.SetFocus();
			this->m_editId.SetSel(0,-1);
		}
	}
}

BOOL CDlgWLZ::PreTranslateMessage(MSG* pMsg) 
{	CString str;
	const HWND hwnd=(pMsg!=NULL)?pMsg->hwnd:NULL;
	if(hwnd==NULL)
	{
		 goto a;
	}
	if(pMsg->message==WM_KEYDOWN&&(pMsg->wParam==13||pMsg->wParam==VK_TAB))
	{

		if(hwnd==this->m_btnQuery.GetSafeHwnd())
		{	
			if(pMsg->wParam==13)
			::PostMessage(this->GetSafeHwnd(),
			WM_COMMAND,IDC_BUTTON_QUERY,(UINT)hwnd);
			pMsg->wParam=VK_CONTROL;
		}
		else
		{
			this->SetTheFocus();
			pMsg->wParam=VK_CONTROL;
		}
	}
	if(pMsg->message==WM_LBUTTONUP&&hwnd==this->m_btnQuery.GetSafeHwnd())
	{
		if(m_btnQuery.GetState()&0x0004)
		::PostMessage(this->GetSafeHwnd(),
		WM_COMMAND,IDC_BUTTON_QUERY,(UINT)hwnd);

		str.Format("%d\n",pMsg->message);
		TRACE(str);
	}
a:	
	return CDialog::PreTranslateMessage(pMsg);
}

bool CDlgWLZ::CalculateAndShowResult()
{
	if(this->m_bKh)
	{
	double ysfk=this->m_dxs_ys;
	double qk=this->m_dxs_ws-this->m_dxsth_wf;

	this->m_strYsfk.Format("应收款:%0.2f",ysfk);
	this->m_strQk.Format("欠款:%0.2f",qk);
	}
	else
	{
	double ysfk=this->m_drk_yf;
	double qk=this->m_drk_wf-this->m_drkth_ws;

	this->m_strYsfk.Format("应付款:%0.2f",ysfk);
	this->m_strQk.Format("欠款:%0.2f",qk);
	
	}

	this->m_editQk.SetWindowText(m_strQk);
	this->m_editYsfk.SetWindowText(m_strYsfk);
	if(this->m_bKh)
	{
	m_dxs_ys=0;
	this->m_dxs_ws=0;
	this->m_dxsth_wf=0;
	}
	else
	{
	m_drk_yf=0;
	m_drk_wf=0;
	this->m_drkth_ws=0;
	}
	return true;
}

//////////////////////////////////////////////////////////////////////
// CDrawWLZ Class
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDrawWLZ::CDrawWLZ(CDlgWLZ* dlg):CDrawDlg()
{
	parent=dlg;
	m_nColumns=6;
	m_iHaveColumnsTitle=0;
	m_nSmallTilte=3;
	m_piCharsColumns=new int[m_nColumns];
	m_piWidthColumns=new int[m_nColumns];	//每列宽度
}

CDrawWLZ::~CDrawWLZ()
{

}
void CDrawWLZ::PrintDlg(CDC* pDC, CPrintInfo* pInfo)
{	

	m_pOldFont = (CFont*) (pDC->SelectObject(m_pGeneralFont));	

	//根据页数,计算要显示内容
	//0页要显示3行基本数据,其他页只显示列表数据
	CPoint ptLeftCurPos(pInfo->m_rectDraw.TopLeft());
	CPoint ptRightCurPos(pInfo->m_rectDraw.right,pInfo->m_rectDraw.top);

	ptLeftCurPos.Offset(this->m_iLeftMargin,2*this->m_iLineHeight);
	ptRightCurPos.Offset(-this->m_iRightMargin,2*this->m_iLineHeight);
	int iCurPage=pInfo->m_nCurPage;
	if(iCurPage==pInfo->GetMinPage())
	{
		ptLeftCurPos.Offset(0,this->m_iLineHeight/4);//开始写字的起始坐标
		ptRightCurPos.Offset(0,this->m_iLineHeight/4);

		CString str,down,up;
		CSize size;

		this->parent->m_tcRqDown.GetWindowText(down);
		this->parent->m_tcRqUp.GetWindowText(up);
		str="日期:   "+down+"--"+up;
		pDC->TextOut(ptLeftCurPos.x,ptLeftCurPos.y,str);

		ptLeftCurPos.Offset(0,this->m_iLineHeight);
		CString mc="客户";
		if(!parent->m_bKh)mc="供应商";

		pDC->TextOut(ptLeftCurPos.x,ptLeftCurPos.y,mc+"编号:");	
		this->parent->m_editId.GetWindowText(str);
		pDC->TextOut(m_iLineHeight*4,ptLeftCurPos.y,str);

		ptLeftCurPos.Offset(0,this->m_iLineHeight);
		pDC->TextOut(ptLeftCurPos.x,ptLeftCurPos.y,mc+"名称:");
		this->parent->m_editName.GetWindowText(str);
		pDC->TextOut(m_iLineHeight*4,ptLeftCurPos.y,str);


		this->parent->m_editYsfk.GetWindowText(str);
		size=pDC->GetTextExtent(str);
		pDC->TextOut(ptRightCurPos.x-size.cx,ptRightCurPos.y,str);

		ptRightCurPos.Offset(0,m_iLineHeight);
		this->parent->m_editQk.GetWindowText(str);
		pDC->TextOut(ptRightCurPos.x-size.cx,ptRightCurPos.y,str);


		ptLeftCurPos.Offset(0,m_iLineHeight*3/4);
		ptRightCurPos.Offset(0,m_iLineHeight*7/4);
	}

	if(this->parent->m_list.GetItemCount()<=0)return;
		this->DrawListItems(pDC,iCurPage,ptLeftCurPos,ptRightCurPos,&parent->m_list);

	pDC->SelectObject(m_pOldFont);	
}

void CDrawWLZ::PrintPageHeader(CDC* pDC, CPrintInfo* pInfo)
{

	CString str;
	if(parent->m_bKh)
		str="客户往来帐";
	else
		str="供应商往来帐";

	CDrawDlg::PrintPageHeader(pDC,pInfo,str);
}

void CDlgWLZ::OnButtonPrint() 
{
	for(int i=m_list.GetItemCount()-1;i>=0;i--)
	if(m_list.GetItemText(i,2)==""&&m_list.GetItemText(i,3)==""&&m_list.GetItemText(i,4)=="")
	{
		m_list.DeleteItem(i);
	}
	if(!::OpenPrintFrame(this,m_draw))
	{
		MessageBox("打开打印框架错误","错误!");
		
	}
}

void CDlgWLZ::OnButtonQuery() 
{
	this->m_tcRqDown.GetWindowText(this->m_strRqDown);
	this->m_tcRqUp.GetWindowText(this->m_strRqUp);
	this->m_editId.GetWindowText(m_strId);

	if(this->m_strlist->Find(m_strId)==NULL)
	{
		MessageBox("请输入正确的编号","错误");
		m_editId.SetFocus();
		return ;
	}
	//if(m_strRqUp==this->m_strOldRqUp&&m_strRqDown==this->m_strOldRqDown&&this->m_strOldId==this->m_strId)
	//	return ;
//	else
	{
		this->m_strOldRqUp=m_strRqUp;
		this->m_strOldRqDown=m_strRqDown;
		this->m_strOldId=this->m_strId;
	}

	this->RefreshListView();
	this->m_list.SetFocus();		
}

void CDlgWLZ::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}


CListCtrl* CDrawWLZ::GetListCtrl()
{
return &this->parent->m_list;
}

BOOL CDlgWLZ::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	delete [] m_strlist;
	m_strlist=NULL;
	delete m_draw;
	m_draw=NULL;
	return CDialog::DestroyWindow();
}

void CDlgWLZ::OnMove(int x, int y) 
{
	CDialog::OnMove(x, y);
	
	::PostMessage(this->m_editId.GetSafeHwnd(),MYMESSAGE_EDIT_KHID_MOVED,0,0);
	::PostMessage(this->m_editName.GetSafeHwnd(),MYMESSAGE_EDIT_KHID_MOVED,0,0);
}

⌨️ 快捷键说明

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