unit U_ProductPBCGList; 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 TfrmJYOrderZHLIST = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; ZORDERNO: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; Jorderno: TEdit; v1Column1: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column13: TcxGridDBColumn; Label5: TLabel; MPRTCodeName: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; ADOQueryPrint: TADOQuery; MovePanel2: TMovePanel; CDS_CD: TClientDataSet; RMCD: TRMGridReport; RMDBCD: TRMDBDataSet; CDS_LS: TClientDataSet; RM3: TRMGridReport; v1Column31: TcxGridDBColumn; v1Column34: TcxGridDBColumn; v1Column36: TcxGridDBColumn; RMXLSExport1: TRMXLSExport; CDS_HZ: TClientDataSet; RMDBHZ: TRMDBDataSet; RMDBPRT: TRMDBDataSet; CDS_PRT: TClientDataSet; v1Column16: TcxGridDBColumn; Label1: TLabel; MPRTCODE: TEdit; N3: TMenuItem; X1: TMenuItem; Label11: TLabel; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; ToolButton1: TToolButton; ToolButton2: TToolButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ZORDERNOKeyPress(Sender: TObject; var Key: Char); procedure v1Column15PropertiesEditValueChanged(Sender: TObject); procedure MJIDKeyPress(Sender: TObject; var Key: Char); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure JordernoKeyPress(Sender: TObject; var Key: Char); procedure MJStr2Change(Sender: TObject); procedure MJTypeChange(Sender: TObject); procedure KHConNOKeyPress(Sender: TObject; var Key: Char); procedure MPRTCODEKeyPress(Sender: TObject; var Key: Char); procedure N3Click(Sender: TObject); procedure X1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ZORDERNOChange(Sender: TObject); procedure ToolButton2Click(Sender: TObject); private DQdate: TDateTime; FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); procedure InitForm(); function Savedata(): Boolean; procedure GetCDSData(); procedure SetStatus(); procedure PrintCKMDG(MRKOrdID: string); { Private declarations } public FFInt: Integer; canshu1: string; { Public declarations } end; var frmJYOrderZHLIST: TfrmJYOrderZHLIST; implementation uses U_DataLink, U_OrderInPut, U_Fun, U_MJEdit, U_ZDYHelp, U_ProductOrderListSel, U_SysLogHelp; {$R *.dfm} procedure TfrmJYOrderZHLIST.SetStatus(); begin // TBManage.Visible := False; // TBZF.Visible := False; // v1Column15.Options.Focusing := False; // ToolButton1.Visible := False; // TBSH.Visible := False; // TBHH.Visible := False; // if Trim(canshu1) = '管理' then // begin // TBManage.Visible := True; // TBZF.Visible := True; // v1Column15.Options.Focusing := True; // ToolButton1.Visible := true; // end; // if Trim(canshu1) = '次品管理' then // begin // TBSH.Visible := True; // TBHH.Visible := True; // end; // case cxTabControl1.TabIndex of // 0: // begin // ToolButton8.Visible := true; // ToolButton4.Visible := false; // end; // 1: // begin // ToolButton8.Visible := false; // ToolButton4.Visible := true; // end; // 2: // begin // ToolButton8.Visible := false; // ToolButton4.Visible := true; // end; // end; end; procedure TfrmJYOrderZHLIST.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmJYOrderZHLIST.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; DQdate := SGetServerDate(ADOQueryTemp); end; procedure TfrmJYOrderZHLIST.TBCloseClick(Sender: TObject); begin WriteCxGrid('检验报告JF', Tv1, '检验管理'); Close; end; procedure TfrmJYOrderZHLIST.PrintCKMDG(MRKOrdID: string); begin end; procedure TfrmJYOrderZHLIST.InitGrid(); var fwhere, Pwhere: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; // if IsJYTime.Checked then // begin // fwhere := ' where Filltime>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); // fwhere := fwhere + ' and Filltime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); // end; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.add('exec P_View_ZHDDCX '); sql.Add('@BegDate=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))); sql.Add(',@EndDate=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1))); // sql.Add(',@criteria= ' + quotedstr(fwhere)); // ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); // LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber)); MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; end; end; procedure TfrmJYOrderZHLIST.InitForm(); var fsj: string; begin ReadCxGrid('检验报告JF', Tv1, '检验管理'); // fsj := 'select distinct(Filler) name from WFB_MJJY '; // SInitComBoxBySql(ADOQueryCmd, Filler, False, fsj); // Filler.ItemIndex := Filler.Items.IndexOf(trim(DName)); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 14; //InitGrid(); end; procedure TfrmJYOrderZHLIST.TBFindClick(Sender: TObject); var fsj, fwhere: string; begin end; procedure TfrmJYOrderZHLIST.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv1, ADOQueryMain, '检验报告'); end; procedure TfrmJYOrderZHLIST.TBRafreshClick(Sender: TObject); begin JOrderNo.SetFocus; InitGrid(); end; procedure TfrmJYOrderZHLIST.FormShow(Sender: TObject); begin CurrentPage := 1; RecordsNumber := 500; InitForm(); SetStatus(); end; procedure TfrmJYOrderZHLIST.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmJYOrderZHLIST.N1Click(Sender: TObject); begin SelOKNo(Order_Main, True); end; procedure TfrmJYOrderZHLIST.N2Click(Sender: TObject); begin SelOKNo(Order_Main, False); end; function TfrmJYOrderZHLIST.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 TfrmJYOrderZHLIST.ZORDERNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin // if Length(OrderNo.Text) < 4 then // Exit; CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderZHLIST.GetCDSData(); begin CDS_CD.FieldByName('MJXH').Value := CDS_LS.fieldbyname('MJXH').Value; CDS_CD.FieldByName('GangNo').Value := CDS_LS.fieldbyname('Aorddefstr1').Value; CDS_CD.FieldByName('PRTColor').Value := CDS_LS.fieldbyname('PRTColor').Value; CDS_CD.FieldByName('PRTEColor').Value := CDS_LS.fieldbyname('SOrddefstr4').Value; CDS_CD.FieldByName('MJLen').Value := CDS_LS.fieldbyname('MJLen').Value; CDS_CD.FieldByName('MJJZ').Value := CDS_LS.fieldbyname('MJQty4').Value; CDS_CD.FieldByName('MJMZ').Value := CDS_LS.fieldbyname('MJMaoZ').Value; CDS_CD.FieldByName('MJFK').Value := CDS_LS.fieldbyname('MJFK').Value; CDS_CD.FieldByName('KFQtyHZ').Value := CDS_LS.fieldbyname('KFQtyHZ').Value; CDS_CD.FieldByName('DengJi').Value := CDS_LS.fieldbyname('DengJi').Value; CDS_CD.FieldByName('PanDing').Value := CDS_LS.fieldbyname('PanDing').Value; CDS_CD.FieldByName('MJID').Value := CDS_LS.fieldbyname('MJID').Value; end; procedure TfrmJYOrderZHLIST.v1Column15PropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; with Order_Main do begin Edit; FieldByName('PanDing').Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFB_MJJY Set PanDing=''' + Trim(mvalue) + ''''); SQL.Add(' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); ExecSQL; end; end; procedure TfrmJYOrderZHLIST.MJIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin // if Length(MJID.Text) < 4 then // Exit; CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderZHLIST.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmJYOrderZHLIST.JordernoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderZHLIST.MJStr2Change(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmJYOrderZHLIST.MJTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmJYOrderZHLIST.KHConNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderZHLIST.MPRTCODEKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderZHLIST.N3Click(Sender: TObject); var SSubId, SGangNo: string; begin with Order_Main do begin SSubId := trim(FieldByName('SubId').AsString); SGangNo := trim(FieldByName('Mjstr4').AsString); Order_Main.DisableControls; first; while not eof do begin if ((SSubId = trim(FieldByName('SubId').AsString)) and (SGangNo = trim(FieldByName('Mjstr4').AsString))) then begin edit; FieldByName('SSel').value := true; end else begin edit; FieldByName('SSel').value := false; end; Next; end; Order_Main.Locate('SubId;Mjstr4', VarArrayOf([SSubId, SGangNo]), []); Order_Main.EnableControls; end; end; procedure TfrmJYOrderZHLIST.X1Click(Sender: TObject); var str, SSubId, SGangNo: string; ZChiShu, DQChiShu: integer; ISSel: boolean; begin ISSel := true; SSubId := trim(Order_Main.FieldByName('SubId').AsString); SGangNo := trim(Order_Main.FieldByName('Mjstr4').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)) and (SGangNo = trim(FieldByName('Mjstr4').AsString))) then begin edit; FieldByName('SSel').value := ISSel; DQChiShu := DQChiShu + 1; end else begin edit; FieldByName('SSel').value := false; end; if DQChiShu = ZChiShu then ISSel := false; Next; end; Order_Main.Locate('SubId;Mjstr4', VarArrayOf([SSubId, SGangNo]), []); Order_Main.EnableControls; end; end; end; procedure TfrmJYOrderZHLIST.cxTabControl1Change(Sender: TObject); begin CurrentPage := 1; InitGrid(); SetStatus(); end; procedure TfrmJYOrderZHLIST.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 TfrmJYOrderZHLIST.ZORDERNOChange(Sender: TObject); begin ToolButton1.Click(); end; procedure TfrmJYOrderZHLIST.ToolButton2Click(Sender: TObject); var fPrintFile: string; Porderno, LBName, SYRName: string; i, j: Integer; OrderKg: Double; begin if Order_Main.IsEmpty then Exit; LBName := '总计划单'; ExportFtErpFile(Trim(LBName) + '.rmf', ADOQueryTemp); with ADOQueryPrint do begin Close; sql.Clear; sql.Add('exec P_Print_ZOrder'); sql.add('@ZOrderNo=' + quotedstr(trim(Order_Main.fieldbyname('ZOrderNo').AsString))); Open; end; SCreateCDS20(ADOQueryPrint, CDS_PRT); SInitCDSData20(ADOQueryPrint, CDS_PRT); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RMVariables['SYRName'] := Trim(SYRName); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'), '提示', 0); end; // Panel4.Visible := false; end; end.