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

📄 pm_pc_check_b.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Pm_Pc_Check_B;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Check_Body, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
  ExtCtrls, ComCtrls, ToolWin, ExtEdit, DBCtrls, linkedit, Mask, jpeg;

Type
  TFrm_Pm_Pc_Check_B = Class(TFrm_Base_Check_Body)
    AdoQry_BodyPcNo: TStringField;
    AdoQry_BodyPcLineId: TAutoIncField;
    AdoQry_BodyItemCode: TStringField;
    AdoQry_BodyPcTaxPrice: TFloatField;
    AdoQry_BodyPcNoTaxPrice: TFloatField;
    AdoQry_BodyPcStArtDate: TDateTimeField;
    AdoQry_BodyPcendDate: TDateTimeField;
    AdoQry_BodyPcStArtQty: TFloatField;
    AdoQry_BodyPcendQty: TFloatField;
    AdoQry_BodyPcPriceType: TIntegerField;
    AdoQry_BodyPCReferencedPrice: TIntegerField;
    AdoQry_BodyItemName: TStringField;
    Label4: TLabel;
    DBText1: TDBText;
    Lbl_PcNo: TLabel;
    Lbl_VendorCode: TLabel;
    Lbl_VendorName: TLabel;
    Lbl_PcTaxRate_Percent: TLabel;
    Lbl_PcRemArk: TLabel;
    Lbl_PcStatus: TLabel;
    Lbl_Currency: TLabel;
    Lbl_BillDate: TLabel;
    Label10: TLabel;
    Edt_PcNo: TEdit;
    MEdt_BillDate: TMaskEdit;
    Label11: TLabel;
    Label12: TLabel;
    ExtEdt_VendorCode: TLinkEdit;
    Edt_VendorName: TEdit;
    Edt_RemArk: TEdit;
    Label13: TLabel;
    Edt_TaxRate: TEdit;
    Label14: TLabel;
    Edt_CurrencyName: TEdit;
    Edt_CurrencyCode: TEdit;
    Label15: TLabel;
    Label16: TLabel;
    Edt_PcStatus: TEdit;
    procedure Act_CheckExecute(Sender: TObject);
    procedure Act_CancelCheckExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations } 
    procedure InitForm(AdOConnection:TAdOConnection;FormStatus:String;
       AdoQuery:TAdoQuery);Override;
  end;

var
  Frm_Pm_Pc_Check_B: TFrm_Pm_Pc_Check_B;

implementation

{$R *.DFM}

{ TFrm_Base_Check_Body1 }

procedure TFrm_Pm_Pc_Check_B.InitForm(AdOConnection: TAdOConnection;
  FormStatus: String; AdoQuery: TAdoQuery);
begin
  inherited;
  //设置表体AdoQry_Body 当前SQL语句(注意要能与表头关联)
  AdoQry_Body.Close;
  AdoQry_Body.SQL.Text:='Select Pcline.*,Item.ItemName from PcLine '+
    'Join Item on Item.ItemCode=PcLine.ItemCode '+
    'Where PcLine.PcNo='''+AdoQry_Head.fieldbyname('PcNo').AsString+'''';
  AdoQry_Body.Open;
  with AdoQry_Head do
  begin//把根据表头当前数据初始化,表头控件
    Lbl_PcNo.Caption:=AdoQry_Head.fieldbyname('PcNo').AsString;
    Lbl_VendorCode.Caption:=fieldbyname('VendorCode').AsString;
    Lbl_VendorName.Caption:=fieldbyname('VendorName').AsString;
    Edt_PcNo.Text := AdoQry_Head.fieldbyname('PcNo').AsString;
    ExtEdt_VendorCode.Text  :=fieldbyname('VendorCode').AsString;
    Edt_VendorName.Text :=fieldbyname('VendorName').AsString;

    if fieldbyname('PcStatus').AsInteger=0 then
    begin
      Lbl_PcStatus.Caption:='未批准';
      Edt_PcStatus.Text:='未批准'
    end
    else
    begin
      Lbl_PcStatus.Caption:='已批准';
      Edt_PcStatus.Text :='已批准';
    end;
    Lbl_PcTaxRate_Percent.Caption:=IntToStr(fieldbyname('PcTaxRate_Percent').AsInteger);
    Edt_TaxRate.Text :=IntToStr(fieldbyname('PcTaxRate_Percent').AsInteger);
    Lbl_Currency.Caption:=fieldbyname('CurrencyCode').AsString+' '
      +fieldbyname('CurrencyName').AsString;
    Edt_CurrencyCode.Text := fieldbyname('CurrencyCode').AsString;
    Edt_CurrencyName.Text := fieldbyname('CurrencyName').AsString;
    Lbl_PcRemArk.Caption:=fieldbyname('RemArk').AsString;
    Lbl_BillDate.Caption:=fieldbyname('PCDate').AsString;
    Edt_RemArk.Text :=fieldbyname('RemArk').AsString;
    MEdt_BillDate.Text :=fieldbyname('PCDate').AsString;
  end;
end;

procedure TFrm_Pm_Pc_Check_B.Act_CheckExecute(Sender: TObject);
begin
  inherited;
  With  AdoQry_Tmp do
  begin
    Close;
    SQl.clear;
    SQL.Add('Update Pc Set PcStatus=1 where PcNo=:PcNO');
    Parameters.ParamByName('PcNo').Value:=AdoQry_Head.fieldbyname('PcNo').AsString;
    ExecSql;
    AdoQry_Head.Edit;
    AdoQry_Head.fieldbyname('PcStatus').AsInteger:=1;
    AdoQry_Head.Post;
    Lbl_PcStatus.Caption:='已批准';
  end;
end;

procedure TFrm_Pm_Pc_Check_B.Act_CancelCheckExecute(Sender: TObject);
begin
  inherited;
  With  AdoQry_Tmp do
  begin
    Close;
    SQl.clear;
    SQL.Add('Update Pc Set PcStatus=0 where PcNo=:PcNO');
    Parameters.ParamByName('PcNo').Value:=AdoQry_Head.fieldbyname('PcNo').AsString;
    ExecSql;
    AdoQry_Head.Edit;
    AdoQry_Head.fieldbyname('PcStatus').AsInteger:=0;
    AdoQry_Head.Post;
    Lbl_PcStatus.Caption:='未批准';
  end;
end;

end.

⌨️ 快捷键说明

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