📄 ufrmproduct_info.pas
字号:
unit ufrmproduct_info;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, ComCtrls, ExtCtrls, RzPanel, RzSplit, Grids, DBGrids,
DBCtrls, DB, ADODB, StdCtrls, Mask, RzCmboBx, RzDBCmbo, Buttons, FR_DSet,
FR_DBSet, FR_Class;
type
Tfrmproduct_info = class(TForm)
RzSizePanel1: TRzSizePanel;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
TreeView1: TTreeView;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
RzBitBtn3: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
DBEdit1: TDBEdit;
DBEdit3: TDBEdit;
DBEdit5: TDBEdit;
DBEdit11: TDBEdit;
Label13: TLabel;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
Label14: TLabel;
DBMemo1: TDBMemo;
RzDBLookupComboBox1: TRzDBLookupComboBox;
RzDBComboBox1: TRzDBComboBox;
RzDBLookupComboBox3: TRzDBLookupComboBox;
Label15: TLabel;
Label16: TLabel;
DBEdit2: TDBEdit;
DBEdit4: TDBEdit;
RzBitBtn7: TRzBitBtn;
RzBitBtn8: TRzBitBtn;
CheckBox1: TCheckBox;
Label5: TLabel;
DBEdit6: TDBEdit;
Label8: TLabel;
DBEdit10: TDBEdit;
DBEdit7: TDBEdit;
ADOQuery1DSDesigner: TStringField;
ADOQuery1DSDesigner2: TStringField;
ADOQuery1DSDesigner3: TStringField;
ADOQuery1DSDesigner4: TStringField;
ADOQuery1DSDesigner5: TStringField;
ADOQuery1DSDesigner6: TStringField;
ADOQuery1DSDesigner7: TStringField;
ADOQuery1DSDesigner8: TBCDField;
ADOQuery1DSDesigner9: TBCDField;
ADOQuery1DSDesigner10: TFloatField;
ADOQuery1DSDesigner11: TBCDField;
ADOQuery1DSDesigner12: TStringField;
ADOQuery1DSDesigner13: TStringField;
ADOQuery1DSDesigner14: TStringField;
ADOQuery1DSDesigner15: TDateTimeField;
ADOQuery1DSDesigner16: TMemoField;
RzMenuToolbarButton1: TRzMenuToolbarButton;
ADOStoredProc1: TADOStoredProc;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn7Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure RzBitBtn5Click(Sender: TObject);
procedure RzBitBtn8Click(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure RzBitBtn6Click(Sender: TObject);
procedure RzBitBtn4Click(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure CheckBox1Click(Sender: TObject);
procedure RzMenuToolbarButton1Click(Sender: TObject);
procedure DBEdit7Enter(Sender: TObject);
procedure DBEdit7Exit(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure DBEdit6DblClick(Sender: TObject);
procedure DBEdit3DblClick(Sender: TObject);
procedure DBEdit13DblClick(Sender: TObject);
procedure DBEdit7DblClick(Sender: TObject);
procedure DBMemo1DblClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
private
{ Private declarations }
strsql:string;
isedit:boolean;
addedit:boolean;
id:string;
lbmc:string;
cpmc:string;
siyin:string;
baoz:string;
smallclass:string;
bigclass:string;
bz:string;
public
{ Public declarations }
end;
var
frmproduct_info: Tfrmproduct_info;
implementation
uses uconst,udm1,Unit_treepublic,ufunction,ucx,ucpsmallclass,unit3;
{$R *.dfm}
procedure Tfrmproduct_info.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tfrmproduct_info.FormCreate(Sender: TObject);
begin
addedit:=false;
adoquery2.Connection:=dm1.ADOConnection1;
ADOStoredProc1.Connection:=dm1.ADOConnection1;
maketree(adoquery2,'cplb',treeview1,'产品类别列表');
strsql:='select cpdm as 产品代码,bigclass as 大类,smallclass as 小类,cpmc as 名称,'+
'dw as 单位,baoz as 包装,siyin as 丝印,sjkc as 实际库存,kykc as 可用库存,baoj as 单价,'+
'aqkc as 安全库存,kykc as 剩余库存,chang as 厂别,bandan as 办单,djr as 操作,srrq as 日期,'+
'node as 备注 from cpdmk ';
adoexect(adoquery1,strsql);
RzDBComboBox1.Items.Add('力盈');
RzDBComboBox1.Items.Add('佳盈');
if qxjc(userid,'qxsz') then
begin
dbedit5.Enabled:=true;
dbedit11.Enabled:=true;
end;
end;
procedure Tfrmproduct_info.RzBitBtn1Click(Sender: TObject);
var
id:string;
begin
if not qxjc(userid,'jbzl_add') then exit;
addedit:=true;
isedit:=false;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn6.Enabled:=false;
RzBitBtn7.Enabled:=true;
PageControl1.ActivePageIndex:=1;
adoquery1.Append;
dbedit2.Text:=userid;
dbedit4.text:=datetostr(date);
dbedit5.Text:='0';
dbedit11.Text:='0';
dbedit12.Text:='0';
DBNavigator1.Enabled:=false;
treeview1.Enabled:=false;
dbedit1.SetFocus;
end;
procedure Tfrmproduct_info.RzBitBtn2Click(Sender: TObject);
begin
if not qxjc(userid,'jbzl_edit')and (username<>trim(dbedit2.Text)) then exit;
if (adoquery1.Recordset.EOF) and (adoquery1.Recordset.BOF) then begin
messagebox(handle,'没有选择要修改的记录!','警告',mb_ok+mb_iconwarning);
exit;
end;
id:=trim(dbedit1.Text);
addedit:=true;
isedit:=true;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn6.Enabled:=false;
RzBitBtn7.Enabled:=true;
adoquery1.Edit;
dbedit2.Text:=userid;
dbedit4.Text:=datetostr(date);
PageControl1.ActivePageIndex:=1;
DBNavigator1.Enabled:=false;
treeview1.Enabled:=false;
end;
procedure Tfrmproduct_info.RzBitBtn7Click(Sender: TObject);
begin
if savedata(adoquery1,'cpdmk',trim(dbedit1.Text),id,'cpdm') then begin
if adoquery1.State in[dsedit] then
begin
strsql:='exec p_update_cpdm '+''''+id+''''+','+''''+trim(dbedit1.Text)+'''';
adodel(adoquery3,strsql);
adoquery3.Close;
end;
adoquery1.Post;
cpmc:=trim(dbedit3.Text);
smallclass:=trim(dbedit7.Text);
bigclass:=trim(RzDBLookupComboBox1.Text);
bz:=trim(dbmemo1.Text);
siyin:=trim(dbedit13.Text);
baoz:=trim(dbedit6.Text);
messagebox(handle,'操作成功!','信息',mb_ok+mb_iconinformation);
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn6.Enabled:=true;
RzBitBtn7.Enabled:=false;
if not isedit then exit;
PageControl1.ActivePageIndex:=0;
DBNavigator1.Enabled:=true;
treeview1.Enabled:=true;
end;
end;
procedure Tfrmproduct_info.PageControl1Change(Sender: TObject);
begin
if addedit then
begin
PageControl1.ActivePageIndex:=1;
DBNavigator1.Enabled:=false;
treeview1.Enabled:=false;
end else begin
PageControl1.ActivePageIndex:=0;
DBNavigator1.Enabled:=true;
treeview1.Enabled:=true
end;
end;
procedure Tfrmproduct_info.RzBitBtn5Click(Sender: TObject);
begin
close;
end;
procedure Tfrmproduct_info.RzBitBtn8Click(Sender: TObject);
begin
adoquery1.CancelUpdates;
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn6.Enabled:=true;
RzBitBtn7.Enabled:=false;
PageControl1.ActivePageIndex:=0;
DBNavigator1.Enabled:=true;
treeview1.Enabled:=true;
end;
procedure Tfrmproduct_info.TreeView1Change(Sender: TObject;
Node: TTreeNode);
begin
lbmc:=trim(treeview1.Selected.Text);
if lbmc='' then exit;
case node.Level of
0:
strsql:='select cpdm as 产品代码,bigclass as 大类,smallclass as 小类,cpmc as 名称,'+
'dw as 单位,baoz as 包装,siyin as 丝印,sjkc as 实际库存,kykc as 可用库存,baoj as 单价,'+
'aqkc as 安全库存,kykc as 剩余库存,chang as 厂别,bandan as 办单,djr as 操作,srrq as 日期,'+
'node as 备注 from cpdmk order by cpdm asc';
1:
strsql:='select cpdm as 产品代码,bigclass as 大类,smallclass as 小类,cpmc as 名称,'+
'dw as 单位,baoz as 包装,siyin as 丝印,sjkc as 实际库存,kykc as 可用库存,baoj as 单价,'+
'aqkc as 安全库存,kykc as 剩余库存,chang as 厂别,bandan as 办单,djr as 操作,srrq as 日期,'+
'node as 备注 from cpdmk where bigclass= '+''''+lbmc+''''+' order by cpdm asc';
2,3,4,5,6:
strsql:='select cpdm as 产品代码,bigclass as 大类,smallclass as 小类,cpmc as 名称,'+
'dw as 单位,baoz as 包装,siyin as 丝印,sjkc as 实际库存,kykc as 可用库存,baoj as 单价,'+
'aqkc as 安全库存,kykc as 剩余库存,chang as 厂别,bandan as 办单,djr as 操作,srrq as 日期,'+
'node as 备注 from cpdmk where smallclass= '+''''+lbmc+''''+' order by cpdm asc';
end;
adoexect(adoquery1,strsql);
end;
procedure Tfrmproduct_info.RzBitBtn6Click(Sender: TObject);
var
a:integer;
begin
a:=0;
if not qxjc(userid,'jbzl_del')and (username<>trim(dbedit2.Text)) then exit;
ADOStoredProc1.close;
adostoredproc1.Parameters.Clear;
adostoredproc1.ProcedureName:='p_check_cpdm';
adostoredproc1.Parameters.CreateParameter('@cpdm',ftstring,pdInput,20,1);
ADOStoredProc1.Parameters.ParamByName('@cpdm').Value:=trim(adoquery1.fieldbyname('产品代码').AsString);
adostoredproc1.Parameters.CreateParameter('@isok',ftinteger,pdoutput,1,1);
ADOStoredProc1.prepared:=true;
ADOStoredProc1.ExecProc;
a:=ADOStoredProc1.Parameters.ParamValues['@isok'];
if a=1 then
begin
showmessage('对不起!该产品已经使用了,不能删除');
exit;
end;
if (adoquery1.Recordset.EOF) and (adoquery1.Recordset.BOF) then begin
messagebox(handle,'没有选择要删除的记录!','警告',mb_ok+mb_iconwarning);
exit;
end;
adoquery1.Delete;
adoquery1.Requery();
end;
procedure Tfrmproduct_info.RzBitBtn4Click(Sender: TObject);
begin
frmcx:=tfrmcx.Create(self);
frmcx.adocx:=adoquery1;
frmcx.ShowModal;
adoquery1:=frmcx.adocx;
ADOquery1.Requery();
dbgrid1.Refresh;
end;
procedure Tfrmproduct_info.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if adoquery1.FieldByName('可用库存').Value < adoquery1.FieldByName('安全库存').Value then begin
dbgrid1.Canvas.Brush.Color:=clYellow;
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,[gdfixed,gdfocused,gdselected]);
end;
end;
procedure Tfrmproduct_info.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked=true then begin
strsql:='select cpdm as 产品代码,bigclass as 大类,smallclass as 小类,cpmc as 名称,'+
'dw as 单位,baoz as 包装,siyin as 丝印,sjkc as 实际库存,kykc as 可用库存,baoj as 单价,'+
'aqkc as 安全库存,kykc as 剩余库存,chang as 厂别,bandan as 办单,djr as 操作,srrq as 日期,'+
'node as 备注 from cpdmk where kykc<aqkc order by cpdm asc';
end else begin
strsql:='select cpdm as 产品代码,bigclass as 大类,smallclass as 小类,cpmc as 名称,'+
'dw as 单位,baoz as 包装,siyin as 丝印,sjkc as 实际库存,kykc as 可用库存,baoj as 单价,'+
'aqkc as 安全库存,kykc as 剩余库存,chang as 厂别,bandan as 办单,djr as 操作,srrq as 日期,'+
'node as 备注 from cpdmk';
end;
adoexect(adoquery1,strsql);
end;
procedure Tfrmproduct_info.RzMenuToolbarButton1Click(Sender: TObject);
begin
lbname:=RzDBLookupComboBox1.Text;
frmcpsmallclass:=tfrmcpsmallclass.Create(self);
frmcpsmallclass.ShowModal;
DBEdit7.Text:=lbname;
end;
procedure Tfrmproduct_info.DBEdit7Enter(Sender: TObject);
begin
RzMenuToolbarButton1.Visible:=true;
end;
procedure Tfrmproduct_info.DBEdit7Exit(Sender: TObject);
begin
RzMenuToolbarButton1.Visible:=false;
end;
procedure Tfrmproduct_info.RzBitBtn3Click(Sender: TObject);
begin
form3.frDBDataSet1.dataset:=adoquery1;
form3.frReport1.DoublePass := True;
form3.frReport1.Clear;
form3.frReport1.LoadFromFile(strpath+'/report/cpda.frf');
frVariables['username']:=username;
form3.frReport1.Preview := Form3.frPreview1;
if form3.frReport1.PrepareReport then
begin
form3.frReport1.ShowPreparedReport;
end;
form3.ShowModal;
end;
procedure Tfrmproduct_info.DBEdit6DblClick(Sender: TObject);
begin
dbedit6.Text:=baoz;
end;
procedure Tfrmproduct_info.DBEdit3DblClick(Sender: TObject);
begin
dbedit3.Text:=cpmc;
end;
procedure Tfrmproduct_info.DBEdit13DblClick(Sender: TObject);
begin
dbedit13.Text:=siyin;
end;
procedure Tfrmproduct_info.DBEdit7DblClick(Sender: TObject);
begin
dbedit7.Text:=smallclass;
end;
procedure Tfrmproduct_info.DBMemo1DblClick(Sender: TObject);
begin
dbmemo1.text:=bz;
end;
procedure Tfrmproduct_info.DBGrid1TitleClick(Column: TColumn);
begin
dgridpx(adoquery1,DBGrid1,Column);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -