unit U_CHListsel2; 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, cxPC, BtnEdit, cxSplitter, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, MovePanel, cxCalc, Registry; type TfrmCHListsel2 = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ClientDataSet1: TClientDataSet; Label6: TLabel; A4FPNO: TEdit; cxGridPopupMenu2: TcxGridPopupMenu; DataSource2: TDataSource; ClientDataSet2: TClientDataSet; Label5: TLabel; GCNAME: TEdit; Label8: TLabel; KHName: TEdit; RMXLSExport1: TRMXLSExport; CDS_Print: TClientDataSet; RM1: TRMGridReport; RMDBDataSet1: TRMDBDataSet; ADOQueryPrint: TADOQuery; Label2: TLabel; YWY: TEdit; cxGrid2: TcxGrid; TV1: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; tv2Column1: TcxGridDBColumn; tv2Column2: TcxGridDBColumn; tv2Column5: TcxGridDBColumn; tv2Column6: TcxGridDBColumn; TV1Column7: TcxGridDBColumn; TV1Column8: TcxGridDBColumn; TV1Column9: TcxGridDBColumn; TV1Column10: TcxGridDBColumn; TV1Column11: TcxGridDBColumn; TV1Column12: TcxGridDBColumn; TV1Column13: TcxGridDBColumn; TV1Column14: TcxGridDBColumn; Label4: TLabel; Zorderno: TEdit; TV1Column15: TcxGridDBColumn; TV1Column2: TcxGridDBColumn; ComboBox1: TComboBox; ToolButton1: TToolButton; TV1Column1: TcxGridDBColumn; Label1: TLabel; TV1Column3: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); 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 TBFindClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure CRTypeChange(Sender: TObject); procedure A4FPNOKeyPress(Sender: TObject; var Key: Char); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure GCNAMEKeyPress(Sender: TObject; var Key: Char); procedure KHNameKeyPress(Sender: TObject; var Key: Char); procedure TBBGZLClick(Sender: TObject); procedure TBHTClick(Sender: TObject); procedure TBFPClick(Sender: TObject); procedure TBZXDClick(Sender: TObject); procedure TBBGDClick(Sender: TObject); procedure TBSBYSClick(Sender: TObject); procedure TBAllClick(Sender: TObject); procedure YWYChange(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure huodaiBtnClick(Sender: TObject); procedure B7DaoHuoGangBtnClick(Sender: TObject); procedure BtnEditA1BtnClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure ZordernoKeyPress(Sender: TObject; var Key: Char); procedure TV1DblClick(Sender: TObject); procedure TV1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); private canshu2: string; FDate: TDateTime; procedure InitGrid(); function DelData(): Boolean; procedure InitSubGrid(); procedure InitGridSql(var fsj: string); function GetShellFolders(strDir: string): string; procedure InitPrtData(); { Private declarations } public canshu1: string; { Public declarations } end; var frmCHListsel2: tfrmCHListsel2; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_Fun; {$R *.dfm} function TfrmCHListsel2.GetShellFolders(strDir: string): string; const regPath = '\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders'; var Reg: TRegistry; strFolders: string; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey(regPath, false) then begin strFolders := Reg.ReadString(strDir); end; finally Reg.Free; end; result := strFolders; end; procedure TfrmCHListsel2.FormDestroy(Sender: TObject); begin //frmBaoGuanList:=nil; end; procedure TfrmCHListsel2.FormClose(Sender: TObject; var Action: TCloseAction); begin Application := MainApplication; Action := caFree; end; procedure TfrmCHListsel2.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 90; canshu1 := Trim(DParameters1); canshu2 := Trim(DParameters2); end; procedure TfrmCHListsel2.InitGrid(); var fwhere, Pwhere: string; begin Pwhere := SGetFilters(Panel1, 1, 2); begin if trim(Pwhere) <> '' then fwhere := fwhere + ' and ' + trim(Pwhere); end; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; // SQL.Add('select * from ('); sql.Add('select * from ('); sql.Add('select A.*, '); SQL.Add('ISCONNO=(CASE WHEN (SELECT COUNT(CONNO) FROM JYOrder_Main C Inner join JYOrder_BaoGuan_Sub B ON C.ORDERNO=B.ORDERNO WHERE ISNULL(C.CONNO,'''')<>'''' '); sql.Add('AND A.BGID=B.BGID )>0 THEN 1 ELSE 0 END ) '); sql.Add(',TDShouHuoPerson=(select TDShouHuoPerson from JYOrderCon_TT t where t.dcno=a.dcno )'); sql.Add(',maitou=(select zhumaitou from JYOrderCon_TT t where t.dcno=a.dcno )'); SQL.Add(',ShDAYS=(SELECT top 1 note FROM KH_ZDY k WHERE TYPE =''shfs'' and a.shfs=k.zdyname )'); SQL.Add(',ZORDERNO=cast((select B.ORDERNO+'';'' from JYOrder_BaoGuan_SUB B where B.BGID=A.BGID AND SVALID=''Y'' for xml path('''')) as varchar(200))'); sql.Add(',C4BGQty=(select sum(C4BGQty) from JYOrder_BaoGuan_SUB B where B.BGID=A.BGID AND SVALID=''Y'' )'); sql.Add(',C5BGUnit=(select top 1 C5BGUnit from JYOrder_BaoGuan_SUB B where B.BGID=A.BGID AND SVALID=''Y'' )'); sql.Add(',C7BGMoney=(select sum(C7BGMoney) from JYOrder_BaoGuan_SUB B where B.BGID=A.BGID AND SVALID=''Y'' )'); SQL.Add(',TOCOUNTRY1=(SELECT TOP 1 ISNULL(note,zdyname) FROM KH_ZDY D WHERE D.ZDYNAME=A.TOCOUNTRY)'); SQL.Add(',BM=(SELECT ISNULL(UDEPT,'''')+USERNAME FROM SY_User C WHERE C.USERNAME=A.FILLER )'); // SQL.Add(',COADDRESS=(select TOP 1 COADDRESS from Company B where cotype=''客户'' and valid=''Y'' AND A.KHNAME=B.CONAME)'); sql.Add(' from JYOrder_BaoGuan_Main A '); sql.Add(' where A.Valid=''Y'' '); SQL.Add('AND bgStatus=''√'''); sql.Add(') aa where 1=1'); sql.Add(fwhere); if ComboBox1.Text = '报关日期' then begin sql.Add(' and bgdate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and bgdate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); SQL.Add('order by bgdate desc'); end else if ComboBox1.Text = '船期' then begin sql.Add(' and chuandate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and chuandate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); SQL.Add('order by chuandate desc '); end else if combobox1.Text = '出货日期' then begin sql.Add(' and htdate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and htdate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); SQL.Add('order by htdate desc'); end; // sql.Add(' ) AA'); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCHListsel2.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmCHListsel2.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmCHListsel2.TBCloseClick(Sender: TObject); begin WriteCxGrid('报关主表' + self.Caption, Tv1, '出货清单'); // WriteCxGrid('报关明细' + self.Caption, Tv2, '报关管理8'); Close; end; procedure TfrmCHListsel2.FormShow(Sender: TObject); begin ReadCxGrid('报关主表' + self.Caption, Tv1, '出货清单'); // ReadCxGrid('报关明细' + self.Caption, Tv2, '报关管理8'); canshu1 := Trim(DParameters1); // ShowMessage(canshu1); InitGrid(); RM1.CanExport := true; end; procedure TfrmCHListsel2.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; // TcxGridToExcel(Trim(CDS_Main.fieldbyname('A4FPNO').AsString) + Trim(CDS_Main.fieldbyname('A5ConNO').AsString), cxGrid1); end; procedure TfrmCHListsel2.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 TfrmCHListsel2.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmCHListsel2.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmCHListsel2.InitSubGrid(); begin if CDS_Main.IsEmpty = False then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from JYOrder_BaoGuan_Sub where BGID=''' + Trim(CDS_Main.fieldbyname('BGID').AsString) + ''''); sql.Add(' and SValid=''Y'' '); Open; end; end else begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from JYOrder_BaoGuan_Sub where 1=2'); Open; end; end; SCreateCDS20(ADOQueryTemp, ClientDataSet2); SInitCDSData20(ADOQueryTemp, ClientDataSet2); end; function TfrmCHListsel2.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; with CDS_Main do begin First; while CDS_Main.Locate('SSel', True, []) do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_BaoGuan_Main Set Valid=''N'',C7BGMoneyHZ=Null,E1BZQtyHZ=Null, E2ChiMaQtyHZ=Null,E3MaoZHZ=Null,E4JingZHZ=Null'); sql.Add(',Editer=''' + Trim(DName) + ''',EditTime=getdate()'); sql.Add(' where BGId=''' + Trim(CDS_Main.fieldbyname('BGId').AsString) + ''''); sql.Add('UPdate JYOrder_BaoGuan_Sub Set SValid=''N'',SEditer=''' + Trim(DName) + ''',SEditTime=getdate() where BGId=''' + Trim(CDS_Main.fieldbyname('BGId').AsString) + ''''); ExecSQL; end; CDS_Main.Delete; end; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Result := True; except CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmCHListsel2.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCHListsel2.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmCHListsel2.CRTypeChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCHListsel2.A4FPNOKeyPress(Sender: TObject; var Key: Char); var fsj: string; begin if Key = #13 then begin if Trim(A4FPNO.Text) = '' then Exit; fsj := ' and isnull(A.A4FPNO,'''') like ''' + '%' + Trim(A4FPNO.Text) + '%' + ''''; InitGridSql(fsj); end; end; procedure TfrmCHListsel2.InitGridSql(var fsj: string); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select A.* '); sql.Add(' from JYOrder_BaoGuan_Main A '); sql.Add(' where 1=1 '); if Trim(canshu1) <> '高权限' then begin SQL.Add(' and FillerCode=''' + Trim(DCode) + ''''); end; sql.Add(fsj); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCHListsel2.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin InitSubGrid(); end; procedure TfrmCHListsel2.GCNAMEKeyPress(Sender: TObject; var Key: Char); var fsj: string; begin // if Key = #13 then // begin // if Trim(A6PONO.Text) = '' then // Exit; // fsj := ' and isnull(A.A6PONO,'''') like ''' + '%' + Trim(A6PONO.Text) + '%' + ''''; // InitGridSql(fsj); // end; end; procedure TfrmCHListsel2.KHNameKeyPress(Sender: TObject; var Key: Char); var fsj: string; begin // if Key = #13 then // begin // if Trim(A5ConNO.Text) = '' then // Exit; // fsj := ' and isnull(A.A5ConNO,'''') like ''' + '%' + Trim(A5ConNO.Text) + '%' + ''''; // InitGridSql(fsj); // end; end; procedure TfrmCHListsel2.InitPrtData(); begin with ADOQueryPrint do begin Close; sql.Clear; sql.Add(' exec P_View_BaoGuanData :BGID '); Parameters.ParamByName('BGID').Value := Trim(CDS_Main.fieldbyname('BGId').AsString); Open; end; SCreateCDS20(ADOQueryPrint, CDS_Print); SInitCDSData20(ADOQueryPrint, CDS_Print); end; procedure TfrmCHListsel2.TBBGZLClick(Sender: TObject); var fPrintFile: string; EngMoney, BZZH, FimageFile: string; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\报关资料.rmf'; InitPrtData(); FimageFile := ExtractFilePath(Application.ExeName) + 'Image\' + Trim(CDS_Print.FieldByName('A1ChuKouShang').AsString) + '.jpg'; RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1); if FileExists(fPrintFile) then begin //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; RMVariables['ImageFile'] := trim(FimageFile); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\报关资料.rmf'), '提示', 0); end; end; procedure TfrmCHListsel2.TBHTClick(Sender: TObject); var fPrintFile: string; EngMoney, BZZH, FimageFile: string; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\报关合同.rmf'; InitPrtData(); FimageFile := ExtractFilePath(Application.ExeName) + 'Image\' + Trim(CDS_Print.FieldByName('A1ChuKouShang').AsString) + '.jpg'; RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1); if FileExists(fPrintFile) then begin //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; RMVariables['ImageFile'] := trim(FimageFile); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\报关合同.rmf'), '提示', 0); end; end; procedure TfrmCHListsel2.TBFPClick(Sender: TObject); var fPrintFile: string; EngMoney, BZZH, FimageFile: string; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\报关发票.rmf'; InitPrtData(); FimageFile := ExtractFilePath(Application.ExeName) + 'Image\' + Trim(CDS_Print.FieldByName('A1ChuKouShang').AsString) + '.jpg'; RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1); if FileExists(fPrintFile) then begin //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; RMVariables['ImageFile'] := trim(FimageFile); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\报关发票.rmf'), '提示', 0); end; end; procedure TfrmCHListsel2.TBZXDClick(Sender: TObject); var fPrintFile: string; EngMoney, BZZH, FimageFile: string; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\报关装箱单.rmf'; InitPrtData(); FimageFile := ExtractFilePath(Application.ExeName) + 'Image\' + Trim(CDS_Print.FieldByName('A1ChuKouShang').AsString) + '.jpg'; RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1); if FileExists(fPrintFile) then begin //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; RMVariables['ImageFile'] := trim(FimageFile); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\报关装箱单.rmf'), '提示', 0); end; end; procedure TfrmCHListsel2.TBBGDClick(Sender: TObject); var fPrintFile: string; EngMoney, BZZH, FimageFile: string; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\报关单.rmf'; InitPrtData(); FimageFile := ExtractFilePath(Application.ExeName) + 'Image\' + Trim(CDS_Print.FieldByName('A1ChuKouShang').AsString) + '.jpg'; RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1); if FileExists(fPrintFile) then begin //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; RMVariables['ImageFile'] := trim(FimageFile); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\报关单.rmf'), '提示', 0); end; end; procedure TfrmCHListsel2.TBSBYSClick(Sender: TObject); var fPrintFile: string; EngMoney, BZZH, FimageFile: string; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\申报要素.rmf'; InitPrtData(); FimageFile := ExtractFilePath(Application.ExeName) + 'Image\' + Trim(CDS_Print.FieldByName('A1ChuKouShang').AsString) + '.jpg'; RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1); if FileExists(fPrintFile) then begin //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; RMVariables['ImageFile'] := trim(FimageFile); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\申报要素.rmf'), '提示', 0); end; end; procedure TfrmCHListsel2.TBAllClick(Sender: TObject); var fPrintFile: string; EngMoney, BZZH, FimageFile, FZMFile: string; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\全部报关资料.rmf'; InitPrtData(); FimageFile := ExtractFilePath(Application.ExeName) + 'Image\' + Trim(CDS_Print.FieldByName('A1ChuKouShang').AsString) + '.jpg'; //RMXLSExport1:= TRMXLSExport.Create(RMXLSExport1); if FileExists(fPrintFile) then begin if RM1.CanExport = true then begin FZMFile := 'C:\Users\Administrator\Desktop'; if not DirectoryExists(FZMFile) then begin FZMFile := 'C:\Documents and Settings\Administrator\桌面\' + trim(CDS_Main.fieldbyname('A4FPNO').AsString) + ' ' + trim(CDS_Main.fieldbyname('A5ConNO').AsString) + '.xls'; end else begin FZMFile := 'C:\Users\Administrator\Desktop\' + trim(CDS_Main.fieldbyname('A4FPNO').AsString) + ' ' + trim(CDS_Main.fieldbyname('A5ConNO').AsString) + '.XLS'; end; RM1.ExportTo(RMXLSExport1, FZMFile); end; RM1.CanExport := true; RMVariables['ImageFile'] := trim(FimageFile); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; RM1.CanExport := False; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\全部报关资料.rmf'), '提示', 0); end; end; procedure TfrmCHListsel2.YWYChange(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 TfrmCHListsel2.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin InitSubGrid(); end; procedure TfrmCHListsel2.huodaiBtnClick(Sender: TObject); var fsj: string; FWZ: Integer; begin fsj := Trim(TEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCHListsel2.B7DaoHuoGangBtnClick(Sender: TObject); var fsj: string; FWZ: Integer; begin fsj := Trim(TEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCHListsel2.BtnEditA1BtnClick(Sender: TObject); var fsj: string; FWZ: Integer; begin fsj := Trim(TEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCHListsel2.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; ModalResult := 1; end; procedure TfrmCHListsel2.ToolButton2Click(Sender: TObject); var fPrintFile, FTaiTou: string; EngMoney, LBName, fImagePath2: string; begin // LBName := RadioGroup2.Items.Strings[RadioGroup2.ItemIndex]; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\出货清单.rmf'; ExportFtErpFile('出货清单.rmf', ADOQueryPrint); with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select A.*,B.* '); // SQL.Add(',HDNAME=(SELECT HDNAME FROM JYOrderCon_TT C WHERE C.DCNO=A.DCNO)'); SQL.Add(',TOCOUNTRY1=(SELECT TOP 1 ISNULL(note,zdyname) FROM KH_ZDY D WHERE D.ZDYNAME=A.TOCOUNTRY)'); SQL.Add(',BM=(SELECT ISNULL(UDEPT,'''')+USERNAME FROM SY_User C WHERE C.USERNAME=A.FILLER )'); sql.Add(' from JYOrder_BaoGuan_Main A INNER JOIN JYOrder_BaoGuan_SUB B ON A.BGID=B.BGID '); sql.Add(' where A.Valid=''Y'' and B.SValid=''Y'' '); SQL.Add('AND bgStatus=''√'''); // sql.Add(' and filltime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); // sql.Add(' and filltime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); if ComboBox1.Text = '报关日期' then begin sql.Add(' and bgdate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and bgdate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); // SQL.Add('order by bgdate desc'); end else if ComboBox1.Text = '船期' then begin sql.Add(' and chuandate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and chuandate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); // SQL.Add('order by chuandate desc '); end else if combobox1.Text = '出货日期' then begin sql.Add(' and htdate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and htdate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); // SQL.Add('order by htdate desc'); end; sql.Add('order by YWY'); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); TBFind.Click(); // with ADOQueryPrint do // begin // Close; // sql.Clear; // sql.Add('exec P_Print_BGD '); // // SQL.ADD('@bgid=''' + Trim(CDS_Main.fieldbyname('BGID').AsString) + ''''); // ShowMessage(SQL.Text); // Open; // end; // SCreateCDS20(ADOQueryPrint, CDS_Print); // SInitCDSData20(ADOQueryPrint, CDS_Print); if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); fImagePath2 := GetShellFolders('Desktop') + '\出货清单.xls'; if FileExists(fImagePath2) then DeleteFile(fImagePath2); //label.xls fImagePath2 := GetShellFolders('Desktop') + '\出货清单.xls'; RM1.PrepareReport; Sleep(1000); RM1.ExportTo(RMXLSExport1, fImagePath2); end else begin // Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\报关单.rmf'), '提示', 0); Application.MessageBox(PChar('没有找' + trim(fPrintFile)), '提示信息', 0); Exit; end; initgrid(); TBFind.Click(); end; procedure TfrmCHListsel2.ComboBox1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmCHListsel2.ZordernoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmCHListsel2.TV1DblClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; ModalResult := 1; end; procedure TfrmCHListsel2.TV1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if (AViewInfo.GridRecord.Values[TV1Column1.Index] = 0) then begin ACanvas.FONT.Color := CLRED; end; end; end.