|
@@ -4,7 +4,7 @@ interface
|
|
|
|
|
|
uses
|
|
|
Classes, SMXLS, SMCells, ProjectData, MCacheTree, ZhAPI, sdDB,
|
|
|
- Forms, Controls, ProgressHintFrm;
|
|
|
+ Forms, Controls, ProgressHintFrm, mDataRecord;
|
|
|
|
|
|
type
|
|
|
TExcelImport = class
|
|
@@ -309,16 +309,16 @@ end;
|
|
|
procedure TBillsExcelImport.WriteNode(ADataSet: TsdDataSet;
|
|
|
ANode: TBillsCacheNode);
|
|
|
var
|
|
|
- Rec: TsdDataRecord;
|
|
|
-begin
|
|
|
- Rec := ADataSet.Add;
|
|
|
- Rec.ValueByName('ID').AsInteger := ANode.ID;
|
|
|
- Rec.ValueByName('ParentID').AsInteger := ANode.ParentID;
|
|
|
- Rec.ValueByName('NextSiblingID').AsInteger := ANode.NextSiblingID;
|
|
|
- Rec.ValueByName('Code').AsString := ANode.Code;
|
|
|
- Rec.ValueByName('B_Code').AsString := ANode.B_Code;
|
|
|
- Rec.ValueByName('Name').AsString := ANode.Name;
|
|
|
- Rec.ValueByName('Units').AsString := ANode.Units;
|
|
|
+ Rec: TBillsRecord;
|
|
|
+begin
|
|
|
+ Rec := TBillsRecord(ADataSet.Add);
|
|
|
+ Rec.ID.AsInteger := ANode.ID;
|
|
|
+ Rec.ParentID.AsInteger := ANode.ParentID;
|
|
|
+ Rec.NextSiblingID.AsInteger := ANode.NextSiblingID;
|
|
|
+ Rec.Code.AsString := ANode.Code;
|
|
|
+ Rec.B_Code.AsString := ANode.B_Code;
|
|
|
+ Rec.Name.AsString := ANode.Name;
|
|
|
+ Rec.Units.AsString := ANode.Units;
|
|
|
//Rec.ValueByName('LockedLevel').AsBoolean := ANode.CanDelete;
|
|
|
end;
|
|
|
|
|
@@ -556,7 +556,7 @@ end;
|
|
|
procedure TBillsEdtExcelImport.WriteNode(ADataSet: TsdDataSet;
|
|
|
ANode: TBillsCacheNode);
|
|
|
var
|
|
|
- Rec: TsdDataRecord;
|
|
|
+ Rec: TBillsRecord;
|
|
|
begin
|
|
|
if ANode.Code <> '' then
|
|
|
UpdateProgressHint('写入读取的Excel数据 ' + ANode.Code)
|
|
@@ -565,20 +565,20 @@ begin
|
|
|
else
|
|
|
UpdateProgressHint('写入读取的Excel数据 ' + ANode.Name);
|
|
|
|
|
|
- Rec := ADataSet.Add;
|
|
|
- Rec.ValueByName('ID').AsInteger := ANode.ID;
|
|
|
- Rec.ValueByName('ParentID').AsInteger := ANode.ParentID;
|
|
|
- Rec.ValueByName('NextSiblingID').AsInteger := ANode.NextSiblingID;
|
|
|
- Rec.ValueByName('Code').AsString := ANode.Code;
|
|
|
- Rec.ValueByName('B_Code').AsString := ANode.B_Code;
|
|
|
- Rec.ValueByName('Name').AsString := ANode.Name;
|
|
|
- Rec.ValueByName('Units').AsString := ANode.Units;
|
|
|
- Rec.ValueByName('Price').AsFloat := PriceRoundTo(ANode.Price);
|
|
|
- Rec.ValueByName('OrgQuantity').AsFloat := QuantityRoundTo(ANode.Quantity);
|
|
|
- Rec.ValueByName('DgnQuantity1').AsFloat := QuantityRoundTo(ANode.DgnQuantity1);
|
|
|
- Rec.ValueByName('DgnQuantity2').AsFloat := QuantityRoundTo(ANode.DgnQuantity2);
|
|
|
- Rec.ValueByName('DrawingCode').AsString := ANode.DrawingCode;
|
|
|
- Rec.ValueByName('MemoStr').AsString := ANode.MemoStr;
|
|
|
+ Rec := TBillsRecord(ADataSet.Add);
|
|
|
+ Rec.ID.AsInteger := ANode.ID;
|
|
|
+ Rec.ParentID.AsInteger := ANode.ParentID;
|
|
|
+ Rec.NextSiblingID.AsInteger := ANode.NextSiblingID;
|
|
|
+ Rec.Code.AsString := ANode.Code;
|
|
|
+ Rec.B_Code.AsString := ANode.B_Code;
|
|
|
+ Rec.Name.AsString := ANode.Name;
|
|
|
+ Rec.Units.AsString := ANode.Units;
|
|
|
+ Rec.Price.AsFloat := PriceRoundTo(ANode.Price);
|
|
|
+ Rec.OrgQuantity.AsFloat := QuantityRoundTo(ANode.Quantity);
|
|
|
+ Rec.DgnQuantity1.AsFloat := QuantityRoundTo(ANode.DgnQuantity1);
|
|
|
+ Rec.DgnQuantity2.AsFloat := QuantityRoundTo(ANode.DgnQuantity2);
|
|
|
+ Rec.DrawingCode.AsString := ANode.DrawingCode;
|
|
|
+ Rec.MemoStr.AsString := ANode.MemoStr;
|
|
|
end;
|
|
|
|
|
|
procedure TBillsEdtExcelImport.WriteNodes(ADataSet: TsdDataSet);
|
|
@@ -690,15 +690,15 @@ procedure TBillsPriceExcelImport.UpdateBillsPrice(const AB_Code: string;
|
|
|
APrice: Double);
|
|
|
var
|
|
|
iIndex: Integer;
|
|
|
- Rec: TsdDataRecord;
|
|
|
+ Rec: TBillsRecord;
|
|
|
begin
|
|
|
with FProjectData.BillsData do
|
|
|
begin
|
|
|
for iIndex := 0 to sddBills.RecordCount - 1 do
|
|
|
begin
|
|
|
- Rec := sddBills.Records[iIndex];
|
|
|
- if SameText(AB_Code, Rec.ValueByName('B_Code').AsString) then
|
|
|
- Rec.ValueByName('Price').AsFloat := PriceRoundTo(APrice);
|
|
|
+ Rec := TBillsRecord(sddBills.Records[iIndex]);
|
|
|
+ if SameText(AB_Code, Rec.B_Code.AsString) then
|
|
|
+ Rec.Price.AsFloat := PriceRoundTo(APrice);
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
@@ -910,25 +910,25 @@ end;
|
|
|
procedure TGclBillsExcelImport.WriteNode(ADataSet: TsdDataSet;
|
|
|
ANode: TGclCacheNode);
|
|
|
var
|
|
|
- Rec: TsdDataRecord;
|
|
|
+ Rec: TBillsRecord;
|
|
|
begin
|
|
|
if ANode.B_Code <> '' then
|
|
|
UpdateProgressHint('写入读取的Excel数据 ' + ANode.B_Code)
|
|
|
else
|
|
|
UpdateProgressHint('写入读取的Excel数据 ' + ANode.Name);
|
|
|
|
|
|
- Rec := ADataSet.Add;
|
|
|
- Rec.ValueByName('ID').AsInteger := ANode.ID;
|
|
|
+ Rec := TBillsRecord(ADataSet.Add);
|
|
|
+ Rec.ID.AsInteger := ANode.ID;
|
|
|
if ANode.ParentID = -1 then
|
|
|
- Rec.ValueByName('ParentID').AsInteger := ParentID
|
|
|
+ Rec.ParentID.AsInteger := ParentID
|
|
|
else
|
|
|
- Rec.ValueByName('ParentID').AsInteger := ANode.ParentID;
|
|
|
- Rec.ValueByName('NextSiblingID').AsInteger := ANode.NextSiblingID;
|
|
|
- Rec.ValueByName('B_Code').AsString := ANode.B_Code;
|
|
|
- Rec.ValueByName('Name').AsString := ANode.Name;
|
|
|
- Rec.ValueByName('Units').AsString := ANode.Units;
|
|
|
- Rec.ValueByName('Price').AsFloat := PriceRoundTo(ANode.Price);
|
|
|
- Rec.ValueByName('OrgQuantity').AsFloat := QuantityRoundTo(ANode.Quantity);
|
|
|
+ Rec.ParentID.AsInteger := ANode.ParentID;
|
|
|
+ Rec.NextSiblingID.AsInteger := ANode.NextSiblingID;
|
|
|
+ Rec.B_Code.AsString := ANode.B_Code;
|
|
|
+ Rec.Name.AsString := ANode.Name;
|
|
|
+ Rec.Units.AsString := ANode.Units;
|
|
|
+ Rec.Price.AsFloat := PriceRoundTo(ANode.Price);
|
|
|
+ Rec.OrgQuantity.AsFloat := QuantityRoundTo(ANode.Quantity);
|
|
|
end;
|
|
|
|
|
|
end.
|