📄 goods.cpp
字号:
WriteFieldValue(comServer,fiGoodsSubSupplyCode,
scGoodsSubSupplyCode->ItemData[1]);
if(scGoodsPlanType->ItemData[1] == "")
throw Exception("请选择计划方法");
WriteFieldValue(comServer,fiGoodsPlanType, scGoodsPlanType->ItemData[1]);
WriteFieldValue(comServer,fiGoodsWunit, scGoodsWunit->ItemData[1]);
WriteFieldValue(comServer,fiGoodsCunit, scGoodsCunit->ItemData[1]);
WriteFieldValue(comServer,fiGoodsRouteCode, scGoodsRouteCode->ItemData[1]);
WriteFieldValue(comServer,fiGoodsABC, scGoodsABC->Text);
WriteFieldValue(comServer,fiGoodsCurrencyCode, scGoodsCurrencyCode->ItemData[1]);
if(scGoodsCostFrom->ItemData[1] == "")
throw Exception("请选择成本来源");
WriteFieldValue(comServer,fiGoodsCostFrom, scGoodsCostFrom->ItemData[1]);
if(scGoodsCostType->ItemData[1] == "")
throw Exception("请选择成本类型");
WriteFieldValue(comServer,fiGoodsCostType, scGoodsCostType->ItemData[1]);
if(seGoodsMinQty->Text == "")
seGoodsMinQty->Text="0";
WriteFieldValue(comServer,fiGoodsMinQty, seGoodsMinQty->Text);
if(seGoodsGtqVal->Text == "")
seGoodsGtqVal->Text="0";
WriteFieldValue(comServer,fiGoodsGtqVal, seGoodsGtqVal->Text);
if(scGoodsState->ItemData[1] == "")
throw Exception("请选择货物属性");
WriteFieldValue(comServer,fiGoodsState, scGoodsState->ItemData[1]);
WriteFieldValue(comServer,fiGoodsColor, scGoodsColor->Text);
if(seGoodsSize->Text == "")
seGoodsSize->Text="0";
WriteFieldValue(comServer,fiGoodsSize, seGoodsSize->Text);
if(seGoodsRigidity->Text == "")
seGoodsRigidity->Text="0";
WriteFieldValue(comServer,fiGoodsRigidity, seGoodsRigidity->Text);
//低层码不设置
// if(seGoodsLlc->Text == "")
// seGoodsLlc->Text="0";
// WriteFieldValue(comServer,fiGoodsLlc, seGoodsLlc->Text);
if(scGoodsPpt->ItemData[1] == "")
throw Exception("请选择货物状态");
WriteFieldValue(comServer,fiGoodsPpt, scGoodsPpt->ItemData[1]);
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoods::WaitUserInput()
{
seGoodsCode->SetFocus();
if(scGoodsPpt->Enabled && scGoodsPpt->ItemIndex > 0)
btnGoodsPpt->Enabled=true;
else
btnGoodsPpt->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoods::RefreshGridData(int mAction)
{
AnsiString TempText;
TTreeNode *TempNode;
// 新增
if (mAction == 0)
{
if(tvGoods->Selected)
{
if (tvGoods->Selected->StateIndex == 1)
{
ShowMessage("当前选择的不是分类节点,不能进行增加操作.");
return;
}
TempText = "(" + GetFieldValue(fiGoodsCode)
+ ")" + GetFieldValue(fiGoodsName);
TempNode = tvGoods->Selected;
TempNode = tvGoods->Items->AddChild(TempNode,TempText);
TempNode->StateIndex = 1;
TempNode->Text = TempText;
}
}
// 修改
else if(mAction == 1)
{
if(tvGoods->Selected)
{
if (tvGoods->Selected->StateIndex == 0)
{
ShowMessage("当前选择的是分类节点,不能进行修改操作.");
return;
}
TempNode=tvGoods->Selected;
TempNode->StateIndex = 1;
TempNode->Text = "(" + GetFieldValue(fiGoodsCode) + ")" + GetFieldValue(fiGoodsName);
}
}
// 删除
else if(mAction == 2)
{
if (tvGoods->Selected->StateIndex == 0)
{
ShowMessage("当前选择的是分类节点,不能进行删除操作.");
return;
}
tvGoods->Items->Delete(tvGoods->Selected);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoods::FillTreeWithPmpc()
{
TTreeNode *TempNode[7];
int mLevel;
TComResultSet *RsPmpc=NewResultSet();
tvGoods->Items->Clear();
TempNode[0]=tvGoods->Items->Add(NULL,"所有的物料");
TempNode[0]->StateIndex = 0;
TempNode[0]->SelectedIndex = 0;
RsPmpc->Open("select PmpcCode,PmpcName,PmpcLevel,PmpcEnd from sdPmpc order by PmpcCode,PmPcLevel","");
RsPmpc->MoveFirst();
while( RsPmpc->Eof == 0 )
{
mLevel=RsPmpc->FieldByName("PmpcLevel").ToInt();
TempNode[mLevel] = tvGoods->Items->AddChild(TempNode[mLevel-1],"(" + RsPmpc->FieldByName("PmpcCode") + ")" +RsPmpc->FieldByName("PmpcName"));
if(RsPmpc->FieldByName("PmpcEnd")=="1")
{
TempNode[mLevel]->StateIndex = 2;
TempNode[mLevel]->SelectedIndex = 2;
}
else
{
TempNode[mLevel]->StateIndex = 0;
TempNode[mLevel]->SelectedIndex = 0;
}
TempNode[mLevel]->Text= "(" + RsPmpc->FieldByName("PmpcCode") + ")"+RsPmpc->FieldByName("PmpcName");
RsPmpc->MoveNext();
}
RsPmpc->Close();
TempNode[0]->Expand(false);
// if (tvGoods->Items->Count > 0)
// tvGoods->FullExpand();
delete RsPmpc;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoods::FillGridWithData()
{
FillTreeWithPmpc();
/*
TTreeNode *TempNode;
comServer->MoveFirst();
while (comServer->Eof == 0)
{
AnsiString s,m;
s = GetFieldValue(fiGoodsPmpcCode);
for(int i = 1 ; i < tvGoods->Items->Count ; i ++)
{
m = tvGoods->Items->Item[i]->Text;
m = m.SubString(2,m.AnsiPos(")")-2);
if(s == m)
{
TempNode = tvGoods->Items->Item[i];
break;
}
}
TempNode= tvGoods->Items->AddChild(TempNode,"(" + GetFieldValue(fiGoodsCode) + ")" +GetFieldValue(fiGoodsName));
TempNode->StateIndex = 1;
TempNode->SelectedIndex = 1;
TempNode->Text="(" + GetFieldValue(fiGoodsCode) + ")" + GetFieldValue(fiGoodsName);
comServer->MoveNext();
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoods::FillGoods(TTreeNode *SelectedPmpcNode)
{
AnsiString sSQL,sPmpcCode,ItemStr;
TComResultSet *RsGoods;
TTreeNode *TempNode;
if(SelectedPmpcNode==NULL)
return;
sPmpcCode = SelectedPmpcNode->Text;
sPmpcCode = sPmpcCode.SubString(2,sPmpcCode.AnsiPos(")")-2);
if(sPmpcCode=="")
return;
sSQL=" select goodscode,goodsname from sdgoods where goodspmpccode ='"
+sPmpcCode+"'";
try
{
StartWaitForm("正在执行查询...");
RsGoods=NewResultSet();
RsGoods->Open(sSQL,"");
while( RsGoods->Eof == 0)
{
ItemStr="("+RsGoods->FieldByName("GoodsCode")+
")"+RsGoods->FieldByName("GoodsName");
TempNode= tvGoods->Items->AddChild(SelectedPmpcNode,ItemStr);
TempNode->StateIndex = 1;
TempNode->SelectedIndex = 1;
TempNode->Text=ItemStr;
RsGoods->MoveNext();
}
}
__finally
{
EndWaitForm();
}
SelectedPmpcNode->Expand(false);
SelectedPmpcNode->StateIndex=3;
SelectedPmpcNode->SelectedIndex=3;
delete RsGoods;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoods::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false,Panel1,Panel1->Name);
ClientGroup->AddComponent(2,false,false,true,fpBase,fpBase->Name);
ClientGroup->AddComponent(2,true,false,true,scGoodsPpt,scGoodsPpt->Name);
ClientGroup->AddComponent(2,false,true,true,scGoodsUnitCode,scGoodsUnitCode->Name);
ClientGroup->AddComponent(2,true,true,true,ChkGoodsMunit,ChkGoodsMunit->Name);
ClientGroup->AddComponent(2,true,true,false,btnAidUnit,btnAidUnit->Name);
ClientGroup->AddComponent(2,false,true,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,false,false,true,FloatPanel2,FloatPanel2->Name);
ClientGroup->AddComponent(2,false,true,true,FloatPanel3,FloatPanel3->Name);
ClientGroup->AddComponent(2,true,true,true,scGoodsCurrencyCode,scGoodsCurrencyCode->Name);
FillComboBox(scGoodsUnitCode,"select unitname memo,unitcode from sdunit order by unitcode","memo","unitcode");
FillComboBox(scGoodsPreSupplyCode,"select supplyname memo,supplycode from sdsupply where supplycancel=0 order by supplycode","memo","SupplyCode");
FillComboBox(scGoodsSubSupplyCode,"select supplyname memo,supplycode from sdsupply where supplycancel=0 order by supplycode","memo","SupplyCode");
FillComboBox(scGoodsRouteCode,"select routehname memo,routehcode from sdrouteh order by routehcode","memo","RoutehCode");
FillComboBox(scGoodsWunit,"select unitname memo,unitcode from sdunit order by unitcode","memo","unitcode");
FillComboBox(scGoodsCunit,"select unitname memo,unitcode from sdunit order by unitcode","memo","unitcode");
FillComboBox(scGoodsCurrencyCode,"select currencyname memo,currencycode from sdcurrency order by currencycode","memo","CurrencyCode");
FillComboBox(scGoodsLocCode,"select locname memo,loccode from sdloc order by loccode","memo","LocCode");
scGoodsState->ClearAll();
scGoodsState->AddItems("1-正在设计","1");
scGoodsState->AddItems("2-正在使用","2");
scGoodsState->AddItems("3-正在淘汰","3");
scGoodsState->AddItems("4-正在废弃","4");
scGoodsFrom->ClearAll();
scGoodsFrom->AddItems("1-采购","1");
scGoodsFrom->AddItems("2-制造","2");
scGoodsPlanType->ClearAll();
scGoodsPlanType->AddItems("1-MRP","1");
scGoodsPlanType->AddItems("2-MPS","2");
scGoodsPlanType->AddItems("3-订货点","3");
scGoodsPlanType->AddItems("4-预测","4");
scGoodsPlanType->AddItems("5-成套件","5");
scGoodsPlanType->AddItems("6-自定义","6");
scGoodsCostFrom->ClearAll();
scGoodsCostFrom->AddItems("1-采购","1");
scGoodsCostFrom->AddItems("2-制造","2");
scGoodsCostFrom->AddItems("3-在制","3");
scGoodsCostType->ClearAll();
scGoodsCostType->AddItems("1-移动平均","1");
scGoodsCostType->AddItems("2-标准成本","2");
scGoodsCostType->AddItems("3-加权平均","3");
scGoodsCostType->AddItems("4-先进先出","4");
scGoodsCostType->AddItems("5-后进先出","5");
scGoodsCostType->AddItems("6-个别计价","6");
scGoodsPpt->ClearAll();
switch(g_sdGoodsPpt)
{
case 0:
scGoodsPpt->AddItems("0-不需状态管理","0");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -