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

📄 dialogproduceclient.cpp

📁 以前给一个印刷厂开发的业务管理软件
💻 CPP
📖 第 1 页 / 共 3 页
字号:
// ProduceClientView.cpp : implementation file
//

#include "stdafx.h" 
#include "DialogProduceClient.h"
#include "MDIChild.H"

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

/////////////////////////////////////////////////////////////////////////////
// CDialogProduceClient

IMPLEMENT_DYNCREATE(CDialogProduceClient, CDialog)

CDialogProduceClient::CDialogProduceClient()
	: CDialog(CDialogProduceClient::IDD)
{
	//{{AFX_DATA_INIT(CDialogProduceClient)
	m_timeHandDate = CTime::GetCurrentTime();
	m_strClientAddress = _T("");
	m_strClientName = _T("");
	m_strClientRemarks = _T("");
	m_strClientTele = _T("");
	m_strComputerMan = _T("");
	m_strCutProductMan = _T("");
	m_strKaiLiaoMan = _T("");
	m_strProduceDayMan = _T("");
	m_strProduceNightMan = _T("");
	m_strProduceRemarks = _T("");
	m_strSerial = _T("");
	m_strState = _T("");
	m_strProduction = _T("");
	m_strFee = _T("");
	//}}AFX_DATA_INIT
}


void CDialogProduceClient::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDialogProduceClient)
	DDX_Control(pDX, IDC_BUTTON_DELETE_USER, m_btnDel);
	DDX_Control(pDX, IDC_BUTTON_ADD_NEW_USER, m_btnAdd);
	DDX_Control(pDX, IDC_BUTTON_EDIT_USER, m_btnEdit);
	DDX_Control(pDX, IDC_EDIT_SERIAL, m_EditSerial);
	DDX_Control(pDX, IDC_LIST, m_List);
	DDX_DateTimeCtrl(pDX, IDC_DATETIME_HAND_DATE, m_timeHandDate);
	DDX_Text(pDX, IDC_EDIT_CLIENT_ADDRESS, m_strClientAddress);
	DDX_Text(pDX, IDC_EDIT_CLIENT_NAME, m_strClientName);
	DDX_Text(pDX, IDC_EDIT_CLIENT_REMARKS, m_strClientRemarks);
	DDX_Text(pDX, IDC_EDIT_CLIENT_TELE, m_strClientTele);
	DDX_Text(pDX, IDC_EDIT_COMPUTER_MAN, m_strComputerMan);
	DDX_Text(pDX, IDC_EDIT_CUT_PRODUCT_MAN, m_strCutProductMan);
	DDX_Text(pDX, IDC_EDIT_KAILIAO_MAN, m_strKaiLiaoMan);
	DDX_Text(pDX, IDC_EDIT_PRODUCE_DAY_MAN, m_strProduceDayMan);
	DDX_Text(pDX, IDC_EDIT_PRODUCE_NIGHT_MAN, m_strProduceNightMan);
	DDX_Text(pDX, IDC_EDIT_PRODUCE_REMARKS, m_strProduceRemarks);
	DDX_Text(pDX, IDC_EDIT_SERIAL, m_strSerial);
	DDX_Text(pDX, IDC_EDIT_STATE, m_strState);
	DDX_Text(pDX, IDC_EDIT_PRODUCTION, m_strProduction);
	DDX_Text(pDX, IDC_EDIT_FEE, m_strFee);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDialogProduceClient, CDialog)
	//{{AFX_MSG_MAP(CDialogProduceClient)
    ON_MESSAGE(WM_KICKIDLE, OnKickIdle)
	ON_BN_CLICKED(IDC_BUTTON_ADD_NEW_USER, OnButtonAddNewUser)
	ON_BN_CLICKED(IDC_BUTTON_EDIT_USER, OnButtonEditUser)
	ON_BN_CLICKED(IDC_BUTTON_DELETE_USER, OnButtonDeleteUser)
	ON_BN_CLICKED(IDC_BUTTON_EDIT_METER, OnButtonEditMeter)
	ON_BN_CLICKED(IDC_BUTTON_ADD_METER, OnButtonAddMeter)
	ON_EN_KILLFOCUS(IDC_EDIT_SERIAL, OnKillfocusEditSerial)
	ON_BN_CLICKED(IDC_BUTTON_PRINT_CELL, OnButtonPrintCell)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDialogProduceClient message handlers

void CDialogProduceClient::OnButtonAddNewUser() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_strSerial.IsEmpty())
		return;

	if(!m_pProduceClientSet->IsOpen())
		m_pProduceClientSet->Open();
	m_pProduceClientSet->AddNew();
	m_pProduceClientSet->m_Serial = m_strSerial;
	m_pProduceClientSet->m_ClientAddress = m_strClientAddress;
	m_pProduceClientSet->m_ClientName = m_strClientName;
	m_pProduceClientSet->m_ClientRemarks = m_strClientRemarks;
	m_pProduceClientSet->m_ClientTele = m_strClientTele;
	m_pProduceClientSet->m_ComputerMan = m_strComputerMan;
	m_pProduceClientSet->m_CutProductMan = m_strCutProductMan;
	m_pProduceClientSet->m_KaiLiaoMan = m_strKaiLiaoMan;
	m_pProduceClientSet->m_ProduceDayMan = m_strProduceDayMan;
	m_pProduceClientSet->m_ProduceNightMan = m_strProduceNightMan;
	m_pProduceClientSet->m_ProduceRemarks = m_strProduceRemarks;
	m_pProduceClientSet->m_HandDate = m_timeHandDate;
TRY
{
	m_pProduceClientSet->Update();
}
CATCH_ALL(e)
{
	MessageBox("数据加入失败。请重试。");
	return;
}
END_CATCH_ALL;

	MessageBox("数据加入成功");

	m_List.DeleteAllItems();

}

void CDialogProduceClient::OnButtonEditUser() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_strSerial.IsEmpty())
		return;

	int answer = MessageBox("确定修改该资料?","确定修改", MB_OKCANCEL);
	if(answer != IDOK)
		return;

	CWaitCursor cursor; // this will automatically display a wait cursor
	CString strSql;
	strSql.Format("select * from [ProduceClient] where [Serial] = '%s'", m_strSerial);
	if(m_pProduceClientSet->IsOpen())
		m_pProduceClientSet->Close();
	m_pProduceClientSet->Open(CRecordset::snapshot, strSql);
	if(m_pProduceClientSet->IsEOF())
	{
		m_strSerial.Empty();
		MessageBox("生产单号错误");
		UpdateData(FALSE);
		return;
	}

	m_pProduceClientSet->Edit();
	m_pProduceClientSet->m_Serial = m_strSerial;
	m_pProduceClientSet->m_ClientAddress = m_strClientAddress;
	m_pProduceClientSet->m_ClientName = m_strClientName;
	m_pProduceClientSet->m_ClientRemarks = m_strClientRemarks;
	m_pProduceClientSet->m_ClientTele = m_strClientTele;
	m_pProduceClientSet->m_ComputerMan = m_strComputerMan;
	m_pProduceClientSet->m_CutProductMan = m_strCutProductMan;
	m_pProduceClientSet->m_KaiLiaoMan = m_strKaiLiaoMan;
	m_pProduceClientSet->m_ProduceDayMan = m_strProduceDayMan;
	m_pProduceClientSet->m_ProduceNightMan = m_strProduceNightMan;
	m_pProduceClientSet->m_ProduceRemarks = m_strProduceRemarks;
	m_pProduceClientSet->m_HandDate = m_timeHandDate;
	TRY
	{
		m_pProduceClientSet->Update();
	}
	CATCH_ALL(e)
	{
		MessageBox("数据更新失败。请重试。");
		return;
	}
	END_CATCH_ALL;

	MessageBox("修改成功");

}


void CDialogProduceClient::OnButtonDeleteUser() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_strSerial.IsEmpty())
		return;

	int answer = MessageBox("确定删除?","确定删除", MB_OKCANCEL);
	if(answer != IDOK)
		return;

	if(m_List.GetItemCount() > 0)
	{
		MessageBox("请先将用户所有的生产任务先删除");
		return;
	}

	CWaitCursor cursor; // this will automatically display a wait cursor
	CString strSql;
	strSql.Format("select * from [ProduceClient] where [Id] = %s", m_strSerial);
	if(m_pProduceClientSet->IsOpen())
		m_pProduceClientSet->Close();
	m_pProduceClientSet->Open(CRecordset::snapshot, strSql);
	if(m_pProduceClientSet->IsEOF())
	{
		MessageBox("该用户不存在");
		return;
	}

	m_pProduceClientSet->Delete();
TRY
{
	m_pProduceClientSet->Update();
}
CATCH_ALL(e)
{
	MessageBox("数据删除失败。请重试。");
	return;
}
END_CATCH_ALL;

	MessageBox("该资料删除完毕");

	m_strSerial.Empty();
	UpdateData(FALSE);
}

BOOL CDialogProduceClient::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	if(m_pProduceClientSet->IsOpen())
		m_pProduceClientSet->Close();

	m_List.SetExtendedStyle
	   (m_List.GetExtendedStyle()|LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
	m_List.InsertColumn(0,"任务Id",LVCFMT_LEFT,60,-1);
	m_List.InsertColumn(1,"稿件",LVCFMT_LEFT,80,-1);
	m_List.InsertColumn(2,"稿件尺寸",LVCFMT_LEFT,90,-1);
	m_List.InsertColumn(3,"计量单位",LVCFMT_LEFT,70,-1);
	m_List.InsertColumn(4,"印刷数量",LVCFMT_LEFT,80,-1);
	m_List.InsertColumn(5,"印刷单价",LVCFMT_LEFT,90,-1);
	m_List.InsertColumn(6,"生产类别",LVCFMT_LEFT,80,-1);
	m_List.InsertColumn(7,"原材料种类",LVCFMT_LEFT,80,-1);
	m_List.InsertColumn(8,"物品名",LVCFMT_LEFT,90,-1);
	m_List.InsertColumn(9,"物品型号",LVCFMT_LEFT,70,-1);
	m_List.InsertColumn(10,"计量单位",LVCFMT_LEFT,70,-1);
	m_List.InsertColumn(11,"物品数量",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(12,"拼后尺寸",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(13,"拼板数量",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(14,"板类",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(15,"打印色数",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(16,"打印机台",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(17,"单色车数",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(18,"消耗车数",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(19,"钉丝",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(20,"上胶",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(21,"包壳",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(22,"成品数",LVCFMT_LEFT,100,-1);
	m_List.InsertColumn(23,"状态",LVCFMT_LEFT,100,-1);

	if(!m_strSerial.IsEmpty())
		OnKillfocusEditSerial();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}



LRESULT CDialogProduceClient::OnKickIdle(WPARAM, LPARAM lCount)
{
       // Do idle processing here, just like CWinApp::OnIdle
       //
	Sleep(100); //1ms

⌨️ 快捷键说明

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