📄 urequestorderbiz.pas
字号:
unit uRequestOrderBiz;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComServ, ComObj, VCLCom, StdVcl, bdemts, DataBkr, DBClient,
MtsRdm, Mtx, RequestOrderBiz_TLB, DB, MConnect, Variants;
type
TmtsRequestOrderBiz = class(TMtsDataModule, ImtsRequestOrderBiz)
DCOMConRequestOrder: TDCOMConnection;
cdsRequestOrderMaster: TClientDataSet;
cdsRequestOrderSlave: TClientDataSet;
procedure MtsDataModuleCreate(Sender: TObject);
private
{ Private declarations }
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
procedure UpdateRequestOrder(var ADatas: OleVariant); safecall;
function QueryRequestOrderMasterById(const AId: WideString;
var ADatas: OleVariant): WordBool; safecall;
function QueryRequestOrderSlaveById(const Id: WideString;
var ADatas: OleVariant): WordBool; safecall;
procedure SetProcessRequestOrderById(const AId: WideString); safecall;
procedure SetCheckedRequestOrderById(const AId: WideString); safecall;
function GenerateRequestOrderId: WideString; safecall;
public
{ Public declarations }
end;
var
mtsRequestOrderBiz: TmtsRequestOrderBiz;
implementation
uses StrUtils, BizDBConfig;
{$R *.DFM}
class procedure TmtsRequestOrderBiz.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
if Register then
begin
inherited UpdateRegistry(Register, ClassID, ProgID);
EnableSocketTransport(ClassID);
EnableWebTransport(ClassID);
end else
begin
DisableSocketTransport(ClassID);
DisableWebTransport(ClassID);
inherited UpdateRegistry(Register, ClassID, ProgID);
end;
end;
procedure TmtsRequestOrderBiz.UpdateRequestOrder(var ADatas: OleVariant);
var
eCount: Integer;
OwnerData: OleVariant;
begin
try
DCOMConRequestOrder.GetServer.AS_ApplyUpdates(cdsRequestOrderMaster.ProviderName, ADatas,
0, eCount, OwnerData);
SetComplete;
except
SetAbort;
raise;
end;
end;
function TmtsRequestOrderBiz.QueryRequestOrderMasterById(
const AId: WideString; var ADatas: OleVariant): WordBool;
begin
result := false;
cdsRequestOrderMaster.Open;
if cdsRequestOrderMaster.Locate('Id',varArrayof([AId]),[]) then
begin
ADatas := cdsRequestOrderMaster.Data;
result := true;
end;
cdsRequestOrderMaster.Close;
end;
function TmtsRequestOrderBiz.QueryRequestOrderSlaveById(
const Id: WideString; var ADatas: OleVariant): WordBool;
begin
result := false;
cdsRequestOrderSlave.Open;
if cdsRequestOrderSlave.Locate('MasterId',varArrayof([Id]),[]) then
begin
ADatas := cdsRequestOrderSlave.Data;
result := true;
end;
cdsRequestOrderSlave.Close;
end;
procedure TmtsRequestOrderBiz.SetProcessRequestOrderById(
const AId: WideString);
begin
cdsRequestOrderMaster.Open;
if cdsRequestOrderMaster.Locate('Id',varArrayof([AId]),[]) then
begin
cdsRequestOrderMaster.Edit;
cdsRequestOrderMaster.FieldByName('IsProcessed').AsBoolean := true;
end;
cdsRequestOrderMaster.Close;
end;
procedure TmtsRequestOrderBiz.SetCheckedRequestOrderById(
const AId: WideString);
begin
cdsRequestOrderMaster.Open;
if cdsRequestOrderMaster.Locate('Id',varArrayof([AId]),[]) then
begin
cdsRequestOrderMaster.Edit;
cdsRequestOrderMaster.FieldByName('IsChecked').AsBoolean := true;
end;
cdsRequestOrderMaster.Close;
end;
function TmtsRequestOrderBiz.GenerateRequestOrderId: WideString;
var
Lold: Integer;
LPrior: string;
i: Integer;
begin
Lold := cdsRequestOrderMaster.PacketRecords;
cdsRequestOrderMaster.PacketRecords := 1;
cdsRequestOrderMaster.Open;
cdsRequestOrderMaster.First;
LPrior := cdsRequestOrderMaster.FieldByName('Id').AsString;
i := StrToIntDef(RightStr(LPrior,8),0);
Inc(i);
result := 'QG' + FormatFloat('00000000',i);
cdsRequestOrderMaster.PacketRecords := Lold;
cdsRequestOrderMaster.Close;
end;
procedure TmtsRequestOrderBiz.MtsDataModuleCreate(Sender: TObject);
begin
DCOMConRequestOrder.ComputerName := GetComputerName;
end;
initialization
TComponentFactory.Create(ComServer, TmtsRequestOrderBiz,
Class_mtsRequestOrderBiz, ciMultiInstance, tmApartment);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -