📄 search_ordersl_detail.pas
字号:
unit search_orderSL_detail;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls,
ComCtrls, RpDefine, RpCon, RpConDS, Menus, Mask, DBCtrls, RpRave, RpBase,
RpSystem;
type
TFrmsearch_orderSL_detail = class(TForm)
DataSource: TDataSource;
DBGrid: TDBGrid;
ADOQtmp: TADOQuery;
Panel1: TPanel;
Label4: TLabel;
Label1: TLabel;
Label2: TLabel;
DBComboBox2: TComboBox;
edtname: TEdit;
edtsex: TEdit;
Bevel1: TBevel;
ADOQuery1: TADOQuery;
adoq_temp: TADOQuery;
SearchBtn: TBitBtn;
ExtBtn: TBitBtn;
Label3: TLabel;
ComboBox1: TComboBox;
EdtBtn: TBitBtn;
ADOQuery1log_id: TAutoIncField;
ADOQuery1ord_id: TStringField;
ADOQuery1bed_id: TIntegerField;
ADOQuery1zh_id: TIntegerField;
ADOQuery1size_name: TStringField;
ADOQuery1color: TStringField;
ADOQuery1ccnum: TIntegerField;
ADOQuery1num: TIntegerField;
ADOQuery1outdate: TDateTimeField;
ADOQuery1retdate: TDateTimeField;
ADOQuery1qbfl_flag: TBooleanField;
ADOQuery1seq_name: TStringField;
Label_Display: TLabel;
procedure FormShow(Sender: TObject);
procedure SearchBtnClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBComboBox2Change(Sender: TObject);
procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);
procedure DBComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox11Change(Sender: TObject);
procedure EdtBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frmsearch_orderSL_detail: TFrmsearch_orderSL_detail;
implementation
uses data,sharevar,sharefun, ColorSetup, Main;
{$R *.dfm}
procedure TFrmsearch_orderSL_detail.FormShow(Sender: TObject);
begin
//添加人员编码
with ADOQtmp do
begin
close;sql.clear;
sql.add('select empid from employee where state=1');
try
execsql; open;
except
MsgErr(handle,'添加人员编码失败!'); exit;
end;
if recordcount =0 then
begin
MsgErr(handle,'无人员信息!');
exit;
end;
DBComboBox2.Items.Clear;
first;
while not eof do
begin
DBComboBox2.Items.Add(fieldvalues['empid']);
next;
end;
end;
//添加订单号
with ADOQtmp do
begin
close;sql.clear;
sql.add('select ord_id from order_msg order by order_date');
try
execsql; open;
except
MsgErr(handle,'添加订单号失败!'); exit;
end;
if recordcount =0 then
begin
MsgErr(handle,'当前无订单信息!');
exit;
end;
ComboBox1.Items.Add(' ');
first;
while not eof do
begin
ComboBox1.Items.Add(fieldvalues['ord_id']);
next;
end;
end;
//添加所有人员信息,包括非在职人员
with ADOQtmp do
begin
close;sql.clear;
sql.add('select empid,empname,sex from employee');
try
execsql; open;
except
MsgErr(handle,'得到人员信息失败!'); exit;
end;
end;
DBComboBox2.SetFocus;
end;
procedure TFrmsearch_orderSL_detail.SearchBtnClick(Sender: TObject);
begin
if trim(edtname.Text)='' then
begin
MsgErr(handle,'待查询人员信息为空,请在员工编号文本框内输入员工编号,再按回车键!');
DBComboBox2.SetFocus;
exit;
end;
Label_Display.Visible:=true;
application.ProcessMessages;
//查讯对应时间段的人员的工序收入信息
with adoquery1 do
begin
close;sql.clear;
sql.add('select a.*, b.seq_name from outbom_log a, sequence_price b');
sql.Add('where a.temp_key=b.temp_key and a.empid=:V_empid');
if trim(ComboBox1.Text)<>'' then
sql.Add(' and (a.ord_id=:v_ord_id)');
sql.Add(' order by a.ord_id,a.bed_id,a.zh_id,a.temp_key');
if trim(ComboBox1.Text)<>'' then
parameters.ParamValues['v_ord_id']:=trim(ComboBox1.Text);
parameters.ParamValues['v_empid']:=dbcombobox2.Text;
try
execsql; open;
except
msgerr(handle,'员工工序计件收入查询失败!');
exit;
end;
if recordcount=0 then MsgOK(handle,'当前条件下没找到数据!');
EdtBtn.Enabled:=recordcount>0;
end;
Label_Display.Visible:=false;
application.ProcessMessages;
end;
procedure TFrmsearch_orderSL_detail.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=Cafree;
end;
procedure TFrmsearch_orderSL_detail.DBComboBox2Change(Sender: TObject);
begin
dbcombobox2.Text:=trim(dbcombobox2.Text);
edtname.Clear;
end;
procedure TFrmsearch_orderSL_detail.DBEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if not ( key in ['0'..'9',chr(8),chr(13)]) then abort;
end;
procedure TFrmsearch_orderSL_detail.DBComboBox2KeyPress(Sender: TObject;
var Key: Char);
begin
if trim(DBComboBox2.Text)='' then exit;
if not ( key in ['0'..'9',chr(8),chr(13)]) then abort;
if key <> chr(13) then exit;
edtname.Clear;
with adoq_temp do
begin
SQL.Clear;
sql.Add('select empid, empname, sex from employee where empid='+''''+trim(DBComboBox2.Text)+'''');
execsql; open;
end;
if adoq_temp.RecordCount=0 then
begin
MsgErr(handle,'人员编码 ['+trim(DBComboBox2.Text)+'] 不存在!');
DBComboBox2.SetFocus; exit;
end
else
begin
edtname.Text:=adoq_temp.FieldValues['empname'];
edtsex.Text:=adoq_temp.FieldValues['sex'];
end;
end;
procedure TFrmsearch_orderSL_detail.ComboBox11Change(Sender: TObject);
begin
ComboBox1.Text:=trim(ComboBox1.text);
end;
procedure TFrmsearch_orderSL_detail.EdtBtnClick(Sender: TObject);
var
ord_id:string;
begin
ord_id:=trim(ComboBox1.Text);
if ord_id='' then ord_id:='所有订单';
Form_main.WriteIntoExcel(DBGrid,datetostr(date),ord_id+'━━工序发料信息报表('+trim(DBComboBox2.Text)+'号:'+trim(edtname.Text)+')');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -