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

📄 pur500_02.pas

📁 开源的网站整站程序,功能强大带采集系统.
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit Pur500_02;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BAS200_13, DB, ADODB, ActnList, Menus, ComCtrls, ToolWin,
  StdCtrls, wwdbdatetimepicker, Buttons, Mask, wwdbedit, Wwdotdot, Grids,
  Wwdbigrd, Wwdbgrid, dxdbtrel;

type
  TPur500_02Form = class(TBas200_13Form)
    lblDept: TLabel;
    lblChecker: TLabel;
    lblType: TLabel;
    lblDate: TLabel;
    lblPerson: TLabel;
    sbPerson: TSpeedButton;
    lblStatues: TLabel;
    lblFrom: TLabel;
    lblCheckDate: TLabel;
    edtChecker: TEdit;
    cbType: TComboBox;
    edtDate: TwwDBDateTimePicker;
    edtPerson: TEdit;
    edtStatus: TEdit;
    cbFrom: TComboBox;
    edtCheckDate: TEdit;
    edtPersonName: TEdit;
    PageControl2: TPageControl;
    tsPlace: TTabSheet;
    GroupBox2: TGroupBox;
    lblPlace: TLabel;
    sbPlace: TSpeedButton;
    lblPlacePhone: TLabel;
    lblPlaceContact: TLabel;
    lblPlaceAddress: TLabel;
    lblRegion: TLabel;
    lblPlaceFax: TLabel;
    lblPlacePosit: TLabel;
    lblPlaceDept: TLabel;
    edtPlace: TEdit;
    edtRegion: TEdit;
    edtPlacePhone: TEdit;
    edtPlaceAddress: TEdit;
    edtPlaceFax: TEdit;
    edtPlacePosit: TEdit;
    edtPlaceDept: TEdit;
    tsRemark: TTabSheet;
    memRemark: TMemo;
    PageControl1: TPageControl;
    tsItem: TTabSheet;
    wwDBGrid1: TwwDBGrid;
    edtItem: TwwDBComboDlg;
    edtUnit: TwwDBComboDlg;
    ADOQuery1P500A_001: TWideStringField;
    ADOQuery1P100_002: TWideStringField;
    ADOQuery1P500A_002: TSmallintField;
    ADOQuery1P500A_003: TDateTimeField;
    ADOQuery1P500A_004: TSmallintField;
    ADOQuery1P500A_005: TSmallintField;
    ADOQuery1P500A_006: TWideStringField;
    ADOQuery1H150_002: TWideStringField;
    ADOQuery1H150_003: TWideStringField;
    ADOQuery1P500A_007: TIntegerField;
    ADOQuery1H100_002: TWideStringField;
    ADOQuery1P500A_008: TIntegerField;
    ADOQuery1P500A_009: TWideStringField;
    ADOQuery1P500A_010: TDateTimeField;
    ADOQuery1P500A_011: TWideStringField;
    ADOQuery1P500A_012: TMemoField;
    ADOQuery1P500A_013: TDateTimeField;
    ADOQuery1P500A_014: TWideStringField;
    ADOQuery1P500A_015: TDateTimeField;
    ADOQuery1P500A_016: TWideStringField;
    qryPur100: TADOQuery;
    qryHrm150: TADOQuery;
    qryHrm150H150_001: TAutoIncField;
    qryHrm150H150_002: TWideStringField;
    qryHrm150H150_003: TWideStringField;
    qryInv150: TADOQuery;
    qryInv150I150_001: TAutoIncField;
    qryInv150I150_002: TWideStringField;
    qryInv150I150_003: TWideStringField;
    qryInv150I150_004: TWideStringField;
    qryInv150I150_008: TWideStringField;
    qryInv150I140_002: TWideStringField;
    qryInv150I140_003: TWideStringField;
    qryInv150I140_001: TAutoIncField;
    qryInv140: TADOQuery;
    qryInv140I140_001: TAutoIncField;
    qryInv140I140_002: TWideStringField;
    qryInv140I140_003: TWideStringField;
    qryOrd152: TADOQuery;
    qryOrd152O152_001: TIntegerField;
    qryOrd152O152_002: TWideStringField;
    qryOrd152O120_002: TWideStringField;
    qryOrd152O152_004: TWideStringField;
    qryOrd152O152_005: TWideStringField;
    qryOrd152O152_006: TWideStringField;
    qryOrd152O152_007: TWideStringField;
    qryOrd152O151_002: TWideStringField;
    qryOrd152O151_003: TWideStringField;
    qryOrd152O151_004: TWideStringField;
    qryOrd152O152_003: TIntegerField;
    qryOrd152O152_008: TWideStringField;
    qryOrd152O152_009: TMemoField;
    qryOrd152O152_010: TBooleanField;
    adsPur500B: TADODataSet;
    adsPur500BFItemID: TStringField;
    adsPur500BFItemName: TStringField;
    adsPur500BFEngItemName: TStringField;
    adsPur500BFItemSpec: TStringField;
    adsPur500BFUnitID: TStringField;
    adsPur500BFUnitName: TStringField;
    adsPur500BFUnitRate: TFloatField;
    adsPur500BFQty: TFloatField;
    adsPur500BFDate: TDateTimeField;
    adsPur500BFPlace: TStringField;
    adsPur500BFFromID: TStringField;
    adsPur500BFLineNo: TIntegerField;
    adsPur500BFRemark: TStringField;
    adsPur500BFNo: TIntegerField;
    adsPur500BFItemNo: TIntegerField;
    adsPur500BFUnitNo: TIntegerField;
    dsPur500B: TDataSource;
    qryPur500B: TADOQuery;
    ADODataSet1: TADODataSet;
    qryHrm100: TADOQuery;
    edtPlaceContact: TEdit;
    sbPlaceContact: TSpeedButton;
    qryOrd151: TADOQuery;
    qryOrd151O151_001: TIntegerField;
    qryOrd151O151_002: TWideStringField;
    qryOrd151O151_003: TWideStringField;
    qryOrd151O151_004: TWideStringField;
    qryOrd151O151_005: TWideStringField;
    qryOrd151O151_006: TWideStringField;
    qryOrd151O151_007: TWideStringField;
    qryOrd151O151_008: TWideStringField;
    qryOrd151O151_009: TWideStringField;
    qryOrd151O151_010: TWideStringField;
    qryOrd151O151_011: TBooleanField;
    qryHrm150H100_002: TWideStringField;
    qryHrm150H100_001: TAutoIncField;
    dsHrm100: TDataSource;
    cbDept: TdxLookupTreeView;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Action1Execute(Sender: TObject);
    procedure Action2Execute(Sender: TObject);
    procedure ADOQuery1P500A_004GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure ADOQuery1P500A_005GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure wwDBGrid1UpdateFooter(Sender: TObject);
    procedure edtItemCustomDlg(Sender: TObject);
    procedure edtItemEnter(Sender: TObject);
    procedure edtUnitCustomDlg(Sender: TObject);
    procedure sbPersonClick(Sender: TObject);
    procedure edtPersonExit(Sender: TObject);
    procedure sbPlaceClick(Sender: TObject);
    procedure edtPlaceExit(Sender: TObject);
    procedure sbPlaceContactClick(Sender: TObject);
    procedure edtPlaceContactExit(Sender: TObject);
    procedure adsPur500BNewRecord(DataSet: TDataSet);
    procedure adsPur500BBeforePost(DataSet: TDataSet);
    procedure wwDBGrid1Enter(Sender: TObject);
    procedure wwDBGrid1Exit(Sender: TObject);
  private
    AKeyEvent:TKeyEvent;
    AStatus:array[0..3] of string;
    AFrom:array[0..2] of string;
    ALastNo:Integer;
    procedure CheckItem;
    procedure CheckUnit;
    procedure GetDetailData;
    procedure SetDBGrid;
    procedure GetCustPlaceInfo;
    { Private declarations }
  public
    procedure OpenData(ACode:String);
    procedure SetInterface; override;
    procedure GetDataInfo; override;
    procedure InsertEvent; override;
    procedure UpdateEvent; override;
    procedure DeleteEvent; override;
    procedure SetEmptyInit; override;
    procedure TableBeforePost; override;
    procedure TableAfterPost; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Pur500_02Form: TPur500_02Form;

implementation

uses SYSDATA, CommFun, HwSelData, PurComm;

{$R *.dfm}

procedure TPur500_02Form.OpenData(ACode:String);
begin
  if ACode='' then AMode:='ADD' else AMode:='UPD';
  ADOQuery1.DisableControls;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select A.*,');
  ADOQuery1.SQL.Add('    B.P100_002,');
  ADOQuery1.SQL.Add('    C.H150_002,C.H150_003,');
  ADOQuery1.SQL.Add('    D.H100_002');
  ADOQuery1.SQL.Add('from PUR500A A,PUR100 B,HRM150 C,HRM100 D');
  ADOQuery1.SQL.Add('where A.P500A_002=B.P100_001 and A.P500A_007=C.H150_001 and A.P500A_008=D.H100_001');
  ADOQuery1.SQL.Add('order by A.P500A_001');
  ADOQuery1.Open;
  ADOQuery1.Locate('P500A_001',ACode,[]);
  ADOQuery1.EnableControls;
  ADOQuery1AfterScroll(ADOQuery1);
end;

procedure TPur500_02Form.SetDBGrid;
var
  I:Integer;
begin
  for I:=0 to wwDBGrid1.Selected.Count-1 do wwDBGrid1.Columns[I].ReadOnly:=True;

  wwDBGrid1.ColumnByName('FItemID').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FUnitID').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FQty').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FDate').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FRemark').ReadOnly:=False;

  //允许同一张采购定单中选择多个交货地址
  tsPlace.TabVisible:=GetSysParams('PUR0003')='N';
  adsPur500BFPlace.Visible:=not tsPlace.TabVisible;
  wwDBGrid1.Refresh;
end;

procedure TPur500_02Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('PUR50002001');  //采购申请维护
  gbInfo.Caption:=GetDBString('PUR50002002');  //基本信息
  tsPlace.Caption:=GetDBString('PUR50002003');  //交货地址
  tsRemark.Caption:=GetDBString('PUR50002004');  //备注信息
  tsItem.Caption:=GetDBString('PUR50002005');  //产品信息

  lblCode.Caption:=GetDBString('PUR50002006');  //请购单号
  lblType.Caption:=GetDBString('PUR50002007');  //请购类型
  lblDate.Caption:=GetDBString('PUR50002008');  //请购日期
  lblStatues.Caption:=GetDBString('PUR50002009');  //定单状态
  lblPerson.Caption:=GetDBString('PUR50002010');  //请购人员
  lblDept.Caption:=GetDBString('PUR50002011');  //请购部门
  lblFrom.Caption:=GetDBString('PUR50002012');  //来源类型
  lblCheckDate.Caption:=GetDBString('PUR50002013');  //审核日期
  lblChecker.Caption:=GetDBString('PUR50002014');  //审核人员

  lblPlace.Caption:=GetDBString('PUR50002015');  //交货地点
  lblRegion.Caption:=GetDBString('PUR50002016');  //所属地区
  lblPlacePhone.Caption:=GetDBString('PUR50002017');  //电话号码
  lblPlaceAddress.Caption:=GetDBString('PUR50002018');  //交货地址
  lblPlaceFax.Caption:=GetDBString('PUR50002019');  //传真号码
  lblPlaceContact.Caption:=GetDBString('PUR50002020');  //联系人员
  lblPlaceDept.Caption:=GetDBString('PUR50002021');  //部门名称
  lblPlacePosit.Caption:=GetDBString('PUR50002022');  //职务名称

  ADOQuery1P500A_001.DisplayLabel:=GetDBString('PUR50002023');  //请购单号
  ADOQuery1P100_002.DisplayLabel:=GetDBString('PUR50002024');  //请购类型
  ADOQuery1P500A_003.DisplayLabel:=GetDBString('PUR50002025');  //请购日期
  ADOQuery1P500A_004.DisplayLabel:=GetDBString('PUR50002026');  //请购状态
  ADOQuery1P500A_005.DisplayLabel:=GetDBString('PUR50002027');  //来源类型
  ADOQuery1H150_002.DisplayLabel:=GetDBString('PUR50002028');  //请购人号
  ADOQuery1H150_003.DisplayLabel:=GetDBString('PUR50002029');  //请购人名
  ADOQuery1H100_002.DisplayLabel:=GetDBString('PUR50002030');  //请购部门
  ADOQuery1P500A_009.DisplayLabel:=GetDBString('PUR50002031');  //收货地点
  ADOQuery1P500A_010.DisplayLabel:=GetDBString('PUR50002032');  //审核日期
  ADOQuery1P500A_011.DisplayLabel:=GetDBString('PUR50002033');  //审核人员
  ADOQuery1P500A_013.DisplayLabel:=GetDBString('PUR50002034');  //制单日期
  ADOQuery1P500A_014.DisplayLabel:=GetDBString('PUR50002035');  //制单人员
  ADOQuery1P500A_015.DisplayLabel:=GetDBString('PUR50002036');  //修改日期
  ADOQuery1P500A_016.DisplayLabel:=GetDBString('PUR50002037');  //修改人员

  //定单状态(0=新建,1=核准,2=完成,3=取消)
  AStatus[0]:=GetDBString('PUR50002038');  //新建
  AStatus[1]:=GetDBString('PUR50002039');  //核准
  AStatus[2]:=GetDBString('PUR50002040');  //完成
  AStatus[3]:=GetDBString('PUR50002041');  //取消

  //来源类型(0=手工输入,1=自动补库,2=物料需求)
  AFrom[0]:=GetDBString('PUR50002042');  //手工输入
  AFrom[1]:=GetDBString('PUR50002043');  //自动补库
  AFrom[2]:=GetDBString('PUR50002044');  //物料需求
  cbFrom.Clear;
  cbFrom.Items.Add(AFrom[0]);
  cbFrom.Items.Add(AFrom[1]);
  cbFrom.Items.Add(AFrom[2]);
  cbFrom.ItemIndex:=0;
  Action1.Caption:=GetDBString('PUR50002045');  //核准
  Action2.Caption:=GetDBString('PUR50002046');  //取消

  adsPur500B.Close;
  adsPur500B.CreateDataSet;
  SetDBGrid;

  wwDBGrid1.ColumnByName('FItemID').DisplayLabel:=GetDBString('PUR50002047');  //产品编号
  wwDBGrid1.ColumnByName('FItemName').DisplayLabel:=GetDBString('PUR50002048');  //产品名称
  wwDBGrid1.ColumnByName('FEngItemName').DisplayLabel:=GetDBString('PUR50002049');  //英文名称
  wwDBGrid1.ColumnByName('FItemSpec').DisplayLabel:=GetDBString('PUR50002050');  //规格型号
  wwDBGrid1.ColumnByName('FUnitID').DisplayLabel:=GetDBString('PUR50002051');  //单位编号
  wwDBGrid1.ColumnByName('FUnitName').DisplayLabel:=GetDBString('PUR50002052');  //单位名称
  wwDBGrid1.ColumnByName('FQty').DisplayLabel:=GetDBString('PUR50002053');  //请购数量
  wwDBGrid1.ColumnByName('FDate').DisplayLabel:=GetDBString('PUR50002054');  //需求日期
  wwDBGrid1.ColumnByName('FPlace').DisplayLabel:=GetDBString('PUR50002055');  //交货地址
  wwDBGrid1.ColumnByName('FRemark').DisplayLabel:=GetDBString('PUR50002056');  //备注说明

  qryOrd152O152_002.DisplayLabel:=GetDBString('PUR50002057');  //交货地点
  qryOrd152O120_002.DisplayLabel:=GetDBString('PUR50002058');  //所属地区
  qryOrd152O152_004.DisplayLabel:=GetDBString('PUR50002059');  //交货地址
  qryOrd152O152_005.DisplayLabel:=GetDBString('PUR50002060');  //邮政编码
  qryOrd152O152_006.DisplayLabel:=GetDBString('PUR50002061');  //电话号码
  qryOrd152O152_007.DisplayLabel:=GetDBString('PUR50002062');  //传真号码
  qryOrd152O151_002.DisplayLabel:=GetDBString('PUR50002063');  //联系人员
  qryOrd152O151_003.DisplayLabel:=GetDBString('PUR50002064');  //部门名称
  qryOrd152O151_004.DisplayLabel:=GetDBString('PUR50002065');  //职务名称

  qryInv150I150_002.DisplayLabel:=GetDBString('PUR50002066');  //产品编号
  qryInv150I150_003.DisplayLabel:=GetDBString('PUR50002067');  //产品名称
  qryInv150I150_004.DisplayLabel:=GetDBString('PUR50002068');  //规格型号
  qryInv150I140_002.DisplayLabel:=GetDBString('PUR50002069');  //单位编号
  qryInv150I140_003.DisplayLabel:=GetDBString('PUR50002070');  //单位名称
  qryInv150I150_008.DisplayLabel:=GetDBString('PUR50002073');  //英文名称

  qryInv140I140_002.DisplayLabel:=GetDBString('PUR50002071');  //单位编号
  qryInv140I140_003.DisplayLabel:=GetDBString('PUR50002072');  //单位名称

  qryOrd151O151_002.DisplayLabel:=GetDBString('PUR50002074');  //联系人名
  qryOrd151O151_003.DisplayLabel:=GetDBString('PUR50002075');  //部门名称
  qryOrd151O151_004.DisplayLabel:=GetDBString('PUR50002076');  //职位名称
  qryOrd151O151_005.DisplayLabel:=GetDBString('PUR50002077');  //电话号码
  qryOrd151O151_006.DisplayLabel:=GetDBString('PUR50002078');  //传真号码
  qryOrd151O151_007.DisplayLabel:=GetDBString('PUR50002079');  //电子邮件

  PageControl1.ActivePageIndex:=0;
  PageControl2.ActivePageIndex:=0;
  //请购类型
  cbType.Clear;
  qryPur100.Close;
  qryPur100.Open;
  while not qryPur100.Eof do
  begin
    cbType.Items.Add(qryPur100.FieldByName('P100_002').AsString);
    qryPur100.Next;
  end;
  qryPur100.First;
  cbType.ItemIndex:=0;
end;

procedure TPur500_02Form.FormCreate(Sender: TObject);
begin
  inherited;
  ATableName:='PUR500A';
  AFieldName:='P500A_001';
  AReportName:='PUR500A';
  AKeyEvent:=OnKeyDown;
  qryPur100.Open;
  qryHrm100.Open;
  qryHrm150.Open;
end;

procedure TPur500_02Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin

⌨️ 快捷键说明

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