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

📄 realtyj23a.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
字号:
unit RealtyJ23A;

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_RealtyJ23A = class(TForm)
    GroupBox1: TGroupBox;
    ListView1: TListView;
    Button1: TButton;
    edit1: TDateTimePicker;
    edit2: TDateTimePicker;
    Label2: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label1: TLabel;
    edit4: TComboBox;
    Button6: TButton;
    Button7: TButton;
    Label8: TLabel;
    Label3: TLabel;
    edit5: TComboBox;
    edit3: TDateTimePicker;
    Label6: TLabel;
    Edit6: TEdit;
    procedure Button4Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ListView1CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure NN6Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure getdata ;
    procedure Button1Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
     bMod:bool;
     sTable:string;
     cols:integer;
  end;
var
  f_RealtyJ23A: Tf_RealtyJ23A;
implementation
uses data, main,RealtyPrint1;
{$R *.dfm}

//初始化
procedure Tf_RealtyJ23A.FormCreate(Sender: TObject);
var
    query:TADOQuery;
begin
    edit1.Date:=date;
    edit2.Date:=date;

    edit4.Items.Add('年度');
    edit4.Items.Add('第一季度');
    edit4.Items.Add('第二季度');
    edit4.Items.Add('第三季度');
    edit4.Items.Add('第四季度');
    edit4.Items.Add('一月份');
    edit4.Items.Add('二月份');
    edit4.Items.Add('三月份');
    edit4.Items.Add('四月份');
    edit4.Items.Add('五月份');
    edit4.Items.Add('六月份');
    edit4.Items.Add('七月份');
    edit4.Items.Add('八月份');
    edit4.Items.Add('九月份');
    edit4.Items.Add('十月份');
    edit4.Items.Add('十一月份');
    edit4.Items.Add('十二月份');

    edit5.Items.Add('已审核');
    edit5.Items.add('未审核');



end;

//Tab
procedure Tf_RealtyJ23A.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=13 then
        Begin
            key:=0;
            perform(WM_NEXTDLGCTL,0,0);
        end
    else if key=VK_ESCAPE then close;
end;

procedure Tf_RealtyJ23A.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action := caFree;
end;


////getdata******************
procedure Tf_RealtyJ23A.getdata;
var
    query,query1:TADOQuery;
    d1,d2,d3,d4:double;
begin
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;
    Query1:=TADOQuery.Create(nil);
    Query1.Connection:=DataModuleADO.ADOConnection1;

    listview1.Items.Clear;

    query.SQL.Add('select * from 采购计划 where 日期>='''+datetostr(edit1.date)+''' and 日期<='''+datetostr(edit1.Date)+'''');
    query.Open;
    while not query.Eof do
    begin
        query1.SQL.Clear;
        query1.SQL.Add('select * from 采购计划明细 where 单号='''+query.fieldbyname('单号').Value+'''');
        query1.open;
        while not query1.Eof do
        begin
            with listview1.Items.Add do
            begin
                caption:=query.fieldbyname('日期').Value;
                subitems.Add(query.fieldbyname('部门').Value);
                subitems.Add(query.fieldbyname('计划年度').Value);
                subitems.Add(query.fieldbyname('计划区间').Value);
                subitems.Add(query1.fieldbyname('物料编号').Value);
                subitems.Add(query1.fieldbyname('物料名称').Value);
                subitems.Add(query1.fieldbyname('规格型号').Value);
                subitems.Add(query1.fieldbyname('计量单位').Value);
                subitems.Add(query1.fieldbyname('数量').Value);
                subitems.Add(query1.fieldbyname('金额').Value);
                subitems.Add(query1.fieldbyname('完成数量').Value);

                d1:=strtofloat(query1.fieldbyname('完成数量').Value)*strtofloat(query1.fieldbyname('单价').Value);
                subitems.Add(floattostr(d1));

                d2:=strtofloat(query1.fieldbyname('数量').Value)-strtofloat(query1.fieldbyname('完成数量').Value);
                subitems.Add(floattostr(d2));

                d3:=d2*strtofloat(query1.fieldbyname('单价').Value);
                subitems.Add(floattostr(d3));

                d4:=(d3/strtofloat(query1.fieldbyname('金额').Value))*100;
                subitems.Add(floattostr(d4)); 
            end;
            query1.Next;
        end;
        query.Next;
    end;
    query.Close;
    query.Free;
    query1.Close;
    query1.Free;

    if listview1.Items.Count > 0 then ListView1.Items.Item[0].Selected := True;
end;

//修改
procedure Tf_RealtyJ23A.Button2Click(Sender: TObject);
begin

end;


//返回
procedure Tf_RealtyJ23A.Button4Click(Sender: TObject);
begin
    f_RealtyJ23A.FormStyle:=fsNormal;
    f_RealtyJ23A.Close;
end;

//取数据

procedure Tf_RealtyJ23A.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
    if   Item.Selected = true then
    begin
          Sender.Canvas.Brush.Color   :=   clMenuHighlight;
          (Sender   as   TListView).Canvas.Font.Color   :=  clWhite;
    end;
end;


procedure Tf_RealtyJ23A.NN6Click(Sender: TObject);
begin
    close;
end;

procedure Tf_RealtyJ23A.ToolButton10Click(Sender: TObject);
begin
    close;
end;

procedure Tf_RealtyJ23A.ToolButton3Click(Sender: TObject);
begin
    getdata
end;

procedure Tf_RealtyJ23A.Button1Click(Sender: TObject);
var
    query,query1,query11:TADOQuery;
    s,s1,s2,s3,s4,t1,t2,t3:string;
    d1,d2,d3,d4,d5,d6,d7:double;
begin
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;
    Query1:=TADOQuery.Create(nil);
    Query1.Connection:=DataModuleADO.ADOConnection1;
    Query11:=TADOQuery.Create(nil);
    Query11.Connection:=DataModuleADO.ADOConnection1;

    listview1.Items.Clear;
    s1:=copy(datetostr(edit3.date),1,4);

    if edit4.Text='' then s2:='%'
    else s2:=edit4.Text;

    if edit5.Text=''  then s3:='%';
    if edit5.text='已审核' then s3:='Y';
    if edit5.text='未审核' then s3:='N';

    query11.SQL.Clear;
    query11.SQL.Add('select DISTINCT 物料编号 from 采购计划明细 where 物料名称 like ''%'+Edit6.Text+'%''');
    query11.open;
    while not query11.Eof do
    begin
        d1:=0;
        d2:=0;
        d3:=0;
        d4:=0;
        d5:=0;
        d6:=0;
        d7:=0;

        s:='select * from 采购计划 where 日期>='''+datetostr(edit1.date);
        s:=s+''' and 日期<='''+datetostr(edit2.Date);
        s:=s+''' and 计划年度 like ''%'+s1;
        s:=s+'%'' and 计划区间 like ''%'+s2;
        s:=s+'%'' and 审核 like '''+s3+'''';

        t1:='';

        query.SQL.Clear;
        query.SQL.Add(s);
        query.Open;
        while not query.Eof do
        begin
            query1.SQL.Clear;
            query1.SQL.Add('select * from 采购计划明细 where 物料编号='''+query11.fieldbyname('物料编号').Value+''' and 单号='''+query.fieldbyname('单号').Value+'''');
            query1.open;
            while not query1.Eof do
            begin
                d1:=d1+query1.fieldbyname('数量').AsVariant;
                d2:=d2+query1.fieldbyname('金额').AsVariant;
                d3:=d3+query1.fieldbyname('完成数量').AsVariant;
                d4:=d4+strtofloat(query1.fieldbyname('完成数量').Value)*strtofloat(query1.fieldbyname('单价').Value);
                d5:=d5+strtofloat(query1.fieldbyname('数量').Value)-strtofloat(query1.fieldbyname('完成数量').Value);
                d6:=d6+strtofloat(query1.fieldbyname('数量').Value)-strtofloat(query1.fieldbyname('完成数量').Value)*strtofloat(query1.fieldbyname('单价').Value);

                t1:= query1.fieldbyname('物料名称').Value;
                t2:= query1.fieldbyname('规格型号').Value;
                t3:= query1.fieldbyname('计量单位').Value;

                query1.Next;
            end;
            query.Next;
        end;

        if t1<>'' then
        begin
            with listview1.Items.Add do
            begin
                if d5<>0 then d7:=d4/d5*100;

                caption:=query11.fieldbyname('物料编号').Value;
                subitems.Add(t1);
                subitems.Add(t2);
                subitems.Add(t3);
                subitems.Add(floattostr(d1));
                subitems.Add(floattostr(d2));
                subitems.Add(floattostr(d3));
                subitems.Add(floattostr(d4));
                subitems.Add(floattostr(d5));
                subitems.Add(floattostr(d6));
                subitems.Add(floattostr(d7));
            end;
        end;

        query11.Next;
    end;

    query.Close;
    query.Free;
    query1.Close;
    query1.Free;
    query11.Close;
    query11.Free;

    if listview1.Items.Count > 0 then ListView1.Items.Item[0].Selected := True;
end;

procedure Tf_RealtyJ23A.Button7Click(Sender: TObject);
begin
    close;
end;

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

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



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

    query.Close;
    query.Free;

    sFilep:='RealtyJ23A.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 + -