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

📄 dlgadjust.cpp

📁 用VC编写的立体仓库的管理软件源程序和设计说明书。
💻 CPP
字号:
// DlgAdjust.cpp : implementation file
//

#include "stdafx.h"
#include "Manage_WH.h"
#include "DlgAdjust.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgAdjust dialog


CDlgAdjust::CDlgAdjust(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgAdjust::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgAdjust)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_hIcon = AfxGetApp()->LoadIcon(IDI_MYICON);
}


void CDlgAdjust::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgAdjust)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgAdjust, CDialog)
	//{{AFX_MSG_MAP(CDlgAdjust)
	ON_BN_CLICKED(IDC_BUT_FROM_SITE, OnButFromSite)
	ON_BN_CLICKED(IDC_BUT_TO_SITE, OnButToSite)
	ON_LBN_SELCHANGE(IDC_LIST_FROM_SITE, OnSelchangeListFromSite)
	ON_LBN_SELCHANGE(IDC_LIST_TO_SITE, OnSelchangeListToSite)
	ON_BN_CLICKED(IDC_BUT_EXECUTE, OnButExecute)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgAdjust message handlers

BOOL CDlgAdjust::PreTranslateMessage(MSG* pMsg) 
{
	if (pMsg->message==WM_KEYDOWN && (pMsg->wParam==13 || pMsg->wParam==27))
		return TRUE;
	return CDialog::PreTranslateMessage(pMsg);
}

void CDlgAdjust::OnButFromSite() 
{
	static_cast<CListBox *>(GetDlgItem(IDC_LIST_FROM_SITE))->ResetContent();
	CString sFromSite;
	CAdoConnection cn;
	CAdoRecordSet  rs;
	cn.OpenUDLFile(gstrConSQLSer);
	rs.SetAdoConnection(&cn);
	rs.Open("select * from T_Goods_Site_Manage where F_SiteState = 1",adCmdText);
	if (rs.GetRecordCount() != 0)
	{
		rs.MoveFirst();
		static_cast<CListBox *>(GetDlgItem(IDC_LIST_FROM_SITE))->SetRedraw(FALSE);
		while (!rs.IsEOF())
		{
			rs.GetCollect("F_SiteIndex",sFromSite);
			static_cast<CListBox *>(GetDlgItem(IDC_LIST_FROM_SITE))->AddString(sFromSite);
			rs.MoveNext();
		}
		static_cast<CListBox *>(GetDlgItem(IDC_LIST_FROM_SITE))->SetRedraw(TRUE);
	}
	rs.Close();
	cn.Close();
}

void CDlgAdjust::OnButToSite() 
{
	static_cast<CListBox *>(GetDlgItem(IDC_LIST_TO_SITE))->ResetContent();
	CString sSite;
	CAdoConnection cn;
	CAdoRecordSet  rs;
	cn.OpenUDLFile(gstrConSQLSer);
	rs.SetAdoConnection(&cn);
	rs.Open("select * from T_Goods_Site_Manage where F_SiteState = 0",adCmdText);
	{
		rs.MoveFirst();
		static_cast<CListBox *>(GetDlgItem(IDC_LIST_TO_SITE))->SetRedraw(FALSE);
		while (!rs.IsEOF())
		{
			rs.GetCollect("F_SiteIndex",sSite);
			static_cast<CListBox *>(GetDlgItem(IDC_LIST_TO_SITE))->AddString(sSite);
			rs.MoveNext();
		}
		static_cast<CListBox *>(GetDlgItem(IDC_LIST_TO_SITE))->SetRedraw(TRUE);
	}
	rs.Close();
	cn.Close();
}

void CDlgAdjust::OnSelchangeListFromSite() 
{
	if (static_cast<CListBox *>(GetDlgItem(IDC_LIST_FROM_SITE))->GetCurSel() >= 0)
	{
		CString s;
		static_cast<CListBox *>(GetDlgItem(IDC_LIST_FROM_SITE))->GetText(static_cast<CListBox *>(GetDlgItem(IDC_LIST_FROM_SITE))->GetCurSel(),s);
		static_cast<CEdit *>(GetDlgItem(IDC_FROM_SITE))->SetWindowText(s);
	}	
}

void CDlgAdjust::OnSelchangeListToSite() 
{
	if (static_cast<CListBox *>(GetDlgItem(IDC_LIST_TO_SITE))->GetCurSel() >= 0)
	{
		CString s;
		static_cast<CListBox *>(GetDlgItem(IDC_LIST_TO_SITE))->GetText(static_cast<CListBox *>(GetDlgItem(IDC_LIST_TO_SITE))->GetCurSel(),s);
		static_cast<CEdit *>(GetDlgItem(IDC_TO_SITE))->SetWindowText(s);
	}	
}

void CDlgAdjust::OnButExecute() 
{
	CString sFromSite,sToSite,sWarning;

	static_cast<CEdit *>(GetDlgItem(IDC_FROM_SITE))->GetWindowText(sFromSite);
	static_cast<CEdit *>(GetDlgItem(IDC_TO_SITE))->GetWindowText(sToSite);

	if (sFromSite.IsEmpty())		sWarning = "请选择或输入要移动的货位的索引!";
	else if (sToSite.IsEmpty())		sWarning = "请选择或输入目标货位的索引!";

	if (!sWarning.IsEmpty())
	{
		MessageBox(sWarning,"系统提示",MB_ICONSTOP|MB_OK);
		return;
	}

	int bz(0),iState(0);
	CAdoConnection cn;
	CAdoRecordSet  rs;
	cn.OpenUDLFile(gstrConSQLSer);
	rs.SetAdoConnection(&cn);
	rs.Open("select * from T_Goods_Site_Manage where F_SiteIndex = '"+sFromSite+"'",adCmdText);
	if (rs.GetRecordCount() == 0)
		bz = 1;
	else
	{
		rs.GetCollect("F_SiteState",iState);
		if (iState != 1)
			bz = 1;
	}
	rs.Close();

	if (bz == 1)
	{
		MessageBox("源货位索引不正确,请重新输入或选择!","系统提示",MB_ICONSTOP|MB_OK);
		cn.Close();
		return;
	}
	rs.Open("select * from T_Goods_Site_Manage where F_SiteState = '"+sToSite+"'",adCmdText);
	if (rs.GetRecordCount() == 0)
		bz = 2;
	else
	{
		rs.GetCollect("F_SiteState",iState);
		if (iState != 0)
			bz = 2;
	}
	rs.Close();
	cn.Close();

	if (bz == 2)
	{
		MessageBox("目标货位索引不正确,请重新输入或选择!","系统提示",MB_ICONSTOP|MB_OK);
		return;
	}

	int iTaskIndex = gfGetTaskIndex();
	CString sSQL,sTime;
	sTime = GetDate(2);
	sSQL.Format("INSERT INTO T_Manager_Task(F_ManagerIndex,F_StartPoint,F_EndPoint,F_TaskKind,F_TaskLevel,F_TaskState,F_SendTime)VALUES(%d,'%s','%s',5,6,0,'%s')",iTaskIndex,sFromSite,sToSite,sTime);
	//在表T_Manager_Task中插入任务记录并修改表T_Goods_Site_Manae中源货位和目标货位的状态
	cn.OpenUDLFile(gstrConSQLSer);
	cn.Execute(sSQL,adCmdText);
	cn.Execute("UPDATE T_Goods_Site_Manage SET F_SiteState = 2 WHERE F_SiteIndex = '"+sFromSite+"'",adCmdText);
	cn.Execute("UPDATE T_Goods_Site_Manage SET F_SiteState = 3 WHERE F_SiteIndex = '"+sToSite+"'",adCmdText);
	cn.Close();

	MessageBox("任务添加成功!","系统提示",MB_ICONINFORMATION|MB_OK);
	AddLog("执行导库操作。源货位:"+sFromSite+";目标货位:"+sToSite+"");
	this->OnButFromSite();
	this->OnButToSite();
	static_cast<CEdit *>(GetDlgItem(IDC_FROM_SITE))->SetWindowText("");
	static_cast<CEdit *>(GetDlgItem(IDC_TO_SITE))->SetWindowText("");	
}

BOOL CDlgAdjust::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	SetIcon(m_hIcon,TRUE);
	
	return TRUE;
}

⌨️ 快捷键说明

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