Ejemplo n.º 1
0
 public ActionResult Audit(MoneyApplyModel model)
 {
     try
     {
         model.AuditUser = CurrentUser.Id;
         return(Json(new JsonMessage(business.Audit(model))));
     }
     catch (Exception e)
     {
         return(Json(new JsonMessage(false, e.Message)));
     }
 }
Ejemplo n.º 2
0
 public MoneyApplyModel GetModel(Guid id)
 {
     using (DataProvider dp = new DataProvider())
     {
         MoneyApplyModel model = Mapper.Map <MoneyApplyModel>(data.GetPMAModel(dp, id));
         if (model != null)
         {
             model.AuditDep = dp.PM_Department.Where(m => !m.IsDel &&
                                                     dp.PM_AuditUser.Where(x => x.ApplyId == m.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 == m.Id).Select(x => x.AuditId).Contains(m.Id))
                                  .Select(m => m.Id).ToList();
         }
         return(model);
     }
 }
Ejemplo n.º 3
0
 public bool Audit(MoneyApplyModel 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() ?
                                  $"通过:您费用申请已通过审核,申请金额:{entity.Amount},申请原因:{entity.ApplyReason},申请时间{entity.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")},请点击查看"
           : $"失败:您费用申请已被驳回,申请金额:{entity.Amount},申请原因:{entity.ApplyReason},驳回原因:{model.AuditReason},申请时间{entity.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")},请点击查看。";
         new Data.SystemData.SysMessageData().SendMessage(dp, new System_Message()
         {
             CreateTime = DateTime.Now,
             CreateUser = Guid.Empty,
             IsDel      = false,
             MsgTitle   = $"费用申请{auditTxt}",
             MsgType    = SysMessageType.Audit.ToString(),
             MsgContent = auditContentTxt,
             Url        = "/MoneyApply/PersonalIndex"
         }, new List <Guid>()
         {
             entity.CreateUser
         });
         try
         {
             dp.SaveChanges();
             return(true);
         }
         catch
         {
             throw;
         }
     }
 }
Ejemplo n.º 4
0
 public bool Save(MoneyApplyModel 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_MoneyApply.Add(Mapper.Map <PM_MoneyApply>(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() +
                              $"申请费用:{model.Amount},待您审批。",
                 Url = "/MoneyApply/AuditorIndex"
             }, msgUserList);
         }
         else
         {
             entity.Amount      = model.Amount;
             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;
         }
     }
 }