D10xhGemei/T02贸易汇总仓库/U_TradeClothTotalStkList.pas
DESKTOP-E401PHE\Administrator e4158f64a0 调整
2026-02-05 17:10:07 +08:00

420 lines
13 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_TradeClothTotalStkList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Vcl.Printers, 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_BaseList, dxScrollbarAnnotations, cxContainer,
cxProgressBar, cxButtons, cxMaskEdit, dxSkinsCore, dxSkinsDefaultPainters,
cxPC, System.Math;
type
TfrmTradeClothTotalStkList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADO_2: TADOQuery;
ADOQueryTemp: TADOQuery;
DS_1: TDataSource;
GPM_1: TcxGridPopupMenu;
CDS_1: TClientDataSet;
PopupMenu1: TPopupMenu;
Label3: TLabel;
Label4: TLabel;
Label2: TLabel;
C_name: TcxTextEdit;
FromCoName: TcxTextEdit;
C_Color: TcxTextEdit;
ToolButton2: TToolButton;
Label6: TLabel;
C_ColorNo: TcxTextEdit;
N1: TMenuItem;
N2: TMenuItem;
ToolButton3: TToolButton;
cxPageControl1: TcxPageControl;
cxTabSheet1: TcxTabSheet;
cxTabSheet2: TcxTabSheet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1Column33: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
Tv1Column19: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column21: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column27: TcxGridDBColumn;
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
Tv1Column22: TcxGridDBColumn;
Tv1Column25: TcxGridDBColumn;
Tv1Column28: TcxGridDBColumn;
Tv1Column30: TcxGridDBColumn;
Tv1Column31: TcxGridDBColumn;
Tv1Column36: TcxGridDBColumn;
Tv1Column39: TcxGridDBColumn;
Tv1Column40: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridDBColumn24: TcxGridDBColumn;
cxGridDBColumn26: TcxGridDBColumn;
cxGridDBColumn28: TcxGridDBColumn;
cxGridDBColumn29: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
GPM_2: TcxGridPopupMenu;
CDS_2: TClientDataSet;
DS_2: TDataSource;
ADO_1: TADOQuery;
Label1: TLabel;
StkPosition: TcxTextEdit;
TV2Column1: TcxGridDBColumn;
Panel6: TPanel;
Label31: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TcxComboBox;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure FromCoNamePropertiesChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FromCoNameKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton3Click(Sender: TObject);
procedure TV2DblClick(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
private
CurrentPage, RecordsNumber: Integer;
canshu1, FSTKName, canshu3, canshu4: string;
// procedure InitGrid();
procedure InitGrid(MWSql: string);
procedure InitGrid1();
procedure InitGrid2();
{ Private declarations }
public
{ Public declarations }
end;
var
frmTradeClothTotalStkList: TfrmTradeClothTotalStkList;
implementation
uses
U_DataLink, U_RTFun, U_PrintLabFun, U_dynamicsDll, U_printPdf,
U_TradeClothSplit, U_LabelPrint;
{$R *.dfm}
procedure TfrmTradeClothTotalStkList.FormDestroy(Sender: TObject);
begin
inherited;
frmTradeClothTotalStkList := nil;
end;
procedure TfrmTradeClothTotalStkList.cxPageControl1Change(Sender: TObject);
begin
case cxPageControl1.ActivePageIndex of
1:
begin
InitGrid1();
end;
end;
end;
procedure TfrmTradeClothTotalStkList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmTradeClothTotalStkList.FormCreate(Sender: TObject);
begin
inherited;
canshu1 := Trim(self.fParameters1);
FSTKName := Trim(self.fParameters2);
canshu3 := Trim(self.fParameters3);
canshu4 := Trim(self.fParameters4);
end;
//procedure TfrmTradeClothTotalStkList.InitGrid();
//begin
// case cxPageControl1.ActivePageIndex of
// 0:
// begin
// InitGrid2();
// end;
// 1:
// begin
//
// InitGrid1();
// end;
// end;
//
//end;
procedure TfrmTradeClothTotalStkList.InitGrid(MWSql: string);
var
WSql, WDateSql: string;
SqlStr: string;
begin
WDateSql := ' and isnull(STKNAME,'''')=''' + Trim(FSTKNAME) + '''';
if Trim(canshu4) <> '' then
WDateSql := WDateSql + ' and isnull(StkCoName,'''')=''' + Trim(canshu4) + '''';
case cxPageControl1.ActivePageIndex of
0:
begin
// WSql := CommonFiltersByContainer(dxLayoutControl_query, ' {"EquTag": 1,"LikeTag": 2,"Fields": "OrderNo|FtyPCId|FtyPCId|C_Color|C_Code|C_Name"}');
if trim(WSql) <> '' then
begin
WSql := WDateSql + ' and ' + trim(WSql);
end
else
WSql := WDateSql;
SqlStr := ' select A.C_Code,C_Name,C_Color,C_ColorNo,C_Degree,C_Pattern,QtyUnit,StkPieceint=sum(CEILING(A.StkPiece)),StkQty=sum(StkQty),QtyUnit,StkPosition ';
SqlStr := SqlStr + ' from BS_Cloth_IO A ';
SqlStr := SqlStr + ' where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) ';
SqlStr := SqlStr + ' and isnull(stkName,'''')=''' + Trim(FstkName) + '''';
if Trim(canshu4) <> '' then
SqlStr := SqlStr + ' and isnull(StkCoName,'''')=''' + Trim(canshu4) + '''';
SqlStr := SqlStr + ' group by C_Code,C_Name,C_Color,C_ColorNo,C_Degree,C_Pattern,QtyUnit,StkPosition';
// ShowMessage(SqlStr);
InitCDSData(ADO_2, CDS_2, Tv2, SqlStr, SGetFilters(Panel1, 1, 2), 'C_Code');
end;
1:
begin
if MWSql = '' then
WSql := CommonFiltersByContainer(panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": ""}')
else
WSql := MWSql;
if trim(WSql) <> '' then
begin
WSql := WDateSql + ' and ' + trim(WSql);
end
else
WSql := WDateSql;
SqlStr := 'exec P_Trade_Totalstk_Get_Page ';
SqlStr := SqlStr + ' @pageIndex=' + inttostr(CurrentPage);
SqlStr := SqlStr + ' ,@pageSize=' + inttostr(RecordsNumber);
SqlStr := SqlStr + ' ,@criteria= ' + quotedstr(WSql);
// showmessage(SqlStr);
InitCDSData(ADO_1, CDS_1, Tv1, SqlStr, SGetFilters(Panel1, 1, 2), 'C_Code');
LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber));
end;
end;
end;
procedure TfrmTradeClothTotalStkList.InitGrid2();
var
SqlStr: string;
begin
SqlStr := ' select A.C_Code,C_Name,C_Color,C_ColorNo,C_Degree,C_Pattern,QtyUnit,StkPieceint=sum(CEILING(A.StkPiece)),StkQty=sum(StkQty),QtyUnit,StkPosition ';
SqlStr := SqlStr + ' from BS_Cloth_IO A ';
SqlStr := SqlStr + ' where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) ';
SqlStr := SqlStr + ' and isnull(stkName,'''')=''' + Trim(FstkName) + '''';
if Trim(canshu4) <> '' then
SqlStr := SqlStr + ' and isnull(StkCoName,'''')=''' + Trim(canshu4) + '''';
SqlStr := SqlStr + ' group by C_Code,C_Name,C_Color,C_ColorNo,C_Degree,C_Pattern,QtyUnit,StkPosition';
// ShowMessage(SqlStr);
InitCDSData(ADO_2, CDS_2, Tv2, SqlStr, SGetFilters(Panel1, 1, 2), 'C_Code');
end;
procedure TfrmTradeClothTotalStkList.InitGrid1();
var
SqlStr, WSqlStr: string;
begin
SqlStr := ' select A.*,StkPieceint=CEILING(A.StkPiece) ';
SqlStr := SqlStr + ' from BS_Cloth_IO A ';
SqlStr := SqlStr + ' where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) ';
SqlStr := SqlStr + ' and isnull(stkName,'''')=''' + Trim(FstkName) + '''';
if Trim(canshu4) <> '' then
SqlStr := SqlStr + ' and isnull(StkCoName,'''')=''' + Trim(canshu4) + '''';
WSqlStr := CommonFiltersByTv(Tv2, '{"RemovalNull":true,"Fields":"C_Code|C_Name|C_Color|C_ColorNo|C_Pattern|C_Degree|QtyUnit"}');
if TRIM(WSqlStr) <> '' then
SqlStr := SqlStr + ' and ' + WSqlStr;
SqlStr := SqlStr + ' order by IOTime desc';
InitCDSData(ADO_1, CDS_1, Tv1, SqlStr, SGetFilters(Panel1, 1, 2), 'BCIOID');
end;
procedure TfrmTradeClothTotalStkList.TBRafreshClick(Sender: TObject);
begin
InitGrid('');
// InitGrid2();
end;
procedure TfrmTradeClothTotalStkList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeClothTotalStkList.FormShow(Sender: TObject);
begin
inherited;
CurrentPage := 1;
RecordsNumber := 500;
ReadCxGrid(trim(Self.Caption) + 'Tv1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
ReadCxGrid(trim(Self.Caption) + 'Tv2', Tv2, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
canshu4 := Trim(self.fParameters4);
InitGrid2();
end;
procedure TfrmTradeClothTotalStkList.FromCoNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
TBFind.Click;
end;
procedure TfrmTradeClothTotalStkList.FromCoNamePropertiesChange(Sender: TObject);
begin
if Length(Trim(TcxTextEdit(Sender).Text)) < 4 then
Exit;
TBFind.Click;
end;
procedure TfrmTradeClothTotalStkList.TBFindClick(Sender: TObject);
begin
case cxPageControl1.ActivePageIndex of
0:
begin
CDSDataFilter(ADO_2, CDS_2, Tv2, '{"FilterStr":"' + CommonFiltersByContainer(Panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": "C_name|C_Color|C_ColorNo|StkPosition|FromCoName"}') + '" }');
end;
1:
begin
CDSDataFilter(ADO_1, CDS_1, Tv1, '{"FilterStr":"' + CommonFiltersByContainer(Panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": ""}') + '" }');
end;
end;
end;
procedure TfrmTradeClothTotalStkList.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmTradeClothTotalStkList.N1Click(Sender: TObject);
begin
inherited;
SelOKNo(CDS_1, True);
end;
procedure TfrmTradeClothTotalStkList.N2Click(Sender: TObject);
begin
inherited;
SelOKNo(CDS_1, False);
end;
procedure TfrmTradeClothTotalStkList.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(trim(Self.Caption) + 'Tv1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
WriteCxGrid(trim(Self.Caption) + 'Tv2', Tv2, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
end;
procedure TfrmTradeClothTotalStkList.ToolButton3Click(Sender: TObject);
begin
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'TradeLabVolume1';
FFiltration1 := Trim(SelCDSKey(self.CDS_1, ['BCIOID'])[0]);
if ShowModal = 1 then
begin
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmTradeClothTotalStkList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult := 1;
end;
procedure TfrmTradeClothTotalStkList.TV2DblClick(Sender: TObject);
begin
cxPageControl1.ActivePageIndex := 1;
end;
end.