public ActionResult reject(int id) { int wfpid = id; //2.0 修改id对应的数据 中的 处理状态为 拒绝 处理理由,ext1字段为当前登录用户的uid string msg = Request.Form["msg"]; if (msg.IsEmpty()) { return(WriteError("处理理由非空")); } var process = processSer.QueryWhere(c => c.wfPID == wfpid).FirstOrDefault(); if (process.wfRFStatus != (int)Enums.ERequestFormStatus.Processing) { return(WriteError("此单已经被您处理,请勿重复处理")); } //2.0 对实体进行更新操作 process.wfRFStatus = (int)Enums.ERequestFormStatus.Reject; process.wfPDescription = msg; process.wfPExt1 = UserMgr.GetCurrentUserInfo().uID.ToString(); var endNode = process.wfWorkNodes.wfWork.wfWorkNodes.OrderBy(c => c.wfnOrderNo).LastOrDefault(); //3.0 增加一条结束数据 wfProcess endProcess = new wfProcess() { fUpdateTime = DateTime.Now, fCreateTime = DateTime.Now, fCreatorID = UserMgr.GetCurrentUserInfo().uID, wfPExt1 = UserMgr.GetCurrentUserInfo().uID.ToString(), wfPDescription = "申请单已经结束", wfRFStatus = (int)Enums.ERequestFormStatus.Pass, wfRFID = process.wfRFID, wfnID = endNode.wfnID }; //新增一条结束明细数据 processSer.Add(endProcess); //4.0 将当前提交单的状态修改拒绝状态 wfRequestForm rfmodel = new wfRequestForm() { wfRFID = process.wfRFID, wfRFStatus = (int)Enums.ERequestFormStatus.Reject }; requestformSer.Edit(rfmodel, new string[] { "wfRFStatus" }); using (System.Transactions.TransactionScope scop = new System.Transactions.TransactionScope()) { processSer.SaveChanges(); scop.Complete(); } return(WriteSuccess("申请单已经拒绝")); }
public ActionResult add(wfRequestFormView model) { if (ModelState.IsValid == false) { return(WriteError("实体属性验证失败")); } int uid = UserMgr.GetCurrentUserInfo().uID; //补全数据 model.fCreateTime = DateTime.Now; model.fUpdateTime = DateTime.Now; model.fCreatorID = UserMgr.GetCurrentUserInfo().uID; model.wfRFStatus = (int)Enums.ERequestFormStatus.Processing; //2.0 将实体追加到EF容器 wfRequestForm entity = model.EntityMap(); requestformSer.Add(entity); using (System.Transactions.TransactionScope scop = new System.Transactions.TransactionScope()) { requestformSer.SaveChanges(); //获取当前新增的申请单的最新主键值 int wfRFID = entity.wfRFID; //2.0.1 根据wfid获取工作流下面的第1,2个节点数据 var nodes = workSer.QueryWhere(c => c.wfID == model.wfID).FirstOrDefault().wfWorkNodes .OrderBy(c => c.wfnOrderNo).ToList(); //判断nodes是否有值 if (nodes == null || nodes.Count() < 2) { return(WriteError("您所选的工作流中不存在节点数据,请联系管理")); } //2.0.2 获取当前登录用户所在的角色 var role = userinfoRoleSer.QueryWhere(c => c.uID == uid).FirstOrDefault(); //3.0 向wfProcess表中插入数据 //3.0.1 向wfProcess表中插入数据一条申请成功的数据 wfProcess process = new wfProcess() { fCreateTime = DateTime.Now, fCreatorID = UserMgr.GetCurrentUserInfo().uID, fUpdateTime = DateTime.Now, wfnID = nodes[0].wfnID, wfPDescription = "申请单已经提交", wfProcessor = role.rID, wfRFID = wfRFID, wfPExt1 = UserMgr.GetCurrentUserInfo().uID.ToString(), wfRFStatus = (int)Enums.ERequestFormStatus.Pass //通过 }; //追加到EF容器 processSer.Add(process); //3.0.2 向wfProcess表中插入数据一条审批节点的审批数据 int secWfnid = nodes[1].wfnID; int roleType = nodes[1].wfnRoleType; //次节点的审批角色类型 int eDeptID = UserMgr.GetCurrentUserInfo().uWorkGroupID.Value; //获取当前申请人所在的部门 //获取当前节点的审批角色id int processRoleid = roleSer.QueryWhere(c => c.eDepID == eDeptID && c.RoleType == roleType).FirstOrDefault().rID; wfProcess process1 = new wfProcess() { fCreateTime = DateTime.Now, fCreatorID = UserMgr.GetCurrentUserInfo().uID, fUpdateTime = DateTime.Now, wfnID = secWfnid, wfPDescription = "", wfProcessor = processRoleid, wfRFID = wfRFID, wfRFStatus = (int)Enums.ERequestFormStatus.Processing //处理中 }; //追加到EF容器 processSer.Add(process1); processSer.SaveChanges(); scop.Complete(); } return(WriteSuccess("新增成功")); }
public static wfRequestFormView EntityMap(this wfRequestForm model) { //2.0 将一个实体转换成另外一个实体 return(Mapper.Map <wfRequestForm, wfRequestFormView>(model)); }
public static wfRequestFormView EntityMap(this wfRequestForm model) { return(Mapper.Map <wfRequestForm, wfRequestFormView>(model)); }