unit U_JGSXKNewList_CLGLCX_HZMgg_GL; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmJGSXKNewList_CLGLCX_HZMgg_GL = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; BegDate: TDateTimePicker; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label4: TLabel; OrderNo: TEdit; Label6: TLabel; CustomerNoName: TEdit; Label3: TLabel; BNo: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1CustomerNoName: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label5: TLabel; TeXing: TEdit; v1GCName: TcxGridDBColumn; Label7: TLabel; GCName: TEdit; Label8: TLabel; SGBuWei: TEdit; v1CPFLQty: TcxGridDBColumn; Label9: TLabel; SGFangshi: TEdit; RadioGroup1: TRadioGroup; cxTabControl1: TcxTabControl; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; Label2: TLabel; BDays: TComboBox; cxTabControl2: TcxTabControl; Label10: TLabel; Enddate: TDateTimePicker; RadioGroup2: TRadioGroup; ToolButton1: TToolButton; 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 SPIDChange(Sender: TObject); procedure SPSpecChange(Sender: TObject); procedure OrderNoChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure RadioGroup2Click(Sender: TObject); procedure cxTabControl2Change(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure BDaysChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); private canshu1,canshu2,canshu3,FBegdate,FEndDate:string; procedure InitGrid(); procedure setstatus(); { Private declarations } public { Public declarations } end; var frmJGSXKNewList_CLGLCX_HZMgg_GL: TfrmJGSXKNewList_CLGLCX_HZMgg_GL; implementation uses U_DataLink,U_RTFun,U_Fun,U_JGSXKNewList_CLGLCXMgg; {$R *.dfm} procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.setstatus(); begin end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.FormDestroy(Sender: TObject); begin frmJGSXKNewList_CLGLCX_HZMgg_GL:=nil; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; BegDate.DateTime:=SGetServerDateMBeg(ADOQueryTemp); Enddate.DateTime:=SGetServerDate(ADOQueryTemp); canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.InitGrid(); var i:Integer; begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' exec P_GC_GLAllView :begdate,:enddate,:ConTypeHZ,:ConType,:BDayS,:Status '); Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date)); Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1)); Parameters.ParamByName('ConTypeHZ').Value:=cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption; Parameters.ParamByName('ConType').Value:='全部';//cxTabControl2.Tabs[cxTabControl2.TabIndex].Caption; if Trim(BDays.Text)='' then begin Parameters.ParamByName('BDays').Value:='0'; end else begin Parameters.ParamByName('BDays').Value:=BDays.Text; end; if RadioGroup2.ItemIndex=0 then begin Parameters.ParamByName('Status').Value:='未完成' end else if RadioGroup2.ItemIndex=1 then begin Parameters.ParamByName('Status').Value:='已完成' end; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); for i:=1 to 34-CDS_Main.RecordCount do begin with CDS_Main do begin append; post; end; end; finally; ADOQueryMain.EnableControls; end; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; //Tv1.DataController.Filter.Clear; InitGrid(); //Tv1.FilterBox.Visible := fvNever; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.TBCloseClick(Sender: TObject); begin WriteCxGrid('成品发货汇总HZmggGLHZ',Tv1,'成品仓库'); Close; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.FormShow(Sender: TObject); begin ReadCxGrid('成品发货汇总HZmggGLHZ',Tv1,'成品仓库'); setstatus(); //InitGrid(); end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; SelExportData(Tv1,ADOQueryMain,'成品发货汇总'); end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.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 TfrmJGSXKNewList_CLGLCX_HZMgg_GL.SPIDChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.OrderNoChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.cxTabControl1Change(Sender: TObject); begin // {if cxTabControl1.TabIndex=0 then begin cxTabControl2.Tabs.Clear; cxTabControl2.Tabs.Add('正式合同'); cxTabControl2.Tabs.Add('未签正式合同'); cxTabControl2.Tabs.Add('全部'); end else if cxTabControl1.TabIndex=1 then begin cxTabControl2.Tabs.Clear; cxTabControl2.Tabs.Add('临时合同'); cxTabControl2.Tabs.Add('临时合同BKP'); cxTabControl2.Tabs.Add('全部'); if BDays.Text='' then begin BDays.Text:='60'; end; end else if cxTabControl1.TabIndex=2 then begin cxTabControl2.Tabs.Clear; cxTabControl2.Tabs.Add('正式合同'); cxTabControl2.Tabs.Add('未签正式合同'); cxTabControl2.Tabs.Add('临时合同'); cxTabControl2.Tabs.Add('临时合同BKP'); cxTabControl2.Tabs.Add('全部'); end else if cxTabControl1.TabIndex=3 then begin cxTabControl2.Tabs.Clear; cxTabControl2.Tabs.Add('正式合同'); cxTabControl2.Tabs.Add('未签正式合同'); cxTabControl2.Tabs.Add('临时合同'); cxTabControl2.Tabs.Add('临时合同BKP'); cxTabControl2.Tabs.Add('全部'); end;} TBRafresh.Click; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.RadioGroup2Click( Sender: TObject); begin Tv1.DataController.Filter.Clear; InitGrid(); Tv1.FilterBox.Visible := fvNever; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.cxTabControl2Change( Sender: TObject); begin TBRafresh.Click; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.Tv1CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var FName,FMinCRTime,FMaxCRTime:String; begin if CDS_Main.IsEmpty then Exit; FName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; if Trim(CDS_Main.FieldByName(FName).AsString)='' then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select FMinCRTime=Min(CRTime), FMaxCRTime=max(CRTime)'); sql.Add(' from CK_CP_CR where GCName='''+Trim(CDS_Main.fieldbyname('GCName').AsString)+''''); open; end; FMinCRTime:=ADOQueryTemp.fieldbyname('FMinCRTime').AsString; FMaxCRTime:=ADOQueryTemp.fieldbyname('FMaxCRTime').AsString; if Trim(FName)='SQCPFLQty' then begin FBegdate:=FMinCRTime; FEndDate:=FormatDateTime('yyyy-MM-dd',BegDate.Date-1); end else if Trim(FName)='CPFLQty' then begin FBegdate:=FormatDateTime('yyyy-MM-dd',BegDate.Date); FEndDate:=FormatDateTime('yyyy-MM-dd',Enddate.Date); end else if Trim(FName)='LJCPFLQty' then begin FBegdate:=FMinCRTime; FEndDate:=FMaxCRTime; end; try frmJGSXKNewList_CLGLCXMgg:=TfrmJGSXKNewList_CLGLCXMgg.Create(Application); with frmJGSXKNewList_CLGLCXMgg do begin FGCName:=Trim(Self.CDS_Main.fieldbyname('GCName').AsString); frmJGSXKNewList_CLGLCXMgg.BegDate.DateTime:=StrToDate(FBegdate); frmJGSXKNewList_CLGLCXMgg.EndDate.DateTime:=StrToDate(FEndDate); if ShowModal=1 then begin end; end; finally frmJGSXKNewList_CLGLCXMgg.Free; end; end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.BDaysChange(Sender: TObject); begin InitGrid(); end; procedure TfrmJGSXKNewList_CLGLCX_HZMgg_GL.ToolButton1Click( Sender: TObject); begin if Application.MessageBox('确定完成工程吗?','提示',32+4)<>IDYES then Exit; if CDS_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update JYOrdercon_Main SET status=''3'''); sql.Add(' ,chker='+quotedstr(trim(DName))); sql.Add(' ,ChkDate=getdate() '); sql.Add('where mainID='+quotedstr(trim(CDS_Main.fieldbyname('mainID').AsString))); execsql; end; application.MessageBox('操作成功!','提示信息'); CDS_Main.Delete; except; application.MessageBox('操作失败!','提示信息',0); end; end; end.