📄 realtyc42b.pas
字号:
unit RealtyC42B;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
StrUtils, ExtDlgs, ComCtrls, math, ImgList, Menus, ToolWin;
type
Tf_RealtyC42B = class(TForm)
GroupBox1: TGroupBox;
ListView2: TListView;
TreeView1: TTreeView;
Button1: TButton;
Button3: TButton;
Button2: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Label3: TLabel;
Button7: TButton;
Button8: TButton;
Button9: TButton;
GroupBox2: TGroupBox;
ListView1: TListView;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
DateTimePicker3: TDateTimePicker;
Label4: TLabel;
Label7: TLabel;
DateTimePicker1: TDateTimePicker;
Label8: TLabel;
DateTimePicker2: TDateTimePicker;
Button10: TButton;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ListView2CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
bMod:bool;
sTable:string;
cols:integer;
sNum:string;
bOk:bool;
end;
var
f_RealtyC42B: Tf_RealtyC42B;
implementation
uses data, main,RealtyPrint1;
{$R *.dfm}
//Init*********************************
procedure Tf_RealtyC42B.FormCreate(Sender: TObject);
begin
getStructure(TreeView1);
datetimepicker1.date:=date;
datetimepicker2.date:=date;
datetimepicker3.date:=date;
end;
procedure Tf_RealtyC42B.TreeView1Click(Sender: TObject);
Var
query,query1,query2:TADOQuery;
nLevel:integer;
s,s1,s2,s3,s4:string;
r1:string;
begin
listview1.Items.Clear;
nLevel:=treeview1.Selected.Level;
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
Query1:=TADOQuery.Create(nil);
Query1.Connection:=DataModuleADO.ADOConnection1;
Query2:=TADOQuery.Create(nil);
Query2.Connection:=DataModuleADO.ADOConnection1;
if nLevel=0 then
begin
s:='select * from 公摊仪表 where 编号 like ''%'+Edit1.text;
s:=s+'%'' order by 编号 asc';
query.SQL.Clear;
Query.SQL.Add(s);
Query.Open ;
while not Query.Eof do
begin
s:='select * from 管理区 where 编号='''+query.fieldbyname('管理区').Value;
s:=s+''' and 名称 like ''%'+edit2.Text+'%''';
query1.SQL.Clear;
query1.SQL.Add(s);
query1.open;
if query1.RecordCount>0 then
begin
with ListView1.Items.Add do
begin
Caption:=Query.FieldByName('编号').Value;
SubItems.Add(mainform.getName('管理区',Query.FieldByName('管理区').Value));
SubItems.Add(mainform.getName('收费项目',Query.FieldByName('收费项目').Value));
SubItems.Add(mainform.getName('收费标准',Query.FieldByName('收费标准').Value));
SubItems.Add(Query.FieldByName('分摊方式').Value);
SubItems.Add(Query.FieldByName('总表').Value);
SubItems.Add(Query.FieldByName('公摊仪表类型').Value);
SubItems.Add(Query.FieldByName('倍率').Value);
SubItems.Add(Query.FieldByName('回程').Value);
SubItems.Add(Query.FieldByName('损耗率').Value);
SubItems.Add(Query.FieldByName('读数日期').Value);
SubItems.Add(Query.FieldByName('当前读数').Value);
SubItems.Add(Query.FieldByName('备注').Value);
end;
end;
query.Next;
end;
end;
if nLevel>0 then
begin
s:='select * from 组织机构 where 名称 = '''+treeview1.Selected.Text+'''';
query.SQL.Clear;
Query.SQL.Add(s);
Query.Open ;
if query.RecordCount>0 then
begin
s1:=Query.FieldByName('stampt').Value;
s:='select * from 组织机构 where 组织机构类别='''+'管理处';
s:=s+''' and stampt like '''+s1+'%''';
query1.SQL.Clear;
Query1.SQL.Add(s);
Query1.Open ;
while not Query1.Eof do
begin
s:='select * from 公摊仪表 where 编号 like ''%'+Edit1.text;
s:=s+'%'' order by 编号 asc';
query.SQL.Clear;
Query.SQL.Add(s);
Query.Open ;
while not Query.Eof do
begin
s:='select * from 管理区 where 编号='''+query.fieldbyname('管理区').Value;
s:=s+''' and 管理处 ='''+query1.fieldbyname('编号').Value;
s:=s+''' and 名称 like ''%'+edit2.Text+'%''';
query2.SQL.Clear;
query2.SQL.Add(s);
query2.open;
if query2.RecordCount>0 then
begin
with ListView1.Items.Add do
begin
Caption:=Query.FieldByName('编号').Value;
SubItems.Add(mainform.getName('管理区',Query.FieldByName('管理区').Value));
SubItems.Add(mainform.getName('收费项目',Query.FieldByName('收费项目').Value));
SubItems.Add(mainform.getName('收费标准',Query.FieldByName('收费标准').Value));
SubItems.Add(Query.FieldByName('公摊仪表类型').Value);
SubItems.Add(Query.FieldByName('倍率').Value);
SubItems.Add(Query.FieldByName('回程').Value);
SubItems.Add(Query.FieldByName('损耗率').Value);
SubItems.Add(Query.FieldByName('读数日期').Value);
SubItems.Add(Query.FieldByName('当前读数').Value);
SubItems.Add(Query.FieldByName('备注').Value);
SubItems.Add(Query.FieldByName('分摊方式').Value);
SubItems.Add(Query.FieldByName('总表').Value);
end;
end;
query.Next;
end;
query1.Next;
end;
end;
end;
query.close;
query.Free;
query1.close;
query1.Free;
query2.close;
query2.free;
if listview1.Items.Count>0 then listview1.Items.Item[0].Selected:=true;
end;
//Tab *********************************
procedure Tf_RealtyC42B.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
Begin
key:=0;
perform(WM_NEXTDLGCTL,0,0);
end
else if key=VK_ESCAPE then close;
end;
//freeform*******************************
procedure Tf_RealtyC42B.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
//highlight**********************************
procedure Tf_RealtyC42B.ListView2CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Item.Selected = true then
begin
Sender.Canvas.Brush.Color := clMenuHighlight;
(Sender as TListView).Canvas.Font.Color := clWhite;
end;
end;
procedure Tf_RealtyC42B.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Node.Selected then
begin
Sender.Canvas.Brush.Color:=clhighlight;
(Sender as TCustomTreeView).Canvas.Font.Color:=clwhite;
end;
end;
procedure Tf_RealtyC42B.Button4Click(Sender: TObject);
var
Query:TADOQuery;
begin
If (ListView2.SelCount = 0) Then exit;
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
query.SQL.Add('select * from 抄表费用公摊 where 单号='''+listview2.Selected.Caption+''' and 审核='''+'Y'+'''');
query.Open;
if query.RecordCount>0 then
begin
showmessage('已经审核,不能删除');
query.Close;
query.Free;
exit;
end;
if(Application.MessageBox(PChar('确认要删除所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=1) then
begin
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:='delete from 抄表费用公摊 where 单号='''+listview2.Selected.Caption+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
Query.Close;
Query.Free;
ListView2.Selected.Delete ;
if listview2.Items.Count = 1 then ListView2.Items.Item[0].Selected := True;
end;
end;
procedure Tf_RealtyC42B.Button6Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyC42B.Button7Click(Sender: TObject);
VAR
query:TADOQuery;
s,s1,s2,s3,sItem:string;
begin
if listview2.SelCount=0 then exit;
if(Application.MessageBox(PChar('确认要审核所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=2) then exit;
query:=TADOQuery.Create(nil);
query.Connection:=datamoduleado.ADOConnection1;
query.SQL.Add('select * from 抄表费用公摊 where 单号='''+listview2.Selected.Caption+''' and 审核='''+'Y'+'''');
query.Open;
if query.RecordCount>0 then
begin
showmessage('已经审核!');
query.Close;
query.Free;
exit;
end;
query.SQL.Clear;
Query.SQL.Add('select * from 抄表费用公摊 where 单号='''+listview2.Selected.Caption+'''');
Query.Open ;
if Query.RecordCount>0 then
begin
s:='update 抄表费用公摊 set 审核='''+'Y';
s:=s+''' where 单号='''+listview2.Selected.Caption+'''';
query.sql.Clear ;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:=s;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
showmessage('审核操作成功!');
end;
sItem:='公摊抄表项目:'+listview2.Selected.SubItems[10];
s:='select * from 应收款 where 单号='''+listview2.Selected.Caption;
s:=s+''' and 款项类别='''+sItem+'''';
query.SQL.clear;
Query.SQL.Add(s);
query.open;
if query.RecordCount=0 then
begin
s:='insert into 应收款(单号,客户名称,发生日期,应收金额,已收金额,已退金额,';
s:=s+'未收金额,承诺付款日期,联系人,联系电话,款项类别,付款类别,应收日期) values(:s1,';
s:=s+':s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13)';
s1:='-';
s2:='-';
query.SQL.Clear;
query.SQL.add('select * from 客户资料 where 客户代码='''+listview2.Selected.SubItems[1]+'''');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -