D7gmYushang/色卡挂板仓库(SKGBhouse.dll)/U_PieceSampleKcListSEL.pas
DESKTOP-E401PHE\Administrator 1d94a89439 0
2025-09-24 13:13:14 +08:00

254 lines
6.5 KiB
ObjectPascal
Raw Permalink 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_PieceSampleKcListSEL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox,
RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus,
BtnEdit, U_SLT, jpeg, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, Math,
cxCalendar;
type
TfrmPieceSampleKcListSEL = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
TOk: TToolButton;
v1Ssel: TcxGridDBColumn;
Label7: TLabel;
v1Column5: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM1: TRMGridReport;
v1Column8: TcxGridDBColumn;
ADOQueryMain: TADOQuery;
P_Code: TEdit;
Label18: TLabel;
Label31: TLabel;
FactoryName: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton2: TToolButton;
adoqueryPicture: TADOQuery;
lbl1: TLabel;
yptype: TEdit;
cv1Column13: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TOkClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure BTLPClick(Sender: TObject);
procedure BTNPClick(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
procedure P_CodeKeyPress(Sender: TObject; var Key: Char);
procedure yptypeChange(Sender: TObject);
private
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
{ Private declarations }
public
fType: integer;
fCKName: string;
{ Public declarations }
end;
var
frmPieceSampleKcListSEL: TfrmPieceSampleKcListSEL;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp;
{$R *.dfm}
procedure TfrmPieceSampleKcListSEL.InitGrid();
var
fwhere, Pwhere: string;
begin
try
with adoqueryMain do
begin
close;
sql.Clear;
SQL.Add('select * from (');
sql.Add(' select A.P_Code,yptype,A.QtyUnit ');
sql.Add(' ,count(crqtyflag *A.RollNum) KCRollNum,sum(crqtyflag*A.Qty) KCQty ');
SQL.Add(' from CK_Skgb_CR A ');
sql.Add(' where CKName=' + quotedstr(trim(fCKName)));
sql.ADD(' and A.Valid=''Y'' AND Chkstatus=''1'' ');
sql.Add(' group by A.P_Code,yptype,A.QtyUnit ');
sql.Add(')aa where KCQty>0');
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
finally
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmPieceSampleKcListSEL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>');
if fType = 10 then
Action := cahide
else
Action := cafree;
end;
procedure TfrmPieceSampleKcListSEL.FormDestroy(Sender: TObject);
begin
frmPieceSampleKcListSEL := nil;
end;
procedure TfrmPieceSampleKcListSEL.P_CodeNameChange(Sender: TObject);
begin
if adoqueryMain.Active = False then
Exit;
SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmPieceSampleKcListSEL.FormShow(Sender: TObject);
begin
CurrentPage := 1;
RecordsNumber := 500;
readCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>');
// InitGrid();
end;
procedure TfrmPieceSampleKcListSEL.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmPieceSampleKcListSEL.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPieceSampleKcListSEL.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmPieceSampleKcListSEL.TOkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmPieceSampleKcListSEL.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, true);
end;
procedure TfrmPieceSampleKcListSEL.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, false);
end;
procedure TfrmPieceSampleKcListSEL.ToolButton2Click(Sender: TObject);
begin
if adoqueryMain.Active = False then
Exit;
SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmPieceSampleKcListSEL.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
// InitImage();
end;
procedure TfrmPieceSampleKcListSEL.ToolButton3Click(Sender: TObject);
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('exec P_Up_SampleKc_skAll');
execsql;
end;
end;
procedure TfrmPieceSampleKcListSEL.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmPieceSampleKcListSEL.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmPieceSampleKcListSEL.TCBNORChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmPieceSampleKcListSEL.P_CodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmPieceSampleKcListSEL.yptypeChange(Sender: TObject);
begin
ToolButton2.Click();
end;
end.