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

📄 realtyc41a.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit RealtyC41A;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
  StrUtils, ExtDlgs, ComCtrls, math, ToolWin, ImgList, Menus;

type
    Tf_RealtyC41A = class(TForm)
    Label2: TLabel;
    Button5: TButton;
    Button7: TButton;
    Edit7: TEdit;
    Button1: TButton;
    Label3: TLabel;
    Edit5: TEdit;
    Button2: TButton;
    Label7: TLabel;
    Edit8: TEdit;
    Button3: TButton;
    DateTimePicker1: TDateTimePicker;
    Label1: TLabel;


    procedure NN6Click(Sender: TObject);


    procedure Button7Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
     bMod:bool;
     sTable:string;
     cols:integer;
     bGetdata:bool;
  end;


var
  f_RealtyC41A: Tf_RealtyC41A;
implementation
uses data, main,RealtyC33,RealtyA12,Car4s931,realtyI11C,RealtyA11;
{$R *.dfm}



//Close*************************************
procedure Tf_RealtyC41A.NN6Click(Sender: TObject);
begin
    close;
end;



procedure Tf_RealtyC41A.Button7Click(Sender: TObject);
Var
    query,query1,query2,query11:TADOQuery;
    s,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,r,r3,ss:string;
    i:integer;
    d:double;
begin
    query:=TADOQuery.Create(nil);
    query.Connection:=DataModuleADO.ADOConnection1;
    query1:=TADOQuery.Create(nil);
    query1.Connection:=DataModuleADO.ADOConnection1;
    query2:=TADOQuery.Create(nil);
    query2.Connection:=DataModuleADO.ADOConnection1;
    query11:=TADOQuery.Create(nil);
    query11.Connection:=DataModuleADO.ADOConnection1;

    if (edit5.Text='') and (edit8.text='') and (edit7.Text='')  then
    begin
        showmessage('请选择要新增的单位');
        exit;
    end;


    if edit5.Text<>'' then
    begin
        ss:='按管理区';
        s:='select * from 常规费用 where 收费月份='''+copy(datetostr(DateTimePicker1.Date),1,7);
        s:=s+''' and 自动生成类别='''+ss+'''';
        query.SQL.clear;
        query.SQL.Add(s);
        query.Open;
        if query.RecordCount>0 then
        begin
            showmessage('已经'+ss+'生成'+copy(datetostr(DateTimePicker1.Date),1,7)+'月份的常规收费');
            exit;
        end;

        query11.SQL.clear;
        query11.SQL.Add('select * from 房间 where 管理区='''+mainform.getNum(edit5.Text)+'''');
        query11.Open;
        while not query11.Eof do
        begin
            s2:=query11.fieldbyname('编号').Value;

            d:=query11.fieldbyname('建筑面积').AsVariant;

            query1.SQL.Clear;
            query1.SQL.Add('select * from 入伙登记 where 房间='''+s2+'''');
            query1.Open;
            if query1.RecordCount>0 then
            begin
                s3:=query1.fieldbyname('客户').Value;

                query1.SQL.Clear;
                query1.SQL.Add('select * from 客户资料 where 客户名称='''+s3+'''');
                query1.Open;
                if query1.RecordCount>0 then
                begin
                    s3:=query1.fieldbyname('客户代码').Value;
                end;



                s9:='0';
                query.SQL.Clear;
                query.SQL.Add('select * from 房间收费项目设置 where 房间编号='''+s2+'''');
                query.Open;
                while not query.Eof do
                begin
                    s4:=query.fieldbyname('收费项目编号').Value;
                    s5:=query.fieldbyname('收费标准编号').Value;


                    s:='select * from 收费项目 where 编号='''+s4;
                    s:=s+''' and 费用项目类型='''+'常规收费项目';
                    s:=s+'''';

                    query2.SQL.Clear;
                    query2.SQL.Add(s);
                    query2.Open;
                    if query2.RecordCount>0 then
                    begin
                        s:='select * from 收费标准 where 编号='''+query.fieldbyname('收费标准编号').Value;
                        s:=s+'''';

                        query2.SQL.Clear;
                        query2.SQL.Add(s);
                        query2.Open;
                        if query2.RecordCount>0 then
                        begin
                            s:= query2.fieldbyname('收费时间').Value;

                            s:='select * from 收费时间 where 编号='''+s;
                            s:=s+'''';

                            s9:=query2.fieldbyname('单价').Value;
                            s10:=Format('%.2f', [strtofloat(s9)*d]);

                            query2.SQL.Clear;
                            query2.SQL.Add(s);
                            query2.Open;
                            if query2.RecordCount>0 then
                            begin
                                if query2.fieldbyname('名称').Value='收当月' then
                                begin
                                    s6:=query2.fieldbyname('收费日期').Value;
                                    if strtoint(s6)<10 then s6:='0'+s6;

                                    s6:=copy(datetostr(date),1,7)+'-'+ s6;
                                end;

                                if query2.fieldbyname('名称').Value='收上月' then
                                begin
                                    if strtoint(query2.fieldbyname('收费日期').Value)<10 then s6:='0'+query2.fieldbyname('收费日期').Value
                                    else s6:= query2.fieldbyname('收费日期').Value;

                                    s7:=copy(datetostr(date),1,7)+'-01';
                                    s7:=datetostr(strtodate(s7)-1);

                                    s6:=copy(s7,1,7)+'-'+ s6;
                                end;

                                if query2.fieldbyname('名称').Value='收下月' then
                                begin
                                    if strtoint(query2.fieldbyname('收费日期').Value)<10 then s6:='0'+query2.fieldbyname('收费日期').Value
                                    else s6:= query2.fieldbyname('收费日期').Value;

                                    s7:=copy(datetostr(date),1,7)+'-28';
                                    s7:=datetostr(strtodate(s7)+4);

                                    s6:=copy(s7,1,7)+'-'+ s6;
                                end;


                                if query2.fieldbyname('名称').Value='指定月' then
                                begin
                                    s6:=query2.fieldbyname('收费日期').Value;
                                    if strtoint(s6)<10 then s6:='0'+s6;

                                    s6:=copy(datetostr(date),1,7)+'-'+ s6;


                                    s:='select * from 收费时间明细 where 编号='''+query2.fieldbyname('编号').Value;
                                    s:=s+''' and 月份='''+copy(copy(datetostr(date),1,7),6,2);
                                    s:=s+'''';

                                    query2.SQL.Clear;
                                    query2.SQL.Add(s);
                                    query2.Open;
                                    if query2.RecordCount=0 then s6:='';
                                end;
                            end;
                        end;

                        s := 'select top 1 * from 常规费用 ORDER BY  单号 DESC';

                        query1.SQL.Clear;
                        Query1.SQL.Add(s);
                        Query1.Open ;
                        if query1.recordcount > 0 then
                        begin
                            s:= Query1.Fieldbyname('单号').AsString;
                            s:= Copy(S, 1, 7);
                            i:= strtoint(s)+1;
                            if i<10 then s1 := '000000'+inttostr(i)
                            else if (i > 9) and (i<100) then s1 := '00000'+inttostr(i)
                            else if (i > 99) and (i<1000) then s1 := '0000'+inttostr(i)
                            else if (i > 999) and (i<10000) then s1 := '000'+inttostr(i)
                            else if (i > 9999) and (i<100000) then s1 := '00'+inttostr(i)
                            else if (i > 99999) and (i<1000000) then s1 := '0'+inttostr(i)
                            else if i>999999 then s3 := inttostr(i);
                        end
                        else  s1 := '0000001';


                        s:='select * from 常规费用 where 收费月份='''+copy(datetostr(DateTimePicker1.Date),1,7);
                        s:=s+''' and 房间='''+s2+''' and 收费项目='''+s4;
                        s:=s+'''';

                        query1.SQL.clear;
                        query1.SQL.Add(s);
                        query1.Open;
                        if (query1.RecordCount=0) and (s6<>'')then
                        begin
                            s:='insert into 常规费用 (单号,房间,客户,收费项目,收费标准,';
                            s:=s+'应收日期,计费开始日期,计费结束日期,单价,金额,';
                            s:=s+'优惠金额,优惠后金额,滞纳金截至日期,滞纳金天数,滞纳金,';
                            s:=s+'减免缴滞纳金,应收滞纳金,收取滞纳金,应收金额,已收金额,';
                            s:=s+'已收全,收全日期,收取费用类型,备注,制单人,';
                            s:=s+'修订人,自动生成类别,收费月份)';
                            s:=s+'values (:s1,:s2,:s3,:s4,:s5,';
                            s:=s+':s6,:s7,:s8,:s9,:s10,';
                            s:=s+':s11,:s12,:s13,:s14,:s15,';
                            s:=s+':s16,:s17,:s18,:s19,:s20,';
                            s:=s+':s21,:s22,:s23,:s24,:s25,';
                            s:=s+':s26,:s27,:s28)';

                            query1.SQL.Clear;
                            query1.SQL.Add(s);

                            query1.Parameters.ParamByName('s1').Value:=s1;
                            query1.Parameters.ParamByName('s2').Value:=s2;
                            query1.Parameters.ParamByName('s3').Value:=s3;
                            query1.Parameters.ParamByName('s4').Value:=s4;
                            query1.Parameters.ParamByName('s5').Value:=s5;

                            query1.Parameters.ParamByName('s6').Value:=s6;
                            query1.Parameters.ParamByName('s7').Value:=datetostr(date);
                            query1.Parameters.ParamByName('s8').Value:=datetostr(date);
                            query1.Parameters.ParamByName('s9').Value:=s9;
                            query1.Parameters.ParamByName('s10').Value:=s10;

                            query1.Parameters.ParamByName('s11').Value:=0;
                            query1.Parameters.ParamByName('s12').Value:=0;
                            query1.Parameters.ParamByName('s13').Value:=datetostr(date);
                            query1.Parameters.ParamByName('s14').Value:=0;
                            query1.Parameters.ParamByName('s15').Value:=0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -