📄 unit_queryarrearage.pas
字号:
unit unit_QueryArrearage;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Unit_custombrowsebase, ImgList, Menus, Db, DBTables, Grids, DBGrids,
ComCtrls, TFlatCheckBoxUnit, TFlatSpinEditUnit, ToolWin, StdCtrls,
TFlatEditUnit, TFlatComboBoxUnit, TFlatButtonUnit, ExtCtrls,
TFlatRadioButtonUnit, CheckLst, TFlatCheckListBoxUnit;
const
INVALI='1'; //无效值
VALI='2'; //有效值
MAXUSER_FKFSCount=40;//最大功能数
type
Tfrm_QueryArrearage = class(Tform_custombrowsebase)
cbGR_QFJED: TFlatCheckBox;
Label8: TLabel;
Label9: TLabel;
spiGR_QFJEDBegin: TFlatSpinEditInteger;
spiGR_QFJEDEnd: TFlatSpinEditInteger;
Label10: TLabel;
cbGR_DTAgain: TFlatCheckBox;
cbGR_STAgain: TFlatCheckBox;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
cbJT_QFJED: TFlatCheckBox;
spiJT_QFJEDBegin: TFlatSpinEditInteger;
spiJT_QFJEDEnd: TFlatSpinEditInteger;
FlatCheckBox2: TFlatCheckBox;
FlatCheckBox3: TFlatCheckBox;
cbGR_XYD: TFlatCheckBox;
cbGR_QT_XYD: TFlatCheckBox;
cbGR_USER_FKFS: TFlatCheckBox;
btnGR_USER_FKFSFull: TFlatButton;
BtnGR_USER_FKFSNone: TFlatButton;
clbGR_USER_FKFS: TFlatCheckListBox;
N4: TMenuItem;
pmi_CustStop: TMenuItem;
procedure cbGR_QFJEDClick(Sender: TObject);
procedure cbJT_QFJEDClick(Sender: TObject);
procedure spiJT_QFJEDEndEnter(Sender: TObject);
procedure spiGR_QFJEDBeginChange(Sender: TObject);
procedure spiJT_QFJEDBeginChange(Sender: TObject);
procedure cbGR_USER_FKFSClick(Sender: TObject);
procedure btnGR_USER_FKFSFullClick(Sender: TObject);
procedure BtnGR_USER_FKFSNoneClick(Sender: TObject);
procedure pmi_CustStopClick(Sender: TObject);
procedure FlatButton2Click(Sender: TObject);
procedure FlatButton3Click(Sender: TObject);
private
ifunCount:integer;
array_USER_FKFS:string[40];
array_USER_FKFSvalues:array [1..MAXUSER_FKFSCount] of integer;
array_USER_FKFSdesc:array [1..MAXUSER_FKFSCount] of string;
{ Private declarations }
protected
procedure pro_initcombobox(sender:tobject);override;
procedure pro_initother(sender:tobject);override;
procedure pro_GR_getid(sender:tobject);override;
procedure pro_JT_getid(sender:tobject);override;
procedure pro_GR_OpenDataSet(sender:tobject;strsql:string);override;
procedure pro_JT_OpenDataSet(sender:tobject;strsql:string);override;
procedure pro_GR_getsqlwhere(sender:tobject);override;
procedure pro_JT_getsqlwhere(sender:tobject);override;
procedure pro_GR_checkcondition(sender:tobject);override;
procedure pro_JT_checkcondition(sender:tobject);override;
//根据列表框中的选中列生成相应的查询条件
function fun_getUSER_FKFSCheck(sender:tobject):string;
public
{ Public declarations }
end;
var
frm_QueryArrearage: Tfrm_QueryArrearage;
implementation
uses dmmain,PrintFrmForm,
Unit_CustStatusBackWrite;
Function Fun_ExportData(pFileName:String;pReportTitle:String;pObjectSource:TObject):Boolean;stdcall;external'winfun.dll';
{$R *.DFM}
{ Tform_arrearage_B }
procedure Tfrm_QueryArrearage.pro_GR_getid(sender: tobject);
begin
inherited;
end;
procedure Tfrm_QueryArrearage.pro_GR_OpenDataSet(sender: tobject;
strsql: string);
begin
with browse_normal do
begin
close;
sql.clear;
sql.add('select * from T_V_GR_QueryArrearage');
sql.add('where 1=1');
sql.add(strsql);
open;
end;
end;
procedure Tfrm_QueryArrearage.pro_initcombobox(sender: tobject);
begin
inherited;
end;
procedure Tfrm_QueryArrearage.pro_initother(sender: tobject);
var
tmpstr:string;
i,j,iPos:integer;
begin
inherited;
with query_tmp do
begin
close;
sql.clear;
sql.add('select PAR_Desc,USER_FKFS from t_v_user_fkfs');
open;
iFunCount:=recordcount;
clbGR_USER_FKFS.Items.Clear;
array_USER_FKFS:='';
// i:=0;
first;
while not eof do
begin
iPos:=strtoint(trim(fieldbyname('USER_FKFS').asstring));
if not(pos('预留',fieldbyname('PAR_Desc').asstring)>0) then
begin
//clbGR_USER_FKFS.Items.Add(trim(fieldbyname('PAR_Desc').asstring));
array_USER_FKFSvalues[iPos]:=iPos;
array_USER_FKFSdesc[iPos]:=trim(fieldbyname('PAR_Desc').asstring);
array_USER_FKFS[iPos]:=VALI; //有效
end
else
begin
array_USER_FKFSvalues[iPos]:=0;
array_USER_FKFS[iPos]:=INVALI; //无效
end;
next;
// inc(i)
end;
end;
for i:=1 to MAXUSER_FKFSCount do
begin
if array_USER_FKFS[i] = VALI then
clbGR_USER_FKFS.Items.Add(array_USER_FKFSdesc[i]);
end;
end;
procedure Tfrm_QueryArrearage.pro_JT_getid(sender: tobject);
begin
inherited;
end;
procedure Tfrm_QueryArrearage.pro_JT_OpenDataSet(sender: tobject;
strsql: string);
begin
with browse_normal do
begin
close;
sql.clear;
sql.add('select * from T_V_JT_QueryArrearage');
sql.add('where 1=1');
sql.add(strsql);
open;
end;
end;
procedure Tfrm_QueryArrearage.pro_GR_checkcondition(sender: tobject);
begin
inherited;
end;
procedure Tfrm_QueryArrearage.pro_GR_getsqlwhere(sender: tobject);
var
tmpstr:string;
begin
inherited;
//
if edGR_SID.Text<>'' then
tmpstr:=tmpstr+' and '+'t.SID='+''''+edGR_SID.Text+'''';
if lGR_cityno<>'' then
tmpstr:=tmpstr+' and '+'t.cityno='+lGR_cityno;
if lGR_off_no_home<>'' then
tmpstr:=tmpstr+' and '+'t.off_no_home='+lGR_off_no_home;
if lGR_GH<>'' then
tmpstr:=tmpstr+' and '+'t.WK_NO='+''''+lGR_GH+'''';
//
if cbGR_QFJED.checked then
tmpstr:=tmpstr+' and '+'t.OWEFEE between '+inttostr(spiGR_QFJEDBegin.value)+' and '+inttostr(spiGR_QFJEDEnd.value);
if cbGR_XYD.Checked then //单停信用点
tmpstr:=tmpstr+' and t.XYD<=t.OweFee';
if cbGR_QT_XYD.Checked then //全停信用点
tmpstr:=tmpstr+' and t.QT_XYD<=t.OweFee';
if cbGR_USER_FKFS.Checked then
tmpstr:=tmpstr+fun_getUSER_FKFSCheck(self);
GR_sqlwhere:=GR_sqlwhere+tmpstr;
end;
procedure Tfrm_QueryArrearage.pro_JT_checkcondition(sender: tobject);
begin
inherited;
end;
procedure Tfrm_QueryArrearage.pro_JT_getsqlwhere(sender: tobject);
var
tmpstr:string;
begin
inherited;
//
if lJT_JTYHDM<>'' then //集团代码
tmpstr:=tmpstr+' and '+'t.Group_Id='+lJT_JTYHDM;
if lJT_cityno<>'' then //地市
tmpstr:=tmpstr+' and '+'t.cityno='+lJT_cityno;
if lJT_off_no_home<>'' then //局向
tmpstr:=tmpstr+' and '+'t.off_no_home='+lJT_off_no_home;
if lJT_GH<>'' then //
tmpstr:=tmpstr+' and '+'t.WK_NO='+''''+lJT_GH+'''';
//
if cbJT_QFJED.checked then
tmpstr:=tmpstr+' and '+'t.OWEFEE between '+inttostr(spiJT_QFJEDBegin.value)+' and '+inttostr(spiJT_QFJEDEnd.value);
JT_sqlwhere:=JT_sqlwhere+tmpstr;
end;
procedure Tfrm_QueryArrearage.cbGR_QFJEDClick(Sender: TObject);
begin
inherited;
if cbGR_QFJED.Checked then
begin
spiGR_QFJEDBegin.colorflat:=clwindow;
spiGR_QFJEDEnd.colorflat:=clwindow;
spiGR_QFJEDBegin.Enabled:=true;
spiGR_QFJEDEnd.Enabled:=true;
end
else
begin
spiGR_QFJEDBegin.colorflat:=clActiveBorder;
spiGR_QFJEDEnd.colorflat:=clActiveBorder;
spiGR_QFJEDBegin.Enabled:=false;
spiGR_QFJEDEnd.Enabled:=false;
end;
end;
procedure Tfrm_QueryArrearage.cbJT_QFJEDClick(Sender: TObject);
begin
inherited;
if cbJT_QFJED.Checked then
begin
spiJT_QFJEDBegin.colorflat:=clwindow;
spiJT_QFJEDEnd.colorflat:=clwindow;
spiJT_QFJEDBegin.Enabled:=true;
spiJT_QFJEDEnd.Enabled:=true;
end
else
begin
spiJT_QFJEDBegin.colorflat:=clActiveBorder;
spiJT_QFJEDEnd.colorflat:=clActiveBorder;
spiJT_QFJEDBegin.Enabled:=false;
spiJT_QFJEDEnd.Enabled:=false;
end;
end;
procedure Tfrm_QueryArrearage.spiJT_QFJEDEndEnter(Sender: TObject);
begin
inherited;
if sender=spiGR_QFJEDBegin then
begin
spiGR_QFJEDEnd.MinValue:=spiGR_QFJEDBegin.Value;
if spiGR_QFJEDEnd.Value<spiGR_QFJEDBegin.Value then
spiGR_QFJEDEnd.Value:=spiGR_QFJEDBegin.Value;
end;
if sender=spiJT_QFJEDBegin then
begin
spiJT_QFJEDEnd.MinValue:=spiJT_QFJEDBegin.Value;
if spiJT_QFJEDEnd.Value<spiJT_QFJEDBegin.Value then
spiJT_QFJEDEnd.Value:=spiJT_QFJEDBegin.Value;
end;
end;
procedure Tfrm_QueryArrearage.spiGR_QFJEDBeginChange(Sender: TObject);
begin
inherited;
if sender=spiGR_QFJEDBegin then
begin
spiGR_QFJEDEnd.MinValue:=spiGR_QFJEDBegin.Value;
if spiGR_QFJEDEnd.Value<spiGR_QFJEDBegin.Value then
spiGR_QFJEDEnd.Value:=spiGR_QFJEDBegin.Value;
end;
end;
procedure Tfrm_QueryArrearage.spiJT_QFJEDBeginChange(Sender: TObject);
begin
inherited;
if sender=spiJT_QFJEDBegin then
begin
spiJT_QFJEDEnd.MinValue:=spiJT_QFJEDBegin.Value;
if spiJT_QFJEDEnd.Value<spiJT_QFJEDBegin.Value then
spiJT_QFJEDEnd.Value:=spiJT_QFJEDBegin.Value;
end;
end;
procedure Tfrm_QueryArrearage.cbGR_USER_FKFSClick(Sender: TObject);
var
itmp:integer;
begin
inherited;
if cbGR_USER_FKFS.Checked then
begin
clbGR_USER_FKFS.Color:=clwindow;
clbGR_USER_FKFS.Enabled:=true;
btnGR_USER_FKFSFull.enabled:=true;
BtnGR_USER_FKFSNone.enabled:=true;
btnGR_USER_FKFSFull.OnClick(self);
clbGR_USER_FKFS.Checked[3]:=false;
end
else
begin
clbGR_USER_FKFS.Color:=clBtnFace;
clbGR_USER_FKFS.Enabled:=false;
btnGR_USER_FKFSFull.enabled:=false;
BtnGR_USER_FKFSNone.enabled:=false
end;
end;
procedure Tfrm_QueryArrearage.btnGR_USER_FKFSFullClick(Sender: TObject);
var
i:integer;
begin
inherited;
with clbGR_USER_FKFS do
begin
for i:=0 to items.Count-1 do
begin
checked[i]:=true;
end;
end;
end;
procedure Tfrm_QueryArrearage.BtnGR_USER_FKFSNoneClick(Sender: TObject);
var
i:integer;
begin
inherited;
with clbGR_USER_FKFS do
begin
for i:=0 to items.Count-1 do
begin
checked[i]:=false;
end;
end;
end;
function Tfrm_QueryArrearage.fun_getUSER_FKFSCheck(
sender: tobject): string;
var
i,j:integer;
tmpstr:string;
itemcheck:boolean;
begin
result:='';
i:=0;
j:=0;
itemcheck:=false;
tmpstr:=' and USER_FKFS in (';
for i:=0 to clbGR_USER_FKFS.Items.Count-1 do
if clbGR_USER_FKFS.checked[i] then
begin
itemcheck:=true;
for j:=1 to MAXUSER_FKFSCount do
if array_USER_FKFSdesc[j]=trim(clbGR_USER_FKFS.Items[i]) then
begin
tmpstr:=tmpstr+''''+inttostr(array_USER_FKFSvalues[j])+''''+',';
break;
end;
end;
delete(tmpstr,length(tmpstr),1);//删除最后一个逗号;
tmpstr:=tmpstr+')';
if itemcheck then
result:=tmpstr
else
result:='and USER_FKFS is null';
end;
procedure Tfrm_QueryArrearage.pmi_CustStopClick(Sender: TObject);
begin
inherited;
Application.CreateForm(TFrm_CustStatusBackWrite,Frm_CustStatusBackWrite);
end;
procedure Tfrm_QueryArrearage.FlatButton2Click(Sender: TObject);
begin
inherited;
if browse_normal.Active then
if not (browse_normal.Bof and browse_normal.Eof) then
begin
if PageControl1.ActivePageIndex=0 then
begin
try
PrintDbGrid(dbgGR.datasource.dataset,dbgGR,'大客户欠费信息个人客户');
except
Application.MessageBox('系统在执行过程中发生错误!','提示',MB_ICONINFORMATION);
exit;
end;//try
end
else
begin
try
PrintDbGrid(dbgJT.datasource.dataset,dbgJT,'大客户欠费信息集团客户');
except
Application.MessageBox('系统在执行过程中发生错误!','提示',MB_ICONINFORMATION);
exit;
end;//try
end;
end;
end;
procedure Tfrm_QueryArrearage.FlatButton3Click(Sender: TObject);
begin
inherited;
if browse_normal.Active then
if not (browse_normal.Bof and browse_normal.Eof) then
begin
if PageControl1.ActivePageIndex=0 then
Fun_ExportData('大客户欠费信息个人客户','大客户欠费信息个人客户',dbgGR)
else
Fun_ExportData('大客户欠费信息集团客户','大客户欠费信息集团客户',dbgJT)
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -