⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitbomrequery.~pas

📁 BOM表
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit UnitBomRequery;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, dxExEdtr, dxCntner, dxTL, dxDBCtrl,
  dxDBGrid, cxTextEdit, cxMaskEdit, cxDBEdit, cxControls, cxContainer,
  cxEdit, cxLabel, ExtCtrls, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd,
  dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns,
  dxPSCore, dxPSdxTLLnk, dxPSdxDBCtrlLnk, dxPSdxDBGrLnk, dxPSContainerLnk;

type
  TFormBomRequery = class(TForm)
    dxDBGridBOM: TdxDBGrid;
    dxDBGridBOMColumn1: TdxDBGridColumn;
    dxDBGridBOMColumn2: TdxDBGridColumn;
    dxDBGridBOMColumn3: TdxDBGridColumn;
    dxDBGridBOMColumn4: TdxDBGridColumn;
    dxDBGridBOMColumn5: TdxDBGridColumn;
    DataSourceBOM: TDataSource;
    ADOQueryBOM: TADOQuery;
    ADOConnection1: TADOConnection;
    Panel2: TPanel;
    cxLabel1: TcxLabel;
    cxLabel8: TcxLabel;
    cxLabel4: TcxLabel;
    cxLabel3: TcxLabel;
    cxLabel2: TcxLabel;
    cxDBMaskEditQTXS: TcxDBMaskEdit;
    cxDBMaskEditXSXS: TcxDBMaskEdit;
    cxLabel9: TcxLabel;
    cxLabel10: TcxLabel;
    cxLabel11: TcxLabel;
    cxDBMaskEditGJCB: TcxDBMaskEdit;
    cxDBMaskEditQTCB: TcxDBMaskEdit;
    cxDBMaskEditXSCB: TcxDBMaskEdit;
    cxDBMaskEditMBBJ: TcxDBMaskEdit;
    cxDBMaskEditDQCB: TcxDBMaskEdit;
    cxDBMaskEditDQXS: TcxDBMaskEdit;
    ADOQueryPrice: TADOQuery;
    DSPrice: TDataSource;
    ADOQueryPriceid: TAutoIncField;
    ADOQueryPriceObjectID: TIntegerField;
    ADOQueryPriceChecherOptID: TIntegerField;
    ADOQueryPriceChecker: TStringField;
    ADOQueryPriceCheckContent: TWideStringField;
    ADOQueryPriceCheckTime: TDateTimeField;
    ADOQueryPriceCheckState: TWideStringField;
    ADOQueryPriceApplyCheckSign: TBooleanField;
    ADOQueryPriceApplyCheckSignTime: TDateTimeField;
    ADOQueryPriceBaojiaBianhao: TWideStringField;
    ADOQueryPriceMaoyiFangshi: TWideStringField;
    ADOQueryPriceHuobiDanwei: TWideStringField;
    ADOQueryPriceBaojiaYouxiaoqi: TWideStringField;
    ADOQueryPriceIsCostCompar: TBooleanField;
    ADOQueryPriceMuBiaoGJ: TFloatField;
    ADOQueryPriceMuBiaoQT: TFloatField;
    ADOQueryPriceMuBiaoQTXS: TBCDField;
    ADOQueryPriceMuBiaoXSY: TFloatField;
    ADOQueryPriceMuBiaoXSYXS: TBCDField;
    ADOQueryPriceMuBiaoDQ: TFloatField;
    ADOQueryPriceMuBiaoBaoJia: TFloatField;
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    LabelXj: TLabel;
    ADOQueryPriceMuBiaoDQXS: TBCDField;
    ADOQueryPriceNotFirstShow: TBooleanField;
    cxDBMaskEditZZS: TcxDBMaskEdit;
    cxLabel5: TcxLabel;
    cxDBMaskEditZZSXS: TcxDBMaskEdit;
    cxLabel6: TcxLabel;
    cxMaskEditXiaoJi: TcxMaskEdit;
    ADOQueryPriceIsJoinBidUP: TBooleanField;
    ADOQueryPriceMuBiaoZZS: TFloatField;
    ADOQueryPriceMuBiaoZZSXS: TBCDField;
    dxDBGridBOMColumn6: TdxDBGridColumn;
    cxLabel7: TcxLabel;
    cxDBMaskEditFJS: TcxDBMaskEdit;
    cxDBMaskEditFJSXS: TcxDBMaskEdit;
    ADOQueryPriceBaoJiaOper: TWideStringField;
    ADOQueryPriceMuBiaoFJS: TFloatField;
    ADOQueryPriceMuBiaoFJSXS: TFloatField;
    cxTextEdit1: TcxTextEdit;
    ADOQueryPricePriceMemo: TWideStringField;
    ButtonRefresh: TButton;
    dxDBGridBOMColumn7: TdxDBGridColumn;
    Button3: TButton;
    dxComponentPrinter1: TdxComponentPrinter;
    dxComponentPrinter1Link1: TdxDBGridReportLink;
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure dxDBGridBOMCustomDrawFooter(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
      AColumn: TdxTreeListColumn; var AText: String; var AColor: TColor;
      AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
    procedure Button1Click(Sender: TObject);
    procedure cxDBMaskEditGJCBPropertiesEditValueChanged(Sender: TObject);
    procedure cxDBMaskEditQTXSPropertiesEditValueChanged(Sender: TObject);
    procedure cxDBMaskEditXSXSPropertiesEditValueChanged(Sender: TObject);
    procedure cxDBMaskEditDQXSPropertiesEditValueChanged(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure cxDBMaskEditZZSPropertiesEditValueChanged(Sender: TObject);
    procedure cxDBMaskEditFJSXSPropertiesEditValueChanged(Sender: TObject);
    procedure ButtonRefreshClick(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    ObjID : Integer;
    TempValue : Double;
    TempSum  :Double;
    TempText : Double;
  end;

var
  FormBomRequery: TFormBomRequery;

implementation

{$R *.dfm}
uses Global, UnitCost;

procedure TFormBomRequery.FormDestroy(Sender: TObject);
begin
  Application.Handle := 0;
end;

procedure TFormBomRequery.FormCreate(Sender: TObject);
var
  i : integer;
begin

  for i := 0 to dxDBGridBOM.ColumnCount-1 do
  begin
    dxDBGridBOM.Columns[i].ReadOnly := True;
    dxDBGridBOM.Columns[i].Width := 90;
  end;

end;

procedure TFormBomRequery.dxDBGridBOMCustomDrawFooter(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
  AColumn: TdxTreeListColumn; var AText: String; var AColor: TColor;
  AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
var
  TempValue : Double;
begin

  if AColumn.Caption = '成本' then
  begin

    AText :=FormatFloat('0.00',TempText);
    TempSum := StrToFloat(AText);
    TempValue := StrToFloat(AText);
    with ADOQueryPrice do
    begin
       if Not (State in [dsInsert , dsEdit]) then Edit;
      FieldByName('MuBiaoZZSXS').Value := 0.17;
      FieldByName('MuBiaoZZS').Value := FieldByName('MuBiaoZZSXS').Value *TempValue;
      TempValue  := TempValue + FieldByName('MuBiaoZZS').AsFloat;

      FieldByName('MuBiaoFJSXS').Value := 0.10;
      FieldByName('MuBiaoFJS').Value := FieldByName('MuBiaoFJSXS').Value *TempValue;
      TempValue  := TempValue + FieldByName('MuBiaoFJS').AsFloat;
     
      //FieldByName('MuBiaoGJ').Value := 0.00;
      TempValue  := TempValue + FieldByName('MuBiaoGJ').AsFloat;

      cxMaskEditXiaoJi.Text := FormatFloat('0.00',TempValue);
      
      FieldByName('MuBiaoQT').Value := FieldByName('MuBiaoQTXS').Value *TempValue;
      TempValue :=  TempValue + FieldByName('MuBiaoQT').AsFloat;
      FieldByName('MuBiaoXSY').Value := FieldByName('MuBiaoXSYXS').Value *TempValue;
      TempValue :=  TempValue + FieldByName('MuBiaoXSY').AsFloat;
      FieldByName('MuBiaoDQ').Value := FieldByName('MuBiaoDQXS').Value *TempValue;
      TempValue :=  TempValue + FieldByName('MuBiaoDQ').AsFloat;
      FieldByName('MuBiaoBaoJia').Value := TempValue;
      UpdateBatch(arAll);
    end;
  end;
end;

procedure TFormBomRequery.Button1Click(Sender: TObject);
begin
  ADOQueryPrice.UpdateBatch(arAll);
  //ADOQueryPrice.Post;
  cxDBMaskEditZZSXS.Properties.ReadOnly := True;
  cxDBMaskEditQTXS.Properties.ReadOnly := True;
  cxDBMaskEditXSXS.Properties.ReadOnly := True;
  cxDBMaskEditDQXS.Properties.ReadOnly := True;
  cxDBMaskEditGJCB.Properties.ReadOnly := True;
   cxDBMaskEditFJS.Properties.ReadOnly := True;
   cxDBMaskEditFJSXS.Properties.ReadOnly := True;
  //cxMaskEditXiaoJi.Properties.ReadOnly := False;
  Button1.Enabled := False;
  with TADOQuery.Create(nil) do
  begin
    Try
      Connection := env.ADOConnection;
      SQL.Text := 'update App_Price set ApplyCheckSign_Price = 0,' +
                ' ChecherOptID_Price = ' + IntToStr(Env.OperatorID)  +
                ' ,CheckTime_Price = ' + DateToStr(now()) +
                ' where ObjectID = ' + IntToStr(ObjID);
      showmessage(SQL.Text);
      ExecSQL;
    finally
      Free;
    end;
  end;
  showmessage('  保存成功  ');
end;

procedure TFormBomRequery.cxDBMaskEditGJCBPropertiesEditValueChanged(
  Sender: TObject);
var
  TempVal : Double;
begin

    with ADOQueryPrice do
    begin
      if active  then
      begin
        if Not (State in [dsInsert , dsEdit] ) then Edit;
        TempVal  := TempSum ;//+ FieldByName('MuBiaoZZS').AsFloat;
        FieldByName('MuBiaoZZS').Value := FieldByName('MuBiaoZZSXS').Value *TempVal;
        TempVal  := TempVal + FieldByName('MuBiaoZZS').AsFloat;
        TempVal  := TempVal + FieldByName('MuBiaoFJS').AsFloat;
        TempVal  := TempVal + FieldByName('MuBiaoGJ').AsFloat;
        cxMaskEditXiaoJi.Text := FormatFloat('0.00',TempVal);

        FieldByName('MuBiaoQT').Value := FieldByName('MuBiaoQTXS').Value *TempVal;
        TempVal :=  TempVal + FieldByName('MuBiaoQT').AsFloat;
        FieldByName('MuBiaoXSY').Value := FieldByName('MuBiaoXSYXS').Value *TempVal;
        TempVal :=  TempVal + FieldByName('MuBiaoXSY').AsFloat;
        FieldByName('MuBiaoDQ').Value := FieldByName('MuBiaoDQXS').Value *TempVal;
        TempVal :=  TempVal + FieldByName('MuBiaoDQ').AsFloat;
        FieldByName('MuBiaoBaoJia').Value := TempVal;
        //UpdateBatch(arAll);
      end;
    end;
end;

procedure TFormBomRequery.cxDBMaskEditQTXSPropertiesEditValueChanged(
  Sender: TObject);
var
  TempVal : Double;
begin

    with ADOQueryPrice do
    begin
      if active  then
      begin
        if Not (State in [dsInsert , dsEdit] ) then Edit;
        TempVal  := TempSum ;//+ FieldByName('MuBiaoZZS').AsFloat;
        FieldByName('MuBiaoZZS').Value := FieldByName('MuBiaoZZSXS').Value *TempVal;
        TempVal  := TempVal + FieldByName('MuBiaoZZS').AsFloat;
        TempVal  := TempVal + FieldByName('MuBiaoFJS').AsFloat;
        TempVal  := TempVal + FieldByName('MuBiaoGJ').AsFloat;
        FieldByName('MuBiaoQT').Value := FieldByName('MuBiaoQTXS').Value *TempVal;
        TempVal :=  TempVal + FieldByName('MuBiaoQT').AsFloat;
        FieldByName('MuBiaoXSY').Value := FieldByName('MuBiaoXSYXS').Value *TempVal;
        TempVal :=  TempVal + FieldByName('MuBiaoXSY').AsFloat;
        FieldByName('MuBiaoDQ').Value := FieldByName('MuBiaoDQXS').Value *TempVal;
        TempVal :=  TempVal + FieldByName('MuBiaoDQ').AsFloat;
        FieldByName('MuBiaoBaoJia').Value := TempVal;
       //UpdateBatch(arAll);
      end;
    end;

end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -