/// <summary> /// 复制工作联系单 /// </summary> /// <param name="ID"></param> /// <param name="p_strStepName"></param> /// <param name="receiveUserID"></param> /// <param name="p_strProcessID"></param> /// <param name="p_strWorkItemID"></param> /// <returns></returns> private bool CopyWRInfo(String ID, String p_strStepName, String p_strUserID, String p_strProcessID, String p_strWorkItemID, String p_strPoolID) { try { B_WorkRelation selectEntity = new B_WorkRelation(); selectEntity.ID = int.Parse(ID); B_WorkRelation newEntity = new B_WorkRelation(); selectEntity.Clone(newEntity); newEntity.WorkItemID = p_strWorkItemID; newEntity.StepName = p_strStepName; newEntity.ReceiveUserID = p_strUserID; newEntity.D_StepStatus = String.IsNullOrEmpty(p_strPoolID) ? "Assign" : "New";//公办:New 其他:Assign return(newEntity.Save()); } catch (Exception ex) { return(false); } }
private void DoWorkItem(Hashtable p_nvAttributes, Boolean p_blnIsProcessCreated) { B_FormsData l_busFormsData = null; try { if (!p_blnIsProcessCreated) { //创建流程 WorkFlowBase.CreateProcess(this.TemplateName, this.ProcessID, p_nvAttributes); //获取第一个节点并且完成。 l_busFormsData = new B_FormsData(); this.WorkItemID = l_busFormsData.GetFirstWorkItemID(this.ProcessID); UpdateDBWorkItem(this.WorkItemID, true, "", "", "", this.StepName, true); if (base.TemplateName.Contains("收文")) { WorkFlowBase.CompleteWorkItem(this.WorkItemID, p_nvAttributes);//完成第一个节点 } if (base.TemplateName.Contains("会务费用报销单") || base.TemplateName.Contains("招待费报销单")) { WorkFlowBase.CompleteWorkItem(this.WorkItemID, p_nvAttributes);//完成第一个节点 } } else { WorkFlowBase.CompleteWorkItem(this.WorkItemID, p_nvAttributes);//完成当前节点 if (base.TemplateName == ProcessConstString.TemplateName.PROGRAM_FILE && (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_DEPTSIGN || base.StepName == ProcessConstString.StepName.ProgramFile.STEP_LEADERSIGN)) { EntityBase entitybase = ControlToEntity(false); B_PF pfEntity = entitybase != null ? entitybase as B_PF : new B_PF(); List <String> strIDs = B_FormsData.GetMultiParapllelInfo(TableName.WorkItemsTableName.T_OA_HN_PF_WorkItems, base.ProcessID, base.StepName, pfEntity.TimesFlag); foreach (String strID in strIDs) { B_PF entity = new B_PF(); //更新其它会签记录 entity.ID = Convert.ToInt32(strID); entity = XmlUtility.DeSerializeXml <B_PF>(entity.FormsData); entity.ID = Convert.ToInt32(strID); entity.LeaderSignList = pfEntity.LeaderSignList; //领导已会签意见内容 entity.DeptSignList = B_PF.GetDeptSignList(entity.DeptSignList, strIDs); //部门已会签意见内容 entity.IsSignReject = pfEntity.IsSignReject; //是否否决 if (entity.WorkItemID == pfEntity.WorkItemID) { entity.D_StepStatus = "Completed"; entity.SubmitAction = this.SubAction; entity.CommentList = pfEntity.CommentList; //entity.DeptSignList = B_PF.GetDeptSignList(entity.DeptSignList, strIDs); }//更新当前节点用户 entity.FormsData = XmlUtility.SerializeXml(entity); if (!entity.Save()) { throw new Exception(entity.ErrMsgs.ToString()); } } pfEntity.ID = int.MinValue;//清空ID } if (base.TemplateName == ProcessConstString.TemplateName.AFFILIATION && (base.StepName == ProcessConstString.StepName.WorkRelationStepName.STEP_DEPTSIGN)) { EntityBase entitybase = ControlToEntity(false); B_WorkRelation wrEntity = entitybase != null ? entitybase as B_WorkRelation : new B_WorkRelation(); List <String> strIDs = B_FormsData.GetMultiParapllelInfo(TableName.WorkItemsTableName.T_OA_WR_WorkItems, base.ProcessID, base.StepName, wrEntity.TimesFlag); foreach (String strID in strIDs) { B_WorkRelation entity = new B_WorkRelation(); //更新其它会签记录 entity.ID = Convert.ToInt32(strID); entity = XmlUtility.DeSerializeXml <B_WorkRelation>(entity.FormsData); entity.ID = Convert.ToInt32(strID); entity.DeptSignList = B_WorkRelation.GetDeptSignList(entity.DeptSignList, strIDs); //部门已会签意见内容 entity.IsSignReject = wrEntity.IsSignReject; //是否否决 if (entity.WorkItemID == wrEntity.WorkItemID) { if (base.SubAction == ProcessConstString.SubmitAction.ACTION_SUBMIT) { entity.D_StepStatus = "Completed"; } entity.SubmitAction = this.SubAction; entity.CommentList = wrEntity.CommentList; }//更新当前节点用户 entity.FormsData = XmlUtility.SerializeXml(entity); if (!entity.Save()) { throw new Exception(entity.ErrMsgs.ToString()); } } wrEntity.ID = int.MinValue;//清空ID } } } catch (Exception ex) { throw ex; } }
/// <summary> /// 复制工作联系单 /// </summary> /// <param name="ID"></param> /// <param name="p_strStepName"></param> /// <param name="receiveUserID"></param> /// <param name="p_strProcessID"></param> /// <param name="p_strWorkItemID"></param> /// <returns></returns> private bool CopyWRInfo(String ID, String p_strStepName, String p_strUserID, String p_strProcessID, String p_strWorkItemID, String p_strPoolID) { try { B_WorkRelation selectEntity = new B_WorkRelation(); selectEntity.ID = int.Parse(ID); B_WorkRelation newEntity = new B_WorkRelation(); selectEntity.Clone(newEntity); newEntity.WorkItemID = p_strWorkItemID; newEntity.StepName = p_strStepName; newEntity.ReceiveUserID = p_strUserID; newEntity.D_StepStatus = String.IsNullOrEmpty(p_strPoolID) ? "Assign" : "New";//公办:New 其他:Assign return newEntity.Save(); } catch (Exception ex) { return false; } }
private void DoWorkItem(Hashtable p_nvAttributes, Boolean p_blnIsProcessCreated) { B_FormsData l_busFormsData = null; try { if (!p_blnIsProcessCreated) { //创建流程 WorkFlowBase.CreateProcess(this.TemplateName, this.ProcessID, p_nvAttributes); //获取第一个节点并且完成。 l_busFormsData = new B_FormsData(); this.WorkItemID = l_busFormsData.GetFirstWorkItemID(this.ProcessID); UpdateDBWorkItem(this.WorkItemID, true, "", "", "", this.StepName, true); if (base.TemplateName.Contains("收文")) { WorkFlowBase.CompleteWorkItem(this.WorkItemID, p_nvAttributes);//完成第一个节点 } if (base.TemplateName.Contains("会务费用报销单") || base.TemplateName.Contains("招待费报销单")) { WorkFlowBase.CompleteWorkItem(this.WorkItemID, p_nvAttributes);//完成第一个节点 } } else { WorkFlowBase.CompleteWorkItem(this.WorkItemID, p_nvAttributes);//完成当前节点 if (base.TemplateName == ProcessConstString.TemplateName.PROGRAM_FILE && (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_DEPTSIGN || base.StepName == ProcessConstString.StepName.ProgramFile.STEP_LEADERSIGN)) { EntityBase entitybase = ControlToEntity(false); B_PF pfEntity = entitybase != null ? entitybase as B_PF : new B_PF(); List<String> strIDs = B_FormsData.GetMultiParapllelInfo(TableName.WorkItemsTableName.T_OA_HN_PF_WorkItems, base.ProcessID, base.StepName, pfEntity.TimesFlag); foreach (String strID in strIDs) { B_PF entity = new B_PF(); //更新其它会签记录 entity.ID = Convert.ToInt32(strID); entity = XmlUtility.DeSerializeXml<B_PF>(entity.FormsData); entity.ID = Convert.ToInt32(strID); entity.LeaderSignList = pfEntity.LeaderSignList;//领导已会签意见内容 entity.DeptSignList = B_PF.GetDeptSignList(entity.DeptSignList, strIDs);//部门已会签意见内容 entity.IsSignReject = pfEntity.IsSignReject;//是否否决 if (entity.WorkItemID == pfEntity.WorkItemID) { entity.D_StepStatus = "Completed"; entity.SubmitAction = this.SubAction; entity.CommentList = pfEntity.CommentList; //entity.DeptSignList = B_PF.GetDeptSignList(entity.DeptSignList, strIDs); }//更新当前节点用户 entity.FormsData = XmlUtility.SerializeXml(entity); if (!entity.Save()) { throw new Exception(entity.ErrMsgs.ToString()); } } pfEntity.ID = int.MinValue;//清空ID } if (base.TemplateName == ProcessConstString.TemplateName.AFFILIATION && (base.StepName == ProcessConstString.StepName.WorkRelationStepName.STEP_DEPTSIGN)) { EntityBase entitybase = ControlToEntity(false); B_WorkRelation wrEntity = entitybase != null ? entitybase as B_WorkRelation : new B_WorkRelation(); List<String> strIDs = B_FormsData.GetMultiParapllelInfo(TableName.WorkItemsTableName.T_OA_WR_WorkItems, base.ProcessID, base.StepName, wrEntity.TimesFlag); foreach (String strID in strIDs) { B_WorkRelation entity = new B_WorkRelation(); //更新其它会签记录 entity.ID = Convert.ToInt32(strID); entity = XmlUtility.DeSerializeXml<B_WorkRelation>(entity.FormsData); entity.ID = Convert.ToInt32(strID); entity.DeptSignList = B_WorkRelation.GetDeptSignList(entity.DeptSignList, strIDs);//部门已会签意见内容 entity.IsSignReject = wrEntity.IsSignReject;//是否否决 if (entity.WorkItemID == wrEntity.WorkItemID) { if (base.SubAction == ProcessConstString.SubmitAction.ACTION_SUBMIT) { entity.D_StepStatus = "Completed"; } entity.SubmitAction = this.SubAction; entity.CommentList = wrEntity.CommentList; }//更新当前节点用户 entity.FormsData = XmlUtility.SerializeXml(entity); if (!entity.Save()) { throw new Exception(entity.ErrMsgs.ToString()); } } wrEntity.ID = int.MinValue;//清空ID } } } catch (Exception ex) { throw ex; } }