D10myBiaoqi/T02贸易汇总仓库/U_TradeSampleClothStkList.pas

433 lines
12 KiB
ObjectPascal
Raw Permalink Normal View History

2024-07-04 16:01:24 +08:00
unit U_TradeSampleClothStkList;
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, dxSkinsCore, dxSkinsDefaultPainters,
2024-11-23 16:57:33 +08:00
cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxSkinWXI,
2025-01-13 16:36:43 +08:00
dxScrollbarAnnotations, jpeg, Math, U_SLT;
2024-07-04 16:01:24 +08:00
type
TfrmTradeSampleClothStkList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
2024-11-28 15:12:45 +08:00
GPM_1: TcxGridPopupMenu;
2024-07-04 16:01:24 +08:00
CDS_Main: TClientDataSet;
CDS_HZ: TClientDataSet;
PopupMenu1: TPopupMenu;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Label3: TLabel;
Label4: TLabel;
Label8: TLabel;
Label2: TLabel;
C_name: TEdit;
FromCoName: TEdit;
C_spec: TEdit;
BatchNo: TEdit;
v1Column6: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
ToolButton2: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
2024-11-23 16:57:33 +08:00
Tv1Column7: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
2025-01-13 16:36:43 +08:00
Tv1Column11: TcxGridDBColumn;
BCIID: TEdit;
Label1: TLabel;
ADOQuery1: TADOQuery;
Panel9: TPanel;
Panel10: TPanel;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
Tv1Column12: TcxGridDBColumn;
adoqueryPicture: TADOQuery;
Tv1Column13: TcxGridDBColumn;
ADOQuery2: TADOQuery;
2025-04-29 16:36:38 +08:00
C_Code: TEdit;
Label5: TLabel;
2025-11-08 10:16:26 +08:00
ToolButton1: TToolButton;
ToolButton3: TToolButton;
Tv1Column14: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
RMDB_1: TRMDBDataSet;
Rm1: TRMGridReport;
2024-07-04 16:01:24 +08:00
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 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 FormCreate(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
2025-01-13 16:36:43 +08:00
procedure BCIIDKeyPress(Sender: TObject; var Key: Char);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-11-08 10:16:26 +08:00
procedure ToolButton3Click(Sender: TObject);
2024-07-04 16:01:24 +08:00
private
procedure InitGrid();
2025-01-13 16:36:43 +08:00
procedure InitImage();
2024-07-04 16:01:24 +08:00
{ Private declarations }
public
FstkName: string;
{ Public declarations }
end;
var
frmTradeSampleClothStkList: TfrmTradeSampleClothStkList;
2025-01-13 16:36:43 +08:00
Mach: array of TfrmSlt;
2024-07-04 16:01:24 +08:00
implementation
uses
2025-11-08 10:16:26 +08:00
U_DataLink, U_RTFun, U_ZDYHelp;
2024-07-04 16:01:24 +08:00
{$R *.dfm}
procedure TfrmTradeSampleClothStkList.FormDestroy(Sender: TObject);
begin
inherited;
frmTradeSampleClothStkList := nil;
end;
procedure TfrmTradeSampleClothStkList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmTradeSampleClothStkList.FormCreate(Sender: TObject);
begin
inherited;
inherited;
end;
procedure TfrmTradeSampleClothStkList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
2024-11-28 15:12:45 +08:00
sql.Add(' select CBMoney=ISNULL(A.CBPrice,0)*ISNULL(A.stkqty,0),A.* ');
2025-01-13 16:36:43 +08:00
sql.Add(',IsImg=cast((case when (select COUNT(T.WBID) from TP_File T where T.FileType = ''YPCK'' and T.WBID=A.BCIOID)=0 then 0 else 1 end) as bit ) ');
2024-07-04 16:01:24 +08:00
sql.Add(' from BS_Cloth_IO A ');
SQL.Add(' where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) ');
sql.Add(' and isnull(stkName,'''')=''' + Trim(FstkName) + '''');
// ShowMessage(Sql.text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
2025-01-13 16:36:43 +08:00
procedure TfrmTradeSampleClothStkList.InitImage();
var
i, j: integer;
jpg: TJpegImage;
myStream: TADOBlobStream;
begin
j := length(Mach);
if j > 0 then
begin
for i := 0 to j - 1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
if CDS_Main.IsEmpty then
exit;
try
with adoqueryPicture do
begin
close;
sql.Clear;
sql.Add(' select A.TFID,A.WBID,A.FilesOther,A.FileName from TP_File A ');
sql.add('where A.WBID=' + quotedstr(trim(CDS_Main.fieldbyname('BCIOID').AsString)));
open;
end;
j := adoqueryPicture.RecordCount;
if j < 1 then
exit;
adoqueryPicture.DisableControls;
adoqueryPicture.First;
SetLength(Mach, j);
jpg := TJpegImage.Create();
for i := 0 to j - 1 do
begin
if triM(adoqueryPicture.fieldbyname('FilesOther').AsString) <> '' then
begin
myStream := tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')), bmread);
jpg.LoadFromStream(myStream);
Mach[i] := TfrmSlt.Create(Self);
Mach[i].Name := trim(adoqueryPicture.fieldbyname('TFID').AsString);
Mach[i].Parent := ScrollBox1;
// Mach[i].Left := 0;
Mach[i].Top := 0 + i * 180;
Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString, adoqueryPicture.fieldbyname('FileName').AsString, jpg);
end;
adoqueryPicture.Next;
end;
adoqueryPicture.EnableControls;
finally
jpg.free;
application.ProcessMessages;
end;
end;
2024-07-04 16:01:24 +08:00
procedure TfrmTradeSampleClothStkList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
2025-01-13 16:36:43 +08:00
InitImage();
end;
procedure TfrmTradeSampleClothStkList.BCIIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
with ADOQuery2 do
begin
close;
sql.Clear;
sql.Add('select * from BS_Cloth_Info A where A.BCIID=''' + trim(BCIID.Text) + ''' ');
// showmessage(sql.text);
open;
end;
C_name.text := ADOQuery2.FieldByName('C_Name').ASString;
end;
2024-07-04 16:01:24 +08:00
end;
procedure TfrmTradeSampleClothStkList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmTradeSampleClothStkList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeSampleClothStkList.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(Self.Caption), Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
InitGrid();
2025-01-13 16:36:43 +08:00
InitImage();
2024-07-04 16:01:24 +08:00
end;
procedure TfrmTradeSampleClothStkList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
end;
2025-01-13 16:36:43 +08:00
// TBFind.Click
2024-07-04 16:01:24 +08:00
end;
procedure TfrmTradeSampleClothStkList.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmTradeSampleClothStkList.SXBatchNOChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmTradeSampleClothStkList.FromCoNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmTradeSampleClothStkList.ToolButton1Click(Sender: TObject);
2025-11-08 10:16:26 +08:00
var
SavedTopRowIndex: Integer;
PBCIOIDS: string;
2024-07-04 16:01:24 +08:00
begin
if CDS_Main.IsEmpty then
Exit;
2025-11-08 10:16:26 +08:00
if CDS_Main.Locate('ssel', true, []) = False then
2024-07-04 16:01:24 +08:00
begin
2025-11-08 10:16:26 +08:00
Application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
exit;
end;
try
SavedTopRowIndex := Self.Tv1.Controller.TopRowIndex;
Self.CDS_Main.First;
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'StkPosition';
flagname := '<27><>λ';
MainType := FSTKName;
if ShowModal = 1 then
begin
Self.CDS_Main.DisableControls;
with Self.CDS_Main do
begin
First;
while not eof do
begin
if FieldByName('ssel').value = true then
begin
if PBCIOIDS = '' then
PBCIOIDS := PBCIOIDS + '''' + CDS_Main.FieldByName('BCIOID').AsString + ''''
else
PBCIOIDS := PBCIOIDS + ',''' + CDS_Main.FieldByName('BCIOID').AsString + '''';
end;
Next;
end;
end;
Self.CDS_Main.EnableControls;
with ADOQueryBaseCmd do
begin
close;
sql.Clear;
SQL.Add('update BS_Cloth_IO set stkposition = ' + QuotedStr(Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString)) + ' where BCIOID in (' + PBCIOIDS + ')');
ExecSQL;
end;
Self.InitGrid();
if SavedTopRowIndex < self.Tv1.DataController.RowCount then
self.Tv1.Controller.TopRowIndex := SavedTopRowIndex;
end;
end;
finally
frmZDYHelp.Free;
2024-07-04 16:01:24 +08:00
end;
end;
procedure TfrmTradeSampleClothStkList.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(trim(Self.Caption), Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
end;
2025-11-08 10:16:26 +08:00
procedure TfrmTradeSampleClothStkList.ToolButton3Click(Sender: TObject);
var
fPrintFile, FLabVolume: string;
SavedTopRowIndex: Integer;
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;
SavedTopRowIndex := Self.Tv1.Controller.TopRowIndex;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_BS_SampleCloth_In_Prt1 ');
SQL.Add(' @Filtration=''' + Trim(CDS_Main.fieldbyname('BCIOID').AsString) + '''');
Open;
end;
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
FLabVolume := '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ';
ExportFtErpFile(FLabVolume + '.rmf', ADOQueryBaseTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLabVolume + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
// if Trim(ADOQueryPrint.fieldbyname('LabVolume').AsString) <> '<27><>Ʒ<EFBFBD><C6B7>ǩ' then
// Rm1.DefaultCopies := 2
// else
Rm1.DefaultCopies := 1;
RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
Next;
end;
end;
CDS_Main.EnableControls;
if SavedTopRowIndex < self.Tv1.DataController.RowCount then
self.Tv1.Controller.TopRowIndex := SavedTopRowIndex;
end;
2024-07-04 16:01:24 +08:00
procedure TfrmTradeSampleClothStkList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult := 1;
end;
2025-01-13 16:36:43 +08:00
procedure TfrmTradeSampleClothStkList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
inherited;
2025-11-08 10:16:26 +08:00
InitImage();
2025-01-13 16:36:43 +08:00
end;
2024-07-04 16:01:24 +08:00
end.