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

📄 geninfo.cpp

📁 超声影像工作站系统可与各种型号的B超、彩超连接
💻 CPP
字号:
// GenInfo.cpp : implementation file
// 

#include "stdafx.h"
#include "bxt.h"
#include "GenInfo.h"
#include "bxtdlg.h"
#include "direct.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// GenInfo dialog


GenInfo::GenInfo(CWnd* pParent /*=NULL*/)
	: CDialog(GenInfo::IDD, pParent)
{
	//{{AFX_DATA_INIT(GenInfo)
	m_name = _T("");
	m_sex = _T("");
	m_id = _T("");
	m_bedid = _T("");
	m_hospid = _T("");
	m_checkstyle = _T("");
	m_checkpos = _T("");
	m_telphone = _T("");
	m_address = _T("");
	m_postcode = _T("");
	m_age = 0;
	m_class = _T("");
	m_hospital = _T("");
	m_device = _T("");
	m_time = _T("");
	m_date = _T("");
	//}}AFX_DATA_INIT

	m_isnew		= false;

	////////////////////////////////////////////////////////////////////////

	FILE *fp = fopen("c:\\bxx\\bxx.inf","r");
	char textline[510];

	if (!fp)
	{
		m_hospital	= "未知医院";
		m_device	= "未知设备";
	}
	else
	{
		fgets(textline,200,fp);
		m_hospital	= textline;
		m_hospital.TrimLeft();
		m_hospital.TrimRight();

		fgets(textline,200,fp);
		m_device	= textline;
		m_device.TrimLeft();
		m_device.TrimRight();

		fclose(fp);
	}
}


void GenInfo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(GenInfo)
	DDX_Control(pDX, IDC_COMBO1, m_classlist);
	DDX_Control(pDX, IDC_EDIT2, m_editsex);
	DDX_Text(pDX, IDC_EDIT1, m_name);
	DDX_Text(pDX, IDC_EDIT2, m_sex);
	DDX_Text(pDX, IDC_EDIT5, m_id);
	DDX_Text(pDX, IDC_EDIT6, m_bedid);
	DDX_Text(pDX, IDC_EDIT7, m_hospid);
	DDX_Text(pDX, IDC_EDIT8, m_checkstyle);
	DDX_Text(pDX, IDC_EDIT9, m_checkpos);
	DDX_Text(pDX, IDC_EDIT10, m_telphone);
	DDX_Text(pDX, IDC_EDIT11, m_address);
	DDX_Text(pDX, IDC_EDIT12, m_postcode);
	DDX_Text(pDX, IDC_EDIT3, m_age);
	DDX_CBString(pDX, IDC_COMBO1, m_class);
	DDX_Text(pDX, IDC_EDIT13, m_hospital);
	DDX_Text(pDX, IDC_EDIT14, m_device);
	DDX_Text(pDX, IDC_EDIT16, m_time);
	DDX_Text(pDX, IDC_EDIT15, m_date);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(GenInfo, CDialog)
	//{{AFX_MSG_MAP(GenInfo)
	ON_BN_CLICKED(IDC_BUTTONNEW, OnButtonnew)
	ON_BN_CLICKED(IDC_BUTTONSAVE, OnButtonsave)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// GenInfo message handlers

void GenInfo::OnButtonnew() 
{
	NewRecord();
	((CBxtDlg *)AfxGetMainWnd())->report->NewRecord();
	((CBxtDlg *)AfxGetMainWnd())->rec->CapturedNum = 1;

}

CString GenInfo::GetNewSerialno()
{
	HENV henv;
	HDBC  hdbc;
	HSTMT hstmt;

	SQLAllocEnv(&henv);
	SQLAllocConnect(henv,&hdbc);
	SQLConnect(hdbc,(unsigned char *)"BXX",SQL_NTS,NULL,0,NULL,0);
	SQLAllocStmt(hdbc,&hstmt);

	RETCODE rt;
	SDWORD cbValue;
	char szBuffer[6];
	strcpy(szBuffer,"");
	int i;

	CString serialno;
	SQLFreeStmt(hstmt,SQL_CLOSE);
	rt = SQLExecDirect(hstmt, (unsigned char *)"select NUMBERS from SERIAL", SQL_NTS);
	if (rt > SQL_ERROR)
	{
		rt = SQLFetch(hstmt);
		rt = SQLGetData(hstmt,1,SQL_C_CHAR,szBuffer,sizeof(szBuffer),&cbValue);
		if (rt > SQL_ERROR)	i = atoi(szBuffer);
		if (++i > 99999) i = 1;
		itoa(i,szBuffer,10);
		char ts[100];
		sprintf(ts,"UPDATE SERIAL set NUMBERS='%s'",szBuffer);
		SQLFreeStmt(hstmt,SQL_CLOSE);
		rt = SQLExecDirect(hstmt, (unsigned char *)ts, SQL_NTS);

		CTime ct = CTime::GetCurrentTime();
		sprintf(ts,"%d%.2d%.2d%.5d",ct.GetYear(),ct.GetMonth(),ct.GetDay(),i);
		serialno = _T(ts);
	}
	else
	{
		serialno = "";
	}

	SQLFreeStmt(hstmt,SQL_DROP);
	SQLDisconnect(hdbc);
	SQLFreeConnect(hdbc);
	SQLFreeEnv(henv);

	return serialno;
}

void GenInfo::OnOK() 
{
//	CDialog::OnOK();
}

void GenInfo::OnCancel() 
{
//	CDialog::OnCancel();
}

BOOL GenInfo::OnInitDialog() 
{
	CDialog::OnInitDialog();

	FILE *fp = fopen("c:\\bxx\\classlist.inf","rt");
	char textline[510];
	CString theline;

	m_classlist.ResetContent();
	if (fp)
	{
		while (fgets(textline,200,fp))
		{
			theline	= textline;
			theline.TrimLeft();
			theline.TrimRight();
			if (!theline.IsEmpty())
				m_classlist.AddString(theline);
		}
		fclose(fp);
	}

	NewRecord();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void GenInfo::OnButtonsave()
{
	SaveInfo();
}

bool GenInfo::SaveInfo()
{
	UpdateData(true);
	if(m_id.GetLength()<1)
	{
		//AfxMessageBox("必须提供超声号!");
		return false;
	}
	HENV henv;
	HDBC  hdbc;
	HSTMT hstmt;

	SQLAllocEnv(&henv);
	SQLAllocConnect(henv,&hdbc);
	SQLConnect(hdbc,(unsigned char *)"BXX",SQL_NTS,NULL,0,NULL,0);
	SQLAllocStmt(hdbc,&hstmt);

	RETCODE rt;

	CString sql;
	CString m_check;
	char numbuf[10];
	
	m_check		= "临床诊断";

	if (m_isnew)
	{
		char		buf[30];
		CTime ct	= CTime::GetCurrentTime();
		sprintf(buf,"%4d年%02d月%02d日",ct.GetYear(),ct.GetMonth(),ct.GetDay());
		m_date	= buf;
		sprintf(buf,"%02d时%02d分%02d秒",ct.GetHour(),ct.GetMinute(),ct.GetSecond());
		m_time	= buf;
		//char idbuf[12];
		//sprintf(idbuf,"%",atol(m_id.GetBuffer(10)));
		//m_id = _T(idbuf);
		while(m_id.GetLength()<10)
			m_id = "0" + m_id;
		UpdateData(false);

		m_checkdate	= m_date + " ";
		m_checkdate += m_time;
		if(m_postcode.GetLength()<1) m_postcode="0";
		sql =	"INSERT INTO REPORT ";
		sql +=	"(ID,NAME,SEX,CLASS,CHECK,ADDRESS,";
		sql +=	"POSTCODE,TELPHONE,CHECKDATE,DEVICE,HOSPITAL,";
		sql +=	"HOSPID,BEDID,CHECKSTYLE,CHECKPOS,AGE) ";
		sql +=	"VALUES (";
		sql +=	"'";	sql += m_id;			sql += "',";
		sql +=	"'";	sql += m_name;			sql += "',";
		sql +=	"'";	sql += m_sex;			sql += "',";
		sql +=	"'";	sql += m_class;			sql += "',";
		sql +=	"'";	sql += m_check;			sql	+= "',";
		sql +=	"'";	sql += m_address;		sql	+= "',";
		sql +=	"";	sql += m_postcode;		sql	+= ",";
		sql +=	"'";	sql += m_telphone;		sql	+= "',";
		sql +=	"'";	sql += m_checkdate;		sql	+= "',";
//		sql +=	"'";	sql += m_docter;		sql	+= "',";
		sql +=	"'";	sql += m_device;		sql	+= "',";
		sql +=	"'";	sql += m_hospital;		sql	+= "',";
//		sql +=	"'";	sql += m_report;		sql	+= "',";
//		sql +=	"'";	sql += m_result;		sql	+= "',";
//		sql +=	"'";	sql += m_illname;		sql	+= "',";
		sql +=	"'";	sql += m_hospid;		sql	+= "',";
		sql +=	"'";	sql += m_bedid;			sql	+= "',";
		sql +=	"'";	sql += m_checkstyle;	sql	+= "',";
		sql +=	"'";	sql += m_checkpos;		sql	+= "',";
		sql += itoa(m_age,numbuf,10);
		sql	+= ")";
	}
	else
	{
		sql = "UPDATE REPORT SET ";
		sql += "NAME='";		sql += m_name;			sql += "',";
		sql += "SEX='";			sql += m_sex;			sql += "',";
		sql += "CLASS='";		sql += m_class;			sql += "',";
		sql += "CHECK='";		sql += m_check;			sql += "',";
		sql += "ADDRESS='";		sql += m_address;		sql += "',";
		sql += "POSTCODE=";	sql += m_postcode;		sql += ",";
		sql += "TELPHONE='";	sql += m_telphone;		sql += "',";
//		sql += "CHECKDATE='";	sql += m_checkdate;		sql += "',";
//		sql += "DOCTER='";		sql += m_docter;		sql += "',";
//		sql += "DEVICE='";		sql += m_device;		sql += "',";
//		sql += "HOSPITAL='";	sql += m_hospital;		sql += "',";
//		sql += "REPORT='";		sql += m_report;		sql += "',";
//		sql += "RESULT='";		sql += m_result;		sql += "',";
//		sql += "ILLNAME='";		sql += m_illname;		sql += "',";
		sql += "HOSPID='";		sql += m_hospid;		sql += "',";
		sql += "BEDID='";		sql += m_bedid;			sql += "',";
		sql += "CHECKSTYLE='";	sql += m_checkstyle;	sql += "',";
		sql += "CHECKPOS='";	sql += m_checkpos;		sql += "',";
		sql += "AGE=";			sql += itoa(m_age,numbuf,10);	sql += " ";
		sql += "WHERE ID='";
		sql += m_id;
		sql += "'";
	}
	
	SQLFreeStmt(hstmt,SQL_CLOSE);

	unsigned char mySQL[2000];
	strcpy((char *)mySQL,sql);
//	AfxMessageBox((char *)mySQL);
	rt = SQLExecDirect(hstmt, mySQL, SQL_NTS);

	SQLFreeStmt(hstmt,SQL_DROP);
	SQLDisconnect(hdbc);
	SQLFreeConnect(hdbc);
	SQLFreeEnv(henv);
	m_isnew	= false;

	CString		path;
	path		= ((CBxtDlg *)AfxGetMainWnd())->m_imagepath;
	path		+= m_id;
	_mkdir(path.GetBuffer(path.GetLength()));
	((CBxtDlg *)AfxGetMainWnd())->m_workingpath	= path;

	char id[20];
	strcpy(id,m_id);
	((CBxtDlg *)AfxGetMainWnd())->m_currentid = m_id;
	return true;
}

void GenInfo::NewRecord()
{
	m_id		= "";//GetNewSerialno();
	m_name		= "";
	m_sex		= "男";
	m_age		= 0;
	m_class		= "";
	m_bedid		= "";
	m_hospid	= "";
	m_checkstyle= "";
	m_checkpos	= "";
	m_telphone	= "";
	m_address	= "";
	m_postcode	= "0";
	m_date		= "";
	m_time		= "";

	UpdateData(false);
	m_isnew		= true;
}

⌨️ 快捷键说明

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