亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dlgproductorout3.cpp

?? 主要功能 企業倉庫管理系統由基本信息管理模塊、入庫管理模塊、庫存管理模塊、查詢管理模塊等幾部分組成。 &#61553 基本信息管理模塊 該模塊主要包括操作員管理、商品信息管理、庫存信息管理、供
?? CPP
字號:
// DlgProductorOut3.cpp : implementation file
//

#include "stdafx.h"
#include "aaa.h"
#include "DlgProductorOut3.h"
#include "CustomGrid.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgProductorOut3 dialog


CDlgProductorOut3::CDlgProductorOut3(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgProductorOut3::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgProductorOut3)
	//}}AFX_DATA_INIT
}


void CDlgProductorOut3::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgProductorOut3)
	DDX_Control(pDX, IDC_DETAILLIST, m_list);
	DDX_Control(pDX, IDC_LIST1, m_listinfo);
	DDX_Control(pDX, IDC_COMTOSTORAGE, m_tostorage);
	DDX_Control(pDX, IDC_COMFROMSTORAGE, m_fromstorage);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgProductorOut3, CDialog)
	//{{AFX_MSG_MAP(CDlgProductorOut3)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgProductorOut3 message handlers

void CDlgProductorOut3::AddNewRow()
{
	int counts = m_list.GetItemCount();
	if (m_list.row == counts-1)//當前行為最后一行
	{
		m_list.InsertItem(100,"");
		m_list.row+=1;			
		m_list.col = 0;
		m_list.ShowEdit();
	}
	else
	{
		m_list.row+=1;
		m_list.col = 0;
		m_list.ShowEdit();
	}
}

void CDlgProductorOut3::AddOperator()
{
	if (CheckInfo()) //通過檢查
	{
		CString sql,SQL;
		CString c_sum,fromstorage,tostorage,merchandiseid;
		float f_sum;//mercandise number
		m_fromstorage.GetWindowText(fromstorage);
		m_tostorage.GetWindowText(tostorage);
		int row = m_list.GetItemCount();
		for (int i = 0;i<row;i++)
		{
			c_sum = m_list.GetItemText(i,2);
			f_sum = atof(c_sum);
			merchandiseid=m_list.GetItemText(i,0);
			sql.Format("update tb_merchandisestorage set Storagenum = Storagenum- %f where merchandiseID = '%s' and storagename = '%s'",f_sum,merchandiseid,fromstorage);
			SQL.Format("select * from tb_merchandisestorage where  merchandiseID = '%s' and storagename = '%s'",merchandiseid,tostorage);						
			try
			{
				m_pRs->raw_Close();
				m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
				m_pRs->raw_Close();
				m_pRs->Open((_variant_t)SQL,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
				if (m_pRs->RecordCount>0)
				{
					m_pRs->raw_Close();
					SQL.Format("update tb_merchandisestorage set Storagenum = Storagenum+ %f where merchandiseID = '%s' and storagename = '%s' ",f_sum,merchandiseid,tostorage);
					m_pRs->Open((_variant_t)SQL,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
					
				}
				else
				{
					m_pRs->raw_Close();
					SQL.Format("insert tb_merchandisestorage values('%s','%s',%f,default,default)",merchandiseid,tostorage,f_sum);
					m_pRs->Open((_variant_t)SQL,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);				
				}
				
				CancelOperate();
				MessageBox("操作成功.","提示",64);
			}
			catch(_com_error &e)
			{
				MessageBox(e.Description(),"提示",64);
			}			
		}				
	}
}

void CDlgProductorOut3::AddStorage()
{
	m_fromstorage.ResetContent();//刪除所有的數據
	m_tostorage.ResetContent();
	CString sql;
	sql = "select distinct storagename from tb_storageinfo";
	m_pRs->Close();
	m_pRs->Open((_bstr_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
	while (!m_pRs->adoEOF)
	{
		m_tostorage.AddString((TCHAR *)(_bstr_t)m_pRs->GetFields()->GetItem("storagename")->Value);
		m_fromstorage.AddString((TCHAR *)(_bstr_t)m_pRs->GetFields()->GetItem("storagename")->Value);
		m_pRs->MoveNext();
	}
}

void CDlgProductorOut3::CancelOperate()
{
	m_fromstorage.SetCurSel(0);
	m_tostorage.SetCurSel(0);
	m_list.DeleteAllItems();
	m_list.InsertItem(100,"");
}

bool CDlgProductorOut3::CheckInfo()
{
	CString str,fromstorage,tostorage;
	m_fromstorage.GetWindowText(fromstorage);
	m_tostorage.GetWindowText(tostorage);
	if ((fromstorage.IsEmpty())||(tostorage.IsEmpty()))
	{
		MessageBox("請設置倉庫信息.","提示",64);
		return false;
	}
	if (fromstorage == tostorage)
	{
		MessageBox("調撥的倉庫信息不能相同.","提示",64);
		return false;
	}
	int row,col;
	for (row = 0;row< m_list.GetItemCount();row++)
		for(col = 0;col <3;col++)
		{
			str = m_list.GetItemText(row,col);
			if (str.IsEmpty())
			{
				MessageBox("商品信息列表不能為空.","提示",64);
				return false;
			}
		}
	return true;
}

void CDlgProductorOut3::DeleteCurRow()
{
	int currow;
	currow = m_list.row;
	if (currow!=-1)
	{
		if (MessageBox("確實要刪除當前行嗎?","提示",MB_YESNO)==IDYES)
		{
			int m = m_list.GetItemCount();
			if (m >1)
			{
				for (int i = currow+1;i<m_list.GetItemCount();i++)
				{
					for(int c = 0; c<3 ;c++)
					{
						m_list.SetItemText(i-1,c,m_list.GetItemText(i,c));
					}
				}
				m_list.DeleteItem(m_list.GetItemCount()-1);
			}
			else
			{
				for (int i = 0;i< 3;i++)
				{
					m_list.SetItemText(0,i,"");
				}
			}
		}
	}
}

void CDlgProductorOut3::LimitEdit()
{
	m_list.edit.IsNumber = false;
	//在修改商品數量時只允許輸入數字
	if (m_list.col ==2)
	{
		m_list.edit.IsNumber = true;
	}
}

void CDlgProductorOut3::MoveFocus()
{
	m_list.DisposeEdit(true);
	if (m_list.col <3)
	{
		m_list.col = m_list.col+1;
		CString tempID,tempname;
		tempID = m_list.GetItemText(m_list.row,0);
		tempname = m_list.GetItemText(m_list.row,1);
		m_list.showedit = true;
		if ((tempname.IsEmpty()==false)&&(m_list.col == 0))
			m_list.showedit =false;
		else if((tempID.IsEmpty()==false)&&(m_list.col == 1))
			m_list.showedit =false;
		m_list.ShowEdit();
	}
	else
	{
		AddNewRow();
	}
}

void CDlgProductorOut3::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	int row = m_listinfo.GetSelectionMark();
	if (row!=-1)
	{
		CString temp;
		temp = m_listinfo.GetItemText(row,0);
		//設置商品編號
		m_list.SetItemText(m_list.row,0,temp);
		//設置商品名稱
		m_list.SetItemText(m_list.row,1,m_listinfo.GetItemText(row,1));
		m_listinfo.ShowWindow(SW_HIDE);
	}
	m_list.col =2;
	m_list.ShowEdit();
}

void CDlgProductorOut3::OnEditChange()
{
	CString str;
	m_list.edit.GetWindowText(str);
	CString sql = "";
	switch (m_list.col)
	{
	case 0:
		{
			if (!str.IsEmpty())
				sql.Format("select * from tb_merchandiseinfo where id like '%s%%' or shortname like '%s%%' ",str,str);
			break;
		}
	case 1:
		{
			if (!str.IsEmpty())
				sql.Format("select * from tb_merchandiseinfo where name like '%s%%' or shortname like '%s%%'",str,str);
			break;	
		}
	break;
	}
	if (! sql.IsEmpty())
	{
		m_pRs->raw_Close();
		m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
		if (m_pRs->RecordCount>0)
		{
			m_listinfo.DeleteAllItems();
			int i=0;
			while(! m_pRs->adoEOF)
			{
				m_listinfo.InsertItem(100,"");
				for (int m = 0;m<4;m++)
				m_listinfo.SetItemText(i,m,(TCHAR*)(_bstr_t)m_pRs->GetFields()->GetItem((long)m)->Value);
				m_pRs->MoveNext();
				i +=1;
			}
			ShowListInfo();
		}
		else
			m_listinfo.ShowWindow(SW_HIDE);
	}
	else
		m_listinfo.ShowWindow(SW_HIDE);
}

BOOL CDlgProductorOut3::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	//添加列
	m_list.InsertColumn(0,"商品編號",LVCFMT_LEFT,200);
	m_list.InsertColumn(1,"商品名稱",LVCFMT_LEFT,180);
	m_list.InsertColumn(2,"商品數量",LVCFMT_LEFT,80);

	m_listinfo.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_FLATSB);

	m_listinfo.InsertColumn(0,"商品編號",LVCFMT_LEFT,80);
	m_listinfo.InsertColumn(1,"商品名稱",LVCFMT_LEFT,80);
	m_listinfo.InsertColumn(2,"規格",LVCFMT_LEFT,80);
	m_listinfo.InsertColumn(4,"助記碼",LVCFMT_LEFT,80);

	//添加空行
	m_list.InsertItem(0,"");

	m_listinfo.SetParent(&m_list);

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

BOOL CDlgProductorOut3::PreTranslateMessage(MSG* pMsg) 
{
	if (pMsg->message ==WM_KEYDOWN)	
	{
		 if ((pMsg->hwnd ==m_listinfo.m_hWnd)&&(pMsg->wParam == 13))
		{
			OnDblclkList1(NULL,NULL);
			return true;
		}
		/****************************************************************
		說明:  表格中編輯框獲得焦點時,按Enter鍵控制單元格焦點移動
		****************************************************************/
		if ((pMsg->wParam == 13)&&(pMsg->hwnd==m_list.edit.m_hWnd))
		{
			MoveFocus();
			return true;
		}	
		/****************************************************************
		說明:  表格中獲得焦點時,按Enter鍵添加新行
		****************************************************************/		
		if ((pMsg->wParam == 13)&&(pMsg->hwnd == m_list.m_hWnd))
		{
			AddNewRow();
			return true;
		}
	}

	/****************************************************************
	說明:  表格中編輯框按鍵時的事件,用于判斷是否限制字符輸入,如果用戶按
	PageDown鍵,將使輔助錄入表格獲得焦點
	****************************************************************/
	if ((pMsg->message == WM_KEYDOWN)&&(pMsg->hwnd == m_list.edit.m_hWnd))
	{
		LimitEdit();	
		if (pMsg->wParam == 34)
		{
			ShowListinfo();
		}
		else if (pMsg->wParam ==VK_DELETE)//按delete鍵刪除表格當前行
			DeleteCurRow();
	}	

	/****************************************************************
	說明:  表格中編輯框改變時的事件
	****************************************************************/
	if ((pMsg->message == WM_KEYUP)&&(pMsg->hwnd == m_list.edit.m_hWnd))
	{
		OnEditChange();	
	}

	/****************************************************************
	說明:  在窗體中控件獲得焦點時,使提示列表不可見
	****************************************************************/
	if (pMsg->message==WM_LBUTTONDOWN)
	{
		if (pMsg->hwnd!= m_listinfo.m_hWnd)
			m_listinfo.ShowWindow(SW_HIDE);
	}	
	/****************************************************************
	說明:  在單擊表格時,根據當前列判斷是否顯示編輯框
	****************************************************************/
	if ((pMsg->message ==WM_LBUTTONDOWN)&&(pMsg->hwnd ==m_list.m_hWnd))
	{
		//當前列為商品編號,商品名稱為空,顯示編輯框,在當前列為商品名稱,商品編號為空,顯示編輯框,
		CString tempID,tempname;
		LVHITTESTINFO pos;
		pos.pt.x = LOWORD(pMsg->lParam);
		pos.pt.y = HIWORD(pMsg->lParam);
		pos.flags = LVHT_ABOVE;
		int row,col;
		row = -1;
		col = -1;
		if (m_list.SubItemHitTest(&pos)>=0)
		{
			m_list.SetFocus();
			row = pos.iItem;
			col = pos.iSubItem;		
			tempID = m_list.GetItemText(row,0);
			tempname = m_list.GetItemText(row,1);			
			m_list.showedit =true;	
			if ((tempname.IsEmpty()==false)&&(col == 0))
				m_list.showedit =false;
			else if((tempID.IsEmpty()==false)&&(col == 1))
				m_list.showedit =false;
		}
	}	
	return CDialog::PreTranslateMessage(pMsg);
}

void CDlgProductorOut3::ShowListinfo()
{
	if (m_listinfo.IsWindowVisible())
	{
		m_listinfo.SetFocus();
		m_listinfo.PostMessage(WM_KEYDOWN,VK_HOME,0);
		//listinfo.SetSelectionMark(1);
	}
}

void CDlgProductorOut3::ShowListInfo()
{
	CRect rect;
	m_list.GetSubItemRect(m_list.row,m_list.col,LVIR_BOUNDS,rect);
	m_listinfo.MoveWindow(rect.left,rect.bottom+1,300,150);
	m_listinfo.ShowWindow(SW_SHOW);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合婷婷亚洲小说| 青青青伊人色综合久久| 视频一区视频二区在线观看| 国产一区二区三区免费看| 91小视频免费观看| 久久久另类综合| 免费的成人av| 欧美亚洲日本国产| 一色屋精品亚洲香蕉网站| 精品在线一区二区三区| 欧美日韩国产美| 亚洲图片激情小说| 成人在线视频首页| 日韩欧美一级二级三级久久久| 亚洲女人****多毛耸耸8| 国产精一品亚洲二区在线视频| 欧美少妇bbb| 亚洲免费在线观看视频| 丁香一区二区三区| 久久久久一区二区三区四区| 日韩电影免费在线看| 精品视频一区二区三区免费| 亚洲色图视频免费播放| 国产精品一二三四区| 久久午夜老司机| 久久成人久久鬼色| 欧美电影免费观看高清完整版 | 亚洲国产精品ⅴa在线观看| 久久精品av麻豆的观看方式| 3d成人动漫网站| 舔着乳尖日韩一区| 欧美疯狂做受xxxx富婆| 五月婷婷另类国产| 7878成人国产在线观看| 三级欧美韩日大片在线看| 欧美日韩国产美| 日韩精品午夜视频| 欧美大肚乱孕交hd孕妇| 麻豆91在线观看| 精品捆绑美女sm三区| 韩国中文字幕2020精品| 久久久精品黄色| 顶级嫩模精品视频在线看| 国产精品久久久久久久第一福利| 国产激情视频一区二区三区欧美 | 另类小说色综合网站| 91精品久久久久久蜜臀| 美女视频黄免费的久久| 久久久精品影视| 成人av在线网站| 一区二区三区欧美亚洲| 91.麻豆视频| 久久99精品久久久久久久久久久久| 精品人伦一区二区色婷婷| 国产乱色国产精品免费视频| 国产精品美女视频| 欧美色图第一页| 久久国产麻豆精品| 国产精品久久久久久亚洲毛片| 色中色一区二区| 青青草伊人久久| 久久欧美一区二区| 在线精品视频小说1| 日本sm残虐另类| 中文字幕欧美三区| 欧美日韩一区中文字幕| 国产乱码精品一区二区三区五月婷| 日本一区二区三区免费乱视频| 97久久精品人人做人人爽| 五月天一区二区| 中文字幕欧美三区| 在线播放/欧美激情| 成人18视频日本| 男女激情视频一区| 亚洲裸体在线观看| 精品福利在线导航| 在线看国产一区二区| 国产风韵犹存在线视精品| 一个色综合av| 欧美激情一区二区三区不卡| 欧美日韩久久一区二区| 国产成人丝袜美腿| 天天综合色天天| 亚洲人成人一区二区在线观看| 欧美一区二区三区免费观看视频| av中文字幕一区| 国产风韵犹存在线视精品| 日韩精彩视频在线观看| 成人欧美一区二区三区视频网页| 欧美电视剧在线观看完整版| 欧美性受极品xxxx喷水| 成人高清视频免费观看| 久久狠狠亚洲综合| 天堂成人国产精品一区| 亚洲精品一二三区| 国产精品久久久久aaaa| 69堂国产成人免费视频| 日本高清不卡视频| 不卡一区二区三区四区| 国产成人日日夜夜| 韩国毛片一区二区三区| 日本不卡在线视频| 污片在线观看一区二区| 一区二区成人在线视频| 综合色中文字幕| 亚洲同性gay激情无套| 中文字幕av免费专区久久| 久久久久久久久久看片| 精品理论电影在线观看 | 久久久综合激的五月天| 日韩视频在线永久播放| 欧美精品日韩一本| 欧美日韩高清在线播放| 欧美日韩免费电影| 欧美日本精品一区二区三区| 欧美色图一区二区三区| 欧美综合天天夜夜久久| 欧洲精品一区二区三区在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 成人h版在线观看| av成人免费在线| 91色九色蝌蚪| 欧洲一区在线电影| 欧美色图一区二区三区| 欧美群妇大交群中文字幕| 欧美二区三区的天堂| 欧美一级生活片| 精品乱人伦一区二区三区| 久久精品一区二区| 国产精品久久久久久久久免费桃花| 国产精品毛片久久久久久| 亚洲男同性恋视频| 婷婷中文字幕综合| 极品美女销魂一区二区三区免费| 久久精品国产99久久6| 国产成人免费在线视频| 色综合天天综合网天天狠天天| 欧美最猛黑人xxxxx猛交| 678五月天丁香亚洲综合网| 精品理论电影在线| 国产精品国产馆在线真实露脸| 亚洲免费观看高清完整版在线观看 | 国产精品久久久久久久久图文区| 中文字幕人成不卡一区| 亚洲成人综合网站| 国产在线播放一区| 91丨九色丨黑人外教| 欧美群妇大交群中文字幕| 26uuu色噜噜精品一区| 亚洲三级在线免费| 免费三级欧美电影| 99视频精品免费视频| 在线综合+亚洲+欧美中文字幕| 欧美精品一区二区久久婷婷| 亚洲欧美一区二区不卡| 日本aⅴ精品一区二区三区 | 欧美激情一区二区在线| 夜夜精品浪潮av一区二区三区| 美女视频一区在线观看| 成人va在线观看| 欧美xxxx老人做受| 亚洲人成7777| 国产乱码精品一品二品| 欧美区一区二区三区| 国产精品国产三级国产有无不卡| 亚洲第一久久影院| 99亚偷拍自图区亚洲| 精品国产一区二区三区av性色| 最新国产精品久久精品| 麻豆91小视频| 欧美群妇大交群中文字幕| 国产精品久久毛片av大全日韩| 另类人妖一区二区av| 欧美综合在线视频| 成人欧美一区二区三区视频网页| 不卡的av电影| 欧美一二三四区在线| 亚洲中国最大av网站| 成人av资源在线| 久久久久久免费网| 日韩在线观看一区二区| 在线看不卡av| 亚洲六月丁香色婷婷综合久久| 国产成人综合在线观看| 精品少妇一区二区三区视频免付费| 伊人色综合久久天天| av一区二区三区在线| 欧美国产日韩在线观看| 国产自产高清不卡| 欧美zozozo| 国产在线精品一区二区| 日韩视频不卡中文| 蜜臀av亚洲一区中文字幕| 在线观看成人免费视频| 一区二区三区四区av| 91亚洲精品久久久蜜桃网站| 中文字幕一区二区三区蜜月| 国产aⅴ综合色| 国产精品入口麻豆九色| 暴力调教一区二区三区|