📄 realtyf51.pas
字号:
unit RealtyF51;
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_RealtyF51 = class(TForm)
GroupBox1: TGroupBox;
ListView1: TListView;
Label3: TLabel;
edit3: TEdit;
Label4: TLabel;
edit4: TEdit;
edit5: TComboBox;
Label5: TLabel;
Button1: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button2: TButton;
Label8: TLabel;
Button8: TButton;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
bMod:bool;
sTable:string;
cols:integer;
bnew:bool;
Bok:bool;
sNum:string;
sName:string;
end;
var
f_RealtyF51: Tf_RealtyF51;
implementation
uses data, main,RealtyF51A,RealtyF51B,realtyPrint1;
{$R *.dfm}
//公共函数**************************************************
//Tab 二
procedure Tf_RealtyF51.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;
//高亮 三
procedure Tf_RealtyF51.ListView1CustomDrawItem(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_RealtyF51.FormCreate(Sender: TObject);
begin
edit5.items.add('已审核');
edit5.items.add('未审核');
end;
procedure Tf_RealtyF51.Button1Click(Sender: TObject);
var
query,query1,query2:TADOQuery;
s,s1,s2,s3:string;
begin
listview1.Items.Clear;
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 edit5.Text='' then s1:='%';
if edit5.Text='已审核' then s1:='Y';
if edit5.Text='未审核' then s1:='N';
s:='select * from 装修申请 where 单号 like ''%'+edit3.Text;
s:=s+'%'' and 客户 like ''%'+edit4.Text;
s:=s+'%'' and 审核 like ''%'+s1+'%''';
query.SQL.Add(s);
query.Open;
while not query.Eof do
begin
with listview1.Items.Add do
begin
s3:=mainform.getName('房间',query.fieldbyname('房间').Value);
caption:=query.fieldbyname('单号').Value;
subitems.Add(s3);
subitems.Add(query.fieldbyname('客户').Value);
query2.SQL.Clear;
query2.SQL.Add('select * from 客户资料 where 客户名称='''+query.fieldbyname('客户').Value+'''');
query2.Open;
if query2.RecordCount>0 then
begin
subitems.Add(query2.fieldbyname('电话').Value);
end
else
begin
subitems.Add('');
end;
subitems.Add(query.fieldbyname('拟结束时间').Value);
query1.SQL.clear;
query1.SQL.Add('select * from 装修验收 where 申请单号 ='''+query.fieldbyname('单号').Value+'''');
query1.Open;
if query1.RecordCount>0 then subitems.Add(query1.fieldbyname('验收日期').Value)
else subitems.Add('');
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);
query1.SQL.Clear;
query1.SQL.Add('select * from 房间 where 编号 ='''+query.fieldbyname('房间').Value+'''') ;
query1.Open;
if query1.RecordCount>0 then
begin
query2.SQL.Clear;
query2.SQL.Add('select * from 管理区 where 编号='''+query1.fieldbyname('管理区').Value+'''');
query2.Open;
if query2.RecordCount>0 then s1:=query2.fieldbyname('名称').Value;
query2.SQL.Clear;
query2.SQL.Add('select * from 楼宇 where 编号='''+query1.fieldbyname('楼宇').Value+'''');
query2.Open;
if query2.RecordCount>0 then s2:=query2.fieldbyname('名称').Value;
subitems.Add(s2);
subitems.Add(s1);
end;
end;
query.Next;
end;
query2.Close;
query2.Free;
query1.Close;
query1.Free;
query.Close;
query.Free;
end;
procedure Tf_RealtyF51.ToolButton4Click(Sender: TObject);
begin
if listview1.selcount=0 then exit;
if listview1.Selected.SubItems[9]='N' then
begin
showmessage('请先审核,再进行验收!');
exit;
end;
bOk:=true;
sNum:=listview1.selected.caption;
close;
end;
procedure Tf_RealtyF51.Button3Click(Sender: TObject);
begin
bNew:=true;
f_RealtyF51A:=Tf_RealtyF51A.create(self);
f_RealtyF51A.ShowModal;
end;
procedure Tf_RealtyF51.Button5Click(Sender: TObject);
begin
if listview1.SelCount=0 then exit;
bNew:=false;
f_RealtyF51A:=Tf_RealtyF51A.create(self);
f_RealtyF51A.ShowModal;
end;
procedure Tf_RealtyF51.Button4Click(Sender: TObject);
var
Query:TADOQuery;
begin
if listview1.SelCount=0 then exit;
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
query.SQL.add('select * from 装修申请 where 单号='''+listview1.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 申请单号='''+listview1.Selected.Caption+'''');
query.Open;
if query.RecordCount>0 then
begin
showmessage('已经进行了验收,不能删除');
query.Close;
query.Free;
exit;
end;
if(Application.MessageBox(PChar('确认要删除所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=2) then exit;
DataModuleADO.ADOConnection1.BeginTrans;
query.sql.clear;
Query.SQL.Text:='delete from 装修申请 where 单号='''+listview1.Selected.Caption+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
DataModuleADO.ADOConnection1.BeginTrans;
query.sql.clear;
Query.SQL.Text:='delete from 装修收费 where 单号='''+listview1.Selected.Caption+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
query.Close;
query.Free;
listview1.selected.delete;
if listview1.Items.Count>0 then listview1.Items.Item[0].Selected:=true;
end;
procedure Tf_RealtyF51.Button2Click(Sender: TObject);
VAR
query:TADOQuery;
s:string;
begin
if listview1.SelCount=0 then exit;
query:=TADOQuery.Create(nil);
query.Connection:=datamoduleado.ADOConnection1;
if(Application.MessageBox(PChar('确认要审核所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=2) then exit;
f_RealtyF51B:=Tf_RealtyF51B.create(self);
f_RealtyF51B.ShowModal;
if f_RealtyF51B.bOK=true then
begin
query.SQL.Clear;
Query.SQL.Add('select * from 装修申请 where 单号='''+listview1.Selected.Caption+''' and 审核='''+'N'+'''');
Query.Open ;
if Query.RecordCount>0 then
begin
s:='update 装修申请 set 审核='''+'Y'+''' where 单号='''+listview1.Selected.Caption+'''';
query.sql.Clear ;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:=s;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
s:='update 装修申请 set 审核时间='''+datetostr(f_RealtyF51B.edit2.date);
s:=s+''', 审核人='''+f_RealtyF51B.edit1.Text;
s:=s+''', 审核意见='''+f_RealtyF51B.edit3.text;
s:=s+''' where 单号='''+listview1.Selected.Caption+'''';
query.sql.Clear ;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:=s;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
showmessage('审核操作成功!');
query.SQL.Clear;
query.SQL.Add('select * from 装修申请 where 单号='''+listview1.Selected.Caption+'''');
query.Open;
if query.RecordCount>0 then
begin
with listview1.Selected do
begin
subitems[9]:=query.fieldbyname('审核').Value;
subitems[10]:=query.fieldbyname('审核时间').Value;
subitems[11]:=query.fieldbyname('审核人').Value;
subitems[12]:=query.fieldbyname('审核意见').Value;
end;
end;
end;
query.Close;
query.free;
end;
procedure Tf_RealtyF51.Button7Click(Sender: TObject);
begin
bOK:=false;
close;
end;
procedure Tf_RealtyF51.Button8Click(Sender: TObject);
begin
if listview1.SelCount=0 then exit;
bOk:=true;
sNum:=listview1.Selected.Caption;
sName:=listview1.Selected.Subitems[0];
close;
end;
procedure Tf_RealtyF51.Button6Click(Sender: TObject);
var
i:integer;
Query:TADOQuery;
s:string;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:='delete from temp';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
for i:=0 to listview1.Items.Count-1 do
begin
s := 'insert into temp(列1,列2,列3,列4,列5,列6,列7,列8,列9,列10,';
s :=s+'列11,列12,列13,列14,列15,列16,列17)';
s :=s+' values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,';
s :=s+':s11,:s12,:s13,:s14,:s15,:s16,:s17)';
query.sql.Clear ;
query.sql.add(s);
query.Parameters.ParamByName('s1').Value:=listview1.Items.Item[i].Caption;
query.Parameters.ParamByName('s2').Value:=listview1.Items.Item[i].SubItems[0];
query.Parameters.ParamByName('s3').Value:=listview1.Items.Item[i].SubItems[1];
query.Parameters.ParamByName('s4').Value:=listview1.Items.Item[i].SubItems[2];
query.Parameters.ParamByName('s5').Value:=listview1.Items.Item[i].SubItems[3];
query.Parameters.ParamByName('s6').Value:=listview1.Items.Item[i].SubItems[4];
query.Parameters.ParamByName('s7').Value:=listview1.Items.Item[i].SubItems[5];
query.Parameters.ParamByName('s8').Value:=listview1.Items.Item[i].SubItems[6];
query.Parameters.ParamByName('s9').Value:=listview1.Items.Item[i].SubItems[7];
query.Parameters.ParamByName('s10').Value:=listview1.Items.Item[i].SubItems[8];
query.Parameters.ParamByName('s11').Value:=listview1.Items.Item[i].SubItems[9];
query.Parameters.ParamByName('s12').Value:=listview1.Items.Item[i].SubItems[10];
query.Parameters.ParamByName('s13').Value:=listview1.Items.Item[i].SubItems[11];
query.Parameters.ParamByName('s14').Value:=listview1.Items.Item[i].SubItems[12];
query.Parameters.ParamByName('s15').Value:=listview1.Items.Item[i].SubItems[13];
query.Parameters.ParamByName('s16').Value:=listview1.Items.Item[i].SubItems[14];
query.Parameters.ParamByName('s17').Value:=listview1.Items.Item[i].SubItems[15];
DataModuleADO.ADOConnection1.BeginTrans;
query.execsql;
DataModuleADO.ADOConnection1.CommitTrans;
end;
query.Close;
query.Free;
sFilep:='RealtyF51.fr3';
sTitlep:=Caption;
sPrintc:='select * from temp';
f_realtyPrint1:=Tf_realtyPrint1.Create(self);
f_realtyPrint1.showmodal;
end;
procedure Tf_RealtyF51.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -