📄 uthgl.pas
字号:
unit uthgl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, RzButton, StdCtrls, DBCtrls, Mask, ExtCtrls, Grids,
DBGridEh, RzTabs, DB, ADODB, FR_DSet, FR_DBSet, FR_Class, ComCtrls,
RzDTP, RzDBDTP, GridsEh, Menus;
type
Tfrmthgl = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
RzBitBtn3: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
RzBitBtn7: TRzBitBtn;
RzBitBtn8: TRzBitBtn;
RzBitBtn9: TRzBitBtn;
DBNavigator1: TDBNavigator;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEdit1: TDBEdit;
Label7: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBMemo1: TDBMemo;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
GroupBox1: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
Label14: TLabel;
DBEdit13: TDBEdit;
RzBitBtn4: TRzBitBtn;
RzBitBtn12: TRzBitBtn;
edit1: TEdit;
edit2: TEdit;
ADOQuery4: TADOQuery;
DataSource3: TDataSource;
RzToolbarButton2: TRzToolbarButton;
RzToolbarButton3: TRzToolbarButton;
Label17: TLabel;
Label19: TLabel;
Label21: TLabel;
DBComboBox2: TDBComboBox;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
ADOQuery1: TADOQuery;
ADOQuery1DSDesigner: TStringField;
ADOQuery1DSDesigner2: TStringField;
ADOQuery1DSDesigner3: TStringField;
ADOQuery1DSDesigner4: TStringField;
ADOQuery1DSDesigner5: TStringField;
ADOQuery1DSDesigner6: TFloatField;
ADOQuery1DSDesigner7: TBCDField;
ADOQuery1DSDesigner8: TFloatField;
ADOQuery1DSDesigner9: TStringField;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
dtp2: TRzDateTimePicker;
dtp3: TRzDateTimePicker;
Label16: TLabel;
DBEdit11: TDBEdit;
RzToolbarButton1: TRzToolbarButton;
dtprq: TRzDBDateTimePicker;
DBEdit12: TDBEdit;
DBEdit14: TDBEdit;
procedure FormCreate(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure RzBitBtn7Click(Sender: TObject);
procedure RzBitBtn8Click(Sender: TObject);
procedure RzBitBtn9Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBEdit4Enter(Sender: TObject);
procedure TabSheet2Enter(Sender: TObject);
procedure edit1KeyPress(Sender: TObject; var Key: Char);
procedure edit2KeyPress(Sender: TObject; var Key: Char);
procedure RzBitBtn4Click(Sender: TObject);
procedure RzBitBtn6Click(Sender: TObject);
procedure RzBitBtn12Click(Sender: TObject);
procedure RzMenuToolbarButton1Click(Sender: TObject);
procedure DBEdit1Change(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure RzToolbarButton2Click(Sender: TObject);
procedure RzToolbarButton3Click(Sender: TObject);
procedure RzBitBtn5Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure csh();
procedure dtp2Exit(Sender: TObject);
procedure dtp3Exit(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure RzToolbarButton1Click(Sender: TObject);
procedure DBGridEh1TitleClick(Column: TColumnEh);
procedure isactive;
function jcsfsc():boolean;
procedure DBEdit14Enter(Sender: TObject);
procedure DBEdit14Exit(Sender: TObject);
private
{ Private declarations }
isedit:boolean;
public
{ Public declarations }
end;
var
frmthgl: Tfrmthgl;
implementation
uses uconst,ufunction,udm1,ucx,ugyslb,ushdh_lb,uwllb,ushd_wllb,unit3,uemplyer,
uemplyer_lb;
{$R *.dfm}
function tfrmthgl.jcsfsc():boolean;
begin
strsql:='select cgdd_main.ddhm from cgdd_main,cgwl_mail where '+
'cgdd_main.xqdh=cgwl_mail.cgxqdh and '+
'cgwl_mail.xqwcjs=1 and cgdd_main.ddhm='+''''+trim(dbedit2.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Eof and adoquery3.Bof) then
begin
result:=true;
end else begin
result:=false;
end;
end;
procedure tfrmthgl.isactive();
begin
if isedit then
begin
dbedit2.ReadOnly:=false;
dbedit3.ReadOnly:=false;
dbedit4.ReadOnly:=false;
dbmemo1.ReadOnly:=false;
dtprq.ReadOnly:=false;
dbedit6.ReadOnly:=false;
dbcombobox2.ReadOnly:=false;
end else begin
dbedit2.ReadOnly:=true;
dbedit3.ReadOnly:=true;
dbedit4.ReadOnly:=true;
dbmemo1.ReadOnly:=true;
dtprq.ReadOnly:=true;
dbedit6.ReadOnly:=true;
dbcombobox2.ReadOnly:=true;
end;
end;
procedure tfrmthgl.csh();
begin
strsql:='select thdh as 退货单号,ddhm as 订单号码,gysdm as 供应商代码,gysmc as 供应商名称,shdh as 收货单号,'+
'djr as 操作,srrq as 日期,bb as 币别,qc as 质检,node as 备注,thrq as 退货日期'+
' from thgl_main where srrq>=:rq1 and srrq<=:rq2 order by thdh desc';
if adoquery2.Active then adoquery2.Close;
adoquery2.sql.Clear;
adoquery2.SQL.Add(strsql);
adoquery2.Parameters.ParamByName('rq1').Value:=dtp2.Date;
adoquery2.Parameters.ParamByName('rq2').Value:=dtp3.Date;
adoquery2.Open;
end;
procedure Tfrmthgl.FormCreate(Sender: TObject);
begin
ddhm:='';
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery3.Connection:=dm1.ADOConnection1;
adoquery4.Connection:=dm1.ADOConnection1;
strsql:='select * from bb_class order by id asc';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.BOF) then
begin
dbcombobox2.Items.Clear;
adoquery3.First;
while not adoquery3.Eof do
begin
dbcombobox2.Items.Add(trim(adoquery3.fieldbyname('classname').AsString));
adoquery3.Next;
end;
end;
dtp2.Date:=date-30;
dtp3.Date:=date;
strsql:='select * from view_thgl where 退货单号='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery1,strsql);
csh;
end;
procedure Tfrmthgl.RzBitBtn1Click(Sender: TObject);
begin
if not qxjc(userid,'thd_add') then exit;
adoquery2.Append;
isedit:=true;
isactive;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
dbedit5.Text:=username;
dbedit11.Text:=datetostr(date);
dbedit12.Text:=datetostr(date);
dtprq.Date:=date;
end;
procedure Tfrmthgl.RzBitBtn2Click(Sender: TObject);
begin
if adoquery2.Recordset.EOF and adoquery2.Recordset.BOF then exit;
if not qxjc(userid,'thd_edit') and (username<>trim(dbedit4.Text)) then exit;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
adoquery2.edit;
isedit:=true;
isactive;
shdh:=trim(dbedit4.Text);
dbedit5.Text:=username;
dbedit11.Text:=datetostr(date);
end;
procedure Tfrmthgl.RzBitBtn3Click(Sender: TObject);
var
qz:string;
begin
if trim(dbedit4.Text)='' then
begin
showmessage('没有选择收货单号');
dbedit4.SetFocus;
exit;
end;
if trim(dbedit3.Text)='' then
begin
showmessage('没有选择供应商');
dbedit3.SetFocus;
exit;
end;
if trim(dbedit2.Text)='' then
begin
showmessage('订单号码不能为空');
dbedit2.SetFocus;
exit;
end;
if jcsfsc then
begin
showmessage('该订单说在的需求单已经结算,不能再修改');
exit;
end;
strsql:='select * from thgl_main where shdh='+''''+trim(dbedit4.text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.eof and adoquery3.Recordset.bof) then
begin
showmessage('此收货单已经退料,如数量有增减,可直接修改退货单'+trim(adoquery3.fieldbyname('thdh').AsString));
exit;
end;
if adoquery2.State in[dsinsert] then
begin
qz:='THDH'+formatdatetime('yy',now)+
formatdatetime('mm',now)+formatdatetime('dd',date);
strsql:='select * from thgl_main where thdh like'+''''+qz+'%'+''''+'order by thdh asc';
adoexect(adoquery3,strsql);
dbedit1.Text:=creatdh(adoquery3,11,qz);
end;
if (adoquery2.State in [dsedit]) and (shdh<>trim(dbedit4.Text)) then
begin
strsql:='exec p_thd_del '+trim(dbedit1.Text);
adodel(adoquery3,strsql);
end;
try
strsql:='exec p_insertthd '+''''+trim(dbedit1.Text)+''''+','+''''+trim(dbedit4.Text)+'''';
adodel(adoquery3,strsql); //调用存储过程p_insertthd来自动添加明细数据
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -