RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/helpForm/U_JBKCSelHelp.pas
2025-01-08 11:55:07 +08:00

216 lines
5.6 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.