unit U_PBJYCLList; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList, cxContainer, dxCore, cxDateUtils, cxMaskEdit, cxDropDownEdit, cxCheckBox, cxPC; type TfrmPBJYCLList = class(TFrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label5: TLabel; C_CodeName: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; RM1: TRMGridReport; RMXLSExport1: TRMXLSExport; CDS_PRT: TClientDataSet; RMDBPRT: TRMDBDataSet; RMDBPZ: TRMDBDataSet; CDS_PZ: TClientDataSet; CDS_SJ: TClientDataSet; RMDBSJ: TRMDBDataSet; Label10: TLabel; C_Code: TEdit; RMDBDataSet1: TRMDBDataSet; ClientDataSet1: TClientDataSet; CDS_WJG: TClientDataSet; RMDBWJG: TRMDBDataSet; Label6: TLabel; BatchNoHZ: TEdit; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyleRepository2: TcxStyleRepository; cxStyle2: TcxStyle; cxStyle3: TcxStyle; cxStyleRepository3: TcxStyleRepository; cxStyle4: TcxStyle; KHName: TEdit; Label4: TLabel; Label7: TLabel; carno: TEdit; Label9: TLabel; CheckBox1: TCheckBox; BegDate: TcxDateEdit; EndDate: TcxDateEdit; Label1: TLabel; filler: TEdit; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; cxTabSheet2: TcxTabSheet; Panel2: TPanel; Label20: TLabel; Panel3: TPanel; Image1: TImage; Button1: TButton; RadioGroup1: TRadioGroup; cxGrid3: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn3: TcxGridDBColumn; cxgrdbclmnv1Column14: TcxGridDBColumn; v1Column1: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v1Column16: TcxGridDBColumn; v1Column5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column2: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; CDS_MAIN: TClientDataSet; DataSource2: TDataSource; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure carnoKeyPress(Sender: TObject; var Key: Char); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure cxPageControl1Change(Sender: TObject); procedure C_CodeKeyPress(Sender: TObject; var Key: Char); private FInt, PFInt: Integer; procedure InitGrid(); procedure InitForm(); function DelData(): Boolean; procedure InitButton(); procedure SetStatus(); { Private declarations } public canshu1, FCheJian: string; { Public declarations } end; var frmPBJYCLList: TfrmPBJYCLList; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_ClothCLCXList; //U_ClothSCInPutSC ,U_ClothSCInPut ,U_SCPerson {$R *.dfm} procedure TfrmPBJYCLList.SetStatus(); begin case cxPageControl1.ActivePageIndex of 0: begin ClearOrHideControls(Panel1, '0', True, True); ClearOrHideControls(Panel1, '1', True, False); end; 1: begin ClearOrHideControls(Panel1, '0', false, True); ClearOrHideControls(Panel1, '1', True, True); end; end; end; procedure TfrmPBJYCLList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmPBJYCLList.InitButton(); begin end; procedure TfrmPBJYCLList.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('进度统计查询', Tv1, '坯布生产管理'); end; procedure TfrmPBJYCLList.InitGrid(); var WSQL: string; begin WSQL := SGetFilters(Panel1, 1, 2); if Trim(WSQL) <> '' then WSQL := ' and ' + WSQL; try case cxPageControl1.ActivePageIndex of 0: begin with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_Viwe_PBJYLIST @begdate=' + quotedstr(BegDate.Text)); sql.Add(',@enddate=' + quotedstr(endDate.Text)); sql.Add(',@WSql=' + quotedstr(WSQL)); Open; end; SCreateCDS(ADOQueryMain, order_main); SInitCDSData(ADOQueryMain, order_main); end; 1: begin with ADOQueryMain do begin Filtered := False; Close; sql.Clear; SQL.Add('SELECT * FROM V_PB_JYLIST'); sql.Add('where 1=1 ' + (WSQL)); sql.Add(' and FILLTIME>=''' + BegDate.TEXT + ''''); sql.Add(' and FILLTIME<''' + ENDDATE.Text + ''''); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; end; finally ADOQueryMain.EnableControls; end; end; procedure TfrmPBJYCLList.InitForm(); begin SETSTATUS(); InitButton(); ReadCxGrid('进度统计查询', Tv1, '坯布生产管理'); EndDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate(ADOQueryTemp) + 1) + ' 08:00:00'; BegDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate(ADOQueryTemp) - 1) + ' 08:00:00'; InitGrid(); end; procedure TfrmPBJYCLList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; function TfrmPBJYCLList.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Cloth_Sub where SubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + ''''); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Cloth_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Cloth_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; end; if Trim(Order_Main.fieldbyname('SubId').AsString) = '' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Cloth_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Cloth_PaiZhen where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Cloth_YCL_PB where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmPBJYCLList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; case cxPageControl1.ActivePageIndex of 0: begin TcxGridToExcel('检验汇总表', cxGrid1); end; 1: begin TcxGridToExcel('检验明细表', cxGrid3); end; end; end; procedure TfrmPBJYCLList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmPBJYCLList.ConNoChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmPBJYCLList.cxPageControl1Change(Sender: TObject); begin inherited; SetStatus(); InitGrid(); end; procedure TfrmPBJYCLList.C_CodeKeyPress(Sender: TObject; var Key: Char); begin inherited; if Key = #13 then begin InitGrid(); end; end; procedure TfrmPBJYCLList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmPBJYCLList.FormDestroy(Sender: TObject); begin frmPBJYCLList := nil; end; procedure TfrmPBJYCLList.Tv1DblClick(Sender: TObject); begin AssignmentControls(Panel1, ORDER_MAIN, '0'); cxPageControl1.ActivePageIndex := 1; // try // frmClothCLCXList := TfrmClothCLCXList.Create(Application); // with frmClothCLCXList do // begin // FMainID := self.Order_Main.fieldbyname('MainID').asstring; // if ShowModal = 1 then // begin // // end; // end; // finally // frmClothCLCXList.Free; // end; end; procedure TfrmPBJYCLList.carnoKeyPress(Sender: TObject; var Key: Char); begin InitGrid(); end; procedure TfrmPBJYCLList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var FDDZT: string; begin if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('DDZT').Index] = null then Exit; FDDZT := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('DDZT').Index]; // if FDDZT = '已开始' then // ACanvas.Font.Color :=$FF0000; if FDDZT = '已结束' then ACanvas.Font.Color := $0000FF; end; end.