xs_otc.pas

来自「这是一个实用的软件」· PAS 代码 · 共 236 行

PAS
236
字号
unit Xs_otc;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, baseformtype, dxExEdtr, StdCtrls, DBCtrls, dxCntner, dxEditor,
  dxEdLib, dxDBELib, DB, ImgList, ActnList, ADODB, dxTL, dxDBCtrl,
  dxDBGrid, Mask, ComCtrls, Buttons, ToolWin, dxDBTLCl, dxGrClms;

type
  TfXs_otc = class(Tfbaseformtype)
    Qbaseinfoid: TAutoIncField;
    Qbaseinfofcode: TWideStringField;
    Qbaseinfootc_worker: TWideStringField;
    Qbaseinfootc_whscode: TWideStringField;
    Qbaseinfootc_pcode: TWideStringField;
    Qbaseinfootc_pname: TWideStringField;
    QbaseinfoFdate: TDateTimeField;
    Qbaseinfootc_unit: TWideStringField;
    Qbaseinfootc_buyprice: TFloatField;
    Qbaseinfootc_sum: TFloatField;
    QbaseinfoOtc_spec: TWideStringField;
    Qbaseinfootc_ph: TWideStringField;
    Qbaseinfootc_factory: TWideStringField;
    Qbaseinfofout: TIntegerField;
    Qbaseinfofmem: TWideStringField;
    QbaseinfofSort: TWideStringField;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    lbl4: TLabel;
    dxDBDateEdit1: TdxDBDateEdit;
    DBEdit4: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    lbl5: TLabel;
    DBEdit11: TDBEdit;
    Qbaseinfootc_qty: TFloatField;
    dxDBGridfcode: TdxDBGridColumn;
    dxDBGridotc_worker: TdxDBGridColumn;
    dxDBGridotc_whscode: TdxDBGridColumn;
    dxDBGridotc_pcode: TdxDBGridColumn;
    dxDBGridotc_pname: TdxDBGridColumn;
    dxDBGridFdate: TdxDBGridDateColumn;
    dxDBGridotc_unit: TdxDBGridColumn;
    dxDBGridotc_price: TdxDBGridMaskColumn;
    dxDBGridotc_sum: TdxDBGridMaskColumn;
    dxDBGridOtc_spec: TdxDBGridColumn;
    dxDBGridotc_ph: TdxDBGridColumn;
    dxDBGridotc_factory: TdxDBGridColumn;
    dxDBGridfmem: TdxDBGridColumn;
    dxDBGridotc_qty: TdxDBGridMaskColumn;
    dxDBGridfout: TdxDBGridCheckColumn;
    DBLookupComboBox1: TDBLookupComboBox;
    dxDBButtonEdit1: TdxDBButtonEdit;
    DBLookupComboBox2: TDBLookupComboBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    lbl20: TLabel;
    procedure actfindExecute(Sender: TObject);
    procedure actaddExecute(Sender: TObject);
    procedure dxDBButtonEdit1Exit(Sender: TObject);
    procedure dxDBButtonEdit1ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure Qbaseinfootc_qtyValidate(Sender: TField);
    procedure Qbaseinfootc_buypriceValidate(Sender: TField);
    procedure BitBtn1Click(Sender: TObject);
    procedure QbaseinfoAfterScroll(DataSet: TDataSet);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure acteditExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fXs_otc: TfXs_otc;

implementation

uses otc_find, Global, dataform, otc_profind, Xs_re, pubdata;

{$R *.dfm}

procedure TfXs_otc.actfindExecute(Sender: TObject);
begin
  inherited;
fotc_find:=Tfotc_find.Create(Self);
fotc_find.ShowModal;
end;

procedure TfXs_otc.actaddExecute(Sender: TObject);
begin
  inherited;
tmpname:='xs_otc';
lbl20.Visible:=False;
Qbaseinfo.FieldByName('fcode').Value:=getcode('OT');
Qbaseinfo.FieldByName('otc_worker').Value:=fData.Sqltmp['User_code'];
Qbaseinfo.FieldByName('Fdate').Value:=FormatDateTime('YYYY-MM-DD',Date());
Qbaseinfo.FieldByName('Fout').Value:=0;
dxDBButtonEdit1.SetFocus;
Qbaseinfo.Edit;
end;

procedure TfXs_otc.dxDBButtonEdit1Exit(Sender: TObject);
begin
  inherited;
  //选择药品
{if (Trim(dxDBButtonEdit1.Text)<>'') and ( Qbaseinfo.State in [dsedit,dsinsert] ) then
   begin
   fotc_profind:=Tfotc_profind.Create(Self);
   fotc_profind.selectpro.Close;
   fotc_profind.selectpro.SQL.Clear;
   fotc_profind.selectpro.SQL.Add('select * from Bs_physic where( phy_code like '+''''+'%'+Trim(dxDBButtonEdit1.Text)+'%'+''''+') and ( Phy_otc=1)');
   fotc_profind.selectpro.Open;
   fotc_profind.ShowModal;
   end; }
end;

procedure TfXs_otc.dxDBButtonEdit1ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  inherited;
  if Qbaseinfo.State in [dsedit,dsinsert] then
   begin
    fotc_profind:=Tfotc_profind.Create(Self);
    fotc_profind.ShowModal;
   end;
end;

procedure TfXs_otc.Qbaseinfootc_qtyValidate(Sender: TField);
begin
  inherited;
Qbaseinfo.FieldByName('otc_sum').Value:=Qbaseinfo['otc_price']*Qbaseinfo['otc_qty'];
end;

procedure TfXs_otc.Qbaseinfootc_buypriceValidate(Sender: TField);
begin
  inherited;
Qbaseinfo.FieldByName('otc_sum').Value:=Qbaseinfo['otc_price']*Qbaseinfo['otc_qty'];
end;

procedure TfXs_otc.BitBtn1Click(Sender: TObject);
begin
  inherited;
if Qbaseinfo.RecordCount>0 then
   if Qbaseinfo.FieldByName('fout').Value=0 then
     begin
     if MessageBox(0, '要审核当前单据吗?', '提示', MB_OKCANCEL +
       MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
     begin
      Qbaseinfo.Edit;
      Qbaseinfo.FieldByName('fout').Value:=1;
      Qbaseinfo.Post;
      fData.sqlcheck.Close; //查询当前药品的库存信息
      fData.sqlcheck.SQL.Clear;
      fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qbaseinfo['otc_pcode']+''''+') and (Kc_name='+''''+Qbaseinfo['otc_pname']+''''+')');
      fData.sqlcheck.Open;
      if fData.sqlcheck.RecordCount>0 then
        begin
           fData.sqlcheck.Edit;
           fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value-Qbaseinfo['otc_qty'];
           fData.sqlcheck.Post;
        end;
      end;
     end
     else
      MessageBox(0, '该单据已审核!', '提示', MB_OK + MB_ICONINFORMATION +
       MB_TOPMOST);
end;

procedure TfXs_otc.QbaseinfoAfterScroll(DataSet: TDataSet);
begin
  inherited;
  //如当前记录已审核,则显示‘已审核’
if Qbaseinfo.FieldByName('fout').Value=0 then
   lbl20.Visible:=False
   else
   lbl20.Visible:=True;
end;

procedure TfXs_otc.BitBtn2Click(Sender: TObject);
begin
  inherited;
if Qbaseinfo.RecordCount>0 then
   if Qbaseinfo.FieldByName('fout').Value=1 then
     begin
     if MessageBox(0, '要反审核当前单据吗?', '提示', MB_OKCANCEL +
       MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
     begin
      Qbaseinfo.Edit;
      Qbaseinfo.FieldByName('fout').Value:=0;
      Qbaseinfo.Post;
      fData.sqlcheck.Close; //查询当前药品的库存信息
      fData.sqlcheck.SQL.Clear;
      fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qbaseinfo['otc_pcode']+''''+') and (Kc_name='+''''+Qbaseinfo['otc_pname']+''''+')');
      fData.sqlcheck.Open;
      if fData.sqlcheck.RecordCount>0 then
        begin
           fData.sqlcheck.Edit;
           fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value+Qbaseinfo['otc_qty'];
           fData.sqlcheck.Post;
        end;
      end;
     end
     else
      MessageBox(0, '该单据已反审!', '提示', MB_OK + MB_ICONINFORMATION +
       MB_TOPMOST);
end;

procedure TfXs_otc.FormCreate(Sender: TObject);
begin
  inherited;
lbl20.Visible:=False;
end;

procedure TfXs_otc.acteditExecute(Sender: TObject);
begin
  inherited;
lbl20.Visible:=False;
end;

end.

⌨️ 快捷键说明

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