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

📄 hcck.~pas

📁 一个基于数据的药品行业管理系统,较全面,可供学习数据的开发人员参考消息
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit HCCK;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, StdCtrls, Grids, ImgList, Buttons, DBGrids,
  DB;

type
  Tfrm_hccK = class(TForm)
    ToolBar1: TToolBar;
    tadd: TToolButton;
    tdel: TToolButton;
    tedit: TToolButton;
    tsave: TToolButton;
    tcancel: TToolButton;
    tprint: TToolButton;
    tfind: TToolButton;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    txthcbh: TEdit;
    txthcmc: TEdit;
    txtdw: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    StatusBar1: TStatusBar;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label15: TLabel;
    Label3: TLabel;
    txtdqkc: TEdit;
    txtjhdj: TEdit;
    StringGrid1: TStringGrid;
    txtcsbh: TComboBox;
    Label4: TLabel;
    txtpc: TEdit;
    ImageList2: TImageList;
    txtaqkc: TEdit;
    txtgg: TEdit;
    SpeedButton1: TSpeedButton;
    Label7: TLabel;
    txtjhsl: TEdit;
    Label11: TLabel;
    txtjhje: TEdit;
    txtjhdh1: TLabel;
    txtjhdh: TEdit;
    Label14: TLabel;
    Label16: TLabel;
    txtczy: TEdit;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    txtjhrq: TEdit;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    txtpckc: TEdit;
    txtbm: TComboBox;
    txtyg: TComboBox;
    procedure taddClick(Sender: TObject);
    {procedure txtkhbhExit(Sender: TObject);
    procedure txtggExit(Sender: TObject);
    procedure txtdqkcExit(Sender: TObject);
    procedure txthcmcExit(Sender: TObject);
    procedure txtdwExit(Sender: TObject);
    procedure txtkhbhKeyPress(Sender: TObject; var Key: Char);
    procedure txtggKeyPress(Sender: TObject; var Key: Char);
    procedure txthcmcKeyPress(Sender: TObject; var Key: Char);
    procedure txtdwKeyPress(Sender: TObject; var Key: Char);
    procedure txtdqkcKeyPress(Sender: TObject; var Key: Char); }
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure tsaveClick(Sender: TObject);
    procedure hcreflesh;
    procedure tdelClick(Sender: TObject);
    procedure teditClick(Sender: TObject);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
  
    procedure tcancelClick(Sender: TObject);
    procedure tfindClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure txtcsbhExit(Sender: TObject);
    procedure txtcsbhChange(Sender: TObject);
    procedure txtjhslKeyPress(Sender: TObject; var Key: Char);
    procedure txtjhdjKeyPress(Sender: TObject; var Key: Char);
    procedure txtjhslKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure txtjhslChange(Sender: TObject);
    procedure txtjhslKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure txtbmChange(Sender: TObject);
    procedure csbhcreate;


  private

   
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_hccK: Tfrm_hccK;
  mycell:integer;
  editflag:integer;

implementation

uses csda, date1, HCXX, pubmotion, HCRK, hcckcx;
{$R *.dfm}

function aenabeld(key:integer):boolean;
begin
    with frm_hcck do
    begin
    //浏览模式
    if key=0 then
    begin
    groupbox1.Enabled:=false;
    txtcsbh.enabled:=true;
    txthcbh.enabled:=false;
    txthcmc.enabled:=false;
    txtdw.enabled:=false;
    txtgg.enabled:=false;
    txtdqkc.enabled:=false;
    txtjhdj.enabled:=false;
    txtaqkc.enabled:=false;
    txtpc.enabled:=false;
    tadd.Enabled:=true;
    tdel.Enabled:=true;
    tedit.Enabled:=true;
    tsave.Enabled:=false;
    tcancel.Enabled:=false;
    tfind.Enabled:=true;
    tprint.Enabled:=true;
    end;
    //  编辑模式
    if key=1 then
    begin
    groupbox1.Enabled:=true;
    tadd.Enabled:=false;
    tdel.Enabled:=false;
    tedit.Enabled:=false;
    tsave.Enabled:=true;
    tcancel.Enabled:=true;
    tfind.Enabled:=false;
    txtcsbh.enabled:=true;
    txthcbh.enabled:=false;
    txthcmc.enabled:=true;
    txtdw.enabled:=true;
    txtgg.enabled:=true;
    txtdqkc.enabled:=false;
    txtjhdj.enabled:=true;
    txtaqkc.enabled:=true;
    txtpc.enabled:=true;
    end;
    //新增
    if key=2 then
    begin
    tadd.Enabled:=false;
    tdel.Enabled:=false;
    tedit.Enabled:=false;
    tsave.Enabled:=true;
    tcancel.Enabled:=true;
    tfind.Enabled:=false;
    groupbox1.Enabled:=true;
    txthcbh.Enabled:=true;
    {txthcmc.enabled:=true;
    txtdw.enabled:=true;
    txtgg.enabled:=true;
    txtdqkc.enabled:=false;
    txtaqkc.enabled:=true;}
    txtjhdj.enabled:=true;
    txtpc.enabled:=true;
    txtjhdh.Clear;
    txthcbh.Clear;
    txthcmc.clear;
    txtdw.clear;
    txtgg.clear;
    txtjhdj.clear;
    txtaqkc.clear;
    txtpc.clear;
    txtjhsl.Clear;
    txtczy.Clear;
    txtcsbh.SetFocus;
    txtcsbh.Color:=clskyblue;
    end;
    // 保存
    if key=3 then
    begin
    txtcsbh.enabled:=false;
    txthcbh.enabled:=false;
    txthcmc.enabled:=false;
    txtdw.enabled:=false;
    txtgg.enabled:=false;
    txtdqkc.enabled:=false;
    txtjhdj.enabled:=false;
    txtaqkc.enabled:=false;
    txtpc.enabled:=false;
    tadd.Enabled:=true;
    tdel.Enabled:=true;
    tedit.Enabled:=true;
    tsave.Enabled:=false;
    tcancel.Enabled:=false;
    tfind.Enabled:=true;
    tprint.Enabled:=true;
    groupbox1.Enabled:=false;
  end;
  if key=3 then//取消
    begin
    txtjhdh.Clear;
    txthcbh.Clear; 
    txthcmc.clear;
    txtdw.clear;
    txtgg.clear;
    txtjhdj.clear;
    txtaqkc.clear;
    txtpc.clear;
    txtcsbh.enabled:=true;
    txthcbh.enabled:=false;
    txthcmc.enabled:=false;
    txtdw.enabled:=false;
    txtgg.enabled:=false;
    txtdqkc.enabled:=false;
    txtjhdj.enabled:=false;
    txtaqkc.enabled:=false;
    txtpc.enabled:=false;
    tadd.Enabled:=true;
    tdel.Enabled:=true;
    tedit.Enabled:=true;
    tsave.Enabled:=false;
    tcancel.Enabled:=false;
    tfind.Enabled:=true;
    tprint.Enabled:=true;
    groupbox1.Enabled:=false;
  end;
  end;
  end;

procedure Tfrm_hccK.taddClick(Sender: TObject);
var s,s1,s2,s3,csbh:string;
    i,k,j:integer;
begin
editflag:=0;
aenabeld(2);
txtjhrq.Text:=formatdatetime('yyyy-mm-dd',now); 
txtczy.Text:='user';
{if txtcsbh.Text='' then
begin
 showmessage('供货商不能为空');
 exit;
end; }

end;



{procedure Tfrm_hcxx.txtkhbhExit(Sender: TObject);
begin
with data do
begin
aq1.Connection:=adoc1;
aq1.Close;
aq1.SQL.Clear;
aq1.SQL.add('select csbh from csda where csbh=:khbh');
aq1.Parameters.ParamByName('khbh').Value:=trim(txtkhbh.Text);
aq1.Open;
if aq1.Recordset.RecordCount>0 then
begin
showmessage('该供应商编号已存在');
txtkhbh.SetFocus;
txtkhbh.SelectAll;
exit;
end;
end;
if not txtkhbh.Focused then
   txtkhbh.Color:=clwindow;
end;
procedure Tfrm_hcxx.txtggExit(Sender: TObject);
begin
if not txtlxr.Focused then
   txtlxr.Color:=clwindow;
end; 
procedure Tfrm_hcxx.txtdqkcExit(Sender: TObject);
begin
if not txtphone.Focused then
   txtphone.Color:=clwindow;
end;

procedure Tfrm_hcxx.txthcmcExit(Sender: TObject);
begin
if not txtkhmc.Focused then
   txtkhmc.Color:=clwindow;
end;

procedure Tfrm_hcxx.txtdwExit(Sender: TObject);
begin
if not txtdz.Focused then
   txtdz.Color:=clwindow;
end;

procedure Tfrm_hcxx.txtkhbhKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
with database do
begin
aq1.Connection:=adoc1;
aq1.Close;
aq1.SQL.Clear;
aq1.SQL.add('select csbh from csda where csbh=:khbh');
aq1.Parameters.ParamByName('khbh').Value:=trim(txtkhbh.Text);
aq1.Open;
if aq1.Recordset.RecordCount>0 then
begin
showmessage('该供应商编号已存在');
txtkhbh.SetFocus;
txtkhbh.SelectAll; 
exit;
end;
end;
txtkhmc.SetFocus;
txtkhmc.Color:=clskyblue;
end;
end;
procedure Tfrm_hcxx.txtggKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
txtphone.SetFocus;
txtphone.Color:=clskyblue;
end;
end;

procedure Tfrm_hcxx.txthcmcKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if txtkhmc.Text<>'' then
begin
txtdz.SetFocus;
txtdz.Color:=clskyblue;
end
else
messagebox(frm_csda.Handle,'供应商 名称不能为空','提示信息',mb_ok);
end;
end;

procedure Tfrm_hcxx.txtdwKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
txtlxr.SetFocus;
txtlxr.Color:=clskyblue;
end;
end;

procedure Tfrm_hcxx.txtdqkcKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
txtfax.SetFocus;
txtfax.Color:=clskyblue;
end;
end; }
procedure Tfrm_hccK.FormCreate(Sender: TObject);
begin
stringgrid1.FixedRows:=1;
stringgrid1.FixedColor:=clbtnface;
stringgrid1.RowCount:=2;
stringgrid1.ColCount:=18;
stringgrid1.Cells[0,0]:='';
stringgrid1.Cells[1,0]:='领用单号';
stringgrid1.Cells[2,0]:='耗材编号';
stringgrid1.Cells[3,0]:='耗材名称';
stringgrid1.Cells[4,0]:='进货数量';
stringgrid1.Cells[5,0]:='领用日期';
stringgrid1.Cells[6,0]:='操作员';
stringgrid1.Cells[7,0]:='供应商';
stringgrid1.Cells[8,0]:='进货价格';
stringgrid1.Cells[9,0]:='领用金额';
stringgrid1.Cells[10,0]:='批次';
stringgrid1.Cells[11,0]:='制单日期';
stringgrid1.Cells[12,0]:='规格';
stringgrid1.Cells[13,0]:='单位';
stringgrid1.Cells[14,0]:='当前库存量';
stringgrid1.Cells[15,0]:='安全库存量';
stringgrid1.Cells[16,0]:='部门';
stringgrid1.Cells[17,0]:='员工';
stringgrid1.ColWidths[0]:=10;
stringgrid1.ColWidths[1]:=100;
stringgrid1.ColWidths[2]:=50;
stringgrid1.ColWidths[3]:=200;
stringgrid1.ColWidths[4]:=80;
stringgrid1.ColWidths[5]:=80;
stringgrid1.ColWidths[6]:=150;
stringgrid1.ColWidths[7]:=80;
stringgrid1.ColWidths[8]:=80;
stringgrid1.ColWidths[9]:=80;
stringgrid1.ColWidths[10]:=80;
stringgrid1.ColWidths[11]:=80;
stringgrid1.ColWidths[12]:=80;
stringgrid1.ColWidths[13]:=80;
stringgrid1.ColWidths[14]:=80;
stringgrid1.ColWidths[15]:=80;
stringgrid1.ColWidths[16]:=80;
stringgrid1.ColWidths[17]:=80;
aenabeld(0);
with data do
begin
txtbm.Clear;
txtbm.Items.Add(' ');
aq1.Close;
aq1.SQL.Clear;
aq1.SQL.Add('select * from bm order by bmbh');
aq1.Open;
if aq1.Recordset.RecordCount>0 then
begin
while not aq1.Eof do
begin
   txtbm.Items.Add(trim(aq1.Fields.Fieldbyname('bmbh').Value)+'-'+trim(aq1.FieldByName('bmmc').Value));
   aq1.Next;
end;
end;
end;
end;

procedure Tfrm_hccK.FormClose(Sender: TObject; var Action: TCloseAction);
var pckc,pc:integer;
begin
   action:=cafree; 
end;

procedure Tfrm_hccK.tsaveClick(Sender: TObject);
var mation,mation1:string;
    setpckc,pc:array of Currency ;
    number,sumber:integer;
begin
   mation:='';
   mation1:='';
   mation:='要增加耗材库存量吗?';
   mation1:='耗材库存量已入库';
   if txtcsbh.text='' then
   begin
   messagedlg('供应商编号不能为空',mtinformation,[mbok],1);
   txtcsbh.SetFocus;
   txtcsbh.Color:=clskyblue;
   exit;
   end;
   if txthcmc.text='' then
   begin
   messagedlg('耗材名称不能为空',mtinformation,[mbok],1);
   txthcmc.SetFocus;
   txthcmc.Color:=clskyblue;
   exit;
   end;
  if txtjhdj.text='' then
   begin
   messagedlg('耗材单价不能为空',mtinformation,[mbok],1);
   txtjhdj.SetFocus;
   txtjhdj.Color:=clskyblue;
   exit;
   end;
   if txtjhsl.text='' then
   begin
   messagedlg('进货数量不能为空',mtinformation,[mbok],1);
   txtjhsl.SetFocus;
   txtjhsl.Color:=clskyblue;
   exit;
   end;
  IF txtjhsl.text>txtpckc.text then
  begin
  showmessage('领用数量不能大于当前批次数量');
  exit;
  end;
  { if txtlxr.text='' then
   begin
   messagedlg('联系人不能为空',mtinformation,[mbok],1);
   txtlxr.SetFocus;
   txtlxr.Color:=clskyblue;
   exit;
   end;}
   with data do
   begin
   adoc1.BeginTrans;
   aq1.Connection:=adoc1;
   aq2.Connection:=adoc1;
   screen.Cursor:=crHourGlass;
   //编辑时
   if editflag=1 then
   begin
   aq1.Close;
   aq1.SQL.Clear;
   aq1.SQL.Add('delete from hcckd where lydh=:jhdh');
   aq1.Parameters.ParamByName('jhdh').Value:=trim(txtjhdh.text);
   mation:='确定修改此耗材入库信息吗?';
   mation1:='修改完毕';
   aq1.ExecSQL;
   end
   else
   txtjhdh.text:=XSdh;
   //更新库存
   aq1.Close;
   aq1.SQL.Clear;
   aq1.SQL.Add('update hcda set jhdj=:jhdj,dqkc=dqkc-:lysl');
   aq1.Parameters.ParamByName('jhdj').Value:=txtjhdj.text;
   aq1.Parameters.ParamByName('lysl').Value:=txtjhsl.text;
   aq1.ExecSQL;
   aq1.Close;
   aq1.SQL.Clear;
   aq1.SQL.Add('insert into hcckd (lydh,csbh,hcbh,lysl,lyrq,czybh,jhdj,lyje,zdrq,bmbh,ygbh,pc) '+
              ' values (:lydh,:csbh,:hcbh,:lysl,:lyrq,:czybh,:jhdj,:lyje,:zdrq,:bmbh,:ygbh,:pc)');
   aq1.Parameters.ParamByName('lydh').Value:=trim(txtjhdh.text);
   aq1.Parameters.ParamByName('csbh').Value:=copy(trim(txthcmc.text),1,4);
   aq1.Parameters.ParamByName('hcbh').Value:=trim(txthcbh.text);
   aq1.Parameters.ParamByName('lysl').Value:=trim(txtjhsl.text);
   aq1.Parameters.ParamByName('lyrq').Value:=trim(txtjhrq.text);
   aq1.Parameters.ParamByName('czybh').Value:=trim(txtczy.text);
   aq1.Parameters.ParamByName('jhdj').Value:=trim(txtjhdj.text);
   aq1.Parameters.ParamByName('lyje').Value:=trim(txtjhje.text);
   aq1.Parameters.ParamByName('zdrq').Value:=trim(txtjhrq.Text);
   aq1.Parameters.ParamByName('pc').Value:=trim(txtpc.Text);
   aq1.Parameters.ParamByName('bmbh').Value:=copy(trim(txtbm.Text),1,2);
   aq1.Parameters.ParamByName('ygbh').Value:=copy(trim(txtyg.Text),1,3);
   aq1.ExecSQL;
   //写入流水帐hclsz
   aq1.Close;
   aq1.SQL.Clear;
   aq1.SQL.Add('insert into hclsz  (csbh,hcbh,sl,wcrq,pc,djbh,zdrq,type,jhdj,je,dqkc)'+

⌨️ 快捷键说明

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