unit U_CPFHSQYWYList; 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, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxPC, cxButtonEdit, RM_E_llPDF, cxDropDownEdit, cxTextEdit, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmCPFHSQYWYList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; v1OrdDate: TcxGridDBColumn; v1OrdPerson1: TcxGridDBColumn; Order_Main: TClientDataSet; RMDB_Main: TRMDBDataSet; RMXLSExport1: TRMXLSExport; ToolButton1: TToolButton; ADOQueryPrint: TADOQuery; CDS_PM: TClientDataSet; v1Column4: TcxGridDBColumn; Panel1: TPanel; Label1: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; Label9: TLabel; Label12: TLabel; Label13: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; SHDanWei: TEdit; Filler: TEdit; MPRTCodeName: TEdit; OrderNo: TEdit; MPRTKZ: TEdit; MPRTMF: TEdit; cxTabControl1: TcxTabControl; cxSplitter1: TcxSplitter; ADOQuerySub: TADOQuery; DataSource2: TDataSource; v1Column8: TcxGridDBColumn; Label2: TLabel; ClientDataSet2: TClientDataSet; cxGridPopupMenu2: TcxGridPopupMenu; CDS_Note: TClientDataSet; RM1: TRMGridReport; v1Column11: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column24: TcxGridDBColumn; v1Column25: TcxGridDBColumn; v1Column2: TcxGridDBColumn; CDSUser: TClientDataSet; IdHTTP1: TIdHTTP; v1Column3: TcxGridDBColumn; v1Column6: TcxGridDBColumn; btnOK: TToolButton; btnOKCX: TToolButton; RMDB_XZC: TRMDBDataSet; CDS_PS: TClientDataSet; v1Column9: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Column5: TcxGridDBColumn; v2Column12: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column10: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column9: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; Label3: TLabel; FHYWY: TEdit; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure SHDanWeiChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure btnOKClick(Sender: TObject); procedure btnOKCXClick(Sender: TObject); private procedure InitGrid(); procedure InitSubGrid(); procedure InitForm(); procedure SetStatus(); function DelData(): Boolean; { Private declarations } public FFInt: Integer; canshu1: string; { Public declarations } end; implementation uses U_DataLink, U_CPFHSQInPut, U_Fun, U_ZDYHelp, U_CPFHSQXZ, U_LabelList,U_RTFun; {$R *.dfm} procedure TfrmCPFHSQYWYList.SetStatus(); begin btnOK.Visible := False; btnOKCX.Visible := False; case cxTabControl1.TabIndex of 0: begin btnOK.Visible := true; end; 1: begin btnOKCX.Visible := true; end; end; end; procedure TfrmCPFHSQYWYList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCPFHSQYWYList.TBCloseClick(Sender: TObject); begin if Trim(DName)='ADMIN' then begin WriteCxGridAll(trim(self.Caption), Tv1,ADOQueryCmd,ADOQueryTemp); WriteCxGridAll(trim(self.Caption)+'2', Tv2,ADOQueryCmd,ADOQueryTemp); end; Close; end; procedure TfrmCPFHSQYWYList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; Sql.Add(' select A.*'); sql.Add(' from FHSQ_Main_CP A'); sql.Add(' where SQType=''成品布'''); case cxTabControl1.TabIndex of 0: begin SQL.Add(' and isnull(A.Chker,'''')<>'''' '); SQL.Add(' and isnull(A.Status,'''')<>''已发货'' '); SQL.Add(' and isnull(A.YwyChkStatus,'''')='''' '); end; 1: begin sql.Add(' and filltime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and filltime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); SQL.Add(' and isnull(A.Chker,'''')<>'''' '); SQL.Add(' and isnull(A.Status,'''')=''已发货'' '); SQL.Add(' and isnull(A.YwyChkStatus,'''')=''审核通过'' '); end; end; // showmessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCPFHSQYWYList.InitForm(); begin ReadCxGridAll(trim(self.Caption), Tv1); ReadCxGridAll(trim(self.Caption)+'2', Tv2); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime; SetStatus(); InitGrid(); end; procedure TfrmCPFHSQYWYList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); end; function TfrmCPFHSQYWYList.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete FHSQ_Sub_CP where FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete FHSQ_Main_CP where FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + ''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmCPFHSQYWYList.TBRafreshClick(Sender: TObject); begin InitGrid(); TBFind.Click; InitSubGrid(); end; procedure TfrmCPFHSQYWYList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmCPFHSQYWYList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmCPFHSQYWYList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmCPFHSQYWYList.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmPBFHSQInPut := TfrmPBFHSQInPut.Create(Application); with frmPBFHSQInPut do begin PState := 1; FMainId := Trim(Self.Order_Main.fieldbyname('FSID').AsString); ToolBar2.Visible := False; TBSave.Visible := False; ScrollBox1.Enabled := False; Tv1.OptionsSelection.CellSelect := False; if ShowModal = 1 then begin end; end; finally frmPBFHSQInPut.Free; end; end; procedure TfrmCPFHSQYWYList.SHDanWeiChange(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 TfrmCPFHSQYWYList.InitSubGrid(); begin with ADOQueryTemp do begin Close; sql.Clear; if Order_Main.IsEmpty = False then sql.Add('select * from FHSQ_Sub_CP A where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''') else sql.Add('select * from FHSQ_Sub_CP A where 1=2'); Open; end; SCreateCDS20(ADOQueryTemp, ClientDataSet2); SInitCDSData20(ADOQueryTemp, ClientDataSet2); end; procedure TfrmCPFHSQYWYList.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); InitSubGrid(); end; procedure TfrmCPFHSQYWYList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin with ADOQueryTemp do begin Close; sql.Clear; if Order_Main.IsEmpty = False then begin sql.Add('select A.* from FHSQ_Sub_CP A '); sql.Add(' where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + ''''); end else begin sql.Add('select A.* from FHSQ_Sub_CP A '); sql.Add(' where 1=2'); end; Open; end; SCreateCDS20(ADOQueryTemp, ClientDataSet2); SInitCDSData20(ADOQueryTemp, ClientDataSet2); end; procedure TfrmCPFHSQYWYList.btnOKClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if cxTabControl1.TabIndex <> 0 then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update FHSQ_Main_CP SET YwyChker=''' + Trim(DName) + ''',YwyChkTime=getdate(),YwyChkStatus=''审核通过'' '); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString))); execsql; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('审核成功!', '提示信息'); except application.MessageBox('审核失败!', '提示信息', 0); end; end; procedure TfrmCPFHSQYWYList.btnOKCXClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if cxTabControl1.TabIndex <> 1 then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update FHSQ_Main_CP SET YwyChker=Null,YwyChkTime=Null,YwyChkStatus=Null '); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString))); execsql; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('撤销成功!', '提示信息'); except application.MessageBox('撤销失败!', '提示信息', 0); end; end; end.