RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/helpForm/U_MaterialHelp.pas

290 lines
7.3 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-08 11:55:07 +08:00
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.