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

📄 pay510_01.pas.svn-base

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

interface

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

type
  TPay510_01Form = class(TBas100_01Form)
    CoolBar1: TCoolBar;
    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;
    ToolButton4: TToolButton;
    tlbExit: TToolButton;
    Panel1: TPanel;
    Image1: TImage;
    PopupMenu1: TPopupMenu;
    mmiPrint: TMenuItem;
    mmiExport: TMenuItem;
    dsHrm150: TDataSource;
    dsPay510A: TDataSource;
    tlbSet: TToolButton;
    ToolButton6: TToolButton;
    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;
    ActSet: TAction;
    SaveDialog1: TSaveDialog;
    qryHrm150: TADOQuery;
    qryHrm150H150_001: TAutoIncField;
    qryHrm150H150_002: TStringField;
    qryHrm150H150_003: TStringField;
    qryPay510A: TADOQuery;
    qryPay150: TADOQuery;
    ScrollBox1: TScrollBox;
    dxDBGrid1: TdxDBGrid;
    Splitter1: TSplitter;
    dxDBGrid1H150_002: TdxDBGridMaskColumn;
    dxDBGrid1H150_003: TdxDBGridMaskColumn;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ScrollBox2: TScrollBox;
    dxDBGrid2: TdxDBGrid;
    Splitter2: TSplitter;
    ScrollBox3: TScrollBox;
    dxDBGrid3: TdxDBGrid;
    dsPay510B: TDataSource;
    qryPay510B: TADOQuery;
    qryPay510AP510A_001: TAutoIncField;
    qryPay510AP510A_002: TIntegerField;
    qryPay510AP510A_003: TIntegerField;
    qryPay510AP510A_004: TDateTimeField;
    qryPay160A: TADOQuery;
    qryPay510AP160A_002: TStringField;
    qryPay510AP160A_003: TStringField;
    dxDBGrid3P510A_004: TdxDBGridDateColumn;
    dxDBGrid3P160A_002: TdxDBGridLookupColumn;
    dxDBGrid3P160A_003: TdxDBGridLookupColumn;
    qryPay510BP510B_001: TIntegerField;
    qryPay510BP510B_002: TIntegerField;
    qryPay510BP510B_003: TFloatField;
    qryPay510BP510B_004: TBooleanField;
    qryPay510BP150_002: TStringField;
    qryPay510BP150_003: TStringField;
    qryPay510BP150_009: TSmallintField;
    dxDBGrid2P150_009: TdxDBGridLookupColumn;
    dxDBGrid2P150_002: TdxDBGridLookupColumn;
    dxDBGrid2P150_003: TdxDBGridLookupColumn;
    dxDBGrid2P510B_003: TdxDBGridMaskColumn;
    dxDBGrid2P510B_004: TdxDBGridCheckColumn;
    ScrollBox4: TScrollBox;
    dxDBGrid4: TdxDBGrid;
    ScrollBox5: TScrollBox;
    lblEmpID: TLabel;
    lblClass: TLabel;
    lblDate: TLabel;
    cbClass: TDBLookupComboBox;
    dsPay160A: TDataSource;
    edtDate: TwwDBDateTimePicker;
    edtEmpNm: TDBEdit;
    sbEmp: TSpeedButton;
    edtEmpID: TEdit;
    qryPay510AH150_002: TStringField;
    qryPay510AH150_003: TStringField;
    Splitter3: TSplitter;
    qryPay150P150_001: TAutoIncField;
    qryPay150P150_002: TStringField;
    qryPay150P150_003: TStringField;
    qryPay150P150_009: TSmallintField;
    qryPay160AP160A_001: TAutoIncField;
    qryPay160AP160A_002: TStringField;
    qryPay160AP160A_003: TStringField;
    dxDBGrid4P150_009: TdxDBGridLookupColumn;
    dxDBGrid4P150_002: TdxDBGridLookupColumn;
    dxDBGrid4P150_003: TdxDBGridLookupColumn;
    dxDBGrid4P510B_003: TdxDBGridMaskColumn;
    dxDBGrid4P510B_004: TdxDBGridCheckColumn;
    adsPay510: TADODataSet;
    dsPay510: TDataSource;
    adsPay510P150_009: TSmallintField;
    adsPay510P150_001: TIntegerField;
    adsPay510P150_002: TStringField;
    adsPay510P150_003: TStringField;
    adsPay510P510B_003: TFloatField;
    adsPay510P510B_004: TBooleanField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ReportGetValue(const ParName: String;
      var ParValue: Variant);
    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 ActSetExecute(Sender: TObject);
    procedure ActExitExecute(Sender: TObject);
    procedure qryPay510BP150_009GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure qryHrm150AfterScroll(DataSet: TDataSet);
    procedure qryPay510AAfterScroll(DataSet: TDataSet);
    procedure sbEmpClick(Sender: TObject);
    procedure edtEmpIDExit(Sender: TObject);
    procedure PageControl1Changing(Sender: TObject;
      var AllowChange: Boolean);
    procedure qryPay510AP510A_003Change(Sender: TField);
    procedure adsPay510P150_009GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
  private
    AType:array[0..2] of string;
    AOldEmpNo:Integer;
    AOldDate:TDateTime;
    procedure SetButtonState(AInsUpd:Boolean);
    procedure SetInterface;
    procedure SetPayItem(AClassNo:Integer);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Pay510_01Form: TPay510_01Form;

implementation

uses SYSDATA, HwSelData, CommFun, Pay510_02;

{$R *.DFM}

//设置按钮状态
procedure TPay510_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);
  ActSet.Enabled:=(ARights[2]='Y') and (not AInsUpd);
  ActExit.Enabled:=True;
  ScrollBox1.Enabled:=not AInsUpd;
  ScrollBox5.Enabled:=AInsUpd;
  dxDBGrid4P510B_003.DisableEditor:=not AInsUpd;
  if AInsUpd then PageControl1.ActivePageIndex:=1;
end;

procedure TPay510_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');  //退出

  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('PAY51001001');  //员工薪资结构
  ActSet.Caption:=GetDBString('PAY51001002');  //设置
  TabSheet1.Caption:=GetDBString('PAY51001003');  //薪资结构
  TabSheet2.Caption:=GetDBString('PAY51001004');  //结构维护
  lblEmpID.Caption:=GetDBString('PAY51001005');  //员工编号
  lblDate.Caption:=GetDBString('PAY51001006');  //生效日期
  lblClass.Caption:=GetDBString('PAY51001007');  //薪资类别
  qryPay510AP510A_004.DisplayLabel:=GetDBString('PAY51001008');  //生效日期
  qryPay510AP160A_002.DisplayLabel:=GetDBString('PAY51001009');  //类别编号
  qryPay510AP160A_003.DisplayLabel:=GetDBString('PAY51001010');  //类别名称
  qryPay510BP150_009.DisplayLabel:=GetDBString('PAY51001011');  //加项减项
  qryPay510BP150_002.DisplayLabel:=GetDBString('PAY51001012');  //项目编号
  qryPay510BP150_003.DisplayLabel:=GetDBString('PAY51001013');  //项目名称
  qryPay510BP510B_003.DisplayLabel:=GetDBString('PAY51001014');  //项目金额
  qryPay510BP510B_004.DisplayLabel:=GetDBString('PAY51001015');  //选择
  qryHrm150H150_002.DisplayLabel:=GetDBString('PAY51001005');  //员工编号
  qryHrm150H150_003.DisplayLabel:=GetDBString('PAY51001016');  //员工姓名
  qryPay150P150_002.DisplayLabel:=GetDBString('PAY51001012');  //项目编号
  qryPay150P150_003.DisplayLabel:=GetDBString('PAY51001013');  //项目名称
  qryPay150P150_009.DisplayLabel:=GetDBString('PAY51001011');  //加项减项
  qryPay160AP160A_002.DisplayLabel:=GetDBString('PAY51001009');  //类别编号
  qryPay160AP160A_003.DisplayLabel:=GetDBString('PAY51001010');  //类别名称
  AType[0]:=GetDBString('PAY51001017');  //加项
  AType[1]:=GetDBString('PAY51001018');  //减项
  AType[2]:=GetDBString('PAY51001019');  //合计
  PageControl1.ActivePageIndex:=0;
end;

procedure TPay510_01Form.SetPayItem(AClassNo:Integer);
var
  AItemNo:Integer;
  AAmount:Double;
  ASelect:Boolean;
begin
  adsPay510.DisableControls;
  adsPay510.Close;
  adsPay510.FieldDefs.Clear;
  adsPay510.FieldDefs.Add('P150_009',ftSmallint,0);
  adsPay510.FieldDefs.Add('P150_001',ftInteger,0);
  adsPay510.FieldDefs.Add('P150_002',ftString,20);
  adsPay510.FieldDefs.Add('P150_003',ftString,50);
  adsPay510.FieldDefs.Add('P510B_003',ftFloat,0);
  adsPay510.FieldDefs.Add('P510B_004',ftBoolean,0);
  adsPay510.CreateDataSet;
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select * from PAY160B where P160B_001='+IntToStr(AClassNo));
  SYSDM.qryQuery.Open;
  while not SYSDM.qryQuery.Eof do
  begin
    AItemNo:=SYSDM.qryQuery.FieldByName('P160B_002').Value;
    AAmount:=SYSDM.qryQuery.FieldByName('P160B_003').Value;
    ASelect:=SYSDM.qryQuery.FieldByName('P160B_004').Value;
    if not qryPay150.Active then qryPay150.Open;
    qryPay150.Locate('P150_001',AItemNo,[]);
    adsPay510.Append;
    adsPay510.FieldByName('P150_009').Value:=qryPay150.FieldByName('P150_009').Value;
    adsPay510.FieldByName('P150_001').Value:=AItemNo;
    adsPay510.FieldByName('P150_002').Value:=qryPay150.FieldByName('P150_002').Value;
    adsPay510.FieldByName('P150_003').Value:=qryPay150.FieldByName('P150_003').Value;
    adsPay510.FieldByName('P510B_003').Value:=AAmount;
    adsPay510.FieldByName('P510B_004').Value:=ASelect;
    adsPay510.Post;
    SYSDM.qryQuery.Next;
  end;
  SYSDM.qryQuery.Close;
  adsPay510.EnableControls;
  adsPay510.First;
end;

procedure TPay510_01Form.FormCreate(Sender: TObject);
begin
  inherited;
  qryPay150.Open;
  qryPay160A.Open;
  qryHrm150.Open;
  qryPay510A.Open;
  qryPay510B.Open;
  //设置界面信息
  SetInterface;
  SetButtonState(False);
end;

procedure TPay510_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  if ActSave.Enabled then
  begin
    if ShowDialog('UMS10000007')=IDNO then  //数据尚未保存,现在保存吗?
      ActCancel.Execute
    else
      ActSave.Execute;
  end;
  qryHrm150.Close;
  qryPay510A.Close;
  qryPay510B.Close;
  qryPay150.Close;
  qryPay160A.Close;
  Action:=caFree;
  PageControl1.ActivePageIndex:=0;
  inherited;
end;

procedure TPay510_01Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  inherited;
  if ParName='USENM' then ParValue:=AUserName
  else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006')  //列印日期

⌨️ 快捷键说明

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