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

📄 cwa500_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
  ActRefresh.Caption:=GetDBString('COM00005010');  //刷新
  ActLocate.Caption:=GetDBString('COM00005011');  //查找
  ActSearch.Caption:=GetDBString('COM00005012');  //查询
  ActPrint.Caption:=GetDBString('COM00005013');  //打印
  ActExport.Caption:=GetDBString('COM00005014');  //导出数据
  ActExit.Caption:=GetDBString('COM00005015');  //退出
  TabSheet1.Caption:=GetDBString('COM00005016');  //浏览数据
  TabSheet2.Caption:=GetDBString('COM00005017');  //明细资料

  Caption:=GetDBString('CWA50001001');  //考勤事务处理
  ActCheck.Caption:=GetDBString('CWA50001002');  //审核
  ActBatch.Caption:=GetDBString('CWA50001003');  //成批
  ActQuick.Caption:=GetDBString('CWA50001004');  //快速

  lblYear.Caption:=GetDBString('CWA50001005');  //年份
  lblMonth.Caption:=GetDBString('CWA50001006');  //月份
  lblTypeName.Caption:=GetDBString('CWA50001007');  //事务类型
  lblType.Caption:=GetDBString('CWA50001007');  //事务类型
  lblReason.Caption:=GetDBString('CWA50001019');  //原因编号
  lblDesc.Caption:=GetDBString('CWA50001009');  //事务说明

  lblEmpID.Caption:=GetDBString('CWA50001008');  //员工编号
  lblDate.Caption:=GetDBString('CWA50001010');  //事务日期
  lblTime.Caption:=GetDBString('CWA50001011');  //起止时间
  lblValue.Caption:=GetDBString('CWA50001014');  //事务数值
  lblUnit.Caption:=GetDBString('CWA50001015');  //计量单位
  sbOk.Caption:=GetDBString('CWA50001016');  //确定

  qryCwa500C150_002.DisplayLabel:=GetDBString('CWA50001017');  //类型编号
  qryCwa500C150_003.DisplayLabel:=GetDBString('CWA50001018');  //类型名称
  qryCwa500C160_002.DisplayLabel:=GetDBString('CWA50001019');  //原因编号
  qryCwa500C160_003.DisplayLabel:=GetDBString('CWA50001020');  //原因说明
  qryCwa500C500_003.DisplayLabel:=GetDBString('CWA50001009');  //事务说明
  qryCwa500H150_002.DisplayLabel:=GetDBString('CWA50001008');  //员工编号
  qryCwa500H150_003.DisplayLabel:=GetDBString('CWA50001021');  //员工姓名
  qryCwa500C500_005.DisplayLabel:=GetDBString('CWA50001010');  //事务日期
  qryCwa500C500_006.DisplayLabel:=GetDBString('CWA50001012');  //起始时间
  qryCwa500C500_007.DisplayLabel:=GetDBString('CWA50001013');  //结束时间
  qryCwa500C500_008.DisplayLabel:=GetDBString('CWA50001014');  //事务数值
  qryCwa500C500_009.DisplayLabel:=GetDBString('CWA50001015');  //计量单位
  qryCwa500C500_010.DisplayLabel:=GetDBString('CWA50001022');  //已审核否
  qryCwa150C150_002.DisplayLabel:=GetDBString('CWA50001017');  //类型编号
  qryCwa150C150_002.DisplayLabel:=GetDBString('CWA50001018');  //类型名称
  qryHrm150H150_002.DisplayLabel:=GetDBString('CWA50001008');  //员工编号
  qryHrm150H150_003.DisplayLabel:=GetDBString('CWA50001021');  //员工姓名
  qryCwa160C160_002.DisplayLabel:=GetDBString('CWA50001019');  //原因编号
  qryCwa160C160_003.DisplayLabel:=GetDBString('CWA50001020');  //原因说明

  AUnit[0]:=GetDBString('COM00004009');  //分钟
  AUnit[1]:=GetDBString('COM00004010');  //小时
  AUnit[2]:=GetDBString('COM00004011');  //天
  AUnit[3]:=GetDBString('COM00004012');  //次
  AUnit[4]:=GetDBString('COM00004031');  //月
  AUnit[5]:=GetDBString('COM00004032');  //年
  //取系统参数(事务处理必须审核否'PAY0006')
  ActCheck.Visible:=GetSysParams('PAY0006')='Y';
end;

procedure TCwa500_01Form.MenuItemClick(Sender: TObject);
begin
  TMenuItem(Sender).Checked:=not TMenuItem(Sender).Checked;
  dxDBGrid1.ColumnByFieldName(TMenuItem(Sender).Name).Visible:=TMenuItem(Sender).Checked;
end;

procedure TCwa500_01Form.CreatePopmeun(AGrid:TdxDBGrid);
var
  ADataSet:TDataSet;
  I:Integer;
  AMenuItem:TMenuItem;
begin
  if AGrid.DataSource=nil then Exit;
  if AGrid.DataSource.DataSet=nil then Exit;
  if AGrid.PopupMenu=nil then Exit;
  ADataSet:=AGrid.DataSource.DataSet;
  for I:=0 to ADataSet.FieldCount-1 do
  begin
    if ADataSet.Fields[I].Visible then
    begin
      AMenuItem:=TMenuItem.Create(nil);
      AMenuItem.Name:=ADataSet.Fields[I].FieldName;
      AMenuItem.Caption:=ADataSet.Fields[I].DisplayLabel;
      AMenuItem.Checked:=AGrid.ColumnByFieldName(ADataSet.Fields[I].FieldName).Visible;
      AMenuItem.OnClick:=MenuItemClick;
      AGrid.PopupMenu.Items.Add(AMenuItem);
    end;
  end;
end;

procedure TCwa500_01Form.FormCreate(Sender: TObject);
begin
  qryCwa150.Close;
  qryCwa150.SQL.Clear;
  qryCwa150.SQL.Add('select * from CWA150 where C150_008='+GetBoolean(True)+' and C150_004=0 order by C150_002');
  qryCwa150.Open;
  inherited;

  GetYears(cbYear);
  GetMonths(StrToInt(cbYear.Text),cbMonth);

  cbType.Items.Clear;
  cbType.Items.Add(GetDBString('COM00004013'));  //所有事务
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select C150_003 from CWA150 where C150_008='+GetBoolean(True)+' and C150_004=0');
  SYSDM.qryQuery.Open;
  while not SYSDM.qryQuery.Eof do
  begin
    cbType.Items.Add(SYSDM.qryQuery.Fields[0].AsString);
    SYSDM.qryQuery.Next;
  end;
  cbType.ItemIndex:=0;
  if cbType.Text<>'' then cbType.OnChange(Self);
  sbOk.Click;

  SetButtonState(False);
  //设置界面信息
  SetInterface;
  PageControl1.ActivePageIndex:=0;
  LoadFromReg(Self); //这行一定放在打开数据集后面,否则无效
  CreatePopmeun(dxDBGrid1);
end;

procedure TCwa500_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  if ActSave.Enabled then
  begin
    if ShowDialog('UMS10000007')=IDNO then  //数据尚未保存,现在保存吗?
      ActCancel.Execute
    else
      ActSave.Execute;
    Action:=cafree;
  end;
  qryCwa500.Close;
  Action:=cafree;
  inherited;
end;

procedure TCwa500_01Form.cbYearChange(Sender: TObject);
begin
  inherited;
  GetMonths(StrToInt(cbYear.Text),cbMonth);
end;

procedure TCwa500_01Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  inherited;
  if ParName='USENM' then ParValue:=AUserName
  else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006')  //列印日期
  else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007')  //列印人員
  else if ParName='REPNM' then ParValue:=AReportTitle

  else if ParName='C150_002' then ParValue:=GetDBString('CWA50001017')  //类型编号
  else if ParName='C150_003' then ParValue:=GetDBString('CWA50001018')  //类型名称
  else if ParName='C160_002' then ParValue:=GetDBString('CWA50001019')  //原因编号
  else if ParName='C160_003' then ParValue:=GetDBString('CWA50001020')  //原因说明
  else if ParName='H150_002' then ParValue:=GetDBString('CWA50001008')  //员工编号
  else if ParName='H150_003' then ParValue:=GetDBString('CWA50001021')  //员工姓名
  else if ParName='C500_003' then ParValue:=GetDBString('CWA50001009')  //事务说明
  else if ParName='C500_005' then ParValue:=GetDBString('CWA50001010')  //事务日期
  else if ParName='C500_006' then ParValue:=GetDBString('CWA50001012')  //起始时间
  else if ParName='C500_007' then ParValue:=GetDBString('CWA50001013')  //结束时间
  else if ParName='C500_008' then ParValue:=GetDBString('CWA50001014')  //事务数值
  else if ParName='C500_009' then ParValue:=GetDBString('CWA50001015')  //计量单位
  else if ParName='C500_010' then ParValue:=GetDBString('CWA50001022')  //已审核否
end;

procedure TCwa500_01Form.SpeedButton1Click(Sender: TObject);
begin
  inherited;
//事务类型查询
  if not edtTypeID.Focused then edtTypeID.SetFocus;
  if not ActSave.Enabled then Exit;
  edtTypeID.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryCwa150,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtTypeID.Text:=qryCwa150.FieldByName('C150_002').AsString;
    qryCwa500.FieldByName('C500_001').AsString:=qryCwa150.FieldByName('C150_001').AsString;
    qryCwa500.FieldByName('C500_003').AsString:=qryCwa150.FieldByName('C150_003').AsString;
    qryCwa500.FieldByName('C500_009').AsString:=qryCwa150.FieldByName('C150_005').AsString;  //计量单位
  end;
end;

procedure TCwa500_01Form.SpeedButton2Click(Sender: TObject);
begin
  inherited;
//员工编号查询
  if not edtEmpID.Focused then edtEmpID.SetFocus;
  if not ActSave.Enabled then Exit;
  edtEmpID.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryHrm150,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtEmpID.Text:=qryHrm150.FieldByName('H150_002').AsString;
    qryCwa500.FieldByName('C500_004').AsString:=qryHrm150.FieldByName('H150_001').AsString;
  end;
end;

procedure TCwa500_01Form.SpeedButton3Click(Sender: TObject);
begin
  inherited;
//原因编号查询
  if not edtReasonID.Focused then edtReasonID.SetFocus;
  if not ActSave.Enabled then Exit;
  edtReasonID.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryCwa160,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtReasonID.Text:=qryCwa160C160_002.Value;
    qryCwa500C500_002.Value:=qryCwa160C160_001.Value;
  end;
end;

procedure TCwa500_01Form.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  inherited;
  if qryCwa500.State in [dsInsert, dsEdit] then AllowChange:=False;
end;

procedure TCwa500_01Form.edtTypeIDExit(Sender: TObject);
begin
  inherited;
  if (ActSave.Enabled) and (trim(edtTypeID.Text)<>'') then
  begin
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select C150_001,C150_002,C150_003,C150_005 from CWA150 where C150_002='+''''+edtTypeID.Text+'''');
    SYSDM.qryQuery.Open;
    if not SYSDM.qryQuery.IsEmpty then
    begin
      if not (qryCwa500.State in [dsInsert, dsEdit]) then qryCwa500.Edit;
      edtTypeID.Text:=SYSDM.qryQuery.FieldByName('C150_002').AsString;
      qryCwa500.FieldByName('C500_001').AsString:=SYSDM.qryQuery.FieldByName('C150_001').AsString;
      qryCwa500.FieldByName('C500_003').AsString:=SYSDM.qryQuery.FieldByName('C150_003').AsString;
      qryCwa500.FieldByName('C500_009').AsString:=SYSDM.qryQuery.FieldByName('C150_005').AsString;  //计量单位
    end else
    begin
      ShowMsg('UMS10000072');  //无效的事务类型
      edtTypeID.SetFocus;
      Abort;
    end;
  end;
end;

procedure TCwa500_01Form.edtEmpIDExit(Sender: TObject);
begin
  inherited;
  if (ActSave.Enabled) and (trim(edtEmpID.Text)<>'') then
  begin
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select H150_001,H150_002,H150_003 from HRM150 where H150_002='+''''+edtEmpID.Text+'''');
    SYSDM.qryQuery.Open;
    if not SYSDM.qryQuery.IsEmpty then
    begin
      if not (qryCwa500.State in [dsInsert, dsEdit]) then qryCwa500.Edit;
      edtEmpID.Text:=SYSDM.qryQuery.FieldByName('H150_002').AsString;
      qryCwa500.FieldByName('C500_004').AsString:=SYSDM.qryQuery.FieldByName('H150_001').AsString;
    end else
    begin
      ShowMsg('UMS10000042');  //无效的员工编号
      edtEmpID.SetFocus;
      Abort;
    end;
  end;
end;

procedure TCwa500_01Form.edtReasonIDExit(Sender: TObject);
begin
  inherited;
  //原因编号查询
  if (ActSave.Enabled) and (trim(edtReasonID.Text)<>'') then
  begin
    if qryCwa160.Locate('C160_002',edtReasonID.Text,[loCaseInsensitive]) then
    begin
      edtReasonID.Text:=qryCwa160C160_002.Value;
      qryCwa500C500_002.Value:=qryCwa160C160_001.Value;
    end else
    begin
      ShowMsg('UMS10000074');  //无效的原因编号
      edtReasonID.SetFocus;
      Abort;
    end;
  end;
end;

procedure TCwa500_01Form.edtTypeIDKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if Key=vk_F4 then SpeedButton1.Click;
end;

procedure TCwa500_01Form.edtEmpIDKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if Key=vk_F4 then SpeedButton2.Click;
end;

procedure TCwa500_01Form.edtReasonIDKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if Key=vk_F4 then SpeedButton3.Click;
end;

procedure TCwa500_01Form.sbOkClick(Sender: TObject);
begin
  inherited;
//确定
  if (cbYear.Text='') or (cbMonth.Text='') or (cbType.Text='') then Exit;
  //取得期段的起始结束日期
  GetPeriodDate(cbYear.Text,cbMonth.Text,AStartDate,AEndDate,APeriod);
  qryCwa500.Close;
  qryCwa500.SQL.Clear;
  if ATypeNo=0 then
    qryCwa500.SQL.Add('select * from CWA500 where C500_005>='+GetDateString(AStartDate)+' and C500_005<='+GetDateString(AEndDate))
  else
    qryCwa500.SQL.Add('select * from CWA500 where C500_001='+IntToStr(ATypeNo)+' and C500_005>='+GetDateString(AStartDate)+' and C500_005<='+GetDateString(AEndDate));
  qryCwa500.Open;
end;

procedure TCwa500_01Form.cbMonthChange(Sender: TObject);
begin
  inherited;
  //取得期段的起始结束日期
  GetPeriodDate(cbYear.Text,cbMonth.Text,AStartDate,AEndDate,APeriod);
end;

procedure TCwa500_01Form.cbTypeChange(Sender: TObject);
begin
  inherited;
  if cbYear.Text='' then Exit;
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select C150_001 from CWA150 where C150_003='+''''+cbType.Text+'''');
  SYSDM.qryQuery.Open;
  if SYSDM.qryQuery.IsEmpty then
    ATypeNo:=0
  else
    ATypeNo:=SYSDM.qryQuery.Fields[0].Value;   //事务类型
end;

procedure TCwa500_01Form.ActFirstExecute(Sender: TObject);
begin
  inherited;
//最前
  if qryCwa500.IsEmpty then Exit;
  qryCwa500.First;
  ActFirst.Enabled:=False;
  ActPrior.Enabled:=False;
  ActNext.Enabled:=True;
  ActLast.Enabled:=True;
end;

procedure TCwa500_01Form.ActPriorExecute(Sender: TObject);
begin
  inherited;
//上移
  if qryCwa500.IsEmpty then Exit;
  qryCwa500.Prior;
  ActNext.Enabled:=not qryCwa500.Eof;
  ActLast.Enabled:=not qryCwa500.Eof;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -