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

📄 realtyc42b.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
📖 第 1 页 / 共 4 页
字号:
                    query2.SQL.Clear;
                    query2.SQL.Add(s);
                    query2.Open;
                    if query2.RecordCount=0 then s6:='';
                end;

                sDay:=s6;
                s7:=s8;/////////////////////////单价
            end;
        end;

        s:='select * from 收费项目 where 编号='''+query.fieldbyname('收费项目').Value;
        s:=s+'''';
        query2.SQL.Clear;
        query2.SQL.Add(s);
        query2.Open;
        if query2.RecordCount>0 then s12:=query2.fieldbyname('仪表种类').Value;



        s:='select * from 管理区公摊抄表 where 公摊仪表 ='''+listview1.Selected.Caption;
        s:=s+''' and 抄表月份='''+sMonth;
        s:=s+'''';

        d1:=0;
        query3.SQL.clear;
        query3.SQL.Add(s);
        query3.Open;
        if query3.RecordCount>0 then
        begin
            d1:=query3.fieldbyname('实际行度').AsVariant;
        end;


        //房间仪表总用量、建筑面积、仪表总数       ----------始
        s:='select * from 公摊仪表明细 where 编号='''+query.fieldbyname('编号').Value;
        s:=s+'''';
        query2.SQL.clear;
        query2.SQL.Add(s);
        query2.Open;
        if query2.RecordCount>0 then sStyle:=query2.fieldbyname('类型').Value;

        d2:=0;
        d3:=0;
        n:=0;

        if sStyle='房间' then
        begin
            s:='select * from 公摊仪表明细 where 编号='''+query.fieldbyname('编号').Value;
            s:=s+'''';
            query2.SQL.clear;
            query2.SQL.Add(s);
            query2.Open;
            while not query2.Eof do
            begin
                s:='select * from 房间 where 编号='''+query2.fieldbyname('类型编号').Value+'''';
                query3.SQL.clear;
                query3.SQL.Add(s);
                query3.Open;
                if query3.RecordCount>0 then d3:=d3+query3.fieldbyname('建筑面积').AsVariant;


                s:='select * from 房间抄表 where 抄表月份='''+sMonth;
                s:=s+''' and 房间='''+query2.fieldbyname('类型编号').Value;
                s:=s+'''';
                query3.SQL.clear;
                query3.SQL.Add(s);
                query3.Open;
                while not query3.Eof do
                begin
                    query4.SQL.Clear;
                    query4.SQL.Add('select * from 房间仪表 where 编号='''+query3.fieldbyname('房间仪表').Value+'''');
                    query4.Open;
                    if query4.RecordCount>0 then
                    begin
                        if query4.fieldbyname('仪表种类').Value=s12 then
                        begin
                            d2:=d2+query3.fieldbyname('实际行度').AsVariant;
                            break;
                        end;
                    end;

                    query3.Next;
                end;

                query2.Next;
            end;
            n:=query2.RecordCount;
        end;


        if sStyle='楼宇' then
        begin
            s:='select * from 公摊仪表明细 where 编号='''+query.fieldbyname('编号').Value;
            s:=s+'''';
            query2.SQL.clear;
            query2.SQL.Add(s);
            query2.Open;
            while not query2.Eof do
            begin
                s:='select * from 房间 where 楼宇='''+query2.fieldbyname('类型编号').Value;
                s:=s+'''';
                query1.SQL.clear;
                query1.SQL.Add(s);
                query1.Open;
                while not query1.Eof do
                begin
                    n:=n+1;

                    d3:=d3+query1.fieldbyname('建筑面积').AsVariant;

                    s:='select * from 房间抄表 where 抄表月份='''+sMonth;
                    s:=s+''' and 房间='''+query1.fieldbyname('编号').Value;
                    s:=s+'''';
                    query3.SQL.clear;
                    query3.SQL.Add(s);
                    query3.Open;
                    while not query3.Eof do
                    begin
                        query4.SQL.Clear;
                        query4.SQL.Add('select * from 房间仪表 where 编号='''+query3.fieldbyname('房间仪表').Value+'''');
                        query4.Open;
                        if query4.RecordCount>0 then
                        begin
                            if query4.fieldbyname('仪表种类').Value=s12 then
                            begin
                                d2:=d2+query3.fieldbyname('实际行度').AsVariant;
                                break;
                            end;
                        end;

                        query3.Next;
                    end;

                    query1.Next;
                end;

                query2.Next;
            end;
        end;
        //房间仪表总用量、建筑面积、仪表总数       ----------止








        s4:=Query.Fieldbyname('分摊方式').AsString;
        s11:=query.fieldbyname('收费项目').Value;

        if query.fieldbyname('公摊仪表类型').Value='总表' then
        begin
            s:='select * from 房间 where 管理区='''+query.fieldbyname('管理区').Value;
            s:=s+'''';

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

                d33:=query22.fieldbyname('建筑面积').AsVariant;

                s:='select * from 房间抄表 where 抄表月份='''+sMonth;
                s:=s+''' and 房间='''+s2;
                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;

                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;


                //房间仪表总用量、建筑面积、仪表总数
                d2:=0;
                d3:=0;
                n:=0;

                s:='select * from 房间 where 管理区='''+query.fieldbyname('管理区').Value;
                s:=s+'''';
                query2.SQL.clear;
                query2.SQL.Add(s);
                query2.Open;
                while not query2.Eof do
                begin
                    d3:=d3+query2.fieldbyname('建筑面积').AsVariant;

                    s:='select * from 房间抄表 where 抄表月份='''+sMonth;
                    s:=s+''' and 房间='''+query2.fieldbyname('编号').Value;
                    s:=s+'''';

                    query3.SQL.clear;
                    query3.SQL.Add(s);
                    query3.Open;
                    if query3.RecordCount>0 then d2:=d2+query3.fieldbyname('实际行度').AsVariant;

                    query2.Next;
                end;
                n:=query2.RecordCount;


                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;





        if query.fieldbyname('公摊仪表类型').Value<>'总表' then
        begin
            s:='select * from 公摊仪表明细 where 编号='''+query.fieldbyname('编号').Value;
            s:=s+'''';

            query1.SQL.clear;
            query1.SQL.Add(s);
            query1.Open;
            while not query1.Eof do
            begin
////////////////房间/////////////////
                if query1.fieldbyname('类型').Value='房间' then
                begin
                    s2:=Query1.Fieldbyname('类型编号').AsString;

                    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;

                    //////////////////////
                    s:='select * from 房间抄表 where 抄表月份='''+sMonth;
                    s:=s+''' and 房间='''+s2;

⌨️ 快捷键说明

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