vw_arsl.cpp

来自「科思ERP部分源码及控件」· C++ 代码 · 共 253 行

CPP
253
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "VW_Arsl.h"
#include "VW_Arivh.h"
#include "VW_Arob.h"
#include "VW_Arrb.h"
#include "VW_PreRb.h"
#include "VW_Arnr.h"
#include "VW_Refund.h"
#include "VW_Bdl.h"
#include "VW_Bdrg.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmVW_Arsl *frmVW_Arsl;
//---------------------------------------------------------------------------
__fastcall TfrmVW_Arsl::TfrmVW_Arsl(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
{
 FilterStr="";
 sSQL="";
 LateBillCode="";
 sgArsl->RowCount=1;
 QueryGrid=sgArsl;
}
//---------------------------------------------------------------------------
__fastcall TfrmVW_Arsl::TfrmVW_Arsl(TComponent* Owner, AnsiString wherestr)
        : TQueryBaseForm(Owner)
{
 FilterStr="";
 sSQL="";
 LateBillCode="";
 sgArsl->RowCount=1;
 QueryGrid=sgArsl;

 tbControl->Enabled=false;
 TBorderIcons tempBI = BorderIcons;
 tempBI >> biMinimize;
 BorderIcons = tempBI;
 FilterStr=wherestr;
 FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::tbQueryClick(TObject *Sender)
{
 // if(!ShowQueryWindow())
 //   return;
  try{
    StartWaitForm("正在查询,请稍候...");
    FillGridWithData();
  }
  __finally
  {
    EndWaitForm();
  }
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::ClearControl(bool BringToNext)
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::GetDataFromComObject()
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::WaitUserInput()
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::RefreshGridData(int mAction)
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::DisplayBill()
{
 return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::GetBill(AnsiString BillID)
{
 return;
}
//---------------------------------------------------------------------------
//获取查询语句
AnsiString __fastcall TfrmVW_Arsl::GetQueryStr()
{
 AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
 Selectstr="select  "
          +AnsiString("ArslFmonth, ")          //月份
          +AnsiString("ArslClient, ")          //客户
          +AnsiString("TypeName, ")         //单据类型
          +AnsiString("ArslDocCode, ")         //单据号
          +AnsiString("ArslAmt, ")             //金额
          +AnsiString("DirName, ")             //方向
          +AnsiString("ArslDate, ")            //日期
          +AnsiString("ArslCurrency, ")        //币种
          +AnsiString("ArslEnrate ");          //汇率
 Fromstr=" from SDVW_Arsl ";
 if(FilterStr=="")
  Wherestr="";
 else
  Wherestr=" where "+FilterStr;
 Orderstr=" order by ArslFmonth desc,ArslClient,ArslCurrency ";
 sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
 return(sSQL);
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::FillGridWithData()
{
 TComResultSet *RsQuery;
 AnsiString ItemStr,sSql;
 //获取查询语句
 sSql=GetQueryStr();
 if(sSql=="")
  return;
 sgArsl->RowCount=1;
 LateBillCode="";
 RsQuery=new  TComResultSet(Handle,g_ClientHandle);
 RsQuery->Open(sSql,"");
 RsQuery->MoveFirst();
 while( RsQuery->Eof == 0)
 {
  ItemStr=     RsQuery->FieldByName("ArslFmonth")+
          "\t"+RsQuery->FieldByName("ArslClient")+
          "\t"+RsQuery->FieldByName("ArslCurrency")+
          "\t"+RsQuery->FieldByName("ArslEnrate")+
          "\t"+RsQuery->FieldByName("TypeName")+
          "\t"+RsQuery->FieldByName("ArslDocCode")+
          "\t"+RsQuery->FieldByName("DirName")+
          "\t"+RsQuery->FieldByName("ArslAmt")+
          "\t"+RsQuery->FieldByName("ArslDate");
  sgArsl->AddItem(ItemStr);
  RsQuery->MoveNext();
 }
 RsQuery->Close();
 delete RsQuery;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmVW_Arsl::DataConvert(AnsiString sFieldName,AnsiString sFieldValue)
{
 sFieldName=UpperCase(sFieldName);
 return("");
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Arsl::muFirstClick(TObject *Sender)
{
 if(sgArsl->RowCount > 1)
 {
  sgArsl->Row=1;
 }

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

void __fastcall TfrmVW_Arsl::sgArslDblClick(TObject *Sender)
{
 int ARow;
 AnsiString stmp,sType,sCode;
 TForm *p;
 ARow=sgArsl->Row;
 if(ARow < 1)
  return;
 try
 {
    StartWaitForm("正在启动单据查询,请稍候...");
    sType=sgArsl->Cells[4][ARow];  //单据类型
    sCode=sgArsl->Cells[5][ARow];  //单据号
    if(sType == "发票")
    {
     stmp=" ArivhCode='"+sCode+"' ";
     (TfrmVW_Arivh *)p=new TfrmVW_Arivh(this,stmp);
    }else if(sType == "应收单")
    {
     stmp=" ArobCode='"+sCode+"' ";
     (TfrmVW_Arob *)p=new TfrmVW_Arob(this,stmp);
    }else if(sType == "收款单")
    {
     stmp=" ArrbCode='"+sCode+"' ";
     (TfrmVW_Arrb *)p=new TfrmVW_Arrb(this,stmp);
    }else if(sType == "预收单")
    {
     stmp=" PreRbCode='"+sCode+"' ";
     (TfrmVW_PreRb *)p=new TfrmVW_PreRb(this,stmp);
    }else if(sType == "应收票据" || sType == "退回票据")
    {
     stmp=" ArnrCode='"+sCode+"' ";
     (TfrmVW_Arnr *)p=new TfrmVW_Arnr(this,stmp);
    }else if(sType == "退款单")
    {
     stmp=" RefundCode='"+sCode+"' ";
     (TfrmVW_Refund *)p=new TfrmVW_Refund(this,stmp);
    }else if(sType == "坏账损失")
    {
     stmp=" BdlCode='"+sCode+"' ";
     (TfrmVW_Bdl *)p=new TfrmVW_Bdl(this,stmp);
    }else if(sType == "坏账收回")
    {
     stmp=" BdrgCode='"+sCode+"' ";
     (TfrmVW_Bdrg *)p=new TfrmVW_Bdrg(this,stmp);
    }else return;
 }
 __finally
 {
    EndWaitForm();
 }
 p->ShowModal();
 delete p;

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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