⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cwa500_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
  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 + -