📄 ddelverauditing.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 + -