glbqf.cpp

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

CPP
169
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#include "GlbQF.h"
#include "GlkmQuery.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "StdBaseForm"
#pragma link "cspin"
#pragma link "CSPIN"
#pragma resource "*.dfm"

TfrmGlbQF *frmGlbQF;
//TfrmGlkmQuery *GlkmQueryfrm;
//---------------------------------------------------------------------------
__fastcall TfrmGlbQF::TfrmGlbQF(TComponent* Owner)
   : TStdBaseForm(Owner)
{
   m_CancelQuery=true;
   m_CurrencyCode="";
   FQtyAmtSign="0";
   g_sdRsGlkm=new TComResultSet(Handle,g_ClientHandle);
   g_sdRsGlkm->Open("select * from sdGlkm order by GlkmCode","GlkmCode");
}
//---------------------------------------------------------------------------
/*  modify 2003-03-04
__fastcall TfrmGlbQF::~TfrmGlbQF()
{

}
*/
//---------------------------------------------------------------------------
void __fastcall TfrmGlbQF::InitEditControl()
{
   TComResultSet *RsQuery;
   RsQuery=new  TComResultSet(Handle,g_ClientHandle);
   RsQuery->Open("select MinYear=Min(FcYear),MaxYear=Max(FcYear) from sdFc","");
   RsQuery->MoveFirst();
   while(!RsQuery->Eof)
   {
      CsFcYearF->MinValue=RsQuery->FieldByName("MinYear").ToInt();
      CsFcYearT->MinValue=RsQuery->FieldByName("MinYear").ToInt();
      CsFcYearF->MaxValue=RsQuery->FieldByName("MaxYear").ToInt();
      CsFcYearT->MaxValue=RsQuery->FieldByName("MaxYear").ToInt();
      CsFcYearF->Increment=1;
      CsFcYearT->Increment=1;
      RsQuery->MoveNext();
   }
   RsQuery->Close();
   delete RsQuery;
   FillComboBox(Handle,scGlbCurrency,"select CurrencyName,CurrencyCode from sdCurrency Order by CurrencyCode",
                "CurrencyName","CurrencyCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbQF::seGlbGlkmFButtonClick(TObject *Sender)
{
    if(OpenGlkmForm())
    {
       ((TSDEdit*)Sender)->Text=GetGlkmValue(gtOpenForm,"GLKMCODE");
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbQF::FormShow(TObject *Sender)
{
   int CurYear,CurMonth;
   InitEditControl();
   CurYear=g_sdFMonth.SubString(1,4).ToInt();
   CurMonth=g_sdFMonth.SubString(5,2).ToInt();
   seGlbGlkmF->Text="";
   seGlbGlkmT->Text="";
   cheGlbJD->Checked=false;
   CsFcYearF->Text=CurYear;
   CsFcYearT->Text=CurYear;
   CsMonthF->Text=CurMonth;
   CsMonthT->Text=CurMonth;
   scGlbCurrency->LocateKey(g_sdCurrencyCode);
   if(FQtyAmtSign=="1")
   {
     scGlbCurrency->Visible=false;
     lbGlbCurrency->Visible=false;
   }
   else
   { scGlbCurrency->Visible=true;
     lbGlbCurrency->Visible=true;
   }  
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbQF::GetSQLWhereString()
{
   AnsiString fFcFmonth,tFcFmonth;
   AnsiString CreatSQLFilStr="";

   if((Trim(CsMonthF->Text)).Length()==1)
      fFcFmonth=Trim(CsFcYearF->Text)+"0"+Trim(CsMonthF->Text);
   else
      fFcFmonth=Trim(CsFcYearF->Text)+Trim(CsMonthF->Text);
   if((Trim(CsMonthT->Text)).Length()==1)
      tFcFmonth=Trim(CsFcYearT->Text)+"0"+Trim(CsMonthT->Text);
   else
      tFcFmonth=Trim(CsFcYearT->Text)+Trim(CsMonthT->Text);

   if(tFcFmonth<fFcFmonth)
     throw Exception("结束的会计期间:'"+tFcFmonth+"'不能小于开始的会计期间:'"+fFcFmonth+"'");

   if(tFcFmonth==fFcFmonth)
      m_FmonthInfo="会计期间:'"+fFcFmonth+"'";
   else
      m_FmonthInfo="会计期间:'"+fFcFmonth+"'至:'"+tFcFmonth+"'";

   CreatSQLFilStr = "GlbFmonth>='" + fFcFmonth + "' and GlbFmonth<='" + tFcFmonth+ "' and ";
   CreatSQLFilStr += "GlbLevel<=" + Trim(CsLevel->Text) + " and ";

   if(Trim(seGlbGlkmF->Text) != "")
     CreatSQLFilStr += "GlbGlkm>='" + Trim(seGlbGlkmF->Text) + "' and ";

   if(Trim(seGlbGlkmT->Text) != "")
     CreatSQLFilStr += "GlbGlkm<='" + Trim(seGlbGlkmT->Text) + "' and ";

   if(FQtyAmtSign=="0")
   {
     if(Trim(scGlbCurrency->Text) != "")
     {
       CreatSQLFilStr += "GlbCurrency='" + Trim(scGlbCurrency->ItemData[1]) + "' and ";
       m_CurrencyInfo="币种:'"+Trim(scGlbCurrency->ItemData[0])+"'";
       m_CurrencyCode=Trim(scGlbCurrency->ItemData[1]);
     }
     else
     {
       m_CurrencyInfo="币种:'"+g_sdCurrencyName+"'";
       m_CurrencyCode=g_sdCurrencyCode;
     }
   }

   if(cheGlbJD->Checked)
     CreatSQLFilStr += "(GlbDopAmt >0 or GlbCopAmt >0) and ";

   if(CreatSQLFilStr.Length()>5)
     CreatSQLFilStr = CreatSQLFilStr.SubString(1,CreatSQLFilStr.Length()-5);
   else
     CreatSQLFilStr="";
   m_CreateSqlString=CreatSQLFilStr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbQF::bbtOKClick(TObject *Sender)
{
   GetSQLWhereString();
   m_CancelQuery=false;
   Close();
}
//---------------------------------------------------------------------------
/*   modify 2003-03-04
void __fastcall TfrmGlbQF::FormClose(TObject *Sender, TCloseAction &Action)
{
  if(g_sdRsGlkm) delete g_sdRsGlkm;
}
*/
//---------------------------------------------------------------------------
// add 2003-03-04
void __fastcall TfrmGlbQF::bbtCancelClick(TObject *Sender)
{
    m_CancelQuery = true;
    Close();    
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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