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

📄 pay500_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
unit Pay500_01;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Bas100_01, FR_DSet, FR_DBSet, FR_Class, Db, Menus,
  Grids, StdCtrls, ExtCtrls, ComCtrls, ToolWin, Wwintl,
  Mask, DBCtrls, Buttons, wwdbdatetimepicker,
  dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid, ActnList, ADODB,
  dxDBTLCl, dxGrClms;

type
  TPay500_01Form = class(TBas100_01Form)
    CoolBar1: TCoolBar;
    Panel1: TPanel;
    Image1: TImage;
    lblYear: TLabel;
    lblMonth: TLabel;
    lblTypeName: TLabel;
    cbYear: TComboBox;
    cbMonth: TComboBox;
    cbType: TComboBox;
    PopupMenu1: TPopupMenu;
    mmiPrint: TMenuItem;
    mmiExport: TMenuItem;
    dsPay500: TDataSource;
    ToolBar2: TToolBar;
    tlbFirst: TToolButton;
    tlbPrior: TToolButton;
    tlbNext: TToolButton;
    tlbLast: TToolButton;
    ToolButton1: TToolButton;
    tlbInsert: TToolButton;
    tlbUpdate: TToolButton;
    tlbDelete: TToolButton;
    ToolButton2: TToolButton;
    tlbSave: TToolButton;
    tlbCancel: TToolButton;
    ToolButton3: TToolButton;
    tlbLocate: TToolButton;
    tlbPrint: TToolButton;
    tlbCheck: TToolButton;
    ToolButton4: TToolButton;
    tlbExit: TToolButton;
    tlbBatch: TToolButton;
    ToolButton5: TToolButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    sbOk: TSpeedButton;
    ActionList1: TActionList;
    ActFirst: TAction;
    ActPrior: TAction;
    ActNext: TAction;
    ActLast: TAction;
    ActInsert: TAction;
    ActUpdate: TAction;
    ActDelete: TAction;
    ActSave: TAction;
    ActCancel: TAction;
    ActRefresh: TAction;
    ActLocate: TAction;
    ActSearch: TAction;
    ActPrint: TAction;
    ActExport: TAction;
    ActExit: TAction;
    tlbSearch: TToolButton;
    tlbRefresh: TToolButton;
    SaveDialog1: TSaveDialog;
    qryPay500: TADOQuery;
    qryPay150: TADOQuery;
    qryHrm150: TADOQuery;
    qryCwa160: TADOQuery;
    ActCheck: TAction;
    ActBatch: TAction;
    qryCwa160C160_001: TAutoIncField;
    qryCwa160C160_002: TStringField;
    qryCwa160C160_003: TStringField;
    qryCwa160C160_004: TIntegerField;
    qryCwa160C160_005: TFloatField;
    qryHrm150H150_001: TAutoIncField;
    qryHrm150H150_002: TStringField;
    qryHrm150H150_003: TStringField;
    ScrollBox1: TScrollBox;
    lblDest: TLabel;
    lblEmpID: TLabel;
    lblDate: TLabel;
    lblReason: TLabel;
    lblType: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    lblAmount: TLabel;
    edtDest: TDBEdit;
    edtTypeID: TEdit;
    DBEdit9: TDBEdit;
    edtEmpID: TEdit;
    DBEdit10: TDBEdit;
    dtpDate: TwwDBDateTimePicker;
    edtReasonID: TEdit;
    DBEdit3: TDBEdit;
    edtAmount: TDBEdit;
    ScrollBox2: TScrollBox;
    dxDBGrid1: TdxDBGrid;
    qryPay500P500_001: TIntegerField;
    qryPay500P500_002: TIntegerField;
    qryPay500P500_003: TStringField;
    qryPay500P500_004: TIntegerField;
    qryPay500P500_005: TDateTimeField;
    qryPay500P500_006: TFloatField;
    qryPay500P500_007: TBooleanField;
    qryPay500P150_002: TStringField;
    qryPay500P150_003: TStringField;
    qryPay150P150_001: TAutoIncField;
    qryPay150P150_002: TStringField;
    qryPay150P150_003: TStringField;
    qryPay500H150_002: TStringField;
    qryPay500H150_003: TStringField;
    qryPay500C160_002: TStringField;
    qryPay500C160_003: TStringField;
    dxDBGrid1P150_002: TdxDBGridLookupColumn;
    dxDBGrid1P150_003: TdxDBGridLookupColumn;
    dxDBGrid1C160_002: TdxDBGridLookupColumn;
    dxDBGrid1C160_003: TdxDBGridLookupColumn;
    dxDBGrid1P500_003: TdxDBGridMaskColumn;
    dxDBGrid1H150_003: TdxDBGridLookupColumn;
    dxDBGrid1H150_002: TdxDBGridLookupColumn;
    dxDBGrid1P500_005: TdxDBGridDateColumn;
    dxDBGrid1P500_006: TdxDBGridMaskColumn;
    dxDBGrid1P500_007: TdxDBGridCheckColumn;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cbYearChange(Sender: TObject);
    procedure ReportGetValue(const ParName: String;
      var ParValue: Variant);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure edtTypeIDExit(Sender: TObject);
    procedure edtEmpIDExit(Sender: TObject);
    procedure edtReasonIDExit(Sender: TObject);
    procedure edtTypeIDKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtEmpIDKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtReasonIDKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cbMonthChange(Sender: TObject);
    procedure cbTypeChange(Sender: TObject);
    procedure sbOkClick(Sender: TObject);
    procedure PageControl1Changing(Sender: TObject;
      var AllowChange: Boolean);
    procedure qryPay500AfterScroll(DataSet: TDataSet);
    procedure ActFirstExecute(Sender: TObject);
    procedure ActPriorExecute(Sender: TObject);
    procedure ActNextExecute(Sender: TObject);
    procedure ActLastExecute(Sender: TObject);
    procedure ActInsertExecute(Sender: TObject);
    procedure ActUpdateExecute(Sender: TObject);
    procedure ActDeleteExecute(Sender: TObject);
    procedure ActSaveExecute(Sender: TObject);
    procedure ActCancelExecute(Sender: TObject);
    procedure ActRefreshExecute(Sender: TObject);
    procedure ActLocateExecute(Sender: TObject);
    procedure ActSearchExecute(Sender: TObject);
    procedure ActPrintExecute(Sender: TObject);
    procedure ActExportExecute(Sender: TObject);
    procedure ActCheckExecute(Sender: TObject);
    procedure ActBatchExecute(Sender: TObject);
    procedure ActExitExecute(Sender: TObject);
    procedure dxDBGrid1BackgroundDrawEvent(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect);
  private
    ATypeNo:Integer;
    AStartDate,AEndDate:TDateTime;
    APeriod:Integer;
    procedure SetButtonState(AInsUpd:Boolean);
    procedure SetInterface;
    procedure MenuItemClick(Sender: TObject);
    procedure CreatePopmeun(AGrid:TdxDBGrid);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Pay500_01Form: TPay500_01Form;

implementation

uses SYSDATA, HwSelData, CommFun, Pay500_02, Pay500_03;

{$R *.DFM}

//设置按钮状态
procedure TPay500_01Form.SetButtonState(AInsUpd:Boolean);
begin
  ActFirst.Enabled:=not AInsUpd;
  ActPrior.Enabled:=not AInsUpd;
  ActNext.Enabled:=not AInsUpd;
  ActLast.Enabled:=not AInsUpd;
  ActInsert.Enabled:=(ARights[2]='Y') and (not AInsUpd);
  ActUpdate.Enabled:=(ARights[3]='Y') and (not AInsUpd);
  ActDelete.Enabled:=(ARights[4]='Y') and (not AInsUpd);
  ActSave.Enabled:=AInsUpd;
  ActCancel.Enabled:=AInsUpd;
  ActRefresh.Enabled:=not AInsUpd;
  ActLocate.Enabled:=not AInsUpd;
  ActSearch.Enabled:=not AInsUpd;
  ActPrint.Enabled:=(ARights[5]='Y') and (not AInsUpd);
  ActExport.Enabled:=(ARights[5]='Y') and (not AInsUpd);
  ActCheck.Enabled:=(ARights[7]='Y') and (not AInsUpd);
  ActBatch.Enabled:=(ARights[2]='Y') and (not AInsUpd);
  ActExit.Enabled:=True;

  Panel1.Enabled:=not AInsUpd;
  ScrollBox1.Enabled:=AInsUpd;
  if AInsUpd then PageControl1.ActivePageIndex:=1;
end;

procedure TPay500_01Form.SetInterface;
begin
  Image1.Picture.Bitmap.LoadFromResourceName(AImgHandle,'TOPTITL');
  ActFirst.Caption:=GetDBString('COM00005001');  //最前
  ActPrior.Caption:=GetDBString('COM00005002');  //上移
  ActNext.Caption:=GetDBString('COM00005003');  //下移
  ActLast.Caption:=GetDBString('COM00005004');  //最后
  ActInsert.Caption:=GetDBString('COM00005005');  //新增
  ActUpdate.Caption:=GetDBString('COM00005006');  //修改
  ActDelete.Caption:=GetDBString('COM00005007');  //删除
  ActSave.Caption:=GetDBString('COM00005008');  //保存
  ActCancel.Caption:=GetDBString('COM00005009');  //取消
  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');  //明细资料

  ActFirst.Hint:=GetDBString('COM00005001',2);  //移到第一条记录
  ActPrior.Hint:=GetDBString('COM00005002',2);  //移到上一条记录
  ActNext.Hint:=GetDBString('COM00005003',2);  //移到下一条记录
  ActLast.Hint:=GetDBString('COM00005004',2);  //移到最后一条记录
  ActInsert.Hint:=GetDBString('COM00005005',2);  //新增一条记录
  ActUpdate.Hint:=GetDBString('COM00005006',2);  //修改当前记录
  ActDelete.Hint:=GetDBString('COM00005007',2);  //删除当前记录
  ActSave.Hint:=GetDBString('COM00005008',2);  //保存编辑的记录
  ActCancel.Hint:=GetDBString('COM00005009',2);  //取消编辑的记录
  ActRefresh.Hint:=GetDBString('COM00005010',2);  //取得最新的数据
  ActLocate.Hint:=GetDBString('COM00005011',2);  //快速定位记录
  ActSearch.Hint:=GetDBString('COM00005012',2);  //按条件查询数据
  ActPrint.Hint:=GetDBString('COM00005013',2);  //将数据打印出来
  ActExport.Hint:=GetDBString('COM00005014',2);  //导出数据到文件中
  ActExit.Hint:=GetDBString('COM00005015',2);  //关闭当前窗口

  Caption:=GetDBString('PAY50001001');  //薪资事务处理
  ActCheck.Caption:=GetDBString('PAY50001002');  //审核
  ActBatch.Caption:=GetDBString('PAY50001003');  //成批

  lblYear.Caption:=GetDBString('PAY50001004');  //年份
  lblMonth.Caption:=GetDBString('PAY50001005');  //月份
  lblTypeName.Caption:=GetDBString('PAY50001006');  //事务类型
  lblType.Caption:=GetDBString('PAY50001006');  //事务类型
  lblReason.Caption:=GetDBString('PAY50001007');  //事务说明
  lblDest.Caption:=GetDBString('PAY50001008');  //事务说明
  lblEmpID.Caption:=GetDBString('PAY50001009');  //员工编号
  lblDate.Caption:=GetDBString('PAY50001010');  //事务日期
  lblAmount.Caption:=GetDBString('PAY50001011');  //事务金额
  sbOk.Caption:=GetDBString('PAY50001015');  //确定

  qryPay500P500_003.DisplayLabel:=GetDBString('PAY50001007');  //事务说明
  qryPay500P500_005.DisplayLabel:=GetDBString('PAY50001010');  //事务日期
  qryPay500P500_006.DisplayLabel:=GetDBString('PAY50001011');  //事务金额
  qryPay500P500_007.DisplayLabel:=GetDBString('PAY50001012');  //已审核否

  qryPay500P150_002.DisplayLabel:=GetDBString('PAY50001017');  //类型编号
  qryPay500P150_003.DisplayLabel:=GetDBString('PAY50001018');  //类型名称
  qryPay500H150_002.DisplayLabel:=GetDBString('PAY50001019');  //员工编号
  qryPay500H150_003.DisplayLabel:=GetDBString('PAY50001020');  //员工名称
  qryPay500C160_002.DisplayLabel:=GetDBString('PAY50001021');  //原因编号
  qryPay500C160_003.DisplayLabel:=GetDBString('PAY50001022');  //原因说明

  qryPay150P150_002.DisplayLabel:=GetDBString('PAY50001017');  //类型编号
  qryPay150P150_003.DisplayLabel:=GetDBString('PAY50001018');  //类型名称
  qryHrm150H150_002.DisplayLabel:=GetDBString('PAY50001019');  //员工编号
  qryHrm150H150_003.DisplayLabel:=GetDBString('PAY50001020');  //员工姓名
  qryCwa160C160_002.DisplayLabel:=GetDBString('PAY50001021');  //原因编号
  qryCwa160C160_003.DisplayLabel:=GetDBString('PAY50001022');  //原因说明
  qryCwa160C160_005.DisplayLabel:=GetDBString('PAY50001023');  //金额
  //取系统参数(事务处理必须审核否'PAY0006')
  ActCheck.Visible:=GetSysParams('PAY0006')='Y';
end;

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

procedure TPay500_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 TPay500_01Form.FormCreate(Sender: TObject);
begin
  qryPay150.Close;
  qryPay150.SQL.Clear;
  qryPay150.SQL.Add('select * from PAY150 where P150_008='+GetBoolean(True)+' and P150_004=0 order by P150_002');
  qryPay150.Open;
  inherited;
  GetYears(cbYear);
  GetMonths(StrToInt(cbYear.Text),cbMonth);

  cbType.Items.Clear;
  cbType.Items.Add(GetDBString('PAY50001024'));    //所有事务
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select P150_003 from PAY150 where P150_008='+GetBoolean(True)+' and P150_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 TPay500_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  qryPay500.close;
end;

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

procedure TPay500_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='P150_002' then ParValue:=GetDBString('PAY50001017')  //类型编号
  else if ParName='P150_003' then ParValue:=GetDBString('PAY50001018')  //类型名称
  else if ParName='P500_003' then ParValue:=GetDBString('PAY50001007')  //事务说明
  else if ParName='C160_002' then ParValue:=GetDBString('PAY50001021')  //原因编号
  else if ParName='C160_003' then ParValue:=GetDBString('PAY50001022')  //原因说明
  else if ParName='H150_002' then ParValue:=GetDBString('PAY50001019')  //员工编号
  else if ParName='H150_003' then ParValue:=GetDBString('PAY50001020')  //员工名称
  else if ParName='P500_005' then ParValue:=GetDBString('PAY50001010')  //事务日期
  else if ParName='P500_006' then ParValue:=GetDBString('PAY50001011')  //事务金额
  else if ParName='P500_007' then ParValue:=GetDBString('PAY50001012')  //已审核否
end;

procedure TPay500_01Form.SpeedButton1Click(Sender: TObject);
begin
  inherited;
//事务类型查询
  if not edtTypeID.Focused then edtTypeID.SetFocus;
  if not ActSave.Enabled then Exit;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryPay150,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtTypeID.Text:=qryPay150.FieldByName('P150_002').AsString;
    qryPay500P500_001.AsString:=qryPay150.FieldByName('P150_001').AsString;
    qryPay500P500_003.AsString:=qryPay150.FieldByName('P150_003').AsString;
  end;
end;

procedure TPay500_01Form.SpeedButton2Click(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;
      qryPay500P500_004.Value:=qryHrm150.FieldByName('H150_001').Value;
    end;
  end;
end;

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

⌨️ 快捷键说明

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