📄 stocklist.cpp
字号:
#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 + -