216 lines
5.6 KiB
ObjectPascal
216 lines
5.6 KiB
ObjectPascal
![]() |
unit U_JBKCSelHelp;
|
|||
|
|
|||
|
interface
|
|||
|
|
|||
|
uses
|
|||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, ComCtrls, ToolWin, ImgList,
|
|||
|
DBClient, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|||
|
cxDataStorage, cxEdit, cxDBData, cxGridCustomTableView, cxGridTableView,
|
|||
|
cxGridDBTableView, cxControls, cxGridCustomView, cxClasses, cxGridLevel,
|
|||
|
cxGrid, cxTextEdit;
|
|||
|
|
|||
|
type
|
|||
|
TfrmJBKCSelHelp = class(TForm)
|
|||
|
DataSource1: TDataSource;
|
|||
|
ADOQuery1: TADOQuery;
|
|||
|
ImageList24: TImageList;
|
|||
|
ToolBar1: TToolBar;
|
|||
|
Tok: TToolButton;
|
|||
|
Tclose: TToolButton;
|
|||
|
GroupBox1: TGroupBox;
|
|||
|
edttj: TEdit;
|
|||
|
Label1: TLabel;
|
|||
|
CDS_sel: TClientDataSet;
|
|||
|
DataSourceSel: TDataSource;
|
|||
|
ADOQuery1P_Code: TStringField;
|
|||
|
ADOQuery1P_Chnname: TWideStringField;
|
|||
|
ADOQuery1RollUnit: TStringField;
|
|||
|
ADOQuery1UnitName: TWideStringField;
|
|||
|
CDS_seP_Code: TStringField;
|
|||
|
CDS_selP_Chnname: TWideStringField;
|
|||
|
CDS_selRollUnit: TStringField;
|
|||
|
CDS_selUnitName: TWideStringField;
|
|||
|
GroupBox2: TGroupBox;
|
|||
|
dbGrid1: TcxGrid;
|
|||
|
dbGrid1Level1: TcxGridLevel;
|
|||
|
Tv1: TcxGridDBTableView;
|
|||
|
Tv1MNumber1: TcxGridDBColumn;
|
|||
|
Tv1Mname1: TcxGridDBColumn;
|
|||
|
Tv1CaiZhi1: TcxGridDBColumn;
|
|||
|
Tv1PrimaryUnitName1: TcxGridDBColumn;
|
|||
|
DBGrid2: TcxGrid;
|
|||
|
DBGrid2Level1: TcxGridLevel;
|
|||
|
TV2: TcxGridDBTableView;
|
|||
|
TV2MNumber1: TcxGridDBColumn;
|
|||
|
TV2Mname1: TcxGridDBColumn;
|
|||
|
TV2PrimaryUnitName1: TcxGridDBColumn;
|
|||
|
TV2endquan1: TcxGridDBColumn;
|
|||
|
ADOConnection1: TADOConnection;
|
|||
|
v1KCQuantity: TcxGridDBColumn;
|
|||
|
ADOQuery1KCQuantity: TFloatField;
|
|||
|
CDS_selKCQuantity: TFloatField;
|
|||
|
procedure FormShow(Sender: TObject);
|
|||
|
procedure DBGrid1TitleClick(Column: TColumn);
|
|||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
procedure edttjChange(Sender: TObject);
|
|||
|
procedure FormCreate(Sender: TObject);
|
|||
|
procedure TcloseClick(Sender: TObject);
|
|||
|
procedure TokClick(Sender: TObject);
|
|||
|
procedure edttjKeyPress(Sender: TObject; var Key: Char);
|
|||
|
procedure Tv1DblClick(Sender: TObject);
|
|||
|
procedure TV2DblClick(Sender: TObject);
|
|||
|
private
|
|||
|
SortField,SortOrder,SortCaption:string;
|
|||
|
SortID:integer;
|
|||
|
procedure AddSelRow();
|
|||
|
public
|
|||
|
str_dylx:string;
|
|||
|
FPType:string;
|
|||
|
end;
|
|||
|
|
|||
|
var
|
|||
|
frmJBKCSelHelp: TfrmJBKCSelHelp;
|
|||
|
|
|||
|
implementation
|
|||
|
uses
|
|||
|
U_global;
|
|||
|
|
|||
|
{$R *.dfm}
|
|||
|
|
|||
|
procedure TfrmJBKCSelHelp.FormShow(Sender: TObject);
|
|||
|
begin
|
|||
|
with adoquery1 do
|
|||
|
begin
|
|||
|
close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('select A.P_Code,A.P_ChnName,CC.RollUnit,UnitName=(select UnitName from XC_Unit XX where XX.UnitCode=CC.RollUnit),CC.KCQuantity ');
|
|||
|
sql.Add('from MC_CatLog A left join ');
|
|||
|
sql.Add('(select BB.P_Code,BB.RollUnit ,');
|
|||
|
sql.Add('KCQuantity=(select Sum(Case When Convert(int,B.DepotType)%2=0 then isnull(Quantity,0)*(-1) ');
|
|||
|
SQL.Add(' when Convert(int,B.DepotType)%2=1 then isnull(Quantity,0) end)');
|
|||
|
sql.Add(' from WC_Clothinout B inner join WC_Clothinout_info C on B.DepotNo=C.DepotNo');
|
|||
|
sql.Add(' where C.P_Code=BB.P_Code and C.RollUnit=BB.RollUnit Group by C.P_Code,C.RollUnit) ');
|
|||
|
sql.Add(' from WC_Clothinout_info BB group by BB.P_Code,BB.RollUnit) CC on A.P_Code=CC.P_Code');
|
|||
|
sql.Add('where A.P_Code like '''+Trim(FPType)+'%'' order by CC.KCQuantity,A.P_ChnName '); //--StopFlag=''0''
|
|||
|
open;
|
|||
|
end;
|
|||
|
edttj.SetFocus ;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmJBKCSelHelp.DBGrid1TitleClick(Column: TColumn);
|
|||
|
begin
|
|||
|
if ADOQuery1.isEmpty then Exit;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmJBKCSelHelp.FormClose(Sender: TObject;
|
|||
|
var Action: TCloseAction);
|
|||
|
begin
|
|||
|
Action:=caFree;
|
|||
|
end;
|
|||
|
/////////////////////////////////////////////////
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/////////////////////////////////////////////////
|
|||
|
procedure TfrmJBKCSelHelp.edttjChange(Sender: TObject);
|
|||
|
begin
|
|||
|
try
|
|||
|
ADOQuery1.DisableControls;
|
|||
|
if trim(edttj.Text)<>'' then
|
|||
|
begin
|
|||
|
with ADOQuery1 do
|
|||
|
begin
|
|||
|
filtered:=false;
|
|||
|
filter:='P_Code like '+quotedStr('%'+trim(edttj.Text)+'%')+
|
|||
|
' or P_ChnName like '+quotedStr('%'+trim(edttj.Text)+'%');
|
|||
|
filtered:=true;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
with ADOQuery1 do
|
|||
|
begin
|
|||
|
filtered:=false;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
finally
|
|||
|
ADOQuery1.EnableControls;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmJBKCSelHelp.FormCreate(Sender: TObject);
|
|||
|
begin
|
|||
|
with ADOConnection1 do
|
|||
|
begin
|
|||
|
Connected:=False;
|
|||
|
ConnectionString:=gConString;
|
|||
|
Connected:=True;
|
|||
|
end;
|
|||
|
//dbgrid1.Align :=alClient;
|
|||
|
groupBox2.Align :=alClient;
|
|||
|
CDS_Sel.Close;
|
|||
|
CDS_Sel.CreateDataSet;
|
|||
|
end;
|
|||
|
/////////////////////////////////////////////////////
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ļ<EFBFBD>¼
|
|||
|
////////////////////////////////////////////////////
|
|||
|
procedure TfrmJBKCSelHelp.AddSelRow();
|
|||
|
var
|
|||
|
i:integer;
|
|||
|
begin
|
|||
|
with CDS_Sel do
|
|||
|
begin
|
|||
|
CDS_Sel.append;
|
|||
|
for i:=0 to ADOQuery1.FieldCount-1 do
|
|||
|
begin
|
|||
|
fields[i].Value:=ADOQuery1.Fields[i].Value;
|
|||
|
end;
|
|||
|
CDS_Sel.Post;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
procedure TfrmJBKCSelHelp.TcloseClick(Sender: TObject);
|
|||
|
begin
|
|||
|
close;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmJBKCSelHelp.TokClick(Sender: TObject);
|
|||
|
begin
|
|||
|
if adoquery1.IsEmpty then
|
|||
|
ModalResult:=-1
|
|||
|
else
|
|||
|
modalResult:=1;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmJBKCSelHelp.edttjKeyPress(Sender: TObject;
|
|||
|
var Key: Char);
|
|||
|
begin
|
|||
|
if key=#13 then
|
|||
|
begin
|
|||
|
with ADOQuery1 do
|
|||
|
begin
|
|||
|
////////
|
|||
|
if RecordCount>=1 then
|
|||
|
begin
|
|||
|
AddSelRow();
|
|||
|
end;
|
|||
|
edttj.SelectAll ;
|
|||
|
EnableControls;
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmJBKCSelHelp.Tv1DblClick(Sender: TObject);
|
|||
|
begin
|
|||
|
AddSelRow();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmJBKCSelHelp.TV2DblClick(Sender: TObject);
|
|||
|
begin
|
|||
|
if CDS_sel.IsEmpty then exit;
|
|||
|
Cds_sel.Delete ;
|
|||
|
end;
|
|||
|
|
|||
|
end.
|