?? wpxg.pas
字號:
unit wpxg;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, StdCtrls, Buttons, ComCtrls, ExtCtrls, Mask, Db, DBTables;
type
TFrmwpxg = class(TForm)
ListBox1: TListBox;
Panel1: TPanel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label4: TLabel;
SpeedButton1: TSpeedButton;
Label21: TLabel;
wp_bm_edit: TEdit;
mc_edit: TEdit;
gg_edit: TEdit;
dw_edit: TEdit;
lb_edit: TEdit;
jj_edit: TEdit;
dj_edit: TEdit;
sl_edit: TEdit;
yxq_edit: TEdit;
kcxx_edit: TEdit;
sb_edit: TEdit;
ph_edit: TEdit;
pzwh_edit: TEdit;
cd_edit: TEdit;
jgdw_edit: TEdit;
Edit1: TEdit;
bz_Edit: TEdit;
DateTimePicker2: TDateTimePicker;
Panel2: TPanel;
Label1: TLabel;
Label15: TLabel;
BitBtn2: TBitBtn;
bm_Edit: TEdit;
BitBtn3: TBitBtn;
DBGrid1: TDBGrid;
MaskEdit1: TMaskEdit;
Query_kc: TQuery;
Query_ckxx: TQuery;
DataSource_kc: TDataSource;
Database: TDatabase;
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure sl_editKeyPress(Sender: TObject; var Key: Char);
procedure yxq_editKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn3Click(Sender: TObject);
procedure bm_EditChange(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frmwpxg: TFrmwpxg;
ck_id:array[0..25] of string; //存倉庫信息表ckxxb中倉庫編號字段的值
table_name:array[0..25] of string;
implementation
uses ghs, main;
{$R *.DFM}
procedure TFrmwpxg.SpeedButton1Click(Sender: TObject);
begin
Frmghs:=TFrmghs.create(Self);
Frmmain.pubedit:=Edit1;
Frmghs.ShowModal;
end;
procedure TFrmwpxg.FormCreate(Sender: TObject);
var i:integer;
begin
if Frmmain.right='01' then bitbtn3.Enabled:=false;
keypreview:=true;
DateTimePicker2.Date:=Frmmain.GetServerTime;
i:=0;
Query_ckxx.close;
Query_ckxx.UnPrepare;
Query_ckxx.sql.Clear;
Query_ckxx.SQL.Add('select * from ckxxb');
Query_ckxx.Prepare;
Query_ckxx.open;
listbox1.Clear;
while not Query_ckxx.Eof do
begin
listbox1.Items.Add(Query_ckxx.fieldbyname('ck_mc').asstring);
ck_id[i]:=Query_ckxx.FieldByName('ck_bh').asString;
table_name[i]:=Query_ckxx.fieldbyName('bm').asString;
inc(i);
Query_ckxx.Next;
end;
listbox1.ItemIndex:=0;
listbox1click(self);
if pos('中藥',listbox1.Items[listbox1.itemindex])>0 then
begin
pzwh_edit.Enabled:=false;
yxq_edit.Enabled:=false;
sb_edit.Enabled:=false;
jgdw_edit.Enabled:=true;
bz_edit.Enabled:=false;
end
else
begin
jgdw_edit.Enabled:=false;
pzwh_edit.Enabled:=true;
yxq_edit.Enabled:=true;
sb_edit.Enabled:=true;
bz_edit.Enabled:=true;
end;
end;
procedure TFrmwpxg.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
key:=#0;
postmessage(handle,wm_nextdlgctl,0,0);
end;
end;
procedure TFrmwpxg.sl_editKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then key:=#0;
end;
procedure TFrmwpxg.yxq_editKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then key:=#0
end;
procedure TFrmwpxg.BitBtn3Click(Sender: TObject);
begin
if bitbtn3.Caption='&E修改' then
begin
bitbtn3.Caption:='&Y確定';
Edit1.Clear;
mc_Edit.Clear;
wp_bm_Edit.Clear;
cd_Edit.Clear;
gg_Edit.Clear;
dw_Edit.Clear;
jj_edit.Clear;
dj_edit.Clear;
sl_edit.Clear;
ph_edit.Clear;
yxq_edit.Clear;
sb_edit.Clear;
lb_edit.Clear;
bz_edit.Clear;
kcxx_edit.Clear;
end
else if bitbtn3.Caption='&Y確定' then
begin
if edit1.Text='' then
begin
Application.MessageBox('請填寫供貨商信息','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
if mc_edit.Text='' then
begin
Application.MessageBox('請填寫物品名稱','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
if wp_bm_edit.Text='' then
begin
Application.MessageBox('請填寫完整,','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
if sl_edit.Text='' then
begin
Application.MessageBox('請填寫進貨數量','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
if (jj_edit.Text='') or (strtofloat(jj_edit.Text)=0.0) then
begin
Application.MessageBox('請填寫藥品進價','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
if (pos('中藥',listbox1.Items[listbox1.itemindex])=0) and (maskedit1.Text=' - - ') then
begin
Application.MessageBox('請填寫生產日期','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
if (dj_edit.Text='') or (strtofloat(dj_edit.Text)=0.0) then
begin
Application.MessageBox('請填寫藥品單價','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
if pos('中藥',listbox1.Items[listbox1.itemindex])=0 then
begin
if (bz_edit.Text='') or (strtofloat(bz_edit.Text)=0.0) then
begin
Application.MessageBox('請填寫藥品包裝數','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
if (yxq_edit.Text='') or (strtofloat(yxq_edit.Text)=0.0) then
begin
Application.MessageBox('請填寫藥品包裝數','提示',MB_OK+MB_ICONINFORMATION);
exit;
end;
end;
Query_kc.Edit;
Query_kc.FieldByName('pm').asstring:=trim(mc_edit.text);
Query_kc.FieldByName('ghs_mc').asstring:=trim(edit1.Text);
Query_kc.FieldByName('wp_bm').asstring:=wp_bm_edit.Text;
Query_kc.FieldByName('gg').asstring:=gg_edit.Text;
Query_kc.FieldByName('dw').asstring:=dw_edit.Text;
Query_kc.FieldByName('lb').asstring:=lb_edit.Text;
Query_kc.FieldByName('jj').asstring:=jj_edit.Text;
Query_kc.FieldByName('dj').asstring:=dj_edit.Text;
Query_kc.FieldByName('kcs').asstring:=sl_edit.Text;
Query_kc.FieldByName('kcxx').asstring:=kcxx_edit.Text;
Query_kc.FieldByName('ph').asstring:=ph_edit.Text;
Query_kc.FieldByName('cd').asstring:=cd_edit.Text;
Query_kc.FieldByName('jhrq').asstring:=datetostr(DateTimePicker2.Date);
if ListBox1.Items[listbox1.itemindex]<>'中藥庫' then
begin
Query_kc.FieldByName('scrq').asstring:=maskedit1.Text;
Query_kc.FieldByName('yxq').asstring:=yxq_edit.Text;
Query_kc.FieldByName('sb').asstring:=sb_edit.Text;
Query_kc.FieldByName('bz').asstring:=bz_edit.Text;
Query_kc.FieldByName('pzwh').asstring:=pzwh_edit.text;
end;
try
Database.StartTransaction;
Query_kc.Post;
Database.Commit;
bitbtn3.Caption:='&E修改';
except
Database.Rollback;
application.MessageBox('系統出錯!','警告',mb_ok+mb_iconwarning);
exit;
end;
bm_EditChange(Self);
end;
end;
procedure TFrmwpxg.bm_EditChange(Sender: TObject);
begin
Query_kc.disablecontrols;
Query_kc.close;
Query_kc.UnPrepare;
Query_kc.sql.Clear;
Query_kc.sql.Add('select pm,cd,gg,dw,kcs,dj,jj,ph ');
if pos('中藥',listbox1.Items[listbox1.itemindex])=0 then
Query_kc.sql.Add(',sb,pzwh,yxq,scrq,bz ')
else Query_kc.sql.Add(',jgdw ');
Query_kc.sql.Add(',kcxx,jhrq,lb,ghs_mc,ck_bh,wp_bm ');
Query_kc.sql.add(' from '+table_name[listbox1.itemindex]);
Query_kc.sql.Add(' where wp_bm like'+''''+bm_edit.Text+'%'+'''');
Query_kc.sql.Add(' order by pm');
Query_kc.Prepare;
Query_kc.Open;
Query_kc.FieldByName('ck_bh').DisplayLabel:='倉庫編號';
Query_kc.FieldByName('pm').DisplayLabel:='物品名稱';
Query_kc.FieldByName('wp_bm').DisplayLabel:='物品編碼';
Query_kc.FieldByName('gg').DisplayLabel:='規格';
Query_kc.FieldByName('dw').DisplayLabel:='單位';
Query_kc.FieldByName('jj').DisplayLabel:='進價';
Query_kc.FieldByName('dj').DisplayLabel:='單價';
Query_kc.FieldByName('kcs').DisplayLabel:='庫存數';
Query_kc.FieldByName('kcxx').DisplayLabel:='庫存下限';
Query_kc.FieldByName('lb').DisplayLabel:='類別';
Query_kc.FieldByName('ph').DisplayLabel:='批號';
Query_kc.FieldByName('jhrq').DisplayLabel:='進貨日期';
if pos('中藥',listbox1.Items[listbox1.itemindex])=0 then
begin
Query_kc.FieldByName('sb').DisplayLabel:='商標';
Query_kc.FieldByName('pzwh').DisplayLabel:='批準文號';
Query_kc.FieldByName('scrq').DisplayLabel:='生產日期';
Query_kc.FieldByName('yxq').DisplayLabel:='有效期';
Query_kc.FieldByName('bz').DisplayLabel:='包裝';
end
else Query_kc.FieldByName('jgdw').DisplayLabel:='加工單位';
Query_kc.FieldByName('cd').DisplayLabel:='產地';
Query_kc.FieldByName('ghs_mc').displaylabel:='供貨商名稱';
Query_kc.EnableControls;
end;
procedure TFrmwpxg.ListBox1Click(Sender: TObject);
begin
edit1.Clear;
wp_bm_edit.Clear;
mc_edit.Clear;
gg_edit.Clear;
dw_edit.Clear;
sl_edit.Clear;
cd_edit.Clear;
ph_edit.Clear;
Query_kc.disablecontrols;
Query_kc.close;
Query_kc.UnPrepare;
Query_kc.sql.Clear;
Query_kc.sql.Add('select pm,cd,gg,dw,kcs,dj,jj,ph ');
if pos('中藥',listbox1.Items[listbox1.itemindex])=0 then
Query_kc.sql.Add(',sb,pzwh,yxq,scrq,bz ')
else Query_kc.sql.Add(',jgdw ');
Query_kc.sql.Add(',kcxx,jhrq,lb,ghs_mc,ck_bh,wp_bm ');
Query_kc.sql.add(' from '+table_name[listbox1.itemindex]);
Query_kc.sql.Add(' where ck_bh='''+ck_id[listbox1.itemIndex]+'''');
Query_kc.sql.Add(' order by pm ');
Query_kc.Prepare;
Query_kc.Open;
Query_kc.FieldByName('ck_bh').DisplayLabel:='倉庫編號';
Query_kc.FieldByName('pm').DisplayLabel:='物品名稱';
Query_kc.FieldByName('wp_bm').DisplayLabel:='物品編碼';
Query_kc.FieldByName('gg').DisplayLabel:='規格';
Query_kc.FieldByName('dw').DisplayLabel:='單位';
Query_kc.FieldByName('jj').DisplayLabel:='進價';
Query_kc.FieldByName('dj').DisplayLabel:='單價';
Query_kc.FieldByName('kcs').DisplayLabel:='庫存數';
Query_kc.FieldByName('kcxx').DisplayLabel:='庫存下限';
Query_kc.FieldByName('lb').DisplayLabel:='類別';
Query_kc.FieldByName('ph').DisplayLabel:='批號';
Query_kc.FieldByName('jhrq').DisplayLabel:='進貨日期';
if pos('中藥',listbox1.Items[listbox1.itemindex])=0 then
begin
Query_kc.FieldByName('sb').DisplayLabel:='商標';
Query_kc.FieldByName('pzwh').DisplayLabel:='批準文號';
Query_kc.FieldByName('scrq').DisplayLabel:='生產日期';
Query_kc.FieldByName('yxq').DisplayLabel:='有效期';
Query_kc.FieldByName('bz').DisplayLabel:='包裝';
end
else Query_kc.FieldByName('jgdw').DisplayLabel:='加工單位';
Query_kc.FieldByName('cd').DisplayLabel:='產地';
Query_kc.FieldByName('ghs_mc').displaylabel:='供貨商名稱';
Query_kc.EnableControls;
if pos('中藥',listbox1.Items[listbox1.itemindex])>0 then
begin
pzwh_edit.Enabled:=false;
yxq_edit.Enabled:=false;
sb_edit.Enabled:=false;
jgdw_edit.Enabled:=true;
bz_edit.Enabled:=false;
maskedit1.Enabled:=false;
end
else
begin
jgdw_edit.Enabled:=false;
pzwh_edit.Enabled:=true;
yxq_edit.Enabled:=true;
sb_edit.Enabled:=true;
bz_edit.Enabled:=true;
maskedit1.Enabled:=true;
end;
end;
procedure TFrmwpxg.BitBtn2Click(Sender: TObject);
begin
Self.Close;
end;
procedure TFrmwpxg.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=CaFree;
end;
procedure TFrmwpxg.DBGrid1CellClick(Column: TColumn);
begin
if bitbtn3.Caption='&Y確定' then
if not Query_kc.Eof then
begin
mc_edit.Text:=Query_kc.fieldbyname('pm').asstring;
edit1.Text:=Query_kc.fieldbyname('ghs_mc').asstring;
wp_bm_edit.Text:=Query_kc.fieldbyname('wp_bm').asstring;
gg_edit.Text:=Query_kc.fieldbyname('gg').asstring;
dw_edit.Text:=Query_kc.fieldbyname('dw').asstring;
jj_edit.Text:=Query_kc.fieldbyname('jj').asstring;
dj_edit.Text:=Query_kc.fieldbyname('dj').asstring;
sl_edit.Text:=Query_kc.fieldbyname('kcs').asstring;
kcxx_edit.Text:=Query_kc.fieldbyname('kcxx').asstring;
lb_edit.Text:=Query_kc.fieldbyname('lb').asstring;
ph_edit.Text:=Query_kc.fieldbyname('ph').asstring;
cd_edit.Text:=Query_kc.fieldbyname('cd').asstring;
DateTimePicker2.Date:= Query_kc.fieldbyname('jhrq').asdatetime;
if pos('中藥',listbox1.Items[listbox1.itemindex])=0 then
begin
maskedit1.Text:=formatdatetime('yyyy-mm-dd',Query_kc.fieldbyname('scrq').asdatetime);
sb_edit.Text:=Query_kc.fieldbyname('sb').asstring;
pzwh_edit.Text:=Query_kc.fieldbyname('pzwh').asstring;
yxq_edit.Text:=Query_kc.fieldbyname('yxq').asstring;
bz_edit.Text:=Query_kc.fieldbyname('bz').asstring;
end
else jgdw_edit.Text:=Query_kc.fieldbyname('jgdw').asstring;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -