158 lines
5.2 KiB
ObjectPascal
158 lines
5.2 KiB
ObjectPascal
unit CustMst;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||
wItem,
|
||
FireDAC.Stan.Intf,
|
||
FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf,
|
||
FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys,
|
||
FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,
|
||
FireDAC.Phys.PGDef, FireDAC.VCLUI.Wait, FireDAC.Comp.UI, FireDAC.Phys.PG,
|
||
Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client;
|
||
|
||
type
|
||
TCustMst = class(TwItem)
|
||
private
|
||
{ Private declarations }
|
||
FOrdCode: string;
|
||
FKind: string;
|
||
FCustTelNum: string;
|
||
FCeoName: string;
|
||
FConnPerson: string;
|
||
FBusinessNum: string;
|
||
FConnPersonTel: string;
|
||
FCustAddress: string;
|
||
FDescriptions: string;
|
||
FKeyItems: string;
|
||
FEMail: string;
|
||
FBankName: string;
|
||
FBankNum: string;
|
||
protected
|
||
{ Protected declarations }
|
||
public
|
||
{ Public declarations }
|
||
class function xAddSqlMark(velStr: string): string;
|
||
class function xGetStrSqlTeamMstList(AQuery: TFDQuery; kindStr, cust: string): TList;
|
||
class function LoadFromQuery(AQuery: TFDQuery): TList;
|
||
|
||
class function xGetStrsDistinctCustName(AQuery: TFDQuery): TStrings;
|
||
class function LoadFromStringsQuery(AQuery: TFDQuery): TStrings;
|
||
published
|
||
{ Published declarations }
|
||
property OrdCode: string read FOrdCode write FOrdCode;
|
||
property Kind: string read FKind write FKind;
|
||
property CustTelNum: string read FCustTelNum write FCustTelNum;
|
||
property CeoName: string read FCeoName write FCeoName;
|
||
property ConnPerson: string read FConnPerson write FConnPerson;
|
||
property BusinessNum: string read FBusinessNum write FBusinessNum;
|
||
property ConnPersonTel: string read FConnPersonTel write FConnPersonTel;
|
||
property CustAddress: string read FCustAddress write FCustAddress;
|
||
property Descriptions: string read FDescriptions write FDescriptions;
|
||
property KeyItems: string read FKeyItems write FKeyItems;
|
||
property EMail: string read FEMail write FEMail;
|
||
property BankName: string read FBankName write FBankName;
|
||
property BankNum: string read FBankNum write FBankNum;
|
||
end;
|
||
|
||
implementation
|
||
|
||
{ TCustMst }
|
||
|
||
class function TCustMst.LoadFromQuery(AQuery: TFDQuery): TList;
|
||
var
|
||
curCust: TCustMst;
|
||
begin
|
||
Result := TList.Create;
|
||
while not AQuery.Eof do begin
|
||
curCust := TCustMst.Create(nil);
|
||
curCust.OBID := AQuery.FieldByName('OBID').AsString;
|
||
curCust.Name := AQuery.FieldByName('Name').AsString;
|
||
curCust.wClassName := AQuery.FieldByName('wClassName').AsString;
|
||
curCust.CreateDate := AQuery.FieldByName('CreateDate').AsString;
|
||
curCust.CreateTime := FormatDateTime('hh:nn:ss', AQuery.FieldByName('CreateTime').AsDateTime);
|
||
curCust.CreatorID := AQuery.FieldByName('CreatorID').AsString;
|
||
curCust.IsValid := AQuery.FieldByName('IsValid').AsString;
|
||
curCust.LcStatus := AQuery.FieldByName('LcStatus').AsString;
|
||
curCust.OrdCode := AQuery.FieldByName('OrdCode').AsString;
|
||
curCust.Kind := AQuery.FieldByName('Kind').AsString;
|
||
curCust.CustTelNum := AQuery.FieldByName('CustTelNum').AsString;
|
||
curCust.CeoName := AQuery.FieldByName('CeoName').AsString;
|
||
curCust.ConnPerson := AQuery.FieldByName('ConnPerson').AsString;
|
||
curCust.BusinessNum := AQuery.FieldByName('BusinessNum').AsString;
|
||
curCust.ConnPersonTel := AQuery.FieldByName('ConnPersonTel').AsString;
|
||
curCust.CustAddress := AQuery.FieldByName('CustAddress').AsString;
|
||
curCust.Descriptions := AQuery.FieldByName('Descriptions').AsString;
|
||
curCust.KeyItems := AQuery.FieldByName('KeyItems').AsString;
|
||
curCust.EMail := AQuery.FieldByName('EMail').AsString;
|
||
curCust.BankName := AQuery.FieldByName('BankName').AsString;
|
||
curCust.BankNum := AQuery.FieldByName('BankNum').AsString;
|
||
Result.Add(curCust);
|
||
|
||
AQuery.Next;
|
||
end;
|
||
end;
|
||
|
||
class function TCustMst.LoadFromStringsQuery(AQuery: TFDQuery): TStrings;
|
||
var
|
||
valStr: string;
|
||
begin
|
||
Result := TStringList.Create;
|
||
while not AQuery.Eof do begin
|
||
valStr := AQuery.FieldByName('Name').AsString;
|
||
Result.Add(valStr);
|
||
|
||
AQuery.Next;
|
||
end;
|
||
end;
|
||
|
||
class function TCustMst.xAddSqlMark(velStr: string): string;
|
||
begin
|
||
Result := '';
|
||
Result := '''' + velStr + '''';
|
||
end;
|
||
|
||
class function TCustMst.xGetStrsDistinctCustName(AQuery: TFDQuery): TStrings;
|
||
var
|
||
sql: string;
|
||
begin
|
||
Result := nil;
|
||
sql := 'SELECT DISTINCT "Name" FROM "CustMst"';
|
||
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
|
||
|
||
try
|
||
AQuery.Close;
|
||
AQuery.SQL.Text := sql;
|
||
AQuery.Open;
|
||
except
|
||
on E: Exception do ShowMessage('xGetStrsDistinctCustName <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
|
||
end;
|
||
|
||
Result := LoadFromStringsQuery(AQuery);
|
||
end;
|
||
|
||
class function TCustMst.xGetStrSqlTeamMstList(AQuery: TFDQuery;
|
||
kindStr, cust: string): TList;
|
||
var
|
||
sql: string;
|
||
begin
|
||
Result := nil;
|
||
sql := 'SELECT * FROM "CustMst"';
|
||
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
|
||
if Length(Trim(kindStr)) > 0 then sql := sql + ' AND "Kind"=' + xAddSqlMark(kindStr);
|
||
if Length(Trim(cust)) > 0 then sql := sql + ' AND "Name"=' + xAddSqlMark(cust);
|
||
|
||
try
|
||
AQuery.Close;
|
||
AQuery.SQL.Text := sql;
|
||
AQuery.Open;
|
||
except
|
||
on E: Exception do ShowMessage('xGetStrSqlTeamMstList <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
|
||
end;
|
||
Result := LoadFromQuery(AQuery);
|
||
end;
|
||
|
||
end.
|
||
|