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

311 lines
9.2 KiB
ObjectPascal
Raw Permalink Normal View History

2024-12-14 17:23:12 +08:00
unit U_TradeTotallClothStkSel;
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,
2025-03-06 17:34:17 +08:00
dxScrollbarAnnotations, cxContainer, dxSkinsCore, dxSkinsDefaultPainters, cxPC;
2024-12-14 17:23:12 +08:00
type
TfrmTradeTotallClothStkSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
2025-03-06 17:34:17 +08:00
ADO_1: TADOQuery;
2024-12-14 17:23:12 +08:00
ADOQueryTemp: TADOQuery;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Label3: TLabel;
Label4: TLabel;
C_name: TcxTextEdit;
FromCoName: TcxTextEdit;
2025-03-06 17:34:17 +08:00
GPM_1: TcxGridPopupMenu;
CDS_1: TClientDataSet;
DS_1: TDataSource;
cxPageControl1: TcxPageControl;
cxTabSheet1: TcxTabSheet;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn24: TcxGridDBColumn;
cxGridDBColumn26: TcxGridDBColumn;
cxGridDBColumn28: TcxGridDBColumn;
cxGridDBColumn29: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxTabSheet2: TcxTabSheet;
2024-12-14 17:23:12 +08:00
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
2025-03-06 17:34:17 +08:00
Tv1Column33: TcxGridDBColumn;
2024-12-14 17:23:12 +08:00
Tv1Column13: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
2025-03-06 17:34:17 +08:00
Tv1Column6: TcxGridDBColumn;
2024-12-14 17:23:12 +08:00
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column11: 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;
Tv1Column29: TcxGridDBColumn;
Tv1Column30: TcxGridDBColumn;
Tv1Column31: TcxGridDBColumn;
Tv1Column32: TcxGridDBColumn;
Tv1Column36: TcxGridDBColumn;
2025-03-06 17:34:17 +08:00
Tv1Column39: TcxGridDBColumn;
Tv1Column40: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
GPM_2: TcxGridPopupMenu;
CDS_2: TClientDataSet;
DS_2: TDataSource;
ADO_2: TADOQuery;
Label5: TLabel;
Label6: TLabel;
C_Color: TcxTextEdit;
C_ColorNo: TcxTextEdit;
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 N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure FromCoNameKeyPress(Sender: TObject; var Key: Char);
2025-03-06 17:34:17 +08:00
procedure TV2DblClick(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
2024-12-14 17:23:12 +08:00
private
procedure InitGrid();
2025-03-06 17:34:17 +08:00
procedure InitGrid1();
procedure InitGrid2();
2024-12-14 17:23:12 +08:00
{ Private declarations }
public
FstkName, FC_Degree, FStkIdS: string;
{ Public declarations }
end;
var
frmTradeTotallClothStkSel: TfrmTradeTotallClothStkSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmTradeTotallClothStkSel.FormDestroy(Sender: TObject);
begin
inherited;
frmTradeTotallClothStkSel := nil;
end;
2025-03-06 17:34:17 +08:00
procedure TfrmTradeTotallClothStkSel.cxPageControl1Change(Sender: TObject);
begin
case cxPageControl1.ActivePageIndex of
1:
begin
InitGrid1();
end;
end;
end;
2024-12-14 17:23:12 +08:00
procedure TfrmTradeTotallClothStkSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := cahide;
end;
procedure TfrmTradeTotallClothStkSel.InitGrid();
2025-03-06 17:34:17 +08:00
begin
case cxPageControl1.ActivePageIndex of
0:
begin
InitGrid2();
end;
1:
begin
InitGrid1();
end;
end;
end;
procedure TfrmTradeTotallClothStkSel.InitGrid1();
2024-12-14 17:23:12 +08:00
var
2025-03-06 17:34:17 +08:00
SqlStr, WSqlStr: string;
2024-12-14 17:23:12 +08:00
begin
2025-03-06 17:34:17 +08:00
SqlStr := ' select A.*,StkPieceint=CEILING(A.StkPiece) ';
SqlStr := SqlStr + ' from BS_Cloth_IO A ';
2024-12-14 17:23:12 +08:00
SqlStr := SqlStr + ' where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) ';
2025-03-06 17:34:17 +08:00
SqlStr := SqlStr + ' and isnull(stkName,'''')=''' + Trim(FstkName) + '''';
2024-12-14 17:23:12 +08:00
if Trim(FStkIdS) <> '' then
SqlStr := SqlStr + ' and not EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + Quotedstr(FStkIdS) + ','','') SP where SP.RTValue=A.BCIOID ) ';
if FC_Degree <> '' then
SqlStr := SqlStr + ' and isnull(C_Degree,'''')=''' + Trim(FC_Degree) + '''';
2025-03-06 17:34:17 +08:00
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;
2024-12-14 17:23:12 +08:00
SqlStr := SqlStr + ' order by IOTime desc';
2025-03-06 17:34:17 +08:00
InitCDSData(ADO_1, CDS_1, Tv1, SqlStr, SGetFilters(Panel1, 1, 2), 'BCIOID');
2024-12-14 17:23:12 +08:00
end;
2025-03-06 17:34:17 +08:00
procedure TfrmTradeTotallClothStkSel.InitGrid2();
var
SqlStr, WSqlStr: string;
2024-12-14 17:23:12 +08:00
begin
2025-03-06 17:34:17 +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 ';
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(FStkIdS) <> '' then
SqlStr := SqlStr + ' and not EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + Quotedstr(FStkIdS) + ','','') SP where SP.RTValue=A.BCIOID ) ';
if FC_Degree <> '' then
SqlStr := SqlStr + ' and isnull(C_Degree,'''')=''' + Trim(FC_Degree) + '''';
SqlStr := SqlStr + ' group by C_Code,C_Name,C_Color,C_ColorNo,C_Degree,C_Pattern,QtyUnit';
// ShowMessage(SqlStr);
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 17:34:17 +08:00
procedure TfrmTradeTotallClothStkSel.TBRafreshClick(Sender: TObject);
2024-12-14 17:23:12 +08:00
begin
2025-03-06 17:34:17 +08:00
InitGrid2();
2024-12-14 17:23:12 +08:00
end;
procedure TfrmTradeTotallClothStkSel.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeTotallClothStkSel.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(self.Caption), Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
2025-03-06 17:34:17 +08:00
InitGrid2();
2024-12-14 17:23:12 +08:00
end;
procedure TfrmTradeTotallClothStkSel.FromCoNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
2025-03-06 17:34:17 +08:00
TBFind.Click;
2024-12-14 17:23:12 +08:00
end;
end;
procedure TfrmTradeTotallClothStkSel.TBFindClick(Sender: TObject);
begin
2025-03-06 17:34:17 +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;
end;
procedure TfrmTradeTotallClothStkSel.N1Click(Sender: TObject);
begin
SelOKNo(CDS_1, True);
end;
procedure TfrmTradeTotallClothStkSel.N2Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
procedure TfrmTradeTotallClothStkSel.ToolButton1Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
ModalResult := 1;
end;
procedure TfrmTradeTotallClothStkSel.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
end;
procedure TfrmTradeTotallClothStkSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult := 1;
end;
2025-03-06 17:34:17 +08:00
procedure TfrmTradeTotallClothStkSel.TV2DblClick(Sender: TObject);
begin
cxPageControl1.ActivePageIndex := 1;
end;
2024-12-14 17:23:12 +08:00
end.