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

📄 bomlist.cpp

📁 科思ERP部分源码及控件
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "BomList.h"
#include "CBomList.h"
#include "WBomList.h"
#include "WhereForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "Line"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmBomList *frmBomList;
//---------------------------------------------------------------------------
__fastcall TfrmBomList::TfrmBomList(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
    : TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
{
        PWhereStr=WhereStr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::FillGridWithData()
{
    TComResultSet *RsQuery;
    AnsiString ItemStr,sSql;
    //获取查询语句
    sSql=GetQueryStr();
    if(sSql=="")
      return;
    gBomList->RowCount=1;
 //   RsQuery=NewResultSet();
    RsQuery=new TComResultSet(Handle,g_ClientHandle);
    RsQuery->Open(sSql,"");
    RsQuery->MoveFirst();
    while( RsQuery->Eof == 0)
    {
      ItemStr=AnsiString(RsQuery->FieldByName("BomListLevel"))+
           "\t"+AnsiString(RsQuery->FieldByName("BomListGoods"))+
           "\t"+AnsiString(RsQuery->FieldByName("GoodsName"))+
           "\t"+AnsiString(RsQuery->FieldByName("BomListFrom"))+
           "\t"+AnsiString(RsQuery->FieldByName("BomListUnit"))+
           "\t"+AnsiString(RsQuery->FieldByName("BomListQty"))+
           "\t"+AnsiString(RsQuery->FieldByName("BomListCQty"))+
           "\t"+AnsiString(RsQuery->FieldByName("BomListShl"))+
           "\t"+AnsiString(RsQuery->FieldByName("BomListGQty"))+
            "\t"+AnsiString(RsQuery->FieldByName("BomListProduct"));
       gBomList->AddItem(ItemStr);
       RsQuery->MoveNext();
    }
    RsQuery->Close();
    delete RsQuery;
}
//---------------------------------------------------------------------------
//获取查询语句
AnsiString __fastcall TfrmBomList::GetQueryStr()
{
    AnsiString Selectstr,Fromstr,Wherestr,Orderstr,sSQL;
    Selectstr="select "
          +AnsiString("BomListLevel, ")       //层次
          +AnsiString("BomListGoods, ")        //物料编号
          +AnsiString("GoodsName, ")        // 物料名称
          +AnsiString("BomListFrom, ")      //物料来源
          +AnsiString("BomListUnit, ")      //单位
          +AnsiString("BomListQty, ")      //消耗定额
          +AnsiString("BomListCQty, ")      //累计消耗
          +AnsiString("BomListShl, ")       //损耗率
          +AnsiString("BomListGQty, ")      //毛需求
          +AnsiString("BomListProduct");    //所属产品
    Fromstr=" from ksBomList,sdGoods ";
    if(FilterStr=="")
       Wherestr=" where ksBomList.BomListGoods = sdGoods.GoodsCode "+PWhereStr;
//       Wherestr=" sdBomd.BomdGoods = sdGoods.GoodsCode ";
    else
       Wherestr=" where ksBomList.BomListGoods = sdGoods.GoodsCode "+FilterStr+PWhereStr;
    Orderstr=" " ;//order by BomdPgoods desc,Bomdgoods desc ";
    sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
    return(sSQL);
}
//---------------------------------------------------------------------------

void __fastcall TfrmBomList::tbQueryClick(TObject *Sender)
{
    if(!ShowQueryWindow())
       return;
    try{
       StartWaitForm("正在查询,请稍候...");
       FillGridWithData();
    }
    __finally
    {
      EndWaitForm();
    }
}
//---------------------------------------------------------------------------
bool __fastcall TfrmBomList::ShowQueryWindow()
{
//    TfrmQuForm *FQuery=new TfrmQuForm(this,this->Name);
    TWhereStrForm *FQuery=new TWhereStrForm(this,comServer->DataSet,"");
    FQuery->ShowModal();
//    if(FQuery->CancelQuery)
    if(FQuery->ModalResult!=1)
       return false;
//    FilterStr=FQuery->CreateSqlString;
    FilterStr=FQuery->WhereStr;
    delete FQuery;
    return true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bCBomClick(TObject *Sender)
{
    TfrmCBomList *p;
    p=new TfrmCBomList(this);
    p->ShowModal();
    delete p;
}
//---------------------------------------------------------------------------

void __fastcall TfrmBomList::bWBomClick(TObject *Sender)
{
    TfrmWBomList *p;
    p=new TfrmWBomList(this);
    p->ShowModal();
    delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bPurchClick(TObject *Sender)
{
  FilterStr=" and BomListFrom=1";
  FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bManuClick(TObject *Sender)
{
  FilterStr=" and BomListFrom=2";
  FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bWprodClick(TObject *Sender)
{
  FilterStr=" and BomListFrom=3";
  FillGridWithData();
}
//---------------------------------------------------------------------------


void __fastcall TfrmBomList::FormShow(TObject *Sender)
{
  FillGridWithData();
}
//---------------------------------------------------------------------------



void __fastcall TfrmBomList::bAllgoodsClick(TObject *Sender)
{
  FilterStr=" ";
  FillGridWithData();
}
//---------------------------------------------------------------------------

void __fastcall TfrmBomList::muPreviousClick(TObject *Sender)
{
    if(gBomList->RowCount > 1 && gBomList->Row >1)
       gBomList->Row=gBomList->Row-1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::muNextClick(TObject *Sender)
{
    if(gBomList->RowCount > 1 && gBomList->Row < gBomList->RowCount-1)
       gBomList->Row=gBomList->Row+1;
}
//---------------------------------------------------------------------------

void __fastcall TfrmBomList::muFirstClick(TObject *Sender)
{
    if(gBomList->RowCount > 1)
       gBomList->Row=1;
}
//---------------------------------------------------------------------------

void __fastcall TfrmBomList::muLastClick(TObject *Sender)
{
    if(gBomList->RowCount > 1)
       gBomList->Row=gBomList->RowCount-1;
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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