298 lines
8.6 KiB
ObjectPascal
298 lines
8.6 KiB
ObjectPascal
unit U_PbxhHelp_Dx;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB, Buttons,
|
||
cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
||
cxEdit, cxDBData, cxGridCustomTableView, cxGridTableView,
|
||
cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||
cxGrid,StrUtils, BtnEdit, DBClient, cxTextEdit;
|
||
|
||
type
|
||
TfrmPbxhHelp_Dx = class(TForm)
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
Label3: TLabel;
|
||
P_chnName: TEdit;
|
||
ADOQueryHelp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
Label4: TLabel;
|
||
pbxh: TEdit;
|
||
btFind: TBitBtn;
|
||
BtOk: TBitBtn;
|
||
btCancel: TBitBtn;
|
||
DBGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
dbGrid1Level1: TcxGridLevel;
|
||
v1customName: TcxGridDBColumn;
|
||
v1P_chnName: TcxGridDBColumn;
|
||
v1inNum: TcxGridDBColumn;
|
||
v1rollNum: TcxGridDBColumn;
|
||
v1Quantity: TcxGridDBColumn;
|
||
v1unitName: TcxGridDBColumn;
|
||
Label2: TLabel;
|
||
ListNo: TEdit;
|
||
v1ListNo: TcxGridDBColumn;
|
||
v1P_code: TcxGridDBColumn;
|
||
Label5: TLabel;
|
||
P_code: TEdit;
|
||
Label6: TLabel;
|
||
ADOQueryTmp: TADOQuery;
|
||
BtnEditC1: TBtnEditC;
|
||
v1rollSpec: TcxGridDBColumn;
|
||
v1filltime: TcxGridDBColumn;
|
||
v1P_spec: TcxGridDBColumn;
|
||
Edt_cust: TEdit;
|
||
CheckBox1: TCheckBox;
|
||
ADOConnection1: TADOConnection;
|
||
cxStyleRepository1: TcxStyleRepository;
|
||
cxStyle1: TcxStyle;
|
||
cxStyle2: TcxStyle;
|
||
cxStyle_gridRow: TcxStyle;
|
||
cxStyle_gridFoot: TcxStyle;
|
||
cxStyle_gridHead: TcxStyle;
|
||
cxStyle_gridGroupBox: TcxStyle;
|
||
cxStyle_yellow: TcxStyle;
|
||
cxStyle_Red: TcxStyle;
|
||
cxStyle_focus: TcxStyle;
|
||
cxStyle_fontBlue: TcxStyle;
|
||
cxStyle_fontclPurple: TcxStyle;
|
||
cxStyle_fontBlack: TcxStyle;
|
||
cxStyle_fontclFuchsia: TcxStyle;
|
||
cxStyle_fontclOlive: TcxStyle;
|
||
GroupBox1: TGroupBox;
|
||
cxGrid2: TcxGrid;
|
||
Tv2: TcxGridDBTableView;
|
||
cxGridDBColumn1: TcxGridDBColumn;
|
||
cxGridDBColumn2: TcxGridDBColumn;
|
||
cxGridDBColumn3: TcxGridDBColumn;
|
||
cxGridDBColumn4: TcxGridDBColumn;
|
||
cxGridDBColumn5: TcxGridDBColumn;
|
||
tv2inNum: TcxGridDBColumn;
|
||
tv2rollNum: TcxGridDBColumn;
|
||
tv2Quantity: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
DS_sel: TDataSource;
|
||
CDS_sel: TClientDataSet;
|
||
tv2unitName: TcxGridDBColumn;
|
||
v1packs: TcxGridDBColumn;
|
||
v2Column1: TcxGridDBColumn;
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure btFindClick(Sender: TObject);
|
||
procedure btCancelClick(Sender: TObject);
|
||
procedure BtOkClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Tv1DblClick(Sender: TObject);
|
||
procedure BtnEditC1BtnUpClick(Sender: TObject);
|
||
procedure BtnEditC1BtnDnClick(Sender: TObject);
|
||
procedure CheckBox1Click(Sender: TObject);
|
||
procedure Tv2DblClick(Sender: TObject);
|
||
private
|
||
procedure DoQuery();
|
||
procedure DoFilter();
|
||
procedure AddRowData();
|
||
public
|
||
fSelType:integer; //0:<3A><>ѡ<EFBFBD><D1A1>1<EFBFBD><31><EFBFBD><EFBFBD>ѡ
|
||
fStoreCode:string; //<2F>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>
|
||
fStoretType:string; //<2F>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>
|
||
fcustomNo:string;
|
||
end;
|
||
|
||
var
|
||
frmPbxhHelp_Dx: TfrmPbxhHelp_Dx;
|
||
|
||
implementation
|
||
uses
|
||
U_formPas, U_XcCodeHelp,U_global;
|
||
{$R *.dfm}
|
||
///////////////////////////////////////////////
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ݲ<EFBFBD>ѯ
|
||
///////////////////////////////////////////////
|
||
procedure TfrmPbxhHelp_Dx.DoQuery();
|
||
begin
|
||
try
|
||
with ADOQueryHelp do
|
||
begin
|
||
DisableControls ;
|
||
filtered:=false;
|
||
close;
|
||
sql.clear;
|
||
sql.Add('exec P_get_PbXh_Help');
|
||
sql.Add(QuotedStr(fStoreCode));
|
||
sql.Add(','+quotedstr(trim(Edt_cust.Text)));
|
||
sql.Add(','+quotedstr(trim(P_code.Text)));
|
||
sql.Add(','+quotedStr(fStoretType));
|
||
Open;
|
||
CreateCDS(ADOQueryHelp,CDS_Sel);
|
||
end;
|
||
finally
|
||
ADOQueryHelp.EnableControls;
|
||
end;
|
||
end;
|
||
procedure TfrmPbxhHelp_Dx.FormCreate(Sender: TObject);
|
||
begin
|
||
dbgrid1.Align :=alClient;
|
||
with ADOConnection1 do
|
||
begin
|
||
Connected:=false;
|
||
ConnectionString:=gConString;
|
||
Connected:=true;
|
||
end;
|
||
fStoreCode:='JRPC';
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.btFindClick(Sender: TObject);
|
||
begin
|
||
DoQuery();
|
||
DoFilter();
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.btCancelClick(Sender: TObject);
|
||
begin
|
||
ModalResult:=-1;
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.BtOkClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryhelp.IsEmpty then
|
||
ModalResult:=-1
|
||
else
|
||
begin
|
||
if fSelType=0 then
|
||
ModalResult:=1
|
||
else if not CDS_sel.IsEmpty then
|
||
ModalResult:=1
|
||
else
|
||
ModalResult:=0;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.FormShow(Sender: TObject);
|
||
begin
|
||
if fSelType=0 then
|
||
groupBox1.Visible :=false;
|
||
//Edt_cust.text :=fCustomNo;
|
||
DoQuery();
|
||
DoFilter();
|
||
end;
|
||
////////////////////////////////////////////////////
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
////////////////////////////////////////////////////
|
||
procedure TfrmPbxhHelp_Dx.DoFilter();
|
||
var
|
||
filterStr:string;
|
||
begin
|
||
filterStr:='';
|
||
if trim(Edt_cust.text)<>'' then //'and ( customNo like ''%'+trim(Edt_cust.text)+'%'''+
|
||
filterStr:='and customName like ''%'+trim(Edt_cust.text)+'%''';
|
||
if trim(ListNo.text)<>'' then
|
||
filterStr:=filterStr+' and ListNo like '+quotedStr('%'+trim(ListNo.text)+'%');
|
||
|
||
if trim(P_code.text)<>'' then
|
||
filterStr:=filterStr+' and P_code like '+quotedStr('%'+trim(P_code.text)+'%');
|
||
|
||
if trim(P_chnName.text)<>'' then
|
||
filterStr:=filterStr+' and P_chnName like '+quotedStr('%'+trim(P_chnName.text)+'%');
|
||
|
||
if trim(pbxh.text)<>'' then
|
||
filterStr:=filterStr+' and inNum like '+quotedStr('%'+trim(pbxh.text)+'%');
|
||
if trim(BtnEditC1.text)<>'' then
|
||
filterStr:=filterStr+' and rollSpec like '+quotedStr('%'+trim(BtnEditC1.text)+'%');
|
||
|
||
if CheckBox1.Checked then
|
||
filterStr:=filterStr+' and (quantity>0.0 )'; //or rollNum>0 or packs>0
|
||
try
|
||
ADOQueryhelp.DisableControls ;
|
||
if trim(filterStr)='' then
|
||
begin
|
||
ADOQueryhelp.Filtered:=false;
|
||
ADOQueryhelp.EnableControls;
|
||
exit;
|
||
end;
|
||
filterStr:=trim(RightBStr(filterStr,length(filterStr)-4));
|
||
with ADOQueryhelp do
|
||
begin
|
||
filtered:=false;
|
||
filter:=filterStr;
|
||
filtered:=true;
|
||
end;
|
||
finally
|
||
ADOQueryhelp.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.Tv1DblClick(Sender: TObject);
|
||
begin
|
||
if fSelType=0 then
|
||
BtOk.Click
|
||
else
|
||
AddRowData();
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.BtnEditC1BtnUpClick(Sender: TObject);
|
||
begin
|
||
frmXcCodeHelp:=TfrmXcCodeHelp.create(self);
|
||
with frmXcCodeHelp do
|
||
begin
|
||
pflag:='PBJGLX';
|
||
if showModal=1 then
|
||
begin
|
||
//BtnEditC1.TxtCode :=trim(ADOQueryHelp.fieldByName('code').AsString);
|
||
BtnEditC1.Text :=fSelResult;//trim(ADOQueryHelp.fieldByName('Name').AsString);
|
||
end;
|
||
free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.BtnEditC1BtnDnClick(Sender: TObject);
|
||
begin
|
||
BtnEditC1.TxtCode :='';
|
||
BtnEditC1.Text :='';
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.CheckBox1Click(Sender: TObject);
|
||
begin
|
||
dofilter();
|
||
end;
|
||
////////////////////////////////////////////////////////
|
||
//
|
||
////////////////////////////////////////////////////////
|
||
procedure TfrmPbxhHelp_Dx.AddRowData();
|
||
begin
|
||
with CDS_sel do
|
||
begin
|
||
if locate('inNum',trim(ADOQueryHelp.fieldByName('InNum').AsString),[]) then
|
||
begin
|
||
application.MessageBox(pchar('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+trim(ADOQueryHelp.fieldByName('InNum').AsString)
|
||
+'<27>Ѵ<EFBFBD><D1B4><EFBFBD>!'),'<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
exit;
|
||
end;
|
||
Append;
|
||
fieldByName('customName').Value :=trim(ADOQueryHelp.fieldByName('customName').AsString) ;
|
||
fieldByName('ListNo').Value :=trim(ADOQueryHelp.fieldByName('ListNo').AsString) ;
|
||
fieldByName('InNum').Value :=trim(ADOQueryHelp.fieldByName('InNum').AsString) ;
|
||
fieldByName('P_code').Value :=trim(ADOQueryHelp.fieldByName('P_code').AsString) ;
|
||
fieldByName('P_chnName').Value :=trim(ADOQueryHelp.fieldByName('P_chnName').AsString) ;
|
||
fieldByName('P_spec').Value :=trim(ADOQueryHelp.fieldByName('P_spec').AsString) ;
|
||
fieldByName('unitName').Value :=trim(ADOQueryHelp.fieldByName('unitName').AsString) ;
|
||
fieldByName('rollUnit').Value :=trim(ADOQueryHelp.fieldByName('rollUnit').AsString) ;
|
||
fieldByName('rollSpec').Value :=trim(ADOQueryHelp.fieldByName('rollSpec').AsString) ;
|
||
fieldByName('depotPlace').Value :=trim(ADOQueryHelp.fieldByName('depotPlace').AsString) ;
|
||
fieldByName('rollNum').Value :=ADOQueryHelp.fieldByName('rollNum').AsFloat ;
|
||
fieldByName('Quantity').Value :=ADOQueryHelp.fieldByName('Quantity').AsFloat ;
|
||
fieldByName('packs').Value :=ADOQueryHelp.fieldByName('packs').AsFloat ;
|
||
fieldByName('packUnit').Value :=trim(ADOQueryHelp.fieldByName('packUnit').AsString) ;
|
||
Post;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPbxhHelp_Dx.Tv2DblClick(Sender: TObject);
|
||
begin
|
||
if CDS_Sel.IsEmpty then exit;
|
||
CDS_Sel.Delete ;
|
||
end;
|
||
|
||
end.
|