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 TfrmPBCGLIST = 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; orderno: 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; v1Column4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; 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); procedure v1Column4PropertiesEditValueChanged(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 frmPBCGLIST: TfrmPBCGLIST; implementation uses U_DataLink, U_OrderInPut, U_Fun, U_MJEdit, U_ZDYHelp, U_ProductOrderListSel, U_SysLogHelp; {$R *.dfm} procedure TfrmPBCGLIST.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 TfrmPBCGLIST.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmPBCGLIST.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; DQdate := SGetServerDate(ADOQueryTemp); end; procedure TfrmPBCGLIST.TBCloseClick(Sender: TObject); begin WriteCxGrid(Self.Caption, Tv1, '检验管理'); Close; end; procedure TfrmPBCGLIST.PrintCKMDG(MRKOrdID: string); begin end; procedure TfrmPBCGLIST.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(' select MAINID,OrderNo,ZOrderNo,OrdDate,MPRTCode,MPRTCodeName,MPRTMF,MPRTKZ,MPRTSpec,PBFactoryName,pbprice from JYOrder_Main'); sql.add(' where OrdDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''''); sql.Add(' and OrdDate<=''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + ''''); sql.add('order by orddate desc'); // 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 TfrmPBCGLIST.InitForm(); var fsj: string; begin ReadCxGrid(Self.Caption, 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 TfrmPBCGLIST.TBFindClick(Sender: TObject); var fsj, fwhere: string; begin end; procedure TfrmPBCGLIST.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv1, ADOQueryMain, '检验报告'); end; procedure TfrmPBCGLIST.TBRafreshClick(Sender: TObject); begin OrderNo.SetFocus; InitGrid(); end; procedure TfrmPBCGLIST.FormShow(Sender: TObject); begin CurrentPage := 1; RecordsNumber := 500; InitForm(); SetStatus(); end; procedure TfrmPBCGLIST.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmPBCGLIST.N1Click(Sender: TObject); begin SelOKNo(Order_Main, True); end; procedure TfrmPBCGLIST.N2Click(Sender: TObject); begin SelOKNo(Order_Main, False); end; function TfrmPBCGLIST.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 TfrmPBCGLIST.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 TfrmPBCGLIST.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 TfrmPBCGLIST.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 TfrmPBCGLIST.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 TfrmPBCGLIST.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 TfrmPBCGLIST.JordernoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmPBCGLIST.MJStr2Change(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmPBCGLIST.MJTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmPBCGLIST.KHConNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmPBCGLIST.MPRTCODEKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmPBCGLIST.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 TfrmPBCGLIST.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 TfrmPBCGLIST.cxTabControl1Change(Sender: TObject); begin CurrentPage := 1; InitGrid(); SetStatus(); end; procedure TfrmPBCGLIST.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 TfrmPBCGLIST.ZORDERNOChange(Sender: TObject); begin ToolButton1.Click(); end; procedure TfrmPBCGLIST.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; procedure TfrmPBCGLIST.v1Column4PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); try ADOQueryCmd.Connection.BeginTrans; with ORDER_MAIN do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_Main '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' where MAINID=' + QuotedStr(ORDER_MAIN.fieldbyname('MAINID').AsString)); // ShowMessage(SQL.Text); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv1.Controller.EditingController.ShowEdit(); except tv1.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end end; end.