📄 p_rk.pas
字号:
unit p_rk;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,p_mc, StdCtrls, ComCtrls, SUIComboBox, Grids, DBGrids, Buttons,
SUIEdit, Mask, DBCtrls, SUIDBCtrls, ExtCtrls, DB;
type
Tf_rk = class(Tf_mc)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DT: TDateTimePicker;
RKDH: TEdit;
Memo1: TMemo;
cb_jbr: TsuiComboBox;
cb_ck: TsuiComboBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
b_rk: TBitBtn;
BitBtn2: TBitBtn;
b_add: TBitBtn;
b_edit: TBitBtn;
b_save: TBitBtn;
b_cancel: TBitBtn;
b_del: TBitBtn;
Pan: TPanel;
Label7: TLabel;
sl: TsuiDBEdit;
Label8: TLabel;
Label9: TLabel;
suiDBMemo1: TsuiDBMemo;
Label15: TLabel;
GroupBox3: TGroupBox;
Label11: TLabel;
Label12: TLabel;
c: TsuiDBEdit;
hcl: TsuiDBEdit;
GroupBox4: TGroupBox;
Label13: TLabel;
Label14: TLabel;
szmd: TsuiDBEdit;
ysx: TsuiDBEdit;
sph: TsuiDBEdit;
Label3: TLabel;
Label16: TLabel;
spm: TsuiEdit;
spxh: TsuiEdit;
b_sp: TSpeedButton;
suiDBComboBox1: TsuiDBComboBox;
SpeedButton2: TSpeedButton;
b_xgrkd: TBitBtn;
b_delrkd: TBitBtn;
PAN1: TPanel;
dt1: TDateTimePicker;
Bevel1: TBevel;
Label10: TLabel;
dt2: TDateTimePicker;
Label17: TLabel;
BitBtn5: TBitBtn;
DBGrid2: TDBGrid;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure rkdbh;
procedure b_rkClick(Sender: TObject);
procedure b_addClick(Sender: TObject);
procedure b_editClick(Sender: TObject);
procedure b_delClick(Sender: TObject);
procedure b_saveClick(Sender: TObject);
procedure b_cancelClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure sphChange(Sender: TObject);
procedure b_spClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn2Click(Sender: TObject);
procedure b_xgrkdClick(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
procedure b_delrkdClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
edit:bool;
{ Private declarations }
public
{ Public declarations }
end;
var
f_rk: Tf_rk;
implementation
uses p_dm,p_gl,p_sp,adodb,p_ffry;
{$R *.dfm}
procedure tf_rk.rkdbh;
var
i,j:integer;
s:string;
begin
i:=0;
DT.Date:=NOW;
with dm do
begin
query.SQL.Clear;
query.SQL.Add('select * from crkd_info where ddh like :ddh');
query.Parameters[0].Value:='rk'+formatdatetime('yyyymmdd',dt.Date)+'%';
query.Open;
if query.RecordCount=0 then //==============
begin
s:='000'+inttostr(i+1);
rkdh.Text:='rk'+formatdatetime('yyyymmdd',dt.Date)+s;
end else
begin
query.Last;
s:=copy(query['ddh'],11,4);
i:=strtoint(s);
s:=inttostr(i+1);
for j:=1 to 4-length(s) do //=============
s:='0'+s;
rkdh.Text:='rk'+formatdatetime('yyyymmdd',dt.Date)+s;
end; //if ... end
query.Close;
end; //with .. end
end;
procedure Tf_rk.FormCreate(Sender: TObject);
begin
inherited;
pan1.Hide;
edit:=false;
f_rk.rkdbh;
with dm do
begin
query.SQL.Clear;
query.SQL.Add('delete from temprk_info');
query.ExecSQL;
t_temprk.Open;
t_ffry.Open;
t_ffry.Filtered:=false;
if t_ffry.RecordCount=0 then
begin
application.MessageBox('没有本公司人员信息,请输入!','信息',mb_ok+mb_iconinformation);
application.CreateForm(tf_ffry,f_ffry);
f_ffry.ShowModal;
end;
t_ffry.First;
while not t_ffry.Eof do
begin
cb_jbr.Items.Add(t_ffry['xm']);
t_ffry.Next;
end;
end;
cb_jbr.ItemIndex:=0;
if dm.t_temprk.RecordCount=0 then exit;
dbgrid1.OnCellClick(dbgrid1.Columns.Items[dbgrid1.SelectedRows.count]);
end;
procedure Tf_rk.b_rkClick(Sender: TObject);
begin
inherited;
b_cancel.OnClick(self);
b_delrkd.Enabled:=false;
if trim(cb_jbr.Text)='' then
begin
application.MessageBox('请输入经办人!','提示',mb_ok+mb_iconinformation);
exit;
end;
if dm.T_TEMPRK.RecordCount=0 then
begin
application.MessageBox('请增加入库明细!','提示',mb_ok+mb_iconinformation);
exit;
end;
with dm do
begin
//=======================================
if b_rk.Caption='修库' then
begin
query.SQL.Clear;
query.SQL.Add('delete from kc_info where ddh=:ddh');
query.Parameters[0].Value:=trim(rkdh.Text);
query.ExecSQL;
query.SQL.Clear;
query.SQL.Add('delete from rk_info where ddh=:ddh');
query.Parameters[0].Value:=trim(rkdh.Text);
query.ExecSQL;
query.SQL.Clear;
query.SQL.Add('delete from crkd_info where ddh=:ddh');
query.Parameters[0].Value:=trim(rkdh.Text);
query.ExecSQL;
{ t_temprk.Requery;
t_temprk.Filtered:=false;
while not t_temprk.Eof do
begin
query.SQL.Clear;
query.SQL.Add('delete from crkd_info where ddh=:ddh and c=:c and hcl=:hcl and szmd=:szmd and ysx=:ysx');
query.Parameters[0].Value:=trim(rkdh.Text);
query.Parameters[1].Value:=t_temprk['c'];
query.Parameters[2].Value:=t_temprk['hcl'];
query.Parameters[3].Value:=t_temprk['szmd'];
query.Parameters[4].Value:=t_temprk['ysx'];
query.ExecSQL;
t_temprk.Next;
end; }
end;
//=======================================
query.SQL.Clear;
query.SQL.Add('insert into crkd_info(ddh,ddrq,jbr,ck,bz) values(:ddh,:ddrq,:jbr,:ck,:bz)');
query.Parameters[0].Value:=trim(rkdh.Text);
query.Parameters[1].Value:=formatdatetime('yyyy.mm.dd',dt.Date);
query.Parameters[2].Value:=trim(cb_jbr.Text);
query.Parameters[3].Value:=trim(cb_ck.Text);
query.Parameters[4].Value:=trim(memo1.Text);
query.ExecSQL;
query.SQL.Clear;
query.SQL.Add('update temprk_info set ddh=:ddh,rklx=:rklx');
query.Parameters[0].Value:=trim(rkdh.Text);
query.Parameters[1].Value:='入库';
query.ExecSQL;
query.SQL.Clear;
query.SQL.Add('insert into kc_info(ddh,sph,c,hcl,szmd,ysx,sl,dw,bz) select ddh,sph,c,hcl,szmd,ysx,sl,dw,bz from temprk_info');
query.ExecSQL;
query.SQL.Clear;
query.SQL.Add('insert into rk_info select * from temprk_info');
query.ExecSQL;
f_rk.rkdbh;
query.SQL.Clear;
query.SQL.Add('delete from temprk_info');
query.ExecSQL;
spm.Text:='';
spxh.Text:='';
t_temprk.Requery;
if b_rk.Caption='修库' then b_rk.Caption:='入库';
end;
end;
procedure Tf_rk.b_addClick(Sender: TObject);
begin
inherited;
dm.T_temprk.Append;
spm.Text:='';
spxh.Text:='';
b_sp.Click;
b_add.Enabled:=false;
b_edit.Enabled:=false;
b_del.Enabled:=false;
b_save.Enabled:=true;
b_cancel.Enabled:=true;
pan.Enabled:=true;
b_sp.Enabled:=true;
pan.Font.Color:=$00990000;
dbgrid1.Enabled:=false;
//sph.SetFocus;
end;
procedure Tf_rk.b_editClick(Sender: TObject);
begin
inherited;
dm.T_temprk.edit;
edit:=true;
with dm do
begin
if b_rk.Caption='修库' then
begin
t_temprk.Cancel;
query.SQL.Clear;
query.SQL.Add('select * from ck_info where rkdh=:ddh and sph=:sph and c=:c and hcl=:hcl and szmd=:szmd and ysx=:ysx');
query.Parameters[0].Value:=t_temprk['ddh'];
query.Parameters[1].Value:=t_temprk['sph'];
query.Parameters[2].value:=t_temprk['c'];
query.Parameters[3].value:=t_temprk['hcl'];
query.Parameters[4].value:=t_temprk['szmd'];
query.Parameters[5].value:=t_temprk['ysx'];
query.open;
if query.RecordCount<>0 then
begin
application.MessageBox('该商品已出库,不能删除其信息!','警告',mb_ok+mb_iconwarning);
t_temprk.Requery;
exit;
end;
end;
end;
B_SP.Enabled:=FAlse;
c.Enabled:=false;
hcl.Enabled:=false;
szmd.Enabled:=false;
ysx.Enabled:=false;
b_edit.Enabled:=false;
b_add.Enabled:=false;
b_del.Enabled:=false;
b_save.Enabled:=true;
b_cancel.Enabled:=true;
pan.Enabled:=true;
dbgrid1.Enabled:=false;
pan.Font.Color:=$00990000;
sl.SetFocus;
end;
procedure Tf_rk.b_delClick(Sender: TObject);
begin
inherited;
with dm do
begin
//\============================检测是否有出库信息如果有则不能修改入库信息
if b_rk.Caption='修库' then
begin
t_temprk.Cancel;
query.SQL.Clear;
query.SQL.Add('select * from ck_info where rkdh=:ddh and sph=:sph and c=:c and hcl=:hcl and szmd=:szmd and ysx=:ysx');
query.Parameters[0].Value:=t_temprk['ddh'];
query.Parameters[1].Value:=t_temprk['sph'];
query.Parameters[2].value:=t_temprk['c'];
query.Parameters[3].value:=t_temprk['hcl'];
query.Parameters[4].value:=t_temprk['szmd'];
query.Parameters[5].value:=t_temprk['ysx'];
query.open;
if query.RecordCount<>0 then
begin
application.MessageBox('该商品已出库,不能删除其信息!','警告',mb_ok+mb_iconwarning);
t_temprk.Requery;
exit;
end;
end;
end;//with .. end
//=============================
if application.MessageBox('您确认删除该记录吗?','提问',mb_yesno+mb_iconquestion)=idno then
begin
exit;
end;
try
dm.T_temprk.Delete;
except
application.MessageBox('数据库删除不成功!','数据删除失败',mb_ok+mb_iconstop);
end;
dm.T_temprk.Filtered:=false;
dbgrid1.OnCellClick(dbgrid1.Columns.Items[dbgrid1.SelectedRows.count]);
end;
procedure Tf_rk.b_saveClick(Sender: TObject);
var
s:integer;
begin
inherited;
if (trim(sph.Text)='')or(trim(c.Text)='')or(trim(ysx.Text)='')or(trim(szmd.Text)='')or(trim(hcl.Text)='')or(trim(sl.Text)='') then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -