D10SZKaiXiYa/A00通用窗体/U_EmployeeSel.pas
DESKTOP-E401PHE\Administrator 53e8f4820d 11
2025-03-01 10:55:52 +08:00

263 lines
5.9 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_EmployeeSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, DB, ADODB, U_BaseHelp, System.ImageList, Vcl.ImgList;
type
TfrmEmployeeSel = class(TfrmBaseHelp)
ScrollBox1: TScrollBox;
btn1: TSpeedButton;
btn2: TSpeedButton;
btn3: TSpeedButton;
btn4: TSpeedButton;
btn5: TSpeedButton;
btn6: TSpeedButton;
btn7: TSpeedButton;
btn8: TSpeedButton;
btn58: TSpeedButton;
btn9: TSpeedButton;
btn10: TSpeedButton;
btn11: TSpeedButton;
btn12: TSpeedButton;
btn13: TSpeedButton;
btn14: TSpeedButton;
btn15: TSpeedButton;
btn59: TSpeedButton;
btn16: TSpeedButton;
btn17: TSpeedButton;
btn18: TSpeedButton;
btn19: TSpeedButton;
btn20: TSpeedButton;
btn21: TSpeedButton;
btn22: TSpeedButton;
btn60: TSpeedButton;
btn23: TSpeedButton;
btn24: TSpeedButton;
btn25: TSpeedButton;
btn26: TSpeedButton;
btn27: TSpeedButton;
btn28: TSpeedButton;
btn29: TSpeedButton;
btn61: TSpeedButton;
btn30: TSpeedButton;
btn31: TSpeedButton;
btn32: TSpeedButton;
btn33: TSpeedButton;
btn34: TSpeedButton;
btn35: TSpeedButton;
btn36: TSpeedButton;
btn62: TSpeedButton;
btn37: TSpeedButton;
btn38: TSpeedButton;
btn39: TSpeedButton;
btn40: TSpeedButton;
btn41: TSpeedButton;
btn42: TSpeedButton;
btn43: TSpeedButton;
btn63: TSpeedButton;
btn44: TSpeedButton;
btn45: TSpeedButton;
btn46: TSpeedButton;
btn47: TSpeedButton;
btn48: TSpeedButton;
btn49: TSpeedButton;
btn50: TSpeedButton;
btn64: TSpeedButton;
btn51: TSpeedButton;
btn52: TSpeedButton;
btn53: TSpeedButton;
btn54: TSpeedButton;
btn55: TSpeedButton;
btn56: TSpeedButton;
btn57: TSpeedButton;
ADOTmp: TADOQuery;
ADOConnection1: TADOConnection;
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
private
procedure InitEmployee();
{ Private declarations }
public
FRCode, FRName, FPost, FFLoom: string;
{ Public declarations }
end;
var
frmEmployeeSel: TfrmEmployeeSel;
implementation
uses
U_DataLink;
{$R *.dfm}
procedure TfrmEmployeeSel.FormDestroy(Sender: TObject);
begin
inherited;
frmEmployeeSel := nil;
end;
procedure TfrmEmployeeSel.InitEmployee();
type
FdDy = record
inc: integer;
FDH: string[32];
FCode: string[32];
FName: string[32];
end;
var
BB: array[0..100] of FdDy;
i, j: Integer;
DCGName1, DCGName2: string;
begin
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select DCGName1,DCGName2 from Bs_Machine where MCNO=''' + Trim(FFLoom) + ''' ');
Open;
end;
DCGName1 := Trim(ADOTmp.fieldbyname('DCGName1').AsString);
DCGName2 := Trim(ADOTmp.fieldbyname('DCGName2').AsString);
if Trim(FFLoom) <> '' then
begin
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select EECode,EEName,DH from SY_Employee where Post=''' + Trim(FPost) + ''' ');
sql.Add('and EEName in (''' + DCGName1 + '''');
sql.Add(',''' + DCGName2 + ''')');
sql.Add('UNION ALL');
sql.Add('select EECode,EEName,DH from SY_Employee where Post=''' + Trim(FPost) + ''' ');
sql.Add('and EEName not in (''' + DCGName1 + '''');
sql.Add(',''' + DCGName2 + ''')');
// ShowMessage(SQL.text);
Open;
end;
end
else
begin
with ADOTmp do
begin
Close;
sql.Clear;
sql.Add('select EECode,EEName,DH from SY_Employee where Post=''' + Trim(FPost) + ''' ');
SQL.Add('order by EECode,EEName ');
Open;
end;
end;
if ADOTmp.IsEmpty then
begin
Application.MessageBox(<>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOTmp do
begin
First;
i := 0;
while not Eof do
begin
BB[i].inc := i;
BB[i].FDH := Trim(fieldbyname('DH').AsString);
BB[i].FCode := Trim(fieldbyname('EECode').AsString);
BB[i].FName := Trim(fieldbyname('EEName').AsString);
i := i + 1;
Next;
end;
end;
i := i - 1;
if i > 63 then
begin
i := 63;
end;
for j := 0 to i do
begin
with ScrollBox1 do
begin
TSpeedButton(Controls[j]).Visible := True;
TSpeedButton(Controls[j]).Hint := BB[j].FCode + '-' + BB[j].FName;
TSpeedButton(Controls[j]).Caption := BB[j].FDH;
if (BB[j].FName = DCGName1) or (BB[j].FName = DCGName2) then
begin
TSpeedButton(Controls[j]).Font.Color := clRed;
end;
{TSpeedButton(Controls[j]).Hint:=BB[j];
if Length(BB[j])>4 then
begin
TSpeedButton(Controls[j]).Caption:=Copy(Trim(BB[j]),1,4)+#13+Copy(Trim(BB[j]),5,Length(BB[j])-4);
end else
TSpeedButton(Controls[j]).Caption:=BB[j]; }
end;
end;
end;
procedure TfrmEmployeeSel.FormShow(Sender: TObject);
begin
inherited;
InitEmployee();
end;
procedure TfrmEmployeeSel.btn1Click(Sender: TObject);
begin
FRCode := Trim(TSpeedButton(Sender).Hint);
FRName := Trim(TSpeedButton(Sender).Caption);
ModalResult := 1;
end;
procedure TfrmEmployeeSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
// Action:=caHide;
end;
procedure TfrmEmployeeSel.FormCreate(Sender: TObject);
begin
inherited;
try
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
ADOQueryBaseCmd.Connection := ADOConnection1;
ADOQueryBaseTemp.Connection := ADOConnection1;
except
{if Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>,<2C>Ƿ<EFBFBD>Ҫ<EFBFBD>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD><EFBFBD>?','<27><>ʾ',32+4)=IDYES then
begin
try
with ADOConnection1 do
begin
Connected:=false;
ConnectionString:=DConString;
//ConnectionString:='23242';
Connected:=true;
end;
except
end;
end; }
end;
end;
end.