ucgjh_lr.pas
来自「工廠採購管理系統」· PAS 代码 · 共 536 行 · 第 1/2 页
PAS
536 行
unit ucgjh_lr;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, RzButton, ExtCtrls, StdCtrls, Mask, Buttons, Grids,
DBGridEh, DB, ADODB, RzTabs, ComCtrls, FR_DSet, FR_DBSet, FR_Class, RzDTP,
GridsEh, Menus;
type
Tfrmcgjh_lr = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
RzBitBtn3: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
RzBitBtn7: TRzBitBtn;
RzBitBtn8: TRzBitBtn;
RzBitBtn9: TRzBitBtn;
DBNavigator1: TDBNavigator;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBMemo1: TDBMemo;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DataSource1: TDataSource;
DataSource2: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
DBGridEh1: TDBGridEh;
GroupBox1: TGroupBox;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
Edit1: TEdit;
RzBitBtn12: TRzBitBtn;
RzBitBtn13: TRzBitBtn;
ADOQuery4: TADOQuery;
DataSource3: TDataSource;
dtp1: TRzDateTimePicker;
Label14: TLabel;
DBEdit11: TDBEdit;
DBCheckBox1: TDBCheckBox;
DBCheckBox2: TDBCheckBox;
Label6: TLabel;
DBEdit5: TDBEdit;
ADOQuery2DSDesigner: TStringField;
ADOQuery2DSDesigner2: TStringField;
ADOQuery2DSDesigner3: TBooleanField;
ADOQuery2DSDesigner4: TStringField;
ADOQuery2DSDesigner5: TStringField;
ADOQuery2DSDesigner6: TDateTimeField;
ADOQuery2DSDesigner7: TStringField;
ADOQuery2DSDesigner8: TMemoField;
ADOQuery1cgjhdh: TStringField;
ADOQuery1wldm: TStringField;
ADOQuery1jhsl: TBCDField;
ADOQuery1xqsl: TBCDField;
ADOQuery1srrq: TDateTimeField;
ADOQuery1wlmc: TStringField;
ADOQuery1wlys: TStringField;
ADOQuery1wlsh: TStringField;
ADOQuery1cgdw: TStringField;
ADOQuery1gysdm: TStringField;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
dtp2: TRzDateTimePicker;
dtp3: TRzDateTimePicker;
Label15: TLabel;
edit2: TEdit;
RzMenuToolbarButton1: TRzToolbarButton;
RzMenuToolbarButton2: TRzToolbarButton;
n2: TMenuItem;
DBEdit10: TDBEdit;
procedure FormCreate(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure RzBitBtn6Click(Sender: TObject);
procedure DBEdit1Change(Sender: TObject);
procedure RzBitBtn8Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RzBitBtn9Click(Sender: TObject);
procedure DBEdit2Enter(Sender: TObject);
procedure DBEdit2Exit(Sender: TObject);
procedure RzMenuToolbarButton1Click(Sender: TObject);
procedure TabSheet2Enter(Sender: TObject);
procedure RzBitBtn12Click(Sender: TObject);
procedure RzBitBtn13Click(Sender: TObject);
procedure RzBitBtn7Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure RzBitBtn5Click(Sender: TObject);
procedure RzBitBtn4Click(Sender: TObject);
procedure DBEdit5Exit(Sender: TObject);
procedure DBEdit5Enter(Sender: TObject);
procedure RzMenuToolbarButton2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure csh();
procedure dtp2Exit(Sender: TObject);
procedure dtp3Exit(Sender: TObject);
function jcsj():boolean;
procedure RzPageControl1Change(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure DBGridEh1TitleClick(Column: TColumnEh);
private
{ Private declarations }
cgsl:longint;
public
{ Public declarations }
end;
var
frmcgjh_lr: Tfrmcgjh_lr;
implementation
uses uconst,ufunction,udm1,uxqdh_lb,uxqdh_wllb,ucx,ugyslb,unit3;
{$R *.dfm}
procedure tfrmcgjh_lr.csh();
begin
if jb<>'系统维护' then
strsql:='select cgjhdh as 采购计划单号,cgxqdh as 采购需求单号,shhe as 审核,'+
'sfxd as 下单,gysdm as 供应商代码,gysmc as 供应商名称,srrq as 日期,djr as 负责人,node as 备注'+
' from cgjh_main where cgxqdh<>:cgjhdh and srrq>=:rq1 and srrq<=:rq2 '+
'and djr='+''''+trim(username)+''''+'order by cgjhdh desc'
else
strsql:='select cgjhdh as 采购计划单号,cgxqdh as 采购需求单号,shhe as 审核,'+
'sfxd as 下单,gysdm as 供应商代码,gysmc as 供应商名称,srrq as 日期,djr as 负责人,node as 备注'+
' from cgjh_main where cgxqdh<>:cgjhdh and srrq>=:rq1 and srrq<=:rq2 '+
'order by cgjhdh desc';
if adoquery4.Active then adoquery4.Close;
adoquery4.SQL.Clear;
adoquery4.sql.Add(strsql);
adoquery4.Parameters.ParamByName('rq1').Value:=dtp2.Date;
adoquery4.Parameters.ParamByName('rq2').Value:=dtp3.Date;
adoquery4.Parameters.ParamByName('cgjhdh').Value:='其它采购需求';
adoquery4.Open;
end;
function tfrmcgjh_lr.jcsj():boolean;
begin
strsql:='select * from cgdd_main where jhdh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.bof) then
begin
showmessage('此计划单号已经被采用,不能操作');
result:=true;
end else begin
result:=false;
end;
end;
procedure Tfrmcgjh_lr.FormCreate(Sender: TObject);
begin
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery4.Connection:=dm1.ADOConnection1;
dtp2.Date:=date-30;
dtp3.date:=date;
csh;
end;
procedure Tfrmcgjh_lr.RzBitBtn1Click(Sender: TObject);
begin
if not qxjc(userid,'jhd_add') then exit;
adoquery4.Append;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
dbedit3.Text:=username;
dbedit4.Text:=datetostr(date);
end;
procedure Tfrmcgjh_lr.RzBitBtn2Click(Sender: TObject);
begin
if adoquery4.Recordset.EOF and adoquery4.Recordset.BOF then exit;
if not qxjc(userid,'jhd_edit')and (username<>trim(dbedit3.Text)) then exit;
if jcsj then exit;
strsql:='select * from wlbj where cgjhdh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.bof) then
begin
showmessage('此计划单号已经被采用,不能编辑');
exit;
end;
adoquery3.Close;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
adoquery4.edit;
dbedit3.Text:=username;
dbedit4.Text:=datetostr(date);
end;
procedure Tfrmcgjh_lr.RzBitBtn3Click(Sender: TObject);
var
qz:string;
begin
if trim(dbedit2.Text)='' then
begin
showmessage('没有选择物料需求单号');
exit;
end;
if adoquery4.State in[dsinsert] then
begin
qz:='CGJH'+formatdatetime('yy',now)+
formatdatetime('mm',now)+formatdatetime('dd',date);
strsql:='select * from cgjh_main where cgjhdh like'+''''+qz+'%'+''''+'order by cgjhdh asc';
adoexect(adoquery3,strsql);
dbedit1.Text:=creatdh(adoquery3,11,qz);
end;
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
adoquery4.post;
end;
procedure Tfrmcgjh_lr.RzBitBtn6Click(Sender: TObject);
begin
if not qxjc(userid,'jhd_del')and (username<>trim(dbedit3.Text)) then exit;
if adoquery4.Recordset.EOF and adoquery4.Recordset.BOF then exit;
if jcsj then exit;
strsql:='select * from wlbj where cgjhdh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.bof) then
begin
showmessage('此计划单号已经被采用,不能删除');
exit;
end;
adoquery3.Close;
if messagebox(handle,'是否真的要删除该计划单?','警告',mb_yesno+mb_iconquestion)=idyes then
begin
strsql:='alter table cgjh_detail disable trigger tri_cgjh_delete';
adodel(adoquery3,strsql); //关闭delete触发器
strsql:='update cgwl set cgwl.jhsl=cgwl.jhsl-cgjh_detail.jhsl*wldmk.cgbl from '+
'wldmk,cgjh_detail,cgjh_main where cgjh_detail.cgjhdh=cgjh_main.cgjhdh and '+
'cgjh_main.cgxqdh=cgwl.cgxqdh and cgwl.wldm=cgjh_detail.wldm and cgjh_detail.wldm'+
'=wldmk.wldm and cgjh_main.cgjhdh='+''''+trim(dbedit1.Text)+'''';
adodel(adoquery3,strsql); //更新需求单的计划数量
strsql:='delete from cgjh_detail where cgjhdh='+''''+trim(dbedit1.Text)+'''';
adodel(adoquery3,strsql); //删除计划单
strsql:='alter table cgjh_detail enable trigger tri_cgjh_delete';
adodel(adoquery3,strsql); //重新打开delete触发器
adoquery4.Delete;
adoquery1.Close;
adoquery1.Open;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?