📄 returnstock.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 + -