pzhcheck.cpp

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

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

TfrmPzh *cPzhfrm;
TfrmPzhCheck *frmPzhCheck;
//---------------------------------------------------------------------------
__fastcall TfrmPzhCheck::TfrmPzhCheck(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
    : TListBaseForm(Owner,chWnd,MidCode,WhereStr)
{

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

void __fastcall TfrmPzhCheck::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 TfrmPzhCheck::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  TfrmPzhCheck::ChangeToBrowseState(bool agree)
{
   return;
}
//---------------------------------------------------------------------------

void __fastcall TfrmPzhCheck::FillGridWithData()
{
   AnsiString ItemStr;
   sgPzhCheck->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("PzhSysDate");
         sgPzhCheck->AddItem(ItemStr);
      }
   }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPzhCheck::btQueryClick(TObject *Sender)
{
   comServer->FilterString=GetQueryFilterStr();
   comServer->Query();
   FillGridWithData();
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmPzhCheck::GetQueryFilterStr()
{
   AnsiString CreatSQLFilStr="";
   CreatSQLFilStr="PzhCheck=0 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 TfrmPzhCheck::CheckBill()
{
 try
 {
  comServer->Edit();
  SetHeadValue("PzhCheck",1);
  SetHeadValue("PzhChecker",g_sdUserCode);
  SetHeadValue("PzhCheckDate",g_sdCurDate);
  comServer->Check(1);
 }
 catch(Exception &e)
 {
  comServer->Cancel();
  throw Exception(e.Message);
 }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhCheck::btCheckClick(TObject *Sender)
{
   int iCount;
   iCount=0;
   if(sgPzhCheck->RowCount==1)
   {
     ShowMessageWindow("当前没有凭证单核!",mwsInformation);
     return;
   }
   if(ShowMessageWindow("确认要审核当前选中的凭证吗?",mwsConfirmation)==IDNO)
   {
     return;
   }

   for(int i=sgPzhCheck->RowCount-1;i>0;i--)
   {
     if(sgPzhCheck->Cells[0][i]=="√")
     {
        comServer->LocateByKey(sgPzhCheck->Cells[3][i]);
        try
        {
          CheckBill();
          iCount++;
        }
        catch(Exception &e)
        {
           ShowMessageWindow("已经成功的审核' "+AnsiString(iCount)+"' 张凭证",mwsInformation);
           throw Exception(e.Message);
        }
        sgPzhCheck->RemoveItem(i);
     }
   }
   ShowMessageWindow("已经成功的审核' "+AnsiString(iCount)+"' 张凭证",mwsInformation);
}
//---------------------------------------------------------------------------


void __fastcall TfrmPzhCheck::sgPzhCheckDblClick(TObject *Sender)
{
   int tRow,tCol;
   tRow=sgPzhCheck->Row;
   tCol=sgPzhCheck->Col;
   if(tRow==0)
      return;
   switch(tCol)
   {
      case 3:
        if(comServer->LocateByKey(sgPzhCheck->Cells[3][tRow])==0)
        {
          StartWaitForm("请稍候,正在调阅凭证......");
          cPzhfrm=new TfrmPzh(this,g_ClientHandle,"1100302","");
          cPzhfrm->comServer->FilterString="PzhCode='"+sgPzhCheck->Cells[3][tRow]+"'";
          cPzhfrm->comServer->Query();
          cPzhfrm->Transfered=1;
          EndWaitForm();
          cPzhfrm->ShowModal();
          delete cPzhfrm;
        }
        break;
   }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPzhCheck::FormShow(TObject *Sender)
{
   sgPzhCheck->RowCount=1;
   InitEditControl();
   ClearControl(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhCheck::sgPzhCheckClick(TObject *Sender)
{
   int iRow,iCol;
   iRow=sgPzhCheck->Row;
   iCol=sgPzhCheck->Col;
   if(iRow==0)
     return;
   switch(iCol)
   {
      case 0:
        if(sgPzhCheck->Cells[0][iRow]=="")
          sgPzhCheck->Cells[0][iRow]="√";
        else
          sgPzhCheck->Cells[0][iRow]="";
        break;
   }
}
//---------------------------------------------------------------------------

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

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

⌨️ 快捷键说明

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