unit U_CPFHSQCWList; 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 TfrmCPFHSQCWList = 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 TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.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.CwChkStatus,'''')='''' '); 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.CwChkStatus,'''')=''审核通过'' '); end; end; // showmessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.TBRafreshClick(Sender: TObject); begin InitGrid(); TBFind.Click; InitSubGrid(); end; procedure TfrmCPFHSQCWList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmCPFHSQCWList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmCPFHSQCWList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); InitSubGrid(); end; procedure TfrmCPFHSQCWList.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 TfrmCPFHSQCWList.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 CwChker=''' + Trim(DName) + ''',CwChkTime=getdate(),CwChkStatus=''审核通过'' '); 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 TfrmCPFHSQCWList.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 CwChker=Null,CwChkTime=Null,CwChkStatus=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.