unit U_CKProductBCPOutListHZ; 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, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxCheckBox, Menus, MovePanel, RM_E_llPDF, cxCalendar, Math, Clipbrd, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmCKProductBCPOutListHZ = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; Label4: TLabel; MPRTCode: TEdit; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; Tv1: TcxGridDBTableView; cxGrid2Level1: TcxGridLevel; cxGrid2: TcxGrid; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; Label5: TLabel; orderNo: TEdit; v1Column7: TcxGridDBColumn; RMXLSExport1: TRMXLSExport; v1Column4: TcxGridDBColumn; Label10: TLabel; CkOrdNo: TEdit; v1Column10: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; MovePanel2: TMovePanel; DS_JuanPRT: TDataSource; cxGridPopupMenu2: TcxGridPopupMenu; Label11: TLabel; v1Column15: TcxGridDBColumn; Label17: TLabel; apid: TEdit; v1Column21: TcxGridDBColumn; begtime: TDateTimePicker; endTime: TDateTimePicker; ADOQueryPrint: TADOQuery; RMDB_Main: TRMDBDataSet; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; RM3: TRMGridReport; v1Column24: TcxGridDBColumn; RMDBPRT: TRMDBDataSet; CDS_PRT: TClientDataSet; Label22: TLabel; CustomerNOName: TEdit; Label24: TLabel; PRTColor: TEdit; C_GANGNO: TEdit; v1Column13: TcxGridDBColumn; CRType: TComboBox; Label7: TLabel; ywy: TEdit; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; ISCRTime: TCheckBox; Tv1Column2: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure orderNoKeyPress(Sender: TObject; var Key: Char); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure CPTypeChange(Sender: TObject); procedure CRTypeChange(Sender: TObject); procedure edtSMNOKeyPress(Sender: TObject; var Key: Char); procedure FormDestroy(Sender: TObject); procedure ISCRTimeClick(Sender: TObject); private FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); { Private declarations } public canshu1: string; { Public declarations } end; var frmCKProductBCPOutListHZ: TfrmCKProductBCPOutListHZ; implementation uses U_DataLink, U_Fun, U_SysLogHelp; {$R *.dfm} procedure TfrmCKProductBCPOutListHZ.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCKProductBCPOutListHZ.FormCreate(Sender: TObject); begin EndDate.DateTime := SGetServerDateTime(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 20; end; procedure TfrmCKProductBCPOutListHZ.InitGrid(); var fwhere, Pwhere: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; Pwhere := SGetFilters(Panel1, 1, 2); if trim(Pwhere) <> '' then fwhere := fwhere + ' and ' + trim(Pwhere); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; // sql.Add(' select AAA.* from ( '); // sql.Add(' select AA.* '); // sql.Add(' ,B.orderNo,B.MPRTCodeName,B.MPRTCode,B.MPRTMF,B.MPRTKZ,B.conNo,B.KHconNo,B.lidan,B.ywy '); // sql.Add(' ,C.PRTColor,C.PRTEColor,D.CustomerNOName,D.CRTYPE'); // // sql.Add(' from ( '); // sql.Add(' select count(A.MJID) PS,SUM(A.NETKGQty) NETKGQty,SUM(A.KGQty) KGQty, SUM(A.Qty) Qty,A.CKOrdNo,A.MainId,A.SubId,A.QtyUnit,A.APID ,A.ganghao,A.kuanhao '); // SQL.Add(',CKDATE=convert(varchar(10),CRTIME,120)'); // sql.Add(' from CK_BanCP_CR A '); // sql.Add(' where a.CRFlag=''出库'' '); // sql.Add(' and convert(varchar(10),CRTIME,120)>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))); // sql.Add(' and convert(varchar(10),CRTIME,120)<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1))); //D.KHNmae,D.CKDate,D.CKType // sql.Add(' GROUP BY A.CKOrdNo,A.MainId,A.SubId,A.QtyUnit,A.kuanhao ,A.ganghao,convert(varchar(10),CRTIME,120) ,A.APID ) AA '); // sql.Add(' left join JYOrder_Main B on AA.MainId=B.MainId inner join JYOrder_Sub C on AA.SubId=C.SubId left join FHSQ_Main D ON AA.CKOrdNo=D.FSID '); // sql.Add(' ) AAA '); sql.Add('select count(mjid)ps,SUM(NETKGQty) NETKGQty,SUM(KGQty) KGQty, SUM(Qty) Qty ,CKDate'); SQL.Add(',WLCODE=(SELECT WLCODE FROM JYORDER_SUB g where g.subid=(select ORDSubIdCK from ck_sxpb_cr h where h.spid=aa.apid ))'); sql.Add(',orderNo,MPRTCode,YWY,PRTColor,CustomerNOName,CRTYPE,CKOrdNo,C_GANGNO,C_KUWEI,APID,QTYUNIT from ('); sql.Add('select convert(varchar(10),CRTIME,120)CKDate,a.CKOrdNo,b.mjid,C_GANGNO ,C_KUWEI,QTYUNIT'); sql.Add(',ISNULL(C_ORDERNO,C.orderNo)orderNo,ISNULL(C_CODE,MPRTCode)MPRTCode,ISNULL(C_YWY,C.ywy)YWY,C_COLOR AS PRTColor,ISNULL(e.CustomerNoName,'); sql.Add('C_KHNAME)CustomerNOName,A.CRTYPE,NETKGQty,KGQty,Qty,a.APID from CK_BanCP_CR A'); sql.Add('inner join CK_BanCP_KC B ON A.MJID=B.MJID LEFT JOIN JYOrder_Main C ON A.MAINID= C.MAINID'); sql.Add('left join FHSQ_Sub D ON D.MJID=A.MJID and d.fsid=a.CKOrdNo left join FHSQ_Main e on e.fsid=d.fsid'); sql.Add('where CRFlag=''出库'' and e.SQType<>''调样'''); if ISCRTime.Checked = True then begin sql.Add(' and convert(varchar(10),CRTIME,120)>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))); sql.Add(' and convert(varchar(10),CRTIME,120)<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1))); end; sql.Add(') aa where 1=1'); sql.Add(fwhere); sql.Add('group by orderNo,MPRTCode,YWY,PRTColor,CustomerNOName,CRTYPE,CKOrdNo,C_GANGNO,QTYUNIT,CKDate,C_KUWEI,APID'); // SQL.Add('ORDER BY CKDate DESC'); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; end; end; procedure TfrmCKProductBCPOutListHZ.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCKProductBCPOutListHZ.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmCKProductBCPOutListHZ.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '成品仓库'); Close; end; procedure TfrmCKProductBCPOutListHZ.FormShow(Sender: TObject); var fsj: string; begin // ReadCxGrid(trim(self.Caption), Tv1, '成品仓库'); fsj := ' select distinct (crtype) name from CK_BanCP_CR where crflag=''出库'' AND crtype<>''样品出库'' ORDER BY crtype'; SInitComBoxBySql(ADOQueryCmd, CRType, False, fsj); end; procedure TfrmCKProductBCPOutListHZ.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; SelExportData(Tv1, ADOQueryMain, ''); end; procedure TfrmCKProductBCPOutListHZ.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmCKProductBCPOutListHZ.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmCKProductBCPOutListHZ.orderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmCKProductBCPOutListHZ.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmCKProductBCPOutListHZ.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmCKProductBCPOutListHZ.CPTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPOutListHZ.CRTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPOutListHZ.edtSMNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin end; end; procedure TfrmCKProductBCPOutListHZ.FormDestroy(Sender: TObject); begin frmCKProductBCPOutListHZ := nil; end; procedure TfrmCKProductBCPOutListHZ.ISCRTimeClick(Sender: TObject); begin InitGrid(); end; end.