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

📄 returnslabformview.cpp

📁 开发环境为VC++ 的数据库管理系统
💻 CPP
字号:
// ReturnSlabFormView.cpp : implementation file
//

#include "stdafx.h"
#include "mestang.h"
#include "ReturnSlabFormView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CReturnSlabFormView

IMPLEMENT_DYNCREATE(CReturnSlabFormView, CFormView)

CReturnSlabFormView::CReturnSlabFormView()
	: CFormView(CReturnSlabFormView::IDD)
{
	//{{AFX_DATA_INIT(CReturnSlabFormView)
	m_edit_stack_return = _T("0101");
	//}}AFX_DATA_INIT
}

CReturnSlabFormView::~CReturnSlabFormView()
{
}

void CReturnSlabFormView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CReturnSlabFormView)
	DDX_Control(pDX, IDC_LIST_SLAB_INF, m_list_slab_inf);
	DDX_Control(pDX, IDC_LIST_SLAB_RETURN, m_list_slab_return);
	DDX_Text(pDX, IDC_EDIT_STACK_R, m_edit_stack_return);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CReturnSlabFormView, CFormView)
	//{{AFX_MSG_MAP(CReturnSlabFormView)
	ON_WM_DESTROY()
	ON_BN_CLICKED(ID_RETURN_SLAB, OnReturnSlab)
	ON_BN_CLICKED(IDC_TURN_TO_SINGLE, OnTurnToSingle)
	ON_NOTIFY(NM_CLICK, IDC_LIST_SLAB_RETURN, OnClickListSlabReturn)
	ON_BN_CLICKED(ID_RETURN_DELETE, OnReturnDelete)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CReturnSlabFormView diagnostics

#ifdef _DEBUG
void CReturnSlabFormView::AssertValid() const
{
	CFormView::AssertValid();
}

void CReturnSlabFormView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CReturnSlabFormView message handlers

void CReturnSlabFormView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();
	
	// TODO: Add your specialized code here and/or call the base class
	//设置回炉坯记录的框架大小
	m_list_slab_return.SetWindowPos(NULL,0,0,500,616,SWP_NOMOVE|SWP_NOZORDER | SWP_NOACTIVATE);
	m_list_slab_return.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_INFOTIP | LVS_EDITLABELS);
	m_list_slab_return.SetBkColor(RGB(224,255,255));
	m_list_slab_return.SetTextBkColor(RGB(230 ,230 ,250));
	m_list_slab_return.SetTextColor(RGB(85 ,26 ,139 ));
	//设置回炉坯列表框标题名字	
	int k=0;
	m_list_slab_return.InsertColumn(k++,"ID",LVCFMT_CENTER,180);
	m_list_slab_return.InsertColumn(k++,"炉号",LVCFMT_CENTER,180);	
	m_list_slab_return.InsertColumn(k++,"回炉时间",LVCFMT_CENTER,140);
	m_list_slab_return.SetBkColor(RGB(224,255,255));
	m_list_slab_return.SetTextBkColor(RGB(230 ,230 ,250));
	m_list_slab_return.SetTextColor(RGB(85 ,26 ,139 ));
	//设置LIST_SLAB的框架大小
	m_list_slab_inf.SetWindowPos(NULL,0,0,500,616,SWP_NOMOVE|SWP_NOZORDER | SWP_NOACTIVATE);
	m_list_slab_inf.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_INFOTIP | LVS_EDITLABELS);
	m_list_slab_inf.SetBkColor(RGB(224,255,255));
	m_list_slab_inf.SetTextBkColor(RGB(230 ,230 ,250));
	m_list_slab_inf.SetTextColor(RGB(85 ,26 ,139 ));
	//设置列表框LIST_SLAB标题名字
	k=0;
	m_list_slab_inf.InsertColumn(k++,"炉号",LVCFMT_CENTER,100);
	m_list_slab_inf.InsertColumn(k++,"入库数(块)",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"已挂料数(块)",LVCFMT_CENTER,100);	
	m_list_slab_inf.InsertColumn(k++,"库存数(块)",LVCFMT_CENTER,100);		
	m_list_slab_inf.InsertColumn(k++,"板坯类型",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"钢种",LVCFMT_CENTER,60);
	m_list_slab_inf.InsertColumn(k++,"板坯厚度(mm)",LVCFMT_CENTER,80);	
	m_list_slab_inf.InsertColumn(k++,"板坯宽度(mm)",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"板坯长度(mm)",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"班次",LVCFMT_CENTER,80);	
	m_list_slab_inf.InsertColumn(k++,"操作者",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"入库日期",LVCFMT_CENTER,140);	
	m_list_slab_inf.InsertColumn(k++,"C",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"Si",LVCFMT_CENTER,80);	
	m_list_slab_inf.InsertColumn(k++,"Mn",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"P",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"S",LVCFMT_CENTER,80);	
	m_list_slab_inf.InsertColumn(k++,"Nb",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"V",LVCFMT_CENTER,80);	
	m_list_slab_inf.InsertColumn(k++,"Ti",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"Al",LVCFMT_CENTER,60);	
	m_list_slab_inf.InsertColumn(k++,"Cu",LVCFMT_CENTER,80);
    m_list_slab_inf.InsertColumn(k++,"Ni",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"元素1",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"元素1含量",LVCFMT_CENTER,80);	
	m_list_slab_inf.InsertColumn(k++,"元素2",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"元素2含量",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"元素3",LVCFMT_CENTER,80);
	m_list_slab_inf.InsertColumn(k++,"元素3含量",LVCFMT_CENTER,80);	
	//设置列表框控件字体
	CFont m_ListFont;
    m_ListFont.CreateFont(16,0,0,0,FW_NORMAL, 0,0,0,DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Times New Roman");
    m_list_slab_inf.SetFont(&m_ListFont);
    m_list_slab_return.SetFont(&m_ListFont);

}

void CReturnSlabFormView::OnDestroy() 
{
	CFormView::OnDestroy();
	
	// TODO: Add your message handler code here
	
}

void CReturnSlabFormView::OnReturnSlab() 
{
	// TODO: Add your control notification handler code here
	//读取回炉坯记录信息
	CString cur_status;
	cur_status.Format("'%s'","回炉");
	m_list_slab_return.DeleteAllItems();
	m_list_slab_inf.DeleteAllItems();
	theApp.open_mes();
	resultset &rs_return = *(theApp.cn).select ("select * from  RETURN_FURNACE  order by OPERATE_TIME DESC");
	Slab_Return_List_Update(m_list_slab_return,rs_return);
	resultset &rs_slab = *(theApp.cn).select ("select * from  CAST_INF where DHCR="+cur_status+" order by INPUT_DATE DESC");
	SlabInfo_List_Update(m_list_slab_inf,rs_slab);
	theApp.cn.close();
}

void CReturnSlabFormView::OnTurnToSingle() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	theApp.open_mes();                                               //调用过程,回炉坯重新入库
	CString cur_user,cur_shift,cur_dep,cur_status;
	cur_dep.Format("'%s'","称重操作室");
	cur_status.Format("'%s'","回炉");
	resultset &rs = *(theApp.cn).select ("select * from CURRENT_USER where DEPARTMENT="+cur_dep);
	cur_shift = result_CString(rs,"SHIFT");
	cur_user = result_CString(rs,"NAME");

	statement &st_return_slab = *(theApp.cn).prepare ("begin RETURN_FURNACE_INF (:v_fur,:v_stack,:v_shift,:v_name); end;");
	st_return_slab.bind(":v_fur", DT_TEXT) = m_return_castid;	
	st_return_slab.bind(":v_stack", DT_TEXT) = m_edit_stack_return;	
	st_return_slab.bind(":v_shift", DT_TEXT) = cur_shift;	
	st_return_slab.bind(":v_name", DT_TEXT) = cur_user;	
	st_return_slab.execute ();
	st_return_slab.release (); 	
	//刷新回炉表和回炉板坯信息
	m_list_slab_return.DeleteAllItems();
	m_list_slab_inf.DeleteAllItems();
	resultset &rs_return = *(theApp.cn).select ("select * from  RETURN_FURNACE  order by OPERATE_TIME DESC");
	Slab_Return_List_Update(m_list_slab_return,rs_return);
	resultset &rs_slab = *(theApp.cn).select ("select * from  CAST_INF where DHCR="+cur_status+" order by INPUT_DATE DESC");
	SlabInfo_List_Update(m_list_slab_inf,rs_slab);
	theApp.cn.close();
}

void CReturnSlabFormView::OnClickListSlabReturn(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_return_castid=this->m_list_slab_return.GetItemText(m_list_slab_return.GetSelectionMark(),0);
	*pResult = 0;
}

void CReturnSlabFormView::OnReturnDelete() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	theApp.open_mes();                                               
	CString cur_id;
	cur_id.Format("'%s'",m_return_castid);
	statement &rs_dele = *(theApp.cn).prepare ("delete  from  RETURN_FURNACE  where FUR_CODE="+cur_id);
	rs_dele.execute();
	rs_dele.release();
	//刷新回炉表和回炉板坯信息
	m_list_slab_return.DeleteAllItems();
	resultset &rs_return = *(theApp.cn).select ("select * from  RETURN_FURNACE  order by OPERATE_TIME DESC");
	Slab_Return_List_Update(m_list_slab_return,rs_return);

	theApp.cn.close();
}

⌨️ 快捷键说明

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