⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zjgl.pas

📁 房屋出租信息管理系统,房屋出租信息的录入、查询、删除以及用户管理等功能
💻 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 + -