glbqtyamt.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 261 行

CPP
261
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#include "GlbQtyAmt.h"
#include "GlbmQtyAmt.h"
#include "GlbQF.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"

TfrmGlbQtyAmt *frmGlbQtyAmt;
TfrmGlbmQtyAmt *GlbmQtyAmtfrm;
TfrmGlbQF *frmGlbQtyAmtF;
//---------------------------------------------------------------------------
__fastcall TfrmGlbQtyAmt::TfrmGlbQtyAmt(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
   : TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
{
   InitGridControl();
   labMemory->Caption="";
   QueryGrid=sgQtyAmt;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::InitGridControl()
{
    sgQtyAmt->Cells[0][0]="科目代码"; sgQtyAmt->Cells[0][1]="科目代码";
    sgQtyAmt->Cells[1][0]="科目名称"; sgQtyAmt->Cells[1][1]="科目名称";
    sgQtyAmt->Cells[2][0]="期间"; sgQtyAmt->Cells[2][1]="期间";
    sgQtyAmt->Cells[3][0]="单位"; sgQtyAmt->Cells[3][1]="单位";

    sgQtyAmt->Cells[4][0]="期初结存"; sgQtyAmt->Cells[4][1]="数量";
    sgQtyAmt->Cells[5][0]="期初结存"; sgQtyAmt->Cells[5][1]="金额";

    sgQtyAmt->Cells[6][0]="本期收入"; sgQtyAmt->Cells[6][1]="数量";
    sgQtyAmt->Cells[7][0]="本期收入"; sgQtyAmt->Cells[7][1]="金额";

    sgQtyAmt->Cells[8][0]="本期发出"; sgQtyAmt->Cells[8][1]="数量";
    sgQtyAmt->Cells[9][0]="本期发出"; sgQtyAmt->Cells[9][1]="金额";

    sgQtyAmt->Cells[10][0]="本年累计收入"; sgQtyAmt->Cells[10][1]="数量";
    sgQtyAmt->Cells[11][0]="本年累计收入"; sgQtyAmt->Cells[11][1]="金额";

    sgQtyAmt->Cells[12][0]="本年累计发出"; sgQtyAmt->Cells[12][1]="数量";
    sgQtyAmt->Cells[13][0]="本年累计发出"; sgQtyAmt->Cells[13][1]="金额";

    sgQtyAmt->Cells[14][0]="期末结存"; sgQtyAmt->Cells[14][1]="数量";
    sgQtyAmt->Cells[15][0]="期末结存"; sgQtyAmt->Cells[15][1]="金额";
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::tbQueryClick(TObject *Sender)
{
   if(!ShowQueryWindow())
     return;
   try{
     StartWaitForm("正在查询,请稍候...");
     labMemory->Caption="--"+FGfcmonthInfo;
     FillGridWithData();
   }
   __finally
   {
     EndWaitForm();
   }
}
//---------------------------------------------------------------------------

bool __fastcall TfrmGlbQtyAmt::ShowQueryWindow()
{
   frmGlbQtyAmtF=new TfrmGlbQF(this);
   frmGlbQtyAmtF->Caption="数量金额总帐查询过滤";
   frmGlbQtyAmtF->FQtyAmtSign="1";
   frmGlbQtyAmtF->ShowModal();
   if(frmGlbQtyAmtF->CancelQuery)
   {
     delete frmGlbQtyAmtF;
     return false;
   }
   FilterStr=frmGlbQtyAmtF->CreateSqlString;
   FGfcmonthInfo=frmGlbQtyAmtF->FmonthInfo;
   delete frmGlbQtyAmtF;
   return true;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::ClearControl(bool BringToNext)
{
   return;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::GetDataFromComObject()
{
   return;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::WaitUserInput()
{
   return;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::RefreshGridData(int mAction)
{
   return;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::DisplayBill()
{
   return;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::GetBill(AnsiString BillID)
{
   return;
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmGlbQtyAmt::GetHeadQueryStr()
{
    AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
    Selectstr="select GlbFmonth,UnitName=isnull((select UnitName from sdUnit where UnitCode=GlbUnit),''),GlbGlkm,GlkmName,GlbLevel,GlbDir,GlbBopQty,GlbBopAmt,GlbDopQty,";
    Selectstr+="GlbDopAmt,GlbCopQty,GlbCopAmt,GlbBoyQty,GlbBoyAmt,GlbDoyQty,GlbDoyAmt,GlbCoyQty,GlbCoyAmt";
    Fromstr=" from sdGlb,sdGlkm";
    if(FilterStr=="")
       Wherestr=" where GlbGlkm=GlkmCode ";
    else
       Wherestr=" where GlbGlkm=GlkmCode and GlkmSl=1 and "+FilterStr;
    Orderstr=" order by GlbFmonth,GlbGlkm";
    sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
    return(sSQL);
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmGlbQtyAmt::GetSpace(int iNum)
{
    AnsiString strSpace;
    for(int i=1;i<iNum;i++)
      strSpace=strSpace+AnsiString(" ");
    return strSpace;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::FillGridWithData()
{
    TComResultSet *RsQuery;
    AnsiString ItemStr,sSql;
    double m_Qty=0;
    double m_Amt=0;
    sSql=GetHeadQueryStr();  //取Head查询的SQL语句
    if(sSql=="")
      return;
    sgQtyAmt->RowCount=2;
    RecentBillCode="";
    RsQuery=new  TComResultSet(Handle,g_ClientHandle);
    RsQuery->Open(sSql,"");
    RsQuery->MoveFirst();
    ItemStr="";


    while(RsQuery->Eof == 0)
    {
      m_Amt=RsQuery->FieldByName("GlbBopAmt").ToDouble()+RsQuery->FieldByName("GlbDopAmt").ToDouble()
           -RsQuery->FieldByName("GlbCopAmt").ToDouble();
      m_Qty=RsQuery->FieldByName("GlbBopQty").ToDouble()+RsQuery->FieldByName("GlbDopQty").ToDouble()
           -RsQuery->FieldByName("GlbCopQty").ToDouble();
      ItemStr=GetSpace(RsQuery->FieldByName("GlbLevel").ToInt())+RsQuery->FieldByName("GlbGlkm")+"\t"+
              GetSpace(RsQuery->FieldByName("GlbLevel").ToInt())+RsQuery->FieldByName("GlkmName")+"\t"+
              RsQuery->FieldByName("GlbFmonth")+"\t"+RsQuery->FieldByName("UnitName")+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbBopQty").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbBopAmt").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbDopQty").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbDopAmt").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbCopQty").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbCopAmt").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbDoyQty").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbDoyAmt").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbCoyQty").ToDouble())+"\t"+
              FormatFloat("#,##0.00",RsQuery->FieldByName("GlbCoyAmt").ToDouble())+"\t"+
              FormatFloat("#,##0.00",m_Qty)+"\t"+
              FormatFloat("#,##0.00",m_Amt);

      sgQtyAmt->AddItem(ItemStr);
      RsQuery->MoveNext();
    }
    RsQuery->Close();
    delete RsQuery;
}
//---------------------------------------------------------------------------

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

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

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

void __fastcall TfrmGlbQtyAmt::muPreviousClick(TObject *Sender)
{
    if(sgQtyAmt->RowCount > 1 && sgQtyAmt->Row > 1)
      sgQtyAmt->Row=sgQtyAmt->Row-1;
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::tbRefreshClick(TObject *Sender)
{
    if(sSQL=="")
      return;
    FillGridWithData();
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::sgQtyAmtDblClick(TObject *Sender)
{
    int iRow;
    iRow=sgQtyAmt->Row;
    if(sgQtyAmt->Cells[0][iRow]!="" && sgQtyAmt->Cells[2][iRow]!="")
    {
      try
      {
        GlbmQtyAmtfrm=new TfrmGlbmQtyAmt(this);
        GlbmQtyAmtfrm->FQtyAmtGlkm=Trim(sgQtyAmt->Cells[0][iRow]);
        GlbmQtyAmtfrm->FQtyAmtFmonth=Trim(sgQtyAmt->Cells[2][iRow]);
        GlbmQtyAmtfrm->FMfcmonthInfo=FGfcmonthInfo;
        GlbmQtyAmtfrm->FGlbQtyAmtSign=1;
        GlbmQtyAmtfrm->ShowModal();
      }
      __finally
      {
        delete GlbmQtyAmtfrm;
      }
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmGlbQtyAmt::FormShow(TObject *Sender)
{
    tbQueryClick(this);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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