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

📄 ddelverauditing.cpp

📁 用VC+SQL实现的物流管理系统 “RxMediaPlayer” 文件夹中存放《物流综合管理系统》中《媒体播放平台》源程序 “数据库设置”文件夹中存放《物流综合管理系统》辅助工具《数据库设置》源程
💻 CPP
字号:
// DDelverAuditing.cpp : implementation file
//

#include "stdafx.h"
#include "MyProject.h"
#include "DDelverAuditing.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDDelverAuditing dialog


CDDelverAuditing::CDDelverAuditing(CWnd* pParent /*=NULL*/)
	: CDialog(CDDelverAuditing::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDDelverAuditing)
	//}}AFX_DATA_INIT
}


void CDDelverAuditing::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDDelverAuditing)
	DDX_Control(pDX, IDC_EDTMAN, m_EdtMan);
	DDX_Control(pDX, IDC_EDTCARID, m_EdtCarid);
	DDX_Control(pDX, IDC_LIST1, m_Grid);
	DDX_Control(pDX, IDC_EDTID, m_EdtID);
	DDX_Control(pDX, IDC_EDTDRIVER, m_EdtDriver);
	DDX_Control(pDX, IDC_BUTPASS, m_ButPass);
	DDX_Control(pDX, IDC_BUTBLANKOUT, m_ButBlankOut);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDDelverAuditing, CDialog)
	//{{AFX_MSG_MAP(CDDelverAuditing)
	ON_EN_SETFOCUS(IDC_EDTCARID, OnSetfocusEdtcarid)
	ON_BN_CLICKED(IDC_BUTPASS, OnButpass)
	ON_BN_CLICKED(IDC_BUTBLANKOUT, OnButblankout)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDDelverAuditing message handlers

void CDDelverAuditing::OnOK() 
{
	// TODO: Add extra validation here
	
//	CDialog::OnOK();
}

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

BOOL CDDelverAuditing::OnInitDialog() 
{
	CDialog::OnInitDialog();
	RxRecordset rst;
	CString sSQL;
	//初始化表格
	sSQL.Format("SELECT d.条形码 AS 条码,d.名称,d.规格,d.产地 ,c.销售数量 AS 配送数量 FROM 配送申请表 a INNER JOIN 出库记录表 b ON  a.出库票号=b.出库票号  INNER JOIN 销售明细表 c ON b.销售票号=c.销售票号 INNER JOIN 商品信息表 d  ON d.条形码=c.商品条形码 ");
	m_Grid.SetDataBase(sSQL,adCmdText);
	m_Grid.DeleteAllItems();

	//初始化文本
	m_EdtID.Initialize(GetParent());
	sSQL.Format("SELECT 配送票号,开票日期,b.全称 AS 客户名称, e.仓库名称 AS 提货仓库,c.姓名 AS 经手人,d.用户名 AS 操作员 FROM 配送申请表 a INNER JOIN 往来单位信息表 b ON a.客户编号=b.编号 INNER JOIN 员工信息表 c ON a.经手人=c.编号 INNER JOIN 操作员信息表 d ON a.操作员=d.操作员编号 INNER JOIN 仓库信息表 e ON a.仓库编号=e.编号 WHERE a.审核否=0");
	rst.Open(sSQL,adCmdText);
	m_EdtID.SetRecordset(rst);
	m_EdtID.SetSelectField("配送票号");

	m_EdtMan.Initialize(GetParent());
	rst.Open("员工信息表");
	m_EdtMan.SetRecordset(rst);
	m_EdtMan.SetSelectField("姓名");
	
	sSQL.Format("SELECT * FROM 车辆信息表 WHERE 回厂标志!=1");
	rst.Open(sSQL,adCmdText);
	if(rst.GetRecordCount()<1)
	{
		MessageBox("无法完成配送,没有一辆车在厂!","系统提示",MB_OK|MB_ICONSTOP);
		this->OnCancel();
	}
	m_EdtCarid.Initialize(GetParent());
	m_EdtCarid.SetRecordset(rst);
	m_EdtCarid.SetSelectField("主车牌照");

	sSQL.Format("SELECT * FROM 驾驶员信息表 WHERE 回厂标志!=1");
	rst.Open(sSQL,adCmdText);
	m_EdtDriver.Initialize(GetParent());
	m_EdtDriver.SetRecordset(rst);
	m_EdtDriver.SetSelectField("姓名");

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDDelverAuditing::OnSetfocusEdtcarid() 
{
	CString sSQL,sID;
	m_EdtID.GetWindowText(sID);
	sSQL.Format("SELECT d.条形码 AS 条码,d.名称,d.规格,d.产地 ,c.销售数量 AS 配送数量 FROM 配送申请表 a INNER JOIN 出库记录表 b ON  a.出库票号=b.出库票号  INNER JOIN 销售明细表 c ON b.销售票号=c.销售票号 INNER JOIN 商品信息表 d  ON d.条形码=c.商品条形码  WHERE a.配送票号='%s'",sID);
	RxRecordset rst;
	rst.Open(sSQL,adCmdText);
	m_Grid.AddCellValue(rst);
}


void CDDelverAuditing::OnButpass() 
{
	if(MessageBox("确定审核通过吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	//更新配送申请表
	CString sSQL,sID,sMan,sCarID,sDriver;
	RxRecordset rst;
	this->m_EdtID.GetWindowText(sID);
	if(sID.IsEmpty()==true)
	{
		MessageBox("请输入合适配送票号!","系统提示",MB_OK|MB_ICONSTOP);
		this->m_EdtID.SetFocus();
		return;
	}
	this->m_EdtCarid.GetWindowText(sCarID);
	sCarID=ado.FieldToOtherField("车辆信息表","主车牌照",sCarID,"编号",1);
	if(sCarID.IsEmpty()==true)
	{
		MessageBox("无效的或没有注册的车辆!请确认填入的车牌号是否正确!","系统提示",MB_OK|MB_ICONSTOP);
		this->m_EdtCarid.SetFocus();
		return;
	}
	
	this->m_EdtDriver.GetWindowText(sDriver);
	sDriver=ado.FieldToOtherField("驾驶员信息表","姓名",sDriver,"编号",1);
	if(sDriver.IsEmpty()==true)
	{
		MessageBox("无效的或没有注册的驾驶员!请确认后重新填入!","系统提示",MB_OK|MB_ICONSTOP);
		this->m_EdtDriver.SetFocus();
		return;
	}
	this->m_EdtMan.GetWindowText(sMan);
	sMan=ado.FieldToOtherField("员工信息表","姓名",sMan,"编号",1);
	if(sMan.IsEmpty()==true)
	{
		MessageBox("无效的或没有注册的员工姓名!请确认后重新填入!","系统提示",MB_OK|MB_ICONSTOP);
		this->m_EdtMan.SetFocus();
		return;
	}
	CString sOPID;
	sOPID=ado.FieldToOtherField("操作员信息表","用户名",OP,"操作员编号",1);
	
	sSQL.Format("UPDATE 配送申请表 SET 审核否=1 WHERE 配送票号='%s'",sID);
	rst.Open(sSQL,adCmdText);
	//记录审核信息
	sSQL.Format("INSERT INTO 配送审核表 VALUES('%s',1,%s,%s,%s,%s)",sID,sDriver,sCarID,sMan,sOPID);
	rst.Open(sSQL,adCmdText);
	//记录派出车及司机的信息
	sSQL.Format("UPDATE 驾驶员信息表 SET 回厂标志=1 WHERE 编号=%s",sDriver);
	rst.Open(sSQL,adCmdText);
	sSQL.Format("UPDATE 车辆信息表 SET 回厂标志=1 WHERE 编号=%s",sCarID);
	rst.Open(sSQL,adCmdText);

	MessageBox("审核成功!","系统提示",MB_OK|MB_ICONINFORMATION);
	this->m_Grid.DeleteAllItems();

	sSQL.Format("SELECT 配送票号,开票日期,b.全称 AS 客户名称, e.仓库名称 AS 提货仓库,c.姓名 AS 经手人,d.用户名 AS 操作员 FROM 配送申请表 a INNER JOIN 往来单位信息表 b ON a.客户编号=b.编号 INNER JOIN 员工信息表 c ON a.经手人=c.编号 INNER JOIN 操作员信息表 d ON a.操作员=d.操作员编号 INNER JOIN 仓库信息表 e ON a.仓库编号=e.编号 WHERE a.审核否=0");
	rst.Open(sSQL,adCmdText);
	m_EdtID.SetRecordset(rst);
	m_EdtID.SetCaption("");
	m_EdtCarid.SetCaption("");
	m_EdtDriver.SetCaption("");
	m_EdtMan.SetCaption("");
	m_EdtID.SetFocus();
}

void CDDelverAuditing::OnButblankout() 
{
	if(MessageBox("确定审核作废吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	//更新配送申请表
	CString sSQL,sID,sMan,sCarID,sDriver;
	RxRecordset rst;
	this->m_EdtID.GetWindowText(sID);
	if(sID.IsEmpty()==true)
	{
		MessageBox("请输入合适配送票号!","系统提示",MB_OK|MB_ICONSTOP);
		this->m_EdtID.SetFocus();
		return;
	}
	this->m_EdtCarid.GetWindowText(sCarID);
	sCarID=ado.FieldToOtherField("车辆信息表","主车牌照",sCarID,"编号",1);
	if(sCarID.IsEmpty()==true)
	{
		MessageBox("无效的或没有注册的车辆!请确认填入的车牌号是否正确!","系统提示",MB_OK|MB_ICONSTOP);
		this->m_EdtCarid.SetFocus();
		return;
	}
	
	this->m_EdtDriver.GetWindowText(sDriver);
	sDriver=ado.FieldToOtherField("驾驶员信息表","姓名",sDriver,"编号",1);
	if(sDriver.IsEmpty()==true)
	{
		MessageBox("无效的或没有注册的驾驶员!请确认后重新填入!","系统提示",MB_OK|MB_ICONSTOP);
		this->m_EdtDriver.SetFocus();
		return;
	}
	this->m_EdtMan.GetWindowText(sMan);
	sMan=ado.FieldToOtherField("员工信息表","姓名",sMan,"编号",1);
	if(sMan.IsEmpty()==true)
	{
		MessageBox("无效的或没有注册的员工姓名!请确认后重新填入!","系统提示",MB_OK|MB_ICONSTOP);
		this->m_EdtMan.SetFocus();
		return;
	}
	CString sOPID;
	sOPID=ado.FieldToOtherField("操作员信息表","用户名",OP,"操作员编号",1);
	
	//记录审核信息
	sSQL.Format("INSERT INTO 配送审核表 VALUES('%s',0,%s,%s,%s,%s)",sID,sDriver,sCarID,sMan,sOPID);
	rst.Open(sSQL,adCmdText);
	sSQL.Format("DELETE 配送申请表 WHERE 配送票号='%s'",sID);
	rst.Open(sSQL,adCmdText);

	this->m_Grid.DeleteAllItems();
	sSQL.Format("SELECT 配送票号,开票日期,b.全称 AS 客户名称, e.仓库名称 AS 提货仓库,c.姓名 AS 经手人,d.用户名 AS 操作员 FROM 配送申请表 a INNER JOIN 往来单位信息表 b ON a.客户编号=b.编号 INNER JOIN 员工信息表 c ON a.经手人=c.编号 INNER JOIN 操作员信息表 d ON a.操作员=d.操作员编号 INNER JOIN 仓库信息表 e ON a.仓库编号=e.编号 WHERE a.审核否=0");
	rst.Open(sSQL,adCmdText);
	m_EdtID.SetRecordset(rst);
	m_EdtID.SetCaption("");
	m_EdtCarid.SetCaption("");
	m_EdtDriver.SetCaption("");
	m_EdtMan.SetCaption("");
	m_EdtID.SetFocus();

}

⌨️ 快捷键说明

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