290 lines
7.3 KiB
ObjectPascal
290 lines
7.3 KiB
ObjectPascal
![]() |
unit U_MaterialHelp;
|
|||
|
|
|||
|
interface
|
|||
|
|
|||
|
uses
|
|||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, ImgList, ComCtrls, ToolWin,
|
|||
|
DBClient, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|||
|
cxDataStorage, cxEdit, cxDBData, cxTextEdit, cxGridCustomTableView,
|
|||
|
cxGridTableView, cxGridDBTableView, cxControls, cxGridCustomView,
|
|||
|
cxClasses, cxGridLevel, cxGrid, cxSplitter, cxGridCustomPopupMenu,
|
|||
|
cxGridPopupMenu,IniFiles;
|
|||
|
|
|||
|
type
|
|||
|
TfrmMaterialHelp = class(TForm)
|
|||
|
DataSource1: TDataSource;
|
|||
|
ADOQueryHelp: TADOQuery;
|
|||
|
ToolBar1: TToolBar;
|
|||
|
Tok: TToolButton;
|
|||
|
ToolButton3: TToolButton;
|
|||
|
ImageList24: TImageList;
|
|||
|
GroupBox1: TGroupBox;
|
|||
|
GroupBox2: TGroupBox;
|
|||
|
Label1: TLabel;
|
|||
|
edttj: TEdit;
|
|||
|
DataSourceSel: TDataSource;
|
|||
|
CDS_sel: TClientDataSet;
|
|||
|
Label2: TLabel;
|
|||
|
Edit1: TEdit;
|
|||
|
cxGrid1: TcxGrid;
|
|||
|
cxGrid1Level1: TcxGridLevel;
|
|||
|
tv1: TcxGridDBTableView;
|
|||
|
tv1mnumber1: TcxGridDBColumn;
|
|||
|
tv1mname1: TcxGridDBColumn;
|
|||
|
tv1model1: TcxGridDBColumn;
|
|||
|
tv1mareaname1: TcxGridDBColumn;
|
|||
|
tv1batchnum1: TcxGridDBColumn;
|
|||
|
tv1factoryname1: TcxGridDBColumn;
|
|||
|
tv1caizhi1: TcxGridDBColumn;
|
|||
|
tv1primaryunitname1: TcxGridDBColumn;
|
|||
|
tv1endquan1: TcxGridDBColumn;
|
|||
|
cxGrid2: TcxGrid;
|
|||
|
cxGrid2Level1: TcxGridLevel;
|
|||
|
Tv2: TcxGridDBTableView;
|
|||
|
Tv2mnumber1: TcxGridDBColumn;
|
|||
|
Tv2mname1: TcxGridDBColumn;
|
|||
|
Tv2model1: TcxGridDBColumn;
|
|||
|
Tv2mareaname1: TcxGridDBColumn;
|
|||
|
Tv2batchnum1: TcxGridDBColumn;
|
|||
|
Tv2factoryname1: TcxGridDBColumn;
|
|||
|
Tv2caizhi1: TcxGridDBColumn;
|
|||
|
Tv2primaryunitname1: TcxGridDBColumn;
|
|||
|
Tv2endquan1: TcxGridDBColumn;
|
|||
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
|||
|
cxGridPopupMenu2: TcxGridPopupMenu;
|
|||
|
cxSplitter1: TcxSplitter;
|
|||
|
tv1fzEndQuan: TcxGridDBColumn;
|
|||
|
tv1purUnitName: TcxGridDBColumn;
|
|||
|
procedure FormShow(Sender: TObject);
|
|||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
procedure edttjChange(Sender: TObject);
|
|||
|
procedure ToolButton3Click(Sender: TObject);
|
|||
|
procedure TokClick(Sender: TObject);
|
|||
|
procedure FormCreate(Sender: TObject);
|
|||
|
procedure DBGrid2DblClick(Sender: TObject);
|
|||
|
procedure edttjKeyPress(Sender: TObject; var Key: Char);
|
|||
|
procedure Edit1Change(Sender: TObject);
|
|||
|
procedure tv1DblClick(Sender: TObject);
|
|||
|
private
|
|||
|
procedure AddSelRow();
|
|||
|
procedure DoQuery();
|
|||
|
procedure CreateGrid();
|
|||
|
public
|
|||
|
fDisType:integer; //0:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>1<EFBFBD><31><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>
|
|||
|
fInOutFlag:integer;
|
|||
|
FStoreCode:string;
|
|||
|
gisyxfck:Boolean;
|
|||
|
fsj:string;
|
|||
|
end;
|
|||
|
|
|||
|
var
|
|||
|
frmMaterialHelp: TfrmMaterialHelp;
|
|||
|
|
|||
|
implementation
|
|||
|
uses
|
|||
|
U_adodbmd,U_formPas,U_iniParam,U_cxGridSet;
|
|||
|
{$R *.dfm}
|
|||
|
|
|||
|
procedure TfrmMaterialHelp.FormShow(Sender: TObject);
|
|||
|
begin
|
|||
|
DoQuery();
|
|||
|
edttj.SetFocus ;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMaterialHelp.FormClose(Sender: TObject;
|
|||
|
var Action: TCloseAction);
|
|||
|
begin
|
|||
|
Action:=caFree;
|
|||
|
end;
|
|||
|
/////////////////////////////////////////////////
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/////////////////////////////////////////////////
|
|||
|
procedure TfrmMaterialHelp.edttjChange(Sender: TObject);
|
|||
|
begin
|
|||
|
try
|
|||
|
adoqueryHelp.DisableControls;
|
|||
|
if trim(edttj.Text)<>'' then
|
|||
|
begin
|
|||
|
with adoqueryHelp do
|
|||
|
begin
|
|||
|
filtered:=false;
|
|||
|
filter:='mNumber like '+QuotedStr('%'+trim(edttj.Text)+'%')+
|
|||
|
' or mName like '+QuotedStr('%'+trim(edttj.Text)+'%');
|
|||
|
filtered:=true;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
with adoqueryHelp do
|
|||
|
begin
|
|||
|
filtered:=false;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
finally
|
|||
|
adoqueryHelp.EnableControls;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMaterialHelp.ToolButton3Click(Sender: TObject);
|
|||
|
begin
|
|||
|
{ if trim(self.Caption)='' then
|
|||
|
WriteCxGrid(trim(self.Name),tv1,'ɴ<>ֿ߲<DFB2>')
|
|||
|
else
|
|||
|
WriteCxGrid(trim(self.Caption),tv1,'ɴ<>ֿ߲<DFB2>');
|
|||
|
if trim(self.Caption)='' then
|
|||
|
WriteCxGrid(trim(self.Name)+'2',tv2,'ɴ<>ֿ߲<DFB2>')
|
|||
|
else
|
|||
|
WriteCxGrid(trim(self.Caption)+'2',tv2,'ɴ<>ֿ߲<DFB2>'); }
|
|||
|
close;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMaterialHelp.TokClick(Sender: TObject);
|
|||
|
begin
|
|||
|
if adoqueryHelp.IsEmpty then
|
|||
|
ModalResult:=-1
|
|||
|
else
|
|||
|
modalResult:=1;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMaterialHelp.FormCreate(Sender: TObject);
|
|||
|
begin
|
|||
|
groupBox1.Align :=alClient;
|
|||
|
groupBox1.Visible:=false;
|
|||
|
cxSplitter1.Visible:= false;
|
|||
|
cxgrid1.Align :=alClient;
|
|||
|
CDS_Sel.Close;
|
|||
|
CreateGrid();
|
|||
|
end;
|
|||
|
/////////////////////////////////////////////////////
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ļ<EFBFBD>¼
|
|||
|
////////////////////////////////////////////////////
|
|||
|
procedure TfrmMaterialHelp.AddSelRow();
|
|||
|
var
|
|||
|
i:integer;
|
|||
|
begin
|
|||
|
|
|||
|
with CDS_Sel do
|
|||
|
begin
|
|||
|
CDS_Sel.append;
|
|||
|
for i:=0 to ADOQueryHelp.FieldCount-1 do
|
|||
|
begin
|
|||
|
fields[i].Value:=ADOQueryHelp.Fields[i].Value;
|
|||
|
end;
|
|||
|
CDS_Sel.Post;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMaterialHelp.DBGrid2DblClick(Sender: TObject);
|
|||
|
begin
|
|||
|
if CDS_Sel.IsEmpty then exit;
|
|||
|
CDS_sel.Delete;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMaterialHelp.edttjKeyPress(Sender: TObject; var Key: Char);
|
|||
|
begin
|
|||
|
if key=#13 then
|
|||
|
begin
|
|||
|
with ADOQueryHelp do
|
|||
|
begin
|
|||
|
////////
|
|||
|
if RecordCount>=1 then
|
|||
|
begin
|
|||
|
AddSelRow();
|
|||
|
end;
|
|||
|
edttj.SelectAll ;
|
|||
|
EnableControls;
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
//////////////////////////////////////////////////////
|
|||
|
//
|
|||
|
//////////////////////////////////////////////////////
|
|||
|
procedure TfrmMaterialHelp.DoQuery();
|
|||
|
begin
|
|||
|
with adoqueryHelp do
|
|||
|
begin
|
|||
|
close;
|
|||
|
sql.Clear;
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
if fInOutFlag=0 then
|
|||
|
begin
|
|||
|
sql.Add('select B.*,A.endQuan,A.fzendQuan,');
|
|||
|
sql.Add('A.BatchNum,A.marea,A.factory,A.factoryName,A.kcPrice,A.Price,');
|
|||
|
sql.Add('mareaname=(select MareaName from kf_marea where marea=A.marea)');
|
|||
|
sql.Add('from SX_nowquan A');
|
|||
|
sql.Add('inner join SX_Material B ON A.mNumber=B.mNumber');
|
|||
|
if trim(FStoreCode)<>'' then
|
|||
|
sql.Add('where A.whcode='''+FStoreCode+'''');
|
|||
|
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if fDisType=0 then
|
|||
|
begin
|
|||
|
if not gisyxfck and (FStoreCode<>'') then
|
|||
|
sql.Add('and A.endQuan>0')
|
|||
|
else if not gisyxfck and (FStoreCode='') then
|
|||
|
sql.Add('where A.endQuan>0');
|
|||
|
end;
|
|||
|
sql.Add('order by B.whcode,B.Mnumber');
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
sql.Add('select * from sx_Material A ');
|
|||
|
//if trim(FStoreCode)<>'' then
|
|||
|
// sql.Add('where A.whcode='''+FStoreCode+'''');
|
|||
|
sql.Add('order by A.whcode,A.Mnumber');
|
|||
|
end;
|
|||
|
open;
|
|||
|
end;
|
|||
|
CreateCDS(adoqueryHelp,cds_sel);
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMaterialHelp.Edit1Change(Sender: TObject);
|
|||
|
begin
|
|||
|
try
|
|||
|
adoqueryHelp.DisableControls;
|
|||
|
if trim(Edit1.Text)<>'' then
|
|||
|
begin
|
|||
|
with adoqueryHelp do
|
|||
|
begin
|
|||
|
filtered:=false;
|
|||
|
filter:='model like '+QuotedStr('%'+trim(Edit1.Text)+'%');
|
|||
|
filtered:=true;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
with adoqueryHelp do
|
|||
|
begin
|
|||
|
filtered:=false;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
finally
|
|||
|
adoqueryHelp.EnableControls;
|
|||
|
end;
|
|||
|
end;
|
|||
|
/////////////////////////////////////////////////
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//////////////////////////////////////////////////
|
|||
|
procedure TfrmMaterialHelp.CreateGrid();
|
|||
|
begin
|
|||
|
{ if trim(self.Caption)='' then
|
|||
|
ReadCxGrid(trim(self.Name),tv1,'ɴ<>ֿ߲<DFB2>')
|
|||
|
else
|
|||
|
ReadCxGrid(trim(self.Caption),tv1,'ɴ<>ֿ߲<DFB2>');
|
|||
|
if trim(self.Caption)='' then
|
|||
|
ReadCxGrid(trim(self.Name)+'2',tv2,'ɴ<>ֿ߲<DFB2>')
|
|||
|
else
|
|||
|
ReadCxGrid(trim(self.Caption)+'2',tv2,'ɴ<>ֿ߲<DFB2>'); }
|
|||
|
end;
|
|||
|
procedure TfrmMaterialHelp.tv1DblClick(Sender: TObject);
|
|||
|
begin
|
|||
|
// AddSelRow();
|
|||
|
tok.Click;
|
|||
|
end;
|
|||
|
|
|||
|
end.
|