📄 pieceworkeditfrm.pas
字号:
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 + -