glbm_projf.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 323 行
CPP
323 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Glbm_ProjF.h"
#include "GlkmQuery.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "StdBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "cspin"
#pragma link "CSPIN"
#pragma resource "*.dfm"
TfrmGlbm_ProjF *frmGlbm_ProjF;
//TfrmGlkmQuery *GlkmProjfrm;
//---------------------------------------------------------------------------
__fastcall TfrmGlbm_ProjF::TfrmGlbm_ProjF(TComponent* Owner)
: TStdBaseForm(Owner)
{
m_CancelQuery=true;
g_sdRsGlkm=new TComResultSet(Handle,g_ClientHandle);
g_sdRsGlkm->Open("select * from sdGlkm order by GlkmCode","GlkmCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbm_ProjF::InitEditControl()
{
TComResultSet *RsQuery;
RsQuery=new TComResultSet(Handle,g_ClientHandle);
RsQuery->Open("select MinYear=Min(FcYear),MaxYear=Max(FcYear) from sdFc","");
RsQuery->MoveFirst();
while(!RsQuery->Eof)
{
CsFcYearF->MinValue=RsQuery->FieldByName("MinYear").ToInt();
CsFcYearT->MinValue=RsQuery->FieldByName("MinYear").ToInt();
CsFcYearF->MaxValue=RsQuery->FieldByName("MaxYear").ToInt();
CsFcYearT->MaxValue=RsQuery->FieldByName("MaxYear").ToInt();
CsFcYearF->Increment=1;
CsFcYearT->Increment=1;
RsQuery->MoveNext();
}
RsQuery->Close();
delete RsQuery;
FillComboBox(Handle,scCurrency,"select CurrencyName,CurrencyCode from sdCurrency Order by CurrencyCode",
"CurrencyName","CurrencyCode");
scProject->ClearAll();
scProject->AddItems("1-部门","1");
scProject->AddItems("2-客户","2");
scProject->AddItems("3-供应商","3");
scProject->AddItems("4-个人","4");
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbm_ProjF::seGlkmButtonClick(TObject *Sender)
{
if(OpenGlkmForm())
{
((TSDEdit*)Sender)->Text=GetGlkmValue(gtOpenForm,"GLKMCODE");
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbm_ProjF::FormShow(TObject *Sender)
{
int CurYear,CurMonth;
InitEditControl();
CurYear=g_sdFMonth.SubString(1,4).ToInt();
CurMonth=g_sdFMonth.SubString(5,2).ToInt();
cheQtyAmt->Checked=true;
chePzUnPost->Checked=false;
CsFcYearF->Text=CurYear;
CsFcYearT->Text=CurYear;
CsMonthF->Text=CurMonth;
CsMonthT->Text=CurMonth;
if(scProject->Items->Count>0)
scProject->ItemIndex=0;
seProjectF->Text="";
seProjectT->Text="";
seGlkm->Text="";
scCurrency->LocateKey(g_sdCurrencyCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbm_ProjF::GetSQLWhereString()
{
AnsiString fFcFmonth,tFcFmonth;
AnsiString FcMonthFilStr="";
AnsiString CreatSQLFilStr="";
if((Trim(CsMonthF->Text)).Length()==1)
fFcFmonth=Trim(CsFcYearF->Text)+"0"+Trim(CsMonthF->Text);
else
fFcFmonth=Trim(CsFcYearF->Text)+Trim(CsMonthF->Text);
if((Trim(CsMonthT->Text)).Length()==1)
tFcFmonth=Trim(CsFcYearT->Text)+"0"+Trim(CsMonthT->Text);
else
tFcFmonth=Trim(CsFcYearT->Text)+Trim(CsMonthT->Text);
if(tFcFmonth<fFcFmonth)
throw Exception("结束的会计期间:'"+tFcFmonth+"'不能小于开始的会计期间:'"+fFcFmonth+"'");
if(tFcFmonth==fFcFmonth)
m_FcMonthInfo="第 '"+fFcFmonth+"'期";
else
m_FcMonthInfo="第 '"+fFcFmonth+"'至 '"+tFcFmonth+"'期";
FcMonthFilStr = "GlbFmonth>='" + fFcFmonth + "' and GlbFmonth<='" + tFcFmonth + "'";
if(scProject->ItemData[1]!="")
m_FProjectType=scProject->ItemData[0];
else
throw Exception("核算项目不能为空");
if(Trim(seProjectF->Text)!="")
m_FProjectFrom=Trim(seProjectF->Text);
if(Trim(seProjectT->Text)!="")
m_FProjectTo=Trim(seProjectT->Text);
if(Trim(seGlkm->Text) != "")
m_FGlkmCode=Trim(seGlkm->Text);
else
throw Exception("科目代码不能为空");
if(scCurrency->ItemData[1] != "")
{
m_FCurrencyInfo=Trim(scCurrency->Text);
CreatSQLFilStr = "PzdCurrency='" + Trim(scCurrency->ItemData[1]) + "' and ";
}
else
throw Exception("币种不能为空");
if(chePzUnPost->Checked)
CreatSQLFilStr += "PzhCheck=1 and PzhPost=0 and ";
else
CreatSQLFilStr += "PzhCheck=1 and (PzhPost=1 or PzhPost=0) and ";
if(CreatSQLFilStr.Length()>5)
CreatSQLFilStr = CreatSQLFilStr.SubString(1,CreatSQLFilStr.Length()-5);
else
CreatSQLFilStr="";
m_CreateSqlString = CreatSQLFilStr;
m_FcMonthFilStr = FcMonthFilStr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbm_ProjF::bbtOKClick(TObject *Sender)
{
GetSQLWhereString();
m_CancelQuery=false;
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbm_ProjF::bbtCancelClick(TObject *Sender)
{
m_CancelQuery=true;
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbm_ProjF::seProjectFButtonClick(TObject *Sender)
{
int iType;
AnsiString SqlStr;
iType=scProject->ItemData[1].ToInt();
TfrmWnQuery *p;
switch(iType)
{
case 1: //Dept
SqlStr="004[部门代码][部门名称][联系人][联系电话]";
SqlStr+="select DeptCode,DeptName,DeptLinkman,DeptTel from sdDept where DeptEnd=1 order by DeptCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"部门资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
seProjectF->Text=p->ColData[1];
delete p;
break;
case 2: //Client
SqlStr="004[客户代码][客户名称][联系人][联系电话]";
SqlStr+="select ClientCode,ClientName,ClientLinkman,ClientTel from sdClient order by ClientCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"客户资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
seProjectF->Text=p->ColData[1];
delete p;
break;
case 3: //Supply
SqlStr="004[供应商代码][供应商客户名称][联系人][联系电话]";
SqlStr+="select SupplyCode,SupplyName,SupplyLinkman,SupplyTel from sdSupply order by SupplyCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"供应商资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
seProjectF->Text=p->ColData[1];
delete p;
break;
case 4: //Employee
SqlStr="004[员工代码][员工姓名][性别][部门]";
SqlStr+="select EmployeeCode,EmployeeName,EmployeeSex,EmployeeDept from sdEmployee order by EmployeeCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"个人资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
seProjectF->Text=p->ColData[1];
delete p;
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbm_ProjF::seProjectTButtonClick(TObject *Sender)
{
int iType;
AnsiString SqlStr;
iType=scProject->ItemData[1].ToInt();
TfrmWnQuery *p;
switch(iType)
{
case 1: //Dept
SqlStr="004[部门代码][部门名称][联系人][联系电话]";
SqlStr+="select DeptCode,DeptName,DeptLinkman,DeptTel from sdDept where DeptEnd=1 order by DeptCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"部门资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
seProjectT->Text=p->ColData[1];
delete p;
break;
case 2: //Client
SqlStr="004[客户代码][客户名称][联系人][联系电话]";
SqlStr+="select ClientCode,ClientName,ClientLinkman,ClientTel from sdClient order by ClientCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"客户资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
seProjectT->Text=p->ColData[1];
delete p;
break;
case 3: //Supply
SqlStr="004[供应商代码][供应商客户名称][联系人][联系电话]";
SqlStr+="select SupplyCode,SupplyName,SupplyLinkman,SupplyTel from sdSupply order by SupplyCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"供应商资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
seProjectT->Text=p->ColData[1];
delete p;
break;
case 4: //Employee
SqlStr="004[员工代码][员工姓名][性别][部门]";
SqlStr+="select EmployeeCode,EmployeeName,EmployeeSex,EmployeeDept from sdEmployee order by EmployeeCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"个人资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
seProjectT->Text=p->ColData[1];
delete p;
break;
}
}
//---------------------------------------------------------------------------
/* //modify 2003-03-04
void __fastcall TfrmGlbm_ProjF::FormClose(TObject *Sender,
TCloseAction &Action)
{
delete g_sdRsGlkm;
TStdBaseForm::FormClose(Sender,Action);
}
*/
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?