📄 cwa500_01.pas.svn-base
字号:
ActFirst.Enabled:=not qryCwa500.Bof;
ActPrior.Enabled:=not qryCwa500.Bof;
end;
procedure TCwa500_01Form.ActNextExecute(Sender: TObject);
begin
inherited;
//下移
if qryCwa500.IsEmpty then Exit;
qryCwa500.Next;
ActNext.Enabled:=not qryCwa500.Eof;
ActLast.Enabled:=not qryCwa500.Eof;
ActFirst.Enabled:=not qryCwa500.Bof;
ActPrior.Enabled:=not qryCwa500.Bof;
end;
procedure TCwa500_01Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if qryCwa500.IsEmpty then Exit;
qryCwa500.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
ActPrior.Enabled:=True;
end;
procedure TCwa500_01Form.ActInsertExecute(Sender: TObject);
var
ADate:TDateTime;
begin
inherited;
//新增
qryCwa500.Insert;
SetButtonState(True);
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE, ASystemDate, SizeOf(ASystemDate));
ADate:=StrToDate(FormatDateTime(ASystemDate,GetServerDate));
qryCwa500C500_005.Value:=ADate;
qryCwa500C500_010.Value:=False;
qryCwa500C500_008.Value:=0;
edtTypeID.SetFocus;
end;
procedure TCwa500_01Form.ActUpdateExecute(Sender: TObject);
begin
inherited;
//修改
if qryCwa500.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if qryCwa500C500_010.Value then
begin
ShowMsg('UMS10000248'); //已审核的记录,操作无效
Abort;
end;
qryCwa500.Edit;
SetButtonState(True);
end;
procedure TCwa500_01Form.ActDeleteExecute(Sender: TObject);
begin
inherited;
//删除
if qryCwa500.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if qryCwa500C500_010.Value then
begin
ShowMsg('UMS10000248'); //已审核的记录,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDYES then //确定要删除此记录吗?
begin
qryCwa500.Delete;
end;
end;
procedure TCwa500_01Form.ActSaveExecute(Sender: TObject);
var
AEmpNo:Integer;
begin
inherited;
//保存
AEmpNo:=0;
qryCwa500.FieldByName('C500_006').AsString:=FormatDateTime('hh:mm',edtStartTime.Time);
qryCwa500.FieldByName('C500_007').AsString:=FormatDateTime('hh:mm',edtEndTime.Time);
if trim(edtTypeID.Text)='' then
begin
ShowMsg('UMS10000073'); //事务类型不能为空
edtTypeID.SetFocus;
Abort;
end else
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select 1 from CWA150 where C150_002='+''''+edtTypeID.Text+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000072'); //无效的事务类型
edtTypeID.SetFocus;
Abort;
end;
end;
if trim(edtReasonID.Text)<>'' then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select 1 from CWA160 where C160_002='+''''+edtReasonID.Text+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000074'); //无效的原因编号
edtReasonID.SetFocus;
Abort;
end;
end;
if trim(edtDest.Text)='' then
begin
ShowMsg('UMS10000250'); //事务说明不能为空
edtDest.SetFocus;
Abort;
end;
if trim(edtEmpID.Text)='' then
begin
ShowMsg('UMS10000071'); //员工编号不能为空
edtEmpID.SetFocus;
Abort;
end else
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select H150_001 from HRM150 where H150_002='+''''+edtEmpID.Text+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000042'); //无效的员工编号
edtEmpID.SetFocus;
Abort;
end;
AEmpNo:=SYSDM.qryQuery.Fields[0].Value;
end;
if edtStartTime.Time>edtEndTime.Time then
begin
ShowMsg('UMS10000070'); //起始时间不能大于结束时间
edtStartTime.SetFocus;
Abort;
end;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select 1 from CWA120 where C120_003>='+GetDateString(dtpDate.Date)+' and C120_001='+IntToStr(AEmpNo));
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000069'); //输入的起止日期内没有员工班别资料
dtpDate.SetFocus;
Abort;
end;
if (trim(edtValue.Text)='') or (trim(edtValue.Text)='0') then
begin
ShowMsg('UMS10000068'); //数值不能为空或零
edtValue.SetFocus;
Abort;
end;
try
qryCwa500.Post;
except
ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
Abort;
end;
SetButtonState(False);
end;
procedure TCwa500_01Form.ActCancelExecute(Sender: TObject);
begin
inherited;
//取消
qryCwa500.CancelUpdates;
SetButtonState(False);
end;
procedure TCwa500_01Form.ActRefreshExecute(Sender: TObject);
begin
inherited;
//刷新
sbOk.Click;
end;
procedure TCwa500_01Form.ActLocateExecute(Sender: TObject);
begin
inherited;
//查找
if qryCwa500.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
LocateDialog(dsCwa500);
end;
procedure TCwa500_01Form.ActSearchExecute(Sender: TObject);
begin
inherited;
//查询
FilterDialog(dsCwa500);
end;
procedure TCwa500_01Form.ActPrintExecute(Sender: TObject);
begin
inherited;
//打印
SelectReport(qryCwa500,AProgramID,AReportName,ReportGetValue);
ActRefresh.Execute;
end;
procedure TCwa500_01Form.ActExportExecute(Sender: TObject);
begin
inherited;
//导出到Excel
if qryCwa500.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
SaveToExcel(dxDBGrid1);
end;
procedure TCwa500_01Form.ActCheckExecute(Sender: TObject);
begin
inherited;
//审核
if qryCwa500.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
Cwa500_03Form:=TCwa500_03Form.Create(Application);
Cwa500_03Form.ShowModal;
qryCwa500.Refresh;
end;
procedure TCwa500_01Form.ActBatchExecute(Sender: TObject);
begin
inherited;
//成批
Cwa500_02Form:=TCwa500_02Form.Create(Application);
Cwa500_02Form.ShowModal;
sbOk.Click;
end;
procedure TCwa500_01Form.ActQuickExecute(Sender: TObject);
begin
inherited;
//快速录入
WaitForm.Show;
WaitForm.Update;
Cwa500_04Form:=TCwa500_04Form.Create(Application);
WaitForm.Close;
Cwa500_04Form.ShowModal;
sbOk.Click;
end;
procedure TCwa500_01Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TCwa500_01Form.qryCwa500AfterScroll(DataSet: TDataSet);
begin
inherited;
edtTypeID.Text:=qryCwa500.FieldByName('C150_002').AsString;
edtEmpID.Text:=qryCwa500.FieldByName('H150_002').AsString;
edtReasonID.Text:=qryCwa500.FieldByName('C160_002').AsString;
if trim(qryCwa500.FieldByName('C500_006').AsString)<>'' then edtStartTime.Time:=qryCwa500.FieldByName('C500_006').AsDateTime;
if trim(qryCwa500.FieldByName('C500_007').AsString)<>'' then edtEndTime.Time:=qryCwa500.FieldByName('C500_007').AsDateTime;
end;
procedure TCwa500_01Form.dxDBGrid1BackgroundDrawEvent(Sender: TObject;
ACanvas: TCanvas; ARect: TRect);
var
AText:string;
begin
inherited;
ARect.Left:=0;
ARect.Top:=0;
ACanvas.Brush.Color:=dxDBGrid1.GroupPanelColor;
ACanvas.Font.Color:=dxDBGrid1.GroupPanelFontColor;
//您可以把列标题拖放到此处使记录按此列进行分组
if dxDBGrid1.GroupColumnCount=0 then AText:=' '+GetDBString('NOT10001012') else AText:='';
Windows.FillRect(ACanvas.Handle, ARect, 0);
DrawText(ACanvas.Handle, PChar(AText), Length(AText), ARect, DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_SINGLELINE or DT_VCENTER);
end;
procedure TCwa500_01Form.qryCwa500C500_009GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if qryCwa500.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AUnit[0]; //分钟
1:Text:=AUnit[1]; //小时
2:Text:=AUnit[2]; //天
3:Text:=AUnit[3]; //次
4:Text:=AUnit[4]; //月
5:Text:=AUnit[5]; //年
end;
end;
{
procedure TCwa500_01Form.CalcTime;
var
S:String;
ATimes:Double;
AEmpNo,AUnitNo,ADayOfHours:Integer;
begin
if trim(edtEmpID.Text)='' then Exit;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select H150_001 from HRM150 where H150_002='+''''+edtEmpID.Text+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then Exit;
AEmpNo:=SYSDM.qryQuery.Fields[0].Value;
//自动计算时间
ATimes:=GetTimes(AEmpNo,dtpStartDate.Date,dtpEndDate.Date,edtStartTime.Text,edtEndTime.Text);
//计量单位转换
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select C150_005 from CWA150 where C150_002='+''''+edtTypeID.Text+'''');
SYSDM.qryQuery.Open;
AUnitNo:=SYSDM.qryQuery.Fields[0].Value;
//取得系统参数(每天工作时数)
S:=GetSysparams('CWA0006');
ADayOfHours:=StrToInt(S);
case AUnitNo of
1:ATimes:=ATimes; //分钟
2:ATimes:=ATimes/60; //小时
3:ATimes:=ATimes/(ADayOfHours*60); //天
4:ATimes:=ATimes; //次
end;
qryCwa500.FieldByName('C500_009').Value:=ATimes;
end;
}
initialization
RegisterClass(TCwa500_01Form);
finalization
UnRegisterClass(TCwa500_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -