pzhpost.cpp

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

CPP
210
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Pzh.h"
#include "PzhPost.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"

TfrmPzh *Pzhfrm;
TfrmPzhPost *frmPzhPost;
//---------------------------------------------------------------------------
__fastcall TfrmPzhPost::TfrmPzhPost(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
    : TListBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::InitEditControl()
{
   FillComboBox(Handle,scPzhFmonth,"select FcMonth from sdFc order by FcMonth","FcMonth");
   FillComboBox(Handle,scPzhFvct,"select FvctName,FvctCode from sdFvct order by FvctCode","FvctName","FvctCode");
   scPzhFvct->AddItems("全部...","All");
   FillComboBox(Handle,scPzhUser,"select UserName,UserCode from sdUser order by UserCode","UserName","UserCode");
   scPzhUser->AddItems("全部...","All");
   scPzhFmonth->LocateKey(g_sdFMonth);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::ClearControl(bool BringToNext)
{
   if(!BringToNext)
   {
     dePzhDateF->Text="";
     dePzhDateT->Text=dePzhDateT->InitDate;
     scPzhFvct->ItemIndex=scPzhFvct->Items->Count-1;
     sePzhCodeF->Text="";
     sePzhCodeT->Text="";
     scPzhUser->ItemIndex=scPzhUser->Items->Count-1;
   }
}
//---------------------------------------------------------------------------
void __fastcall  TfrmPzhPost::ChangeToBrowseState(bool agree)
{
   return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::FillGridWithData()
{
   AnsiString ItemStr;
   sgPzhPost->RowCount=1;
   if(comServer->RecordCount>0)
   {
      for(int i=0;i<comServer->RecordCount;i++)
      {
         comServer->LocateByIndex(i);
         ItemStr=AnsiString(" ")+"\t"+
                 GetHeadValue("PzhDate")+"\t"+
                 GetHeadValue("PzhFvct")+"\t"+
                 GetHeadValue("PzhCode")+"\t"+
                 GetHeadValue("PzhUser")+"\t"+
                 GetHeadValue("PzhChecker")+"\t"+
                 GetHeadValue("PzhCheckDate");
         sgPzhPost->AddItem(ItemStr);
      }
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::btQueryClick(TObject *Sender)
{
   comServer->FilterString=GetQueryFilterStr();
   comServer->Query();
   FillGridWithData();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmPzhPost::GetQueryFilterStr()
{
   AnsiString CreatSQLFilStr="";
   CreatSQLFilStr="PzhCheck=1 and PzhPost=0 and PzhFmonth='"+scPzhFmonth->Text+"' and ";

   if(Trim(dePzhDateF->Text) != "")
     CreatSQLFilStr =CreatSQLFilStr+"PzhDate>='" + FormatDateTime("yyyy-mm-dd",dePzhDateF->Date) + "' and ";

   if(Trim(dePzhDateT->Text) != "")
     CreatSQLFilStr = CreatSQLFilStr + "PzhDate<='" + FormatDateTime("yyyy-mm-dd",dePzhDateT->Date) + "' and ";

   if(Trim(scPzhFvct->Text) != "全部...")
     CreatSQLFilStr = CreatSQLFilStr + "PzhFvct='" + Trim(scPzhFvct->ItemData[1]) + "' and ";

   if(Trim(sePzhCodeF->Text) != "")
     CreatSQLFilStr = CreatSQLFilStr + "PzhCode>='" + Trim(sePzhCodeF->Text) + "' and ";

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

   if(Trim(scPzhUser->Text) != "全部...")
     CreatSQLFilStr = CreatSQLFilStr + "PzhUser='" + Trim(scPzhUser->ItemData[1]) + "' and ";

   if(CreatSQLFilStr.Length()>5)
     CreatSQLFilStr = CreatSQLFilStr.SubString(1,CreatSQLFilStr.Length()-5);
   else
     CreatSQLFilStr="";
   return (CreatSQLFilStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::btPostClick(TObject *Sender)
{
   int iCount;
   iCount=0;
   if(sgPzhPost->RowCount==1)
   {
     ShowMessageWindow("当前没有凭证登帐!",mwsInformation);
     return;
   }
   if(ShowMessageWindow("确认要登帐当前选中的凭证吗?",mwsConfirmation)==IDNO)
   {
     return;
   }
   for(int i=sgPzhPost->RowCount-1;i>0;i--)
   {
     if(sgPzhPost->Cells[0][i]=="√")
     {
        comServer->LocateByKey(sgPzhPost->Cells[3][i]);
        try
        {
          Query->Close();
          Query->Execute("Exec sdPzh_Post '"+sgPzhPost->Cells[3][i]+"',"+"1,'"+g_sdUserCode+"','"+g_sdCurDate+"'");
          iCount++;
        }
        catch(Exception &e)
        {
          ShowMessageWindow("已经成功的登帐 '"+AnsiString(iCount)+"' 张凭证",mwsInformation);
          throw Exception(e.Message);
        }
        sgPzhPost->RemoveItem(i);
     }
   }
  ShowMessageWindow("已经成功的登帐' "+AnsiString(iCount)+"' 张凭证",mwsInformation);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::sgPzhPostDblClick(TObject *Sender)
{
   int tRow,tCol;
   tRow=sgPzhPost->Row;
   tCol=sgPzhPost->Col;
   if(tRow==0)
      return;
   switch(tCol)
   {
      case 3:
        if(comServer->LocateByKey(sgPzhPost->Cells[3][tRow]))//定位成功后返回为false!!
        {
          StartWaitForm("请稍候,正在调阅凭证......");
          Pzhfrm=new TfrmPzh(this,g_ClientHandle,"1100302","");
          Pzhfrm->comServer->FilterString="PzhCode='"+sgPzhPost->Cells[3][tRow]+"'";
          Pzhfrm->comServer->Query();
          Pzhfrm->Transfered=1;
          EndWaitForm();
          Pzhfrm->ShowModal();
          delete Pzhfrm;
        }
        break;
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhPost::FormShow(TObject *Sender)
{
   sgPzhPost->RowCount=1;
   InitEditControl();
   ClearControl(false);
}
//---------------------------------------------------------------------------

void __fastcall TfrmPzhPost::sgPzhPostClick(TObject *Sender)
{
    int iRow,iCol;
    iRow=sgPzhPost->Row;
    iCol=sgPzhPost->Col;
    if(iRow==0)
       return;
    switch(iCol)
    {
      case 0:
        if(sgPzhPost->Cells[0][iRow]=="")
          sgPzhPost->Cells[0][iRow]="√";
        else
          sgPzhPost->Cells[0][iRow]="";
        break;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPzhPost::btCancelClick(TObject *Sender)
{
  Close();    
}
//---------------------------------------------------------------------------

void __fastcall TfrmPzhPost::BitBtn1Click(TObject *Sender)
{
    for (int i=1;i<sgPzhPost->RowCount;i++)
    {
      sgPzhPost->Cells[0][i]="√";
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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