|
@@ -7,7 +7,7 @@ uses
|
|
|
PhaseCompareDm, DealPaymentDm, SearchDm, DealBillsDm, MainDataListDm,
|
|
|
BillsGatherDm, BGLDm, StaffDm, BillsCompileDm, BillsMeasureDm,
|
|
|
BillsBookmarkDm, UpFileManageUnit, ProjectGLDm, PriceMarginBillsDm,
|
|
|
- DetailGLDm, OtherMeasureOnceDm,
|
|
|
+ DetailGLDm, OtherMeasureOnceDm, OtherMeasurePhaseDm,
|
|
|
Classes, SysUtils, ADODB, sdDB, Checker;
|
|
|
|
|
|
type
|
|
@@ -47,6 +47,7 @@ type
|
|
|
FPriceMarginBillsData: TPriceMarginBillsData;
|
|
|
|
|
|
FOtherMeasureOnceData: TOtherMeasureOnceData;
|
|
|
+ FOtherMeasurePhaseData: TOtherMeasurePhaseData;
|
|
|
|
|
|
FCanUnlockInfo: Boolean;
|
|
|
|
|
@@ -214,6 +215,7 @@ type
|
|
|
property PriceMarginBillsData: TPriceMarginBillsData read FPriceMarginBillsData;
|
|
|
|
|
|
property OtherMeasureOnceData: TOtherMeasureOnceData read FOtherMeasureOnceData;
|
|
|
+ property OtherMeasurePhaseData: TOtherMeasurePhaseData read FOtherMeasurePhaseData;
|
|
|
|
|
|
// 台账、合同支付
|
|
|
property AllowInsert: Boolean read GetAllowInsert;
|
|
@@ -296,6 +298,7 @@ begin
|
|
|
FDetailGLData := TDetailGLData.Create(Self);
|
|
|
FPriceMarginBillsData := TPriceMarginBillsData.Create(Self);
|
|
|
FOtherMeasureOnceData := TOtherMeasureOnceData.Create(Self);
|
|
|
+ FOtherMeasurePhaseData := TOtherMeasurePhaseData.Create(Self);
|
|
|
FAttachmentData := TUpFiles.Create;
|
|
|
FPhaseIndex := 0;
|
|
|
end;
|
|
@@ -316,6 +319,7 @@ destructor TProjectData.Destroy;
|
|
|
begin
|
|
|
try
|
|
|
FCheckers.Free;
|
|
|
+ FOtherMeasurePhaseData.Free;
|
|
|
FOtherMeasureOnceData.Free;
|
|
|
FPriceMarginBillsData.Free;
|
|
|
FDetailGLData.Free;
|
|
@@ -457,7 +461,9 @@ begin
|
|
|
|
|
|
//FBillsGatherData.RefreshBills;
|
|
|
FMainListData.Open(FConnection.Connection);
|
|
|
+ UpdateSysProgress(190, '正在读取数据');
|
|
|
FOtherMeasureOnceData.Open(FConnection.Connection);
|
|
|
+ FOtherMeasurePhaseData.Open(FConnection.Connection);
|
|
|
UpdateSysProgress(200, '就绪');
|
|
|
|
|
|
if _IsDebugView then
|
|
@@ -505,6 +511,7 @@ begin
|
|
|
UpdateSysProgress(165, '正在保存数据');
|
|
|
|
|
|
FOtherMeasureOnceData.Save;
|
|
|
+ FOtherMeasurePhaseData.Save;
|
|
|
UpdateSysProgress(170, '正在保存数据');
|
|
|
|
|
|
FProjProperties.AuditCompany := FStaffData.FinalStaffCompany;
|
|
@@ -564,6 +571,8 @@ var
|
|
|
begin
|
|
|
SaveLastestPhaseMainData;
|
|
|
FProjectGLData.Save;
|
|
|
+ FOtherMeasurePhaseData.Save;
|
|
|
+
|
|
|
iOrgPhaseIndex := FPhaseIndex;
|
|
|
FPhaseIndex := Value;
|
|
|
ProjProperties.PhaseIndex := FPhaseIndex;
|
|
@@ -574,6 +583,8 @@ begin
|
|
|
FProjectGLData.LoadCurPhaseInfoPrice;
|
|
|
FProjectGLData.LoadStagePM_CalcData;
|
|
|
FProjectGLData.RefreshGatherData;
|
|
|
+ // 须保存其他台账--分期计量数据
|
|
|
+ FOtherMeasurePhaseData.LoadCurStageData;
|
|
|
//BillsGatherData.RefreshBills;
|
|
|
end;
|
|
|
|
|
@@ -669,6 +680,17 @@ procedure TProjectData.UpdatePhaseData;
|
|
|
ExecuteSql(sSql);
|
|
|
end;
|
|
|
|
|
|
+ procedure UpdateOMPhaseDetailData;
|
|
|
+ const
|
|
|
+ sUpdateSql = 'Insert Into OMPhaseDetail (ID, PhaseID, StageID,' +
|
|
|
+ ' PreTotalPrice, CurTotalPrice, EndTotalPrice)' +
|
|
|
+ ' Select ID, %d, %d, PreTotalPrice, CurTotalPrice, EndTotalPrice' +
|
|
|
+ ' From OMPhaseDetail Where (PhaseID = %d) and (StageID = -1)';
|
|
|
+ begin
|
|
|
+ if (ProjProperties.PhaseCount > 0) and (ProjProperties.AuditStatus > 0) then
|
|
|
+ ExecuteSql(Format(sUpdateSql, [FPhaseIndex, FProjProperties.AuditStatus, FPhaseIndex]));
|
|
|
+ end;
|
|
|
+
|
|
|
var
|
|
|
iPhase: Integer;
|
|
|
begin
|
|
@@ -679,6 +701,7 @@ begin
|
|
|
PhaseData.CreateNewAuditData;
|
|
|
StaffData.UpdateDataForNewAudit;
|
|
|
UpdateGLPriceData;
|
|
|
+ UpdateOMPhaseDetailData;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
@@ -1887,12 +1910,25 @@ procedure TProjectData.CopyPreData;
|
|
|
ExecuteSql(Format(sCopySql, [FProjProperties.PhaseCount, FProjProperties.PhaseCount - 1]));
|
|
|
end;
|
|
|
|
|
|
+ procedure CopyPreOMPhaseDetail;
|
|
|
+ const
|
|
|
+ sCopySql = 'Insert Into OMPhaseDetail (ID, PhaseID, StageID,' +
|
|
|
+ ' PreTotalPrice, CurTotalPrice, EndTotalPrice)' +
|
|
|
+ ' Select ID, %d, 0, PreTotalPrice + CurTotalPrice, 0, PreTotalPrice + CurTotalPrice' +
|
|
|
+ ' From OMPhaseDetail Where (PhaseID = %d) and (StageID = -1)';
|
|
|
+ begin
|
|
|
+ if FProjProperties.PhaseCount > 1 then
|
|
|
+ ExecuteSql(Format(sCopySql, [FProjProperties.PhaseCount, FProjProperties.PhaseCount - 1]));
|
|
|
+ end;
|
|
|
+
|
|
|
begin
|
|
|
CopyPreGLPrice;
|
|
|
+ CopyPreOMPhaseDetail;
|
|
|
PhaseData.CopyPreData;
|
|
|
ProjectGLData.LoadCurPhaseInfoPrice;
|
|
|
ProjectGLData.LoadStagePM_CalcData;
|
|
|
FProjectGLData.RefreshGatherData;
|
|
|
+ FOtherMeasurePhaseData.LoadCurStageData;
|
|
|
BillsMeasureData.ResetTreeNodeStageRec;
|
|
|
end;
|
|
|
|
|
@@ -1904,8 +1940,10 @@ end;
|
|
|
procedure TProjectData.SetStageIndex(const Value: Integer);
|
|
|
begin
|
|
|
FProjectGLData.Save;
|
|
|
+ FOtherMeasurePhaseData.Save;
|
|
|
FPhaseData.StageIndex := Value;
|
|
|
FProjectGLData.LoadStagePM_CalcData;
|
|
|
+ FOtherMeasurePhaseData.LoadCurStageData;
|
|
|
end;
|
|
|
|
|
|
procedure TProjectData.ClearReportCacheData;
|