D10myYicheng/发货申请(ShipmentRequest.dll)/U_CKProductBCPKCListSel.pas

309 lines
8.6 KiB
ObjectPascal
Raw Normal View History

2025-05-27 14:08:09 +08:00
unit U_CKProductBCPKCListSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, MovePanel, cxCheckBox, Menus, cxCalendar, RM_Common, RM_Class,
RM_GridReport, RM_System, RM_Dataset, BtnEdit, Math, Clipbrd, cxLookAndFeels,
cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, U_BaseList, cxTextEdit;
type
TfrmCKProductBCPKCListSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
MovePanel2: TMovePanel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
RMDB_Main: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
RM2: TRMGridReport;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
RM3: TRMGridReport;
RMDBHZ: TRMDBDataSet;
RMDBPRT: TRMDBDataSet;
Panel6: TPanel;
Label31: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
ToolButton1: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column4: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Panel1: TPanel;
Label14: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
Label10: TLabel;
Label12: TLabel;
Label1: TLabel;
Label2: TLabel;
Label6: TLabel;
Label11: TLabel;
Label13: TLabel;
Label19: TLabel;
Label8: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ISCRTime: TCheckBox;
BaoID: TEdit;
P_CodeName: TEdit;
orderNo: TEdit;
JYType: TComboBox;
RKOrdID: TEdit;
conNo: TEdit;
APID: TEdit;
RKPlace: TEdit;
P_Color: TEdit;
ganghao: TEdit;
P_HX: TEdit;
P_Code: TEdit;
JYID: TEdit;
Label9: TLabel;
baono: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure BTNPClick(Sender: TObject);
procedure BTLPClick(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
procedure MPRTCodeNameKeyPress(Sender: TObject; var Key: Char);
procedure CPTypeKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton1Click(Sender: TObject);
private
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
{ Private declarations }
public
issel: integer;
{ Public declarations }
end;
var
frmCKProductBCPKCListSel: TfrmCKProductBCPKCListSel;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmCKProductBCPKCListSel.FormDestroy(Sender: TObject);
begin
frmCKProductBCPKCListSel := nil;
end;
procedure TfrmCKProductBCPKCListSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caHide;
end;
procedure TfrmCKProductBCPKCListSel.FormCreate(Sender: TObject);
begin
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCKProductBCPKCListSel.InitGrid();
var
WSql: string;
begin
MovePanel2.Left := (self.Width - MovePanel2.Width) div 2;
MovePanel2.Visible := True;
MovePanel2.Refresh;
WSql := SGetFilters(Panel1, 1, 2);
if Trim(WSql) <> '' then
WSql := ' and ' + WSql;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select top ' + inttostr(RecordsNumber) + ' * ');
sql.Add(' ,DJBRCGangNo =(select X.RCGangNo from CK_SXPB_CR X where X.SPID=temp_row.APID)');
sql.Add(' from ');
sql.Add('(select rownumber=cast((row_number() over(order by AA.filltime desc)) as int)');
sql.Add(',COUNT(1) OVER() AS TotalCount');
sql.Add(',* from V_Cloth_CP_KC AA where 1=1 ' + WSql);
sql.Add(') temp_row');
sql.Add(' where rownumber> ' + inttostr(((CurrentPage - 1) * RecordsNumber)));
sql.Add(' order by rownumber');
// showmessage(sql.text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmCKProductBCPKCListSel.TBRafreshClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPKCListSel.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductBCPKCListSel.FormShow(Sender: TObject);
begin
CurrentPage := 1;
RecordsNumber := 500;
ReadCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmCKProductBCPKCListSel.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductBCPKCListSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmCKProductBCPKCListSel.N1Click(Sender: TObject);
begin
selOKNoFiler(TV1, True);
end;
procedure TfrmCKProductBCPKCListSel.N2Click(Sender: TObject);
begin
selOKNoFiler(TV1, False);
end;
procedure TfrmCKProductBCPKCListSel.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.TCBNORChange(Sender: TObject);
begin
RecordsNumber := StrToInt(TCBNOR.Text);
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.MPRTCodeNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCKProductBCPKCListSel.CPTypeKeyPress(Sender: TObject; var Key: Char);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
ModalResult := 1;
end;
end.