vw_bdl.cpp

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

CPP
209
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "VW_Bdl.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmVW_Bdl *frmVW_Bdl;
//---------------------------------------------------------------------------
__fastcall TfrmVW_Bdl::TfrmVW_Bdl(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
{
 FilterStr="";
 sSQL="";
 LateBillCode="";
 sgBdl->RowCount=1;
}
//---------------------------------------------------------------------------
__fastcall TfrmVW_Bdl::TfrmVW_Bdl(TComponent* Owner, AnsiString wherestr)
        : TQueryBaseForm(Owner)
{
 FilterStr="";
 sSQL="";
 LateBillCode="";
 sgBdl->RowCount=1;

 tbControl->Enabled=false;
 TBorderIcons tempBI = BorderIcons;
 tempBI >> biMinimize;
 BorderIcons = tempBI;
 FilterStr=wherestr;
 FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::tbQueryClick(TObject *Sender)
{
  //if(!ShowQueryWindow())
   // return;
  try{
    StartWaitForm("正在查询,请稍候...");
    FillGridWithData();
  }
  __finally
  {
    EndWaitForm();
  }
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::ClearControl(bool BringToNext)
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::GetDataFromComObject()
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::WaitUserInput()
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::RefreshGridData(int mAction)
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::DisplayBill()
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::GetBill(AnsiString BillID)
{
 return;
}
//---------------------------------------------------------------------------
//获取查询语句
AnsiString __fastcall TfrmVW_Bdl::GetQueryStr()
{
 AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
 Selectstr="select  "
          +AnsiString("BdlCode, ")             //坏账损失登计单号
          +AnsiString("BdlFmonth, ")           //月份
          +AnsiString("BdlDate, ")             //日期
          +AnsiString("BdrDesc, ")              //损失原因
          +AnsiString("BdlDocType, ")          //单据类型
          +AnsiString("BdlDocCode, ")          //单据号
          +AnsiString("BdlDocLine, ")          //单据行号
          +AnsiString("BdlAmt, ")              //应收金额
          +AnsiString("CurrencyName, ")         //币种
          +AnsiString("BdlEnrate, ")           //汇率
          +AnsiString("BdlGAmt, ")             //收回金额
          +AnsiString("BdlBAmt, ")             //坏帐金额
          +AnsiString("BdlDesc, ")             //备注
          +AnsiString("BdlUser, ")             //操作员
          +AnsiString("BdlCheck, ")            //审核标志
          +AnsiString("BdlChecker, ")          //审核人
          +AnsiString("BdlCheckDate ");        //审核日期
 Fromstr=" from SDVW_Bdl ";
 if(FilterStr=="")
  Wherestr="";
 else
  Wherestr=" where "+FilterStr;
 Orderstr=" order by BdlFmonth desc,BdlCode ";
 sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
 return(sSQL);
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::FillGridWithData()
{
 TComResultSet *RsQuery;
 AnsiString ItemStr,sSql;
 //获取查询语句
 sSql=GetQueryStr();
 if(sSql=="")
  return;
 sgBdl->RowCount=1;
 LateBillCode="";
 RsQuery=new  TComResultSet(Handle,g_ClientHandle);
 RsQuery->Open(sSql,"");
 RsQuery->MoveFirst();
 while( RsQuery->Eof == 0)
 {
  ItemStr=     RsQuery->FieldByName("BdlFmonth")+
          "\t"+RsQuery->FieldByName("BdlCode")+
          "\t"+RsQuery->FieldByName("BdlDate")+
          "\t"+RsQuery->FieldByName("BdrDesc")+
          "\t"+DataConvert("DocType",RsQuery->FieldByName("BdlDocType"))+
          "\t"+RsQuery->FieldByName("BdlDocCode")+
          "\t"+RsQuery->FieldByName("BdlDocLine")+
          "\t"+RsQuery->FieldByName("CurrencyName")+
          "\t"+RsQuery->FieldByName("BdlEnrate")+
          "\t"+RsQuery->FieldByName("BdlAmt")+
          "\t"+RsQuery->FieldByName("BdlBAmt")+
          "\t"+RsQuery->FieldByName("BdlGAmt")+
          "\t"+(RsQuery->FieldByName("BdlCheck")=="1"?"√":"")+
          "\t"+RsQuery->FieldByName("BdlChecker")+
          "\t"+RsQuery->FieldByName("BdlCheckDate")+
          "\t"+RsQuery->FieldByName("BdlUser")+
          "\t"+RsQuery->FieldByName("BdlDesc");
  sgBdl->AddItem(ItemStr);
  RsQuery->MoveNext();
 }
 RsQuery->Close();
 delete RsQuery;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmVW_Bdl::DataConvert(AnsiString sFieldName,AnsiString sFieldValue)
{
 sFieldName=UpperCase(sFieldName);
 if(sFieldName == "DOCTYPE")
 {
  if(sFieldValue == "1")
   return("应收发票");
  if(sFieldValue == "2")
   return("应收单");
 }
 return("");
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::muFirstClick(TObject *Sender)
{
 if(sgBdl->RowCount > 1)
 {
  sgBdl->Row=1;
 }

}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::tbPreviousClick(TObject *Sender)
{
 if(sgBdl->RowCount > 1 && sgBdl->Row > 1)
 {
  sgBdl->Row=sgBdl->Row-1;
 }
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::muNextClick(TObject *Sender)
{
 if(sgBdl->RowCount > 1 && sgBdl->Row < sgBdl->RowCount-1)
 {
  sgBdl->Row=sgBdl->Row+1;
 }
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::muLastClick(TObject *Sender)
{
 if(sgBdl->RowCount > 1)
 {
  sgBdl->Row=sgBdl->RowCount-1;
 }
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Bdl::tbRefreshClick(TObject *Sender)
{
 if(sSQL=="")
  return;
 FillGridWithData();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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