glb_projf.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 334 行
CPP
334 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Glb_ProjF.h"
#include "WnQuery.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"
TfrmGlb_ProjF *frmGlb_ProjF;
//TfrmGlkmQuery *GlkmProjfrm;
//---------------------------------------------------------------------------
__fastcall TfrmGlb_ProjF::TfrmGlb_ProjF(TComponent* Owner)
: TStdBaseForm(Owner)
{
g_sdRsGlkm=new TComResultSet(Handle,g_ClientHandle);
g_sdRsGlkm->Open("select * from sdGlkm order by GlkmCode","GlkmCode");
}
//---------------------------------------------------------------------------
__fastcall TfrmGlb_ProjF::TfrmGlb_ProjF(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TStdBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb_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 TfrmGlb_ProjF::seGlkmFButtonClick(TObject *Sender)
{
if(OpenGlkmForm())
{
((TSDEdit *)Sender)->Text = GetGlkmValue(gtOpenForm,"GLKMCODE");
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb_ProjF::FormShow(TObject *Sender)
{
int CurYear,CurMonth;
InitEditControl();
CurYear=g_sdFMonth.SubString(1,4).ToInt();
CurMonth=g_sdFMonth.SubString(5,2).ToInt();
seGlkmF->Text="";
seGlkmT->Text="";
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="";
seGlkmF->Text="";
seGlkmT->Text="";
CsLevel->Text=1;
scCurrency->LocateKey(g_sdCurrencyCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb_ProjF::GetSQLWhereString()
{
AnsiString fFcFmonth,tFcFmonth;
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+"'期";
CreatSQLFilStr = "GlbFmonth>='" + fFcFmonth + "' and GlbFmonth<='" + tFcFmonth+ "' and ";
CreatSQLFilStr += "GlbLevel<=" + Trim(CsLevel->Text) + " and ";
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(seGlkmF->Text) != "")
CreatSQLFilStr += "GlbGlkm>='" + Trim(seGlkmF->Text) + "' and ";
if(Trim(seGlkmT->Text) != "")
CreatSQLFilStr += "GlbGlkm<='" + Trim(seGlkmT->Text) + "' and ";
if(scCurrency->ItemData[1] != "")
{
m_FCurrencyInfo=Trim(scCurrency->Text);
CreatSQLFilStr += "GlbCurrency='" + Trim(scCurrency->ItemData[1]) + "' and ";
}
else
throw Exception("币种不能为空");
if(cheQtyAmt->Checked)
CreatSQLFilStr += "(GlbDopAmt >0 or GlbCopAmt >0) and ";
if(chePzUnPost->Checked)
FPzUnPosted=1;
if(rbOrderByFG->Checked)
m_FOrderStr = " GlbFmonth,GlbGlkm ";
else
m_FOrderStr = " GlbGlkm,GlbFmonth ";
if(CreatSQLFilStr.Length()>5)
CreatSQLFilStr = CreatSQLFilStr.SubString(1,CreatSQLFilStr.Length()-5);
else
CreatSQLFilStr="";
m_CreateSqlString=CreatSQLFilStr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb_ProjF::bbtOKClick(TObject *Sender)
{
GetSQLWhereString();
m_CancelQuery=false;
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb_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 TfrmGlb_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;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb_ProjF::FormClose(TObject *Sender,
TCloseAction &Action)
{
if(m_CancelQuery)
m_CancelQuery=true;
//if(g_sdRsGlkm) delete g_sdRsGlkm; // modify 2003-03-04
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlb_ProjF::bbtCancelClick(TObject *Sender)
{
m_CancelQuery = true;
Close();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?