📄 dlgdl.cpp
字号:
// DlgDL.cpp : implementation file
//
#include "stdafx.h"
#include "SellMan.h"
#include "DlgDL.h"
#include "TabXC.h"
#include "TabDL.h"
#include "TabSJ.h"
#include "TabCS.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgDL dialog
extern _ConnectionPtr connection;
extern BOOL bConnected;
CDlgDL::CDlgDL(CWnd* pParent /*=NULL*/)
: CDialog(CDlgDL::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgDL)
m_ck_xuanchuan = FALSE;
//}}AFX_DATA_INIT
m_nOperType = MODE_APPEND;
}
void CDlgDL::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgDL)
DDX_Control(pDX, IDC_ED_XCBH, m_ed_xcbh);
DDX_Control(pDX, IDC_CB_XCTZKH, m_cb_xctzkh);
DDX_Control(pDX, IDC_ED_DLYHZH, m_ed_dlyhzh);
DDX_Control(pDX, IDC_ED_DLJHJE, m_ed_dljhje);
DDX_Control(pDX, IDC_ED_DLFZRM, m_ed_dlfzrm);
DDX_Control(pDX, IDC_ED_DLDLMC, m_ed_dldlmc);
DDX_Control(pDX, IDC_ED_DLDLDH, m_ed_dldldh);
DDX_Control(pDX, IDC_ED_DLDLBH, m_ed_dldlbh);
DDX_Control(pDX, IDC_ED_DLBZXX, m_ed_dlbzxx);
DDX_Control(pDX, IDC_DT_DLJRRQ, m_dt_dljrrq);
DDX_Control(pDX, IDC_CB_DLTJRH, m_cb_dltjrh);
DDX_Control(pDX, IDC_CB_DLSJDL, m_cb_dlsjdl);
DDX_Control(pDX, IDC_CB_DLKHYH, m_cb_dlkhyh);
DDX_Control(pDX, IDC_CB_DLDLZG, m_cb_dldlzg);
DDX_Control(pDX, IDC_CB_DLDLJB, m_cb_dldljb);
DDX_Control(pDX, IDC_CB_DLDLCH, m_cb_dldlch);
DDX_Check(pDX, IDC_CK_XUANCHUAN, m_ck_xuanchuan);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgDL, CDialog)
//{{AFX_MSG_MAP(CDlgDL)
ON_BN_CLICKED(IDC_BT_NEXT, OnBtNext)
ON_BN_CLICKED(IDC_CK_XUANCHUAN, OnCkXuanchuan)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgDL message handlers
BOOL CDlgDL::OnInitDialog()
{
CDialog::OnInitDialog();
CTabXC tabxc;
CTabDL tabdl;
CTabSJ tabsj;
CTabCS tabcs;
CString strtzkm;
try
{
tabxc.Open();
while( tabxc.IsOpen() && !tabxc.IsEOF() )
{
m_cb_dldlzg.SetItemData( m_cb_dldlzg.AddString( tabxc.XCYGMC.GetValue() ), atol( tabxc.XCYGID.GetValue() ) );
m_cb_dltjrh.SetItemData( m_cb_dltjrh.AddString( tabxc.XCYGMC.GetValue() ), atol( tabxc.XCYGID.GetValue() ) );
tabxc.MoveNext();
}
m_cb_dldlzg.SetItemData( m_cb_dldlzg.AddString( "请选择" ), -1 );
m_cb_dltjrh.SetItemData( m_cb_dltjrh.AddString( "请选择" ), -1 );
/*
tabdl.Open();
while( tabdl.IsOpen() && !tabdl.IsEOF() )
{
m_cb_dlsjdl.SetItemData( m_cb_dlsjdl.AddString( tabdl.DLDLMC.GetValue() ), atol( tabdl.DLDLID.GetValue() ) );
tabdl.MoveNext();
}
*/
tabsj.Open();
while( tabsj.IsOpen() && !tabsj.IsEOF() )
{
m_cb_dldlch.SetItemData( m_cb_dldlch.AddString( tabsj.SJDLCM.GetValue() ), atol( tabsj.SJDLCH.GetValue() ) );
tabsj.MoveNext();
}
tabcs.Open( "where csbmbm = 'XC' and cszdmc = 'XCTZKH'" );
while( tabcs.IsOpen() && !tabcs.IsEOF() )
{
m_cb_xctzkh.SetItemData( m_cb_xctzkh.AddString( tabcs.CSQZMS.GetValue() ), (DWORD)atol( tabcs.CSZFQZ.GetValue() ) );
if( tabcs.CSZFQZ.GetValue() == strxctzkh )
{
strtzkm = tabcs.CSQZMS.strValue;
}
tabcs.MoveNext();
}
tabcs.Open( "where csbmbm = 'XC' and cszdmc = 'XCKHYH'" );
while( tabcs.IsOpen() && !tabcs.IsEOF() )
{
m_cb_dlkhyh.SetItemData( m_cb_dlkhyh.AddString( tabcs.CSQZMS.GetValue() ), (DWORD)atol( tabcs.CSZFQZ.GetValue() ) );
tabcs.MoveNext();
}
tabcs.Open( "where csbmbm = 'DL' and cszdmc = 'DLDLJB'" );
while( tabcs.IsOpen() && !tabcs.IsEOF() )
{
m_cb_dldljb.SetItemData( m_cb_dldljb.AddString( tabcs.CSQZMS.GetValue() ), (DWORD)atol( tabcs.CSZFQZ.GetValue() ) );
tabcs.MoveNext();
}
tabdl.Open( "WHERE DLJLZT <> 0" );
while( tabdl.IsOpen() && !tabdl.IsEOF() )
{
m_cb_dlsjdl.SetItemData( m_cb_dlsjdl.AddString( tabdl.DLDLMC.GetValue() ), atol( tabdl.DLDLID.GetValue() ) );
tabdl.MoveNext();
}
m_cb_dlsjdl.SetItemData( m_cb_dlsjdl.AddString( "请选择" ), -1 );
if( m_nOperType == MODE_MODIFY )
{
m_ed_dlyhzh.SetWindowText( strdlyhzh );
m_ed_dljhje.SetWindowText( strdljhje );
m_ed_dlfzrm.SetWindowText( strdlfzrm );
m_ed_dldlmc.SetWindowText( strdldlmc );
m_ed_dldldh.SetWindowText( strdldldh );
m_ed_dldlbh.SetWindowText( strdldlbh );
m_ed_dlbzxx.SetWindowText( strdlbzxx );
m_dt_dljrrq.SetWindowText( strdljhje );
m_cb_dltjrh.SelectString( -1, strdltjrh );
m_cb_dlsjdl.SelectString( -1, strdlsjdl );
m_cb_dlkhyh.SelectString( -1, strdlkhyh );
m_cb_dldlzg.SelectString( -1, strdldlzg );
m_cb_dldljb.SelectString( -1, strdldljb );
m_cb_dldlch.SelectString( -1, strdldlch );
if( m_ck_xuanchuan )
{
m_ed_xcbh.SetWindowText( strxcygbh );
GetDlgItem( IDC_CK_XUANCHUAN )->EnableWindow( FALSE );
m_cb_xctzkh.SelectString( -1, strtzkm );
}
}
else
{
m_cb_dldlzg.SetCurSel( m_cb_dldlzg.GetCount()-1 );
m_cb_dltjrh.SetCurSel( m_cb_dltjrh.GetCount()-1 );
m_cb_dlsjdl.SetCurSel( m_cb_dlsjdl.GetCount()-1 );
m_cb_dldlch.SetCurSel( 0 );
m_cb_dldljb.SetCurSel( 0 );
m_cb_dlkhyh.SetCurSel( 0 );
m_cb_xctzkh.SetCurSel( 0 );
}
}
catch( _com_error &e )
{
AfxMessageBox( e.ErrorMessage() );
}
catch( ... )
{
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgDL::OnOK()
{
BOOL bRet = FALSE;
CTabDL tabdl;
CTabXC tabxc;
CString strTmp;
SYSTEMTIME sysTime;
char szSQL[250];
int nIndex = 0,nCount = 0;
m_ed_dlyhzh.GetWindowText( strdlyhzh );
m_ed_dljhje.GetWindowText( strdljhje );
m_ed_dlfzrm.GetWindowText( strdlfzrm );
m_ed_dldlmc.GetWindowText( strdldlmc );
m_ed_dldldh.GetWindowText( strdldldh );
m_ed_dldlbh.GetWindowText( strdldlbh );
m_ed_dlbzxx.GetWindowText( strdlbzxx );
m_ed_xcbh.GetWindowText( strxcygbh );
strdltjrh.Format( "%d", (long)m_cb_dltjrh.GetItemData( m_cb_dltjrh.GetCurSel() ) );
strdlsjdl.Format( "%d", (long)m_cb_dlsjdl.GetItemData( m_cb_dlsjdl.GetCurSel() ) );
strdlkhyh.Format( "%d", (long)m_cb_dlkhyh.GetItemData( m_cb_dlkhyh.GetCurSel() ) );
strdldlzg.Format( "%d", (long)m_cb_dldlzg.GetItemData( m_cb_dldlzg.GetCurSel() ) );
strdldljb.Format( "%d", (long)m_cb_dldljb.GetItemData( m_cb_dldljb.GetCurSel() ) );
strdldlch.Format( "%d", (long)m_cb_dldlch.GetItemData( m_cb_dldlch.GetCurSel() ) );
strxctzkh.Format( "%d", (long)m_cb_xctzkh.GetItemData( m_cb_xctzkh.GetCurSel() ) );
memset( &sysTime, 0, sizeof( SYSTEMTIME ) );
m_dt_dljrrq.GetTime( &sysTime );
strdljrrq.Format( "%04d%02d%02d", sysTime.wYear, sysTime.wMonth, sysTime.wDay );
if( strdldlbh.IsEmpty() )
{
AfxMessageBox( "编号不能为空!" );
m_ed_dldlbh.SetFocus();
return;
}
if( strdldlmc.IsEmpty() )
{
AfxMessageBox( "代理商名称不能为空!" );
m_ed_dldlmc.SetFocus();
return;
}
if( strdljhje.IsEmpty() )
{
AfxMessageBox( "首次进货金额不能为空!" );
m_ed_dljhje.SetFocus();
return;
}
if( strdldlzg == "-1" )
{
AfxMessageBox( "请选择代理主管。" );
return;
}
if( strdltjrh == "-1" )
{
AfxMessageBox( "请选择推荐人。" );
return;
}
try
{
if( m_nOperType == MODE_APPEND )
{
if( m_ck_xuanchuan )
{
//如果是代理商又是宣传员,则两个的编号都一样
sprintf( szSQL,"WHERE XCYGBH = %s",strdldlbh );
tabxc.Open( szSQL );
if( tabxc.IsOpen() && !tabxc.IsEOF() )
{
AfxMessageBox( "宣传员编号重复了!" );
m_ed_xcbh.SetFocus();
bRet = FALSE;
return;
}
tabxc.Close();
sprintf( szSQL, "WHERE XCYGZG = %s", strdldlzg );
tabxc.Open( szSQL );
while( tabxc.IsOpen() && !tabxc.IsEOF() )
{
nIndex ++;
if( nIndex >= 2 )
{
AfxMessageBox( "该主管已经有两个宣传员,不能再给该主管添加宣传员了!" );
bRet = FALSE;
return;
}
tabxc.MoveNext();
}
tabxc.Close();
strxcygid.Format( "%ld", tabxc.GetNextID( "XCYGID" ) );
tabxc.XCYGID.strValue = strxcygid;
tabxc.XCYGBH.strValue = strdldlbh;
tabxc.XCYGMC.strValue = strdldlmc;
tabxc.XCYGDH.strValue = strdldldh;
tabxc.XCKHYH.strValue = strdlkhyh;
tabxc.XCYHZH.strValue = strdlyhzh;
tabxc.XCTZKH.strValue = strxctzkh;
tabxc.XCJRRQ.strValue = strdljrrq;
tabxc.XCDLMC.strValue = strdldlid;
tabxc.XCDLCH.strValue = strdldlch;
tabxc.XCYGZT.strValue = "1";
tabxc.XCYBYE.strValue = "0";
tabxc.XCEBYE.strValue = "0";
tabxc.XCJSRQ.strValue = "19700101";
tabxc.XCYGZG.strValue = strdldlzg;
tabxc.XCTJRH.strValue = strdltjrh;
tabxc.XCJSBZ.strValue = "0";
tabxc.XCJLZT.strValue = "1";
tabxc.XCBZXX.strValue = " ";
tabxc.AppendRecord();
bRet = TRUE;
}
connection->BeginTrans();
strdldlid.Format( "%ld", tabdl.GetNextID( "DLDLID" ) );
tabdl.DLDLID.strValue = strdldlid;
tabdl.DLDLBH.strValue = strdldlbh;
tabdl.DLDLMC.strValue = strdldlmc;
tabdl.DLDLDH.strValue = strdldldh;
tabdl.DLKHYH.strValue = strdlkhyh;
tabdl.DLYHZH.strValue = strdlyhzh;
tabdl.DLJRRQ.strValue = strdljrrq;
tabdl.DLFZRM.strValue = strdlfzrm;
tabdl.DLDLJB.strValue = strdldljb;
tabdl.DLJHJE.strValue = strdljhje;
tabdl.DLDLZT.strValue = "1";
tabdl.DLDLZG.strValue = strdldlzg;
tabdl.DLTJRH.strValue = strdltjrh;
tabdl.DLSJDL.strValue = strdlsjdl;
tabdl.DLDLCH.strValue = strdldlch;
tabdl.DLJLZT.strValue = "1";
tabdl.DLBZXX.strValue = strdlbzxx;
tabdl.AppendRecord();
bRet = TRUE;
}
else
{
if( m_ck_xuanchuan )
{
sprintf( szSQL, "WHERE XCYGZG = %s", strdldlzg );
tabxc.Open( szSQL );
while( tabxc.IsOpen() && !tabxc.IsEOF() )
{
nIndex ++;
tabxc.MoveNext();
}
tabxc.Close();
sprintf( szSQL, "WHERE XCYGBH = '%s' AND XCDLMC <> %s" , strdldlbh, strdldlid );
tabxc.Open( szSQL );
if( tabxc.IsOpen() && !tabxc.IsEOF() )
{
AfxMessageBox( "宣传员编号重复了!" );
return;
}
tabxc.Close();
sprintf( szSQL, "WHERE XCDLMC = %s", strdldlid );
if( tabxc.Open( szSQL ) && !tabxc.IsEOF() && bFlag ) //宣传员已经存在则更新
{
tabxc.XCYGBH.strValue = strdldlbh;
tabxc.XCYGMC.strValue = strdldlmc;
tabxc.XCYGDH.strValue = strdldldh;
tabxc.XCKHYH.strValue = strdlkhyh;
tabxc.XCYHZH.strValue = strdlyhzh;
tabxc.XCTZKH.strValue = strxctzkh;
tabxc.XCJRRQ.strValue = strdljrrq;
tabxc.XCDLMC.strValue = strdldlid;
tabxc.XCDLCH.strValue = strdldlch;
tabxc.XCYGZG.strValue = strdldlzg;
tabxc.XCTJRH.strValue = strdltjrh;
tabxc.UpdateRecord();
}
else if( nIndex < 2 && !bFlag ) //只有小于两个宣传员才给添加新的宣传员
{
tabxc.Open();
strxcygid.Format( "%ld", tabxc.GetNextID( "XCYGID" ) );
tabxc.XCYGID.strValue = strxcygid;
tabxc.XCYGBH.strValue = strdldlbh;
tabxc.XCYGMC.strValue = strdldlmc;
tabxc.XCYGDH.strValue = strdldldh;
tabxc.XCKHYH.strValue = strdlkhyh;
tabxc.XCYHZH.strValue = strdlyhzh;
tabxc.XCTZKH.strValue = strxctzkh;
tabxc.XCJRRQ.strValue = strdljrrq;
tabxc.XCDLMC.strValue = strdldlid;
tabxc.XCDLCH.strValue = strdldlch;
tabxc.XCYGZG.strValue = strdldlzg;
tabxc.XCTJRH.strValue = strdltjrh;
tabxc.AppendRecord();
}
else if( !bFlag && nIndex == 2 ) //主管下面的宣传员已经为两个
{
AfxMessageBox( "不能给主管添加两个以上的宣传员!" );
return;
}
}
sprintf( szSQL, "WHERE DLDLID = %s ", strdldlid );
if( tabdl.Open( szSQL ) )
{
connection->BeginTrans();
tabdl.DLDLBH.strValue = strdldlbh;
tabdl.DLDLMC.strValue = strdldlmc;
tabdl.DLDLDH.strValue = strdldldh;
tabdl.DLKHYH.strValue = strdlkhyh;
tabdl.DLYHZH.strValue = strdlyhzh;
tabdl.DLJRRQ.strValue = strdljrrq;
tabdl.DLFZRM.strValue = strdlfzrm;
tabdl.DLDLJB.strValue = strdldljb;
tabdl.DLJHJE.strValue = strdljhje;
tabdl.DLDLZG.strValue = strdldlzg;
tabdl.DLTJRH.strValue = strdltjrh;
tabdl.DLSJDL.strValue = strdlsjdl;
tabdl.DLDLCH.strValue = strdldlch;
tabdl.DLBZXX.strValue = strdlbzxx;
tabdl.UpdateRecord();
}
}
connection->CommitTrans();
bRet = TRUE;
}
catch( _com_error &e )
{
connection->RollbackTrans();
AfxMessageBox( e.ErrorMessage() );
}
catch( ... )
{
connection->RollbackTrans();
}
if( bRet ) CDialog::OnOK();
else CDialog::OnCancel();
}
void CDlgDL::OnBtNext()
{
NextDlgCtrl();
}
void CDlgDL::OnCkXuanchuan()
{
UpdateData();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -