unit U_ShaKCHZList; 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; type TfrmShaKCHZList = 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; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label8: TLabel; SPName: TEdit; SPSpec: TEdit; ToolButton2: TToolButton; v1Column17: TcxGridDBColumn; v1Column10: TcxGridDBColumn; Label2: TLabel; BatchNo: TEdit; v1Column19: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column22: TcxGridDBColumn; v1Column23: TcxGridDBColumn; Label9: TLabel; SXPinPai: TEdit; Label1: TLabel; SPNameGYS: TEdit; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; Label4: TLabel; SPColor: TEdit; ToolButton1: TToolButton; RM1: TRMGridReport; RMXLSExport1: TRMXLSExport; RMDBMain: TRMDBDataSet; v1Column3: TcxGridDBColumn; ToolButton3: TToolButton; ADOQueryPrint: TADOQuery; 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); procedure ToolButton1Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); private procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmShaKCHZList: TfrmShaKCHZList; implementation uses U_DataLink, U_RTFun, U_SXCKInPut, U_ShaOutList, U_ShaKCList; {$R *.dfm} procedure TfrmShaKCHZList.FormDestroy(Sender: TObject); begin frmShaKCHZList := nil; end; procedure TfrmShaKCHZList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmShaKCHZList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select FactoryName,SPName,SPSpec,BatchNo,SXPinPai,SPNameGYS,SPColor'); sql.Add(' ,RKPiQty=Sum(isnull(PiQty,0)),RKQty=Sum(isnull(Qty,0))'); sql.Add(' ,KCPiQty=Sum(isnull(MXKCPiQty,0)),KCQty=Sum(isnull(MXKCQty,0))'); sql.Add(' ,CKPiQty=Sum(isnull(PiQty,0))-Sum(isnull(MXKCPiQty,0)),CKQty=Sum(isnull(Qty,0))-Sum(isnull(MXKCQty,0))'); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''纱线'' '); SQL.Add(' and A.CRFlag=''入库'' and MXKCQty>0 and ZFFlag=0 '); SQL.Add(' Group by FactoryName,SPName,SPSpec,BatchNo,SXPinPai,SPNameGYS,SPColor'); Open; // ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmShaKCHZList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmShaKCHZList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmShaKCHZList.TBCloseClick(Sender: TObject); begin WriteCxGrid('纱线库存汇总列表', Tv1, '纱线仓库'); Close; end; procedure TfrmShaKCHZList.FormShow(Sender: TObject); begin ReadCxGrid('纱线库存汇总列表', Tv1, '纱线仓库'); //InitGrid(); end; procedure TfrmShaKCHZList.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 TfrmShaKCHZList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCHZList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmShaKCHZList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmShaKCHZList.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCHZList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCHZList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin try frmShaKCList := TfrmShaKCList.Create(Application); with frmShaKCList do begin frmShaKCList.Align := alClient; FDYFlag := '99'; frmShaKCList.SPName.Text := Trim(Self.CDS_Main.fieldbyname('SPName').AsString); frmShaKCList.SPSpec.Text := Trim(Self.CDS_Main.fieldbyname('SPSpec').AsString); frmShaKCList.BatchNo.Text := Trim(Self.CDS_Main.fieldbyname('BatchNo').AsString); frmShaKCList.SXPinPai.Text := Trim(Self.CDS_Main.fieldbyname('SXPinPai').AsString); if ShowModal = 1 then begin end; end; finally frmShaKCList.Free; end; end; procedure TfrmShaKCHZList.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then exit; TcxGridToExcel('纱线库存汇总列表', cxGrid2); end; procedure TfrmShaKCHZList.ToolButton1Click(Sender: TObject); var filepath: string; begin try filepath := ExtractFilePath(Application.ExeName) + 'report\纱线库存报表.rmf'; with ADOQueryPrint do begin Close; sql.Clear; sql.Add(' select FactoryName,SPName,SPSpec,BatchNo,SXPinPai,SPNameGYS,SPColor'); sql.Add(' ,RKPiQty=Sum(isnull(PiQty,0)),RKQty=Sum(isnull(Qty,0))'); sql.Add(' ,KCPiQty=Sum(isnull(MXKCPiQty,0)),KCQty=Sum(isnull(MXKCQty,0))'); sql.Add(' ,CKPiQty=Sum(isnull(PiQty,0))-Sum(isnull(MXKCPiQty,0)),CKQty=Sum(isnull(Qty,0))-Sum(isnull(MXKCQty,0))'); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''纱线'' '); SQL.Add(' and A.CRFlag=''入库'' and MXKCQty>0 and ZFFlag=0 '); SQL.Add(' Group by FactoryName,SPName,SPSpec,BatchNo,SXPinPai,SPNameGYS,SPColor'); Open; end; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('文件[' + filepath + ']不存在!'), '提示信息', MB_IConError); exit; end; RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; procedure TfrmShaKCHZList.ToolButton3Click(Sender: TObject); var filepath: string; begin try filepath := ExtractFilePath(Application.ExeName) + 'report\纱线汇总报表.rmf'; with ADOQueryPrint do begin Close; sql.Clear; sql.Add(' select FactoryName,SPName,SPSpec'); sql.Add(' ,KCPiQty=Sum(isnull(MXKCPiQty,0)),KCQty=Sum(isnull(MXKCQty,0))'); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''纱线'' '); SQL.Add(' and A.CRFlag=''入库'' and MXKCQty>0 and ZFFlag=0 '); SQL.Add(' Group by FactoryName,SPName,SPSpec'); Open; end; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('文件[' + filepath + ']不存在!'), '提示信息', MB_IConError); exit; end; RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; end.