Procházet zdrojové kódy

Merge branch 'master' of http://192.168.1.12:3000/maixinrong/measure

MaiXinRong před 7 roky
rodič
revize
984375429d

+ 0 - 1
DataModules/PHPWebDm.pas

@@ -198,7 +198,6 @@ begin
     end;
     2:
     begin
-//      AInfo := vArr[0];
       AInfo := '版本有更新,请点击“确定”下载新版本。';
       ANewExeURL := vArr[1];
       Result := ltUpdate;

+ 4 - 4
Dprs/CSL/Measure_Cloud.dof

@@ -113,9 +113,9 @@ RootDir=D:\Program Files\Borland\Delphi7\Bin\
 IncludeVerInfo=1
 AutoIncBuild=1
 MajorVer=3
-MinorVer=1
-Release=3
-Build=1161
+MinorVer=4
+Release=1
+Build=1002
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.3.1161
+FileVersion=3.4.1.1002
 InternalName=
 LegalCopyright=
 LegalTrademarks=

+ 13 - 1
Dprs/CSL/Measure_Cloud.dpr

@@ -233,7 +233,19 @@ uses
   ProjGatherProperties in '..\..\ProjGather\ProjGatherProperties.pas',
   rpgDealPayDm in '..\..\Report\ProjGather\rpgDealPayDm.pas' {rgpDealPayData: TDataModule},
   superobject in '..\..\Units\superobject\superobject.pas',
-  superxmlparser in '..\..\Units\superobject\superxmlparser.pas';
+  superxmlparser in '..\..\Units\superobject\superxmlparser.pas',
+  MeasureGatherZJJL in '..\..\Units\MeasureGatherZJJL.pas',
+  stgExcelExport in '..\..\SubTenderGather\stgExcelExport.pas',
+  stgGather in '..\..\SubTenderGather\stgGather.pas',
+  stgGatherCacheData in '..\..\SubTenderGather\stgGatherCacheData.pas',
+  stgGatherControl in '..\..\SubTenderGather\stgGatherControl.pas',
+  stgGatherDm in '..\..\SubTenderGather\stgGatherDm.pas' {stgGatherData: TDataModule},
+  stgGatherUtils in '..\..\SubTenderGather\stgGatherUtils.pas',
+  stgResultFrm in '..\..\SubTenderGather\stgResultFrm.pas' {stgResultForm},
+  stgSelectFileFrm in '..\..\SubTenderGather\stgSelectFileFrm.pas' {stgSelectFileForm},
+  stgSubGatherFile in '..\..\SubTenderGather\stgSubGatherFile.pas',
+  stgSubGatherFileDm in '..\..\SubTenderGather\stgSubGatherFileDm.pas' {stgSubGatherData: TDataModule},
+  stgTables in '..\..\SubTenderGather\stgTables.pas';
 
 {$R *.res}
 

binární
Dprs/CSL/Measure_Cloud.res


+ 2 - 2
Forms/LoginFrm.pas

@@ -165,8 +165,8 @@ begin
 
   if G_IsTest then
   begin
-    cbUser.Text := '1835082984@qq.com';
-    edtPW.Text := '654321';
+    cbUser.Text := '1971614655@qq.com';
+    edtPW.Text := '3850888';
   end;
 end;
 

+ 8 - 1
Frames/ProjectFme.pas

@@ -213,7 +213,7 @@ uses
   ConstUnit, MD5Unit, sdIDTree, sdDB, mProgressFrm, ConditionalDefines,
   ProjectCommands, ProjectProperty, CheckerMemoFrm, BillsMeasureDm,
   ProgressHintFrm, mProgressProFrm, ReportManagerFrm, BillsCompileDm,
-  ScFileArchiverConsts, Math, ZJJLDm;
+  ScFileArchiverConsts, Math, ZJJLDm, Checker;
 
 {$R *.dfm}
 
@@ -916,6 +916,7 @@ var sURL, sAppFile, sJsonFile_Bills, sJsonFile_Common, sAppFile_UnLock,
   vCF: TCheckerMemoForm;
   bNeedFreeEarlier: Boolean;
 
+
   // 1 审核; 2 批复。
   function SaveAndExport(AType: Integer): Boolean;
 
@@ -926,10 +927,12 @@ var sURL, sAppFile, sJsonFile_Bills, sJsonFile_Common, sAppFile_UnLock,
       else if AType = 2 then
         Result := ProjectData.ReplyProject(sAppFile);
     end;
+
   begin
     Result := False;
     ProgressProCreate(100, '本地数据文件上传到云端');
     ProgressProRun('保存本地数据...', 0);
+    ProjectData.Checkers.LastChecker := ProjectData.Checkers.FindByID(PHPWeb.UserID);
     ProjectData.SaveAndCheck;
     ProgressProRun('保存本地数据。OK', 10, pmtEdit);
 
@@ -1066,7 +1069,9 @@ begin
         DeleteFile(sAppFile);
         ProgressProRun('上传数据包到云端。OK', 100, pmtEdit, pptSet);
         if ProjectData.CurUserIsChecker then
+        begin
           ProjectData.Checkers.FindByID(PHPWeb.UserID).Memo := sCheckerMemo;
+        end;
 
         if ProjectData.PhaseIndex = 0 then   // 0号台账,现已废弃
         begin
@@ -1077,6 +1082,8 @@ begin
           vRec := MainForm.ProjectManagerFrame.Rec(ProjectData.ProjectID);
           vRec.BeginUpdate;
           vRec.ValueByName('WebMD5').AsString := sMD5_JL;
+          if ProjectData.CurUserIsOwner then
+            vRec.ValueByName('AuditStatus').AsInteger := -1;
           vRec.EndUpdate;
           MainForm.ProjectManagerFrame.ShowProjectInfoTop;
 

+ 2 - 0
Frames/ProjectManagerFme.dfm

@@ -89,6 +89,8 @@ object ProjectManagerFrame: TProjectManagerFrame
     OnCurrentChanged = zgProjectsCurrentChanged
     OnDrawCellText = zgProjectsDrawCellText
     OnShowHint = zgProjectsShowHint
+    OnCellGetColor = zgProjectsCellGetColor
+    OnCellGetFont = zgProjectsCellGetFont
     OnMouseDown = zgProjectsMouseDown
     Align = alClient
   end

+ 50 - 11
Frames/ProjectManagerFme.pas

@@ -100,6 +100,10 @@ type
     procedure actnGuestUpdate(Sender: TObject);
     procedure actnEpureExecute(Sender: TObject);
     procedure actnEpureUpdate(Sender: TObject);
+    procedure zgProjectsCellGetColor(Sender: TObject; ACoord: TPoint;
+      var AColor: TColor);
+    procedure zgProjectsCellGetFont(Sender: TObject; ACoord: TPoint;
+      AFont: TFont);
   private
     FProjectManagerData: TProjectManagerData;
 
@@ -154,8 +158,8 @@ type
     procedure CheckWebFolders(AFolderID, ASubFolderID: Integer;
       AFolderName, ASubFolderName: string);
     // ANewBidName: 项目的最新标段名(取自服务器,有人改名了,本地的就变成旧的)
-    procedure CheckBidName(AID: Integer; ANewBidName: string); overload;
-    procedure CheckBidName(AUserID, AWebID: Integer; ANewBidName: string); overload;
+    procedure CheckBidName(AID: Integer; ANewBidName: string);
+    procedure CheckLocalProperties(AUserID, AWebID: Integer; ANewBidName, ANewCheckStatus: string);
     procedure ClearLocalValues;
     procedure GetLocalValues(ARec: TsdDataRecord); overload;
     // 用户ID、网络标段ID、Type=1可以定位一个标段。
@@ -1345,7 +1349,7 @@ begin
           FWebMD5_Local := LocalMD5(PHPWeb.UserID, FWebID);
 
           CheckWebFolders(iFolderID, iSubFolderID, FWebFolder_OnLine, FWebSubFolder_OnLine);
-          CheckBidName(PHPWeb.UserID, FWebID, FWebBidName_OnLine);
+          CheckLocalProperties(PHPWeb.UserID, FWebID, FWebBidName_OnLine, vArr[i, 4]);
 
           if FWebMD5_OnLine <> FWebMD5_Local then
           begin
@@ -1579,8 +1583,7 @@ begin
 end;
 
 
-procedure TProjectManagerFrame.CheckBidName(AUserID, AWebID: Integer;
-  ANewBidName: string);
+procedure TProjectManagerFrame.CheckLocalProperties(AUserID, AWebID: Integer; ANewBidName, ANewCheckStatus: string);
 var i: Integer;
   vTree: TsdIDTree;
   vRec: TsdDataRecord;
@@ -1591,11 +1594,12 @@ begin
     (CurRec.ValueByName('Type').AsInteger = 1) then
   begin
     if (CurRec.ValueByName('Name').AsString <> ANewBidName) then
-    begin
       CurRec.ValueByName('Name').AsString := ANewBidName;
-      ProjectManager.Save;
-    end;
 
+//    if (CurRec.ValueByName('AuditStatus').AsString <> ANewCheckStatus) then
+//      CurRec.ValueByName('AuditStatus').AsString := ANewCheckStatus;
+
+    ProjectManager.Save;
     Exit;
   end;
 
@@ -1608,10 +1612,12 @@ begin
       (vRec.ValueByName('Type').AsInteger = 1) then
     begin
       if vRec.ValueByName('Name').AsString <> ANewBidName then
-      begin
         vRec.ValueByName('Name').AsString := ANewBidName;
-        ProjectManager.Save;
-      end;
+
+//      if (vRec.ValueByName('AuditStatus').AsString <> ANewCheckStatus) then
+//         vRec.ValueByName('AuditStatus').AsString := ANewCheckStatus;
+
+      ProjectManager.Save;
       Break;
     end;
   end;
@@ -2025,4 +2031,37 @@ begin
       HasCompletePhase(stdProjects.IDTree.Selected.Rec);
 end;
 
+procedure TProjectManagerFrame.zgProjectsCellGetColor(Sender: TObject;
+  ACoord: TPoint; var AColor: TColor);
+var
+  vItem: TsdIDTreeNode;
+  value: String;
+begin
+  if ACoord.X = 11 then
+  begin
+    vItem := stdProjects.IDTree.Items[ACoord.Y - zgProjects.FixedRowCount];
+    value := vItem.Rec.ValueByName('AuditStatus').asString;
+
+    if (value = '-1') then
+      AColor := TColor($00daedd4);
+  end;
+end;
+
+procedure TProjectManagerFrame.zgProjectsCellGetFont(Sender: TObject;
+  ACoord: TPoint; AFont: TFont);
+//var
+//  vItem: TsdIDTreeNode;
+//  value: String;
+begin
+//  if ACoord.X = 11 then
+//  begin
+//    vItem := stdProjects.IDTree.Items[ACoord.Y - zgProjects.FixedRowCount];
+//    value := vItem.Rec.ValueByName('AuditStatus').asString;
+//
+//    if (value = '-1') then
+//      AFont.Color := TColor($00daedd4);
+//
+//  end;
+end;
+
 end.

+ 10 - 1
Units/ProjectData.pas

@@ -213,6 +213,7 @@ type
     function CurUserIsOwner: Boolean;
     function CurUserIsAuthor: Boolean;
     function CurUserIsChecker: Boolean;
+    function LastCheckerIsOwner: Boolean;
     function IsHistoryPhase: Boolean;
 
     property BillsData: TBillsData read FBillsData;
@@ -538,7 +539,10 @@ begin
   InfoRec.ValueByName('PreTotalPrice').AsFloat := PhaseRec.ValueByName('PreGatherTotalPrice').AsFloat;
   InfoRec.ValueByName('PhasePay').AsFloat := PhaseRec.ValueByName('PhasePay').AsFloat;
   InfoRec.ValueByName('PhaseCount').AsInteger := FProjProperties.PhaseCount;
-  InfoRec.ValueByName('AuditStatus').AsInteger := FProjProperties.AuditStatus;
+  if (G_IsCloud and CurUserIsOwner and LastCheckerIsOwner) then   // 云版的批复始终要显示"批复",不能从属性表读数字显示成3审(如果业主是3审的话)
+    InfoRec.ValueByName('AuditStatus').AsInteger := -1
+  else
+    InfoRec.ValueByName('AuditStatus').AsInteger := FProjProperties.AuditStatus;
   InfoRec.ValueByName('CommonDigit').AsInteger := FProjProperties.DecimalManager.Common.TotalPrice.TrueDigit;
   InfoRec.ValueByName('DealPayDigit').AsInteger := FProjProperties.DecimalManager.DealPay.TotalPrice.TrueDigit;
   ProjectManager.CalculateParentInfo(InfoRec.ValueByName('ParentID').AsInteger);
@@ -2288,4 +2292,9 @@ begin
   end;
 end;
 
+function TProjectData.LastCheckerIsOwner: Boolean;
+begin
+  Result := PHPWeb.UserID = FCheckers.LastChecker.ID;
+end;
+
 end.