U_bmlldjshkp.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:4k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit U_bmlldjshkp;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   Buttons, StdCtrls, Mask, DBCtrls, ExtCtrls, Db, DBClient;
  6. type
  7.   TfrmBmlldDjsh = class(TForm)
  8.     Panel1: TPanel;
  9.     Label1: TLabel;
  10.     Label2: TLabel;
  11.     DBEdit1: TDBEdit;
  12.     DBEdit2: TDBEdit;
  13.     BitBtn1: TBitBtn;
  14.     Panel2: TPanel;
  15.     SpeedButton1: TSpeedButton;
  16.     SpeedButton2: TSpeedButton;
  17.     procedure SpeedButton1Click(Sender: TObject);
  18.     procedure BitBtn1Click(Sender: TObject);
  19.     procedure SpeedButton2Click(Sender: TObject);
  20.     procedure FormActivate(Sender: TObject);
  21.   private
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.   end;
  26. var
  27.   frmBmlldDjsh: TfrmBmlldDjsh;
  28. implementation
  29. uses U_djsh, U_fzlr_zgxm, U_mainform, WzglDB, u_public;
  30. {$R *.DFM}
  31. procedure TfrmBmlldDjsh.SpeedButton1Click(Sender: TObject);
  32. var
  33.   t_date: tdatetime;
  34.   sysDate : oleVariant;
  35.   vs_clbm: string;
  36.   vr_qlsl, vr_yssl: real; //实收数量,原有数量
  37.   vs_ckmc: string; //仓库名称
  38. begin
  39.   if dbedit2.Text = '' then
  40.   begin;
  41.     application.MessageBox('审核人不能为空', '物资管理系统', mb_iconinformation + mb_defbutton1);
  42.     dbedit2.SetFocus;
  43.     exit;
  44.   end;
  45.   DM.CDS_KC.Close;
  46.   DM.CDS_KC.Open;
  47.   DM.CDS_BMLLD.FieldByName('是否审核').value := true;
  48.   DM.CDS_BMLLD.post;
  49.   DM.CDS_BMLLD.applyupdates(0);
  50.   DM.CDS_BMLLD_DETAIL.First;
  51.   vs_ckmc := DM.CDS_BMLLD.fieldbyname('仓库名称').value;
  52.   while not DM.CDS_BMLLD_DETAIL.eof do
  53.   begin
  54.     vs_clbm := DM.CDS_BMLLD_DETAIL.fieldbyname('材料编码').value;
  55.     DM.CDS_KC.IndexFieldNames := '材料编码;仓库名称';
  56.     if DM.CDS_KC.findkey([vs_clbm, vs_ckmc]) then
  57.     begin
  58.       vr_qlsl := DM.CDS_BMLLD_DETAIL.fieldbyname('实发数量').value;
  59.       vr_yssl := DM.CDS_KC.fieldbyname('现有库存量').value;
  60.       DM.CDS_KC.Insert;
  61.       DM.CDS_KC.FieldByName('材料编码').value := DM.CDS_BMLLD_DETAIL.fieldbyname('材料编码').value;
  62.       DM.CDS_KC.FieldByName('材料名称').value := DM.CDS_BMLLD_DETAIL.fieldbyname('材料名称').value;
  63.       DM.CDS_KC.FieldByName('规格型号').value := DM.CDS_BMLLD_DETAIL.fieldbyname('规格型号').value;
  64.       DM.CDS_KC.FieldByName('计量单位').value := DM.CDS_BMLLD_DETAIL.fieldbyname('计量单位').value;
  65.       DM.CDS_KC.FieldByName('计划单价').value := DM.CDS_BMLLD_DETAIL.fieldbyname('计划单价').value;
  66.       DM.CDS_KC.FieldByName('单价单位').value := DM.CDS_BMLLD_DETAIL.fieldbyname('单价单位').value;
  67.       DM.CDS_KC.FieldByName('现有库存量').value := vr_yssl - vr_qlsl;
  68.       DM.CDS_KC.fieldbyname('仓库名称').value := vs_ckmc;
  69.       frmMain.SocketConnection.AppServer.GetSysTime(sysDate);
  70.       DM.CDS_KC.fieldbyname('截止日期').value := SysDate;
  71.     end
  72.     else
  73.     begin
  74.       DM.CDS_KC.Insert;
  75.       DM.CDS_KC.FieldByName('材料编码').value := DM.CDS_BMLLD_DETAIL.fieldbyname('材料编码').value;
  76.       DM.CDS_KC.FieldByName('材料名称').value := DM.CDS_BMLLD_DETAIL.fieldbyname('材料名称').value;
  77.       DM.CDS_KC.FieldByName('规格型号').value := DM.CDS_BMLLD_DETAIL.fieldbyname('规格型号').value;
  78.       DM.CDS_KC.FieldByName('计量单位').value := DM.CDS_BMLLD_DETAIL.fieldbyname('计量单位').value;
  79.       DM.CDS_KC.FieldByName('计划单价').value := DM.CDS_BMLLD_DETAIL.fieldbyname('计划单价').value;
  80.       DM.CDS_KC.FieldByName('单价单位').value := DM.CDS_BMLLD_DETAIL.fieldbyname('单价单位').value;
  81.       DM.CDS_KC.FieldByName('现有库存量').value := 0.00 - DM.CDS_BMLLD_DETAIL.fieldbyname('实发数量').value;
  82.       DM.CDS_KC.fieldbyname('仓库名称').value := vs_ckmc;
  83.       frmMain.SocketConnection.AppServer.GetSysTime(sysDate);
  84.       DM.CDS_KC.fieldbyname('截止日期').value := SysDate;
  85.     end;
  86.     DM.CDS_BMLLD_DETAIL.next;
  87.   end;
  88.   DM.CDS_KC.edit;
  89.   DM.CDS_KC.post;
  90.   DM.CDS_KC.ApplyUpdates(0);
  91.   close;
  92. end;
  93. procedure TfrmBmlldDjsh.BitBtn1Click(Sender: TObject);
  94. begin
  95.   DM.CDS_BMLLD.FieldByName('审核人').value := GetEmployeeName;
  96. end;
  97. procedure TfrmBmlldDjsh.SpeedButton2Click(Sender: TObject);
  98. begin
  99.   close;
  100. end;
  101. procedure TfrmBmlldDjsh.FormActivate(Sender: TObject);
  102. begin
  103.   DM.CDS_BMLLD.Edit;
  104.   dbedit2.setfocus;
  105. end;
  106. end.