GlbQtyWillRev.cpp
Upload User: xgxgxg8
Upload Date: 2007-02-22
Package Size: 6882k
Code Size: 9k
Development Platform:

Delphi

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include "GlbQtyWillRev.h"
  4. #include "GlbQF_NeedGet.h"
  5. #include "GlbmQtyWillRev.h"
  6. //---------------------------------------------------------------------------
  7. #pragma hdrstop
  8. #pragma package(smart_init)
  9. #pragma link "QueryBaseForm"
  10. #pragma link "SDGrid"
  11. #pragma link "KSAdvReport"
  12. #pragma resource "*.dfm"
  13. TfrmGlbQtyWillRev *frmGlbQtyWillRev;
  14. TfrmGlbmQtyWillRev *TmpGlbmQtyWillRev;
  15. TfrmGlbQF_NeedGet *TmpGlbQtyWillRev;
  16. //---------------------------------------------------------------------------
  17. __fastcall TfrmGlbQtyWillRev::TfrmGlbQtyWillRev(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
  18.    : TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
  19. {
  20.    //InitGridControl();
  21.    labMemory->Caption="";
  22.    QueryGrid=sgGlbQtyWillRev;
  23. }
  24. //---------------------------------------------------------------------------
  25. void __fastcall TfrmGlbQtyWillRev::InitGridControl()
  26. {
  27. }
  28. //---------------------------------------------------------------------------
  29. void __fastcall TfrmGlbQtyWillRev::tbQueryClick(TObject *Sender)
  30. {
  31.    if(!ShowQueryWindow())
  32.      return;
  33.    try{
  34.      StartWaitForm("正在查询,请稍候...");
  35.      labMemory->Caption="--"+FGfcmonthInfo;
  36.      FillGridWithData();
  37.    }
  38.    __finally
  39.    {
  40.      EndWaitForm();
  41.    }
  42. }
  43. //---------------------------------------------------------------------------
  44. bool __fastcall TfrmGlbQtyWillRev::ShowQueryWindow()
  45. {
  46.    TmpGlbQtyWillRev=new TfrmGlbQF_NeedGet(this);
  47.    TmpGlbQtyWillRev->Caption="预付帐款总帐查询过滤";
  48.    TmpGlbQtyWillRev->FQtyAmtSign="1";
  49.    TmpGlbQtyWillRev->ShowModal();
  50.    if(TmpGlbQtyWillRev->CancelQuery)
  51.    {
  52.      delete TmpGlbQtyWillRev;
  53.      return false;
  54.    }
  55.    FilterStr=TmpGlbQtyWillRev->CreateSqlString;
  56.    FGfcmonthInfo=TmpGlbQtyWillRev->FmonthInfo;
  57.    delete TmpGlbQtyWillRev;
  58.    return true;
  59. }
  60. //---------------------------------------------------------------------------
  61. void __fastcall TfrmGlbQtyWillRev::ClearControl(bool BringToNext)
  62. {
  63.    return;
  64. }
  65. //---------------------------------------------------------------------------
  66. void __fastcall TfrmGlbQtyWillRev::GetDataFromComObject()
  67. {
  68.    return;
  69. }
  70. //---------------------------------------------------------------------------
  71. void __fastcall TfrmGlbQtyWillRev::WaitUserInput()
  72. {
  73.    return;
  74. }
  75. //---------------------------------------------------------------------------
  76. void __fastcall TfrmGlbQtyWillRev::RefreshGridData(int mAction)
  77. {
  78.    return;
  79. }
  80. //---------------------------------------------------------------------------
  81. void __fastcall TfrmGlbQtyWillRev::DisplayBill()
  82. {
  83.    return;
  84. }
  85. //---------------------------------------------------------------------------
  86. void __fastcall TfrmGlbQtyWillRev::GetBill(AnsiString BillID)
  87. {
  88.    return;
  89. }
  90. //---------------------------------------------------------------------------
  91. AnsiString __fastcall TfrmGlbQtyWillRev::GetHeadQueryStr()
  92. {
  93.     AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
  94.     //客户编码,客户名称,财务月份,摘要,方向,
  95.     Selectstr = "select PzdClient,ClientName,PzhFmonth,NoteBookText=IsNULL(NoteBookText,''),PzdDir,KmName = IsNULL(GlkmName,'')";
  96.     Selectstr += ",GlbBopAmt,GlbDopAmt,GlbCopAmt,GlbDoyAmt,GlbCoyAmt,GlbAoyAmt";
  97.     Fromstr = " From sdPzd,sdPzh,sdClient,sdNoteBook,sdGlkm,sdGlb";
  98.     Wherestr = " where PzdClient=IsNULL(ClientCode,'') and PzhCode=PzdCode and PzdZy*=NoteBookCode and PzdGlkm*=GlkmCode and PzhCheck=1";
  99.     Wherestr += " and pzdGlkm like '115%'";
  100.     Wherestr += " and pzhFmonth=GlbFmonth and pzdGlkm=Glbglkm";
  101.     if(FilterStr.Trim() != "")
  102.     Wherestr += " and " + FilterStr;
  103.     Orderstr = " order by PzdClient,PzhFmonth";
  104.     sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
  105.     return(sSQL);
  106. }
  107. //---------------------------------------------------------------------------
  108. AnsiString __fastcall TfrmGlbQtyWillRev::GetSpace(int iNum)
  109. {
  110.     AnsiString strSpace;
  111.     for(int i=1;i<iNum;i++)
  112.       strSpace=strSpace+AnsiString(" ");
  113.     return strSpace;
  114. }
  115. //---------------------------------------------------------------------------
  116. void __fastcall TfrmGlbQtyWillRev::FillGridWithData()
  117. {
  118.     TComResultSet *RsQuery;
  119.     AnsiString ItemStr0,ItemStr1,ItemStr2,sSql;
  120.     sSql=GetHeadQueryStr();  //取Head查询的SQL语句
  121.     if(sSql=="")
  122.       return;
  123.     sgGlbQtyWillRev->RowCount=1;
  124.     RecentBillCode="";
  125.     RsQuery=new  TComResultSet(Handle,g_ClientHandle);
  126.     RsQuery->Open(sSql,"");
  127.     RsQuery->MoveFirst();
  128.     ItemStr0 = "";
  129.     ItemStr1 = "";
  130.     ItemStr2 = "";
  131.     while(RsQuery->Eof == 0)
  132.     {
  133.       double pAmtsum = RsQuery->FieldByName("GlbDopAmt").ToDouble() - RsQuery->FieldByName("GlbCopAmt").ToDouble(); //本期余额
  134.       double yAmtsum = RsQuery->FieldByName("GlbAoyAmt").ToDouble();  //本年累计
  135.       //期初
  136.       ItemStr0 = RsQuery->FieldByName("pzdClient")                         + "t" +
  137.                  RsQuery->FieldByName("ClientName")                        + "t" +
  138.                  RsQuery->FieldByName("PzhFmonth")                         + "t" +
  139.                                                                  "期初余额ttt" ;
  140.       if(RsQuery->FieldByName("GlbBopAmt")==0)
  141.       ItemStr0 +=                                                      "平t0.00" ;
  142.       else
  143.       ItemStr0 +=       (RsQuery->FieldByName("PzdDir")=="1" ? "借":"贷")         ;
  144.       ItemStr0 += "t" + FormatFloat("#,##0.00",RsQuery->FieldByName("GlbBopAmt").ToDouble());
  145.       //本期 --------------------------------------------------------------------------
  146.       ItemStr1 =                                                           "tt" +
  147.                  RsQuery->FieldByName("PzhFmonth")                         + "t" +
  148.                                                                      "本期合计t" +
  149.       FormatFloat("#,##0.00",RsQuery->FieldByName("GlbDopAmt").ToDouble()) + "t" +
  150.       FormatFloat("#,##0.00",RsQuery->FieldByName("GlbCopAmt").ToDouble()) + "t" ;
  151.       if(pAmtsum == 0)
  152.       ItemStr1 +=                                                      "平t0.00" ;
  153.       else
  154.       ItemStr1 +=       (RsQuery->FieldByName("PzdDir")=="1" ? "借":"贷")         ;
  155.       ItemStr1 += "t" + FormatFloat("#,##0.00",pAmtsum)                          ;
  156.       //本年---------------------------------------------------------------------------
  157.       ItemStr2 =                                                           "tt" +
  158.                  RsQuery->FieldByName("PzhFmonth")                         + "t" +
  159.                                                                      "本年合计t" +
  160.       FormatFloat("#,##0.00",RsQuery->FieldByName("GlbDoyAmt").ToDouble()) + "t" +
  161.       FormatFloat("#,##0.00",RsQuery->FieldByName("GlbCoyAmt").ToDouble()) + "t" ;
  162.       if(yAmtsum == 0)
  163.       ItemStr2 +=                                                      "平t0.00" ;
  164.       else
  165.       ItemStr2 +=       (RsQuery->FieldByName("PzdDir")=="1" ? "借":"贷")         ;
  166.       ItemStr2 += "t" + FormatFloat("#,##0.00",yAmtsum)                          ;
  167.       sgGlbQtyWillRev->AddItem(ItemStr0);
  168.       sgGlbQtyWillRev->AddItem(ItemStr1);
  169.       sgGlbQtyWillRev->AddItem(ItemStr2);
  170.       RsQuery->MoveNext();
  171.     }
  172.     RsQuery->Close();
  173.     delete RsQuery;
  174. }
  175. //---------------------------------------------------------------------------
  176. void __fastcall TfrmGlbQtyWillRev::muFirstClick(TObject *Sender)
  177. {
  178.     if(sgGlbQtyWillRev->RowCount > 1)
  179.       sgGlbQtyWillRev->Row=1;
  180. }
  181. //---------------------------------------------------------------------------
  182. void __fastcall TfrmGlbQtyWillRev::muNextClick(TObject *Sender)
  183. {
  184.     if(sgGlbQtyWillRev->RowCount > 1 && sgGlbQtyWillRev->Row < sgGlbQtyWillRev->RowCount-1)
  185.       sgGlbQtyWillRev->Row=sgGlbQtyWillRev->Row+1;
  186. }
  187. //---------------------------------------------------------------------------
  188. void __fastcall TfrmGlbQtyWillRev::muLastClick(TObject *Sender)
  189. {
  190.     if(sgGlbQtyWillRev->RowCount > 1)
  191.       sgGlbQtyWillRev->Row=sgGlbQtyWillRev->RowCount-1;
  192. }
  193. //---------------------------------------------------------------------------
  194. void __fastcall TfrmGlbQtyWillRev::muPreviousClick(TObject *Sender)
  195. {
  196.     if(sgGlbQtyWillRev->RowCount > 1 && sgGlbQtyWillRev->Row > 1)
  197.       sgGlbQtyWillRev->Row=sgGlbQtyWillRev->Row-1;
  198. }
  199. //---------------------------------------------------------------------------
  200. void __fastcall TfrmGlbQtyWillRev::tbRefreshClick(TObject *Sender)
  201. {
  202.     if(sSQL=="")
  203.       return;
  204.     FillGridWithData();
  205. }
  206. //---------------------------------------------------------------------------
  207. void __fastcall TfrmGlbQtyWillRev::FormShow(TObject *Sender)
  208. {
  209.     tbQueryClick(this);
  210. }
  211. //---------------------------------------------------------------------------
  212. void __fastcall TfrmGlbQtyWillRev::sgGlbQtyWillRevDblClick(TObject *Sender)
  213. {
  214.     int iRow;
  215.     iRow=sgGlbQtyWillRev->Row;
  216.     if(iRow > 1)
  217.     if(sgGlbQtyWillRev->Cells[2][iRow].Trim()!="")
  218.     {
  219.       try
  220.       {
  221.         TmpGlbmQtyWillRev=new TfrmGlbmQtyWillRev(this);
  222.         //TmpGlbmQtyWillRev->FQtyAmtGlkm=Trim(sgGlbQtyWillRev->Cells[0][iRow]);
  223.         TmpGlbmQtyWillRev->FQtyAmtFmonth=Trim(sgGlbQtyWillRev->Cells[2][iRow]);
  224.         TmpGlbmQtyWillRev->FMfcmonthInfo=FGfcmonthInfo;
  225.         TmpGlbmQtyWillRev->FGlbQtyAmtSign=1;
  226.         TmpGlbmQtyWillRev->ShowModal();
  227.       }
  228.       __finally
  229.       {
  230.         delete TmpGlbmQtyWillRev;
  231.       }
  232.     }
  233. }
  234. //---------------------------------------------------------------------------