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