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

📄 pay210_01.pas.svn-base

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, Db, 
  Grids, ExtCtrls, ComCtrls, ToolWin, StdCtrls, Mask,
  Buttons, wwdbdatetimepicker, Bas200_03, dxExEdtr, ADODB, dxCntner,
  dxTL, dxDBCtrl, dxDBGrid, ActnList, wwfltdlg, wwDialog, Wwlocate, Wwintl;

type
  TPay210_01Form = class(TBas200_03Form)
    lblEmpID: TLabel;
    lblDate: TLabel;
    dtStartDate: TwwDBDateTimePicker;
    lblTo: TLabel;
    dtEndDate: TwwDBDateTimePicker;
    sbOk: TSpeedButton;
    edtEmpID: TEdit;
    SpeedButton2: TSpeedButton;
    qryHrm150: TADOQuery;
    qryHrm150H150_001: TAutoIncField;
    qryHrm150H150_002: TStringField;
    qryHrm150H150_003: TStringField;
    ADOQuery1P520_003: TStringField;
    ADOQuery1I150_002: TStringField;
    ADOQuery1I150_003: TStringField;
    ADOQuery1B100_002: TStringField;
    ADOQuery1B100_003: TStringField;
    ADOQuery1P520_006: TFloatField;
    ADOQuery1P520_007: TFloatField;
    ADOQuery1B110_004: TFloatField;
    ADOQuery1B110_003: TFloatField;
    ADOQuery1T100_001: TFloatField;
    ADOQuery1T100_002: TFloatField;
    ADOQuery1T100_003: TFloatField;
    dxDBGrid1P520_003: TdxDBGridMaskColumn;
    dxDBGrid1I150_002: TdxDBGridMaskColumn;
    dxDBGrid1I150_003: TdxDBGridMaskColumn;
    dxDBGrid1B100_002: TdxDBGridMaskColumn;
    dxDBGrid1B100_003: TdxDBGridMaskColumn;
    dxDBGrid1P520_006: TdxDBGridMaskColumn;
    dxDBGrid1P520_007: TdxDBGridMaskColumn;
    dxDBGrid1B110_004: TdxDBGridMaskColumn;
    dxDBGrid1B110_003: TdxDBGridMaskColumn;
    dxDBGrid1T100_001: TdxDBGridMaskColumn;
    dxDBGrid1T100_002: TdxDBGridMaskColumn;
    dxDBGrid1T100_003: TdxDBGridMaskColumn;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sbOkClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure edtEmpIDExit(Sender: TObject);
    procedure edtEmpIDKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure dxDBGrid1BackgroundDrawEvent(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect);
  private
    { Private declarations }
  public
    procedure SetInterface; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Pay210_01Form: TPay210_01Form;

implementation

uses SYSDATA, HwSelData, CommFun;

{$R *.DFM}

procedure TPay210_01Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('PAY21001001');  //计件薪资查询
  lblEmpID.Caption:=GetDBString('PAY21001002');  //员工编号
  lblDate.Caption:=GetDBString('PAY21001003');  //日期范围
  lblTo.Caption:=GetDBString('PAY21001004');  //至
  sbOk.Caption:=GetDBString('PAY21001005');  //确定
  ADOQuery1P520_003.DisplayLabel:=GetDBString('PAY21001006');  //工单编号
  ADOQuery1I150_002.DisplayLabel:=GetDBString('PAY21001007');  //料品编号
  ADOQuery1I150_003.DisplayLabel:=GetDBString('PAY21001008');  //料品名称
  ADOQuery1B100_002.DisplayLabel:=GetDBString('PAY21001009');  //工序编号
  ADOQuery1B100_003.DisplayLabel:=GetDBString('PAY21001010');  //工序名称
  ADOQuery1P520_006.DisplayLabel:=GetDBString('PAY21001011');  //正品数量
  ADOQuery1P520_007.DisplayLabel:=GetDBString('PAY21001012');  //损坏数量
  ADOQuery1B110_004.DisplayLabel:=GetDBString('PAY21001013');  //计件单价
  ADOQuery1B110_003.DisplayLabel:=GetDBString('PAY21001014');  //扣款单价
  ADOQuery1T100_001.DisplayLabel:=GetDBString('PAY21001015');  //计件金额
  ADOQuery1T100_002.DisplayLabel:=GetDBString('PAY21001015');  //扣款金额
  ADOQuery1T100_003.DisplayLabel:=GetDBString('PAY21001019');  //合计

  qryHrm150H150_002.DisplayLabel:=GetDBString('PAY21001017');  //员工编号
  qryHrm150H150_003.DisplayLabel:=GetDBString('PAY21001018');  //员工姓名
end;

procedure TPay210_01Form.FormCreate(Sender: TObject);
var
  ADate:TDateTime;
begin
  inherited;
  //设置界面信息
  SetInterface;
  qryHrm150.Open;
  ADate:=GetServerDate;
  edtEmpID.Text:=qryHrm150H150_002.AsString;
  dtStartDate.Date:=GetMonthFirstDate(ADate);
  dtEndDate.Date:=GetMonthEndDate(ADate);
  sbOk.Click;
end;

procedure TPay210_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  qryHrm150.Close;
end;

procedure TPay210_01Form.sbOkClick(Sender: TObject);
begin
  inherited;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select P520_003,I150_002,I150_003,B100_002,B100_003,');
  ADOQuery1.SQL.Add('  P520_006,P520_007,B110_004,B110_003,');
  ADOQuery1.SQL.Add('  P520_006*B110_004 as T100_001,P520_007*B110_003 as T100_002,');
  ADOQuery1.SQL.Add('  P520_006*B110_004-P520_007*B110_003 as T100_003 ');
  ADOQuery1.SQL.Add('from PAY520 A, BOM110 B, INV150 C, HRM150 D, BOM100 E');
  ADOQuery1.SQL.Add('where A.P520_004=B.B110_001 and A.P520_005=B.B110_002 and ');
  ADOQuery1.SQL.Add('  A.P520_004=C.I150_001 and A.P520_001=D.H150_001 and ');
  ADOQuery1.SQL.Add('  A.P520_005=E.B100_001 and ');
  ADOQuery1.SQL.Add('  D.H150_002='+''''+edtEmpID.Text+'''');
  ADOQuery1.SQL.Add('  and A.P520_002>='+GetDateString(dtStartDate.Date));
  ADOQuery1.SQL.Add('  and A.P520_002<='+GetDateString(dtEndDate.Date));
  ADOQuery1.Open;
end;

procedure TPay210_01Form.SpeedButton2Click(Sender: TObject);
begin
  inherited;
//员工编号查询
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryHrm150,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtEmpID.Text:=qryHrm150H150_002.AsString;
  end;
end;

procedure TPay210_01Form.edtEmpIDExit(Sender: TObject);
begin
  inherited;
  if qryHrm150.Locate('H150_002',edtEmpID.Text,[loCaseInsensitive]) then
  begin
    edtEmpID.Text:=qryHrm150H150_002.AsString;
  end else
  begin
    ShowMsg('UMS10000042');  //无效的员工编号
    edtEmpID.SetFocus;
    Abort;
  end;
end;

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

procedure TPay210_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 TPay210_01Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  inherited;

end;

initialization
  RegisterClass(TPay210_01Form);

finalization
  UnRegisterClass(TPay210_01Form);

end.

⌨️ 快捷键说明

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