📄 zjgl.pas
字号:
unit Zjgl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, Grids, DBGrids, DB, ADODB,
Mask, DBCtrls;
type
TZjglForm = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label10: TLabel;
Label11: TLabel;
Dt_EndDate: TDateTimePicker;
Panel2: TPanel;
bitbtn_insert: TBitBtn;
bitbtn_modify: TBitBtn;
bitbtn_post: TBitBtn;
bitbtn_cancel: TBitBtn;
Panel3: TPanel;
DBGrid1: TDBGrid;
Label12: TLabel;
DS_Zjgl: TDataSource;
ADQ_Zjgl: TADOQuery;
Com_status: TComboBox;
ADQ_Zjglshow: TADOQuery;
Ed_yfzj: TEdit;
Label9: TLabel;
DT_Jkrq: TDateTimePicker;
Ed_fh: TEdit;
Label3: TLabel;
ADOQry_update: TADOQuery;
ADOQry_insert: TADOQuery;
Ed_bh: TEdit;
Ed_Yj: TEdit;
Ed_xm: TEdit;
Ed_yz: TEdit;
Ed_Ljf: TEdit;
Ed_begindate: TEdit;
Ed_sszj: TEdit;
BBtn_Print: TBitBtn;
BitBtn_find: TBitBtn;
fieldname: TComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Ed_fhChange(Sender: TObject);
procedure Ed_fhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Ed_fhKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure bitbtn_insertClick(Sender: TObject);
procedure bitbtn_postClick(Sender: TObject);
procedure bitbtn_modifyClick(Sender: TObject);
procedure bitbtn_cancelClick(Sender: TObject);
procedure Ed_YjChange(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure BBtn_PrintClick(Sender: TObject);
procedure BitBtn_findClick(Sender: TObject);
private
{ Private declarations }
public
Select_flag:integer;
procedure cleardata;
procedure enabledAdd;
procedure enabledfalse;
procedure AddData;
procedure ykh;
{ Public declarations }
end;
var
ZjglForm: TZjglForm;
implementation
uses DataModule,DateUtils, Cbreport, Unit_common_files, ZfSfGjcx;
{$R *.dfm}
procedure TzjglForm.ykh ;
var ADQ:TADOQuery;
begin
ADQ:=TADOQuery.Create(nil);
ADQ.Connection:=DB_module.ADOCon;
ADQ.SQL.Add('select *from dbo.Zf_Zujin where manid= :manid' );
ADQ.Parameters.ParamByName('manid').Value :=trim(Ed_bh.Text);
ADQ.Open ;
if ADQ.RecordCount >0 then
begin
Ed_Yj.Text :='0';
end
else
Ed_Yj.Text :=ADQ_zjglshow.FieldByName('fangya').Text ;
end;
procedure TzjglForm.enabledAdd ;
begin
bitbtn_insert.Enabled :=false;
bitbtn_post.Enabled :=true;
bitbtn_cancel.Enabled :=true;
Ed_yfzj.Enabled :=true;
Ed_fh.Enabled :=true;
Ed_sszj.Enabled :=true;
Dt_EndDate.Enabled :=true;
Com_status.Enabled :=true;
end;
procedure TzjglForm.enabledfalse ;
begin
Ed_yfzj.Enabled :=false;
Ed_fh.Enabled :=false;
Ed_sszj.Enabled :=false;
Dt_EndDate.Enabled :=false;
Com_status.Enabled :=false;
bitbtn_cancel.Enabled:=false;
bitbtn_insert.Enabled:=true;
end;
procedure TzjglForm.cleardata ;
begin
Ed_fh.Clear ;
com_status.Text :='';
end;
procedure TZjglForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action :=cafree;
ZjglForm:=nil;
end;
procedure TzjglForm.AddData ;
begin
Ed_bh.Text := ADQ_Zjgl.fieldbyname('manid').Text ;
Ed_Yj.Text := ADQ_zjgl.fieldbyname('fangya').Text ;
Ed_yz.Text := ADQ_zjgl.fieldbyname('fangprice').Text ;
ED_Ljf.Text := ADQ_zjgl.fieldbyname('Ljf').Text ;
Ed_yfzj.Text := ADQ_zjgl.fieldbyname('Yf').Text ;
DT_Jkrq.Date := ADQ_zjgl.fieldbyname('jkrq').Value ;
Ed_fh.Text := ADQ_zjgl.fieldbyname('fangno').Text ;
Ed_sszj.Text := ADQ_zjgl.fieldbyname('sf').Text ;
Dt_endDate.Date:= ADQ_zjgl.fieldbyname('endDate').Value ;
Com_status.Text:= ADQ_zjgl.fieldbyname('status').Text ;
end;
procedure TZjglForm.Ed_fhChange(Sender: TObject);
var khy :Double;
begin
if ADQ_Zjglshow.Active then
ADQ_Zjglshow.Close;
ADQ_Zjglshow.SQL.Clear ;
ADQ_Zjglshow.SQL.Add('SELECT a.manid, a.manname, b.fangno,c.fangya, c.fangprice,c.ljf,b.begindate FROM dbo.Zf_Rz b INNER');
ADQ_Zjglshow.SQL.Add('JOIN dbo.Zf_Fangjian c ON b.fangno = c.fangno INNER JOIN dbo.Zf_Man a ON b.manid = a.manid');
ADQ_Zjglshow.SQL.Add('where (b.fangno like :fangno or a.zjm like :zjm) and B.status=''1''');
ADQ_Zjglshow.Parameters.ParamByName('fangno').Value:=trim(Ed_fh.Text)+'%';
ADQ_Zjglshow.Parameters.ParamByName('zjm').Value :=trim(Ed_fh.Text)+'%';
ADQ_Zjglshow.Open;
if ADQ_Zjglshow.RecordCount >0 then
begin
khy:= StrToFloat(trim(Ed_Yj.text))+StrToFloat(trim(Ed_yz.Text))+StrToFloat(trim(Ed_Ljf.Text));
Ed_yfzj.Text:= Floattostr(khy);
Ed_sszj.Text:= Floattostr(khy);
Ed_bh.Text:=ADQ_Zjglshow.FieldByName('manid').Text;
Ed_xm.Text:=ADQ_zjglshow.FieldByName('manname').Text ;
Ed_yz.Text:=ADQ_zjglshow.FieldByName('fangprice').Text ;
Ed_Ljf.Text:=ADQ_zjglshow.FieldByName('Ljf').Text ;
Ed_begindate.Text:=ADQ_zjglshow.FieldByName('begindate').Text ;
ykh;
end
else
begin
showmessage('对不起!没有此用户');
Ed_fh.SelectAll ;
exit;
end;
end;
procedure TZjglForm.Ed_fhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
begin
Ed_fh.Text:=ADQ_Zjglshow.fieldbyname('fangno').asstring;
end;
end;
procedure TZjglForm.Ed_fhKeyPress(Sender: TObject; var Key: Char);
begin
if (key>='0')and(key<='9') then
begin
ADQ_Zjglshow.Locate('fangno',trim(Ed_fh.text+char(key)),[]);
end;
end;
procedure TZjglForm.FormCreate(Sender: TObject);
begin
ADQ_Zjgl.Open ;
Dt_EndDate.Date:=date();
end;
procedure TZjglForm.bitbtn_insertClick(Sender: TObject);
begin
select_flag:=1;
enabledAdd;
cleardata;
Ed_Fh.SetFocus ;
DT_Jkrq.Date:=date();
end;
procedure TZjglForm.bitbtn_postClick(Sender: TObject);
begin
try
if Ed_fh.Text='' then
begin
Application.MessageBox('请填写房号','余科华提示',MB_OK+MB_ICONINFORMATION);
Ed_Fh.SetFocus ;
exit;
end;
if Ed_sszj.Text='' then
begin
Application.MessageBox('请填写实收租金','余科华提示',MB_OK+MB_ICONINFORMATION);
Ed_sszj.SetFocus ;
exit;
end;
if Com_status.Text='' then
begin
Application.MessageBox('请填写状态','余科华提示',MB_OK+MB_ICONINFORMATION);
Com_status.SetFocus ;
exit;
end;
if DB_module.ADOCon.InTransaction then DB_module.ADOCon.RollbackTrans ;
DB_module.ADOCon.BeginTrans;
if Select_flag=1 then
begin
if ADOQry_insert.Active then
ADOQry_insert.Close;
ADOQry_insert.Parameters.ParamByName('fangNO').Value :=Ed_Fh.Text ;
ADOQry_insert.Parameters.ParamByName('manid').Value:=Ed_bh.Text;
ADOQry_insert.Parameters.ParamByName('jkrq').Value:=DT_Jkrq.Date ;
ADOQry_insert.Parameters.ParamByName('fangya').Value:=Ed_Yj.Text ;
ADOQry_insert.Parameters.ParamByName('fangprice').Value:=Ed_yz.Text ;
ADOQry_insert.Parameters.ParamByName('Ljf').Value:=Ed_Ljf.Text ;
ADOQry_insert.Parameters.ParamByName('Yf').Value:=Ed_yfzj.Text;
ADOQry_insert.Parameters.ParamByName('sf').Value:=Ed_sszj.Text;
ADOQry_insert.Parameters.ParamByName('begindate').Value:=Ed_begindate.Text ;
ADOQry_insert.Parameters.ParamByName('enddate').Value:=Dt_EndDate.Date ;
if trim(Com_status.text)='已交款' then
ADOQry_insert.Parameters.ParamByName('status').Value:='1'
else
ADOQry_insert.Parameters.ParamByName('status').Value:='0';
ADOQry_insert.ExecSQL;
DB_module.ADOCon.CommitTrans;
showmessage('保存成功!');
if ADQ_Zjgl.Active then
ADQ_Zjgl.Close;
ADQ_Zjgl.Open ;
end
else if select_flag=2 then
begin
if ADOQry_update.Active then
ADOQry_update.Close;
ADOQry_update.Parameters.ParamByName('fangno').Value :=Ed_Fh.Text ;
ADOQry_update.Parameters.ParamByName('manid').Value:=Ed_bh.Text;
ADOQry_update.Parameters.ParamByName('jkrq').Value:=DT_Jkrq.Date ;
ADOQry_update.Parameters.ParamByName('fangya').Value:=Ed_Yj.Text ;
ADOQry_update.Parameters.ParamByName('fangprice').Value:=Ed_yz.Text ;
ADOQry_update.Parameters.ParamByName('Ljf').Value:=Ed_Ljf.Text ;
ADOQry_update.Parameters.ParamByName('Yf').Value:=Ed_yfzj.Text;
ADOQry_update.Parameters.ParamByName('sf').Value:=Ed_sszj.Text;
ADOQry_update.Parameters.ParamByName('begindate').Value:=Ed_begindate.Text ;
ADOQry_update.Parameters.ParamByName('enddate').Value:=Dt_EndDate.Date ;
if trim(Com_status.text)='已交款' then
ADOQry_update.Parameters.ParamByName('status').Value:='1'
else
ADOQry_update.Parameters.ParamByName('status').Value:='0';
ADOQry_update.Parameters.ParamByName('oldID').value:=trim(ADQ_Zjgl.FieldByName('ID').Value) ;
ADOQry_update.ExecSQL;
DB_module.ADOCon.CommitTrans;
showmessage('修改成功!');
if ADQ_Zjgl.Active then
ADQ_Zjgl.Close;
ADQ_Zjgl.Open ;
end
except
begin
MessageBox(0,'操作失败!','',MB_OK+MB_ICONERROR);
DB_module.ADOCon.RollbackTrans;
exit;
end;
end;
enabledfalse ;
end;
procedure TZjglForm.bitbtn_modifyClick(Sender: TObject);
begin
select_flag:=2;
AddData;
enabledAdd;
end;
procedure TZjglForm.bitbtn_cancelClick(Sender: TObject);
begin
enabledfalse ;
bitbtn_insert.Enabled:=true;
bitbtn_post.Enabled :=false;
bitbtn_cancel.Enabled:=false;
end;
procedure TZjglForm.Ed_YjChange(Sender: TObject);
var khy :Double;
begin
khy:= StrToFloat(trim(Ed_Yj.text))+StrToFloat(trim(Ed_yz.Text))+StrToFloat(trim(Ed_Ljf.Text));
Ed_yfzj.Text:= Floattostr(khy);
Ed_sszj.Text:= Floattostr(khy);
end;
procedure TZjglForm.DBGrid1DblClick(Sender: TObject);
begin
AddData;
end;
procedure TZjglForm.BBtn_PrintClick(Sender: TObject);
begin
if ADQ_Zjgl.IsEmpty then
begin
messagebox(0,'请查询后再打印!','余科华提示',MB_OK+MB_ICONWARNING);
Exit;
end
else
begin
BbForm_report:=TBbForm_report.Create(nil);
try
BbForm_report.QRL_RmbDx.Caption:=tochinesecurrency(ADQ_Zjgl.fieldbyname('sf').AsCurrency);
BbForm_report.Qp_Fzsj.Preview ;
finally
BbForm_report.Free ;
end;
end;
end;
procedure TZjglForm.BitBtn_findClick(Sender: TObject);
var
lop,f_count:integer;
begin
ZfSfGjcxForm:= TZfSfGjcxForm.create(nil);
try
if not ADQ_Zjgl.Active then ADQ_Zjgl.Open;
f_count := DBGrid1.columns.Count;
for lop := 0 to f_count -1 do
begin
fieldname.Items.Add(DBGrid1.columns[lop].FieldName);
ZfSfGjcxForm.Com_jl.Items.Add(DBGrid1.columns[lop].Title.Caption);
end;
ZfSfGjcxForm.fieldname.items.Assign(fieldname.items);
if ZfSfGjcxForm.ShowModal = mryes then
begin
ADQ_Zjgl.Close;
ADQ_Zjgl.SQL.Clear;
ADQ_Zjgl.SQL.Add('SELECT A.id,A.fangno, A.manid, B.manname, A.Jkrq, A.fangya,');
ADQ_Zjgl.SQL.Add('A.fangprice, A.Ljf, A.Yf,A.sf, A.begindate, A.enddate, ');
ADQ_Zjgl.SQL.Add('case A.status when ''1'' then ''已交款'' else ''未交款'' end as status ');
ADQ_Zjgl.SQL.Add('FROM dbo.Zf_Zujin A INNER JOIN dbo.Zf_Man B ON A.manid = B.manid');
ADQ_Zjgl.SQL.Add(ZfSfGjcxForm.returnstr);
ADQ_Zjgl.Open;
end;
finally
ZfSfGjcxForm.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -