📄 base_enter_orderordinalset_d.pas
字号:
unit Base_Enter_OrderOrdinalSet_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, Db, AdODB, ExtCtrls, StdCtrls, linkedit;
Type
TFrm_Base_Enter_OrderOrdinalSet_D = Class(TFrm_Base_Detail)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Cmb_OrderType: TComboBox;
Cmb_OrderOrdinalType: TComboBox;
Cmb_OrderOrdinalELetter: TComboBox;
Edt_OrderOrdinalBLetter: TEdit;
procedure btn_okClick(Sender: TObject);
private
{ Private declarations }
public
procedure InitControls; Override;
procedure SaveData; Override;
{ Public declarations }
end;
var
Frm_Base_Enter_OrderOrdinalSet_D: TFrm_Base_Enter_OrderOrdinalSet_D;
implementation
uses Sys_Global;
{$R *.DFM}
{ TFrm_Gl_Enter_Docket_D }
procedure TFrm_Base_Enter_OrderOrdinalSet_D.InitControls;
begin
inherited;
If (status='Add') Then
begin
Cmb_OrderType.Enabled := True;
Cmb_OrderOrdinalType.Enabled := True;
Cmb_OrderOrdinalELetter.Enabled := True;
Edt_OrderOrdinalBLetter.Enabled := True;
Cmb_OrderType.SetFocus ;
end
else
If (status='Edit') Then
begin
Cmb_OrderType.Enabled := False;
Cmb_OrderOrdinalType.Enabled := True;
Cmb_OrderOrdinalELetter.Enabled := True;
Edt_OrderOrdinalBLetter.Enabled := True;
Cmb_OrderOrdinalType.SetFocus ;
end;
with AdoQry_Maintain do
begin
Cmb_OrderType.ItemIndex := fieldbyname('OrderType').AsInteger-1;
Cmb_OrderOrdinalType.ItemIndex := fieldbyname('OrderOrdinalType').AsInteger-1;
Cmb_OrderOrdinalELetter.ItemIndex := fieldbyname('OrderOrdinalELetter').AsInteger;
Edt_OrderOrdinalBLetter.Text := fieldbyname('OrderOrdinalBLetter').AsString;
end;
end;
procedure TFrm_Base_Enter_OrderOrdinalSet_D.SaveData;
var
KmCode:String;
begin
inherited;
try
DbConnect.beginTrans;
if (Add) then
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Text:= ' Insert into SysOrderOrdinalSet'
+' (OrderType,OrderOrdinalType,OrderOrdinalBLetter,OrderOrdinalELetter ) '
+' Values('
+''''+IntToStr(Cmb_OrderType.ItemIndex+1)+''''
+','''+IntToStr(Cmb_OrderOrdinalType.ItemIndex+1)+''''
+','''+Edt_OrderOrdinalBLetter.text+''''
+','''+IntToStr(Cmb_OrderOrdinalELetter.ItemIndex)+''''
+')';
ExecSQL;
Close;
SQL.clear;
Sql.Text := 'Select @@Identity As aa' ;
Open;
KmCode := fieldbyname('aa').AsString;
Close;
SQL.clear;
SQL.Text:= ' Insert into SysOrderOrdinalSetHistory '
+' (ParamId,OrderType,OrderOrdinalType,OrderOrdinalBLetter,OrderOrdinalELetter,ChgEmployeeCode,ChgTime,ChgType ) '
+' Values('
+''''+KmCode+''''
+','''+IntToStr(Cmb_OrderType.ItemIndex+1)+''''
+','''+IntToStr(Cmb_OrderOrdinalType.ItemIndex+1)+''''
+','''+Edt_OrderOrdinalBLetter.text+''''
+','''+IntToStr(Cmb_OrderOrdinalELetter.ItemIndex)+''','
+ QuotedStr(UserCode)+','
+' GetDate(),'
+''''+'新增'+''' '
+')';
ExecSQL;
end;
end
else
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
Sql.Text := 'Select ParamId From SysOrderOrdinalSet Where OrderType='''+IntToStr(Cmb_OrderType.ItemIndex+1)+''' ' ;
Open;
KmCode := fieldbyname('ParamId').AsString;
Close;
SQL.clear;
SQL.Text:= ' Insert into SysOrderOrdinalSetHistory '
+' (ParamId,OrderType,OrderOrdinalType,OrderOrdinalBLetter,OrderOrdinalELetter,ChgEmployeeCode,ChgTime,ChgType ) '
+' Values('
+''''+KmCode+''''
+','''+IntToStr(Cmb_OrderType.ItemIndex+1)+''''
+','''+IntToStr(Cmb_OrderOrdinalType.ItemIndex+1)+''''
+','''+Edt_OrderOrdinalBLetter.text+''''
+','''+IntToStr(Cmb_OrderOrdinalELetter.ItemIndex)+''','
+ QuotedStr(UserCode)+','
+' GetDate(),'
+''''+'修改'+''' '
+')';
ExecSQL;
Close;
SQL.clear;
sql.Add('update SysOrderOrdinalSet set '+
'OrderOrdinalType='''+IntToStr(Cmb_OrderOrdinalType.ItemIndex+1)+''','+
'OrderOrdinalELetter='''+IntToStr(Cmb_OrderOrdinalELetter.ItemIndex)+''','+
'OrderOrdinalBLetter='''+Edt_OrderOrdinalBLetter.text+''' '+
' where OrderType='''+IntToStr(Cmb_OrderType.ItemIndex+1)+''' ');
ExecSQL;
end
end;
DbConnect.CommitTrans ;
except
DbConnect.RollBackTrans ;
end;
//给AdoQry_Item各字段赋值
with AdoQry_Maintain do
begin
edit;
fieldbyname('OrderType').AsInteger := Cmb_OrderType.ItemIndex+1;
fieldbyname('OrderOrdinalType').AsInteger := Cmb_OrderOrdinalType.ItemIndex+1;
fieldbyname('OrderOrdinalELetter').AsInteger := Cmb_OrderOrdinalELetter.ItemIndex;
fieldbyname('OrderOrdinalBLetter').AsString:=Edt_OrderOrdinalBLetter.Text;
Post;
end;
end;
procedure TFrm_Base_Enter_OrderOrdinalSet_D.btn_okClick(Sender: TObject);
begin
if Status = 'Add' then
begin
AdoQry_tmp.Close;
AdoQry_tmp.SQL.clear;
AdoQry_tmp.SQL.Text := ' Select OrderType From SysOrderOrdinalSet '
+ ' Where OrderType = '''+IntToStr(Cmb_OrderType.ItemIndex+1)+'''';
AdoQry_tmp.Open;
if not AdoQry_tmp.Eof then
begin
DispInfo('单类型不能重复',1);
Cmb_OrderType.SetFocus;
Abort;
end;
end;
if Cmb_OrderType.ItemIndex < 0 then
begin
DispInfo('单类型选择错误!',1);
Cmb_OrderType.SetFocus;
Abort;
end;
if Cmb_OrderOrdinalType.ItemIndex < 0 then
begin
DispInfo('单号编法选择错误!',1);
Cmb_OrderOrdinalType.SetFocus;
Abort;
end;
if Cmb_OrderOrdinalType.ItemIndex = 0 then
begin
If Trim(Edt_OrderOrdinalBLetter.Text) <> '' then
begin
DispInfo(' 手工编号时编号前缀字眼应为空!',1);
Edt_OrderOrdinalBLetter.Text := '';
Edt_OrderOrdinalBLetter.SetFocus;
Abort;
end;
if Cmb_OrderOrdinalELetter.ItemIndex > 0 then
begin
DispInfo('手工编号时 编号后缀编法应为空!',1);
Cmb_OrderOrdinalELetter.ItemIndex := 0;
Cmb_OrderOrdinalELetter.SetFocus;
Abort;
end;
end
else
begin
{ If Trim(Edt_OrderOrdinalBLetter.Text) = '' then
begin
DispInfo('自动编号时编号前缀字眼不能为空!',1);
Edt_OrderOrdinalBLetter.SetFocus;
Abort;
end;}
if Cmb_OrderOrdinalELetter.ItemIndex <= 0 then
begin
DispInfo('自动编号时编号后缀编法不能空!',1);
Cmb_OrderOrdinalELetter.SetFocus;
Abort;
end;
end;
inherited;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -