📄 cjuserlistfm.pas
字号:
unit CjUserListFM;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
BaseEditFrm, ActnList, ImgList, Grids, DBGrids, RXDBCtrl, ComCtrls,
ExtCtrls, TB97Tlbr, TB97Ctls, TB97, StdCtrls, Mask, DBCtrls, Db, DBTables;
type
TFM_CjUserList = class(TForm_BaseEdit)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
ToolbarButton971: TToolbarButton97;
ToolbarSep972: TToolbarSep97;
ToolbarButton972: TToolbarButton97;
actn_Const_Find: TAction;
actn_Const_Print: TAction;
Label4: TLabel;
Label5: TLabel;
DBLookupComboBox2: TDBLookupComboBox;
Query1: TQuery;
ComboBox1: TComboBox;
DBLookupComboBox1: TDBLookupComboBox;
procedure actn_Const_NewExecute(Sender: TObject);
procedure actn_Const_SaveExecute(Sender: TObject);
procedure actn_Const_DeleteExecute(Sender: TObject);
procedure actn_Const_CancelExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure actn_Const_EditExecute(Sender: TObject);
procedure actn_Const_FindExecute(Sender: TObject);
procedure actn_Const_PrintExecute(Sender: TObject);
private
{ Private declarations }
procedure RefreshTable;
function IsUser(sAccount,sArea:String): Boolean;
function LocateUSer(sAccount,sArea:String) :Boolean;
public
{ Public declarations }
end;
var
FM_CjUserList: TFM_CjUserList;
implementation
uses CommonDataDM, systemDM,sourcePH,FindCjUserFM,PrintCjUserFM,RptCjUserFM;
{$R *.DFM}
procedure TFM_CjUserList.RefreshTable;
begin
With DM_CommonData.Qr_CjUserList do
begin
DisableControls;
Close; DatabaseName:=SysDM.DBName; Sql.Clear ;
Sql.Text :='select CZH,PhoneCode,UserName,carea,NOTE,User_Type from CjUserList';
Prepare;
Open;
EnableControls;
end;
end;
procedure TFM_CjUserList.actn_Const_NewExecute(Sender: TObject);
begin
inherited;
combobox1.Text :='';
DbEdit1.SetFocus ;
With DM_CommonData.Qr_CjUserList do
begin
Append;
end;
end;
procedure TFM_CjUserList.actn_Const_SaveExecute(Sender: TObject);
begin
inherited;
if DbEdit1.Text = ''then
begin
Application.MessageBox('帐号不能为空!','信息提示',MB_OK+MB_ICONINFORMATION);
Exit;
end;
if DbEdit2.Text = ''then
begin
Application.MessageBox('电话号码不能为空!','信息提示',MB_OK+MB_ICONINFORMATION);
Exit;
end;
if DBLookupComboBox1.Text = ''then
begin
Application.MessageBox('用户区域不能为空!','信息提示',MB_OK+MB_ICONINFORMATION);
Exit;
end;
if DbLookupComboBox2.Text = ''then
begin
Application.MessageBox('用户类型不能为空!','信息提示',MB_OK+MB_ICONINFORMATION);
Exit;
end;
if IsUser(DbEdit1.Field.AsString,DbLookupComboBox1.Field.AsString) then
begin
if not LocateUser(DbEdit1.Field.AsString,DbLookupComboBox1.Field.AsString) then
begin
DM_CommonData.Qr_CjUserList.Cancel;
DM_CommonData.Qr_CjUserList.Locate('Czh;CArea',VarArrayOf([DbEdit1.Field.AsString,DbLookupComboBox1.Field.AsString]),[loPartialKey]);
end;
FindNextControl (TWinControl (Sender), True, True, False).SetFocus;
SysDM.DBMain.StartTransaction ;
With DM_CommonData.Qr_CjUserList do
try
if Modified then ApplyUpdates ;
SysDM.DBMain.Commit ;
except;
CancelUpdates ;
SysDM.DBMain.Rollback ;
end;
DM_CommonData.Qr_CjUserList.CommitUpdates ;
end;
end;
procedure TFM_CjUserList.actn_Const_DeleteExecute(Sender: TObject);
begin
inherited;
if Application.MessageBox('确认删除数据吗?','提示',MB_YESNO+MB_ICONQUESTION)=ID_NO then exit;
SysDM.DBMain.StartTransaction ;
try
DM_CommonData.Qr_CjUserList.Delete ;
DM_CommonData.Qr_CjUserList.ApplyUpdates ;
SysDM.DBMain.Commit ;
except
DM_CommonData.Qr_CjUserList.CommitUpdates ;
SysDM.DBMain.Rollback ;
end;
DM_CommonData.Qr_CjUserList.CommitUpdates ;
end;
procedure TFM_CjUserList.actn_Const_CancelExecute(Sender: TObject);
begin
inherited;
DM_CommonData.Qr_CjUserList.Cancel ;
end;
procedure TFM_CjUserList.FormCreate(Sender: TObject);
begin
inherited;
RefreshTable;
combobox1.Items.Clear ;
with TQuery.Create (nil) do
begin
try
DatabaseName:=SysDM.DBMain.DatabaseName ;
close;
sql.Text :='select distinct * from elecfee_userarea order by user_area';
open;
while not EOF do
begin
combobox1.Items.Append (FieldByName('TYPE_NOTE').AsString);
next;
end;
finally
Free;
end;
end;
end;
procedure TFM_CjUserList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
DM_CommonData.Qr_CjUserList.close;
Action:=Cafree;
//self:=nil;
FM_CjUserList:=nil;
end;
procedure TFM_CjUserList.actn_Const_EditExecute(Sender: TObject);
begin
inherited;
DM_CommonData.Qr_CjUserList.Edit ;
end;
procedure TFM_CjUserList.actn_Const_FindExecute(Sender: TObject);
var
FM_FindCjUser: TFM_FindCjUser;
begin
inherited;
FM_FindCjUser:=TFM_FindCjUser.Create(Self);
try
if Fm_FindCjUser.ShowModal = mrOk then
begin
case FM_FindCjUser.rg_FindType.ItemIndex of
0: DM_CommonData.Qr_CjUserList.Locate('UserName',trim(FM_FindCjUser.edt_Value.text),[]);
1: DM_CommonData.Qr_CjUserList.Locate('PhoneCode',trim(FM_FindCjUser.edt_Value.text),[]);
2: DM_CommonData.Qr_CjUserList.Locate('CZH',trim(FM_FindCjUser.edt_Value.text),[]);
end;
end;
finally
FM_FindCjUser.Free;
end;
end;
procedure TFM_CjUserList.actn_Const_PrintExecute(Sender: TObject);
var
//FM_PrintCjUserList: TFM_PrintCjUserList;
//FM_RptCjUser: TFM_RptCjUser;
sSort:string;
begin
inherited;
FM_PrintCjUserList:=TFM_PrintCJUserList.Create(Self);
FM_RptCjUser:=TFM_RptCjUser.Create(Self);
try
if FM_PrintCjUserList.ShowModal = mrOk then
begin
case FM_PrintCjUserList.rg_SortMode.ItemIndex of
0:sSort:='';
1:sSort:=' order by UserName';
2:sSort:=' order by PhoneCode';
end;
case FM_PrintCjUserList.rg_PrintOption.ItemIndex of
0:
begin
FM_RptCjUser.qrlbl_Title.Caption :='所 有 催 缴 用 户';
FM_RptCjUser.PreviewRpt('Select UserName,PhoneCode,CZH from cjUserList'+sSort);
end;
1:
begin
FM_RptCjUser.qrlbl_Title.Caption :='有 帐 号 催 缴 用 户';
FM_RptCjUser.PreviewRpt('Select UserName,PhoneCode,CZH from cjUserList where (CZH is not NULL) and (CZH<>'''')'+sSort);
end;
2:
begin
FM_RptCjUser.qrlbl_Title.Caption :='无 帐 号 催 缴 用 户';
FM_RptCjUser.PreviewRpt('Select UserName,PhoneCode,CZH from cjUserList where (CZH is NULL) or (CZH='''')'+sSort);
end;
end;
end;
finally
FM_RptCjUser.Free;
FM_PrintCjUserList.Free;
end;
end;
function TFM_CjUserList.IsUser(sAccount, sArea: String): Boolean;
begin
with TQuery.Create(nil)do
try
DataBaseName := SysDM.DBMain.DatabaseName;
Close;
//if sArea <> '03'then
Sql.Text := Format('Select * from ELECFEE_USERINFO where user_account = ''%s'' and user_area = ''%s''',[sAccount, sArea]);
//else
//Sql.Text := Format('Select * from ELECFEE_POWER_USERINFO where user_account = ''%s'' and user_area = ''%s''',[sAccount, sArea]);
Open;
if not IsEmpty then
Result := True
else
begin
//Result := False;
Query1.DatabaseName :=SysDM.DBMain.DatabaseName ;
query1.Close;
query1.Sql.Text := Format('Select * from ELECFEE_POWER_USERINFO where user_account = ''%s'' and user_area = ''%s''',[sAccount, sArea]);
query1.Open;
if not IsEmpty then
Result := True
else
Result := False;
end;
finally
Free;
end;
end;
function TFM_CjUserList.LocateUSer(sAccount, sArea: String): Boolean;
begin
with TQuery.Create(nil)do
try
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := Format('Select * from CjUserList where Czh = ''%s'' and CArea = ''%s''',[sAccount, sArea]);
Open;
if IsEmpty then
Result := True
else
Result := False;
finally
Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -