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

📄 realtyc42b.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
📖 第 1 页 / 共 4 页
字号:
                    s:=s+'''';
                    query3.SQL.clear;
                    query3.SQL.Add(s);
                    query3.Open;
                    while not query3.Eof do
                    begin
                        query2.SQL.Clear;
                        query2.SQL.Add('select * from 房间仪表 where 编号='''+query3.fieldbyname('房间仪表').Value+'''');
                        query2.Open;
                        if query2.RecordCount>0 then
                        begin
                            if query2.fieldbyname('仪表种类').Value=s12 then
                            begin
                                d22:=query3.fieldbyname('实际行度').AsVariant;
                                break;
                            end;
                        end;

                        query3.Next;
                    end;


                    if (s4='按用量分摊') and (d2>0) then d22:=d1/d2*d22;
                    if (s4='按建筑面积分摊') and (d3>0) then d22:=d1/d3*d33;
                    if (s4='平均分摊') then d22:=d1/n;


                    s5:=Format('%.2f', [d1]);
                    s6:=Format('%.2f', [d22]);
                    s8:=Format('%.2f',[d22*strtofloat(s7)]);
                    s9:=czy;
                    s10:=copy(datetostr(DateTimePicker3.Date),1,7);



                    ////////////////////////////////////////////////////////////  生成

                    s := 'select top 1 * from 抄表费用公摊 ORDER BY  单号 DESC';
                    query2.SQL.Clear;
                    Query2.SQL.Add(s);
                    Query2.Open ;
                    if query2.recordcount > 0 then
                    begin
                        s:= Query2.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 s1 := inttostr(i);
                    end
                    else  s1 := '0000001';




                    s:='insert into 抄表费用公摊 (单号,房间,客户,分摊方式,实际行度,分摊行度,';
                    s:=s+'单价,金额,制单人,收费月份,分摊表,收费项目,审核,发生日期,应收日期)';
                    s:=s+'values (:s1,:s2,:s3,:s4,:s5,';
                    s:=s+':s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13,:s14,:s15)';

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

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

                    query2.Parameters.ParamByName('s6').Value:=s6;
                    query2.Parameters.ParamByName('s7').Value:=s7;
                    query2.Parameters.ParamByName('s8').Value:=s8;
                    query2.Parameters.ParamByName('s9').Value:=s9;
                    query2.Parameters.ParamByName('s10').Value:=s10;
                    query2.Parameters.ParamByName('s11').Value:=query.fieldbyname('编号').Value;
                    query2.Parameters.ParamByName('s12').Value:=s11;
                    query2.Parameters.ParamByName('s13').Value:='N';
                    query2.Parameters.ParamByName('s14').Value:=datetostr(date);
                    query2.Parameters.ParamByName('s15').Value:=sDay;


                    DataModuleADO.ADOConnection1.BeginTrans;
                    query2.ExecSQL;
                    DataModuleADO.ADOConnection1.CommitTrans;

                    bSucceed:=true;
                end;

////////////////楼宇///////////////
                if query1.fieldbyname('类型').Value='楼宇' then
                begin
                    s:='select * from 房间 where 楼宇='''+query1.fieldbyname('类型编号').Value;
                    s:=s+'''';

                    query22.SQL.clear;
                    query22.SQL.Add(s);
                    query22.Open;
                    while not query22.Eof do
                    begin
                        s2:=Query22.Fieldbyname('编号').AsString;

                        s:='select * from 房间抄表 where 抄表月份='''+sMonth;
                        s:=s+''' and 房间='''+s2;
                        s:=s+'''';
                        query3.SQL.clear;
                        query3.SQL.Add(s);
                        query3.Open;
                        if query3.RecordCount>0 then d22:=query3.fieldbyname('实际行度').AsVariant;


                        s:='select * from 房间 where 编号='''+s2;
                        s:=s+'''';
                        query3.SQL.clear;
                        query3.SQL.Add(s);
                        query3.Open;
                        if query3.RecordCount>0 then d33:=query3.fieldbyname('建筑面积').AsVariant;

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

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

                        if (s4='按用量分摊') and (d2>0) then d22:=d1/d2*d22;
                        if (s4='按建筑面积分摊') and (d3>0) then d22:=d1/d3*d33;
                        if (s4='平均分摊') then d22:=d1/n;

                        s5:=Format('%.2f', [d1]);
                        s6:=Format('%.2f', [d22]);
                        s8:=Format('%.2f',[d22*strtofloat(s7)]);
                        s9:=czy;
                        s10:=copy(datetostr(DateTimePicker3.Date),1,7);




                        ////////////////////////////////////////////////////////////  生成

                        s := 'select top 1 * from 抄表费用公摊 ORDER BY  单号 DESC';
                        query2.SQL.Clear;
                        Query2.SQL.Add(s);
                        Query2.Open ;
                        if query2.recordcount > 0 then
                        begin
                            s:= Query2.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 s1 := inttostr(i);
                        end
                        else  s1 := '0000001';

                        s:='insert into 抄表费用公摊 (单号,房间,客户,分摊方式,实际行度,分摊行度,';
                        s:=s+'单价,金额,制单人,收费月份,分摊表,收费项目,审核,发生日期,应收日期)';
                        s:=s+'values (:s1,:s2,:s3,:s4,:s5,';
                        s:=s+':s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13,:s14,:s15)';

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

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

                        query2.Parameters.ParamByName('s6').Value:=s6;
                        query2.Parameters.ParamByName('s7').Value:=s7;
                        query2.Parameters.ParamByName('s8').Value:=s8;
                        query2.Parameters.ParamByName('s9').Value:=s9;
                        query2.Parameters.ParamByName('s10').Value:=s10;
                        query2.Parameters.ParamByName('s11').Value:=query.fieldbyname('编号').Value;
                        query2.Parameters.ParamByName('s12').Value:=s11;
                        query2.Parameters.ParamByName('s13').Value:='N';
                        query2.Parameters.ParamByName('s14').Value:=datetostr(date);
                        query2.Parameters.ParamByName('s15').Value:=sDay;

                        DataModuleADO.ADOConnection1.BeginTrans;
                        query2.ExecSQL;
                        DataModuleADO.ADOConnection1.CommitTrans;

                        query22.Next;

                        bSucceed:=true;
                    end;
                end;

                query1.Next;
            end;
        end;
    end;

    if bSucceed=true then
    begin
        showmessage('批量生成成功。');
    end;

    DateTimePicker3.Visible:=false;
    Label4.Visible:=false;
    Button8.Visible:=false;
end;

procedure Tf_RealtyC42B.Button1Click(Sender: TObject);
begin
    TreeView1Click(Sender);
end;


procedure Tf_RealtyC42B.Button9Click(Sender: TObject);
begin
    DateTimePicker3.Visible:=true;
    Label4.Visible:=true;
    Button8.Visible:=true;
end;

procedure Tf_RealtyC42B.ListView1Click(Sender: TObject);
begin
    Button10Click(Sender);    
end;

procedure Tf_RealtyC42B.Button10Click(Sender: TObject);
var
    query,query1:TADOQuery;
    s1,s:string;
begin
    if listview1.SelCount=0 then exit;

    listview2.Items.Clear;

    query:=TADOQuery.Create(nil);
    query.Connection:=DataModuleADO.ADOConnection1;
    query1:=TADOQuery.Create(nil);
    query1.Connection:=DataModuleADO.ADOConnection1;

    s:='select * from 抄表费用公摊 where 收费月份>='''+copy(datetostr(DateTimePicker1.Date),1,7);
    s:=s+''' and 收费月份<='''+copy(datetostr(DateTimePicker2.Date),1,7);
    s:=s+''' and 分摊表='''+listview1.Selected.Caption;
    s:=s+'''';

    query.SQL.Clear;
    query.SQL.Add(s);
    query.open;
    while not Query.Eof do
    begin
        query1.SQL.Clear;
        query1.SQL.Add('select * from 客户资料 where 客户代码='''+Query.FieldByName('客户').Value+'''');
        query1.Open;
        if query1.RecordCount>0 then
        begin
            s1:=query1.fieldbyname('客户名称').Value;
        end;

        with ListView2.Items.Add do
        begin
            Caption:=Query.FieldByName('单号').Value;
            SubItems.Add(mainform.getName('房间',Query.FieldByName('房间').Value));
            SubItems.Add(Query.FieldByName('客户').Value);
            SubItems.Add(s1);
            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(mainform.getName('收费项目', query.FieldByName('收费项目').Value));
            SubItems.Add(Query.FieldByName('应收日期').Value);
        end;

        query.Next;
    end;

    if listview2.Items.Count>0 then listview2.Items.Item[0].Selected:=true;
end;

procedure Tf_RealtyC42B.Button5Click(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 listview2.Items.Count-1 do
    begin
        s:= 'insert into temp(列1,列2,列3,列4,列5,列6,列7,列8,列9,列10,';
        s:=s+'列11,列12,列13)';
        s:=s+'values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,';
        s:=s+':s11,:s12,:s13)';

        query.sql.Clear ;
        query.sql.add(s);
        query.Parameters.ParamByName('s1').Value:=listview2.Items.Item[i].Caption;
        query.Parameters.ParamByName('s2').Value:=listview2.Items.Item[i].SubItems[0];
        query.Parameters.ParamByName('s3').Value:=listview2.Items.Item[i].SubItems[1];
        query.Parameters.ParamByName('s4').Value:=listview2.Items.Item[i].SubItems[2];
        query.Parameters.ParamByName('s5').Value:=listview2.Items.Item[i].SubItems[3];
        query.Parameters.ParamByName('s6').Value:=listview2.Items.Item[i].SubItems[4];
        query.Parameters.ParamByName('s7').Value:=listview2.Items.Item[i].SubItems[5];
        query.Parameters.ParamByName('s8').Value:=listview2.Items.Item[i].SubItems[6];
        query.Parameters.ParamByName('s9').Value:=listview2.Items.Item[i].SubItems[7];
        query.Parameters.ParamByName('s10').Value:=listview2.Items.Item[i].SubItems[8];
        query.Parameters.ParamByName('s11').Value:=listview2.Items.Item[i].SubItems[9];
        query.Parameters.ParamByName('s12').Value:=listview2.Items.Item[i].SubItems[10];
        query.Parameters.ParamByName('s13').Value:=listview2.Items.Item[i].SubItems[11];



        DataModuleADO.ADOConnection1.BeginTrans;
        query.execsql;
        DataModuleADO.ADOConnection1.CommitTrans;
    end;

    query.Close;
    query.Free;

    sFilep:='RealtyC42B.fr3';

    sTitlep:=Caption;
    sPrintc:='select * from temp';
    f_RealtyPrint1:=Tf_RealtyPrint1.Create(self);
    f_RealtyPrint1.showmodal;

end;

end.

⌨️ 快捷键说明

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