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

📄 dlgxsth.cpp

📁 进销存管理系统介绍了企业的现状以及进销存数据管理系统的特点、功能和使用对象
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		{
			this->m_comboJsfs.SetFocus();
			return true;
		}
	case IDC_COMBO2:
		{
			this->m_plistTH->m_iEditedIndex=-1;
			::PostMessage(m_plistTH->GetSafeHwnd(),WM_SETFOCUS,0,0);
			::PostMessage(m_plistTH->GetSafeHwnd(),SETNEXTITEMPHFOCUS,0,0);
			return true;
		}
	case ID_NEWLISTLSXSDJ:
		{
			this->GetDlgItem(IDC_EDIT_SS)->SetFocus();
			return true;
		}
	case IDOK:
		{
			this->m_btnCancel.SetFocus();
			return true;

		}
	case IDCANCEL:
		{
//			
			this->m_tcRq.SetFocus();//mm_btnCancel.SetActiveWindow();	
			return true;
		}
	case IDC_BUTTON_DEL:
		{
			this->m_btnOk.SetFocus();
			return true;
		}
	}
	return false;
}

BOOL CDlgXSTH::PreTranslateMessage(MSG* pMsg) 
{

	const HWND hwnd=(pMsg!=NULL)?pMsg->hwnd:NULL;
		if(hwnd==NULL) goto a;
		
	if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==13)
	{
		if(hwnd==this->m_btnOk.GetSafeHwnd()||
			hwnd==this->m_btnCancel.GetSafeHwnd()||
			hwnd==this->m_btnDel.GetSafeHwnd())
				::PostMessage(this->GetSafeHwnd(),WM_COMMAND,::GetDlgCtrlID(hwnd),(UINT)hwnd);
		else
		this->SetTheFocus();
	}
	if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_TAB)
	{
			if(SetTheFocus())
					pMsg->wParam=VK_CONTROL;
	}

a:
		return CDialog::PreTranslateMessage(pMsg);
}

void CDlgXSTH::OnButtonOk() 
{
	if(!this->m_plistTH->CheckAll()) return;
	this->BeginWaitCursor();

		CString sql;
		CA1App * app=(CA1App*)AfxGetApp();

		CString xxth_ph;this->m_editThPh.GetWindowText(xxth_ph);
		CString xx_ph=this->m_strPh;	int i=0;	
		CString czy=app->m_sUserName;
		CString jsr;this->m_comboJsr.GetWindowText(jsr);
		CString rq;this->m_tcRq.GetWindowText(rq);
		CString jsfs;this->m_comboJsfs.GetWindowText(jsfs);
		CString yp_id,yp_name,s_sl,ck_name,s_dj,s_je;
		
		long l_sl;
		double d_dj,d_je;

		double ys=0;
		double ss=0;
		double ws=0;
		long pzs=0;
		bool is_jq=false;

		CString sSs;
		this->GetDlgItem(IDC_EDIT_SS)->GetWindowText(sSs);
		ss=atof(sSs);


		CStringList slist;
		int n=m_plistTH->GetItemCount();
		if(n<=0)
		{
			MessageBox("请输入登记信息","注意");
			this->m_plistTH->m_iEditedIndex=-1;
			m_plistTH->InsertItem(0,"");
			::PostMessage(m_plistTH->GetSafeHwnd(),WM_SETFOCUS,0,0);
			::PostMessage(m_plistTH->GetSafeHwnd(),SETNEXTITEMPHFOCUS,0,0);
			return ;
		}
		try{
		m_runsql.m_recordset->Close();
		LRunSql::BeginTrans();
		}
		catch(_com_error e)
		{
			MessageBox(e.ErrorMessage());
		}
		for(i=0;i<n;i++)
		{
		yp_id=this->m_plistTH->GetItemText(i,0);
		yp_name=this->m_plistTH->GetItemText(i,1);
		ck_name=this->m_plistTH->GetItemText(i,2);
		s_dj=this->m_plistTH->GetItemText(i,3);
		d_dj=atof(s_dj);
		s_sl=this->m_plistTH->GetItemText(i,4);
		l_sl=atoi(s_sl);
		s_je=this->m_plistTH->GetItemText(i,5);
		d_je=atof(s_je);
		ys=d_je+ys;
	//	ss=ss+atof(m_plistTH->GetItemText(i,6));
		//save dj;
		if(slist.Find(yp_id)==NULL)slist.AddTail(yp_id);

		if(m_bXsth)
		sql.Format("INSERT INTO tabxsthdj(xsth_ph,yp_id,ck_name,sl,dj,je) VALUES('%s','%s','%s',%d,%f,%f)"
			,xxth_ph,yp_id,ck_name,l_sl,d_dj,d_je);
		else
		sql.Format("INSERT INTO tabrkthdj(rkth_ph,yp_id,ck_name,sl,dj,je) VALUES('%s','%s','%s',%d,%f,%f)"
			,xxth_ph,yp_id,ck_name,l_sl,d_dj,d_je);

		this->m_runsql.RunSQL(sql);
		//save kc;
		if(m_bXsth)
		sql.Format("update tabkc set kc_number = kc_number + %d where yp_id='%s' and ck_name = '%s'",l_sl,yp_id,ck_name);
		else
		sql.Format("update tabkc set kc_number = kc_number - %d where yp_id='%s' and ck_name = '%s'",l_sl,yp_id,ck_name);

		this->m_runsql.RunSQL(sql);
		}
		ws=ys-ss;
		if(ws<=0.0)
		{
			ws=0.0;
			is_jq=true;
		}
		pzs=slist.GetCount();
		if(m_bXsth)
		sql.Format("INSERT INTO tabxsthph(xsth_ph,xs_ph,pzs,yf,sf,wf,is_jq,rq,czy,jsr,jsfs) VALUES('%s','%s',%d,%f,%f,%f,%d,'%s','%s','%s','%s')"
			,xxth_ph,xx_ph,pzs,ys,ss,ws,is_jq,rq,czy,jsr,jsfs);
		else
		sql.Format("INSERT INTO tabrkthph(rkth_ph,rk_ph,pzs,ys,ss,ws,is_jq,rq,czy,jsr,jsfs) VALUES('%s','%s',%d,%f,%f,%f,%d,'%s','%s','%s','%s')"
			,xxth_ph,xx_ph,pzs,ys,ss,ws,is_jq,rq,czy,jsr,jsfs);

		this->m_runsql.RunSQL(sql);		

		this->EndWaitCursor();
		if(!LRunSql::CommitTrans())
		{
		MessageBox("数据库事务提交错误","医药管理系统");
		}
		else
		MessageBox("OK","医药管理系统");


	this->EndDialog(0);

}

void CDlgXSTH::OnMove(int x, int y) 
{

	CDialog::OnMove(x, y);
	if(m_plistTH!=NULL)
	::PostMessage(this->m_plistTH->GetSafeHwnd(),MYMESSAGE_EDIT_MOVED,0,0);	
}

void CDlgXSTH::OnButtonDel() 
{
	this->m_plistTH->DeleteSelected();	
}

void CDlgXSTH::OnCancel() 
{
		if(MessageBox("确定退出退货模块?","注意",MB_YESNO)==IDYES)
		{
			if(MessageBox("是否保存?","注意",MB_YESNO)==IDNO)
			{
				CDialog::OnCancel();
			}
			else
				this->OnButtonOk();
		}
			return;
}


CDrawTH::CDrawTH(CDlgXSTH* dlg)
{
	this->parent=dlg;
	m_nColumns=6;
	m_iHaveColumnsTitle=1;
	m_nSmallTilte=4;
	m_piCharsColumns=new int[m_nColumns];
	m_piWidthColumns=new int[m_nColumns];	//每列宽度	
	this->m_pstrColumnTitle=new CString[this->m_nColumns]; 
	m_pstrColumnTitle[0]=_T("药品编号");
	m_pstrColumnTitle[1]=_T("药品名称");
	m_pstrColumnTitle[2]=_T("仓库名称");
	m_pstrColumnTitle[3]=_T("单价");
	m_pstrColumnTitle[4]=_T("数量");
	if(parent->m_bXsth)
	{
		m_pstrColumnTitle[5]=_T("应付");
//		m_pstrColumnTitle[6]=_T("实付");
	}
	else
	{
		m_pstrColumnTitle[5]=_T("应收");
//		m_pstrColumnTitle[6]=_T("实收");
		
	}
}

CDrawTH::~CDrawTH()
{
}
void CDrawTH::PrintDlg(CDC* pDC, CPrintInfo* pInfo)
{	
	m_pOldFont = (CFont*) (pDC->SelectObject(m_pGeneralFont));	
	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*5/4);//开始写字的起始坐标
		ptRightCurPos.Offset(0,this->m_iLineHeight/4);

		CString str;
		CSize size;

		//左边的2行:
		this->parent->m_comboJsfs.GetWindowText(str);
		pDC->TextOut(ptLeftCurPos.x,ptLeftCurPos.y,"结算方式:");	
		pDC->TextOut(m_iLineHeight*4,ptLeftCurPos.y,str+"付款");

		ptLeftCurPos.Offset(0,this->m_iLineHeight);
		this->parent->m_comboJsr.GetWindowText(str);
		pDC->TextOut(ptLeftCurPos.x,ptLeftCurPos.y,"经手人:");	
		pDC->TextOut(m_iLineHeight*4,ptLeftCurPos.y,str);
		//右边的3行:
		//票号:
		this->parent->m_editThPh.GetWindowText(str);
		if(parent->m_bXsth)
		str="销售退货票号:  "+str;
		else
		str="入库退货票号:  "+str;
		size = pDC->GetTextExtent(str);
		pDC->TextOut(ptRightCurPos.x-size.cx,ptRightCurPos.y,str);

		ptRightCurPos.Offset(0,m_iLineHeight);
		this->parent->m_editDjPh.GetWindowText(str);
		if(parent->m_bXsth)
		str="销售登记票号:  "+str;
		else
		str="入库登记票号:  "+str;
		pDC->TextOut(ptRightCurPos.x-size.cx,ptRightCurPos.y,str);

		//日期:
		ptRightCurPos.Offset(0,m_iLineHeight);
		parent->m_tcRq.GetWindowText(str);
		str="日期:  "+str;
		pDC->TextOut(ptRightCurPos.x-size.cx,ptRightCurPos.y,str);

		//总金额,应收应付
		ptLeftCurPos.Offset(0,m_iLineHeight);
		CString text;
		str="总金额: ";
		parent->GetDlgItemText(IDC_STATIC_ZJE,text);
		str+=text+"元       ";
		parent->GetDlgItemText(IDC_STATIC_SS,text);
		str+=text;
		parent->GetDlgItemText(IDC_EDIT_SS,text);
		str+=text+"元       ";
		pDC->TextOut(ptLeftCurPos.x,ptLeftCurPos.y,str);


		ptLeftCurPos.Offset(0,m_iLineHeight*3/4);
		ptRightCurPos.Offset(0,m_iLineHeight*7/4);
	}
	int n=this->parent->m_plistTH->GetItemCount();
	if(n==0) return ;
			this->DrawListItems(pDC,iCurPage,ptLeftCurPos,ptRightCurPos,parent->m_plistTH);
	pDC->SelectObject(m_pOldFont);	

}

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

	CString str="销售退货登记";
	if(!this->parent->m_bXsth)
		str="入库退货登记";
	CDrawDlg::PrintPageHeader(pDC,pInfo,str);
}
void CDlgXSTH::OnButtonPrint() 
{
	for(int i=this->m_plistTH->GetItemCount()-1;i>=0;i--)
	if(m_plistTH->GetItemText(i,0)==""&&
		m_plistTH->GetItemText(i,1)==""&&
		m_plistTH->GetItemText(i,2)=="")
	{
		m_plistTH->DeleteItem(i);
	}

	if(!::OpenPrintFrame(this,m_draw))
	{
		MessageBox("打开打印框架错误","错误!");
		
	}
	if(m_plistTH->GetItemCount()==0)
		m_plistTH->InsertItem(0,"");

}

BOOL CDlgXSTH::DestroyWindow() 
{
				
	delete m_plistTH;
	m_plistTH=NULL;
		delete m_draw;
	m_draw=NULL;

	return CDialog::DestroyWindow();
}

CListCtrl* CDrawTH::GetListCtrl()
{
return this->parent->m_plistTH;

}

⌨️ 快捷键说明

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