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

📄 dlgmanagetask.cpp

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

#include "stdafx.h"
#include "manage_wh.h"
#include "DlgManageTask.h"
#include "DlgOrderDel.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgManageTask dialog


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


void CDlgManageTask::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgManageTask)
	DDX_Control(pDX, IDC_LIST, m_list);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgManageTask, CDialog)
	//{{AFX_MSG_MAP(CDlgManageTask)
	ON_BN_CLICKED(IDC_REFRESH, OnRefresh)
	ON_BN_CLICKED(IDC_DEL_TASK, OnDelTask)
	ON_BN_CLICKED(IDC_DEL_ORDER, OnDelOrder)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgManageTask message handlers

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

BOOL CDlgManageTask::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	SetIcon(m_hIcon,TRUE);
	m_list.InsertColumn(0,"索引",LVCFMT_LEFT,60,-1);
	m_list.InsertColumn(1,"订单编号",LVCFMT_LEFT,120,-1);
	m_list.InsertColumn(2,"任务组号",LVCFMT_LEFT,90,-1);
	m_list.InsertColumn(3,"起点",LVCFMT_LEFT,90,-1);
	m_list.InsertColumn(4,"终点",LVCFMT_LEFT,90,-1);
	m_list.InsertColumn(5,"任务类型",LVCFMT_LEFT,90,-1);
	m_list.InsertColumn(6,"优先级别",LVCFMT_LEFT,90,-1);
	m_list.InsertColumn(7,"任务状态",LVCFMT_LEFT,90,-1);
	m_list.InsertColumn(8,"商品名称",LVCFMT_LEFT,100,-1);
	m_list.InsertColumn(9,"完成数量",LVCFMT_LEFT,90,-1);
	m_list.InsertColumn(10,"商品数量",LVCFMT_LEFT,90,-1);
	m_list.InsertColumn(11,"客户名称",LVCFMT_LEFT,120,-1);
	m_list.InsertColumn(12,"交货日期",LVCFMT_LEFT,120,-1);
	m_list.InsertColumn(13,"任务生成时间",LVCFMT_LEFT,160,-1);
	m_list.InsertColumn(14,"任务开始时间",LVCFMT_LEFT,160,-1);
	m_list.InsertColumn(15,"任务结束时间",LVCFMT_LEFT,160,-1);
	m_list.SetExtendedStyle( LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);

	RefreshTaskList();
		
	return TRUE;
}

void CDlgManageTask::RefreshTaskList()
{
	m_list.DeleteAllItems();
	CAdoConnection cn;
	CAdoRecordSet  rs;
	cn.OpenUDLFile(gstrConSQLSer);
	rs.SetAdoConnection(&cn);
	rs.Open("V_ManageTask",adCmdTable);
	if (rs.GetRecordCount() > 0)
	{
		int row=0,iIndex,iGroup,iCount,iFinishCount;
		CString sOrder,sStartPoint,sEndPoint,sTaskKind,sTaskState,sTaskLevel,sGoodsKind,sCustomer,sDeliverDate,\
				sSendTime,sBeginTime,sEndTime,sIndex,sGroup,sCount,sFinishCount;
		rs.MoveFirst();
		while (!rs.IsEOF())
		{
			rs.GetCollect("F_Index",iIndex);
			rs.GetCollect("F_Order",sOrder);
			rs.GetCollect("F_Group",iGroup);
			rs.GetCollect("F_StartPoint",sStartPoint);
			rs.GetCollect("F_EndPoint",sEndPoint);
			rs.GetCollect("F_TaskKind",sTaskKind);
			rs.GetCollect("F_TaskLevel",sTaskLevel);
			rs.GetCollect("F_TaskState",sTaskState);
			rs.GetCollect("F_GoodsKind",sGoodsKind);
			rs.GetCollect("F_FinishCount",iFinishCount);
			rs.GetCollect("F_Count",iCount);
			rs.GetCollect("F_Customer",sCustomer);
			rs.GetCollect("F_DeliverDate",sDeliverDate);
			rs.GetCollect("F_SendTime",sSendTime);
			rs.GetCollect("F_StartTime",sBeginTime);
			rs.GetCollect("F_EndTime",sEndTime);

			sIndex.Format("%d",iIndex);
			sGroup.Format("%d",iGroup);
			sCount.Format("%d",iCount);
			sFinishCount.Format("%d",iFinishCount);

			row = m_list.InsertItem(row,"");
			m_list.SetItemText(row,0,sIndex);
			m_list.SetItemText(row,1,sOrder);
			m_list.SetItemText(row,2,sGroup);
			m_list.SetItemText(row,3,sStartPoint);
			m_list.SetItemText(row,4,sEndPoint);
			m_list.SetItemText(row,5,sTaskKind);
			m_list.SetItemText(row,6,sTaskLevel);
			m_list.SetItemText(row,7,sTaskState);
			m_list.SetItemText(row,8,sGoodsKind);
			m_list.SetItemText(row,9,sFinishCount);
			m_list.SetItemText(row,10,sCount);
			m_list.SetItemText(row,11,sCustomer);
			m_list.SetItemText(row,12,sDeliverDate);
			m_list.SetItemText(row,13,sSendTime);
			m_list.SetItemText(row,14,sBeginTime);
			m_list.SetItemText(row,15,sEndTime);

			rs.MoveNext();
			row++;
		}
	}
	rs.Close();
	cn.Close();
}

void CDlgManageTask::OnRefresh() 
{
	RefreshTaskList();	
}

void CDlgManageTask::OnDelTask() 
{
	if (m_list.GetSelectedCount() == 0)
	{
		MessageBox("请选择要删除的任务!\n","消息提示",MB_ICONSTOP|MB_OK);
		return;
	}

	CString sTaskIndex,sOrderIndex,sTaskKind,sBeginPoint,sEndPoint;
	for (int i=0;i<m_list.GetItemCount();i++)
	{
		if (m_list.GetItemState(i,LVIS_SELECTED) == LVIS_SELECTED)
		{
			sTaskIndex  = m_list.GetItemText(i,0);
			sOrderIndex = m_list.GetItemText(i,1);
			sBeginPoint = m_list.GetItemText(i,3);
			sEndPoint   = m_list.GetItemText(i,4);
			sTaskKind   = m_list.GetItemText(i,5);
			break;
		}
	}
	
	int bz;
	if (sOrderIndex.IsEmpty())
	{
		bz = 0;
	}
	else
	{
		CString sTemp,sTemp1;
		for (int j=0;j<m_list.GetItemCount();j++)
		{
			sTemp1 = m_list.GetItemText(j,0);
			sTemp = m_list.GetItemText(j,1);
			if (sTemp1 != sTaskIndex && sTemp == sOrderIndex)
			{
				bz = 0;
				break;
			}
			else
				bz = 1;
		}
	}

	CAdoConnection cn;
	CString sSQL;
	int iTaskIndex(0);
	switch (bz)
	{
	case 0:
		if (MessageBox("是否删除选择的任务?","系统提示",MB_ICONWARNING|MB_YESNO) == IDNO)
			return;
		iTaskIndex = atoi(sTaskIndex);
		sSQL.Format("DELETE FROM T_Manager_Task WHERE F_ManagerIndex=%d",iTaskIndex);
		cn.OpenUDLFile(gstrConSQLSer);
		cn.Execute(sSQL,adCmdText);
		if (sTaskKind == "导库任务")
		{
			cn.Execute("UPDATE T_Goods_Site_Manage SET F_SiteState=1 WHERE F_SiteIndex='"+sBeginPoint+"'",adCmdText);
			cn.Execute("UPDATE T_Goods_Site_Manage SET F_SiteState=0 WHERE F_SiteIndex='"+sEndPoint+"'",adCmdText);
		}
		cn.Close();
		AddLog("删除管理任务");
		break;
	case 1:
		if (MessageBox("是否删除编号为[<"+sOrderIndex+">]的订单?","系统提示",MB_ICONWARNING|MB_YESNO) == IDNO)
			return;
		iTaskIndex = atoi(sTaskIndex);
		cn.OpenUDLFile(gstrConSQLSer);
		sSQL.Format("DELETE FROM T_Manager_Task WHERE F_ManagerIndex=%d",iTaskIndex);
		cn.Execute(sSQL,adCmdText);
		cn.Execute("DELETE FROM T_Order_History WHERE F_OrderIndex = '"+sOrderIndex+"'",adCmdText);
		if (sTaskKind == "整盘出库")
		{
			cn.Execute("UPDATE T_Goods_Site_Manage SET F_SiteState=1 WHERE F_SiteIndex='"+sBeginPoint+"'",adCmdText);
		}
		cn.Close();
		AddLog("删除订单[<"+sOrderIndex+">]");
		break;
	}
	RefreshTaskList();
}

void CDlgManageTask::OnDelOrder() 
{
	CDlgOrderDel dlg;
	dlg.DoModal();
	RefreshTaskList();
}

⌨️ 快捷键说明

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