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

📄 stocklist.cpp

📁 这是一个工厂的生产线的仓库管理.有计划,实绩,库存等
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include "StdAfx.h"
#include "StockList.h"

void FAP::StockList::FillTreeView(String * strProCode){
	String *strSQL;
	OleDbDataReader *dbReaderTmp;
	String* saLang[]   = {S"C", S"J", S"E"};

	strSQL = S"select b.parts_name_";
	strSQL = String::Concat(strSQL,saLang[infStockList->intLang]);
	strSQL = String::Concat(strSQL, S" ,b.product_code from part_composition a,parts_mst b ");
	strSQL = String::Concat(strSQL, S" where a.parts_code = b.product_code and ");
	strSQL = String::Concat(strSQL, S" a.product_code ='",strProCode,S"'");
    
	if (!dbStockList->blnCnnOpen())
	{
		MessageBox::Show(S"Connect Oracle Failed!!");
		return;
	}

	dbReaderTmp = dbStockList->dReadSQL_Select(strSQL);
	

	trvBOM->BeginUpdate();
	trvBOM->Nodes->Clear();
	trvBOM->Nodes->Add(String::Concat(txtProName->Text,S"  ", strProCode));

	while (dbReaderTmp->Read()) {

		trvBOM->Nodes->Item[0]->Nodes->Add(String::Concat(dbReaderTmp->GetString(0),S"  ",dbReaderTmp->GetString(1) ));
	}
	
	trvBOM->EndUpdate();

	trvBOM->ExpandAll();

	dbReaderTmp->Close();

	dbStockList->blnCnnClose();
}

void FAP::StockList::FillDBGrid(String *strProCode){
	String *strSQL ;
	DataSet * dSetTmp ;
	DataTable *dTableTmp;
	DataView *dViewTmp;
	
	String *saLang[]= {S"C",S"J",S"E"};

	strSQL = S"select distinct a.Name_";
	strSQL = String::Concat(strSQL,saLang[infStockList->intLang]);
	strSQL = String::Concat(strSQL,S" as PlaceName , (case b.stock_type when 0 then ' ' when 1 then ' ' when 2 then '▲' end) as StockType, ");
	strSQL = String::Concat(strSQL,S" (case b.lot when '-1000000' then '-1' else b.lot end) as Lot,");
	if (flgunit==true){
	strSQL = String::Concat(strSQL,S" floor(b.stock_qty) as PlanNum,'' as ExistNum,b.stock_pos as Stock_Code from cost_mst a, stock_data b");
	}else{

	strSQL = String::Concat(strSQL,S" b.stock_qty as PlanNum,'' as ExistNum,b.stock_pos as Stock_Code from cost_mst a, stock_data b");
	}
	strSQL = String::Concat(strSQL,S" where b.stock_pos = a.store_no and b.product_code = '",strProCode,S"' and trim(b.lot) is not null ");
strSQL = String::Concat(strSQL,S" and b.stock_qty<> 0 order by StockType");

	if (!dbStockList->blnCnnOpen())
	{
		return;
	}

	try
	{
		dSetTmp = dbStockList->dSetSQL_Select(strSQL,S"StockList",0);

		dTableTmp = dSetTmp->Tables->Item[S"StockList"];
	}

	catch (...) {

		return;
	}

	///begin 
///add a sum row to the end

	/*long sumTotalPlan;*/
	sumTotalPlan=0;
	sumTotalPlandouble=0.000;
	IEnumerator* tempRow = dTableTmp->Rows->GetEnumerator();
	tempRow->Reset();
	while (tempRow->MoveNext())
	{
		DataRow *dRowTmp = __try_cast<DataRow*>(tempRow->Current);
		if (flgunit==true){
		sumTotalPlan     =sumTotalPlan+Convert::ToInt32(dRowTmp->Item[S"PlanNum"]);
		}else{
			sumTotalPlandouble     =sumTotalPlandouble+Convert::ToDouble(dRowTmp->Item[S"PlanNum"]);

		}
			
	}
	//////	sumRow=dTableTmp->NewRow();
	//////	switch (infStockList->intLang)//0 is chinese,1 is jap ,2 is english
	//////	{
	//////		case 0: 
	//////			sumRow->Item["PlaceName"]= S"合计"; 
	//////			break;
	//////		case 1:
	//////			sumRow->Item["PlaceName"]= S"合計";
	//////			break;
	//////		case 2:
	//////			sumRow->Item["PlaceName"]= S"sum";
	//////			break;
	//////		default:   break;
	//////	}
	//////	
	//////	sumRow->Item["PlanNum"]=Convert::ToString(sumTotalPlan);
	//////	dTableTmp->Rows->Add(sumRow);
	
	///end
///add a sum row to the end

	//dSetTmp = dbStockList->dSetSQL_Select(strSQL,S"StockList",0);

	//dTableTmp = dSetTmp->Tables->Item[S"StockList"];
	//
	//int intCnt;

	//for (intCnt = 0;intCnt < dTableTmp->Rows->Count;intCnt ++) {
	//
	//	dTableTmp->Rows->Item[intCnt]->Item[S"StockType"] = S"0";
	//}

	//

	dViewTmp = new DataView(dTableTmp);

	//dGridStockList->DataSource = dTableTmp;

	dViewTmp->AllowDelete = false;

	dViewTmp->AllowNew = false;
	
	dGridStockList->DataSource = dViewTmp;

	//dGridStockList->Refresh();


	
}

void FAP::StockList::IniGrid(int intLang){
	DataGridTextBoxColumn *oStockPlace;
	DataGridTextBoxColumn *oLot;
	DataGridTextBoxColumn *oPlanNum;
	DataGridTextBoxColumn *oExistNum;
	DataGridTextBoxColumn *oUnvisible;

	//DataGridBoolColumn	  *oCheck;

	DataGridTextBoxColumn *oBaoliupin;


	String *flagBlp[]= {S"保留品",S"保留品",S"Temporary"};


//	String *flagBlp[]= {S"sss",S"www",S"Temporary"};

	

	
		


	DataGridTableStyle *oTableStyle = new DataGridTableStyle();
	
	oTableStyle->MappingName	= S"StockList";

	//////oBaoliupin
	oBaoliupin	= new DataGridTextBoxColumn();
	oBaoliupin->MappingName		= S"StockType";
	oBaoliupin->HeaderText		= flagBlp[intLang];
	oBaoliupin->Alignment		= HorizontalAlignment::Center;
	oBaoliupin->Width			= 70;
	oBaoliupin->ReadOnly		= true;
	oBaoliupin->NullText		=S" ";
	//////oBaoliupin->Format->

	//
		//Check Box
	////oBaoliupin			    = new DataGridBoolColumn();
	////oBaoliupin->MappingName	= S"StockType";
	////oBaoliupin->HeaderText	= flagBlp[intLang];
	////oBaoliupin->Alignment	= HorizontalAlignment::Center;
	////oBaoliupin->Width		= 70;
	////oBaoliupin->AllowNull   = false;
	////oBaoliupin->TrueValue	= __box(1);
	////oBaoliupin->FalseValue 	= __box(0);
	////oBaoliupin->NullValue	= __box(0);//Convert::DBNull;
	////oBaoliupin->ReadOnly	= false;
	//oBaoliupin->DataGridTableStyle=
	//oBaoliupin->DataGridTableStyle->




	//PlaceName
	oStockPlace	= new DataGridTextBoxColumn();
	oStockPlace->MappingName	= S"PlaceName";
	oStockPlace->HeaderText		= String::Concat(S"         ",infStockList->saStockPlace[intLang]);
	oStockPlace->Alignment		= HorizontalAlignment::Left;
	oStockPlace->Width			= 223;
	oStockPlace->ReadOnly		= true;
	oStockPlace->NullText		=S"";

	//Lot
	oLot		= new DataGridTextBoxColumn();
	oLot->MappingName		= S"Lot";
	oLot->HeaderText		= String::Concat(S"    ",infStockList->saLot[intLang]);
	oLot->Alignment			= HorizontalAlignment::Left;
	oLot->Width				= 90;
	oLot->ReadOnly			= true;
	oLot->NullText			=S"";

	//PlanNum
	oPlanNum				= new DataGridTextBoxColumn();
	oPlanNum->MappingName	= S"ExistNum";
	//oPlanNum->HeaderText	= infStockList->saPlanNum[intLang];
	oPlanNum->HeaderText	= S"";
	oPlanNum->Alignment		= HorizontalAlignment::Center;
	oPlanNum->Width			= 0;
	oPlanNum->ReadOnly		= true;
	oPlanNum->NullText		=S"";
	

	//ExistNum
	oExistNum				= new DataGridTextBoxColumn();
	oExistNum->MappingName	= S"PlanNum";
	oExistNum->HeaderText	= String::Concat(infStockList->saExistNum[intLang],S" \0");
	oExistNum->Alignment	= HorizontalAlignment::Right;
	oExistNum->Width		= 90;
	oExistNum->ReadOnly		= false;
	oExistNum->NullText		=S"";
	//oExistNum->Format		=S"#############";
	
	//oUnvisible
	oUnvisible				= new DataGridTextBoxColumn();
	oUnvisible->MappingName	= S"Stock_Code";
	oUnvisible->HeaderText	= S"";
	oUnvisible->Alignment	= HorizontalAlignment::Center;
	oUnvisible->Width		= 0;
	oUnvisible->ReadOnly	= false;
	oUnvisible->NullText	= S"";
	//oUnvisible->Width		= 0;


	oTableStyle->GridColumnStyles->Add(oStockPlace);
	oTableStyle->GridColumnStyles->Add(oLot);
	oTableStyle->GridColumnStyles->Add(oPlanNum);
	oTableStyle->GridColumnStyles->Add(oExistNum);
	oTableStyle->GridColumnStyles->Add(oUnvisible);

	oTableStyle->GridColumnStyles->Add(oBaoliupin);

	dGridStockList->TableStyles->Add(oTableStyle);



}


//新加//
void FAP::StockList::IniGrid1(int intLang){
	DataGridTextBoxColumn *oStockPlace;
	DataGridTextBoxColumn *oLot;
	/*DataGridTextBoxColumn *oStockType;*/


	DataGridTableStyle *oTableStyle = new DataGridTableStyle();
	
	oTableStyle->MappingName	= S"StockList2";
	//PlaceName
	oStockPlace	                = new DataGridTextBoxColumn();
	oStockPlace->MappingName	= S"PlaceName";
	oStockPlace->HeaderText		= S"";
	oStockPlace->Alignment		= HorizontalAlignment::Center;
	oStockPlace->Width			= 270;
	oStockPlace->ReadOnly		= true;
	oStockPlace->NullText		=S"";

	//Lot
	oLot		            = new DataGridTextBoxColumn();
	oLot->MappingName		= S"Lot";
	oLot->HeaderText		= S"";
	oLot->Alignment			= HorizontalAlignment::Center;
	oLot->Width				= 203;
	oLot->ReadOnly			= true;
	oLot->NullText			=S"";
	
	//StockType
	////oStockType				= new DataGridTextBoxColumn();
	////oStockType->MappingName	= S"StockType";
	//////StockType->HeaderText	= S"";//infStockList->saExistNum[intLang];
	////oStockType->HeaderText	= S"";
	////oStockType->Alignment	= HorizontalAlignment::Center;
	////oStockType->Width		= 80;
	////oStockType->ReadOnly		= false;
	////oStockType->NullText		=S" ";

	


	oTableStyle->GridColumnStyles->Add(oStockPlace);
	oTableStyle->GridColumnStyles->Add(oLot);
	//oTableStyle->GridColumnStyles->Add(oStockType);

	dataGrid1->TableStyles->Add(oTableStyle);
}

//新加

void FAP::StockList::FillDBGrid1(){
	String *strSQL ;
	DataSet * dSetTmp ;
	DataTable *dTableTmp;
	DataView *dViewTmp;
	
	String *saLang[]= {S"C",S"J",S"E"};
	//

	strSQL = S"select distinct a.Name_";
	strSQL = String::Concat(strSQL,saLang[infStockList->intLang]);
	strSQL = String::Concat(strSQL,S" as PlaceName , b.lot as Lot,b.stock_qty as PlanNum,'' as ExistNum,b.stock_pos as Stock_Code from cost_mst a, stock_data b");
	strSQL = String::Concat(strSQL,S" where b.product_code = 'XXXXXXX",S"'");

	
		try
	{
		dSetTmp = dbStockList->dSetSQL_Select(strSQL,S"StockList2",0);

		dTableTmp = dSetTmp->Tables->Item[S"StockList2"];
	}

	catch (...) {

		return;
	}

	///begin 
///add a sum row to the end

	
	
	IEnumerator* tempRow = dTableTmp->Rows->GetEnumerator();
	tempRow->Reset();
		DataRow* sumRow=dTableTmp->NewRow();
		switch (infStockList->intLang)//0 is chinese,1 is jap ,2 is english
		{
			case 0: 
				sumRow->Item["PlaceName"]= S"合计"; 
				break;

⌨️ 快捷键说明

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