D7szYidui/基础资料(BaseInfo.dll)/U_ShaKCHZListJWL_Sel.pas
DESKTOP-E401PHE\Administrator ef99fc8b5e 移交
2025-07-19 09:32:10 +08:00

223 lines
7.3 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_ShaKCHZListJWL_Sel;
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, Clipbrd,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;
type
TfrmShaKCHZListJWL = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v2Column1: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label3: TLabel;
CPCode: TEdit;
ToolButton2: TToolButton;
v1Column17: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
Label9: TLabel;
CPName: TEdit;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxStyle3: TcxStyle;
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 FactoryNameChange(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmShaKCHZListJWL: TfrmShaKCHZListJWL;
implementation
uses
U_DataLink, U_RTFun, U_ShaKCListJWL;
{$R *.dfm}
procedure TfrmShaKCHZListJWL.FormDestroy(Sender: TObject);
begin
frmShaKCHZListJWL := nil;
end;
procedure TfrmShaKCHZListJWL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmShaKCHZListJWL.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* from ( ');
sql.Add(' SELECT CPCode,CPName ');
sql.Add(' ,KCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR X ');
sql.Add(' where A.CPCode=X.CPCode and A.CPName = X.CPName) ');
sql.Add(' ,KCPS=(select sum(isnull(piqty,0)*CRQtyFlag) from CK_SXPB_CR X ');
sql.Add(' where A.CPCode=X.CPCode and A.CPName = X.CPName) ');
sql.Add(' ,CKQty=(select sum(isnull(Qty,0)) from CK_SXPB_CR X ');
sql.Add(' where A.CPCode=X.CPCode and A.CPName = X.CPName and X.CRFlag= ''<27><><EFBFBD><EFBFBD>'' and CONVERT(VARCHAR(10),X.CRTime,120) =CONVERT(VARCHAR(10),GETDATE(),120)) ');
sql.Add(' ,CKPS=(select sum(isnull(piqty,0)) from CK_SXPB_CR X ');
sql.Add(' where A.CPCode=X.CPCode and A.CPName = X.CPName and X.CRFlag= ''<27><><EFBFBD><EFBFBD>'' and CONVERT(VARCHAR(10),X.CRTime,120) =CONVERT(VARCHAR(10),GETDATE(),120)) ');
sql.Add(' ,RKQty=(select sum(isnull(Qty,0)) from CK_SXPB_CR X ');
sql.Add(' where A.CPCode=X.CPCode and A.CPName = X.CPName and X.CRFlag= ''<27><><EFBFBD><EFBFBD>'' and CONVERT(VARCHAR(10),X.CRTime,120) =CONVERT(VARCHAR(10),GETDATE(),120)) ');
sql.Add(' ,RKPS=(select sum(isnull(piqty,0)) from CK_SXPB_CR X ');
sql.Add(' where A.CPCode=X.CPCode and A.CPName = X.CPName and X.CRFlag= ''<27><><EFBFBD><EFBFBD>'' and CONVERT(VARCHAR(10),X.CRTime,120) =CONVERT(VARCHAR(10),GETDATE(),120)) ');
sql.Add(' ,RKJT=(select COUNT (DISTINCT SJCarNo) from CK_SXPB_CR X ');
sql.Add(' where A.CPCode=X.CPCode and A.CPName = X.CPName and X.CRFlag= ''<27><><EFBFBD><EFBFBD>'' and CONVERT(VARCHAR(10),X.CRTime,120) =CONVERT(VARCHAR(10),GETDATE(),120)) ');
sql.Add(' FROM CK_SXPB_CR A ');
sql.Add(' WHERE A.CRFlag= ''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' GROUP BY CPCode,CPName ');
sql.Add(' )A where KCQty > 0 ');
ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmShaKCHZListJWL.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmShaKCHZListJWL.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmShaKCHZListJWL.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>11', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ϲֿ<CFB2>');
Close;
end;
procedure TfrmShaKCHZListJWL.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>11', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ϲֿ<CFB2>');
InitGrid();
end;
procedure TfrmShaKCHZListJWL.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmShaKCHZListJWL.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmShaKCHZListJWL.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmShaKCHZListJWL.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmShaKCHZListJWL.SXBatchNOChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmShaKCHZListJWL.FactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmShaKCHZListJWL.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
try
frmShaKCListJWL := TfrmShaKCListJWL.Create(Application);
with frmShaKCListJWL do
begin
frmShaKCListJWL.Align := alClient;
FDYFlag := '99';
frmShaKCListJWL.SPName.Text := Trim(Self.CDS_Main.fieldbyname('SPName').AsString);
frmShaKCListJWL.SPSpec.Text := Trim(Self.CDS_Main.fieldbyname('SPSpec').AsString);
frmShaKCListJWL.BatchNo.Text := Trim(Self.CDS_Main.fieldbyname('BatchNo').AsString);
frmShaKCListJWL.SXPinPai.Text := Trim(Self.CDS_Main.fieldbyname('SXPinPai').AsString);
frmShaKCListJWL.QtyUnit.Text := Trim(Self.CDS_Main.fieldbyname('QtyUnit').AsString);
if ShowModal = 1 then
begin
end;
end;
finally
frmShaKCListJWL.Free;
end;
end;
procedure TfrmShaKCHZListJWL.ToolButton2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
end.