📄 salerecordmdlg.cpp
字号:
// SaleRecordMDlg.cpp : implementation file
//
#include "stdafx.h"
#include "PhysicM.h"
#include "SaleRecordMDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSaleRecordMDlg dialog
CSaleRecordMDlg::CSaleRecordMDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSaleRecordMDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSaleRecordMDlg)
m_end_date = _T("");
m_start_date = _T("");
//}}AFX_DATA_INIT
}
void CSaleRecordMDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSaleRecordMDlg)
DDX_Control(pDX, IDC_LIST_RECORD, m_List);
DDX_Control(pDX, IDC_COMB, m_HospitalComb);
DDX_Text(pDX, IDC_ENDT, m_end_date);
DDX_Text(pDX, IDC_STDT, m_start_date);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSaleRecordMDlg, CDialog)
//{{AFX_MSG_MAP(CSaleRecordMDlg)
ON_BN_CLICKED(IDC_DELBTN, OnDelbtn)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSaleRecordMDlg message handlers
void CSaleRecordMDlg::init()
{
char *head[]={"序号","医 生","药品名称","数 量 ","临床费","应付金额(元)","折扣费用","实付金额","日期","ID",NULL};//,"备 注"};
m_List.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
char **p=head;
int i=0;
while(*p != NULL)
{
m_List.InsertColumn(i,(LPCTSTR)*p,(i>=2) ? LVCFMT_RIGHT : LVCFMT_LEFT,(i>=1) ? 90 : 50);
p++;
i++;
}
ImageList=new CImageList();
ImageList->Create(16,16,TRUE | ILC_COLOR32,2,0);
ImageList->Add(AfxGetApp()->LoadIcon(IDI_ICONUSER));
ImageList->Add(AfxGetApp()->LoadIcon(IDR_MENUVIEW_TMPL));
m_List.SetImageList(ImageList,LVSIL_SMALL);// LVSIL_NORMAL);
DBLibrary DB(((CPhysicMApp *)AfxGetApp())->DBSession);
m_HospitalComb.ResetContent();
try
{
DB.Open("Select hospital_id hid,hospital_name hn from hospital order by hospital_id");
char tmp[200];
while(!DB.isEof())
{
memset(tmp,0,200);
sprintf(tmp,"[%03d]",DB.GetValue("hid"));
DB.GetValue("hn",tmp+5);
m_HospitalComb.AddString((LPCTSTR)tmp);
DB.Next();
}
}
catch(DBErr &err)
{
char *str;
int code;
err.GetLastErr(code,&str);
((CPhysicMApp *)AfxGetApp())->pMainFrm->AddErr(str,code);
}
catch(...)
{
((CPhysicMApp *)AfxGetApp())->pMainFrm->AddErr("unknow error !(-1)");
}
}
BOOL CSaleRecordMDlg::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
if (ImageList)
delete ImageList;
return CDialog::DestroyWindow();
}
BOOL CSaleRecordMDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
init();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSaleRecordMDlg::OnOK()
{
// TODO: Add extra validation here
m_List.DeleteAllItems();
UpdateData();
CString m_hpid;
m_HospitalComb.GetWindowText(m_hpid);
try{
if (m_start_date.IsEmpty())
throw "请输入开始日期";
if(m_end_date.IsEmpty())
throw "请输入结束日期";
if(m_hpid.IsEmpty())
throw "请选择医院";
DBLibrary DB( ((CPhysicMApp *)AfxGetApp())->DBSession);
DB.Open("select b.sale_id sid, a.doctor_name dname,c.physic_name pname,b.physic_num num ,"
"b.doctor_rate, (b.doctor_rate * b.physic_num) sum_fee, b.sub_fee,b.real_fee,b.sale_date "
" from doctor a, sale_number b,physic c "
" where b.sale_date between '%s' and '%s' and b.hospital_id = %s "
" and b.doctor_id=a.doctor_id and b.physic_id=c.physic_id "
" order by b.sale_id ",m_start_date,m_end_date,m_hpid.Mid(1,3));
int i=0;
char tmp[10][50];
double val=0.0;
//{"序号","医 生","药品名称","数 量 ","临床费","应付金额(元)","折扣费用","实付金额","日期","ID",NULL};//,"备 注"};
while(!DB.isEof())
{
memset(tmp,0,sizeof(char)*10*50);
sprintf(tmp[0],"%03d",i+1);
DB.GetValue("dname",tmp[1]);
DB.GetValue("pname",tmp[2]);
DB.GetValue("num",&val);
sprintf(tmp[3],"%.2f",val);
DB.GetValue("doctor_rate",&val);
sprintf(tmp[4],"%.2f",val);
DB.GetValue("sum_fee",&val);
sprintf(tmp[5],"%.2f",val);
DB.GetValue("sub_Fee",&val);
sprintf(tmp[6],"%.2f",val);
DB.GetValue("real_fee",&val);
sprintf(tmp[7],"%.2f",val);
DB.GetValue("sale_date",tmp[8]);
sprintf(tmp[9],"%04d",DB.GetValue("sid"));
m_List.InsertItem(i,(LPCTSTR)tmp[0],0);
for(int j=1;j<10;j++)
m_List.SetItemText(i,j,(LPCTSTR)tmp[j]);
i++;
DB.Next();
}
}
catch(DBErr &err)
{
char *str;
int code;
err.GetLastErr(code,&str);
((CPhysicMApp *)AfxGetApp())->pMainFrm->AddErr(str,code);
}
catch(char *err)
{
((CPhysicMApp *)AfxGetApp())->pMainFrm->AddErr(err);
}
catch(...)
{
((CPhysicMApp *)AfxGetApp())->pMainFrm->AddErr("unknow error !(-1)");
}
}
void CSaleRecordMDlg::OnDelbtn()
{
((CPhysicMApp *)AfxGetApp()) ->Delete("sale_number","sale_id",&m_List,9);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -