diff --git a/OpenAuth.App/Flow/FlowNode.cs b/OpenAuth.App/Flow/FlowNode.cs index 7e007802..af9566c0 100644 --- a/OpenAuth.App/Flow/FlowNode.cs +++ b/OpenAuth.App/Flow/FlowNode.cs @@ -21,6 +21,11 @@ /// /// The set information. public Setinfo setInfo { get; set; } + + public FlowNode() + { + setInfo = new Setinfo(); + } } public class Setinfo @@ -28,6 +33,11 @@ public Nodedesignatedata NodeDesignateData { get; set; } public string NodeCode { get; set; } public string NodeName { get; set; } + + public Setinfo() + { + NodeDesignateData = new Nodedesignatedata(); + } } /// diff --git a/OpenAuth.App/Flow/FlowRuntime.cs b/OpenAuth.App/Flow/FlowRuntime.cs index 46b9cf07..c4667aa3 100644 --- a/OpenAuth.App/Flow/FlowRuntime.cs +++ b/OpenAuth.App/Flow/FlowRuntime.cs @@ -444,14 +444,14 @@ namespace OpenAuth.App.Flow public void MakeTagNode(string nodeId, int flag, string userId, string description = "") { int i = 0; - foreach (var item in _runtimeModel.schemeContentJson.Flow.nodes) + foreach (var item in _runtimeModel.schemeContentJson.nodes) { if (item.id.Value == nodeId) { - _runtimeModel.schemeContentJson.Flow.nodes[i].setInfo.Taged = flag; - _runtimeModel.schemeContentJson.Flow.nodes[i].setInfo.UserId = userId; - _runtimeModel.schemeContentJson.Flow.nodes[i].setInfo.description = description; - _runtimeModel.schemeContentJson.Flow.nodes[i].setInfo.TagedTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); + _runtimeModel.schemeContentJson.nodes[i].setInfo.Taged = flag; + _runtimeModel.schemeContentJson.nodes[i].setInfo.UserId = userId; + _runtimeModel.schemeContentJson.nodes[i].setInfo.description = description; + _runtimeModel.schemeContentJson.nodes[i].setInfo.TagedTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); break; } i++; diff --git a/OpenAuth.App/Flow/FlowRuntimeModel.cs b/OpenAuth.App/Flow/FlowRuntimeModel.cs index 5f028038..9f4f57cf 100644 --- a/OpenAuth.App/Flow/FlowRuntimeModel.cs +++ b/OpenAuth.App/Flow/FlowRuntimeModel.cs @@ -24,7 +24,7 @@ namespace OpenAuth.App.Flow /// /// 当前节点的对象 /// - public dynamic currentNode { get { return nodes[currentNodeId]; } } + public FlowNode currentNode { get { return nodes[currentNodeId]; } } /// /// 下一个节点 /// diff --git a/OpenAuth.App/FlowInstanceApp.cs b/OpenAuth.App/FlowInstanceApp.cs index c4b07fc5..30f0807d 100644 --- a/OpenAuth.App/FlowInstanceApp.cs +++ b/OpenAuth.App/FlowInstanceApp.cs @@ -14,7 +14,7 @@ namespace OpenAuth.App /// /// ʵ /// - public class FlowInstanceApp :BaseApp + public class FlowInstanceApp : BaseApp { #region ύ @@ -26,12 +26,12 @@ namespace OpenAuth.App /// /// /// - public int SaveProcess(FlowInstance processInstanceEntity, - FlowInstanceOperationHistory processOperationHistoryEntity, FlowInstanceTransitionHistory processTransitionHistoryEntity = null) + public int SaveProcess(FlowInstance processInstanceEntity, + FlowInstanceOperationHistory processOperationHistoryEntity, FlowInstanceTransitionHistory processTransitionHistoryEntity = null) { try { - processInstanceEntity.Id=(processInstanceEntity.Id); + processInstanceEntity.Id = (processInstanceEntity.Id); UnitWork.Update(processInstanceEntity); processOperationHistoryEntity.InstanceId = processInstanceEntity.Id; @@ -42,7 +42,7 @@ namespace OpenAuth.App processTransitionHistoryEntity.InstanceId = processInstanceEntity.Id; UnitWork.Add(processTransitionHistoryEntity); } - + UnitWork.Save(); return 1; } @@ -62,11 +62,11 @@ namespace OpenAuth.App /// /// /// - public int SaveProcess(string sql,string dbbaseId, FlowInstance processInstanceEntity, FlowInstanceOperationHistory processOperationHistoryEntity, FlowInstanceTransitionHistory processTransitionHistoryEntity = null) + public int SaveProcess(string sql, string dbbaseId, FlowInstance processInstanceEntity, FlowInstanceOperationHistory processOperationHistoryEntity, FlowInstanceTransitionHistory processTransitionHistoryEntity = null) { try { - processInstanceEntity.Id=(processInstanceEntity.Id); + processInstanceEntity.Id = (processInstanceEntity.Id); UnitWork.Update(processInstanceEntity); processOperationHistoryEntity.InstanceId = processInstanceEntity.Id; @@ -77,7 +77,7 @@ namespace OpenAuth.App processTransitionHistoryEntity.InstanceId = processInstanceEntity.Id; UnitWork.Add(processTransitionHistoryEntity); } - + //if (!string.IsNullOrEmpty(dbbaseId) && !string.IsNullOrEmpty(sql))//Իִsql //{ // DataBaseLinkEntity dataBaseLinkEntity = dataBaseLinkService.GetEntity(dbbaseId);//ȡ @@ -94,7 +94,7 @@ namespace OpenAuth.App #endregion - + #region ̴API /// /// һʵ @@ -146,7 +146,7 @@ namespace OpenAuth.App { InstanceId = flowInstance.Id, FromNodeId = wfruntime.runtimeModel.currentNodeId, - FromNodeName = wfruntime.runtimeModel.currentNode.name.Value, + FromNodeName = wfruntime.runtimeModel.currentNode.name, FromNodeType = wfruntime.runtimeModel.currentNodeType, ToNodeId = wfruntime.runtimeModel.nextNodeId, ToNodeName = wfruntime.runtimeModel.nextNode.name, @@ -155,7 +155,7 @@ namespace OpenAuth.App }; processTransitionHistoryEntity.IsFinish = (processTransitionHistoryEntity.ToNodeType == 4 ? 1 : 0); #endregion - + UnitWork.Add(flowInstance); UnitWork.Add(processOperationHistoryEntity); UnitWork.Add(processTransitionHistoryEntity); @@ -220,7 +220,8 @@ namespace OpenAuth.App string _Confluenceres = wfruntime.NodeConfluence(_VerificationNodeId, flag, AuthUtil.GetCurrentUser().User.Id, description); var _data = new { - SchemeContent = wfruntime.runtimeModel.schemeContentJson.ToString(), wfruntime.runtimeModel.frmData + SchemeContent = wfruntime.runtimeModel.schemeContentJson.ToString(), + wfruntime.runtimeModel.frmData }; switch (_Confluenceres) { @@ -235,12 +236,12 @@ namespace OpenAuth.App FlowInstance.ActivityType = wfruntime.runtimeModel.nextNodeType;//-1޷,0ǩʼ,1ǩ,2һڵ,4н FlowInstance.ActivityName = wfruntime.runtimeModel.nextNode.name; FlowInstance.IsFinish = (wfruntime.runtimeModel.nextNodeType == 4 ? 1 : 0); - FlowInstance.MakerList = (wfruntime.runtimeModel.nextNodeType == 4 ?"": GetMakerList(wfruntime) );//ǰڵִеϢ + FlowInstance.MakerList = (wfruntime.runtimeModel.nextNodeType == 4 ? "" : GetMakerList(wfruntime));//ǰڵִеϢ #region ת¼ processTransitionHistoryEntity = new FlowInstanceTransitionHistory(); processTransitionHistoryEntity.FromNodeId = wfruntime.runtimeModel.currentNodeId; - processTransitionHistoryEntity.FromNodeName = wfruntime.runtimeModel.currentNode.name.Value; + processTransitionHistoryEntity.FromNodeName = wfruntime.runtimeModel.currentNode.name; processTransitionHistoryEntity.FromNodeType = wfruntime.runtimeModel.currentNodeType; processTransitionHistoryEntity.ToNodeId = wfruntime.runtimeModel.nextNodeId; processTransitionHistoryEntity.ToNodeName = wfruntime.runtimeModel.nextNode.name; @@ -248,14 +249,7 @@ namespace OpenAuth.App processTransitionHistoryEntity.TransitionSate = 0; processTransitionHistoryEntity.IsFinish = (processTransitionHistoryEntity.ToNodeType == 4 ? 1 : 0); #endregion - - - - if (wfruntime.runtimeModel.currentNode.setInfo != null && wfruntime.runtimeModel.currentNode.setInfo.NodeSQL != null) - { - _sqlstr = wfruntime.runtimeModel.currentNode.setInfo.NodeSQL.Value; - _dbbaseId = wfruntime.runtimeModel.currentNode.setInfo.NodeDataBaseToSQL.Value; - } + break; } } @@ -283,7 +277,7 @@ namespace OpenAuth.App processTransitionHistoryEntity = new FlowInstanceTransitionHistory { FromNodeId = wfruntime.runtimeModel.currentNodeId, - FromNodeName = wfruntime.runtimeModel.currentNode.name.Value, + FromNodeName = wfruntime.runtimeModel.currentNode.name, FromNodeType = wfruntime.runtimeModel.currentNodeType, ToNodeId = wfruntime.runtimeModel.nextNodeId, ToNodeName = wfruntime.runtimeModel.nextNode.name, @@ -293,14 +287,7 @@ namespace OpenAuth.App processTransitionHistoryEntity.IsFinish = (processTransitionHistoryEntity.ToNodeType == 4 ? 1 : 0); #endregion - - - if (wfruntime.runtimeModel.currentNode.setInfo != null && wfruntime.runtimeModel.currentNode.setInfo.NodeSQL != null) - { - _sqlstr = wfruntime.runtimeModel.currentNode.setInfo.NodeSQL.Value; - _dbbaseId = wfruntime.runtimeModel.currentNode.setInfo.NodeDataBaseToSQL.Value; - } - + FlowInstanceOperationHistory.Content = "" + "todo name" + "" + wfruntime.runtimeModel.currentNode.name + "" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "ͬ,ע" + description; } else @@ -312,7 +299,8 @@ namespace OpenAuth.App } var data = new { - SchemeContent = wfruntime.runtimeModel.schemeContentJson.ToString(), wfruntime.runtimeModel.frmData + SchemeContent = wfruntime.runtimeModel.schemeContentJson.ToString(), + wfruntime.runtimeModel.frmData }; } #endregion @@ -340,7 +328,7 @@ namespace OpenAuth.App FlowInstance flowInstance = Get(processId); FlowInstanceOperationHistory flowInstanceOperationHistory = new FlowInstanceOperationHistory(); FlowInstanceTransitionHistory processTransitionHistoryEntity = null; - + FlowRuntime wfruntime = new FlowRuntime(flowInstance); @@ -365,7 +353,7 @@ namespace OpenAuth.App #region ת¼ processTransitionHistoryEntity = new FlowInstanceTransitionHistory(); processTransitionHistoryEntity.FromNodeId = wfruntime.runtimeModel.currentNodeId; - processTransitionHistoryEntity.FromNodeName = wfruntime.runtimeModel.currentNode.name.Value; + processTransitionHistoryEntity.FromNodeName = wfruntime.runtimeModel.currentNode.name; processTransitionHistoryEntity.FromNodeType = wfruntime.runtimeModel.currentNodeType; processTransitionHistoryEntity.ToNodeId = wfruntime.runtimeModel.nextNodeId; processTransitionHistoryEntity.ToNodeName = wfruntime.runtimeModel.nextNode.name; @@ -448,7 +436,7 @@ namespace OpenAuth.App /// /// /// - private string GetMakerList(dynamic node, string processId) + private string GetMakerList(FlowNode node, string processId) { try { @@ -460,22 +448,22 @@ namespace OpenAuth.App } else { - if (node.setInfo.NodeDesignate.Value == "NodeDesignateType1")//гԱ - { - makerlsit = "1"; - } - else if (node.setInfo.NodeDesignate.Value == "NodeDesignateType2")//ָԱ - { - makerlsit = ArrwyToString(node.setInfo.NodeDesignateData.role, makerlsit); - makerlsit = ArrwyToString(node.setInfo.NodeDesignateData.post, makerlsit); - makerlsit = ArrwyToString(node.setInfo.NodeDesignateData.usergroup, makerlsit); - makerlsit = ArrwyToString(node.setInfo.NodeDesignateData.user, makerlsit); + //if (node.setInfo.NodeDesignate.Value == "NodeDesignateType1")//гԱ + //{ + // makerlsit = "1"; + //} + //else if (node.setInfo.NodeDesignate.Value == "NodeDesignateType2")//ָԱ + //{ + makerlsit = ArrayToString(node.setInfo.NodeDesignateData.role, makerlsit); + // makerlsit = ArrwyToString(node.setInfo.NodeDesignateData.post, makerlsit); + // makerlsit = ArrwyToString(node.setInfo.NodeDesignateData.usergroup, makerlsit); + makerlsit = ArrayToString(node.setInfo.NodeDesignateData.users, makerlsit); - if (makerlsit == "") - { - makerlsit = "-1"; - } + if (makerlsit == "") + { + makerlsit = "-1"; } + // } //else if (node.setInfo.NodeDesignate.Value == "NodeDesignateType3")//쵼 //{ // UserEntity userEntity = userService.GetEntity(OperatorProvider.Provider.Current().UserId); @@ -543,7 +531,7 @@ namespace OpenAuth.App /// /// /// - private string ArrwyToString(dynamic data, string Str) + private string ArrayToString(dynamic data, string Str) { string resStr = Str; foreach (var item in data) @@ -552,7 +540,16 @@ namespace OpenAuth.App { resStr += ","; } - resStr += item.Value; + + if (item is string) + { + resStr += item; + } + else + { + resStr += item.Value; + + } } return resStr; } @@ -594,11 +591,11 @@ namespace OpenAuth.App throw; } } - + public void Update(FlowInstance flowScheme) { - Repository.Update(u => u.Id == flowScheme.Id, u => new FlowInstance()); + Repository.Update(u => u.Id == flowScheme.Id, u => new FlowInstance()); } public TableData Load(QueryFlowInstanceListReq request) diff --git a/OpenAuth.Mvc/Web.config b/OpenAuth.Mvc/Web.config index 2a797910..f02da70b 100644 --- a/OpenAuth.Mvc/Web.config +++ b/OpenAuth.Mvc/Web.config @@ -60,7 +60,7 @@ - + diff --git a/OpenAuth.Mvc/js/flow/GooFlow.js b/OpenAuth.Mvc/js/flow/GooFlow.js index e6e077a5..a9ab5159 100644 --- a/OpenAuth.Mvc/js/flow/GooFlow.js +++ b/OpenAuth.Mvc/js/flow/GooFlow.js @@ -1991,6 +1991,7 @@ GooFlow.prototype={ else this.$lineData[id].type="sl";//默认为直线 this.$lineData[id].from=json.from; this.$lineData[id].to = json.to; + this.$lineData[id].id = json.id; //赋值ID this.$lineData[id].setInfo = json.setInfo; this.$lineData[id].name=json.name; if(json.marked) this.$lineData[id].marked=json.marked; diff --git a/OpenAuth.Mvc/js/flowlayout.js b/OpenAuth.Mvc/js/flowlayout.js index a29e897d..ba31e262 100644 --- a/OpenAuth.Mvc/js/flowlayout.js +++ b/OpenAuth.Mvc/js/flowlayout.js @@ -330,13 +330,13 @@ } _rowstr = ""; - for (var i in item.setInfo.NodeDesignateData.user) { - var _postitem = item.setInfo.NodeDesignateData.user[i]; + for (var i in item.setInfo.NodeDesignateData.users) { + var _postitem = item.setInfo.NodeDesignateData.users[i]; var _one = clientuserData[_postitem]; _rowstr += ' ' + (_one == undefined ? _postitem : _one.RealName) + ''; - if (i == item.setInfo.NodeDesignateData.user.length - 1) { + if (i == item.setInfo.NodeDesignateData.users.length - 1) { _popoverhtml += '
  • 用户:' + _rowstr + '
  • '; } } diff --git a/建表&初始化数据.sql b/建表&初始化数据.sql index fb35b8a6..5108cc7e 100644 Binary files a/建表&初始化数据.sql and b/建表&初始化数据.sql differ