D10SZKaiXiYa/F00染色通用窗体/U_DyeGreyClothStkSel.pas

260 lines
7.0 KiB
ObjectPascal
Raw Normal View History

2025-03-01 10:55:52 +08:00
unit U_DyeGreyClothStkSel;
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, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges,
dxBarBuiltInMenu, U_BaseHelp, System.ImageList, Vcl.ImgList, cxContainer,
dxScrollbarAnnotations, dxSkinsCore, dxSkinsDefaultPainters, cxMaskEdit;
type
TfrmDyeGreyClothStkSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
CDS_HZ: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column17: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label3: TLabel;
Label4: TLabel;
Label8: TLabel;
Label2: TLabel;
Label1: TLabel;
C_Name: TcxTextEdit;
FromCoName: TcxTextEdit;
C_Spec: TcxTextEdit;
BatchNo: TcxTextEdit;
FromCoNo: TcxTextEdit;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
ToolButton2: TToolButton;
Tv1Column1: TcxGridDBColumn;
Label5: TLabel;
Tv1Column2: TcxGridDBColumn;
IOType: TcxComboBox;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure SXBatchNOChange(Sender: TObject);
procedure FromCoNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure FromCoNoPropertiesChange(Sender: TObject);
procedure FromCoNoKeyPress(Sender: TObject; var Key: Char);
procedure IOTypePropertiesChange(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmDyeGreyClothStkSel: TfrmDyeGreyClothStkSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmDyeGreyClothStkSel.FormDestroy(Sender: TObject);
begin
inherited;
frmDyeGreyClothStkSel := nil;
end;
procedure TfrmDyeGreyClothStkSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := cahide;
end;
procedure TfrmDyeGreyClothStkSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from BS_Cloth_IO A where isnull(STKName,'''')=''Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD>'' ');
SQL.Add(' and A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and (isnull(STKQty,0)>0 or isnull(STKpiece,0)>0) ');
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmDyeGreyClothStkSel.IOTypePropertiesChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmDyeGreyClothStkSel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmDyeGreyClothStkSel.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmDyeGreyClothStkSel.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmDyeGreyClothStkSel.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(self.Caption + 'TV11', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmDyeGreyClothStkSel.TBFindClick(Sender: TObject);
begin
CDSDataFilter(ADOQueryMain, CDS_Main, Tv1, '{"FilterStr":"' + CommonFiltersByContainer(Panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": ""}') + '" }');
end;
procedure TfrmDyeGreyClothStkSel.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDyeGreyClothStkSel.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmDyeGreyClothStkSel.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmDyeGreyClothStkSel.SXBatchNOChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDyeGreyClothStkSel.FromCoNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDyeGreyClothStkSel.FromCoNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
InitGrid;
end;
procedure TfrmDyeGreyClothStkSel.FromCoNoPropertiesChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDyeGreyClothStkSel.ToolButton1Click(Sender: TObject);
var
MC_Specs: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
MC_Specs := SelCDSKey(CDS_Main, ['C_Spec'])[0];
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('select DISTINCT RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(MC_Specs) + ','','') ');
// showmessage(Sql.text);
Open;
end;
if ADOQueryCmd.RecordCount > 1 then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
ModalResult := 1;
end;
procedure TfrmDyeGreyClothStkSel.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(self.Caption + 'TV11', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmDyeGreyClothStkSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
end.