unit U_FinishedClothStatistical; 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, MovePanel, cxTextEdit, cxContainer, cxCurrencyEdit, BtnEdit, RM_e_main, RM_e_htm, RM_e_Graphic, RM_e_Jpeg, RM_e_txt, RM_e_csv, RM_E_llPDF, Math, Clipbrd, cxPC; type TfrmFinishedClothStatistical = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_Main: TDataSource; Label8: TLabel; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; RM2: TRMGridReport; RMDB_Main: TRMDBDataSet; ADOQueryPrint: TADOQuery; MovePanel2: TMovePanel; RMXLSExport1: TRMXLSExport; IsJYTime: TCheckBox; N3: TMenuItem; X1: TMenuItem; Order_Main: TClientDataSet; DCheG: TEdit; Label1: TLabel; Button1: TButton; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure MJIDKeyPress(Sender: TObject; var Key: Char); procedure conNOKeyPress(Sender: TObject; var Key: Char); procedure MJStr2Change(Sender: TObject); procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char); procedure N3Click(Sender: TObject); procedure X1Click(Sender: TObject); procedure DCheGClick(Sender: TObject); procedure Button1Click(Sender: TObject); private DQdate: TDateTime; FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); procedure InitForm(); function Savedata(): Boolean; { Private declarations } public FFInt: Integer; canshu1: string; { Public declarations } end; var frmFinishedClothStatistical : TfrmFinishedClothStatistical; implementation uses U_DataLink, U_Fun, U_MJEdit, U_ZDYHelp, U_SysLogHelp, U_SCPerson; {$R *.dfm} procedure TfrmFinishedClothStatistical.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmFinishedClothStatistical.FormCreate(Sender: TObject); begin DQdate := SGetServerDate(ADOQueryTemp); end; procedure TfrmFinishedClothStatistical.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmFinishedClothStatistical.InitGrid(); var FEndTime,FBegTime: string; begin if IsJYTime.Checked then begin FBegTime := quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); FEndTime := quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); end else begin FBegTime := ''; FEndTime := ''; end; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_CK_Cloth_DCG'); sql.Add('@DCheG='+QuotedStr(Trim(DCheG.Text))); sql.Add(',@FBegTime='+FBegTime); sql.Add(',@FEndTime='+FEndTime); ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); Label6.Caption:=Trim(Order_Main.fieldbyname('LenHZ').AsString)+'米'; Label7.Caption:=Trim(Order_Main.fieldbyname('PS').AsString)+'卷'; //MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; //MovePanel2.Visible := false; end; end; procedure TfrmFinishedClothStatistical.InitForm(); var fsj: string; begin BegDate.DateTime := SGetServerDateTime(ADOQueryTemp); EndDate.DateTime := SGetServerDateTime(ADOQueryTemp) end; procedure TfrmFinishedClothStatistical.TBFindClick(Sender: TObject); var fsj, fwhere: string; begin end; procedure TfrmFinishedClothStatistical.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmFinishedClothStatistical.N1Click(Sender: TObject); begin SelOKNo(Order_Main, True); end; procedure TfrmFinishedClothStatistical.N2Click(Sender: TObject); begin SelOKNo(Order_Main, False); end; function TfrmFinishedClothStatistical.Savedata(): Boolean; var maxno, LLID: string; HXPS: Integer; HXQty, HXMQty: Double; begin HXPS := 0; HXQty := 0; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 1 * from Contract_Cloth_LL where OrdSubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + ''''); sql.Add(' and FirstName=''' + Trim(Order_Main.fieldbyname('AOrddefstr4').AsString) + ''''); Open; end; LLID := Trim(ADOQueryTemp.fieldbyname('LLID').AsString); if Trim(LLID) = '' then begin Result := False; Application.MessageBox('没有相对应的加工厂!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxno, 'HX', 'Contract_Cloth_BefChkHX', 2, 1) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取回修最大号失败!', '提示', 0); Exit; end; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean = True then begin HXPS := HXPS + 1; HXQty := HXQty + Order_Main.FieldByName('MJLen').Value; end; Next; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(''); Open; end; except end; end; procedure TfrmFinishedClothStatistical.MJIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmFinishedClothStatistical.conNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmFinishedClothStatistical.MJStr2Change(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmFinishedClothStatistical.RKOrdIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmFinishedClothStatistical.N3Click(Sender: TObject); var SSubId, SGangNo: string; begin with Order_Main do begin SSubId := trim(FieldByName('SubId').AsString); Order_Main.DisableControls; first; while not eof do begin if SSubId = trim(FieldByName('SubId').AsString) then begin edit; FieldByName('SSel').value := true; Post; end else begin edit; FieldByName('SSel').value := false; Post; end; Next; end; Order_Main.Locate('SubId', VarArrayOf([SSubId]), []); Order_Main.EnableControls; end; end; procedure TfrmFinishedClothStatistical.X1Click(Sender: TObject); var str, SSubId: string; ZChiShu, DQChiShu: integer; ISSel: boolean; begin ISSel := true; SSubId := trim(Order_Main.FieldByName('SubId').AsString); str := ''; if InputQuery('选择', '请输入数字', str) then begin ZChiShu := strtointdef(str, 0); if ZChiShu <= 0 then exit; with Order_Main do begin Order_Main.DisableControls; first; DQChiShu := 0; while not eof do begin if SSubId = trim(FieldByName('SubId').AsString) then begin edit; FieldByName('SSel').value := ISSel; DQChiShu := DQChiShu + 1; Post; end else begin edit; FieldByName('SSel').value := false; Post; end; if DQChiShu = ZChiShu then ISSel := false; Next; end; Order_Main.Locate('SubId', VarArrayOf([SSubId]), []); Order_Main.EnableControls; end; end; end; procedure TfrmFinishedClothStatistical.DCheGClick(Sender: TObject); begin try frmSCPerson := TfrmSCPerson.Create(self); with frmSCPerson do begin FlagStr := 'SCPerson'; if ShowModal = 1 then begin DCheG.Text := frmSCPerson.FSDPerson; end; end; finally frmSCPerson.Free; end; end; procedure TfrmFinishedClothStatistical.Button1Click(Sender: TObject); begin if DCheG.Text ='' then begin Application.MessageBox('请先选择挡车工!','提示',0); Exit; end; InitGrid(); end; end.