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

📄 xs_otc.pas

📁 这是一个实用的软件
💻 PAS
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -