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

📄 returnstock.cpp

📁 这是一个工厂的生产线的仓库管理.有计划,实绩,库存等
💻 CPP
字号:
#include "StdAfx.h"
#include "ReturnStock.h"
#include "ReturnStockCheck.h"

using namespace FAP;

void ReturnStock::InitGrid(void)
{
	DataGridTextBoxColumn *oReturn;
	DataGridTextBoxColumn *oProductCode;
	DataGridTextBoxColumn *oPartsName;
	DataGridTextBoxColumn *oQty;
	DataGridTextBoxColumn *oD_YMD;
	DataGridTextBoxColumn *oS_YMD;
	DataGridTextBoxColumn *oS_LOT;


	oDataSet		= new DataSet();
	oTableStyle		= new DataGridTableStyle();
	oTableStyle->MappingName	= S"GridData";
	//Return Name
	oReturn			= new DataGridTextBoxColumn();
	oReturn->MappingName		= S"RETURN_NAME";
	oReturn->HeaderText			= String::Concat(S"      ",oInf->saG_Return[iLanguage]);
	oReturn->Alignment			= HorizontalAlignment::Left;
	oReturn->Width				= 150;
	//ProductCode
	oProductCode	= new DataGridTextBoxColumn();
	oProductCode->MappingName	= S"PRODUCT_CODE";
	oProductCode->HeaderText	= String::Concat(S"      ",oInf->saG_Code[iLanguage]);
	oProductCode->Alignment		= HorizontalAlignment::Left;
	oProductCode->Width			= 80;
	//PartsName
	oPartsName		= new DataGridTextBoxColumn();
	oPartsName->MappingName		= S"PARTS_NAME";
	oPartsName->HeaderText		= String::Concat(S"               ",oInf->saG_Name[iLanguage]);
	oPartsName->Alignment		= HorizontalAlignment::Left;
	oPartsName->Width			= 200;
	//RetrunQty
	oQty			= new DataGridTextBoxColumn();
	oQty->MappingName			= S"RETURN_QTY";
	oQty->HeaderText			= String::Concat(oInf->saG_QTY[iLanguage],S"   \0");
	oQty->Alignment				= HorizontalAlignment::Right;
	oQty->Width					= 100;
	//ReturnDate
	oD_YMD			= new DataGridTextBoxColumn();
	oD_YMD->MappingName			= S"RETURN_YMD";
	oD_YMD->HeaderText			= String::Concat(S"      ",oInf->saG_DeliYMD[iLanguage]);
	oD_YMD->Alignment			= HorizontalAlignment::Left;
	oD_YMD->Width				= 140;
	//Stock Date
	oS_YMD			= new DataGridTextBoxColumn();
	oS_YMD->MappingName			= S"STOCK_YMD";
	oS_YMD->HeaderText			= String::Concat(S"      ",oInf->saG_StocYMD[iLanguage]);
	oS_YMD->Alignment			= HorizontalAlignment::Left;
	oS_YMD->Width				= 140;

	oS_LOT			= new DataGridTextBoxColumn();
	oS_LOT->MappingName			= S"STOCK_LOT";
	oS_LOT->HeaderText			= String::Concat(S"      ",oInf->saG_Lot[iLanguage]);
	oS_LOT->Alignment			= HorizontalAlignment::Left;
	oS_LOT->Width				= 120;


	oTableStyle->GridColumnStyles->Add(oReturn);
	oTableStyle->GridColumnStyles->Add(oProductCode);
	oTableStyle->GridColumnStyles->Add(oPartsName);
	oTableStyle->GridColumnStyles->Add(oQty);
	oTableStyle->GridColumnStyles->Add(oD_YMD);
	oTableStyle->GridColumnStyles->Add(oS_YMD);
	oTableStyle->GridColumnStyles->Add(oS_LOT);
	dataGridReturn->TableStyles->Add(oTableStyle);
}

void ReturnStock::GetGridData(void)
{
	String* sSQL = S"";
	String* saLang[]   = {S"C", S"J", S"E"};
	DateTime dtNow;

	dtNow = DateTime::Now;

	sSQL = String::Concat(sSQL, S"select"																						);
	sSQL = String::Concat(sSQL, S"	RD.ORIGIN_CODE as RETURN_CD,"																);
	sSQL = String::Concat(sSQL, S"	CO.NAME_"           , saLang[iLanguage], S" as RETURN_NAME,"								);
	sSQL = String::Concat(sSQL, S"	RD.DESTINATION_CODE as DESTI_CD,"															);
	sSQL = String::Concat(sSQL, S"	CD.NAME_"           , saLang[iLanguage], S" as DESTI_NAME,"									);
	sSQL = String::Concat(sSQL, S"	RD.PRODUCT_CODE,"																			);
	sSQL = String::Concat(sSQL, S"	PM.PARTS_NAME_"     , saLang[iLanguage], S" as PARTS_NAME,"									);
	sSQL = String::Concat(sSQL, S"	to_char(RD.RETURN_YMD, 'yyyy/mm/dd hh24:mi') as RETURN_YMD,"								);
	sSQL = String::Concat(sSQL, S"	decode(RD.STOCK_YMD, NULL,' ', to_char(RD.STOCK_YMD, 'yyyy/mm/dd hh24:mi')) as STOCK_YMD,"	);
	sSQL = String::Concat(sSQL, S"	RD.RETURN_QTY,"																				);
	sSQL = String::Concat(sSQL, S"	RD.LOT as STOCK_LOT,"																				);
	sSQL = String::Concat(sSQL, S"	RD.RANK as RANK,"																			);
	sSQL = String::Concat(sSQL, S"	RD.STOCK_TYPE as STOCK_TYPE "																			);
	sSQL = String::Concat(sSQL, S"from"																							);
	sSQL = String::Concat(sSQL, S"	RETURN_DATA RD,"																			);
	sSQL = String::Concat(sSQL, S"	PARTS_MST PM,"																				);
	sSQL = String::Concat(sSQL, S"	COST_MST CO,"																				);
	sSQL = String::Concat(sSQL, S"	COST_MST CD "																				);
	sSQL = String::Concat(sSQL, S"where"																						);
	sSQL = String::Concat(sSQL, S"	RD.FACTORY_CODE = '", sFactory, S"' and"													);
	sSQL = String::Concat(sSQL, S"	RD.DESTINATION_CODE = '", sProcess, S"' and"												);
	sSQL = String::Concat(sSQL, S"	( to_char(RD.STOCK_YMD, 'yyyy/mm/dd') = '", dtNow.ToString(L"yyyy/MM/dd"), S"' or"			);
	sSQL = String::Concat(sSQL, S"	  RD.STOCK_YMD is null ) and"																);
	sSQL = String::Concat(sSQL, S"	RD.PRODUCT_CODE = PM.PRODUCT_CODE and"														);
	sSQL = String::Concat(sSQL, S"	RD.FACTORY_CODE = CO.FACTORY_CODE and"														);
	sSQL = String::Concat(sSQL, S"	RD.ORIGIN_CODE  = CO.PROCESS_NO and"														);
	sSQL = String::Concat(sSQL, S"	RD.FACTORY_CODE = CD.FACTORY_CODE and"														);
	sSQL = String::Concat(sSQL, S"	RD.DESTINATION_CODE = CD.PROCESS_NO "														);
	sSQL = String::Concat(sSQL, S"order by"																						);
	sSQL = String::Concat(sSQL, S"	RD.DESTINATION_CODE, RD.STOCK_YMD, RD.ORIGIN_CODE, RD.PRODUCT_CODE "						);

	oDataSet = oDB->dSetSQL_Select(sSQL, S"GridData", 0);
	oDataTable = oDataSet->Tables->Item["GridData"];
	dataGridReturn->DataSource = oDataTable;
}

void ReturnStock::DispReturnCheck(void)
{
	ReturnStockCheck* oReturnStockCheck;
	BindingManagerBase* oBM;
	DataRow* oDR;

	String*	sR_CD;
	String*	sR_Name;
	String*	sS_CD;
	String*	sS_Name;
	String*	sP_CD;
	String*	sP_Name;
	String*	sDeliver_ymd;
	Decimal*iD_QTY;
	Decimal*iStockType;
	String*	sRank;
	String * sP_LOT;

	oBM	= dataGridReturn->BindingContext->get_Item(oDataTable);
	oDR	= (dynamic_cast<DataRowView*>(oBM->Current))->Row;
	//Check Stocked
	if(String::Compare(oDR->get_Item(S"STOCK_YMD")->ToString(), " ") == 0){
		//GetParameter
		sR_CD		 = oDR->get_Item(S"RETURN_CD")->ToString();
		sR_Name		 = oDR->get_Item(S"RETURN_NAME")->ToString();
		sS_CD		 = oDR->get_Item(S"DESTI_CD")->ToString();
		sS_Name		 = oDR->get_Item(S"DESTI_NAME")->ToString();
		sP_CD		 = oDR->get_Item(S"PRODUCT_CODE")->ToString();
		sP_Name		 = oDR->get_Item(S"PARTS_NAME")->ToString();
		sDeliver_ymd = oDR->get_Item(S"RETURN_YMD")->ToString();
		iD_QTY		 = dynamic_cast<Decimal*>(oDR->get_Item(S"RETURN_QTY"));
		sRank		 = oDR->get_Item(S"RANK")->ToString();
		iStockType	 = dynamic_cast<Decimal*>(oDR->get_Item(S"STOCK_TYPE"));
		sP_LOT		 = oDR->get_Item(S"STOCK_LOT")->ToString();

		//Show Dialog
		oReturnStockCheck = new ReturnStockCheck(sR_CD, sR_Name, sS_CD, sS_Name, sP_CD, sP_Name, sDeliver_ymd, *iD_QTY, *iStockType, sRank, sFactory, cShift,sP_LOT);
		oReturnStockCheck->ShowDialog(this);
	} else {
		return;
	}
	//Grid Renew
	GetGridData();
	dataGridReturn->Refresh(); 
}

void ReturnStock::GetCostName(String* sGetProcess, String** sName)
{
	String* sSQL = S"";
	String* saLang[]   = {S"C", S"J", S"E"};

	sSQL = String::Concat(sSQL, S"select"																					);
	sSQL = String::Concat(sSQL, S"	NAME_", saLang[iLanguage], S" as PROCESS_NAME "											);
	sSQL = String::Concat(sSQL, S"from"																						);
	sSQL = String::Concat(sSQL, S"	COST_MST "																				);
	sSQL = String::Concat(sSQL, S"where"																					);
	sSQL = String::Concat(sSQL, S"	FACTORY_CODE = '", sFactory, S"' and"													);
	sSQL = String::Concat(sSQL, S"	PROCESS_NO = '", sGetProcess, S"' "														);

	oDataSet = oDB->dSetSQL_Select(sSQL, S"CostName", 0);
	oDataTable = oDataSet->Tables->Item["CostName"];
	*sName = oDataTable->Rows->get_Item(0)->get_Item(S"PROCESS_NAME")->ToString();
}

⌨️ 快捷键说明

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