?? dpass.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 + -