glb.cpp

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

CPP
468
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Glb.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"

TfrmGlb *frmGlb;
//---------------------------------------------------------------------------
__fastcall TfrmGlb::TfrmGlb(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
    m_Balance="";
    m_GlbBegined="N";
    m_GlbInitialize="N";
    sgGlb->RowCount = 1;
    IsUserGernerate=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::ClearControl(bool BringToNext)
{
    //AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetDataFromComObject()
{
    //AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::SendDataToComObject()
{
    //AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::WaitUserInput()
{
    //AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::RefreshGridData(int mAction)
{
    //AddCode
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::FillGridWithData()
{
    AnsiString strSQL,ItemStr;
    strSQL="select GlbGlkm,GlkmName,GlbMx,GlbDir,CurrencyName=isnull(CurrencyName,''),UnitName=isnull(UnitName,''),";
    strSQL=strSQL+"GlbBopQty,GlbBopAmt,GlbBopWbAmt,GlbBoyQty,GlbBoyAmt,GlbBoyWbAmt,GlbLevel ";
    strSQL=strSQL+"from sdGlb,sdGlkm,sdCurrency,sdUnit ";
    strSQL=strSQL+"where GlbGlkm=GlkmCode and GlbCurrency*=CurrencyCode and GlbUnit*=UnitCode ";
    strSQL=strSQL+"order by GlbGlkm";
    TComResultSet *RsGlb=new  TComResultSet(Handle,g_ClientHandle);
    RsGlb->Open(strSQL,"GlbGlkm");
    sgGlb->RowCount=1;
    RsGlb->MoveFirst();
    while(!RsGlb->Eof)
    {
       AnsiString vSpace;
       vSpace=GetSpace(RsGlb->FieldByName("GlbLevel").ToInt());
       ItemStr=vSpace+RsGlb->FieldByName("GlbGlkm")+
               "\t"+vSpace+RsGlb->FieldByName("GlkmName")+
               "\t"+RsGlb->FieldByName("GlbMx")+
               "\t"+(RsGlb->FieldByName("GlbDir")=="1" ? "借":"贷")+
               "\t"+RsGlb->FieldByName("CurrencyName")+
               "\t"+RsGlb->FieldByName("UnitName")+
               "\t"+RsGlb->FieldByName("GlbBopQty")+
               "\t"+RsGlb->FieldByName("GlbBopAmt")+
               "\t"+RsGlb->FieldByName("GlbBopWbAmt")+
               "\t"+RsGlb->FieldByName("GlbBoyQty")+
               "\t"+RsGlb->FieldByName("GlbBoyAmt")+
               "\t"+RsGlb->FieldByName("GlbBoyWbAmt");
       sgGlb->AddItem(ItemStr);
       RsGlb->MoveNext();
    }
    RsGlb->Close();
    delete RsGlb;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmGlb::GetSpace(int iNum)
{
    AnsiString strSpace;
    for(int i=1;i<iNum;i++)
      strSpace=strSpace+AnsiString(" ");
    return strSpace;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::FillGridWithGlKm()
{
    AnsiString strSQL,ItemStr;
    TComResultSet *RsGlkm;
    strSQL="select GlkmCode,GlkmName,GlkmMx,GlkmDir,CurrencyName=isnull(CurrencyName,''),UnitName=isnull(UnitName,''),";
    strSQL=strSQL+"GlkmMx,GlkmSl,GlkmWb,GlkmLevel ";
    strSQL=strSQL+"from sdGlkm,sdCurrency,sdUnit ";
    strSQL=strSQL+"where GlkmCurrency*=CurrencyCode and GlkmUnit*=UnitCode ";
    strSQL=strSQL+"order by GlkmCode";
    RsGlkm=new  TComResultSet(Handle,g_ClientHandle);
    RsGlkm->Open(strSQL,"GlkmCode");
    sgGlb->RowCount=1;
    RsGlkm->MoveFirst();
    while(!RsGlkm->Eof)
    {
       AnsiString tSpace;
       tSpace=GetSpace(RsGlkm->FieldByName("GlkmLevel").ToInt());
       ItemStr=tSpace+RsGlkm->FieldByName("GlkmCode")+
               "\t"+tSpace+RsGlkm->FieldByName("GlkmName")+
               "\t"+RsGlkm->FieldByName("GlkmMx")+
               "\t"+(RsGlkm->FieldByName("GlkmDir")=="1" ? "借":"贷")+
               "\t"+RsGlkm->FieldByName("CurrencyName")+
               "\t"+RsGlkm->FieldByName("UnitName")+
               "\t"+"0"+
               "\t"+"0"+
               "\t"+"0"+
               "\t"+"0"+
               "\t"+"0"+
               "\t"+"0";
       sgGlb->AddItem(ItemStr);
       RsGlkm->MoveNext();
    }
    RsGlkm->Close();
    delete RsGlkm;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetParamValueWithGlbBegined()
{
    AnsiString  strSQL;
    TComResultSet *RsParamGlbBegined=new  TComResultSet(Handle,g_ClientHandle);
    strSQL="select ParameterValue from sdParameter where ParameterCode='10702'";
    RsParamGlbBegined->Open(strSQL,"");
    RsParamGlbBegined->MoveFirst();
    if(!RsParamGlbBegined->Eof)
      m_GlbBegined=RsParamGlbBegined->FieldByName("ParameterValue");
    else
      throw Exception("财务总帐已启用的标志参数被破坏");
    RsParamGlbBegined->Close();
    delete RsParamGlbBegined;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetParamValueWithGlbInitialize()
{
    AnsiString  strSQL;
    TComResultSet *RsParamGlbInitialize=new  TComResultSet(Handle,g_ClientHandle);
    strSQL="select ParameterValue from sdParameter where ParameterCode='10704'";
    RsParamGlbInitialize->Open(strSQL,"");
    RsParamGlbInitialize->MoveFirst();
    if(!RsParamGlbInitialize->Eof)
      m_GlbInitialize=RsParamGlbInitialize->FieldByName("ParameterValue");
    else
      throw Exception("财务总帐初始化的标志参数被破坏");
    RsParamGlbInitialize->Close();
    delete RsParamGlbInitialize;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::InitEditControl()
{
   ClientGroup->AddComponent(2,false,false,false,sgGlb,sgGlb->Name);
   labpJfAmtCount->Caption="0.00";
   labpDfAmtCount->Caption="0.00";
   labyJfAmtCount->Caption="0.00";
   labyDfAmtCount->Caption="0.00";
   sgGlb->RowCount=2;
   sgGlb->ReadOnly=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::FormShow(TObject *Sender)
{
    InitEditControl();
    GetParamValueWithGlbBegined();
    GetParamValueWithGlbInitialize();
    if(m_GlbBegined=="Y")
    {
       tbAddHead->Visible=false;
       tbEditHead->Visible=false;
       tbDeleteHead->Visible=false;
       tbCancel->Visible=false;
       tbGenrate->Enabled=false;
       tbCheck->Enabled=false;
       tbClose->Enabled=false;
       FillGridWithData();
       GetPBJfAmtCount();
       GetPBDfAmtCount();
       GetYBJfAmtCount();
       GetYBDfAmtCount();
    }
    else
    {
       if(m_GlbInitialize=="Y")
       {
         tbAddHead->Visible=false;
         tbDeleteHead->Visible=false;
         FillGridWithData();
         GetPBJfAmtCount();
         GetPBDfAmtCount();
         GetYBJfAmtCount();
         GetYBDfAmtCount();
       }
       else
       {
         tbGenrate->Visible=false;
         tbCheck->Visible=false;
         tbEditHead->Visible=false;
         FillGridWithGlKm();
       }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetPBJfAmtCount()
{
    double pJfAmt=0;
    for(int i=1;i<sgGlb->RowCount;i++)
    {
      if(sgGlb->Cells[2][i]=="1" && sgGlb->Cells[3][i]=="借")
        pJfAmt=pJfAmt+sgGlb->Cells[7][i].ToDouble();
    }
    labpJfAmtCount->Caption=FormatFloat("#,##0.00",pJfAmt);
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb::GetPBDfAmtCount()
{
    double pDfAmt=0;
    for(int i=1;i<sgGlb->RowCount;i++)
    {
      if(sgGlb->Cells[2][i]=="1" && sgGlb->Cells[3][i]=="贷")
        pDfAmt=pDfAmt+sgGlb->Cells[7][i].ToDouble();
    }
    labpDfAmtCount->Caption=FormatFloat("#,##0.00",pDfAmt);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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