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

📄 goods.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
        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 + -