📄 bookreturndlg.cpp
字号:
// BookReturnDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Library_5.h"
#include "BookReturnDlg.h"
#include "ManagerLandDlg.h"
#include "BookRS.h"
#include "BorrowRS.h"
#include "CardRS.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBookReturnDlg dialog
CBookReturnDlg::CBookReturnDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBookReturnDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CBookReturnDlg)
m_strbookNum = _T("");
m_strcardNum = _T("");
//}}AFX_DATA_INIT
}
void CBookReturnDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBookReturnDlg)
DDX_Control(pDX, IDC_LIST_RESULT, m_listResult);
DDX_Control(pDX, IDC_LIST_DETAIL, m_listDetail);
DDX_Text(pDX, IDC_BOOK_NUM, m_strbookNum);
DDX_Text(pDX, IDC_CARD_NUM, m_strcardNum);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBookReturnDlg, CDialog)
//{{AFX_MSG_MAP(CBookReturnDlg)
ON_BN_CLICKED(ID_QUERY, OnQuery)
ON_LBN_SELCHANGE(IDC_LIST_RESULT, OnSelchangeListResult)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBookReturnDlg message handlers
void CBookReturnDlg::OnQuery()
{
UpdateData();
m_listResult.ResetContent();
m_listDetail.ResetContent();
if (!m_borrowSet.IsOpen())
{
m_borrowSet.Open();
}
if (!m_bookSet.IsOpen())
{
m_bookSet.Open();
}
if (!m_cardSet.IsOpen())
{
m_cardSet.Open();
}
CString strFilter;
strFilter.Format(" cno = '%s'",m_strcardNum);
m_cardSet.m_strFilter=strFilter;
m_cardSet.Requery();
if(m_cardSet.IsEOF())
{
AfxMessageBox("卡号不存在");
return ;
}
if(m_cardSet.m_flag=="挂失")
{
AfxMessageBox("您的借书证已挂失");
return ;
}
strFilter.Format("cno= '%s' and return_date is null ",m_strcardNum);
m_borrowSet.m_strFilter=strFilter;
m_borrowSet.Requery();
if (m_borrowSet.IsEOF())
{
AfxMessageBox("该借书证号没有未归还的图书");
}
strFilter.Format("cno='%s' ",m_strcardNum);
m_borrowSet.m_strFilter=strFilter;
m_borrowSet.Requery();
while (!m_borrowSet.IsEOF())
{
m_listResult.AddString(m_borrowSet.m_bno);
m_borrowSet.MoveNext();
}
// TODO: Add your control notification handler code here
}
void CBookReturnDlg::OnSelchangeListResult()
{
CString aColCaption[9];
aColCaption[0]="书号: ";
aColCaption[1]="种类: ";
aColCaption[2]="书名: ";
aColCaption[3]="出版社: ";
aColCaption[4]="出版日期: ";
aColCaption[5]="作者: ";
aColCaption[6]="价格: ";
aColCaption[7]="藏书总量: ";
aColCaption[8]="当前库存量: ";
m_listDetail.ResetContent();
int curSel;
CString strDetail;
CString strLine;
curSel=m_listResult.GetCurSel();
m_bookSet.SetAbsolutePosition(curSel+1);
for(int i=0;i<m_bookSet.m_nFields;i++)
{
m_bookSet.GetFieldValue(i,strDetail);
strLine.Empty();
strLine+=aColCaption[i];
strLine+=strDetail;
m_listDetail.AddString(strLine);
}
// TODO: Add your control notification handler code here
}
void CBookReturnDlg::OnOK()
{
CLibrary_5App *App = (CLibrary_5App *)AfxGetApp();
CString managerNum=App->managerID;
UpdateData();
if(managerNum=="无管理员登录")
{
AfxMessageBox("无管理员登录,请先登录");
CManagerLandDlg managerLandDlg;
managerLandDlg.DoModal();
if((managerNum=App->managerID)=="无管理员登录")
return;
}
UpdateData();
if(!m_borrowSet.IsOpen())
{
m_borrowSet.Open();
}
m_borrowSet.m_strFilter.Format("bno = '%s' and return_date is null", m_strbookNum);
m_borrowSet.Requery();
if(m_borrowSet.IsEOF())
{
AfxMessageBox("此书不存在或者已还掉!");
return ;
}
CTime today = CTime::GetCurrentTime();
CTimeSpan diffDays =today-m_borrowSet.m_borrow_date;
if(diffDays.GetDays()>30)
{
AfxMessageBox("该书已过期!");
return ;
}
if(!m_bookSet.IsOpen())
{
m_bookSet.Open();
}
m_bookSet.m_strFilter.Format("bno = '%s'",m_strbookNum);
m_bookSet.Requery();
m_bookSet.Edit();
m_bookSet.m_stocked_num=m_bookSet.m_stocked_num+1;
m_bookSet.Update();
m_borrowSet.Delete();
AfxMessageBox("还书成功!");
// TODO: Add extra validation here
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -