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

📄 dpass.cpp

📁 物流综合管理系统
💻 CPP
字号:
// DPass.cpp : implementation file
//

#include "stdafx.h"
#include "MyProject.h"
#include "DPass.h"
#include "ExternDllHeader.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDPass dialog


CDPass::CDPass(CWnd* pParent /*=NULL*/)
	: CDialog(CDPass::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDPass)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CDPass::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDPass)
	DDX_Control(pDX, IDC_EDTTGBH, m_EdtTGBH);
	DDX_Control(pDX, IDC_RADYES, m_RadYES);
	DDX_Control(pDX, IDC_RADNO, m_RadNO);
	DDX_Control(pDX, IDC_RADALL, m_RadALL);
	DDX_Control(pDX, IDC_EDTTDYY, m_EdtTDYY);
	DDX_Control(pDX, IDC_EDTLRRBM, m_EdtLRRBM);
	DDX_Control(pDX, IDC_EDTLRR, m_EdtLRR);
	DDX_Control(pDX, IDC_EDTJGS, m_EdtJGS);
	DDX_Control(pDX, IDC_EDTJE, m_EdtJE);
	DDX_Control(pDX, IDC_EDTHL, m_EdtHL);
	DDX_Control(pDX, IDC_EDTHBJ, m_EdtHBJ);
	DDX_Control(pDX, IDC_EDTGS, m_EdtGS);
	DDX_Control(pDX, IDC_EDTFKFS, m_EdtFKFS);
	DDX_Control(pDX, IDC_EDTCYDJMC, m_EdtCYDJMC);
	DDX_Control(pDX, IDC_EDTBZJ, m_EdtBZJ);
	DDX_Control(pDX, IDC_EDTBZ, m_EdtBZ);
	DDX_Control(pDX, IDC_EDTBH, m_EdtBH);
	DDX_Control(pDX, IDC_EDTBGYWBH, m_EdtBGYWBH);
	DDX_Control(pDX, IDC_EDTBGSJ, m_EdtBGSJ);
	DDX_Control(pDX, IDC_DTZZSJ, m_DtZZSJ);
	DDX_Control(pDX, IDC_DTXCSBSJ, m_DtXCSBSJ);
	DDX_Control(pDX, IDC_DTXCFXSJ, m_DtXCFXSJ);
	DDX_Control(pDX, IDC_DTTDSJ, m_DtTDSJ);
	DDX_Control(pDX, IDC_DTQSSJ, m_DtQSSJ);
	DDX_Control(pDX, IDC_DTLRSJ, m_DtLRSJ);
	DDX_Control(pDX, IDC_COMID, m_ComID);
	DDX_Control(pDX, IDC_CHKXCFXBZ, m_ChkXCFXBZ);
	DDX_Control(pDX, IDC_CHKTDBZ, m_ChkTDBZ);
	DDX_Control(pDX, IDC_CHKSFJSTG, m_ChkSFJSTG);
	DDX_Control(pDX, IDC_CHKEDIFSBZ, m_ChkEDIFSBZ);
	DDX_Control(pDX, IDC_BUTTOTAL, m_ButTotal);
	DDX_Control(pDX, IDC_BUTSAVE, m_ButSave);
	DDX_Control(pDX, IDC_BUTINTO, m_ButInto);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDPass, CDialog)
	//{{AFX_MSG_MAP(CDPass)
	ON_CBN_SETFOCUS(IDC_COMID, OnSetfocusComid)
	ON_BN_CLICKED(IDC_BUTINTO, OnButinto)
	ON_BN_CLICKED(IDC_BUTSAVE, OnButsave)
	ON_BN_CLICKED(IDC_BUTTOTAL, OnButtotal)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDPass message handlers

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

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

void CDPass::OnSetfocusComid() 
{
	m_ComID.ClearAllString();
	CTime tQs,tJs;
	this->m_DtZZSJ.GetTime(tJs);
	this->m_DtQSSJ.GetTime(tQs);
	CString sQs,sJs,sSQL;
	sQs=CTimeToCString(tQs);
	sJs=CTimeToCString(tJs);
	if(this->m_RadALL.GetCheck()==1)
		sSQL.Format("select * from 报关单表 WHERE 录入日期 BETWEEN '%s' AND '%s' AND 报关单类别 NOT LIKE '%%备案%%'",sQs,sJs);
	if(this->m_RadYES.GetCheck()==1)
		sSQL.Format("select b.报关业务编号 from 通关表 a inner join  报关单表 b ON a.报关业务编号= b.报关业务编号 WHERE b.录入日期 BETWEEN '%s' AND '%s' AND b.报关单类别 NOT LIKE '%%备案%%'",sQs,sJs);
	if(this->m_RadNO.GetCheck()==1)
		sSQL.Format("select * from 报关单表 where 报关业务编号 not in (select 报关业务编号 FROM 通关表) AND 录入日期 BETWEEN '%s' AND '%s' AND 报关单类别 NOT LIKE '%%备案%%'",sQs,sJs);
	RxRecordset rst;
	rst.Open(sSQL,adCmdText);
	m_ComID.ClearAllString();
	this->m_ComID.SetRecordset(rst,"报关业务编号");		
}

void CDPass::OnButinto() 
{
	Clear();
	CString sID,sSQL;
	RxRecordset rst;
	m_ComID.GetWindowText(sID);
	if(sID.IsEmpty())
	{
		MessageBox("请选择一个报关业务编号!","系统提示",MB_OK|MB_ICONSTOP);
		m_ComID.SetFocus();
		return;
	}

	this->m_EdtBGYWBH.SetWindowText(sID);
	sSQL.Format("SELECT * FROM 通关表 WHERE 报关业务编号='%s'",sID);
	rst.Open(sSQL,adCmdText);
	if(rst.GetRecordCount()<1)
	{
		Enabled(true);
		m_bInsertOrUpdate=true;
		CString sNewID;
		sNewID=ado.AutoNumber("通关表","通关编号","TG",3);
		this->m_EdtTGBH.SetWindowText(sNewID);
	}
	else
	{
		Display();
		Enabled(true);
		m_bInsertOrUpdate=false;
	}
		this->m_ChkEDIFSBZ.SetFocus();
	
}

void CDPass::OnButsave() 
{
	if(MessageBox("确定要保存此通关单吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	Save();
	this->Enabled(false);
	this->m_DtQSSJ.SetFocus();
}

BOOL CDPass::OnInitDialog() 
{
	CDialog::OnInitDialog();
	this->m_RadALL.SetCheck(1);
	this->m_EdtBZJ.IsMoneyOnly(true);
	this->m_EdtGS.IsMoneyOnly(true);
	this->m_EdtHBJ.IsMoneyOnly(true);
	this->m_EdtJGS.IsMoneyOnly(true);
	this->m_EdtHL.IsMoneyOnly(true);
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDPass::OnButtotal() 
{

	CString sID,sSQL,sDate1;
	//取出报关单表中录入日期
	m_EdtBGYWBH.GetWindowText(sID);
	sSQL.Format("SELECT* FROM 通关表 WHERE 报关业务编号='%s'",sID);
	RxRecordset rst;
	rst.Open(sSQL,adCmdText);
	if(rst.GetRecordCount()<1)
	{
		if(MessageBox("需要保存后才可以计算报关时间,确定保存吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
			return;
		Save();
	}
	sSQL.Format("select DATEDIFF(day,a.录入日期,b.现场放行时间) AS 时间间隔 from 报关单表 a inner join 通关表 b on a.报关业务编号=b.报关业务编号 WHERE a.报关业务编号='%s'",sID);
	rst.Open(sSQL,adCmdText);
	if(rst.GetRecordCount()<1)
	{
		MessageBox("读取部分资料失败!","系统提示",MB_OK|MB_ICONSTOP);
		return;	
	}
	CString sDay;
	sDay=rst.GetFieldValue("时间间隔");
	this->m_EdtBGSJ.SetWindowText(sDay);
}

void CDPass::Enabled(bool bEnabled)
{
	m_RadYES.EnableWindow(!bEnabled);
	m_RadNO.EnableWindow(!bEnabled);
	m_RadALL.EnableWindow(!bEnabled);
	m_EdtTDYY.EnableWindow(bEnabled);
//	m_EdtTGBH.EnableWindow(bEnabled);
	m_EdtLRRBM.EnableWindow(bEnabled);
	m_EdtLRR.EnableWindow(bEnabled);
	m_EdtJGS.EnableWindow(bEnabled);
	m_EdtJE.EnableWindow(bEnabled);
	m_EdtHL.EnableWindow(bEnabled);
	m_EdtHBJ.EnableWindow(bEnabled);
	m_EdtGS.EnableWindow(bEnabled);
	m_EdtFKFS.EnableWindow(bEnabled);
	m_EdtCYDJMC.EnableWindow(bEnabled);
	m_EdtBZJ.EnableWindow(bEnabled);
	m_EdtBZ.EnableWindow(bEnabled);
	m_EdtBH.EnableWindow(bEnabled);
//	m_EdtBGYWBH.EnableWindow(bEnabled);
//	m_EdtBGSJ.EnableWindow(bEnabled);
	m_DtZZSJ.EnableWindow(!bEnabled);
	m_DtXCSBSJ.EnableWindow(bEnabled);
	m_DtXCFXSJ.EnableWindow(bEnabled);
	m_DtTDSJ.EnableWindow(bEnabled);
	m_DtQSSJ.EnableWindow(!bEnabled);
	m_DtLRSJ.EnableWindow(bEnabled);
	m_ComID.EnableWindow(!bEnabled);
	m_ChkXCFXBZ.EnableWindow(bEnabled);
	m_ChkTDBZ.EnableWindow(bEnabled);
	m_ChkSFJSTG.EnableWindow(bEnabled);
	m_ChkEDIFSBZ.EnableWindow(bEnabled);
	m_ButTotal.EnableWindow(bEnabled);
	m_ButSave.EnableWindow(!bEnabled);
	m_ButInto.EnableWindow(bEnabled);
	m_ButInto.EnableWindow(!bEnabled);
	m_ButSave.EnableWindow(bEnabled);

}

void CDPass::Clear()
{
	m_EdtTDYY.SetWindowText("");
	m_EdtTGBH.SetWindowText("");
	m_EdtLRRBM.SetWindowText("");
	m_EdtLRR.SetWindowText("");
	m_EdtJGS.SetWindowText("");
	m_EdtJE.SetWindowText("");
	m_EdtHL.SetWindowText("");
	m_EdtHBJ.SetWindowText("");
	m_EdtGS.SetWindowText("");
	m_EdtFKFS.SetWindowText("");
	m_EdtCYDJMC.SetWindowText("");
	m_EdtBZJ.SetWindowText("");
	m_EdtBZ.SetWindowText("");
	m_EdtBH.SetWindowText("");
	m_EdtBGYWBH.SetWindowText("");
	m_EdtBGSJ.SetWindowText("");

	m_ChkXCFXBZ.SetCheck(0);
	m_ChkTDBZ.SetCheck(0);
	m_ChkSFJSTG.SetCheck(0);
	m_ChkEDIFSBZ.SetCheck(0);
}

void CDPass::Display()
{
	CString sID,sSQL;
	m_ComID.GetWindowText(sID);
	RxRecordset rst;
	sSQL.Format("SELECT * FROM 通关表 WHERE 报关业务编号='%s'",sID);
	rst.Open(sSQL,adCmdText);

	m_EdtTDYY.SetWindowText(rst.GetFieldValue("退单原因"));
	m_EdtTGBH.SetWindowText(rst.GetFieldValue("通关编号"));
	m_EdtLRRBM.SetWindowText(rst.GetFieldValue("录入人部门"));
	m_EdtLRR.SetWindowText(rst.GetFieldValue("录入人"));
	m_EdtJGS.SetWindowText(rst.GetFieldValue("检管税"));
	m_EdtJE.SetWindowText(rst.GetFieldValue("金额"));
	m_EdtHL.SetWindowText(rst.GetFieldValue("汇率"));
	m_EdtHBJ.SetWindowText(rst.GetFieldValue("海报金"));
	m_EdtGS.SetWindowText(rst.GetFieldValue("关税"));
	m_EdtFKFS.SetWindowText(rst.GetFieldValue("付款方式"));
	m_EdtCYDJMC.SetWindowText(rst.GetFieldValue("查验单据名称"));
	m_EdtBZJ.SetWindowText(rst.GetFieldValue("保证金"));
	m_EdtBZ.SetWindowText(rst.GetFieldValue("备注"));
	m_EdtBH.SetWindowText(rst.GetFieldValue("编号"));
	m_EdtBGYWBH.SetWindowText(rst.GetFieldValue("报关业务编号"));

	m_ChkXCFXBZ.SetCheck(atoi(rst.GetFieldValue("现场放行标志")));
	m_ChkTDBZ.SetCheck(atoi(rst.GetFieldValue("退单标志")));
	m_ChkSFJSTG.SetCheck(atoi(rst.GetFieldValue("是否及时通关")));
	m_ChkEDIFSBZ.SetCheck(atoi(rst.GetFieldValue("EDI放行标志")));

	m_DtXCSBSJ.SetTime(&CStringTOCTime(rst.GetFieldValue("现场申报时间")));
	m_DtXCFXSJ.SetTime(&CStringTOCTime(rst.GetFieldValue("现场放行时间")));
	m_DtTDSJ.SetTime(&CStringTOCTime(rst.GetFieldValue("退单时间")));
	m_DtLRSJ.SetTime(&CStringTOCTime(rst.GetFieldValue("录入时间")));
}

void CDPass::Save()
{
	CString sTGBH,sBGYWBH,sEDIFXBZ,sCYDJMC,sBH,sBZJ,sHBJ,sGS,sJGS,sBZ,sLRR,sLRRBM,sLRSJ,sTDBZ,sTDSJ,sTDYY,sFKFS,sHL,sJE,sXCSBSJ,sXCFXBZ,sXCFXSJ,sSFJSTG;

	m_EdtTDYY.GetWindowText(sTDYY);
	m_EdtTGBH.GetWindowText(sTGBH);
	m_EdtLRRBM.GetWindowText(sLRRBM);
	m_EdtLRR.GetWindowText(sLRR);
	m_EdtJGS.GetWindowText(sJGS);
	m_EdtJE.GetWindowText(sJE);
	m_EdtHL.GetWindowText(sHL);
	m_EdtHBJ.GetWindowText(sHBJ);
	m_EdtGS.GetWindowText(sGS);
	m_EdtFKFS.GetWindowText(sFKFS);
	m_EdtCYDJMC.GetWindowText(sCYDJMC);
	m_EdtBZJ.GetWindowText(sBZJ);
	m_EdtBZ.GetWindowText(sBZ);
	m_EdtBH.GetWindowText(sBH);
	m_EdtBGYWBH.GetWindowText(sBGYWBH);
	
	sXCFXBZ.Format("%d",m_ChkXCFXBZ.GetCheck());
	sTDBZ.Format("%d",m_ChkTDBZ.GetCheck());
	sSFJSTG.Format("%d",m_ChkSFJSTG.GetCheck());
	sEDIFXBZ.Format("%d",m_ChkEDIFSBZ.GetCheck());
	
	CTime tXCSBSJ,tXCFXSJ,tTDSJ,tLRSJ;
	m_DtXCSBSJ.GetTime(tXCSBSJ);
	m_DtXCFXSJ.GetTime(tXCFXSJ);
	m_DtTDSJ.GetTime(tTDSJ);
	m_DtLRSJ.GetTime(tLRSJ);
	
	sXCSBSJ=CTimeToCString(tXCSBSJ);
	sXCFXSJ=CTimeToCString(tXCFXSJ);
	sTDSJ=CTimeToCString(tTDSJ);
	sLRSJ=CTimeToCString(tLRSJ);

	CString sSQL;
	if(m_bInsertOrUpdate==true)
		sSQL.Format("INSERT INTO 通关表 VALUES('%s','%s',%s,'%s','%s',%s,%s,%s,%s,'%s','%s','%s','%s',%s,'%s','%s','%s',%s,%s,'%s',%s,'%s',%s)",sTGBH,sBGYWBH,sEDIFXBZ,sCYDJMC,sBH,sBZJ,sHBJ,sGS,sJGS,sBZ,sLRR,sLRRBM,sLRSJ,sTDBZ,sTDSJ,sTDYY,sFKFS,sHL,sJE,sXCSBSJ,sXCFXBZ,sXCFXSJ,sSFJSTG);
	else
		sSQL.Format("UPDATE 通关表 SET 通关编号='%s',EDI放行标志=%s,查验单据名称='%s',编号='%s',保证金=%s,海报金=%s,关税=%s,检管税=%s,备注='%s',录入人='%s',录入人部门='%s',录入时间='%s',退单标志=%s,退单时间='%s',退单原因='%s',付款方式='%s',汇率=%s,金额=%s,现场申报时间='%s',现场放行标志=%s,现场放行时间='%s',是否及时通关=%s WHERE 报关业务编号='%s'",sTGBH,sEDIFXBZ,sCYDJMC,sBH,sBZJ,sHBJ,sGS,sJGS,sBZ,sLRR,sLRRBM,sLRSJ,sTDBZ,sTDSJ,sTDYY,sFKFS,sHL,sJE,sXCSBSJ,sXCFXBZ,sXCFXSJ,sSFJSTG,sBGYWBH);
	RxRecordset rst;
	rst.Open(sSQL,adCmdText);
}

⌨️ 快捷键说明

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