yjsffrm.pas
来自「本人编写的有关军队营房工作的管理系统」· PAS 代码 · 共 354 行 · 第 1/2 页
PAS
354 行
unit yjsffrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, db, DBGridEh, StdCtrls, Buttons, Menus, dxdbtrel,
DBGrids, ComCtrls, ImgList;
type
Tyjsf = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
DBGridEh1: TDBGridEh;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
dxLookupTreeView1: TdxLookupTreeView;
DBGridEh2: TDBGridEh;
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Label6: TLabel;
Edit3: TEdit;
Edit4: TEdit;
ImageList1: TImageList;
procedure SpeedButton3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure dxLookupTreeView1CloseUp(Sender: TObject; Accept: Boolean);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{ Private declarations }
public
function getbh:string;
{ Public declarations }
end;
var
yjsf: Tyjsf;
implementation
uses datafrm,dateutils;
{$R *.dfm}
procedure Tyjsf.SpeedButton3Click(Sender: TObject);
begin
yfgldata.dwyj.Filtered:=false;
close;
end;
procedure Tyjsf.FormShow(Sender: TObject);
var
n:integer;
Year, Month, Day: Word;
begin
decodedate(now,year,month,day);
yjsf.Edit4.Text:=inttostr(year)+'年'+inttostr(month)+'月'+inttostr(day)+'日';
yfgldata.kcyj.First;
for n:=1 to yfgldata.kcyj.RecordCount do
begin
yfgldata.kcyj.Edit;
yfgldata.kcyj.FieldByName('选择').AsBoolean:=false;
yfgldata.kcyj.Post;
yfgldata.kcyj.Next;
end;
yfgldata.dwyj.First;
for n:=1 to yfgldata.dwyj.RecordCount do
begin
yfgldata.dwyj.Edit;
yfgldata.dwyj.FieldByName('选择').AsBoolean:=false;
yfgldata.dwyj.Post;
yfgldata.dwyj.Next;
end;
yfgldata.dwyj.Filter:='使用单位='' ''';
yfgldata.dwyj.Filtered:=true;
end;
procedure Tyjsf.dxLookupTreeView1CloseUp(Sender: TObject; Accept: Boolean);
var
i:integer;
begin
if yjsf.dxLookupTreeView1.Text='' then
yfgldata.dwyj.Filter:='使用单位='' '''
else
yfgldata.dwyj.Filter:='使用单位='''+yjsf.dxLookupTreeView1.Text+'''';
yfgldata.dwyj.Filtered:=true;
if yjsf.dxLookupTreeView1.Text<>'' then
begin
yfgldata.dw.Locate('单位代码',yjsf.dxLookupTreeView1.Text,[loCaseInsensitive]);
yjsf.Edit2.Text:=yfgldata.dw.FieldByName('单位责任人').AsString;
end;
yfgldata.dwyj.First;
for i:=1 to yfgldata.dwyj.RecordCount do
begin
yfgldata.dwyj.Edit;
yfgldata.dwyj.FieldByName('选择').AsBoolean:=false;
yfgldata.dwyj.Post;
yfgldata.dwyj.FindNext;
end;
yfgldata.dwyj.FindFirst;
end;
procedure Tyjsf.SpeedButton1Click(Sender: TObject);
var
bh,dbdbh:string;
i:integer;
begin
if not yfgldata.kcyj.Locate('选择',true,[loCaseInsensitive]) then
messagebox(yjsf.handle,'没有营具可以分发或者您没有选择营具。','营房工作管理系统',16)
else
if not (yjsf.dxLookupTreeView1.Text<>'') then
messagebox(yjsf.handle,'没有选择营具使用单位代码。','营房工作管理系统',16)
else
if (yjsf.Edit1.Text='') or (yjsf.Edit2.Text='') or (yjsf.Edit3.Text='') then
messagebox(yjsf.handle,'请仔细填写批准人、营房部门责任人和使用单位责任人。','营房工作管理系统',16)
else
begin
dbdbh:=yjsf.getbh;
yfgldata.kcyj.Edit;
yfgldata.kcyj.Post;
yfgldata.dbd.Append;
yfgldata.dbd.FieldByName('调拨单编号').AsString:=dbdbh;
yfgldata.dbd.FieldByName('调出单位名称').AsString:='营房仓库';
yfgldata.dbd.FieldByName('调入单位名称').AsString:=yfgldata.dw.Lookup('单位代码',yjsf.dxLookupTreeView1.Text,'单位名称');
yfgldata.dbd.FieldByName('批准人').AsString:=yjsf.Edit3.Text;
yfgldata.dbd.FieldByName('调出单位责任人').AsString:=yjsf.Edit1.Text;
yfgldata.dbd.FieldByName('调入单位责任人').AsString:=yjsf.Edit2.Text;
yfgldata.dbd.FieldByName('调拨日期').AsDateTime:=now;
yfgldata.dbd.FieldByName('备注').AsString:='';
yfgldata.dbd.Post;
yfgldata.kcyj.First;
for i:=1 to yfgldata.kcyj.RecordCount do
begin
if yfgldata.kcyj.FieldByName('选择').AsBoolean then
begin
bh:=yfgldata.kcyj.FieldByName('编号').AsString;
yfgldata.dwyj.Append;
yfgldata.dwyj.FieldByName('编号').AsString:=yfgldata.kcyj.FieldByName('编号').AsString;
yfgldata.dwyj.FieldByName('营具名称').AsString:=yfgldata.kcyj.FieldByName('营具名称').AsString;
yfgldata.dwyj.FieldByName('单位').AsString:=yfgldata.kcyj.FieldByName('单位').AsString;
yfgldata.dwyj.FieldByName('单价').AsCurrency:=yfgldata.kcyj.FieldByName('单价').AsCurrency;
yfgldata.dwyj.FieldByName('使用状况').AsString:=yfgldata.kcyj.FieldByName('使用状况').AsString;
yfgldata.dwyj.FieldByName('代码').AsString:=yfgldata.kcyj.FieldByName('营具代码').AsString;
yfgldata.dwyj.FieldByName('选择').AsBoolean:=false;
yfgldata.dwyj.FieldByName('使用单位').AsString:=yjsf.dxLookupTreeView1.Text;
yfgldata.dwyj.FieldByName('责任人').AsString:=yjsf.Edit2.Text;
yfgldata.dwyj.Post;
yfgldata.dwyj1.Filter:='代码='''+yfgldata.kcyj.FieldByName('营具代码').AsString+''' and 使用单位='''+yjsf.dxLookupTreeView1.Text+'''';
yfgldata.dwyj1.Filtered:=true;
if yfgldata.dwyj1.RecordCount>0 then
begin
yfgldata.dwyj1.FindFirst;
yfgldata.dwyj1.Edit;
yfgldata.dwyj1.FieldByName('数量').AsInteger:=yfgldata.dwyj1.FieldByName('数量').AsInteger+1;
yfgldata.dwyj1.FieldByName('合计金额').AsFloat:=yfgldata.dwyj1.FieldByName('数量').AsFloat*yfgldata.dwyj1.FieldByName('单价').AsFloat;
yfgldata.dwyj1.Post;
end
else
begin
yfgldata.dwyj1.Append;
yfgldata.dwyj1.FieldByName('代码').AsString:=yfgldata.kcyj.FieldByName('营具代码').AsString;
yfgldata.dwyj1.FieldByName('营具名称').AsString:=yfgldata.kcyj.FieldByName('营具名称').AsString;
yfgldata.dwyj1.FieldByName('单位').AsString:=yfgldata.kcyj.FieldByName('单位').AsString;
yfgldata.dwyj1.FieldByName('单价').AsCurrency:=yfgldata.kcyj.FieldByName('单价').AsCurrency;
yfgldata.dwyj1.FieldByName('数量').AsInteger:=1;
yfgldata.dwyj1.FieldByName('合计金额').AsFloat:=yfgldata.dwyj1.FieldByName('单价').AsFloat*yfgldata.dwyj1.FieldByName('数量').AsFloat;
yfgldata.dwyj1.FieldByName('使用单位').AsString:=yjsf.dxLookupTreeView1.Text;
yfgldata.dwyj1.Post;
end;
yfgldata.dwyj1.Filtered:=false;
yfgldata.yj.Locate('编号',bh,[loCaseInsensitive]);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?