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

📄 pieceworkeditfrm.pas

📁 考勤管理是企业内部管理的重要环节和基础
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit PieceWorkEditFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, Mask, DBCtrls, ExtCtrls, Db, DBGrids;

resourcestring
  sDepartment='<全部部门>';
  sError='数据有误报,请重新输入';
  sName='没有此人!';

type
  TPieceWorkEditForm = class(TForm)
    bbtnConfirm: TBitBtn;
    bbtnCancel: TBitBtn;
    bbtnAdd: TBitBtn;
    Button2: TButton;
    CheckBox1: TCheckBox;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Panel1: TPanel;
    Label3: TLabel;
    DBEdit1: TDBEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    Label9: TLabel;
    DBEdit7: TDBEdit;
    Label10: TLabel;
    DBEdit8: TDBEdit;
    sbBirthday: TSpeedButton;
    cbDepartment: TComboBox;
    dblcMakeID: TDBLookupComboBox;
    dbcbGoodsID: TDBComboBox;
    dblcGoodsIDItems: TDBLookupComboBox;
    DBEdit2: TDBEdit;
    Label11: TLabel;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label8: TLabel;
    DBEdit3: TDBEdit;
    Label12: TLabel;
    Edit4: TEdit;
    cbName: TComboBox;
    ComboBox1: TComboBox;
    procedure bbtnConfirmClick(Sender: TObject);
    procedure bbtnCancelClick(Sender: TObject);
    procedure bbtnAddClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure cbDepartmentChange(Sender: TObject);
    procedure dblcMakeIDClick(Sender: TObject);
    procedure dbcbGoodsIDChange(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure sbBirthdayClick(Sender: TObject);
    procedure dblcGoodsIDItemsClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure bbtnAddEnter(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure DBEdit5Exit(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure cbNameChange(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure DBEdit5Enter(Sender: TObject);
  private
    { Private declarations }
    CM:boolean;
    Fnumber:Double;
    FCopy:array[1..9] of Boolean;
    FCopyItem1:Integer;
    FCopyItem2:Integer;
    FCopyItem3:Integer;
    FCopyItem31:string;
    FCopyItem4:String;
    FCopyItem5:String;
    FCopyItem6:Integer;
    FCopyItem61:string;
    FCopyItem7:Currency;
    FCopyItem8:String;
    FCopyItem9:Currency;
//    FCopyItem10:Integer;
  public
    procedure ShowModalPopup(popup: integer);
    { Public declarations }
  end;

var
  PieceWorkEditForm: TPieceWorkEditForm;

implementation

uses unDM2, Pickdate, CopyPieceWorkFrm, Dialog;

{$R *.DFM}

procedure TPieceWorkEditForm.ShowModalPopup(popup : integer);
Var
  Number2:Double;
begin
  case popup of
    0: begin
        bbtnAdd.Visible:=true;
        DM2.qryPieceWork.append;
        DBEdit2.Visible:=True;
        DBedit6.Visible:=False;
        ComboBox1.ItemIndex:=0;
        cbdepartment.ItemIndex:=0;
        DM2.qryPieceWorkMakeQty.Close;
        DM2.qryPieceWorkNumber.Close;
        DM2.qryEmpID.Close;
        DM2.qryEmpID.SQL.Clear;
        DM2.qryEmpID.SQL.Add('select Employ.empID,Employ.Name,Employ.Department,Department.Name as DepName from Employ,Department where Employ.CountMeth<>2 and Employ.Department=Department.DepartmentID');
        DM2.qryEmpID.Open;
        cbName.Items.Clear;
        while not DM2.qryEmpID.Eof do begin
          cbName.Items.Add(DM2.qryEmpID.FieldByName('Name').Value);
          DM2.qryEmpID.Next;
        end;
        ShowModal;
       end;
    1: begin
        CM:=True;
        DM2.qryMakeNo.Close;
        DM2.qryMakeNo.SQL.Clear;
        DM2.qryMakeNo.SQL.Add('select Name from department Where DepartmentID=:DepartmentID');
        DM2.qryMakeNo.Params[0].AsInteger:=DM2.qryPieceWorkDepartment.Value;
        Dm2.qrymakeNo.Open;
        bbtnAdd.Visible:=false;
        Dm2.qryWorkProDetail.Close;
        DM2.qryWorkProDetail.Params[0].AsString:=DM2.qryPieceWorkGoodsID.Value;
        DM2.qryWorkProDetail.Open;
        DM2.qryPieceWork.edit;
        if DM2.qryMakeNo.Fields[0].IsNull then
          cbDepartment.Text:=''
        else begin
          cbdepartment.ItemIndex:=cbdepartment.Items.Indexof(DM2.qryMakeNo.Fields[0].AsString);
          PieceWorkEditForm.cbDepartmentChange(cbDepartment);
          if not DM2.tblPieceWork.FieldByName('MakeID').IsNull  then
            PieceWorkEditForm.dblcMakeIDClick(dblcMakeID);
        end;
        if DM2.qryPieceWorkPriceType.Value then begin
          ComboBox1.ItemIndex:=0;
          DBEdit2.Visible:=True;
          DBedit6.Visible:=False;
        end else begin
          ComboBox1.ItemIndex:=1;
          DBEdit2.Visible:=False;
          DBedit6.Visible:=True;
        end;
        DM2.qryPieceWorkMakeQty.Close;
        DM2.qryPieceWorkMakeQty.Params[0].AsInteger:=DM2.qryPieceWorkMakeID.Value;
        DM2.qryPieceWorkMakeQty.Params[1].AsString:=DM2.qryPieceWorkGoodsID.Value;
        DM2.qryPieceWorkMakeQty.Open;
        DM2.qryPieceWorkNumber.Close;
        DM2.qryPieceWorkNumber.Params[0].AsInteger:=DM2.qryPieceWorkMakeID.Value;
        DM2.qryPieceWorkNumber.Params[1].AsString:=DM2.qryPieceWorkGoodsID.Value;
        DM2.qryPieceWorkNumber.Params[2].AsFloat:=DM2.qryPieceWorkItems.Value;
        DM2.qryPieceWorkNumber.Open;
        if DM2.qryPieceWorkNumberNumber1.Value=0 then
          Edit4.Text:='0'
        else begin
          Number2:=DM2.qryPieceWorkNumberNumber1.Value;
          Edit4.Text:=FloatToStr(Number2);
        end;
        cbName.ItemIndex:=cbName.Items.Indexof(DM2.qryPieceWorkName.Value);
        ShowModal;
       end;
  end;
end;

procedure TPieceWorkEditForm.bbtnConfirmClick(Sender: TObject);
begin
  DM2.qryPieceWork.Post;
  DM2.Database.ApplyUpdates([DM2.qryPieceWork]);
  Dm2.qryWorkProDetail.Close;
  PieceWorkEditForm.close;
end;

procedure TPieceWorkEditForm.bbtnCancelClick(Sender: TObject);
begin
  DM2.qryPieceWork.Cancel;
  PieceWorkEditForm.close;
end;

procedure TPieceWorkEditForm.bbtnAddClick(Sender: TObject);
begin
  if CheckBox1.Checked then
    Button2.Click
  else begin
    cbName.Text:='';
    DM2.qryPieceWork.append;
  end;
  cbDepartment.SetFocus;
end;

procedure TPieceWorkEditForm.FormCreate(Sender: TObject);
var
  department:string;
begin
  cbDepartment.Items.Add(Pchar(sDepartment));
  DM2.qryMakeNo.Close;
  DM2.qryMakeNo.SQL.Clear;
  DM2.qryMakeNo.SQL.Add('select Name from department');
  Dm2.qrymakeNo.Open;
  While Not DM2.qryMakeNo.Eof do begin
    department:=DM2.qryMakeNo.Fields[0].AsString;
    cbDepartment.Items.Add(department);
    DM2.qryMakeNo.Next;
  end;
  FCopy[1]:=True;
  FCopy[2]:=False;
  FCopy[3]:=True;
  FCopy[4]:=True;
  FCopy[5]:=True;
  FCopy[6]:=True;
  FCopy[7]:=True;
  FCopy[8]:=False;
  FCopy[9]:=False;
  DM2.qryMakeNo1.Open;
end;

procedure TPieceWorkEditForm.cbDepartmentChange(Sender: TObject);
begin
  DM2.qryEmpID.Close;
  DM2.qryEmpID.SQL.Clear;
  if cbDepartment.ItemIndex=0 then
    DM2.qryEmpID.SQL.Add('select Employ.empID,Employ.Name,Employ.Department,Department.Name as DepName from Employ,Department where Employ.CountMeth<>2 and Employ.Department=Department.DepartmentID and sign=true')
  else begin
    DM2.qryEmpID.SQL.Add('select Employ.empID,Employ.Name,Employ.Department,Department.Name as DepName from Employ,Department');
    DM2.qryEmpID.SQL.Add(' where sign=true and CountMeth<>2  and Employ.Department=Department.DepartmentID and Department in');
    DM2.qryEmpID.SQL.Add('(select departmentID from department where name=:name)');
    DM2.qryEmpID.ParamByName('Name').Value:=cbDepartment.Items.Strings[cbDepartment.ItemIndex];
  end;
  DM2.qryEmpID.Open;
  cbName.Items.Clear;
  while not DM2.qryEmpID.Eof do begin
    cbName.Items.Add(DM2.qryEmpID.FieldByName('Name').Value);
    DM2.qryEmpID.Next;
  end;
end;

procedure TPieceWorkEditForm.dblcMakeIDClick(Sender: TObject);
begin
  if dblcMakeID.KeyValue<>Null then begin
    DM2.qryPieceWorkCode.Value:=dblcMakeID.Text;
    DM2.qryMakeDetail.Close;
    DM2.qryMakeDetail.Params[0].AsInteger:=dblcMakeID.KeyValue;
    DM2.qryMakeDetail.Open;
    dbcbGoodsID.Items.Clear;
    while Not DM2.qryMakeDetail.Eof do begin
      dbcbGoodsID.Items.Add(DM2.qryMakeDetailGoodsID.Value);
      DM2.qryMakeDetail.Next;

⌨️ 快捷键说明

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