初始化

master
孙亮 6 months ago
parent 781b88c930
commit 066c1a51bb

Binary file not shown.

@ -59,6 +59,9 @@
</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Fleck, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Fleck.1.2.0\lib\net45\Fleck.dll</HintPath>
</Reference>
<Reference Include="FusionCharts">
<HintPath>..\RefDLL\FusionCharts.dll</HintPath>
</Reference>
@ -117,12 +120,20 @@
<Reference Include="ServiceStack.Text">
<HintPath>..\RefDLL\ServiceStack.Text.dll</HintPath>
</Reference>
<Reference Include="SuperSocket.ClientEngine, Version=0.10.0.0, Culture=neutral, PublicKeyToken=ee9af13f57f00acc, processorArchitecture=MSIL">
<HintPath>..\packages\SuperSocket.ClientEngine.Core.0.10.0\lib\net45\SuperSocket.ClientEngine.dll</HintPath>
</Reference>
<Reference Include="Swashbuckle.Core">
<HintPath>..\RefDLL\Swashbuckle.Core.dll</HintPath>
</Reference>
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\netstandard1.1\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Specialized, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.ComponentModel" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.ComponentModel.DataAnnotations" />
@ -131,7 +142,17 @@
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data.OracleClient" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression" />
<Reference Include="System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
@ -140,12 +161,67 @@
<Reference Include="System.Net.Http.Formatting">
<HintPath>..\RefDLL\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.NameResolution, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Security, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.ServiceModel.Activation" />
<Reference Include="System.ServiceModel.Web" />
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
@ -186,6 +262,9 @@
<Reference Include="WebActivatorEx">
<HintPath>..\RefDLL\WebActivatorEx.dll</HintPath>
</Reference>
<Reference Include="WebSocket4Net, Version=0.15.2.11, Culture=neutral, PublicKeyToken=eb4e154b696bf72a, processorArchitecture=MSIL">
<HintPath>..\packages\WebSocket4Net.0.15.2\lib\net45\WebSocket4Net.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Content Include="CCFast\Admin\TemplateCfg.js" />

@ -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<String, IWebSocketConnection> allSockets;
private void InitWs()
{
FleckLog.Level = LogLevel.Debug;
allSockets = new Dictionary<String, IWebSocketConnection>();
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<String, String> da = new Dictionary<String, String>();
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<string, string> dictionary = (Dictionary<string, string>)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()
{

@ -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)

@ -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);
//}
})

@ -821,7 +821,7 @@ function GetSubAths(nodeID, frmWorkCheck) {
//2.解析上传的附件
var _Html = '';
debugger
$.each(naths, function () {
if (frmWorkCheck.FWCMsgShow == "1") {
if (this.Rec === webUser.No)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1 +1 @@
3b07b32287ba1e61fabc65ceb843e7b59348a8ba
54d5c282dda5fe9edc40f4fd2c3e92a7d2a3fbac

@ -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

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BouncyCastle" version="1.8.9" targetFramework="net472" />
<package id="Fleck" version="1.2.0" targetFramework="net48" />
<package id="Google.Protobuf" version="3.17.0" targetFramework="net472" />
<package id="K4os.Compression.LZ4" version="1.2.6" targetFramework="net472" />
<package id="K4os.Compression.LZ4.Streams" version="1.1.11" targetFramework="net452" requireReinstallation="true" />
@ -20,10 +21,28 @@
<package id="SharpZipLib" version="1.3.1" targetFramework="net472" />
<package id="Spire.Doc" version="10.4.6" targetFramework="net472" />
<package id="SSH.NET" version="2016.1.0" targetFramework="net452" />
<package id="SuperSocket.ClientEngine.Core" version="0.10.0" targetFramework="net48" />
<package id="System.Buffers" version="4.5.1" targetFramework="net452" requireReinstallation="true" />
<package id="System.Collections.Specialized" version="4.3.0" targetFramework="net48" />
<package id="System.IO" version="4.3.0" targetFramework="net48" />
<package id="System.Linq" version="4.3.0" targetFramework="net48" />
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
<package id="System.Net.NameResolution" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Security" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net48" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net472" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net48" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net48" />
<package id="System.Threading" version="4.3.0" targetFramework="net48" />
<package id="System.Threading.Tasks.Extensions" version="4.5.2" targetFramework="net452" requireReinstallation="true" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net48" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net452" requireReinstallation="true" />
<package id="WebSocket4Net" version="0.15.2" targetFramework="net48" />
</packages>

@ -50,18 +50,98 @@
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="Fleck, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Fleck.1.2.0\lib\net45\Fleck.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="SuperSocket.ClientEngine, Version=0.10.0.0, Culture=neutral, PublicKeyToken=ee9af13f57f00acc, processorArchitecture=MSIL">
<HintPath>..\..\packages\SuperSocket.ClientEngine.Core.0.10.0\lib\net45\SuperSocket.ClientEngine.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Collections.Specialized, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.NameResolution, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Security, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="WebSocket4Net, Version=0.15.2.11, Culture=neutral, PublicKeyToken=eb4e154b696bf72a, processorArchitecture=MSIL">
<HintPath>..\..\packages\WebSocket4Net.0.15.2\lib\net45\WebSocket4Net.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="APIDemo\APITester.cs" />
@ -82,6 +162,7 @@
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BP.En30\BP.En30.csproj">

@ -1 +1 @@
643ce0eac50597422337698f358fc041208cad37
073eed74ebee55274f814e9342841bf65ffe98fc

@ -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

@ -149,6 +149,9 @@
<Reference Include="Enums.NET, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7ea1c1650d506225, processorArchitecture=MSIL">
<HintPath>..\..\packages\Enums.NET.4.0.1\lib\net45\Enums.NET.dll</HintPath>
</Reference>
<Reference Include="Fleck, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Fleck.1.2.0\lib\net45\Fleck.dll</HintPath>
</Reference>
<Reference Include="HarfBuzzSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
<HintPath>..\..\packages\HarfBuzzSharp.2.6.1.5\lib\net462\HarfBuzzSharp.dll</HintPath>
<Private>True</Private>
@ -250,12 +253,20 @@
<Reference Include="Spire.Pdf, Version=8.4.15.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
<HintPath>..\..\packages\Spire.Doc.10.4.6\lib\net40\Spire.Pdf.dll</HintPath>
</Reference>
<Reference Include="SuperSocket.ClientEngine, Version=0.10.0.0, Culture=neutral, PublicKeyToken=ee9af13f57f00acc, processorArchitecture=MSIL">
<HintPath>..\..\packages\SuperSocket.ClientEngine.Core.0.10.0\lib\net45\SuperSocket.ClientEngine.dll</HintPath>
</Reference>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\..\CCFlowCloud\packages\System.Buffers.4.5.1\lib\netstandard1.1\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Specialized, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.ComponentModel" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.configuration" />
@ -278,6 +289,21 @@
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.NameResolution, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Security, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
@ -291,6 +317,26 @@
<Reference Include="System.Security.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Xml, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Xml.6.0.1\lib\net461\System.Security.Cryptography.Xml.dll</HintPath>
</Reference>
@ -316,6 +362,9 @@
<Reference Include="Ubiety.Dns.Core, Version=2.2.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\..\..\CCFlowCloud\packages\MySql.Data.8.0.25\lib\net452\Ubiety.Dns.Core.dll</HintPath>
</Reference>
<Reference Include="WebSocket4Net, Version=0.15.2.11, Culture=neutral, PublicKeyToken=eb4e154b696bf72a, processorArchitecture=MSIL">
<HintPath>..\..\packages\WebSocket4Net.0.15.2\lib\net45\WebSocket4Net.dll</HintPath>
</Reference>
<Reference Include="Zstandard.Net, Version=1.1.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\..\..\CCFlowCloud\packages\MySql.Data.8.0.25\lib\net452\Zstandard.Net.dll</HintPath>
</Reference>

@ -1 +1 @@
ef39ae20307d71ac8d71e0cac63f2dfa0ef3f48a
d4c2f92bbc2e62366dc3f1546662cc4b7242258b

@ -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

@ -3,6 +3,7 @@
<package id="BouncyCastle" version="1.8.9" targetFramework="net452" />
<package id="BouncyCastle.Cryptography" version="2.2.1" targetFramework="net48" />
<package id="Enums.NET" version="4.0.1" targetFramework="net48" />
<package id="Fleck" version="1.2.0" targetFramework="net48" />
<package id="Google.Protobuf" version="3.17.0" targetFramework="net452" />
<package id="HarfBuzzSharp" version="2.6.1.5" targetFramework="net48" />
<package id="K4os.Compression.LZ4" version="1.2.6" targetFramework="net452" requireReinstallation="true" />
@ -33,9 +34,11 @@
<package id="SixLabors.ImageSharp" version="2.1.4" targetFramework="net48" />
<package id="Spire.Doc" version="10.4.6" targetFramework="net48" />
<package id="SSH.NET" version="2016.1.0" targetFramework="net452" />
<package id="SuperSocket.ClientEngine.Core" version="0.10.0" targetFramework="net48" />
<package id="System.Buffers" version="4.5.1" targetFramework="net452" requireReinstallation="true" />
<package id="System.Collections" version="4.3.0" targetFramework="net452" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net452" />
<package id="System.Collections.Specialized" version="4.3.0" targetFramework="net48" />
<package id="System.ComponentModel" version="4.3.0" targetFramework="net452" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net452" />
<package id="System.Diagnostics.DiagnosticSource" version="6.0.0" targetFramework="net48" />
@ -48,7 +51,10 @@
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net452" requireReinstallation="true" />
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
<package id="System.Net.Http" version="4.3.0" targetFramework="net452" requireReinstallation="true" />
<package id="System.Net.NameResolution" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net452" />
<package id="System.Net.Security" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net48" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="net452" />
<package id="System.Reflection" version="4.3.0" targetFramework="net452" requireReinstallation="true" />
@ -62,6 +68,10 @@
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net452" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net452" />
<package id="System.Security.AccessControl" version="6.0.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Xml" version="6.0.1" targetFramework="net48" />
<package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net48" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net452" />
@ -75,4 +85,5 @@
<package id="System.ValueTuple" version="4.5.0" targetFramework="net452" requireReinstallation="true" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net452" requireReinstallation="true" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net452" />
<package id="WebSocket4Net" version="0.15.2" targetFramework="net48" />
</packages>

@ -137,6 +137,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\RefDLL\Aliyun.OSS.dll</HintPath>
</Reference>
<Reference Include="Fleck, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Fleck.1.2.0\lib\net45\Fleck.dll</HintPath>
</Reference>
<Reference Include="FluentFTP">
<HintPath>..\..\RefDLL\FluentFTP.dll</HintPath>
</Reference>
@ -176,9 +179,18 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\RefDLL\Spire.Pdf.dll</HintPath>
</Reference>
<Reference Include="SuperSocket.ClientEngine, Version=0.10.0.0, Culture=neutral, PublicKeyToken=ee9af13f57f00acc, processorArchitecture=MSIL">
<HintPath>..\..\packages\SuperSocket.ClientEngine.Core.0.10.0\lib\net45\SuperSocket.ClientEngine.dll</HintPath>
</Reference>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Collections.Specialized, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data">
<Name>System.Data</Name>
@ -188,11 +200,76 @@
<Name>System.EnterpriseServices</Name>
<HintPath>..\..\WF\bin\System.EnterpriseServices.dll</HintPath>
</Reference>
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Net.NameResolution, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Security, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Web">
<Name>System.Web</Name>
</Reference>
@ -204,6 +281,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\RefDLL\ThoughtWorks.QRCode.dll</HintPath>
</Reference>
<Reference Include="WebSocket4Net, Version=0.15.2.11, Culture=neutral, PublicKeyToken=eb4e154b696bf72a, processorArchitecture=MSIL">
<HintPath>..\..\packages\WebSocket4Net.0.15.2\lib\net45\WebSocket4Net.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Admin\Flow.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);

@ -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);

@ -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]));

@ -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();

@ -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;
/// <summary>
@ -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;
}
/// <summary>
///
/// 执行撤销.
/// </summary>
/// <returns></returns>
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;
}
/// <summary>
@ -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();

@ -1 +1 @@
58635d3c35d5637d1be9c893d858758c2508877e
cc680b04c33f3d8b835dcdc3899f5b36eafa10a8

@ -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

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Fleck" version="1.2.0" targetFramework="net48" />
<package id="FluentFTP" version="37.0.2" targetFramework="net452" />
<package id="HtmlAgilityPack" version="1.11.42" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" targetFramework="net452" />
@ -12,8 +13,26 @@
<package id="Oracle.ManagedDataAccess" version="19.3.1" targetFramework="net452" />
<package id="SharpZipLib" version="1.3.1" targetFramework="net452" />
<package id="Spire.Doc" version="10.4.6" targetFramework="net452" />
<package id="SuperSocket.ClientEngine.Core" version="0.10.0" targetFramework="net48" />
<package id="Swashbuckle" version="5.6.0" targetFramework="net452" />
<package id="Swashbuckle.Core" version="5.6.0" targetFramework="net452" />
<package id="System.Collections.Specialized" version="4.3.0" targetFramework="net48" />
<package id="System.IO" version="4.3.0" targetFramework="net48" />
<package id="System.Linq" version="4.3.0" targetFramework="net48" />
<package id="System.Net.NameResolution" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Security" version="4.3.0" targetFramework="net48" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net48" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net48" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net48" />
<package id="System.Threading" version="4.3.0" targetFramework="net48" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net48" />
<package id="WebActivator" version="1.5.1" targetFramework="net452" />
<package id="WebActivatorEx" version="2.0" targetFramework="net452" />
<package id="WebSocket4Net" version="0.15.2" targetFramework="net48" />
</packages>
Loading…
Cancel
Save