zjdwsdfbfrm.pas

来自「本人编写的有关军队营房工作的管理系统」· PAS 代码 · 共 105 行

PAS
105
字号
unit zjdwsdfbfrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, db, StdCtrls, Mask, DBCtrlsEh, Gauges, ExtCtrls;

type
  Tzjdwsdfb = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Gauge1: TGauge;
    Label4: TLabel;
    Label5: TLabel;
    DBNumberEditEh1: TDBNumberEditEh;
    DBNumberEditEh2: TDBNumberEditEh;
    Panel2: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    procedure SpeedButton2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  zjdwsdfb: Tzjdwsdfb;

implementation

uses datafrm,dwsdffrm;
{$R *.dfm}

procedure Tzjdwsdfb.SpeedButton2Click(Sender: TObject);
begin
yfgldata.dwsdf.Filtered:=false;
close;
end;

procedure Tzjdwsdfb.FormActivate(Sender: TObject);
var
present:tdatetime;
Year, Month, Day: Word;
begin
present:=now;
decodedate(present,year,month,day);
zjdwsdfb.DBNumberEditEh1.Value:=year;
zjdwsdfb.DBNumberEditEh2.Value:=month;
end;

procedure Tzjdwsdfb.SpeedButton1Click(Sender: TObject);
var
  i,j:integer;
begin
j:=1;
yfgldata.dwsdf.Filter:='年度='+floattostr(zjdwsdfb.DBNumberEditEh1.Value);
yfgldata.dwsdf.Filtered:=true;
if yfgldata.dwsdf.Locate('月份',int(zjdwsdfb.DBNumberEditEh2.Value),[loCaseInsensitive]) then
  messagebox(zjdwsdfb.Handle,'该月份的数据已经存在。','营房工作管理系统',16)
else
  begin
  yfgldata.dw.First;
  for i:=1 to yfgldata.dw.RecordCount do
    begin
    if trim(yfgldata.dw.FieldByName('上级代码').AsString)<>'' then
      begin
      yfgldata.dwsdf.Append;
      yfgldata.dwsdf.FieldByName('序号').AsInteger:=j;
      yfgldata.dwsdf.FieldByName('单位代码').AsString:=yfgldata.dw.FieldByName('单位代码').AsString;
      yfgldata.dwsdf.FieldByName('单位名称').AsString:=yfgldata.dw.FieldByName('单位名称').AsString;
      yfgldata.dwsdf.FieldByName('单位责任人').AsString:=yfgldata.dw.FieldByName('单位责任人').AsString;
      yfgldata.dwsdf.FieldByName('年度').AsInteger:=zjdwsdfb.DBNumberEditEh1.Value;
      yfgldata.dwsdf.FieldByName('月份').AsInteger:=zjdwsdfb.DBNumberEditEh2.Value;
      yfgldata.dwsdf.FieldByName('水电费标准').AsFloat:=(yfgldata.dw.FieldByName('军职以上干部编制数').AsInteger+yfgldata.dw.FieldByName('师职干部编制数').AsInteger+yfgldata.dw.FieldByName('团职干部编制数').AsInteger+yfgldata.dw.FieldByName('营职干部编制数').AsInteger+yfgldata.dw.FieldByName('连排职干部编制数').AsInteger+yfgldata.dw.FieldByName('学员人数').AsInteger+yfgldata.dw.FieldByName('职工编制数').AsInteger)*(yfgldata.sdfbz.FieldByName('干部职工基本标准').AsFloat+yfgldata.sdfbz.FieldByName('干部职工补助标准').AsFloat)+yfgldata.dw.FieldByName('战士编制数').AsInteger*(yfgldata.sdfbz.FieldByName('战士基本标准').AsFloat+yfgldata.sdfbz.FieldByName('战士补助标准').AsFloat);
      yfgldata.dwsdf.FieldByName('用水量').AsFloat:=0;
      yfgldata.dwsdf.FieldByName('用电量').AsFloat:=0;
      yfgldata.dwsdf.FieldByName('水消耗定额').AsFloat:=yfgldata.dw.FieldByName('军职以上干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','军职以上','水消耗定额')+yfgldata.dw.FieldByName('师职干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','师职','水消耗定额')+yfgldata.dw.FieldByName('团职干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','团职','水消耗定额')+yfgldata.dw.FieldByName('营职干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','营职','水消耗定额')+yfgldata.dw.FieldByName('连排职干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','连排职','水消耗定额')+yfgldata.dw.FieldByName('学员人数').AsFloat*yfgldata.zjxhde.Lookup('职级','学员','水消耗定额')+yfgldata.dw.FieldByName('战士编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','战士','水消耗定额')+yfgldata.dw.FieldByName('职工编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','职工','水消耗定额');
      yfgldata.dwsdf.FieldByName('电消耗定额').AsFloat:=yfgldata.dw.FieldByName('军职以上干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','军职以上','电消耗定额')+yfgldata.dw.FieldByName('师职干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','师职','电消耗定额')+yfgldata.dw.FieldByName('团职干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','团职','电消耗定额')+yfgldata.dw.FieldByName('营职干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','营职','电消耗定额')+yfgldata.dw.FieldByName('连排职干部编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','连排职','电消耗定额')+yfgldata.dw.FieldByName('学员人数').AsFloat*yfgldata.zjxhde.Lookup('职级','学员','电消耗定额')+yfgldata.dw.FieldByName('战士编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','战士','电消耗定额')+yfgldata.dw.FieldByName('职工编制数').AsFloat*yfgldata.zjxhde.Lookup('职级','职工','电消耗定额');
      yfgldata.dwsdf.FieldByName('水电费节约').AsFloat:=(yfgldata.dw.FieldByName('军职以上干部编制数').AsInteger+yfgldata.dw.FieldByName('师职干部编制数').AsInteger+yfgldata.dw.FieldByName('团职干部编制数').AsInteger+yfgldata.dw.FieldByName('营职干部编制数').AsInteger+yfgldata.dw.FieldByName('连排职干部编制数').AsInteger+yfgldata.dw.FieldByName('学员人数').AsInteger+yfgldata.dw.FieldByName('职工编制数').AsInteger)*(yfgldata.sdfbz.FieldByName('干部职工基本标准').AsFloat+yfgldata.sdfbz.FieldByName('干部职工补助标准').AsFloat)+yfgldata.dw.FieldByName('战士编制数').AsInteger*(yfgldata.sdfbz.FieldByName('战士基本标准').AsFloat+yfgldata.sdfbz.FieldByName('战士补助标准').AsFloat);
      yfgldata.dwsdf.Post;
      j:=j+1;
    end;
    zjdwsdfb.Gauge1.Progress:=(yfgldata.dw.RecNo*100) div yfgldata.dw.RecordCount;
    yfgldata.dw.Next;
    end;
  messagebox(zjdwsdfb.Handle,'新单位月收费表已生成完毕。','营房工作管理系统',64);
  close;
  if yfgldata.qdwsdf.Active then
  yfgldata.qdwsdf.Active:=false;
  yfgldata.qdwsdf.Params[0].AsInteger:=dwsdf.DBNumberEditEh1.Value;
  yfgldata.qdwsdf.Params[1].AsInteger:=dwsdf.DBNumberEditEh2.Value;
  yfgldata.qdwsdf.Active:=true;
  yfgldata.dwsdf.Filtered:=false;
  dwsdf.showdwsdf;
  end;
end;

end.

⌨️ 快捷键说明

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