📄 rab500_01.pas.svn-base
字号:
unit Rab500_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Menus, ExtCtrls, Grids, ComCtrls, ToolWin,
StdCtrls, Mask, DBCtrls, wwdbdatetimepicker, Buttons, Bas200_01, dxExEdtr,
ADODB, FR_Desgn, dxCntner, dxTL, dxDBCtrl, dxDBGrid, ActnList, dxDBTLCl, dxGrClms,
wwfltdlg, wwDialog, Wwlocate, Wwintl;
type
TRab500_01Form = class(TBas200_01Form)
dsRab100: TDataSource;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label8: TLabel;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
wwDBDateTimePicker1: TwwDBDateTimePicker;
CheckBox1: TCheckBox;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
Edit2: TEdit;
SpeedButton2: TSpeedButton;
Edit3: TEdit;
SpeedButton3: TSpeedButton;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TStringField;
qryHrm150H150_003: TStringField;
qryRab100: TADOQuery;
qryRab110: TADOQuery;
qryRab500: TADOQuery;
qryRab500R500_001: TIntegerField;
qryRab500R500_004: TIntegerField;
qryRab500R500_005: TIntegerField;
qryRab500R500_006: TStringField;
qryRab100R100_001: TAutoIncField;
qryRab100R100_002: TStringField;
qryRab100R100_003: TStringField;
qryRab110R110_001: TAutoIncField;
qryRab110R110_002: TIntegerField;
qryRab110R110_003: TStringField;
qryRab110R110_004: TStringField;
qryRab110R110_006: TIntegerField;
qryRab110R110_007: TIntegerField;
ADOQuery1R500_001: TIntegerField;
ADOQuery1R500_002: TDateTimeField;
ADOQuery1R500_003: TIntegerField;
ADOQuery1R500_004: TIntegerField;
ADOQuery1R500_005: TBooleanField;
ADOQuery1R500_006: TStringField;
ADOQuery1R100_002: TStringField;
ADOQuery1R100_003: TStringField;
ADOQuery1R110_003: TStringField;
ADOQuery1R110_004: TStringField;
ADOQuery1H150_002: TStringField;
ADOQuery1H150_003: TStringField;
dxDBGrid1H150_002: TdxDBGridLookupColumn;
dxDBGrid1H150_003: TdxDBGridLookupColumn;
dxDBGrid1R500_002: TdxDBGridDateColumn;
dxDBGrid1R100_002: TdxDBGridLookupColumn;
dxDBGrid1R100_003: TdxDBGridLookupColumn;
dxDBGrid1R110_003: TdxDBGridLookupColumn;
dxDBGrid1R110_004: TdxDBGridLookupColumn;
dxDBGrid1R500_005: TdxDBGridCheckColumn;
dxDBGrid1R500_006: TdxDBGridMaskColumn;
procedure FormCreate(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure Edit3Exit(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ActInsertExecute(Sender: TObject);
procedure ActUpdateExecute(Sender: TObject);
procedure ActSaveExecute(Sender: TObject);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure ActDeleteExecute(Sender: TObject);
procedure ADOQuery1CalcFields(DataSet: TDataSet);
procedure ActCancelExecute(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure SetPerson;
{ Private declarations }
public
procedure SetInterface; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Rab500_01Form: TRab500_01Form;
implementation
uses SYSDATA, CommFun, HwSelData;
{$R *.DFM}
//修改已住人数
procedure TRab500_01Form.SetPerson;
var
AEmpNo:Integer;
ARoomNo:Integer;
begin
AEmpNo:=0;
ARoomNo:=0;
qryRab500.Close;
qryRab500.Open;
while not qryRab500.Eof do
begin
if (qryRab500.FieldByName('R500_001').Value<>AEmpNo) and
(not qryRab500.FieldByName('R500_005').Value) then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from RAB110 where R110_001='+qryRab500R500_004.AsString+' and R110_002='+qryRab500R500_004.AsString);
SYSDM.qryQuery.Open;
if not SYSDM.qryQuery.IsEmpty then
begin
SYSDM.qryQuery.Edit;
if ARoomNo<>SYSDM.qryQuery.FieldByName('R110_001').Value then
begin
SYSDM.qryQuery.FieldByName('R110_007').Value:=0;
ARoomNo:=SYSDM.qryQuery.FieldByName('R110_001').Value;
end;
if SYSDM.qryQuery.FieldByName('R110_007').IsNull then
SYSDM.qryQuery.FieldByName('R110_007').Value:=0
else
SYSDM.qryQuery.FieldByName('R110_007').Value:=SYSDM.qryQuery.FieldByName('R110_007').Value+1;
SYSDM.qryQuery.Post;
end;
end;
AEmpNo:=qryRab500.FieldByName('R500_001').Value;
qryRab500.Next;
end;
end;
procedure TRab500_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('RAB50001001'); //员工住房管理
CheckBox1.Caption:=GetDBString('RAB50001009'); //是否退房
Label1.Caption:=GetDBString('RAB50001002'); //员工编号
Label2.Caption:=GetDBString('RAB50001004'); //生效日期
Label3.Caption:=GetDBString('RAB50001005'); //宿舍编号
Label5.Caption:=GetDBString('RAB50001007'); //住房编号
Label8.Caption:=GetDBString('RAB50001010'); //备注
ADOQuery1H150_002.DisplayLabel:=GetDBString('RAB50001002'); //员工编号
ADOQuery1H150_003.DisplayLabel:=GetDBString('RAB50001003'); //员工姓名
ADOQuery1R500_002.DisplayLabel:=GetDBString('RAB50001004'); //生效日期
ADOQuery1R100_002.DisplayLabel:=GetDBString('RAB50001005'); //宿舍编号
ADOQuery1R100_003.DisplayLabel:=GetDBString('RAB50001006'); //宿舍说明
ADOQuery1R110_003.DisplayLabel:=GetDBString('RAB50001007'); //住房编号
ADOQuery1R110_004.DisplayLabel:=GetDBString('RAB50001008'); //规格说明
ADOQuery1R500_005.DisplayLabel:=GetDBString('RAB50001009'); //是否退房
ADOQuery1R500_006.DisplayLabel:=GetDBString('RAB50001010'); //备注
qryHrm150H150_002.DisplayLabel:=GetDBString('RAB50001002'); //员工编号
qryHrm150H150_003.DisplayLabel:=GetDBString('RAB50001003'); //员工姓名
qryRab100R100_002.DisplayLabel:=GetDBString('RAB50001005'); //宿舍编号
qryRab100R100_003.DisplayLabel:=GetDBString('RAB50001006'); //宿舍说明
qryRab110R110_003.DisplayLabel:=GetDBString('RAB50001007'); //住房编号
qryRab110R110_004.DisplayLabel:=GetDBString('RAB50001008'); //规格说明
end;
procedure TRab500_01Form.FormCreate(Sender: TObject);
begin
inherited;
//设置界面信息
SetInterface;
qryHrm150.Open;
qryRab100.Open;
qryRab110.Open;
end;
procedure TRab500_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
if ParName='H150_002' then ParValue:=GetDBString('RAB50001002') //员工编号
else if ParName='H150_003' then ParValue:=GetDBString('RAB50001003') //员工姓名
else if ParName='R500_002' then ParValue:=GetDBString('RAB50001004') //生效日期
else if ParName='R100_002' then ParValue:=GetDBString('RAB50001005') //宿舍编号
else if ParName='R100_003' then ParValue:=GetDBString('RAB50001006') //宿舍说明
else if ParName='R110_003' then ParValue:=GetDBString('RAB50001007') //住房编号
else if ParName='R110_004' then ParValue:=GetDBString('RAB50001008') //规格说明
else if ParName='R500_005' then ParValue:=GetDBString('RAB50001009') //是否退房
else if ParName='R500_006' then ParValue:=GetDBString('RAB50001010') //备注
end;
procedure TRab500_01Form.CheckBox1Click(Sender: TObject);
begin
inherited;
if not ActSave.Enabled then Exit;
if not (ADOQuery1.State in [dsInsert,dsEdit]) then Exit;
ADOQuery1R500_005.Value:=CheckBox1.Checked;
end;
procedure TRab500_01Form.SpeedButton1Click(Sender: TObject);
begin
inherited;
//员工编号查询
if not ActSave.Enabled then Exit;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm150,nil);
if HwSelDataForm.ShowModal=1 then
begin
Edit1.Text:=qryHrm150H150_002.AsString;
ADOQuery1R500_001.AsString:=qryHrm150H150_001.AsString;
ADOQuery1H150_002.Value:=qryHrm150H150_002.Value;
ADOQuery1H150_003.Value:=qryHrm150H150_003.Value;
end;
end;
procedure TRab500_01Form.Edit1Exit(Sender: TObject);
begin
inherited;
if not ActSave.Enabled then Exit;
if qryHrm150.Locate('H150_002',Edit1.Text,[loCaseInsensitive]) then
begin
ADOQuery1R500_001.AsString:=qryHrm150H150_001.AsString;
ADOQuery1H150_002.Value:=qryHrm150H150_002.Value;
ADOQuery1H150_003.Value:=qryHrm150H150_003.Value;
end else
begin
ShowMsg('UMS10000042'); //无效的员工编号
Abort;
end;
end;
procedure TRab500_01Form.SpeedButton2Click(Sender: TObject);
begin
inherited;
//宿舍编号查询
if not ActSave.Enabled then Exit;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryRab100,nil);
if HwSelDataForm.ShowModal=1 then
begin
Edit2.Text:=qryRab100R100_002.AsString;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -