public ActionResult Audit(MaterielApplyModel model)
 {
     try
     {
         model.AuditUser = CurrentUser.Id;
         return(Json(new JsonMessage(business.Audit(model))));
     }
     catch (Exception e)
     {
         return(Json(new JsonMessage(false, e.Message)));
     }
 }
示例#2
0
 public MaterielApplyModel GetModel(Guid id)
 {
     using (DataProvider dp = new DataProvider())
     {
         MaterielApplyModel model = Mapper.Map <MaterielApplyModel>(data.GetPMAModel(dp, id));
         if (model != null)
         {
             model.AuditDep = dp.PM_Department.Where(m => !m.IsDel &&
                                                     dp.PM_AuditUser.Where(x => x.ApplyId == model.Id).Select(x => x.AuditId).Contains(m.Id))
                              .Select(m => m.Id).ToList();
             model.AuditUserIds = dp.System_User.Where(m => m.IsDel == false &&
                                                       dp.PM_AuditUser.Where(x => x.ApplyId == model.Id).Select(x => x.AuditId).Contains(m.Id))
                                  .Select(m => m.Id).ToList();
         }
         return(model);
     }
 }
示例#3
0
 public bool Audit(MaterielApplyModel model)
 {
     if (model == null || !model.Id.HasValue)
     {
         return(false);
     }
     using (DataProvider dp = new DataProvider())
     {
         var entity = data.GetPMAModel(dp, model.Id);
         entity.AuditStatus = model.AuditStatus;
         entity.AuditReason = model.AuditReason;
         entity.AuditTime   = DateTime.Now;
         entity.AuditUser   = model.AuditUser;
         string auditTxt        = model.AuditStatus == AuditStatus.Passed.ToString() ? "通过" : "驳回";
         string auditContentTxt = model.AuditStatus == AuditStatus.Passed.ToString() ? "已通过审核" : $"已被驳回,原因:{model.AuditReason}";
         new Data.SystemData.SysMessageData().SendMessage(dp, new System_Message()
         {
             CreateTime = DateTime.Now,
             CreateUser = Guid.Empty,
             IsDel      = false,
             MsgTitle   = $"物料申请{auditTxt}",
             MsgType    = SysMessageType.Audit.ToString(),
             MsgContent = $@"{auditTxt}:您申请的{dp.PM_Materiel.FirstOrDefault(m => m.Id == model.MaterielId)?.MaterielName }{auditContentTxt}",
             Url        = "/MaterielApply/PersonalIndex"
         }, new List <Guid>()
         {
             entity.CreateUser
         });
         try
         {
             dp.SaveChanges();
             return(true);
         }
         catch
         {
             throw;
         }
     }
 }
示例#4
0
 public bool Save(MaterielApplyModel model)
 {
     using (DataProvider dp = new DataProvider())
     {
         var entity = data.GetPMAModel(dp, model.Id);
         if (entity == null)
         {
             model.Id          = Guid.NewGuid();
             model.AuditStatus = AuditStatus.WaitAudit.ToString();
             model.IsDel       = false;
             model.CreateTime  = DateTime.Now;
             dp.PM_MaterielApply.Add(Mapper.Map <PM_MaterielApply>(model));
             if (model.AuditDep.IsNotNullAndCountGtZero())
             {
                 model.AuditDep.ForEach(m => dp.PM_AuditUser.Add(new PM_AuditUser()
                 {
                     ApplyId = model.Id,
                     AuditId = m
                 }));
             }
             if (model.AuditUserIds.IsNotNullAndCountGtZero())
             {
                 model.AuditUserIds.ForEach(m => dp.PM_AuditUser.Add(new PM_AuditUser()
                 {
                     ApplyId = model.Id,
                     AuditId = m
                 }));
             }
             List <Guid> msgUserList = dp.System_User.Where(m => model.AuditUserIds.Contains(m.Id) ||
                                                            dp.PM_Employee.Where(emp => model.AuditDep.Contains(emp.DepartmentId.Value)).Select(emp => emp.RelateUserId).Contains(m.Id)
                                                            ).Select(m => m.Id).ToList();
             new Data.SystemData.SysMessageData().SendMessage(dp, new System_Message()
             {
                 CreateTime = DateTime.Now,
                 CreateUser = Guid.Empty,
                 IsDel      = false,
                 MsgTitle   = "物料申请待审批",
                 MsgType    = SysMessageType.Audit.ToString(),
                 MsgContent = dp.System_User.Where(m => m.Id == model.CreateUser).Select(m => m.TrueName).FirstOrDefault() +
                              $"申请物料{dp.PM_Materiel.FirstOrDefault(m=>m.Id== model.MaterielId)?.MaterielName },数量:{model.Quantity},待您审批。",
                 Url = "/MaterielApply/AuditorIndex"
             }, msgUserList);
         }
         else
         {
             entity.MaterielId  = model.MaterielId;
             entity.Quantity    = model.Quantity;
             entity.ApplyReason = model.ApplyReason;
             entity.UpdateUser  = model.UpdateUser;
             entity.UpdateTime  = DateTime.Now;
             dp.PM_AuditUser.RemoveRange(dp.PM_AuditUser.Where(m => m.ApplyId == entity.Id));
             if (model.AuditDep.IsNotNullAndCountGtZero())
             {
                 model.AuditDep.ForEach(m => dp.PM_AuditUser.Add(new PM_AuditUser()
                 {
                     ApplyId = model.Id,
                     AuditId = m
                 }));
             }
             if (model.AuditUserIds.IsNotNullAndCountGtZero())
             {
                 model.AuditUserIds.ForEach(m => dp.PM_AuditUser.Add(new PM_AuditUser()
                 {
                     ApplyId = model.Id,
                     AuditId = m
                 }));
             }
         }
         try
         {
             dp.SaveChanges();
             return(true);
         }
         catch
         {
             throw;
         }
     }
 }