unit U_CKProductCPKCHXList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, cxCheckBox, Menus, cxCalendar, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, BtnEdit, Math, Clipbrd, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, RM_e_Xls, U_BaseList, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, cxTextEdit, cxPC; type TfrmXGSZList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_1: TDataSource; GPM_1: TcxGridPopupMenu; CDS_Main: TClientDataSet; MovePanel2: TMovePanel; ThreeColorBase: TcxStyleRepository; SHuangSe: TcxStyle; SkyBlue: TcxStyle; Default: TcxStyle; QHuangSe: TcxStyle; Red: TcxStyle; FontBlue: TcxStyle; TextSHuangSe: TcxStyle; FonePurple: TcxStyle; FoneClMaroon: TcxStyle; FoneRed: TcxStyle; RowColor: TcxStyle; handBlack: TcxStyle; cxBlue: TcxStyle; RMDB_Main: TRMDBDataSet; ADOQueryPrint: TADOQuery; RM1: TRMGridReport; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; RMDBHZ: TRMDBDataSet; RMDBPRT: TRMDBDataSet; Panel1: TPanel; CDS_Label: TClientDataSet; RMXLSExport1: TRMXLSExport; DS_2: TDataSource; CDS_2: TClientDataSet; GPM_2: TcxGridPopupMenu; Label5: TLabel; Label11: TLabel; orderNo: TEdit; P_HX: TEdit; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; cxTabSheet2: TcxTabSheet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column4: TcxGridDBColumn; v1Column1: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel4: TPanel; Label20: TLabel; Panel10: TPanel; Image2: TImage; Button1: TButton; RadioGroup1: TRadioGroup; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; TV2Column1: TcxGridDBColumn; TV2Column2: TcxGridDBColumn; TV2Column3: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; TV2Column4: TcxGridDBColumn; TV2Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; YWC: TCheckBox; cxGrid3: TcxGrid; TV3: TcxGridDBTableView; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; CDS_BS1: TClientDataSet; DS_BS1: TDataSource; TV3Column1: TcxGridDBColumn; TV3Column2: TcxGridDBColumn; TV3Column3: TcxGridDBColumn; TV3Column4: TcxGridDBColumn; ADOQuery1: TADOQuery; Edit1: TEdit; Button2: TButton; Edit2: TEdit; Button3: TButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure BTNPClick(Sender: TObject); procedure BTLPClick(Sender: TObject); procedure TCBNORChange(Sender: TObject); procedure MPRTCodeNameKeyPress(Sender: TObject; var Key: Char); procedure CPTypeKeyPress(Sender: TObject; var Key: Char); procedure TV2DblClick(Sender: TObject); procedure cxPageControl1Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TextEdit(Sender: TObject); procedure Tv1Column3PropertiesEditValueChanged(Sender: TObject); procedure TV2Column1PropertiesEditValueChanged(Sender: TObject); procedure cxGridDBColumn4PropertiesEditValueChanged(Sender: TObject); procedure P_HXKeyPress(Sender: TObject; var Key: Char); procedure orderNoKeyPress(Sender: TObject; var Key: Char); procedure TV2Column4PropertiesEditValueChanged(Sender: TObject); procedure TV2Column4PropertiesChange(Sender: TObject); procedure Tv1Column5PropertiesEditValueChanged(Sender: TObject); procedure Tv1Column6PropertiesEditValueChanged(Sender: TObject); procedure YWCClick(Sender: TObject); procedure TV2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure TV3Column1PropertiesChange(Sender: TObject); procedure cxGridDBColumn8PropertiesChange(Sender: TObject); procedure cxGridDBColumn8PropertiesEditValueChanged(Sender: TObject); procedure TV3Column1PropertiesEditValueChanged(Sender: TObject); procedure TV2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); procedure HJJE(); { Private declarations } public issel: integer; CANSHU2: string; { Public declarations } end; var frmXGSZList: TfrmXGSZList; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_ProductOrderListSel, U_LbaelMap; {$R *.dfm} procedure TfrmXGSZList.HJJE(); var FZXG1, FZZL1, FZBS1: double; begin if TV3.DataController.Summary.FooterSummaryValues[1] <> NULL then FZXG1 := TV3.DataController.Summary.FooterSummaryValues[1] else FZXG1 := 0; if TV3.DataController.Summary.FooterSummaryValues[0] <> NULL then FZZL1 := TV3.DataController.Summary.FooterSummaryValues[0] else FZZL1 := 0; if TV3.DataController.Summary.FooterSummaryValues[2] <> NULL then FZBS1 := TV3.DataController.Summary.FooterSummaryValues[2] else FZBS1 := 0; if FZBS1 <> 0 then begin with CDS_2 do begin Edit; CDS_2.FieldByName('XG').asstring := floattostr(FZXG1 / FZBS1); CDS_2.FieldByName('DBZL').asstring := floattostr(FZZL1 / FZBS1); Post; end; tv2.Controller.EditingController.ShowEdit(); end; end; procedure TfrmXGSZList.FormDestroy(Sender: TObject); begin inherited; frmXGSZList := nil; end; procedure TfrmXGSZList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmXGSZList.FormCreate(Sender: TObject); begin inherited; canshu2 := Trim(Self.fParameters2); end; procedure TfrmXGSZList.InitGrid(); var WSql: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; WSql := SGetFilters(Panel1, 1, 2); if Trim(WSql) <> '' then WSql := ' and ' + WSql; try ADOQueryMain.DisableControls; case cxPageControl1.ActivePageIndex of 0: begin with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select distinct P_HX,ORDERNO,P_CODENAME,CHECK2=CAST((CASE WHEN 1=2 THEN 1 ELSE 0 END )AS BIT),XG=0.00,chang=0.00,KUAN=0.00,GAO=0.00,dbzl=0.00 FROM CK_CLOTH_CR A'); SQL.Add('WHERE NOT EXISTS(SELECT XGID FROM ORDER_XG B WHERE B.ORDERNO=A.ORDERNO AND A.P_HX=B.P_HX)' + (WSql)); sql.Add('and not EXISTS(select status from jyorder_main c where c.mainid=a.mainid and c.status=''2'')'); sql.Add('and exists(select jyid from jy_cloth E WHERE E.JYID=A.JYID AND E.fdanwei= ' + QuotedStr(Trim(canshu2))); sql.Add(')'); SQL.Add('ORDER BY orderno,p_hx'); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQueryMain, CDS_2); SInitCDSData(ADOQueryMain, CDS_2); end; 1: begin with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select * FROM ORDER_XG A'); sql.Add('where 1=1 ' + (WSql)); // if YWC.Checked = FALSE then // begin // SQL.Add('AND ISNULL(XG,0)=0 OR ISNULL(DBZL,0)=0'); // end; sql.Add('and not EXISTS(select status from jyorder_main c where c.orderno=a.orderno and c.status=''2'')'); sql.Add('and exists(select * from jyorder_main E WHERE E.ORDERNO=A.ORDERNO AND ISNULL(E.danwei,''内'')= ' + QuotedStr(Trim(canshu2))); sql.Add(')'); SQL.Add('ORDER BY orderno,p_hx'); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; end; MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; end; end; procedure TfrmXGSZList.TBRafreshClick(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmXGSZList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmXGSZList.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption) + '1Tv2', Tv2, '成品仓库2'); WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '成品仓库'); Close; end; procedure TfrmXGSZList.FormShow(Sender: TObject); begin inherited; CurrentPage := 1; RecordsNumber := 500; ReadCxGrid(trim(self.Caption) + '1Tv2', Tv2, '成品仓库2'); ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '成品仓库'); end; procedure TfrmXGSZList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('库存列表', cxGrid2); end; procedure TfrmXGSZList.Tv1Column3PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName: string; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_main do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; tv1.Controller.EditingController.ShowEdit(); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update order_xg '); SQL.Add(' Set ' + FFieldName + '=' + mvalues); sql.Add(' where xgid=''' + Trim(CDS_main.fieldbyname('xgid').AsString) + ''''); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.Tv1Column5PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName: string; FCHANG, FKUAN, FGAO, FXG: Double; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_MAIN do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; tv1.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin with CDS_MAIN do begin Edit; FieldByName(FFieldName).Value := mvalues; Post; end; FCHANG := StrToFloatDef(CDS_MAIN.FieldByName('CHANG').ASSTRING, 0); FKUAN := StrToFloatDef(CDS_MAIN.FieldByName('KUAN').ASSTRING, 0); FGAO := StrToFloatDef(CDS_MAIN.FieldByName('GAO').ASSTRING, 0); FXG := FCHANG * FKUAN * FGAO / 1000000; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update order_xg '); SQL.Add(' Set ' + FFieldName + '=' + mvalues); SQL.Add(',XG=' + FloatToStr(FXG)); sql.Add(' where xgid=''' + Trim(CDS_main.fieldbyname('xgid').AsString) + ''''); ExecSQL; end; with CDS_MAIN do begin Edit; FieldByName('XG').Value := FXG; Post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.Tv1Column6PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName: string; FCHANG, FKUAN, FGAO, FXG: Double; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_MAIN do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update order_xg '); SQL.Add(' Set ' + FFieldName + '=' + mvalues); sql.Add(' where xgid=''' + Trim(CDS_main.fieldbyname('xgid').AsString) + ''''); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmXGSZList.TextEdit(Sender: TObject); var mvalues, FFieldName, MAXNO: string; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_2 do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; tv2.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin if GetLSNo(ADOQUERYTEMP, MAXNO, 'XG', 'order_xg', 3, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into order_xg (xgid,orderno,p_hx,xg) '); sql.Add('values(' + QuotedStr(TRIM(MAXNO))); SQL.Add(',' + QuotedStr(TRIM(cds_2.fieldbyname('ORDERNO').AsString))); SQL.Add(',' + QuotedStr(TRIM(cds_2.fieldbyname('P_HX').AsString))); SQL.Add(',' + (TRIM(cds_2.fieldbyname('XG').AsString))); SQL.Add(')'); ShowMessage(SQL.Text); ExecSQL; end; CDS_2.Delete; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.TV2Column1PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName: string; FCHANG, FKUAN, FGAO, FXG: Double; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_2 do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; tv2.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin with CDS_2 do begin Edit; FieldByName(FFieldName).Value := mvalues; Post; end; FCHANG := StrToFloatDef(CDS_2.FieldByName('CHANG').ASSTRING, 0); FKUAN := StrToFloatDef(CDS_2.FieldByName('KUAN').ASSTRING, 0); FGAO := StrToFloatDef(CDS_2.FieldByName('GAO').ASSTRING, 0); FXG := Roundfloat(FCHANG * FKUAN * FGAO / 1000000, 2); // ShowMessage(FloatToStr(FXG)); with CDS_2 do begin Edit; FieldByName('XG').asfloat := FXG; Post; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.TV2Column4PropertiesChange(Sender: TObject); var mvalues, FFieldName, MAXNO: string; begin inherited; // if trim(mvalues) <> '' then // begin if GetLSNo(ADOQUERYTEMP, MAXNO, 'XG', 'order_xg', 3, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; if cds_2.fieldbyname('CHANG').AsString = '' then begin cds_2.fieldbyname('CHANG').AsString := '0'; end; if cds_2.fieldbyname('KUAN').AsString = '' then begin cds_2.fieldbyname('KUAN').AsString := '0'; end; if cds_2.fieldbyname('GAO').AsString = '' then begin cds_2.fieldbyname('GAO').AsString := '0'; end; if cds_2.fieldbyname('XG').AsString = '' then begin cds_2.fieldbyname('XG').AsString := '0'; end; if cds_2.fieldbyname('dbzl').AsString = '' then begin cds_2.fieldbyname('dbzl').AsString := '0'; end; if cds_2.fieldbyname('XG').AsString = '0' then begin if Application.MessageBox('所选数据箱规为0,继续?', '提示', 32 + 4) <> IDYES then begin cds_2.fieldbyname('check2').AsBoolean := False; Exit; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into order_xg (xgid,orderno,p_hx,xg,CHANG,KUAN,GAO,dbzl) '); sql.Add('values(' + QuotedStr(TRIM(MAXNO))); SQL.Add(',' + QuotedStr(TRIM(cds_2.fieldbyname('ORDERNO').AsString))); SQL.Add(',' + QuotedStr(TRIM(cds_2.fieldbyname('P_HX').AsString))); SQL.Add(',' + (TRIM(cds_2.fieldbyname('XG').AsString))); SQL.Add(',' + (TRIM(cds_2.fieldbyname('CHANG').AsString))); SQL.Add(',' + (TRIM(cds_2.fieldbyname('KUAN').AsString))); SQL.Add(',' + (TRIM(cds_2.fieldbyname('GAO').AsString))); SQL.Add(',' + (TRIM(cds_2.fieldbyname('dbzl').AsString))); SQL.Add(')'); // ShowMessage(SQL.Text); ExecSQL; end; CDS_2.Delete; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.TV2Column4PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName, MAXNO: string; begin inherited; // if trim(mvalues) <> '' then // begin if cds_2.FieldByName('check2').AsBoolean then begin if GetLSNo(ADOQUERYTEMP, MAXNO, 'XG', 'order_xg', 3, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into order_xg (xgid,orderno,p_hx,xg) '); sql.Add('values(' + QuotedStr(TRIM(MAXNO))); SQL.Add(',' + QuotedStr(TRIM(cds_2.fieldbyname('ORDERNO').AsString))); SQL.Add(',' + QuotedStr(TRIM(cds_2.fieldbyname('P_HX').AsString))); SQL.Add(',' + (TRIM(cds_2.fieldbyname('XG').AsString))); SQL.Add(')'); // ShowMessage(SQL.Text); ExecSQL; end; CDS_2.Delete; tv2.Controller.EditingController.ShowEdit(); end; end; procedure TfrmXGSZList.TV2DblClick(Sender: TObject); begin AssignmentControls(Panel1, CDS_2, '0'); end; procedure TfrmXGSZList.TV2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); var WSql: string; begin try ADOQuery1.DisableControls; with ADOQuery1 do begin Filtered := False; Close; sql.Clear; SQL.Add('SELECT orderno,COUNT(BAOID)gs,BS,dbzl=0.00,XG=0.00,zzl=0.00,ZXG=0.00 FROM ('); SQL.Add('select orderno,BAOID,COUNT(BAOID)BS '); SQL.Add('from CK_Cloth_CR where crflag=''入库'' and orderno=' + QuotedStr(Trim(CDS_2.fieldbyname('orderno').AsString))); SQL.Add('AND BAOID IS NOT NULL GROUP BY BAOID,orderno )AA GROUP BY orderno,BS'); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQuery1, CDS_BS1); SInitCDSData(ADOQuery1, CDS_BS1); finally ADOQuery1.EnableControls; end; end; procedure TfrmXGSZList.TV2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var WSql: string; begin try ADOQuery1.DisableControls; with ADOQuery1 do begin Filtered := False; Close; sql.Clear; SQL.Add('SELECT orderno,COUNT(BAOID)gs,BS,dbzl=0.00,XG=0.00,zzl=0.00,ZXG=0.00 FROM ('); SQL.Add('select orderno,BAOID,COUNT(BAOID)BS '); SQL.Add('from CK_Cloth_CR where crflag=''入库'' and orderno=' + QuotedStr(Trim(CDS_2.fieldbyname('orderno').AsString))); SQL.Add('AND BAOID IS NOT NULL GROUP BY BAOID,orderno )AA GROUP BY orderno,BS'); SQL.Add('ORDER BY BS'); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQuery1, CDS_BS1); SInitCDSData(ADOQuery1, CDS_BS1); finally ADOQuery1.EnableControls; end; end; procedure TfrmXGSZList.TV3Column1PropertiesChange(Sender: TObject); var mvalues, FFieldName: string; FBS, FDBZL, FXG, FZZL, FZXG: Double; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(TV3.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_BS1 do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; TV3.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin with CDS_BS1 do begin Edit; FieldByName(FFieldName).Value := mvalues; Post; end; FBS := StrToFloatDef(CDS_BS1.FieldByName('BS').ASSTRING, 0); FXG := StrToFloatDef(CDS_BS1.FieldByName('XG').ASSTRING, 0); FDBZL := StrToFloatDef(CDS_BS1.FieldByName('DBZL').ASSTRING, 0); FZZL := FDBZL * FBS; FZXG := FXG * FBS; // ShowMessage(FloatToStr(FXG)); with CDS_BS1 do begin Edit; FieldByName('ZZL').asfloat := FZZL; FieldByName('ZXG').asfloat := FZXG; Post; end; tv3.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.TV3Column1PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName: string; FBS, FDBZL, FXG, FZZL, FZXG: Double; FZXG1, FZZL1, FZBS1: double; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(TV3.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_BS1 do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; // TV3.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin FBS := StrToFloatDef(CDS_BS1.FieldByName('gs').ASSTRING, 0); FXG := StrToFloatDef(CDS_BS1.FieldByName('XG').ASSTRING, 0); FDBZL := StrToFloatDef(CDS_BS1.FieldByName('DBZL').ASSTRING, 0); FZZL := FDBZL * FBS; FZXG := FXG * FBS; // ShowMessage(FloatToStr(FXG)); with CDS_BS1 do begin Edit; FieldByName('ZZL').asfloat := FZZL; FieldByName('ZXG').asfloat := FZXG; Post; end; tv3.Controller.EditingController.ShowEdit(); if TV3.DataController.Summary.FooterSummaryValues[1] <> NULL then FZXG1 := TV3.DataController.Summary.FooterSummaryValues[1] else FZXG1 := 0; if TV3.DataController.Summary.FooterSummaryValues[0] <> NULL then FZZL1 := TV3.DataController.Summary.FooterSummaryValues[0] else FZZL1 := 0; if TV3.DataController.Summary.FooterSummaryValues[2] <> NULL then FZBS1 := TV3.DataController.Summary.FooterSummaryValues[2] else FZBS1 := 0; if FZBS1 <> 0 then begin CDS_2.DisableControls; with CDS_2 do begin Edit; CDS_2.FieldByName('XG').asstring := floattostr(FZXG1 / FZBS1); CDS_2.FieldByName('DBZL').asstring := floattostr(FZZL1 / FZBS1); Post; end; tv2.Controller.EditingController.ShowEdit(); CDS_2.EnableControls; end; // HJJE(); end; procedure TfrmXGSZList.YWCClick(Sender: TObject); begin inherited; InitGrid(); end; procedure TfrmXGSZList.BTNPClick(Sender: TObject); begin if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then CurrentPage := CurrentPage + 1; InitGrid(); end; procedure TfrmXGSZList.Button2Click(Sender: TObject); begin inherited; if Edit1.Text = '' then begin Application.MessageBox('请填入箱规', '提示', 0); Exit; end; if CDS_2.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; with CDS_2 do begin First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin Edit; FieldByName('XG').Value := StrToFloatDef(Edit1.Text, 0); Post; end; Next; end; end; end; procedure TfrmXGSZList.Button3Click(Sender: TObject); begin inherited; if Edit2.Text = '' then begin Application.MessageBox('请填入箱规', '提示', 0); Exit; end; if CDS_2.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; with CDS_2 do begin First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin Edit; FieldByName('dbzl').Value := StrToFloatDef(Edit2.Text, 0); Post; end; Next; end; end; end; procedure TfrmXGSZList.BTLPClick(Sender: TObject); begin if CurrentPage > 1 then CurrentPage := CurrentPage - 1; InitGrid(); end; procedure TfrmXGSZList.TCBNORChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmXGSZList.ToolButton1Click(Sender: TObject); begin inherited; if CDS_2.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; CDS_2.DisableControls; try ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin ADOQueryCmd.append; ADOQueryCmd.fieldbyname('SubId').Value := Trim(CDS_2.fieldbyname('JYID').AsString); ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode); ADOQueryCmd.post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; end; CDS_2.EnableControls; end; procedure TfrmXGSZList.MPRTCodeNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmXGSZList.N1Click(Sender: TObject); begin inherited; SelOKNoFiler(TV2, true); end; procedure TfrmXGSZList.N2Click(Sender: TObject); begin inherited; SelOKNoFiler(TV2, false); end; procedure TfrmXGSZList.orderNoKeyPress(Sender: TObject; var Key: Char); begin inherited; if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmXGSZList.P_HXKeyPress(Sender: TObject; var Key: Char); begin inherited; if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmXGSZList.CPTypeKeyPress(Sender: TObject; var Key: Char); begin CurrentPage := 1; InitGrid(); end; procedure TfrmXGSZList.cxGridDBColumn4PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName, MAXNO: string; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_2 do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; tv2.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin // if GetLSNo(ADOQUERYTEMP, MAXNO, 'XG', 'order_xg', 3, 1) = False then // begin // // Application.MessageBox('取最大号失败!', '提示', 0); // Exit; // end; // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('insert into order_xg (xgid,orderno,p_hx,xg) '); // sql.Add('values(' + QuotedStr(TRIM(MAXNO))); // SQL.Add(',' + QuotedStr(TRIM(cds_2.fieldbyname('ORDERNO').AsString))); // SQL.Add(',' + QuotedStr(TRIM(cds_2.fieldbyname('P_HX').AsString))); // SQL.Add(',' + (TRIM(cds_2.fieldbyname('XG').AsString))); // SQL.Add(')'); //// ShowMessage(SQL.Text); // ExecSQL; // end; // CDS_2.Delete; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.cxGridDBColumn8PropertiesChange(Sender: TObject); var mvalues, FFieldName: string; FBS, FDBZL, FXG, FZZL, FZXG: Double; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(TV3.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_BS1 do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; TV3.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin with CDS_BS1 do begin Edit; FieldByName(FFieldName).Value := mvalues; Post; end; FBS := StrToFloatDef(CDS_BS1.FieldByName('BS').ASSTRING, 0); FXG := StrToFloatDef(CDS_BS1.FieldByName('XG').ASSTRING, 0); FDBZL := StrToFloatDef(CDS_BS1.FieldByName('DBZL').ASSTRING, 0); FZZL := FDBZL * FBS; FZXG := FXG * FBS; // ShowMessage(FloatToStr(FXG)); with CDS_BS1 do begin Edit; FieldByName('ZZL').asfloat := FZZL; FieldByName('ZXG').asfloat := FZXG; Post; end; tv3.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.cxGridDBColumn8PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName: string; FBS, FDBZL, FXG, FZZL, FZXG: Double; begin inherited; mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(TV3.Controller.FocusedColumn.DataBinding.FilterFieldName); if trim(mvalues) = '' then begin mvalues := '0'; end; with CDS_BS1 do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; TV3.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin with CDS_BS1 do begin Edit; FieldByName(FFieldName).Value := mvalues; Post; end; FBS := StrToFloatDef(CDS_BS1.FieldByName('BS').ASSTRING, 0); FXG := StrToFloatDef(CDS_BS1.FieldByName('XG').ASSTRING, 0); FDBZL := StrToFloatDef(CDS_BS1.FieldByName('DBZL').ASSTRING, 0); FZZL := FDBZL * FBS; FZXG := FXG * FBS; // ShowMessage(FloatToStr(FXG)); with CDS_BS1 do begin Edit; FieldByName('ZZL').asfloat := FZZL; FieldByName('ZXG').asfloat := FZXG; Post; end; tv3.Controller.EditingController.ShowEdit(); end; procedure TfrmXGSZList.cxPageControl1Change(Sender: TObject); begin CurrentPage := 1; InitGrid(); // case cxPageControl1.ActivePageIndex of // 0: // YWC.Visible := FALSE; // 1: // YWC.Visible := TRUE; // // end; end; end.