/// <summary> /// 增加活动实例 /// </summary> /// <param name="model"></param> public void Add(case_workflowspecifics model) { Entities db = new Entities(); db.case_workflowspecifics.Add(model); db.SaveChanges(); }
/// <summary> /// 获取单个流程实例根据工作流编号 /// </summary> /// <param name="WFID">工作流编号</param> /// <returns></returns> public case_workflowspecifics GetSingle(string WFSID) { Entities db = new Entities(); case_workflowspecifics model = db.case_workflowspecifics.SingleOrDefault(a => a.wfsid == WFSID); return(model); }
/// <summary> /// 更新活动实例 /// </summary> /// <param name="model"></param> public void Update(case_workflowspecifics model) { Entities db = new Entities(); case_workflowspecifics result = db.case_workflowspecifics.SingleOrDefault(a => a.wfsid == model.wfsid); if (result != null) { result.wfid = model.wfid; result.createuserid = model.createuserid; result.createtime = model.createtime; result.wfsname = model.wfsname; result.currentwfsaid = model.currentwfsaid; result.filestatus = model.filestatus; result.casetype = model.casetype; result.casesourceid = model.casesourceid; result.casereason = model.casereason; result.casemode = model.casemode; result.contact = model.contact; result.contactphone = model.contactphone; result.address = model.address; db.SaveChanges(); } }
public string WF_Submit(Case_WorkFlowClass workflow) { string FunctionName = workflow.FunctionName; //具体表名 string WFID = workflow.WFID; //工作流编号 string WFDID = workflow.WFDID; //工作流环节编号 string WFSID = workflow.WFSID; //活动实例编号 string WFSAID = workflow.WFSAID; //当前环节实例编号 string dealContent = workflow.DEALCONTENT; //会签意见 string NextWFDID = workflow.NextWFDID; //下一个环节编号 string NextWFUSERIDS = workflow.NextWFUSERIDS; //获取下一个环节的用户 string IsSendMsg = workflow.IsSendMsg; //是否发送短信 int? casetype = workflow.casetype; //案件类型 int? casesourceid = workflow.casesourceid; //案件来源 string casebh = workflow.casebh; //立案编号 string casereason = workflow.casereason; //案由 string casetypeid = workflow.casetypeid; //案件类型 string contact = workflow.contact; //联系人 string contactphone = workflow.contactphone; //联系电话 string address = workflow.address; //案发地址 string cswfsid = workflow.cswfsid; //案源表标识 string casemode = workflow.casemode; //一般案件状态 string casestatus = workflow.casestatus; //案件属于类型 int? caseid = workflow.caseid; DateTime?stime = workflow.STIME; DateTime?etime = workflow.ETIME; #region 检查是否存在当前实例,如果不存在则增加当前活动实例 case_workflowdetails cwfsmodel = new Case_WorkFlowDetailsDAL().GetSingle(NextWFDID); string wfsname = cwfsmodel.wfdname;//活动流程名称 case_workflowspecifics WFSModel = null; if (!string.IsNullOrEmpty(workflow.WFSID)) { WFSModel = new Case_WorkFlowSpecificsDAL().GetSingle(workflow.WFSID); if (WFSModel == null) { WFSID = ""; } else { WFSModel.wfsname = wfsname; new Case_WorkFlowSpecificsDAL().Update(WFSModel); } } if (string.IsNullOrEmpty(WFSID)) { WFSModel = new case_workflowspecifics(); WFSModel.wfsid = GetNewId(); WFSModel.wfid = WFID; WFSModel.createuserid = workflow.WFCreateUserID; WFSModel.createtime = DateTime.Now; WFSModel.status = 1; WFSModel.wfsname = wfsname; WFSModel.currentwfsaid = WFDID; WFSModel.filestatus = 1; WFSModel.casetype = casetype; WFSModel.casebh = casebh; WFSModel.casesourceid = casesourceid; WFSModel.casereason = casereason; WFSModel.casetypeid = casetypeid; WFSModel.contact = contact; WFSModel.contactphone = contactphone; WFSModel.address = address; WFSModel.cswfsid = cswfsid; WFSModel.casemode = casemode; WFSModel.caseid = caseid; WFSModel.casestatus = casestatus; new Case_WorkFlowSpecificsDAL().Add(WFSModel); WFSID = WFSModel.wfsid; } #endregion string wfdname = "当前环节名称"; decimal oldStatus;//当前环节是否已经处理完成 1:未处理,2已经处理 //更新或者增加当前流程的具体事例---返回当前环节编号 WFSAID = function_Case_DealCurentActivity(WFSAID, WFSID, workflow.WFCreateUserID.Value, 2, WFDID, out oldStatus, stime, etime); //更新或者增加当前环节用户处理的意见---返回当前环节用户需要处理的编号 string WFSUID = function_WF_DealCurentActivityUser(WFSAID, workflow.WFCreateUserID.Value, dealContent, 2, DateTime.Now, "false", wfsname, workflow.WFCreateUserID.Value); #region 附件处理 //增加当前处理用户的附件 //switch (workflow.FunctionName) //{ // case "case_casesources"://案源管理 // function_Case_WorkFlowAttrach_smsj(WFSAID, workflow.WfsasModel); // break; // default: // break; //} #endregion //当前状态为处理,则说明是第一个人处理,则需要增加下一个环节,如果当前环节已经处理,则不需要增加下一个环节 string NextWFSAID = ""; if (oldStatus == 1) { //获取该环节是否为最后一个环节 case_workflowdetails wfdModel = new Case_WorkFlowDetailsDAL().GetSingle(NextWFDID); //如果下一个环节的子环节存在,则状态为执行中,内容为空,否则下一个环节状态为结束,内容为已结束 int status_wfsa = 0; string content_wfsa = string.Empty; if (wfdModel != null && !string.IsNullOrEmpty(wfdModel.nextid)) { status_wfsa = 1; content_wfsa = ""; } else { wfdname = wfdModel.wfdname; //结束该流程 WFSModel = new Case_WorkFlowSpecificsDAL().GetSingle(WFSID); if (WFSModel != null) { WFSModel.status = 2; new Case_WorkFlowSpecificsDAL().Update(WFSModel); } status_wfsa = 2; content_wfsa = "已结束"; } wfdname = wfdModel.wfdname; #region 增加下一个环节 //增加环节 NextWFSAID = function_Case_DealCurentActivity("", WFSID, workflow.WFCreateUserID.Value, status_wfsa, NextWFDID, out oldStatus, stime, etime); #region 更新活动实例的当前环节编号 WFSModel = new Case_WorkFlowSpecificsDAL().GetSingle(WFSID); if (WFSModel != null) { WFSModel.currentwfsaid = NextWFSAID; WFSModel.status = status_wfsa; WFSModel.wfsname = wfsname; new Case_WorkFlowSpecificsDAL().Update(WFSModel); } #endregion //增加下一个环节的能操作的用户 if (!string.IsNullOrEmpty(NextWFUSERIDS)) { string[] NextWFUSERIDS_split = NextWFUSERIDS.Split(','); foreach (var item in NextWFUSERIDS_split) { decimal userid; DateTime?dealTime = null; if (decimal.TryParse(item, out userid)) { if (status_wfsa == 2) { userid = workflow.WFCreateUserID.Value; dealTime = DateTime.Now; IsSendMsg = "false"; } //增加流程能操作的用户 function_WF_DealCurentActivityUser(NextWFSAID, (int)userid, content_wfsa, status_wfsa, dealTime, IsSendMsg, wfsname, workflow.WFCreateUserID); } } } #endregion } return("\"wfsid\":\"" + WFSID + "\",\"wfsaid\":\"" + WFSAID + "\",\"nextwfsaid\":\"" + NextWFSAID + "\",\"wfdid\":\"" + WFDID + "\",\"wfdname\":\"" + wfdname + "\""); }