D10xhGemei/T02贸易汇总仓库/U_TradeClothTotalStkList.pas

348 lines
10 KiB
ObjectPascal
Raw Normal View History

2024-12-14 17:23:12 +08:00
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,
2025-03-06 16:38:54 +08:00
cxProgressBar, cxButtons, cxMaskEdit, dxSkinsCore, dxSkinsDefaultPainters,
cxPC;
2024-12-14 17:23:12 +08:00
type
TfrmTradeClothTotalStkList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
2025-03-06 16:38:54 +08:00
ADO_2: TADOQuery;
2024-12-14 17:23:12 +08:00
ADOQueryTemp: TADOQuery;
DS_1: TDataSource;
GPM_1: TcxGridPopupMenu;
CDS_1: TClientDataSet;
PopupMenu1: TPopupMenu;
Label3: TLabel;
Label4: TLabel;
Label2: TLabel;
C_name: TcxTextEdit;
FromCoName: TcxTextEdit;
2025-03-06 16:38:54 +08:00
C_Color: TcxTextEdit;
2024-12-14 17:23:12 +08:00
ToolButton2: TToolButton;
2025-03-06 16:38:54 +08:00
Label6: TLabel;
C_ColorNo: TcxTextEdit;
N1: TMenuItem;
N2: TMenuItem;
ToolButton3: TToolButton;
cxPageControl1: TcxPageControl;
cxTabSheet1: TcxTabSheet;
cxTabSheet2: TcxTabSheet;
2024-12-14 17:23:12 +08:00
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
2025-03-06 16:38:54 +08:00
Tv1Column33: TcxGridDBColumn;
2024-12-14 17:23:12 +08:00
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;
2025-03-06 16:38:54 +08:00
Tv1Column7: TcxGridDBColumn;
2024-12-14 17:23:12 +08:00
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
2025-03-06 16:38:54 +08:00
Tv1Column27: TcxGridDBColumn;
2024-12-14 17:23:12 +08:00
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
Tv1Column22: TcxGridDBColumn;
Tv1Column25: TcxGridDBColumn;
Tv1Column28: TcxGridDBColumn;
Tv1Column30: TcxGridDBColumn;
Tv1Column31: TcxGridDBColumn;
Tv1Column36: TcxGridDBColumn;
Tv1Column39: TcxGridDBColumn;
Tv1Column40: TcxGridDBColumn;
2025-03-06 16:38:54 +08:00
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;
2025-06-17 12:17:41 +08:00
Label1: TLabel;
StkPosition: TcxTextEdit;
TV2Column1: TcxGridDBColumn;
2024-12-14 17:23:12 +08:00
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);
2025-03-06 16:38:54 +08:00
procedure TV2DblClick(Sender: TObject);
2025-03-06 17:34:17 +08:00
procedure cxPageControl1Change(Sender: TObject);
2024-12-14 17:23:12 +08:00
private
2025-03-08 17:11:09 +08:00
canshu1, FSTKName, canshu3, canshu4: string;
2024-12-14 17:23:12 +08:00
procedure InitGrid();
2025-03-06 16:38:54 +08:00
procedure InitGrid1();
procedure InitGrid2();
2024-12-14 17:23:12 +08:00
{ 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;
2025-03-06 17:34:17 +08:00
procedure TfrmTradeClothTotalStkList.cxPageControl1Change(Sender: TObject);
begin
case cxPageControl1.ActivePageIndex of
1:
begin
InitGrid1();
end;
end;
end;
2024-12-14 17:23:12 +08:00
procedure TfrmTradeClothTotalStkList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmTradeClothTotalStkList.FormCreate(Sender: TObject);
begin
inherited;
2025-03-08 17:11:09 +08:00
canshu1 := Trim(self.fParameters1);
FSTKName := Trim(self.fParameters2);
canshu3 := Trim(self.fParameters3);
canshu4 := Trim(self.fParameters4);
2024-12-14 17:23:12 +08:00
end;
procedure TfrmTradeClothTotalStkList.InitGrid();
2025-03-06 16:38:54 +08:00
begin
case cxPageControl1.ActivePageIndex of
0:
begin
InitGrid2();
end;
1:
begin
InitGrid1();
end;
end;
end;
procedure TfrmTradeClothTotalStkList.InitGrid2();
2024-12-14 17:23:12 +08:00
var
SqlStr: string;
begin
2025-06-17 12:17:41 +08:00
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 ';
2024-12-14 17:23:12 +08:00
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) + '''';
2025-01-14 16:18:44 +08:00
if Trim(canshu4) <> '' then
SqlStr := SqlStr + ' and isnull(StkCoName,'''')=''' + Trim(canshu4) + '''';
2025-03-06 16:38:54 +08:00
2025-06-17 12:17:41 +08:00
SqlStr := SqlStr + ' group by C_Code,C_Name,C_Color,C_ColorNo,C_Degree,C_Pattern,QtyUnit,StkPosition';
2025-03-06 16:38:54 +08:00
2025-03-06 17:34:17 +08:00
// ShowMessage(SqlStr);
2025-03-06 16:38:54 +08:00
InitCDSData(ADO_2, CDS_2, Tv2, SqlStr, SGetFilters(Panel1, 1, 2), 'C_Code');
2024-12-14 17:23:12 +08:00
end;
2025-03-06 16:38:54 +08:00
procedure TfrmTradeClothTotalStkList.InitGrid1();
var
SqlStr, WSqlStr: string;
2024-12-14 17:23:12 +08:00
begin
2025-03-06 16:38:54 +08:00
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');
2024-12-14 17:23:12 +08:00
end;
2025-03-06 16:38:54 +08:00
procedure TfrmTradeClothTotalStkList.TBRafreshClick(Sender: TObject);
2024-12-14 17:23:12 +08:00
begin
2025-03-06 16:38:54 +08:00
InitGrid2();
2024-12-14 17:23:12 +08:00
end;
procedure TfrmTradeClothTotalStkList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeClothTotalStkList.FormShow(Sender: TObject);
begin
inherited;
2025-03-06 17:34:17 +08:00
ReadCxGrid(trim(Self.Caption) + 'Tv1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
ReadCxGrid(trim(Self.Caption) + 'Tv2', Tv2, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
2025-01-14 16:18:44 +08:00
canshu4 := Trim(self.fParameters4);
2025-03-06 17:34:17 +08:00
InitGrid2();
2024-12-14 17:23:12 +08:00
end;
procedure TfrmTradeClothTotalStkList.FromCoNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
2025-03-06 17:34:17 +08:00
TBFind.Click;
2024-12-14 17:23:12 +08:00
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
2025-03-06 16:38:54 +08:00
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"}') + '" }');
end;
1:
begin
CDSDataFilter(ADO_1, CDS_1, Tv1, '{"FilterStr":"' + CommonFiltersByContainer(Panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": ""}') + '" }');
end;
2024-12-14 17:23:12 +08:00
end;
2025-03-06 16:38:54 +08:00
2024-12-14 17:23:12 +08:00
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
2025-03-06 17:34:17 +08:00
WriteCxGrid(trim(Self.Caption) + 'Tv1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
WriteCxGrid(trim(Self.Caption) + 'Tv2', Tv2, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
2024-12-14 17:23:12 +08:00
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;
2025-03-06 16:38:54 +08:00
procedure TfrmTradeClothTotalStkList.TV2DblClick(Sender: TObject);
begin
cxPageControl1.ActivePageIndex := 1;
2025-03-06 17:34:17 +08:00
2025-03-06 16:38:54 +08:00
end;
2024-12-14 17:23:12 +08:00
end.