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

📄 cwa120_01.pas

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

interface

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

type
  TCwa120_01Form = class(TBas100_01Form)
    CoolBar1: TCoolBar;
    ToolBar2: TToolBar;
    tlbFirst: TToolButton;
    tlbPrior: TToolButton;
    tlbNext: TToolButton;
    tlbLast: TToolButton;
    ToolButton1: TToolButton;
    tlbSearch: TToolButton;
    tlbPrint: TToolButton;
    tlbSet: TToolButton;
    ToolButton4: TToolButton;
    tlbExit: TToolButton;
    Panel1: TPanel;
    Image1: TImage;
    PopupMenu1: TPopupMenu;
    mmiPrint: TMenuItem;
    mmiExport: TMenuItem;
    dsCwa120: TDataSource;
    Label1: TLabel;
    cbYear: TComboBox;
    Label2: TLabel;
    cbMonth: TComboBox;
    ToolButton3: TToolButton;
    Label3: TLabel;
    sbOk: TSpeedButton;
    edtEmpID: TEdit;
    SpeedButton2: TSpeedButton;
    ToolButton2: TToolButton;
    SaveDialog1: TSaveDialog;
    ActionList1: TActionList;
    ActFirst: TAction;
    ActPrior: TAction;
    ActNext: TAction;
    ActLast: TAction;
    ActLocate: TAction;
    ActSearch: TAction;
    ActPrint: TAction;
    ActExport: TAction;
    ActSet: TAction;
    ActExit: TAction;
    qryCwa120: TADOQuery;
    qryCwa120H150_002: TStringField;
    qryCwa120H150_003: TStringField;
    qryCwa120C110_003: TStringField;
    qryHrm150: TADOQuery;
    qryHrm150H150_001: TAutoIncField;
    qryCwa110: TADOQuery;
    qryCwa110C110_001: TAutoIncField;
    qryCwa110C110_002: TStringField;
    qryCwa110C110_003: TStringField;
    qryHrm150H150_002: TStringField;
    qryHrm150H150_003: TStringField;
    ScrollBox1: TScrollBox;
    dxDBGrid1: TdxDBGrid;
    qryCwa170: TADOQuery;
    qryCwa120C120_001: TIntegerField;
    qryCwa120C120_002: TIntegerField;
    qryCwa120C120_003: TDateTimeField;
    qryCwa120C120_004: TStringField;
    qryCwa120C120_005: TStringField;
    qryCwa120C120_006: TStringField;
    qryCwa120C120_007: TStringField;
    qryCwa120C120_008: TStringField;
    qryCwa120C120_009: TStringField;
    qryCwa120C120_010: TBooleanField;
    qryCwa120C120_011: TBooleanField;
    qryCwa120C120_012: TSmallintField;
    qryCwa120C120_013: TSmallintField;
    qryCwa120C120_014: TSmallintField;
    dxDBGrid1H150_002: TdxDBGridLookupColumn;
    dxDBGrid1H150_003: TdxDBGridLookupColumn;
    dxDBGrid1C120_003: TdxDBGridDateColumn;
    dxDBGrid1C110_003: TdxDBGridLookupColumn;
    dxDBGrid1C120_004: TdxDBGridMaskColumn;
    dxDBGrid1C120_005: TdxDBGridMaskColumn;
    dxDBGrid1C120_006: TdxDBGridMaskColumn;
    dxDBGrid1C120_007: TdxDBGridMaskColumn;
    dxDBGrid1C120_008: TdxDBGridMaskColumn;
    dxDBGrid1C120_009: TdxDBGridMaskColumn;
    dxDBGrid1C120_010: TdxDBGridCheckColumn;
    dxDBGrid1C120_012: TdxDBGridMaskColumn;
    dxDBGrid1C120_013: TdxDBGridMaskColumn;
    dxDBGrid1C120_014: TdxDBGridMaskColumn;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cbYearChange(Sender: TObject);
    procedure ReportGetValue(const ParName: String;
      var ParValue: Variant);
    procedure sbOkClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure cbMonthChange(Sender: TObject);
    procedure ActFirstExecute(Sender: TObject);
    procedure ActPriorExecute(Sender: TObject);
    procedure ActNextExecute(Sender: TObject);
    procedure ActLastExecute(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 qryCwa120C120_012GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure qryCwa120C120_013GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure qryCwa120C120_014GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
  private
    AType:array[0..2] of string;
    AStartDate,AEndDate:TDateTime;
    APeriod:Integer;
    procedure SetInterface;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Cwa120_01Form: TCwa120_01Form;

implementation

uses Cwa120_02, CommFun, SYSDATA, HwSelData;

{$R *.DFM}

procedure TCwa120_01Form.SetInterface;
begin
  Image1.Picture.Bitmap.LoadFromResourceName(AImgHandle,'TOPTITL');
  Caption:=GetDBString('CWA12001001');  //员工班别维护
  ActFirst.Caption:=GetDBString('COM00005001');  //最前
  ActPrior.Caption:=GetDBString('COM00005002');  //上移
  ActNext.Caption:=GetDBString('COM00005003');  //下移
  ActLast.Caption:=GetDBString('COM00005004');  //最后
  ActSearch.Caption:=GetDBString('COM00005012');  //查找
  ActPrint.Caption:=GetDBString('COM00005013');  //打印
  ActExport.Caption:=GetDBString('COM00005014');  //导出数据
  ActSet.Caption:=GetDBString('CWA12001002');  //设置
  ActExit.Caption:=GetDBString('COM00005015');  //退出
  Label1.Caption:=GetDBString('CWA12001003');  //年份
  Label2.Caption:=GetDBString('CWA12001004');  //月份
  Label3.Caption:=GetDBString('CWA12001005');  //员工编号
  sbOk.Caption:=GetDBString('CWA12001006');  //确定
  qryCwa120C120_003.DisplayLabel:=GetDBString('CWA12001007');  //日期
  qryCwa120H150_002.DisplayLabel:=GetDBString('CWA12001008');  //员工编号
  qryCwa120H150_003.DisplayLabel:=GetDBString('CWA12001009');  //员工姓名
  qryCwa120C110_003.DisplayLabel:=GetDBString('CWA12001010');  //班别名称
  qryCwa120C120_004.DisplayLabel:=GetDBString('CWA12001012');  //上班
  qryCwa120C120_005.DisplayLabel:=GetDBString('CWA12001013');  //下班
  qryCwa120C120_006.DisplayLabel:=GetDBString('CWA12001012');  //上班
  qryCwa120C120_007.DisplayLabel:=GetDBString('CWA12001013');  //下班
  qryCwa120C120_008.DisplayLabel:=GetDBString('CWA12001012');  //上班
  qryCwa120C120_009.DisplayLabel:=GetDBString('CWA12001013');  //下班
  qryCwa120C120_010.DisplayLabel:=GetDBString('CWA12001016');  //是否请假
  qryCwa120C120_002.DisplayLabel:=GetDBString('CWA12001017');  //班别编号

  qryCwa120C120_012.DisplayLabel:=GetDBString('CWA12001019');  //上午下班日
  qryCwa120C120_013.DisplayLabel:=GetDBString('CWA12001020');  //下午下班日
  qryCwa120C120_014.DisplayLabel:=GetDBString('CWA12001021');  //晚上下班日

  qryHrm150H150_002.DisplayLabel:=GetDBString('CWA12001008');  //员工编号
  qryHrm150H150_003.DisplayLabel:=GetDBString('CWA12001009');  //员工姓名

  AType[0]:=GetDBString('CWA12001022');  //当日
  AType[1]:=GetDBString('CWA12001023');  //明日
  AType[2]:=GetDBString('CWA12001024');  //后日
end;

procedure TCwa120_01Form.FormCreate(Sender: TObject);
begin
  inherited;
  GetYears(cbYear);
  GetMonths(StrToInt(cbYear.Text),cbMonth);

  qryHrm150.Open;
  edtEmpID.Text:=qryHrm150.FieldByName('H150_002').AsString;
  sbOk.Click;
  if edtEmpID.Text='' then qryCwa120.Open;

  //设置界面信息
  SetInterface;
end;

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

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

procedure TCwa120_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='H150_002' then ParValue:=GetDBString('CWA12001008')  //员工编号
  else if ParName='H150_003' then ParValue:=GetDBString('CWA12001009')  //员工姓名
  else if ParName='C110_003' then ParValue:=GetDBString('CWA12001010')  //班别名称
  else if ParName='C120_003' then ParValue:=GetDBString('CWA12001007')  //日期
  else if ParName='C120_004' then ParValue:=GetDBString('CWA12001012')  //上班
  else if ParName='C120_005' then ParValue:=GetDBString('CWA12001013')  //下班
  else if ParName='C120_006' then ParValue:=GetDBString('CWA12001012')  //上班
  else if ParName='C120_007' then ParValue:=GetDBString('CWA12001013')  //下班
  else if ParName='C120_008' then ParValue:=GetDBString('CWA12001012')  //上班
  else if ParName='C120_009' then ParValue:=GetDBString('CWA12001013')  //下班
  else if ParName='C120_010' then ParValue:=GetDBString('CWA12001016')  //是否请假
  else if ParName='C120_012' then ParValue:=GetDBString('CWA12001025')  //下班日
  else if ParName='C120_013' then ParValue:=GetDBString('CWA12001025')  //下班日
  else if ParName='C120_014' then ParValue:=GetDBString('CWA12001025')  //下班日
  else if ParName='GROP_001' then ParValue:=GetDBString('CWA12001011')  //上午
  else if ParName='GROP_002' then ParValue:=GetDBString('CWA12001014')  //下午
  else if ParName='GROP_003' then ParValue:=GetDBString('CWA12001015')  //晚上
end;

procedure TCwa120_01Form.sbOkClick(Sender: TObject);
var
  AEmpNo:string;
begin
  inherited;
//确定
  if trim(edtEmpID.Text)='' then Exit;
  if not qryHrm150.Locate('H150_002',edtEmpID.Text,[loCaseInsensitive]) then
  begin
    ShowMsg('UMS10000042');  //无效的员工编号
    edtEmpID.SetFocus;
    Abort;
  end;
  //取得期段的起始结束日期
  GetPeriodDate(cbYear.Text,cbMonth.Text,AStartDate,AEndDate,APeriod);
  AEmpNo:=qryHrm150.FieldByName('H150_001').AsString;
  qryCwa120.DisableControls;
  qryCwa120.Close;
  qryCwa120.SQL.Clear;
  qryCwa120.SQL.Add('select * from CWA120 where C120_001='+AEmpNo+' and C120_003>='+GetDateString(AStartDate)+' and C120_003<='+GetDateString(AEndDate));
  qryCwa120.Open;
  qryCwa120.EnableControls;
end;

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

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

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

procedure TCwa120_01Form.ActPriorExecute(Sender: TObject);
begin
  inherited;
//上移
  if qryCwa120.IsEmpty then Exit;
  qryCwa120.Prior;
  ActNext.Enabled:=not qryCwa120.Eof;
  ActLast.Enabled:=not qryCwa120.Eof;
  ActFirst.Enabled:=not qryCwa120.Bof;
  ActPrior.Enabled:=not qryCwa120.Bof;
end;

procedure TCwa120_01Form.ActNextExecute(Sender: TObject);
begin
  inherited;
//下移
  if qryCwa120.IsEmpty then Exit;
  qryCwa120.Next;
  ActNext.Enabled:=not qryCwa120.Eof;
  ActLast.Enabled:=not qryCwa120.Eof;
  ActFirst.Enabled:=not qryCwa120.Bof;
  ActPrior.Enabled:=not qryCwa120.Bof;
end;

procedure TCwa120_01Form.ActLastExecute(Sender: TObject);
begin
  inherited;
//最后
  if qryCwa120.IsEmpty then Exit;
  qryCwa120.Last;
  ActNext.Enabled:=False;
  ActLast.Enabled:=False;
  ActFirst.Enabled:=True;
  ActPrior.Enabled:=True;
end;

procedure TCwa120_01Form.ActLocateExecute(Sender: TObject);
begin
  inherited;
//查找
  if qryCwa120.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Exit;
  end;
  LocateDialog(dsCwa120);
end;

procedure TCwa120_01Form.ActSearchExecute(Sender: TObject);
begin
  inherited;
//查询
  FilterDialog(dsCwa120);
end;

procedure TCwa120_01Form.ActPrintExecute(Sender: TObject);
begin
  inherited;
//打印
  SelectReport(qryCwa120,AProgramID,AReportName,ReportGetValue);
end;

procedure TCwa120_01Form.ActExportExecute(Sender: TObject);
begin
  inherited;
//导出到Excel
  if qryCwa120.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  SaveToExcel(dxDBGrid1);
end;

procedure TCwa120_01Form.ActSetExecute(Sender: TObject);
begin
  inherited;
//设置
  Cwa120_02Form:=TCwa120_02Form.Create(Application);
  Cwa120_02Form.ShowModal;
  sbOk.Click;
end;

procedure TCwa120_01Form.ActExitExecute(Sender: TObject);
begin
  inherited;
//退出
  Close;
end;

procedure TCwa120_01Form.qryCwa120C120_012GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if qryCwa120.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AType[0];  //当日
    1:Text:=AType[1];  //明日
    2:Text:=AType[2];  //后日
  end;
end;

procedure TCwa120_01Form.qryCwa120C120_013GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if qryCwa120.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AType[0];  //当日
    1:Text:=AType[1];  //明日
    2:Text:=AType[2];  //后日
  end;
end;

procedure TCwa120_01Form.qryCwa120C120_014GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if qryCwa120.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AType[0];  //当日
    1:Text:=AType[1];  //明日
    2:Text:=AType[2];  //后日
  end;
end;

initialization
  RegisterClass(TCwa120_01Form);

finalization
  UnRegisterClass(TCwa120_01Form);

end.

⌨️ 快捷键说明

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