Browse Source

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

MaiXinRong 9 years ago
parent
commit
2b0ef82fd5

+ 2 - 2
Dprs/CSL/Measure_Cloud.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=3
-Build=1067
+Build=1069
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.3.1067
+FileVersion=3.1.3.1069
 InternalName=Measure
 LegalCopyright=版权所有(C) 珠海纵横创新软件有限公司 2003-2014。保留所有权利。
 LegalTrademarks=Measure

BIN
Dprs/CSL/Measure_Cloud.res


+ 6 - 6
Dprs/Pro/Measure.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=5
-Build=204
+Build=211
 Debug=0
 PreRelease=0
 Special=0
@@ -126,13 +126,13 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化专业版
-FileVersion=3.1.5.204
+FileVersion=3.1.5.211
 InternalName=
-LegalCopyright=
-LegalTrademarks=
+LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
+LegalTrademarks=Measure
 OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
+ProductName=纵横公路工程结算决算一体化软件
+ProductVersion=3.1.5.2
 [Excluded Packages]
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.

BIN
Dprs/Pro/Measure.res


+ 6 - 6
Dprs/Pro/Measure_Cloud.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=5
-Build=204
+Build=211
 Debug=0
 PreRelease=0
 Special=0
@@ -126,13 +126,13 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.5.204
+FileVersion=3.1.5.211
 InternalName=
-LegalCopyright=
-LegalTrademarks=
+LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
+LegalTrademarks=Measure
 OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
+ProductName=纵横公路工程结算决算一体化软件
+ProductVersion=3.1.5.2
 [Excluded Packages]
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.

BIN
Dprs/Pro/Measure_Cloud.res


+ 6 - 6
Dprs/Pro/Measure_GuangDong.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=5
-Build=204
+Build=211
 Debug=0
 PreRelease=0
 Special=0
@@ -126,13 +126,13 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化广东专业版
-FileVersion=3.1.5.204
+FileVersion=3.1.5.211
 InternalName=
-LegalCopyright=
-LegalTrademarks=
+LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
+LegalTrademarks=Measur
 OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
+ProductName=纵横公路工程结算决算一体化软件
+ProductVersion=3.1.5.2
 [Excluded Packages]
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.

BIN
Dprs/Pro/Measure_GuangDong.res


+ 6 - 6
Dprs/Pro/Measure_GuangDong_Cloud.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=5
-Build=204
+Build=211
 Debug=0
 PreRelease=0
 Special=0
@@ -126,13 +126,13 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化广东云版
-FileVersion=3.1.5.204
+FileVersion=3.1.5.211
 InternalName=
-LegalCopyright=
-LegalTrademarks=
+LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
+LegalTrademarks=Measure
 OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
+ProductName=纵横公路工程结算决算一体化软件
+ProductVersion=3.1.5.2
 [Excluded Packages]
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.

BIN
Dprs/Pro/Measure_GuangDong_Cloud.res


+ 8 - 8
Dprs/Pro/Measure_GuangDong_TZ.dof

@@ -115,7 +115,7 @@ AutoIncBuild=0
 MajorVer=3
 MinorVer=1
 Release=5
-Build=202
+Build=210
 Debug=0
 PreRelease=0
 Special=0
@@ -124,15 +124,15 @@ DLL=0
 Locale=2052
 CodePage=936
 [Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=3.1.5.202
+CompanyName=珠海纵横创新软件有限公司
+FileDescription=纵横0号台账广东专业版
+FileVersion=3.1.5.210
 InternalName=
-LegalCopyright=
-LegalTrademarks=
+LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
+LegalTrademarks=Measure
 OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
+ProductName=纵横公路工程结算决算一体化软件
+ProductVersion=3.1.5.2
 Comments=
 [Excluded Packages]
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.

BIN
Dprs/Pro/Measure_GuangDong_TZ.res


+ 6 - 6
Dprs/Pro/Measure_TZ.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=5
-Build=204
+Build=211
 Debug=0
 PreRelease=0
 Special=0
@@ -126,13 +126,13 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横0号台账专业版
-FileVersion=3.1.5.204
+FileVersion=3.1.5.211
 InternalName=
-LegalCopyright=
-LegalTrademarks=
+LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
+LegalTrademarks=Measure
 OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
+ProductName=纵横公路工程结算决算一体化软件
+ProductVersion=3.1.5.2
 [Excluded Packages]
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
 C:\Program Files (x86)\Borland\Delphi7\Lib\3F\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.

BIN
Dprs/Pro/Measure_TZ.res


+ 3 - 2
Forms/FindUserFrm.dfm

@@ -1,6 +1,6 @@
 object FindUserForm: TFindUserForm
-  Left = 336
-  Top = 273
+  Left = 934
+  Top = 272
   ActiveControl = edtMail
   BorderStyle = bsDialog
   Caption = #28155#21152#23457#25209#20154
@@ -13,6 +13,7 @@ object FindUserForm: TFindUserForm
   Font.Name = #24494#36719#38597#40657
   Font.Style = []
   OldCreateOrder = False
+  Position = poScreenCenter
   OnCreate = FormCreate
   PixelsPerInch = 96
   TextHeight = 17

+ 35 - 56
Frames/ProjectFme.pas

@@ -806,13 +806,41 @@ var sURL, sAppFile, sJsonFile_Bills, sJsonFile_Common, sAppFile_UnLock,
   vExportor: TTenderExport;
   vCF: TCheckerMemoForm;
   bNeedFreeEarlier: Boolean;
-  iFile: Integer;
+
+  // 1 审核; 2 批复。
+  function SaveAndExport(AType: Integer): Boolean;
+
+    function InnerSubmit(AType: Integer): Boolean;
+    begin
+      if AType = 1 then
+        Result := ProjectData.SubmitProject(sAppFile)
+      else if AType = 2 then
+        Result := ProjectData.ReplyProject(sAppFile);
+    end;
+  begin
+    Result := False;
+    ProgressProCreate(100, '本地数据文件上传到云端');
+    ProgressProRun('保存本地数据...', 0);
+    ProjectData.Save;
+    ProgressProRun('保存本地数据。OK', 10, pmtEdit);
+
+    ProgressProRun('导出并检验文件...', 0);
+    if not InnerSubmit(AType) then
+      if not InnerSubmit(AType) then
+      begin
+        bNeedFreeEarlier := True;
+        Application.MessageBox('Sorry!本地文件连续2次导出检验失败!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
+        Exit;
+      end;
+    Result := True;
+    ProgressProRun('导出并检验文件。OK', 10, pmtEdit);
+  end;
 begin
   bSubmit := False;
   bNeedFreeEarlier := False;
   sAppFile := PHPWeb.UserPath + 'ProjectFile.rmf';
   // 只有编制人才真正需要该文件存在
-  sAppFile_UnLock := PHPWeb.UserPath + 'ProjectFile_UnLock';
+//  sAppFile_UnLock := PHPWeb.UserPath + 'ProjectFile_UnLock';
 
   sPassedHint1 :=
     '【审批通过】后,计量数据将自动交付给下一审批人进行审批,操作后将不可更改,是否通过审批?';
@@ -844,28 +872,7 @@ begin
       if Application.MessageBox(PChar(CheckersHint), '询问', MB_YESNO + MB_ICONQUESTION) = ID_No then
         Exit;
 
-      ProgressProCreate(100, '本地数据文件上传到云端');
-      ProjectData.Save;
-      ProgressProRun('保存本地数据。OK');
-
-      // 生成无锁文件
-      vRec := MainForm.ProjectManagerFrame.Rec(ProjectData.ProjectID);
-      vExportor := TTenderExport.Create(vRec, sAppFile_UnLock);
-      try
-        vExportor.Execute;
-      finally
-        vExportor.Free;
-      end;
-      ProgressProRun('生成无锁文件。OK');
-      ProgressProRun('生成并检验待审核文件...', 0);
-      if not ProjectData.SubmitProject(sAppFile) then
-        if not ProjectData.SubmitProject(sAppFile) then
-        begin
-          bNeedFreeEarlier := True;
-          Application.MessageBox('Sorry!待审核文件连续2次生成失败!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
-          Exit;
-        end;
-      ProgressProRun('生成并检验待审核文件。OK', 10, pmtEdit);
+      if not SaveAndExport(1) then Exit;
     end
     else if ProjectData.CurUserIsChecker then
     begin
@@ -889,18 +896,7 @@ begin
           Exit;
       end;
 
-      ProgressProCreate(100, '本地数据文件上传到云端');
-      ProjectData.Save;
-      ProgressProRun('保存本地数据。OK');
-      ProgressProRun('生成并检验待审核文件...', 0);
-      if not ProjectData.SubmitProject(sAppFile) then
-        if not ProjectData.SubmitProject(sAppFile) then
-        begin
-          bNeedFreeEarlier := True;
-          Application.MessageBox('Sorry!待审核文件连续2次生成失败!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
-          Exit;
-        end;
-      ProgressProRun('生成并检验待审核文件。OK', 10, pmtEdit);
+      if not SaveAndExport(1) then Exit;
     end
     else if ProjectData.CurUserIsOwner then
     begin
@@ -924,20 +920,7 @@ begin
           Exit;
       end;
 
-      ProgressProCreate(100, '本地数据文件上传到云端');
-      ProgressProRun('保存本地数据...', 0);
-      ProjectData.Save;
-      ProgressProRun('保存本地数据。OK', 10, pmtEdit);
-
-      ProgressProRun('生成并检验待批复文件...', 0);
-      if not ProjectData.ReplyProject(sAppFile) then
-        if not ProjectData.ReplyProject(sAppFile) then
-        begin
-          bNeedFreeEarlier := True;
-          Application.MessageBox('Sorry!批复文件连续2次生成失败!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
-          Exit;
-        end;
-      ProgressProRun('生成并检验待批复文件。OK', 10, pmtEdit);
+      if not SaveAndExport(2) then Exit;
     end;
   finally
     vCF.Free;
@@ -957,14 +940,10 @@ begin
 
 
     ProgressProRun('生成并检验up数据包文件...', 0);
-    if FileExists(sAppFile_UnLock) then    // 要在压缩前判断,压缩完会删除
-      iFile := 4
-    else
-      iFile := 3;
 
-    sZipFile := PHPWeb.zip([sAppFile, sJsonFile_Bills, sJsonFile_Common, sAppFile_UnLock]);
+    sZipFile := PHPWeb.zip([sAppFile, sJsonFile_Bills, sJsonFile_Common]);
 
-    if not PHPWeb.CheckZip(sZipFile, iFile) then
+    if not PHPWeb.CheckZip(sZipFile, 3) then
     begin
       Application.MessageBox('up数据包文件无法通过检验请重试!如果重试后仍不能解决该问题,请联系纵横客服。', '提示', MB_OK + MB_ICONWARNING);
       Exit;

+ 16 - 24
Frames/ProjectManagerFme.pas

@@ -123,7 +123,7 @@ type
     FCurPos: Integer;                         // 用来控制审核人的添加位置
     FCheckerList: TObjectList;
 
-    function ReceiveFile(const AFileName: string): Boolean;
+    function ReceiveFile(const AFileName: string; AIsReback: Boolean = False): Boolean;
     function ImportFile(const AFileName: string; AFileMD5: string = ''): Boolean;
     procedure ConnectButtonWithAction;
     function GetImportProjectName(const AFileName: string; AParent: TsdIDTreeNode): string;
@@ -403,7 +403,7 @@ begin
   end;
 end;
 
-function TProjectManagerFrame.ReceiveFile(const AFileName: string): Boolean;
+function TProjectManagerFrame.ReceiveFile(const AFileName: string; AIsReback: Boolean): Boolean;
 var
   vRP: TReceiveProject;
   vNode: TsdIDTreeNode;
@@ -416,11 +416,11 @@ begin
 
     if G_IsCloud then
     begin
+      vRP.IsReback := AIsReback;
       bLock := (FWebAuthorID = PHPWeb.UserID) or
            ((FWebAuthorID <> PHPWeb.UserID) and (FWebCheckStatusMy <> csChecking));
-      bIsOwner := FWebOwnerID = PHPWeb.UserID;
-
       vRP.Lock := bLock;
+      bIsOwner := FWebOwnerID = PHPWeb.UserID;
       vNode := vRP.ReceiveForLost(AFileName, FOnLineCheckerBegin, FOnLineCheckerEnd, bIsOwner);
 
       if vNode <> nil then
@@ -1677,28 +1677,17 @@ begin
     Exit;
   end;
 
-  // 接收更新
-  if AReceiveKind = 1 then
-  begin
-    if not ReceiveFile(sLocalFile) then
-    begin
-      sHint := Format('已从云端下载新的[%s]到本地[%s],但接收失败,请删除该项目然后重新从云端获取!', [FWebBidName_Local, sLocalFile]);
-      Application.MessageBox(PChar(sHint), '系统提醒', MB_OK + MB_ICONWARNING);
-      Exit;
-    end;
-  end
-
-  // 导入更新
-  else if AReceiveKind = 2 then
+  // 打回情况,重新接收原报的文件
+  if AReceiveKind = 2 then
   begin
-    // 有时无锁文件出错:包含了1审2审的数据。所以导入前须检测。
+    // 有时原报文件出错:包含了1审2审的数据。所以导入前须检测。
     vFileCheck := TTenderFileChecker.Create;
     try
       // 有一期以上数据,且最新期数据审核状态为原报
       bCanImp := vFileCheck.CheckFileValid(sLocalFile) and (vFileCheck.PhaseCount > 0) and (vFileCheck.AuditStatus = 0);
       if not bCanImp then
       begin
-        Application.MessageBox(PChar('已从云端下载原报上传的无锁文件到本地,但文件有错误,禁止导入!请致电纵横服务人员以获取帮助。'),
+        Application.MessageBox(PChar('已从云端下载原报文件到本地,但文件有错误,禁止导入!请致电纵横服务人员以获取帮助。'),
           '警告', MB_OK + MB_ICONWARNING);
         Exit;
       end;
@@ -1714,11 +1703,14 @@ begin
     问:①那里下载无锁文件后不能改成新的MD5码吗?
     答:不能,因为审核人的项目会变成无锁文件,看不到不通过项目。MD5码只能在上传后更新。
     且编制人有个交互界面2种选择:a.下载更新不通过项目查看;b.下载更新无锁文件开始新一期。}
-    if not ImportFile(sLocalFile, FWebMD5_OnLine) then
-    begin
-      Application.MessageBox(PChar('已从云端下载原报上传的无锁文件到本地,但导入失败!请重试。'), '警告', MB_OK + MB_ICONWARNING);
-      Exit;
-    end;
+  end;
+
+  // 接收更新
+  if not ReceiveFile(sLocalFile, (AReceiveKind = 2)) then
+  begin
+    sHint := Format('已从云端下载新的[%s]到本地[%s],但接收失败,请删除该项目然后重新从云端获取!', [FWebBidName_Local, sLocalFile]);
+    Application.MessageBox(PChar(sHint), '系统提醒', MB_OK + MB_ICONWARNING);
+    Exit;
   end;
 
   if FileExists(sLocalFile) then