diff --git a/CCFlow/.vs/CCFlowCloud/FileContentIndex/06a09c3f-b51f-47ef-9fa1-127531c0fbe3.vsidx b/CCFlow/.vs/CCFlowCloud/FileContentIndex/06a09c3f-b51f-47ef-9fa1-127531c0fbe3.vsidx
deleted file mode 100644
index 27f673e7..00000000
Binary files a/CCFlow/.vs/CCFlowCloud/FileContentIndex/06a09c3f-b51f-47ef-9fa1-127531c0fbe3.vsidx and /dev/null differ
diff --git a/CCFlow/.vs/CCFlowCloud/FileContentIndex/18f107f5-f2c1-411a-be58-a93092112ea5.vsidx b/CCFlow/.vs/CCFlowCloud/FileContentIndex/18f107f5-f2c1-411a-be58-a93092112ea5.vsidx
deleted file mode 100644
index 7c91b371..00000000
Binary files a/CCFlow/.vs/CCFlowCloud/FileContentIndex/18f107f5-f2c1-411a-be58-a93092112ea5.vsidx and /dev/null differ
diff --git a/CCFlow/.vs/CCFlowCloud/FileContentIndex/33514ed8-805a-4762-9aaf-dd7dfbe87257.vsidx b/CCFlow/.vs/CCFlowCloud/FileContentIndex/33514ed8-805a-4762-9aaf-dd7dfbe87257.vsidx
deleted file mode 100644
index 06517c87..00000000
Binary files a/CCFlow/.vs/CCFlowCloud/FileContentIndex/33514ed8-805a-4762-9aaf-dd7dfbe87257.vsidx and /dev/null differ
diff --git a/CCFlow/.vs/CCFlowCloud/FileContentIndex/3fc23a2c-58a7-40de-b21c-d6217655af7a.vsidx b/CCFlow/.vs/CCFlowCloud/FileContentIndex/3fc23a2c-58a7-40de-b21c-d6217655af7a.vsidx
deleted file mode 100644
index 2d3a37ca..00000000
Binary files a/CCFlow/.vs/CCFlowCloud/FileContentIndex/3fc23a2c-58a7-40de-b21c-d6217655af7a.vsidx and /dev/null differ
diff --git a/CCFlow/.vs/CCFlowCloud/FileContentIndex/5bb78507-31b8-4f3d-be4d-900d91f18ca3.vsidx b/CCFlow/.vs/CCFlowCloud/FileContentIndex/5bb78507-31b8-4f3d-be4d-900d91f18ca3.vsidx
deleted file mode 100644
index 6ac49420..00000000
Binary files a/CCFlow/.vs/CCFlowCloud/FileContentIndex/5bb78507-31b8-4f3d-be4d-900d91f18ca3.vsidx and /dev/null differ
diff --git a/CCFlow/.vs/CCFlowCloud/FileContentIndex/b5aa3781-5687-45f1-9d87-a4f1702c27e4.vsidx b/CCFlow/.vs/CCFlowCloud/FileContentIndex/b5aa3781-5687-45f1-9d87-a4f1702c27e4.vsidx
deleted file mode 100644
index 9a048c2e..00000000
Binary files a/CCFlow/.vs/CCFlowCloud/FileContentIndex/b5aa3781-5687-45f1-9d87-a4f1702c27e4.vsidx and /dev/null differ
diff --git a/CCFlow/.vs/CCFlowCloud/FileContentIndex/f4cb1a2c-aab1-4d3c-9009-3a1a73fdd20e.vsidx b/CCFlow/.vs/CCFlowCloud/FileContentIndex/f4cb1a2c-aab1-4d3c-9009-3a1a73fdd20e.vsidx
deleted file mode 100644
index 2bdaa9b3..00000000
Binary files a/CCFlow/.vs/CCFlowCloud/FileContentIndex/f4cb1a2c-aab1-4d3c-9009-3a1a73fdd20e.vsidx and /dev/null differ
diff --git a/CCFlow/.vs/CCFlowCloud/v17/.suo b/CCFlow/.vs/CCFlowCloud/v17/.suo
index ee701fc6..3d5e7318 100644
Binary files a/CCFlow/.vs/CCFlowCloud/v17/.suo and b/CCFlow/.vs/CCFlowCloud/v17/.suo differ
diff --git a/CCFlow/.vs/CCFlowCloud/v17/fileList.bin b/CCFlow/.vs/CCFlowCloud/v17/fileList.bin
index df8f8cec..587fb664 100644
Binary files a/CCFlow/.vs/CCFlowCloud/v17/fileList.bin and b/CCFlow/.vs/CCFlowCloud/v17/fileList.bin differ
diff --git a/CCFlow/CCFlow/CCFlowCloud.csproj b/CCFlow/CCFlow/CCFlowCloud.csproj
index df3a31c9..993fdef3 100644
--- a/CCFlow/CCFlow/CCFlowCloud.csproj
+++ b/CCFlow/CCFlow/CCFlowCloud.csproj
@@ -59,6 +59,9 @@
+
+ ..\packages\Fleck.1.2.0\lib\net45\Fleck.dll
+
..\RefDLL\FusionCharts.dll
@@ -117,12 +120,20 @@
..\RefDLL\ServiceStack.Text.dll
+
+ ..\packages\SuperSocket.ClientEngine.Core.0.10.0\lib\net45\SuperSocket.ClientEngine.dll
+
..\RefDLL\Swashbuckle.Core.dll
..\packages\System.Buffers.4.5.1\lib\netstandard1.1\System.Buffers.dll
+
+ ..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll
+ True
+ True
+
@@ -131,7 +142,17 @@
+
+ ..\packages\System.IO.4.3.0\lib\net462\System.IO.dll
+ True
+ True
+
+
+ ..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll
+ True
+ True
+
..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll
@@ -140,12 +161,67 @@
..\RefDLL\System.Net.Http.Formatting.dll
+
+ ..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll
+ True
+ True
+
+
+ ..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll
+ True
+ True
+
+
+ ..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll
+ True
+ True
+
+
+ ..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+ ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+ True
+ True
+
+
+ ..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll
+ True
+ True
+
..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
@@ -186,6 +262,9 @@
..\RefDLL\WebActivatorEx.dll
+
+ ..\packages\WebSocket4Net.0.15.2\lib\net45\WebSocket4Net.dll
+
diff --git a/CCFlow/CCFlow/Default.aspx.cs b/CCFlow/CCFlow/Default.aspx.cs
index cc6b28f0..3ac256a5 100644
--- a/CCFlow/CCFlow/Default.aspx.cs
+++ b/CCFlow/CCFlow/Default.aspx.cs
@@ -13,6 +13,7 @@ using System.IO;
using Newtonsoft.Json;
using BP.En;
using BP.Port;
+using System.Threading;
using BP.DA;
using BP.Sys;
using BP.WF;
@@ -21,6 +22,8 @@ using System.Drawing;
using BP.WF.Port;
using BP.Difference;
using CCFlow.DataUser.API;
+using Fleck;
+using System.Collections.Generic;
namespace CCFlow
{
@@ -30,6 +33,7 @@ namespace CCFlow
{
// EventDoType.Disable
// DataType.AppBoolean
+ InitWs();
this.Response.Redirect("./Portal/Standard/Login.htm" , true) ;
// BP.Sys.SFTable
// EnConfig
@@ -367,6 +371,67 @@ namespace CCFlow
//}
//return;
}
+ #region websocket 服务端
+ private Dictionary allSockets;
+ private void InitWs()
+ {
+
+ FleckLog.Level = LogLevel.Debug;
+ allSockets = new Dictionary();
+ var server = new WebSocketServer("ws://0.0.0.0:1233");
+ server.RestartAfterListenError = true;
+ try
+ {
+ server.Start(socket =>
+ {
+ socket.OnOpen = () =>
+ {
+ //获取客户端网页的url
+ string clientUrl = socket.ConnectionInfo.ClientIpAddress + ":" + socket.ConnectionInfo.ClientPort;
+ allSockets.Add(clientUrl, socket);
+ //BoxAddInfo(DateTime.Now.ToString() + "|服务器:与客户端:" + clientUrl + " 建立WebSock连接!\r\n");
+ };
+ socket.OnClose = () =>
+ {
+ string clientUrl = socket.ConnectionInfo.ClientIpAddress + ":" + socket.ConnectionInfo.ClientPort;
+ //BoxAddInfo(DateTime.Now.ToString() + "|服务器:与客户端:" + clientUrl + " 断开WebSock连接!\r\n");
+ allSockets.Remove(clientUrl);
+ };
+ socket.OnMessage = message =>
+ {
+ string clientUrl = socket.ConnectionInfo.ClientIpAddress + ":" + socket.ConnectionInfo.ClientPort;
+ //BoxAddInfo(DateTime.Now.ToString() + "|服务器:【收到】客户端:" + clientUrl + "的信息:" + message + "\r\n");
+ Thread parameterizedThread = new Thread(new ParameterizedThreadStart(DoWorkWithParam));
+ Dictionary da = new Dictionary();
+ da.Add("clientUrl", clientUrl);
+ da.Add("message", message);
+ parameterizedThread.IsBackground = true; //后台线程
+ parameterizedThread.Start(da);
+ };
+ });
+ }
+ catch (Exception ex)
+ {
+ //BoxAddInfo("建立服务端失败,问题:" + ex.Message);
+ }
+ }
+ public void DoWorkWithParam(object o)
+ {
+ Dictionary dictionary = (Dictionary)o;
+ string clientUrl = dictionary["clientUrl"];
+ string message = dictionary["message"];
+ Thread.Sleep(5000);
+ try
+ {
+ allSockets[clientUrl].Send("5秒------" + message);
+ }
+ catch (Exception ex)
+ {
+ //BoxAddInfo("消息回复失败,问题:" + ex.Message);
+ }
+ }
+
+ #endregion
public void JianYuStations()
{
diff --git a/CCFlow/CCFlow/WF/Comm/Batch.htm b/CCFlow/CCFlow/WF/Comm/Batch.htm
index 35a42f63..f9edae2e 100644
--- a/CCFlow/CCFlow/WF/Comm/Batch.htm
+++ b/CCFlow/CCFlow/WF/Comm/Batch.htm
@@ -181,7 +181,7 @@
var pageSize = cfg.GetPara("PageSize");
if (pageSize == null || pageSize == undefined || pageSize == 0)
- pageSize = 10;//一页显示的行数
+ pageSize = 25;//一页显示的行数
var pages = 1;//总页数
if (count % pageSize != 0)
diff --git a/CCFlow/CCFlow/WF/Toolbar.js b/CCFlow/CCFlow/WF/Toolbar.js
index ec34db40..d7035930 100644
--- a/CCFlow/CCFlow/WF/Toolbar.js
+++ b/CCFlow/CCFlow/WF/Toolbar.js
@@ -907,11 +907,12 @@ function InitToNodeDDL(JSonData, wf_node) {
IsSelected: toNode.IsSelected
}
data.push(item)
- if (item.IsSelected == "1") {
- isSelected = true;
- $("#DDL_ToNode").html(item.title);
- $("#TB_ToNode").data(item);
- }
+ //@BKGY
+ //if (item.IsSelected == "1") {
+ // isSelected = true;
+ // $("#DDL_ToNode").html(item.title);
+ // $("#TB_ToNode").data(item);
+ //}
})
diff --git a/CCFlow/CCFlow/WF/WorkOpt/WorkCheck.js b/CCFlow/CCFlow/WF/WorkOpt/WorkCheck.js
index d6d7f30e..12dd1a31 100644
--- a/CCFlow/CCFlow/WF/WorkOpt/WorkCheck.js
+++ b/CCFlow/CCFlow/WF/WorkOpt/WorkCheck.js
@@ -821,7 +821,7 @@ function GetSubAths(nodeID, frmWorkCheck) {
//2.解析上传的附件
var _Html = '';
- debugger
+
$.each(naths, function () {
if (frmWorkCheck.FWCMsgShow == "1") {
if (this.Rec === webUser.No)
diff --git a/CCFlow/CCFlow/bin/BP.En30.dll b/CCFlow/CCFlow/bin/BP.En30.dll
index a1cfb89c..6c1dd15c 100644
Binary files a/CCFlow/CCFlow/bin/BP.En30.dll and b/CCFlow/CCFlow/bin/BP.En30.dll differ
diff --git a/CCFlow/CCFlow/bin/BP.En30.pdb b/CCFlow/CCFlow/bin/BP.En30.pdb
index fe73c266..35ac199d 100644
Binary files a/CCFlow/CCFlow/bin/BP.En30.pdb and b/CCFlow/CCFlow/bin/BP.En30.pdb differ
diff --git a/CCFlow/CCFlow/bin/BP.WF.dll b/CCFlow/CCFlow/bin/BP.WF.dll
index 84c42905..0418e010 100644
Binary files a/CCFlow/CCFlow/bin/BP.WF.dll and b/CCFlow/CCFlow/bin/BP.WF.dll differ
diff --git a/CCFlow/CCFlow/bin/BP.WF.pdb b/CCFlow/CCFlow/bin/BP.WF.pdb
index d9ff79e2..6c3667f8 100644
Binary files a/CCFlow/CCFlow/bin/BP.WF.pdb and b/CCFlow/CCFlow/bin/BP.WF.pdb differ
diff --git a/CCFlow/CCFlow/bin/CCFlow.dll b/CCFlow/CCFlow/bin/CCFlow.dll
index d5f30bbb..4dd92f94 100644
Binary files a/CCFlow/CCFlow/bin/CCFlow.dll and b/CCFlow/CCFlow/bin/CCFlow.dll differ
diff --git a/CCFlow/CCFlow/bin/CCFlow.pdb b/CCFlow/CCFlow/bin/CCFlow.pdb
index 11086fde..4c5c5554 100644
Binary files a/CCFlow/CCFlow/bin/CCFlow.pdb and b/CCFlow/CCFlow/bin/CCFlow.pdb differ
diff --git a/CCFlow/CCFlow/obj/x86/Debug/CCFlow.dll b/CCFlow/CCFlow/obj/x86/Debug/CCFlow.dll
index d5f30bbb..4dd92f94 100644
Binary files a/CCFlow/CCFlow/obj/x86/Debug/CCFlow.dll and b/CCFlow/CCFlow/obj/x86/Debug/CCFlow.dll differ
diff --git a/CCFlow/CCFlow/obj/x86/Debug/CCFlow.pdb b/CCFlow/CCFlow/obj/x86/Debug/CCFlow.pdb
index 11086fde..4c5c5554 100644
Binary files a/CCFlow/CCFlow/obj/x86/Debug/CCFlow.pdb and b/CCFlow/CCFlow/obj/x86/Debug/CCFlow.pdb differ
diff --git a/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.AssemblyReference.cache b/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.AssemblyReference.cache
index f0382402..1664c16f 100644
Binary files a/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.AssemblyReference.cache and b/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.AssemblyReference.cache differ
diff --git a/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.CoreCompileInputs.cache b/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.CoreCompileInputs.cache
index fd0632ce..fbe6b3e2 100644
--- a/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.CoreCompileInputs.cache
+++ b/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-3b07b32287ba1e61fabc65ceb843e7b59348a8ba
+54d5c282dda5fe9edc40f4fd2c3e92a7d2a3fbac
diff --git a/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.FileListAbsolute.txt b/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.FileListAbsolute.txt
index 78d30325..edb68d33 100644
--- a/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.FileListAbsolute.txt
+++ b/CCFlow/CCFlow/obj/x86/Debug/CCFlowCloud.csproj.FileListAbsolute.txt
@@ -143,3 +143,6 @@ D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\CCFlow\obj\x86\Debug\CCFlow.pdb
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\CCFlow\bin\Spire.Pdf.dll
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\CCFlow\bin\Microsoft.mshtml.dll
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\CCFlow\bin\Spire.Pdf.xml
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\CCFlow\bin\Fleck.dll
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\CCFlow\bin\SuperSocket.ClientEngine.dll
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\CCFlow\bin\WebSocket4Net.dll
diff --git a/CCFlow/CCFlow/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/CCFlow/CCFlow/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index b75686f1..2baaf2af 100644
Binary files a/CCFlow/CCFlow/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/CCFlow/CCFlow/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/CCFlow/CCFlow/packages.config b/CCFlow/CCFlow/packages.config
index 088234e9..00c97c56 100644
--- a/CCFlow/CCFlow/packages.config
+++ b/CCFlow/CCFlow/packages.config
@@ -1,6 +1,7 @@
+
@@ -20,10 +21,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CCFlow/Components/BP.Demo/BP.Demo.csproj b/CCFlow/Components/BP.Demo/BP.Demo.csproj
index a6afdf1e..ebf2309b 100644
--- a/CCFlow/Components/BP.Demo/BP.Demo.csproj
+++ b/CCFlow/Components/BP.Demo/BP.Demo.csproj
@@ -50,18 +50,98 @@
prompt
+
+ ..\..\packages\Fleck.1.2.0\lib\net45\Fleck.dll
+
..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll
+
+ ..\..\packages\SuperSocket.ClientEngine.Core.0.10.0\lib\net45\SuperSocket.ClientEngine.dll
+
+
+ ..\..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll
+ True
+ True
+
+
+
+ ..\..\packages\System.IO.4.3.0\lib\net462\System.IO.dll
+ True
+ True
+
+
+ ..\..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll
+ True
+ True
+
+
+ ..\..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll
+ True
+ True
+
+
+ ..\..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll
+ True
+ True
+
+
+ ..\..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+ True
+ True
+
+
+ ..\..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll
+ True
+ True
+
+
+ ..\..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll
+ True
+ True
+
+
+ ..\..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+ True
+ True
+
+
+ ..\..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll
+ True
+ True
+
+
+ ..\..\packages\WebSocket4Net.0.15.2\lib\net45\WebSocket4Net.dll
+
@@ -82,6 +162,7 @@
+
diff --git a/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.En30.dll b/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.En30.dll
index a1cfb89c..6c1dd15c 100644
Binary files a/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.En30.dll and b/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.En30.dll differ
diff --git a/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.En30.pdb b/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.En30.pdb
index fe73c266..35ac199d 100644
Binary files a/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.En30.pdb and b/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.En30.pdb differ
diff --git a/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.WF.dll b/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.WF.dll
index 84c42905..0418e010 100644
Binary files a/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.WF.dll and b/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.WF.dll differ
diff --git a/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.WF.pdb b/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.WF.pdb
index d9ff79e2..6c3667f8 100644
Binary files a/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.WF.pdb and b/CCFlow/Components/BP.Demo/bin/x86/Debug/BP.WF.pdb differ
diff --git a/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.AssemblyReference.cache b/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.AssemblyReference.cache
index f61a074e..a4bec059 100644
Binary files a/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.AssemblyReference.cache and b/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.AssemblyReference.cache differ
diff --git a/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.CoreCompileInputs.cache b/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.CoreCompileInputs.cache
index dc7531e3..47803caa 100644
--- a/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.CoreCompileInputs.cache
+++ b/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-643ce0eac50597422337698f358fc041208cad37
+073eed74ebee55274f814e9342841bf65ffe98fc
diff --git a/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.FileListAbsolute.txt b/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.FileListAbsolute.txt
index 8a29ece0..584c78c6 100644
--- a/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.FileListAbsolute.txt
+++ b/CCFlow/Components/BP.Demo/obj/x86/Debug/BP.Demo.csproj.FileListAbsolute.txt
@@ -109,3 +109,6 @@ D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.Demo\obj\x86\Debug\BP.Demo.pdb
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.Demo\bin\x86\Debug\Spire.Pdf.dll
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.Demo\bin\x86\Debug\Microsoft.mshtml.dll
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.Demo\bin\x86\Debug\Spire.Pdf.xml
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.Demo\bin\x86\Debug\Fleck.dll
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.Demo\bin\x86\Debug\SuperSocket.ClientEngine.dll
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.Demo\bin\x86\Debug\WebSocket4Net.dll
diff --git a/CCFlow/Components/BP.Demo/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/CCFlow/Components/BP.Demo/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 1ae1ce42..523d7190 100644
Binary files a/CCFlow/Components/BP.Demo/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/CCFlow/Components/BP.Demo/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/CCFlow/Components/BP.En30/BP.En30.csproj b/CCFlow/Components/BP.En30/BP.En30.csproj
index c93d323f..049a0004 100644
--- a/CCFlow/Components/BP.En30/BP.En30.csproj
+++ b/CCFlow/Components/BP.En30/BP.En30.csproj
@@ -149,6 +149,9 @@
..\..\packages\Enums.NET.4.0.1\lib\net45\Enums.NET.dll
+
+ ..\..\packages\Fleck.1.2.0\lib\net45\Fleck.dll
+
..\..\packages\HarfBuzzSharp.2.6.1.5\lib\net462\HarfBuzzSharp.dll
True
@@ -250,12 +253,20 @@
..\..\packages\Spire.Doc.10.4.6\lib\net40\Spire.Pdf.dll
+
+ ..\..\packages\SuperSocket.ClientEngine.Core.0.10.0\lib\net45\SuperSocket.ClientEngine.dll
+
System
..\..\..\CCFlowCloud\packages\System.Buffers.4.5.1\lib\netstandard1.1\System.Buffers.dll
+
+ ..\..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll
+ True
+ True
+
@@ -278,6 +289,21 @@
+
+ ..\..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll
+ True
+ True
+
+
+ ..\..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll
+ True
+ True
+
+
+ ..\..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+ True
+ True
+
..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
@@ -291,6 +317,26 @@
..\..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll
+
+ ..\..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+ True
+ True
+
..\..\packages\System.Security.Cryptography.Xml.6.0.1\lib\net461\System.Security.Cryptography.Xml.dll
@@ -316,6 +362,9 @@
..\..\..\CCFlowCloud\packages\MySql.Data.8.0.25\lib\net452\Ubiety.Dns.Core.dll
+
+ ..\..\packages\WebSocket4Net.0.15.2\lib\net45\WebSocket4Net.dll
+
..\..\..\CCFlowCloud\packages\MySql.Data.8.0.25\lib\net452\Zstandard.Net.dll
diff --git a/CCFlow/Components/BP.En30/bin/x86/Debug/BP.En30.dll b/CCFlow/Components/BP.En30/bin/x86/Debug/BP.En30.dll
index a1cfb89c..6c1dd15c 100644
Binary files a/CCFlow/Components/BP.En30/bin/x86/Debug/BP.En30.dll and b/CCFlow/Components/BP.En30/bin/x86/Debug/BP.En30.dll differ
diff --git a/CCFlow/Components/BP.En30/bin/x86/Debug/BP.En30.pdb b/CCFlow/Components/BP.En30/bin/x86/Debug/BP.En30.pdb
index fe73c266..35ac199d 100644
Binary files a/CCFlow/Components/BP.En30/bin/x86/Debug/BP.En30.pdb and b/CCFlow/Components/BP.En30/bin/x86/Debug/BP.En30.pdb differ
diff --git a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.AssemblyReference.cache b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.AssemblyReference.cache
index 0311bf6c..7ca79da8 100644
Binary files a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.AssemblyReference.cache and b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.AssemblyReference.cache differ
diff --git a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.CoreCompileInputs.cache b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.CoreCompileInputs.cache
index 3f6fbc42..d2ff2a3e 100644
--- a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.CoreCompileInputs.cache
+++ b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-ef39ae20307d71ac8d71e0cac63f2dfa0ef3f48a
+d4c2f92bbc2e62366dc3f1546662cc4b7242258b
diff --git a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.FileListAbsolute.txt b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.FileListAbsolute.txt
index a6171e7e..120f83ce 100644
--- a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.FileListAbsolute.txt
+++ b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.csproj.FileListAbsolute.txt
@@ -173,3 +173,6 @@ D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.En30\obj\x86\Debug\BP.En30.pdb
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.En30\bin\x86\Debug\Spire.Pdf.dll
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.En30\bin\x86\Debug\Microsoft.mshtml.dll
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.En30\bin\x86\Debug\Spire.Pdf.xml
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.En30\bin\x86\Debug\Fleck.dll
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.En30\bin\x86\Debug\SuperSocket.ClientEngine.dll
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.En30\bin\x86\Debug\WebSocket4Net.dll
diff --git a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.dll b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.dll
index a1cfb89c..6c1dd15c 100644
Binary files a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.dll and b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.dll differ
diff --git a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.pdb b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.pdb
index fe73c266..35ac199d 100644
Binary files a/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.pdb and b/CCFlow/Components/BP.En30/obj/x86/Debug/BP.En30.pdb differ
diff --git a/CCFlow/Components/BP.En30/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/CCFlow/Components/BP.En30/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 6d42da20..b11d6dec 100644
Binary files a/CCFlow/Components/BP.En30/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/CCFlow/Components/BP.En30/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/CCFlow/Components/BP.En30/packages.config b/CCFlow/Components/BP.En30/packages.config
index a2db0003..955002c6 100644
--- a/CCFlow/Components/BP.En30/packages.config
+++ b/CCFlow/Components/BP.En30/packages.config
@@ -3,6 +3,7 @@
+
@@ -33,9 +34,11 @@
+
+
@@ -48,7 +51,10 @@
+
+
+
@@ -62,6 +68,10 @@
+
+
+
+
@@ -75,4 +85,5 @@
+
\ No newline at end of file
diff --git a/CCFlow/Components/BP.WF/BP.WF.csproj b/CCFlow/Components/BP.WF/BP.WF.csproj
index ec1e69c1..61ceccf1 100644
--- a/CCFlow/Components/BP.WF/BP.WF.csproj
+++ b/CCFlow/Components/BP.WF/BP.WF.csproj
@@ -137,6 +137,9 @@
False
..\..\RefDLL\Aliyun.OSS.dll
+
+ ..\..\packages\Fleck.1.2.0\lib\net45\Fleck.dll
+
..\..\RefDLL\FluentFTP.dll
@@ -176,9 +179,18 @@
False
..\..\RefDLL\Spire.Pdf.dll
+
+ ..\..\packages\SuperSocket.ClientEngine.Core.0.10.0\lib\net45\SuperSocket.ClientEngine.dll
+
System
+
+ ..\..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll
+ True
+ True
+
+
System.Data
@@ -188,11 +200,76 @@
System.EnterpriseServices
..\..\WF\bin\System.EnterpriseServices.dll
+
+ ..\..\packages\System.IO.4.3.0\lib\net462\System.IO.dll
+ True
+ True
+
+
+ ..\..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll
+ True
+ True
+
+
+ ..\..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll
+ True
+ True
+
+
+ ..\..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll
+ True
+ True
+
+
+ ..\..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+ True
+ True
+
+
+ ..\..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll
+ True
+ True
+
+
+ ..\..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll
+ True
+ True
+
+
+ ..\..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+ ..\..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+ True
+ True
+
+
+ ..\..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll
+ True
+ True
+
System.Web
@@ -204,6 +281,9 @@
False
..\..\RefDLL\ThoughtWorks.QRCode.dll
+
+ ..\..\packages\WebSocket4Net.0.15.2\lib\net45\WebSocket4Net.dll
+
diff --git a/CCFlow/Components/BP.WF/Data/GenerWorkFlowView.cs b/CCFlow/Components/BP.WF/Data/GenerWorkFlowView.cs
index 288622dc..1978d97b 100644
--- a/CCFlow/Components/BP.WF/Data/GenerWorkFlowView.cs
+++ b/CCFlow/Components/BP.WF/Data/GenerWorkFlowView.cs
@@ -639,7 +639,7 @@ namespace BP.WF.Data
//map.AddRefMethod(rm);
rm = new RefMethod();
- rm.Title = "调整流程";
+ rm.Title = "撤转";
rm.Icon = "icon-target";
//rm.HisAttrs.AddTBString("RenYuan", null, "调整到人员", true, false, 0, 100, 100);
//rm.HisAttrs.AddTBInt("shuzi", 0, "调整到节点", true, false);
diff --git a/CCFlow/Components/BP.WF/Data/MyJoinFlow.cs b/CCFlow/Components/BP.WF/Data/MyJoinFlow.cs
index 0fcb9c7e..896faaa4 100644
--- a/CCFlow/Components/BP.WF/Data/MyJoinFlow.cs
+++ b/CCFlow/Components/BP.WF/Data/MyJoinFlow.cs
@@ -726,6 +726,7 @@ namespace BP.WF.Data
map.AddTBDateTime(MyFlowAttr.RDT, "发起日期", true, true);
map.AddDDLSysEnum(MyFlowAttr.WFSta, 0, "状态", true, false, MyFlowAttr.WFSta, "@0=运行中@1=已完成@2=其他");
+ map.AddDDLSysEnum(GenerWorkFlowAttr.WFState, 0, "大状态", true, false, MyStartFlowAttr.WFState);
//map.AddDDLSysEnum(MyFlowAttr.TSpan, 0, "时间段", true, false, MyFlowAttr.TSpan, "@0=本周@1=上周@2=两周以前@3=三周以前@4=更早");
map.AddDDLEntities(GenerWorkFlowAttr.FK_FlowSort, null, "流程类别", new FlowSorts(), false);
diff --git a/CCFlow/Components/BP.WF/WF/WorkNode.cs b/CCFlow/Components/BP.WF/WF/WorkNode.cs
index 0173c40c..b6986ce2 100644
--- a/CCFlow/Components/BP.WF/WF/WorkNode.cs
+++ b/CCFlow/Components/BP.WF/WF/WorkNode.cs
@@ -1744,6 +1744,11 @@ namespace BP.WF
gwl.EmpNo = this.JumpToEmp;
gwl.NodeID = this.JumpToNode.NodeID;
gwl.WorkID = this.WorkID;
+
+ //string table = "ND" + int.Parse(gwl.FlowNo) + "Track";
+ //ps.SQL = "SELECT NDFrom,EmpFrom,EmpFromT FROM " + table + " WHERE ActionType IN(2,201) AND WorkID=" + dbStr + "WorkID AND NDTo=" + this.HisNode.NodeID + " ORDER BY RDT DESC";
+ //ps.Add(TrackAttr.WorkID, this.WorkID);
+ //DataTable mydt = DBAccess.RunSQLReturnTable(ps);
if (gwl.RetrieveFromDBSources() == 0)
throw new Exception(BP.WF.Glo.multilingual("@没有找到接收人期望的数据,在协作模式的按照顺序退回的时候.", "WorkNode", "not_found_receiver_expected_data", new string[0]));
diff --git a/CCFlow/Components/BP.WF/WF/WorkReturn.cs b/CCFlow/Components/BP.WF/WF/WorkReturn.cs
index 93509ebf..ccf50f34 100644
--- a/CCFlow/Components/BP.WF/WF/WorkReturn.cs
+++ b/CCFlow/Components/BP.WF/WF/WorkReturn.cs
@@ -1175,6 +1175,7 @@ namespace BP.WF
//退回到人.
Emp empReturn = new Emp(this.ReturnToEmp);
gwf.TodoEmps = empReturn.UserID + "," + empReturn.Name + ";";
+ gwf.Emps = gwf.Emps + WebUser.No + "," + WebUser.Name + "@";
gwf.TodoEmpsNum = 1;
gwf.SetPara("IsBackTracking", this.IsBackTrack);
gwf.Update();
diff --git a/CCFlow/Components/BP.WF/WF/WorkUnSend.cs b/CCFlow/Components/BP.WF/WF/WorkUnSend.cs
index 9ba95a4d..cd8d959a 100644
--- a/CCFlow/Components/BP.WF/WF/WorkUnSend.cs
+++ b/CCFlow/Components/BP.WF/WF/WorkUnSend.cs
@@ -106,7 +106,7 @@ namespace BP.WF
this.FlowNo = flowNo;
this.WorkID = workID;
this.FID = fid;
- this.UnSendToNode = UnSendToNode; //撤销到节点.
+ this.UnSendToNode = unSendToNode; //撤销到节点.
}
public int UnSendToNode = 0;
///
@@ -168,7 +168,8 @@ namespace BP.WF
//
NodeCancels ncs = new NodeCancels();
ncs.Retrieve(NodeCancelAttr.FK_Node, wn.HisNode.NodeID);
- if (ncs.Count == 0)
+ string cancelNodes = wn.HisNode.GetParaString("CancelNodes");
+ if (ncs.Count == 0 && DataType.IsNullOrEmpty(cancelNodes) == true)
throw new Exception("@流程设计错误, 您设置了当前节点(" + wn.HisNode.Name + ")可以让指定的节点人员撤销,但是您没有设置指定的节点.");
//获取Track表
@@ -217,7 +218,7 @@ namespace BP.WF
// 调用撤消发送前事件。
ExecEvent.DoNode(EventListNode.UndoneBefore, nd, wn.HisWork, null);
- BP.WF.Dev2Interface.Node_FHL_KillSubFlow( this.WorkID); //杀掉子线程.
+ BP.WF.Dev2Interface.Node_FHL_KillSubFlow(this.WorkID); //杀掉子线程.
// 调用撤消发送前事件。
ExecEvent.DoNode(EventListNode.UndoneAfter, nd, wn.HisWork, null);
@@ -315,7 +316,7 @@ namespace BP.WF
wlN.Copy(wl);
wlN.EmpNo = s;
- BP.Port.Emp myEmp = new BP.Port.Emp(s);
+ BP.Port.Emp myEmp = new BP.Port.Emp(s);
wlN.EmpName = myEmp.Name;
wlN.DeptNo = myEmp.DeptNo;
wlN.DeptName = myEmp.DeptText;
@@ -381,21 +382,68 @@ namespace BP.WF
return "工作已经被您撤销到:" + cancelToNode.Name;
}
///
- ///
+ /// 执行撤销.
///
///
public string DoUnSend()
{
string str = DoUnSendIt();
+ if (str.Contains("err@") == false)
+ {
+ string table = "ND" + int.Parse(FlowNo) + "Track";
+ string dbStr = SystemConfig.AppCenterDBVarStr;
+
+ #region 1. 撤销发送后的删除信息. for:天宇.
+ //检查一下当前节点审核组件的状态是否启用? 如果启用了:将自己本次审核的信息和保存的历史审核信息都删除.(历史审核信息保存在ActionType=1的Msg字段中以'WorkCheck@XXX'的形式保存)
+ int nodeID = DBAccess.RunSQLReturnValInt("SELECT FK_Node FROM WF_GenerWorkFlow WHERE WorkID=" + this.WorkID, 0);
+ Node nd = new Node(nodeID);
+ string sql = "";
+ if (nd.FrmWorkCheckSta == FrmWorkCheckSta.Enable)
+ {
+ //按照日期排序.
+ sql = "SELECT MyPK,ActionType FROM " + table + " WHERE ActionType IN (1,22) AND NDFrom=" + nodeID + " ORDER BY RDT";
+ DataTable dataTable = DBAccess.RunSQLReturnTable(sql);
+ //删除第一个:发送信息.
+ foreach (DataRow dr in dataTable.Rows)
+ {
+ string pkaval = dr["MyPK"].ToString(); //主键值.
+ int actionType = int.Parse(dr[1].ToString()); //类型值.
+ if (actionType == 1)
+ {
+ DBAccess.RunSQL("DELETE FROM " + table + " WHERE MyPK='" + pkaval + "'");
+ break;
+ }
+ }
+ //删除第2个:审核信息.
+ foreach (DataRow dr in dataTable.Rows)
+ {
+ string pkaval = dr["MyPK"].ToString(); //主键值.
+ int actionType = int.Parse(dr[1].ToString()); //类型值.
+ if (actionType == 22)
+ {
+ DBAccess.RunSQL("DELETE FROM " + table + " WHERE MyPK='" + pkaval + "'");
+ break;
+ }
+ }
+ }
+ #endregion 撤销发送后的删除信息.
- int fk_node = DBAccess.RunSQLReturnValInt("SELECT FK_Node FROM WF_GenerWorkFlow WHERE WorkID=" + this.WorkID, 0);
-
- //删除自己审核的信息.
- string sql = "DELETE FROM ND" + int.Parse(FlowNo) + "Track WHERE WorkID = " + this.WorkID +
- " AND ActionType = " + (int)ActionType.WorkCheck + " AND NDFrom = " + fk_node +
- " AND EmpFrom = '" + WebUser.No + "'";
- DBAccess.RunSQL(sql);
+ #region 2. 检查是否原路返回? 如果有,撤销后改变为 退回状态. for:北科大.
+ /* 检查该退回是否是原路返回 ? */
+ Paras ps = new Paras();
+ ps.SQL = "SELECT NDFrom,EmpFrom,EmpFromT FROM " + table + " WHERE ActionType IN(2,201) AND WorkID=" + dbStr + "WorkID AND NDTo=" + nodeID + " ORDER BY RDT DESC";
+ ps.Add(TrackAttr.WorkID, this.WorkID);
+ DataTable mydt = DBAccess.RunSQLReturnTable(ps);
+ if (mydt.Rows.Count != 0)
+ {
+ GenerWorkFlow gwl = new GenerWorkFlow(this.WorkID);
+ gwl.SetPara("IsBackTracking", 1);
+ gwl.WFState = WFState.ReturnSta;
+ gwl.Update();
+ }
+ #endregion
+ }
return str;
}
///
@@ -443,7 +491,7 @@ namespace BP.WF
// 调用撤消发送前事件。
ExecEvent.DoNode(EventListNode.UndoneBefore, nd, nd.HisWork, null);
- BP.WF.Dev2Interface.Node_FHL_KillSubFlow( long.Parse(dr["WorkID"].ToString())); //杀掉子线程.
+ BP.WF.Dev2Interface.Node_FHL_KillSubFlow(long.Parse(dr["WorkID"].ToString())); //杀掉子线程.
// 调用撤消发送前事件。
Work work = nd.HisWork;
@@ -486,7 +534,12 @@ namespace BP.WF
if (i >= 1)
return "err@当前待办已经有[" + i + "]个工作人员打开了该工作,您不能撤销.";
}
-
+ //对方已审批就不能撤销
+ int count = DBAccess.RunSQLReturnValInt("SELECT SUM(IsPass) AS Num FROM WF_GenerWorkerlist WHERE IsPass=1 AND (WorkID=" + this.WorkID + " OR WorkID=" + this.FID + ") AND FK_Node=" + gwf.NodeID + " AND FK_Emp!='" + WebUser.No + "'", 0);
+ if (count >= 1)
+ {
+ return "err@当前待办已经有[" + count + "]个工作人员处理了该工作,您不能撤销.";
+ }
#region 如果是越轨流程状态 .
string sql = "SELECT COUNT(*) AS Num FROM WF_GenerWorkerlist WHERE WorkID=" + this.WorkID + " AND IsPass=80";
@@ -513,8 +566,8 @@ namespace BP.WF
#region 判断是否是会签状态,是否是会签人做的撤销. 主持人是不能撤销的.
if (gwf.HuiQianTaskSta != HuiQianTaskSta.None)
{
- string IsEnableUnSendWhenHuiQian = BP.Difference.SystemConfig.AppSettings["IsEnableUnSendWhenHuiQian"];
- if (DataType.IsNullOrEmpty(IsEnableUnSendWhenHuiQian) == false && IsEnableUnSendWhenHuiQian.Equals("0"))
+ bool IsEnableUnSendWhenHuiQian = SystemConfig.GetValByKeyBoolen("IsEnableUnSendWhenHuiQian", false);
+ if (IsEnableUnSendWhenHuiQian == false)
return "info@当前节点是会签状态,您不能执行撤销.";
GenerWorkerList gwl = new GenerWorkerList();
@@ -567,17 +620,17 @@ namespace BP.WF
sql = "SELECT FK_Node FROM WF_GenerWorkerlist WHERE FK_Emp='" + WebUser.No + "' AND IsPass=1 AND IsEnable=1 AND WorkID=" + this.WorkID + " ORDER BY CDT DESC ";
int cancelToNodeID = DBAccess.RunSQLReturnValInt(sql, 0); //计算要撤销到的节点.
if (cancelToNodeID == 0)
- return "err@您没有权限操作该工作.";
+ return "err@您没有权限操作该工作." + sql;
if (nd.HisCancelRole == CancelRole.SpecNodes)
{
/*指定的节点可以撤销,首先判断当前人员是否有权限.*/
NodeCancels ncs = new NodeCancels();
ncs.Retrieve(NodeCancelAttr.FK_Node, wn.HisNode.NodeID);
- if (ncs.Count == 0)
+ string cancelNodes = wn.HisNode.GetParaString("CancelNodes");
+ if (ncs.Count == 0 && DataType.IsNullOrEmpty(cancelNodes) == true)
return "err@流程设计错误, 您设置了当前节点(" + wn.HisNode.Name + ")可以让指定的节点人员撤销,但是您没有设置指定的节点.";
-
- if (ncs.Contains(cancelToNodeID) == false && cancelToNodeID != gwf.NodeID)
+ if ((ncs.Contains(NodeCancelAttr.CancelTo, cancelToNodeID) == false && (cancelNodes + ",").Contains(cancelToNodeID + ",") == false) && cancelToNodeID != gwf.NodeID)
return "err@撤销流程错误,您没有权限执行撤销发送,当前节点不可以执行撤销.";
}
@@ -585,7 +638,7 @@ namespace BP.WF
{
/*如果仅仅允许撤销上一步骤.*/
WorkNode wnPri = wn.GetPreviousWorkNode();
- if (wnPri.HisNode.NodeID != cancelToNodeID && cancelToNodeID!=gwf.NodeID)
+ if (wnPri.HisNode.NodeID != cancelToNodeID && cancelToNodeID != gwf.NodeID)
return "err@您不能执行撤消发送,因为当前工作不是您发送的或下一步工作已处理。";
}
@@ -601,7 +654,7 @@ namespace BP.WF
gwf.TodoEmpsNum++;
gwf.Update();
- GenerWorkerList gwl = new GenerWorkerList(this.WorkID,
+ GenerWorkerList gwl = new GenerWorkerList(this.WorkID,
cancelToNodeID, WebUser.No);
gwl.PassInt = 0;
gwl.Update();
@@ -689,7 +742,7 @@ namespace BP.WF
if (cancelToNode.TodolistModel == TodolistModel.TeamupGroupLeader
|| cancelToNode.TodolistModel == TodolistModel.Teamup)
{
- sql = "SELECT ActionType FROM ND" + int.Parse(this.FlowNo) + "Track WHERE NDFrom=" + cancelToNodeID + " AND EmpFrom='" + WebUser.No + "' AND WorkID=" + this.WorkID +" Order By RDT DESC";
+ sql = "SELECT ActionType FROM ND" + int.Parse(this.FlowNo) + "Track WHERE NDFrom=" + cancelToNodeID + " AND EmpFrom='" + WebUser.No + "' AND WorkID=" + this.WorkID + " Order By RDT DESC";
DataTable dt = DBAccess.RunSQLReturnTable(sql);
foreach (DataRow dr in dt.Rows)
{
@@ -744,7 +797,7 @@ namespace BP.WF
DataTable dtPrevTrack = Dev2Interface.Flow_GetPreviousNodeTrack(this.WorkID, cancelToNode.NodeID);
if (dtPrevTrack != null && dtPrevTrack.Rows.Count > 0)
{
- gwf.Sender = dtPrevTrack.Rows[0]["EmpFrom"].ToString()+","+dtPrevTrack.Rows[0]["EmpFromT"].ToString()+";";
+ gwf.Sender = dtPrevTrack.Rows[0]["EmpFrom"].ToString() + "," + dtPrevTrack.Rows[0]["EmpFromT"].ToString() + ";";
}
if (cancelToNode.ItIsEnableTaskPool && Glo.IsEnableTaskPool)
@@ -926,7 +979,7 @@ namespace BP.WF
if (i == 0)
continue;
- if (ndNext.ItIsSubThread==true)
+ if (ndNext.ItIsSubThread == true)
{
/*如果到达的节点是子线程,就查询出来发起的子线程。*/
GenerWorkFlows gwfs = new GenerWorkFlows();
@@ -979,7 +1032,7 @@ namespace BP.WF
gwf.NodeID = this.UnSendToNode;
Node nd = new Node(this.UnSendToNode);
gwf.NodeName = nd.Name;
- gwf.Sender = WebUser.No + "," + WebUser.Name + ";";
+ gwf.Sender = WebUser.No + "," + WebUser.Name + ";";
gwf.SendDT = DataType.CurrentDateTimess;
gwf.Update();
@@ -1002,7 +1055,7 @@ namespace BP.WF
if (i == 0)
continue;
- if (ndNext.ItIsSubThread==true)
+ if (ndNext.ItIsSubThread == true)
{
/*如果到达的节点是子线程,就查询出来发起的子线程。*/
GenerWorkFlows gwfs = new GenerWorkFlows();
@@ -1114,10 +1167,10 @@ namespace BP.WF
wlN.Copy(wl);
wlN.EmpNo = s;
- BP.WF.Port.WFEmp myEmp = new BP.WF.Port.WFEmp(s);
+ BP.WF.Port.WFEmp myEmp = new BP.WF.Port.WFEmp(s);
wlN.EmpName = myEmp.Name;
-
+
wlN.Insert();
}
}
@@ -1200,7 +1253,7 @@ namespace BP.WF
Node unSendNode = new Node(this.UnSendToNode);
Paras ps = new Paras();
- string dbStr = BP.Difference.SystemConfig.AppCenterDBVarStr;
+ string dbStr = BP.Difference.SystemConfig.AppCenterDBVarStr;
// 删除FH, 不管是否有这笔数据.
ps.Clear();
diff --git a/CCFlow/Components/BP.WF/bin/x86/Debug/BP.En30.dll b/CCFlow/Components/BP.WF/bin/x86/Debug/BP.En30.dll
index a1cfb89c..6c1dd15c 100644
Binary files a/CCFlow/Components/BP.WF/bin/x86/Debug/BP.En30.dll and b/CCFlow/Components/BP.WF/bin/x86/Debug/BP.En30.dll differ
diff --git a/CCFlow/Components/BP.WF/bin/x86/Debug/BP.En30.pdb b/CCFlow/Components/BP.WF/bin/x86/Debug/BP.En30.pdb
index fe73c266..35ac199d 100644
Binary files a/CCFlow/Components/BP.WF/bin/x86/Debug/BP.En30.pdb and b/CCFlow/Components/BP.WF/bin/x86/Debug/BP.En30.pdb differ
diff --git a/CCFlow/Components/BP.WF/bin/x86/Debug/BP.WF.dll b/CCFlow/Components/BP.WF/bin/x86/Debug/BP.WF.dll
index 84c42905..0418e010 100644
Binary files a/CCFlow/Components/BP.WF/bin/x86/Debug/BP.WF.dll and b/CCFlow/Components/BP.WF/bin/x86/Debug/BP.WF.dll differ
diff --git a/CCFlow/Components/BP.WF/bin/x86/Debug/BP.WF.pdb b/CCFlow/Components/BP.WF/bin/x86/Debug/BP.WF.pdb
index d9ff79e2..6c3667f8 100644
Binary files a/CCFlow/Components/BP.WF/bin/x86/Debug/BP.WF.pdb and b/CCFlow/Components/BP.WF/bin/x86/Debug/BP.WF.pdb differ
diff --git a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.AssemblyReference.cache b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.AssemblyReference.cache
index 12869706..b8742c5c 100644
Binary files a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.AssemblyReference.cache and b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.AssemblyReference.cache differ
diff --git a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.CoreCompileInputs.cache b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.CoreCompileInputs.cache
index 966da9cc..488027f1 100644
--- a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.CoreCompileInputs.cache
+++ b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-58635d3c35d5637d1be9c893d858758c2508877e
+cc680b04c33f3d8b835dcdc3899f5b36eafa10a8
diff --git a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.FileListAbsolute.txt b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.FileListAbsolute.txt
index d7cf0b86..cc0e3597 100644
--- a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.FileListAbsolute.txt
+++ b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.csproj.FileListAbsolute.txt
@@ -120,3 +120,6 @@ D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.WF\obj\x86\Debug\BP.WF.csproj.CoreC
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.WF\obj\x86\Debug\BP.WF.csproj.CopyComplete
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.WF\obj\x86\Debug\BP.WF.dll
D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.WF\obj\x86\Debug\BP.WF.pdb
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.WF\bin\x86\Debug\Fleck.dll
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.WF\bin\x86\Debug\SuperSocket.ClientEngine.dll
+D:\BKD\DAYE_RDMS_CCFLOW\CCFlow\Components\BP.WF\bin\x86\Debug\WebSocket4Net.dll
diff --git a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.dll b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.dll
index 84c42905..0418e010 100644
Binary files a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.dll and b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.dll differ
diff --git a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.pdb b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.pdb
index d9ff79e2..6c3667f8 100644
Binary files a/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.pdb and b/CCFlow/Components/BP.WF/obj/x86/Debug/BP.WF.pdb differ
diff --git a/CCFlow/Components/BP.WF/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/CCFlow/Components/BP.WF/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 829d90cb..a22698dd 100644
Binary files a/CCFlow/Components/BP.WF/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/CCFlow/Components/BP.WF/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/CCFlow/Components/BP.WF/packages.config b/CCFlow/Components/BP.WF/packages.config
index 5503eb7e..59fc185c 100644
--- a/CCFlow/Components/BP.WF/packages.config
+++ b/CCFlow/Components/BP.WF/packages.config
@@ -1,5 +1,6 @@
+
@@ -12,8 +13,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file