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

📄 cg_master.pas

📁 一个门诊系统程序代码一个门诊系统程序代码一个门诊系统程序代码一个门诊系统程序代码一个门诊系统程序代码
💻 PAS
字号:
//********************************//
//  模块:采购模块                 //
//  设计:杨凌      2005.06.20    //
//                                //
//********************************//
unit cg_master;

interface

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

type
  Tfbscg_master = class(Tfbaseform)
    ActionList: TActionList;
    actpirot1: TAction;
    actnext: TAction;
    actadd: TAction;
    actdel: TAction;
    actedit: TAction;
    actquit: TAction;
    actexcel: TAction;
    actsave: TAction;
    actfind: TAction;
    actrepri: TAction;
    il1: TImageList;
    tlb1: TToolBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    Qbaseinfo: TADOQuery;
    DataSource: TDataSource;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    pnl1: TPanel;
    lbl1: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    lbl4: TLabel;
    lbl5: TLabel;
    lbl6: TLabel;
    lbl7: TLabel;
    lbl11: TLabel;
    lbl12: TLabel;
    lbl13: TLabel;
    lbl14: TLabel;
    lbl15: TLabel;
    lbl16: TLabel;
    lbl17: TLabel;
    lbl19: TLabel;
    lbl20: TLabel;
    lbl18: TLabel;
    dxDBGrid1: TdxDBGrid;
    dbedtcode: TDBEdit;
    dbedtmam: TDBEdit;
    dbedtdate: TDBEdit;
    dbedtname: TDBEdit;
    dbedtinpri: TDBEdit;
    dbedtqty: TDBEdit;
    dbedtmoney: TDBEdit;
    dbedtph: TDBEdit;
    dbedtfactory: TDBEdit;
    dbmmomen: TDBMemo;
    btn1: TBitBtn;
    btn2: TBitBtn;
    dbchk1: TDBCheckBox;
    dxDBButtonEdit1: TdxDBButtonEdit;
    dxDBDateEdit1: TdxDBDateEdit;
    dxDBDateEdit2: TdxDBDateEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    procedure actaddExecute(Sender: TObject);
    procedure acteditExecute(Sender: TObject);
    procedure actdelExecute(Sender: TObject);
    procedure actsaveExecute(Sender: TObject);
    procedure actrepriExecute(Sender: TObject);
    procedure actpirot1Execute(Sender: TObject);
    procedure actnextExecute(Sender: TObject);
    procedure actquitExecute(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure QbaseinfoAfterScroll(DataSet: TDataSet);
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure actexcelExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fbscg_master: Tfbscg_master;

implementation

uses dataform, pubdata, Global, cg_inwhs;

{$R *.dfm}
procedure Tfbscg_master.actaddExecute(Sender: TObject);
begin
//inherited;
dbedtcode.Enabled:=True;
dbedtmam.Enabled:=True;
dbedtdate.Enabled:=True;
dxDBButtonEdit1.Enabled:=True;
dbedtname.Enabled:=True;
//DBLookupComboBox1.Enabled:=True;
dbedtinpri.Enabled:=True;
dbedtqty.Enabled:=True;
dbedtmoney.Enabled:=True;
dbedtph.Enabled:=True;
dxDBDateEdit1.Enabled:=True;
dxDBDateEdit2.Enabled:=True;
dbedtfactory.Enabled:=True;
dbmmomen.Enabled:=True;
dbchk1.Enabled:=True;
//添加记录
Qbaseinfo.Edit;
Qbaseinfo.Append;
Qbaseinfo.FieldByName('fdate').Value:=FormatDateTime('YYYY-MM-DD',Date());
Qbaseinfo.FieldByName('Ma_worker').Value:=fData.Sqltmp['User_code'];
Qbaseinfo.FieldByName('ma_otc').Value:=0;
Qbaseinfo.FieldByName('fout').Value:=0;

SpeedButton1.Enabled:=False;
SpeedButton3.Enabled:=False;
SpeedButton9.Enabled:=True;
SpeedButton10.Enabled:=True;
dxDBButtonEdit1.SetFocus;
end;

procedure Tfbscg_master.acteditExecute(Sender: TObject);
begin
  inherited;
if not (Qbaseinfo.State in [dsedit,dsinsert]) then
  begin
   Qbaseinfo.Edit;
//------------------------------
//设置能否使用
   dbedtcode.Enabled:=True;
   dbedtmam.Enabled:=True;
   dbedtdate.Enabled:=True;
   dxDBButtonEdit1.Enabled:=True;
   dbedtname.Enabled:=True;
   //DBLookupComboBox1.Enabled:=True;
   dbedtinpri.Enabled:=True;
   dbedtqty.Enabled:=True;
   dbedtmoney.Enabled:=True;
   dbedtph.Enabled:=True;
   dxDBDateEdit1.Enabled:=True;
   dxDBDateEdit2.Enabled:=True;
   dbedtfactory.Enabled:=True;
   dbmmomen.Enabled:=True;
   dbchk1.Enabled:=True;
//------------------------------
   SpeedButton3.Enabled:=False;
   SpeedButton1.Enabled:=False;    
   SpeedButton9.Enabled:=True;
   SpeedButton10.Enabled:=True;

  end;
end;


procedure Tfbscg_master.actdelExecute(Sender: TObject);
begin
  inherited;
if MessageBox(0, '确定删除这条记录?', '提示', MB_OKCANCEL + MB_ICONWARNING) = 
  IDOK then
begin
Qbaseinfo.Delete;
end;

end;

procedure Tfbscg_master.actsaveExecute(Sender: TObject);
begin
  inherited;
if Qbaseinfo.State in [dsedit,dsinsert] then
   begin
   Qbaseinfo.Post;
//------------------------------
//设置能否使用
   dbedtcode.Enabled:=False;
   dbedtmam.Enabled:=False;
   dbedtdate.Enabled:=False;
   dxDBButtonEdit1.Enabled:=False;
   dbedtname.Enabled:=False;
   //DBLookupComboBox1.Enabled:=False;
   dbedtinpri.Enabled:=False;
   dbedtqty.Enabled:=False;
   dbedtmoney.Enabled:=False;
   dbedtph.Enabled:=False;
   dxDBDateEdit1.Enabled:=False;
   dxDBDateEdit2.Enabled:=False;
   dbedtfactory.Enabled:=False;
   dbmmomen.Enabled:=False;
   dbchk1.Enabled:=False;
//------------------------------
   SpeedButton1.Enabled:=True;
   SpeedButton3.Enabled:=True;
   SpeedButton9.Enabled:=False;
   SpeedButton10.Enabled:=False;
   end;
end;

procedure Tfbscg_master.actrepriExecute(Sender: TObject);
begin
  inherited;
if MessageBox(0, '真的要取消修改吗?', '提示', MB_OKCANCEL + MB_ICONQUESTION +
  MB_TOPMOST) = IDOK then
begin
Qbaseinfo.Cancel;
//------------------------------
//设置能否使用
dbedtcode.Enabled:=False;
dbedtmam.Enabled:=False;
dbedtdate.Enabled:=False;
dxDBButtonEdit1.Enabled:=False;
dbedtname.Enabled:=False;
//DBLookupComboBox1.Enabled:=False;
dbedtinpri.Enabled:=False;
dbedtqty.Enabled:=False;
dbedtmoney.Enabled:=False;
dbedtph.Enabled:=False;
dxDBDateEdit1.Enabled:=False;
dxDBDateEdit2.Enabled:=False;
dbedtfactory.Enabled:=False;
dbmmomen.Enabled:=False;
dbchk1.Enabled:=False;
//------------------------------
SpeedButton1.Enabled:=True;
SpeedButton3.Enabled:=True;
SpeedButton9.Enabled:=False;
SpeedButton10.Enabled:=False;
end;

end;

procedure Tfbscg_master.actpirot1Execute(Sender: TObject);
begin
  inherited;
Qbaseinfo.Prior;
end;

procedure Tfbscg_master.actnextExecute(Sender: TObject);
begin
  inherited;
Qbaseinfo.Next;
end;

procedure Tfbscg_master.actquitExecute(Sender: TObject);
begin
  inherited;
if Qbaseinfo.State in [dsedit,dsinsert] then
   begin
    if MessageBox(0, '数据尚未保存,确认退出?', '提示', MB_OKCANCEL +
     MB_ICONWARNING) = IDOK then
      begin
      Close;
      end
     else
      begin
      Exit;
      end;
   end
   else
   close;
end;

procedure Tfbscg_master.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
action:=caFree;
end;

procedure Tfbscg_master.QbaseinfoAfterScroll(DataSet: TDataSet);
begin
  inherited;    
if Qbaseinfo.FieldByName('fout').Value=0 then
   lbl20.Visible:=False
   else
   lbl20.Visible:=True;
end;

procedure Tfbscg_master.btn1Click(Sender: TObject);
var a,b:Integer;
begin
  inherited;
if Qbaseinfo.RecordCount>0 then
  if Qbaseinfo.FieldByName('fout').Value=0 then
    begin
   if MessageBox(0, '要审核此单据吗?', '提示', MB_OKCANCEL + MB_ICONQUESTION) =
     IDOK then
     begin
      Qbaseinfo.Edit;
      Qbaseinfo.FieldByName('fout').Value:=1;
      Qbaseinfo.Post;
      //----------------------------
      fpubdata.qryphy.Close;//查询当前药品信息
      fpubdata.qryphy.SQL.Clear;
      fpubdata.qryphy.SQL.Add('select * from Bs_physic where (Phy_code='+''''+Qbaseinfo['Ma_pcode']+''''+') and (Phy_name='+''''+Qbaseinfo['Ma_pname']+''''+')');
      fpubdata.qryphy.Open;

      fData.sqlcheck.Close; //查询当前药品的库存信息
      fData.sqlcheck.SQL.Clear;
      fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qbaseinfo['Ma_pcode']+''''+') and (Kc_name='+''''+Qbaseinfo['Ma_pname']+''''+')');
      fData.sqlcheck.Open;
     if fData.sqlcheck.RecordCount>0 then
       begin
        fData.sqlcheck.Edit;   //int 取整函数
        fData.sqlcheck.FieldByName('Kc_qty2').Value:=fData.sqlcheck.FieldByName('Kc_qty2').Value+int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value);
        fData.sqlcheck.FieldByName('Kc_qty3').Value:=fData.sqlcheck.FieldByName('Kc_qty3').Value+int((Qbaseinfo['ma_qyt']-int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)*fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)/fpubdata.qryphy.FieldByName('Phy_unit1rate').Value);
        a:=int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)* fpubdata.qryphy.FieldByName('Phy_unit2rate').Value;
        b:=int((Qbaseinfo['ma_qyt']-a)/fpubdata.qryphy.FieldByName('Phy_unit1rate').Value)*fpubdata.qryphy.FieldByName('Phy_unit1rate').Value;
        fData.sqlcheck.FieldByName('Kc_qty4').Value:=fData.sqlcheck.FieldByName('Kc_qty4').Value+(Qbaseinfo['ma_qyt']-a-b);
        fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value+Qbaseinfo['ma_qyt'];
        fData.sqlcheck.Post;
        end;
        //--------------------------------------
     end
     end
     else
     MessageBox(0, '该单据已审核!', '提示', MB_OK + MB_ICONINFORMATION + 
       MB_TOPMOST);
end;

procedure Tfbscg_master.btn2Click(Sender: TObject);
var a,b:Integer;
begin
  inherited;
if Qbaseinfo.RecordCount>0 then
  if Qbaseinfo.FieldByName('fout').Value=1 then
  begin
  if MessageBox(0, '要反审核此单据吗?', '提示', MB_OKCANCEL + MB_ICONQUESTION) =
    IDOK then
    begin
     Qbaseinfo.Edit;
     Qbaseinfo.FieldByName('fout').Value:=0;
     Qbaseinfo.Post;
     //----------------------------------------
      fpubdata.qryphy.Close;//查询当前药品信息
      fpubdata.qryphy.SQL.Clear;
      fpubdata.qryphy.SQL.Add('select * from Bs_physic where (Phy_code='+''''+Qbaseinfo['Ma_pcode']+''''+') and (Phy_name='+''''+Qbaseinfo['Ma_pname']+''''+')');
      fpubdata.qryphy.Open;

      fData.sqlcheck.Close; //查询当前药品的库存信息
      fData.sqlcheck.SQL.Clear;
      fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qbaseinfo['Ma_pcode']+''''+') and (Kc_name='+''''+Qbaseinfo['Ma_pname']+''''+')');
      fData.sqlcheck.Open;
     if fData.sqlcheck.RecordCount>0 then
       begin
        fData.sqlcheck.Edit;   //int 取整函数
        fData.sqlcheck.FieldByName('Kc_qty2').Value:=fData.sqlcheck.FieldByName('Kc_qty2').Value-int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value);
        fData.sqlcheck.FieldByName('Kc_qty3').Value:=fData.sqlcheck.FieldByName('Kc_qty3').Value-int((Qbaseinfo['ma_qyt']-int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)*fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)/fpubdata.qryphy.FieldByName('Phy_unit1rate').Value);
        a:=int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)* fpubdata.qryphy.FieldByName('Phy_unit2rate').Value;
        b:=int((Qbaseinfo['ma_qyt']-a)/fpubdata.qryphy.FieldByName('Phy_unit1rate').Value)*fpubdata.qryphy.FieldByName('Phy_unit1rate').Value;
        fData.sqlcheck.FieldByName('Kc_qty4').Value:=fData.sqlcheck.FieldByName('Kc_qty4').Value-(Qbaseinfo['ma_qyt']-a-b);
        fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value-Qbaseinfo['ma_qyt'];
        fData.sqlcheck.Post;
        end;
       //-------------------------------------------
    end
  end
  else
  MessageBox(0, '此单已反审!', '提示', MB_OK + MB_ICONINFORMATION + 
    MB_TOPMOST);

end;

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

procedure Tfbscg_master.actexcelExecute(Sender: TObject);
begin
  inherited;
  fdata.dlgSave.Filter := 'Microsoft Excel Workbook (*.xls)|*.XLS|xml(*.xml)|*.xml|HTML file (*.htm)|*.HTM';
  fdata.dlgSave.DefaultExt:='xls';
  fdata.dlgSave.FileName := FormatDateTime('YYYY-MM-DD',Date());
  if fdata.dlgSave.Execute then
    begin
      case fdata.dlgSave.FilterIndex of
        1: dxDBGrid1.SaveToxls(fdata.dlgSave.FileName,True);
        2: dxDBGrid1.SaveToXML(fdata.dlgSave.FileName,true);
        3: dxDBGrid1.SaveToHTML(fdata.dlgSave.FileName,true);
      end;
    end;

end;

end.

⌨️ 快捷键说明

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