unit U_WXFPList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxPC, cxCheckBox; type TfrmWXFPList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; CDS_PRT: TClientDataSet; ToolButton3: TToolButton; cxGridPopupMenu2: TcxGridPopupMenu; Panel1: TPanel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column5: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ComboBox2: TComboBox; Label3: TLabel; Label1: TLabel; ToolButton1: TToolButton; ToolButton4: TToolButton; Label5: TLabel; FPNO: TEdit; v1Column1: TcxGridDBColumn; v1Column9: TcxGridDBColumn; ADOQueryPrint: TADOQuery; v1Column18: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column8: TcxGridDBColumn; Label4: TLabel; GHDanWei: TEdit; Label6: TLabel; XHDanWei: TEdit; v1Column4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; ToolButton2: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure cxPageControl1Change(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure WorkerChange(Sender: TObject); procedure v1Column15CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure v1Column9CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure ToolButton1Click(Sender: TObject); procedure FPNOKeyPress(Sender: TObject; var Key: Char); procedure ToolButton2Click(Sender: TObject); private FInt,PFInt:Integer; canshu1,canshu2:string; FNowDate:TDateTime; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; procedure InitGridWsql(fsj:string); { Private declarations } public { Public declarations } end; var frmWXFPList: TfrmWXFPList; implementation uses U_DataLink,U_RTFun,U_WXFPInPut,U_ModuleNote, U_ZDYHelp,U_WXFPInPutWGL; {$R *.dfm} procedure TfrmWXFPList.FormDestroy(Sender: TObject); begin frmWXFPList:=nil; end; procedure TfrmWXFPList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmWXFPList.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('������Ʊ�б�',Tv1,'��Ʊ����'); end; procedure TfrmWXFPList.InitGrid(); var fsj:String; begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select AA.* from ('); sql.Add(' select A.*'); sql.Add(',HZMoney=(select Sum(Money) from FP_XiaoShou_Sub B where B.FXID=A.FXID )'); SQL.Add(' from FP_XiaoShou A'); sql.Add(' ) AA'); sql.Add(' where 1=1 '); //if cxTabControl1.TabIndex<>0 then begin fsj:=TA(ComboBox2.Items.Objects[ComboBox2.Items.IndexOf(Trim(ComboBox2.Text))]).S; sql.Add(' and AA.'+Trim(fsj)+'>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); sql.Add(' and AA.'+Trim(fsj)+'<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+''''); end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmWXFPList.InitForm(); begin FNowDate:=SGetServerDate(ADOQueryTemp); EndDate.Date:=FNowDate; BegDate.Date:=EndDate.Date-7; ReadCxGrid('������Ʊ�б�',Tv1,'��Ʊ����'); //InitGrid(); end; procedure TfrmWXFPList.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; {if Trim(DName)<>Trim(Order_Main.fieldbyname('Filler').AsString) then begin Application.MessageBox('���ܲ������˵���Ϣ!','��ʾ',0); Exit; end;} try frmWXFPInPutWGL:=TfrmWXFPInPutWGL.Create(Application); with frmWXFPInPutWGL do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('FXID').AsString); if ShowModal=1 then begin end; end; finally frmWXFPInPutWGL.Free; end; end; procedure TfrmWXFPList.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Trim(DName)<>Trim(Order_Main.fieldbyname('Filler').AsString) then begin Application.MessageBox('���ܲ������˵���Ϣ!','��ʾ',0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select isnull(sum(HXMoney),0) HXMoney from FP_Money_HX where FXID='''+Trim(Order_Main.fieldbyname('FXID').AsString)+''''); sql.Add(' and isnull(Type,'''')=''�����ڲ���Ʊ'' '); Open; end; if ADOQueryTemp.FieldByName('HXMoney').Value<>0 then begin Application.MessageBox('���к������ݲ���ɾ��!','��ʾ',0); Exit; end; if Application.MessageBox('ȷ��Ҫɾ��������','��ʾ',32+4)<>IDYES then Exit; if DelData() then begin Order_Main.Delete; end; end; function TfrmWXFPList.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete FP_XiaoShou where FXId='''+Trim(Order_Main.fieldbyname('FXId').AsString)+''''); sql.Add('delete FP_XiaoShou_Sub where FXId='''+Trim(Order_Main.fieldbyname('FXId').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('����ɾ���쳣��','��ʾ',0); end; end; procedure TfrmWXFPList.TBExportClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; TcxGridToExcel('������Ʊ',cxGrid1); end; procedure TfrmWXFPList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmWXFPList.TBAddClick(Sender: TObject); begin try frmWXFPInPutWGL:=TfrmWXFPInPutWGL.Create(Application); with frmWXFPInPutWGL do begin PState:=0; FMainId:=''; if ShowModal=1 then begin end; end; finally frmWXFPInPutWGL.Free; end; end; procedure TfrmWXFPList.FormShow(Sender: TObject); var i:Integer; begin InitForm(); SInitComBoxByTvColumns(ComboBox2,Tv1,999,True,True); end; procedure TfrmWXFPList.cxPageControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmWXFPList.ToolButton3Click(Sender: TObject); begin try frmModuleNote:=TfrmModuleNote.Create(Application); with frmModuleNote do begin flag:='������Ʊ'; if ShowModal=1 then begin end; end; finally frmModuleNote.Free; end; end; procedure TfrmWXFPList.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); end; procedure TfrmWXFPList.InitGridWsql(fsj:string); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select AA.* from ('); sql.Add(' select A.*'); sql.Add(',HZMoney=(select Sum(Money) from FP_XiaoShou_Sub B where B.FXID=A.FXID )'); SQL.Add(' from FP_XiaoShou A'); sql.Add(' ) AA'); sql.Add(' where 1=1 '); sql.Add(fsj); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmWXFPList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmWXFPList.WorkerChange(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmWXFPList.v1Column15CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var Id,Id10:Integer; begin Id:=TV1.GetColumnByFieldName('YuJinagDate1').Index;// Id10:=TV1.GetColumnByFieldName('MoneyKC').Index; if Id<0 then Exit; //$008000FF �Ⱥ�ɫ ��ɫ $000D55FF $00B9EE9F dz�� if AViewInfo.GridRecord.Values[Id10]>0 then begin if AViewInfo.GridRecord.Values[Id]-FNowDate<=0 then begin ACanvas.Brush.Color:=clYellow; end else if AViewInfo.GridRecord.Values[Id]=null then begin // ACanvas.Brush.Color:=clWhite; end; end else begin //ACanvas.Brush.Color:=clWhite; end; end; procedure TfrmWXFPList.v1Column9CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var Id,Id10:Integer; begin Id:=TV1.GetColumnByFieldName('YuJinagDate2').Index;// Id10:=TV1.GetColumnByFieldName('MoneyKC').Index; if Id<0 then Exit; //$008000FF �Ⱥ�ɫ ��ɫ $000D55FF $00B9EE9F dz�� if AViewInfo.GridRecord.Values[Id10]>0 then begin if AViewInfo.GridRecord.Values[Id]-FNowDate<=0 then begin ACanvas.Brush.Color:=clRed; end else if AViewInfo.GridRecord.Values[Id]=null then begin //ACanvas.Brush.Color:=clWhite; end; end else begin //ACanvas.Brush.Color:=clWhite; end; end; procedure TfrmWXFPList.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmWXFPList.FPNOKeyPress(Sender: TObject; var Key: Char); var fsj:String; begin if Key<>#13 then Exit; if Length(Trim(FPNO.Text))<3 then Exit; fsj:=' and AA.FPNO like '''+'%'+Trim(FPNO.Text)+'%'+''''; InitGridWsql(fsj); end; procedure TfrmWXFPList.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; {if Trim(DName)<>Trim(Order_Main.fieldbyname('Filler').AsString) then begin Application.MessageBox('���ܲ������˵���Ϣ!','��ʾ',0); Exit; end;} try frmWXFPInPutWGL:=TfrmWXFPInPutWGL.Create(Application); with frmWXFPInPutWGL do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('FXID').AsString); TBSave.Visible:=False; ToolButton3.Visible:=False; ToolButton4.Visible:=False; if ShowModal=1 then begin end; end; finally frmWXFPInPutWGL.Free; end; end; end.