📄 pay210_01.pas.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 + -