unit U_CKProductBCPinListHZ; 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, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter; type TfrmCKProductBCPinListHZ = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; MPRTCodeName: TEdit; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; Tv1: TcxGridDBTableView; cxGrid2Level1: TcxGridLevel; cxGrid2: TcxGrid; v2Column1: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; Label5: TLabel; orderNo: TEdit; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; RMXLSExport1: TRMXLSExport; v1Column4: TcxGridDBColumn; Label10: TLabel; RKOrdID: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; MovePanel2: TMovePanel; DS_JuanPRT: TDataSource; cxGridPopupMenu2: TcxGridPopupMenu; v1Column15: TcxGridDBColumn; v1Column19: TcxGridDBColumn; conNo: TEdit; Label15: TLabel; begtime: TDateTimePicker; endTime: TDateTimePicker; ADOQueryPrint: TADOQuery; RMDB_Main: TRMDBDataSet; v1Column24: TcxGridDBColumn; Label1: TLabel; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column12: TcxGridDBColumn; ToolButton1: TToolButton; ComboBox1: TComboBox; CDS_Label: TClientDataSet; v1Column14: TcxGridDBColumn; Label9: TLabel; MPRTCode: TEdit; ToolButton2: TToolButton; v1Column1: TcxGridDBColumn; ADOQuery1: TADOQuery; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; RM1: TRMGridReport; 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 ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); private FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); procedure PrintMD(MStatus: string); { Private declarations } public canshu1: string; { Public declarations } end; var frmCKProductBCPinListHZ: TfrmCKProductBCPinListHZ; implementation uses U_DataLink, U_Fun, U_SysLogHelp, U_CKProductBCPinListHZFS; {$R *.dfm} procedure TfrmCKProductBCPinListHZ.PrintMD(MStatus: string); var fImagePath2, fPrintFile, fPrintFile10, FMainID, FKHName, FFPNo: string; begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; ExportFtErpFile(trim(ComboBox1.Text) + '.rmf', ADOQueryTemp); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete TBSubID where DName=''' + Trim(DCode) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('SELECT * FROM TBSubID where 1=2 '); open; end; FMainID := ''; CDS_Main.DisableControls; try ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin ADOQueryCmd.append; ADOQueryCmd.fieldbyname('SubId').Value := Trim(CDS_Main.fieldbyname('RKOrdID').AsString); ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode); ADOQueryCmd.post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; end; CDS_Main.EnableControls; if CDS_Label.Locate('LMName', trim(ComboBox1.Text), []) then begin with ADOQueryPrint do begin Close; sql.Clear; sql.add('exec ' + trim(CDS_Label.fieldbyname('LMSql').AsString) + ' @ckordno=' + quotedstr(Trim(DCode))); Open; end; SCreateCDS20(ADOQueryPrint, CDS_PRT); SInitCDSData20(ADOQueryPrint, CDS_PRT); if ComboBox1.Text = '印花竖码单(米重量)' then begin with ADOQueryPrint do begin Close; sql.Clear; sql.add('exec P_Print_CKMD_DXHZ3 @code=' + quotedstr(Trim(DCode))); Open; end; SCreateCDS20(ADOQueryPrint, CDS_HZ); SInitCDSData20(ADOQueryPrint, CDS_HZ); end else begin with ADOQueryPrint do begin Close; sql.Clear; sql.add('exec P_Print_CKMD_DXHZ @code=' + quotedstr(Trim(DCode))); Open; end; SCreateCDS20(ADOQueryPrint, CDS_HZ); SInitCDSData20(ADOQueryPrint, CDS_HZ); end; end; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ComboBox1.Text) + '.rmf'; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); end; end; procedure TfrmCKProductBCPinListHZ.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCKProductBCPinListHZ.FormCreate(Sender: TObject); begin EndDate.DateTime := SGetServerDateTime(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 20; end; procedure TfrmCKProductBCPinListHZ.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 + ' where ' + trim(Pwhere); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add(' select AAA.* '); sql.Add(' from ( '); sql.Add(' select AA.* '); sql.Add(' ,B.orderNo,B.MPRTCode,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ,B.conNo,B.KHconNo,B.lidan,B.ywy '); sql.Add(' from ( '); sql.Add(' select count(A.MJID) PS,SUM(A.NETKGQty) NETKGQty,SUM(A.KGQty) KGQty, SUM(A.Qty) Qty, SUM(A.MJYLen) MJYLen,A.RKOrdID,A.MainId,KuangHao '); sql.Add(' , CRTime,A.CRType ,bs=(select COUNT(DISTINCT BAOID) FROM CK_BanCP_CR D WHERE D.MAINID=A.MAINID'); SQL.Add(' AND A.RKOrdID=D.RKOrdID AND convert(varchar(10),A.CRTime,120)=convert(varchar(10),D.CRTime,120)AND D.CRFlag=''入库'''); SQL.Add(' AND A.CRType=D.CRType )'); sql.Add(' from CK_BanCP_CR A '); sql.Add(' where A.CRFlag=''入库'' '); sql.Add(' and A.CRTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))); sql.Add(' and A.CRTime<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1))); sql.Add(' GROUP BY A.RKOrdID,A.MainId ,crtime,A.CRType,KuangHao ) AA '); sql.Add(' inner join JYOrder_Main B on AA.MainId=B.MainId '); sql.Add(' ) AAA '); sql.Add(fwhere); SQL.ADD('ORDER BY CRTIME 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 TfrmCKProductBCPinListHZ.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCKProductBCPinListHZ.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmCKProductBCPinListHZ.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '成品仓库'); Close; end; procedure TfrmCKProductBCPinListHZ.FormShow(Sender: TObject); var fsj: string; begin ReadCxGrid(trim(self.Caption), Tv1, '成品仓库'); fsj := 'select distinct(LMName) name from Lbael_Map where LMType=''入库码单汇总'' '; SInitComBoxBySql(ADOQueryCmd, ComboBox1, true, fsj); with ADOQueryTemp do begin Filtered := False; Close; sql.Clear; Sql.Add('select * from Lbael_Map where LMType=''入库码单汇总'''); Open; end; SCreateCDS20(ADOQueryTemp, CDS_Label); SInitCDSData20(ADOQueryTemp, CDS_Label); end; procedure TfrmCKProductBCPinListHZ.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; SelExportData(Tv1, ADOQueryMain, ''); end; procedure TfrmCKProductBCPinListHZ.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmCKProductBCPinListHZ.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmCKProductBCPinListHZ.orderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmCKProductBCPinListHZ.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin try frmCKProductBCPinListHZFS := TfrmCKProductBCPinListHZFS.Create(Application); with frmCKProductBCPinListHZFS do begin FCKOrdNo := Self.CDS_Main.fieldbyname('RKOrdID').AsString; if ShowModal = 1 then begin InitGrid(); end; end; finally frmCKProductBCPinListHZFS.Free; end; end; procedure TfrmCKProductBCPinListHZ.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmCKProductBCPinListHZ.CPTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPinListHZ.CRTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPinListHZ.edtSMNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin end; end; procedure TfrmCKProductBCPinListHZ.FormDestroy(Sender: TObject); begin frmCKProductBCPinListHZ := nil; end; procedure TfrmCKProductBCPinListHZ.ToolButton1Click(Sender: TObject); begin PrintMD('Report'); end; procedure TfrmCKProductBCPinListHZ.ToolButton2Click(Sender: TObject); begin PrintMD('Excel'); end; end.