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 + -
显示快捷键?