📄 pay510_01.pas.svn-base
字号:
else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007') //列印人員
else if ParName='REPNM' then ParValue:=AReportTitle
else if ParName='H150_002' then ParValue:=GetDBString('PAY51001005') //员工编号
else if ParName='H150_003' then ParValue:=GetDBString('PAY51001016') //员工姓名
else if ParName='P160A_003' then ParValue:=GetDBString('PAY51001010') //类别名称
else if ParName='P510A_004' then ParValue:=GetDBString('PAY51001008') //生效日期
else if ParName='P150_009' then ParValue:=GetDBString('PAY51001011') //加项减项
else if ParName='P150_002' then ParValue:=GetDBString('PAY51001012') //项目编号
else if ParName='P150_003' then ParValue:=GetDBString('PAY51001013') //项目名称
else if ParName='P510B_003' then ParValue:=GetDBString('PAY51001014') //项目金额
else if ParName='P510B_004' then ParValue:=GetDBString('PAY51001015') //选择
end;
procedure TPay510_01Form.ActFirstExecute(Sender: TObject);
begin
inherited;
//最前
if qryHrm150.IsEmpty then Exit;
qryHrm150.First;
ActFirst.Enabled:=False;
ActPrior.Enabled:=False;
ActNext.Enabled:=True;
ActLast.Enabled:=True;
end;
procedure TPay510_01Form.ActPriorExecute(Sender: TObject);
begin
inherited;
//上移
if qryHrm150.IsEmpty then Exit;
qryHrm150.Prior;
ActNext.Enabled:=not qryHrm150.Eof;
ActLast.Enabled:=not qryHrm150.Eof;
ActFirst.Enabled:=not qryHrm150.Bof;
ActPrior.Enabled:=not qryHrm150.Bof;
end;
procedure TPay510_01Form.ActNextExecute(Sender: TObject);
begin
inherited;
//下移
if qryHrm150.IsEmpty then Exit;
qryHrm150.Next;
ActNext.Enabled:=not qryHrm150.Eof;
ActLast.Enabled:=not qryHrm150.Eof;
ActFirst.Enabled:=not qryHrm150.Bof;
ActPrior.Enabled:=not qryHrm150.Bof;
end;
procedure TPay510_01Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if qryHrm150.IsEmpty then Exit;
qryHrm150.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
ActPrior.Enabled:=True;
end;
procedure TPay510_01Form.ActInsertExecute(Sender: TObject);
begin
inherited;
//新增
SetButtonState(True);
qryPay510A.Insert;
qryPay510AP510A_002.Value:=qryHrm150H150_001.Value;
qryPay510AP510A_003.Value:=qryPay160AP160A_001.Value;
qryPay510AP510A_004.Value:=Date;
edtEmpID.Text:=qryHrm150H150_002.AsString;
edtEmpID.SetFocus;
end;
procedure TPay510_01Form.ActUpdateExecute(Sender: TObject);
begin
inherited;
//修改
if qryPay510A.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
SetButtonState(True);
qryPay510A.Edit;
edtEmpID.SetFocus;
end;
procedure TPay510_01Form.ActDeleteExecute(Sender: TObject);
begin
inherited;
//删除
if qryPay510A.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDYES then //确定要删除此记录吗?
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('delete from PAY510B where P510B_001='+qryPay510AP510A_001.AsString);
SYSDM.qryQuery.ExecSQL;
qryPay510A.Delete;
end;
end;
procedure TPay510_01Form.ActSaveExecute(Sender: TObject);
var
ANo:Integer;
AEmpNo:Integer;
ADate:TDateTime;
begin
inherited;
//保存
if trim(edtEmpID.Text)='' then
begin
ShowMsg('UMS10000071'); //员工编号不能为空
edtEmpID.SetFocus;
Abort;
end;
if edtDate.Text='' then
begin
ShowMsg('UMS10000235'); //生效日期不能为空
edtDate.SetFocus;
Abort;
end;
if cbClass.Text='' then
begin
ShowMsg('UMS10000236'); //薪资类别不能为空
cbClass.SetFocus;
Abort;
end;
AEmpNo:=qryPay510A.FieldByName('P510A_002').Value;
ADate:=qryPay510A.FieldByName('P510A_004').Value;
if (AOldEmpNo<>AEmpNo) or (AOldDate<>ADate) then
begin
if IsExists('select 1 from PAY510A where P510A_002='+IntToStr(AEmpNo)+' and P510A_004='+GetDateString(ADate)) then
begin
ShowMsg('UMS10000239'); //薪资结构已存在,请重新输入
edtEmpID.SetFocus;
Abort;
end;
end;
try
qryPay510A.Post;
except
ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
Abort;
end;
qryPay510A.Refresh;
ANo:=qryPay510A.FieldByName('P510A_001').Value;
//删除旧数据
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('delete from PAY510B where P510B_001='+IntToStr(ANo));
SYSDM.qryQuery.ExecSQL;
adsPay510.DisableControls;
adsPay510.First;
while not adsPay510.Eof do
begin
qryPay510B.Append;
qryPay510B.FieldByName('P510B_001').Value:=ANo;
qryPay510B.FieldByName('P510B_002').Value:=adsPay510.FieldByName('P150_001').Value;
qryPay510B.FieldByName('P510B_003').Value:=adsPay510.FieldByName('P510B_003').Value;
qryPay510B.FieldByName('P510B_004').Value:=adsPay510.FieldByName('P510B_004').Value;
qryPay510B.Post;
adsPay510.Next;
end;
adsPay510.EnableControls;
SetButtonState(False);
end;
procedure TPay510_01Form.ActCancelExecute(Sender: TObject);
begin
inherited;
//取消
qryPay510A.CancelUpdates;
SetButtonState(False);
end;
procedure TPay510_01Form.ActRefreshExecute(Sender: TObject);
begin
inherited;
//刷新
qryHrm150.Close;
qryHrm150.Open;
end;
procedure TPay510_01Form.ActLocateExecute(Sender: TObject);
begin
inherited;
//查找
if qryHrm150.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
LocateDialog(dsHrm150);
end;
procedure TPay510_01Form.ActSearchExecute(Sender: TObject);
begin
inherited;
//查询
FilterDialog(dsHrm150);
end;
procedure TPay510_01Form.ActPrintExecute(Sender: TObject);
begin
inherited;
//打印
SelectReport(qryPay510A,AProgramID,AReportName,ReportGetValue);
ActRefresh.Execute;
end;
procedure TPay510_01Form.ActExportExecute(Sender: TObject);
begin
inherited;
//导出到Excel
if qryPay510A.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
SaveToExcel(dxDBGrid2);
end;
procedure TPay510_01Form.ActSetExecute(Sender: TObject);
begin
inherited;
//设置
Pay510_02Form:=TPay510_02Form.Create(Application);
Pay510_02Form.ShowModal;
qryHrm150.Refresh;
qryPay510A.Refresh;
end;
procedure TPay510_01Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TPay510_01Form.qryPay510BP150_009GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if qryPay510B.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AType[0]; //加项
1:Text:=AType[1]; //减项
2:Text:=AType[2]; //合计
end;
end;
procedure TPay510_01Form.qryHrm150AfterScroll(DataSet: TDataSet);
begin
inherited;
if ActSave.Enabled then Exit;
qryPay510A.Close;
qryPay510A.SQL.Clear;
qryPay510A.SQL.Add('select * from PAY510A where P510A_002='+qryHrm150H150_001.AsString+' order by P510A_004 desc');
qryPay510A.Open;
qryPay510AAfterScroll(qryPay510A);
end;
procedure TPay510_01Form.qryPay510AAfterScroll(DataSet: TDataSet);
begin
inherited;
if qryPay510A.IsEmpty then
begin
edtEmpID.Text:='';
SetPayItem(0);
AOldEmpNo:=0;
AOldDate:=0;
end else
begin
edtEmpID.Text:=qryPay510AH150_002.AsString;
SetPayItem(qryPay510AP510A_003.Value);
AOldEmpNo:=qryPay510A.FieldByName('P510A_002').AsInteger;
AOldDate:=qryPay510A.FieldByName('P510A_004').AsDateTime;
end;
end;
procedure TPay510_01Form.sbEmpClick(Sender: TObject);
begin
inherited;
//员工编号
if not edtEmpID.Focused then edtEmpID.SetFocus;
if ActSave.Enabled then
begin
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm150,nil);
if HwSelDataForm.ShowModal=1 then
begin
edtEmpID.Text:=qryHrm150.FieldByName('H150_002').AsString;
qryPay510AP510A_002.Value:=qryHrm150.FieldByName('H150_001').Value;
end;
end;
end;
procedure TPay510_01Form.edtEmpIDExit(Sender: TObject);
begin
inherited;
//员工编号
if (ActSave.Enabled) and (trim(edtEmpID.Text)<>'') then
begin
if qryHrm150.Locate('H150_002',edtEmpID.Text,[loCaseInsensitive]) then
begin
qryPay510AP510A_002.Value:=qryHrm150.FieldByName('H150_001').Value;
end else
begin
ShowMsg('UMS10000042'); //无效的员工编号
edtEmpID.SetFocus;
Abort;
end;
end;
end;
procedure TPay510_01Form.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
inherited;
if qryPay510A.State in [dsInsert, dsEdit] then AllowChange:=False;
end;
procedure TPay510_01Form.qryPay510AP510A_003Change(Sender: TField);
begin
inherited;
SetPayItem(qryPay510AP510A_003.Value);
end;
procedure TPay510_01Form.adsPay510P150_009GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if adsPay510.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AType[0]; //加项
1:Text:=AType[1]; //减项
2:Text:=AType[2]; //合计
end;
end;
initialization
RegisterClass(TPay510_01Form);
finalization
UnRegisterClass(TPay510_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -