public ActionResult passOut()
 {
     List<long> pid = new List<long>();//保存审核不通过的需求计划id
     List<long> idArr = new List<long>();
     string reason = "";
     long id = long.Parse(Request.Form["id"]);
     需求计划 model = 需求计划管理.查找需求计划(id);
     string r0 = Request.Form["main"];
     string r1 = Request.Form["back"];
     if (!string.IsNullOrWhiteSpace(r0))
     {
         reason += r0.Split(',')[1];
     }
     if (!string.IsNullOrWhiteSpace(r1))
     {
         for (int i = 0; i < r1.Split('|').Length - 1; i++)
         {
             reason += r1.Split('|')[i].Split(',')[1] + ",";
             idArr.Add(long.Parse(r1.Split('|')[i].Split(',')[0]));
         }
     }
     model.当前处理单位链接 = model.需求发起单位链接;
     需求计划._审核数据 check = new 需求计划._审核数据();
     if (model.审核历史列表.Any() && model.审核历史列表.Last().审核者.用户ID == currentUser.Id)
     {
         model.审核历史列表.Last().审核状态 = 审核状态.审核未通过;
         model.审核历史列表.Last().审核时间 = DateTime.Now;
         model.审核历史列表.Last().审核不通过原因 = reason;
         foreach (var item in idArr)
         {
             需求计划物资链接 a = new 需求计划物资链接();
             a.需求计划物资ID = item;
             model.审核历史列表.Last().未通过审批物资列表.Add(a);
         }
     }
     else
     {
         check.审核者.用户ID = currentUser.Id;
         check.审核状态 = 审核状态.审核未通过;
         check.审核不通过原因 = reason;
         check.审核时间 = DateTime.Now;
         foreach (var item in idArr)
         {
             需求计划物资链接 a = new 需求计划物资链接();
             a.需求计划物资ID = item;
             check.未通过审批物资列表.Add(a);
         }
         model.审核历史列表.Add(check);
     }
     foreach (var item in idArr)
     {
         需求计划物资 wz = 需求计划物资管理.查找需求计划物资(item);
         if (getId(wz.所属需求计划.需求计划ID) != -1)
         {
             if (!pid.Contains(getId(wz.所属需求计划.需求计划ID)))
             {
                 pid.Add(getId(wz.所属需求计划.需求计划ID));
             }
         }
     }
     //List<用户链接<单位用户>> Ul = new List<用户链接<单位用户>>();
     //if (model.审批流程单位列表.Count != 0)
     //{
     //    foreach (var u in model.审批流程单位列表)
     //    {
     //        if (u.用户ID != currentUser.Id)
     //        {
     //            Ul.Add(u);
     //        }
     //        else
     //        {
     //            break;
     //        }
     //    }
     //    model.审批流程单位列表 = Ul;
     //}
     model.审批流程单位列表 = new List<用户链接<单位用户>>();
     foreach (var item in model.来源需求计划列表)
     {
         if (!pid.Contains(item.需求计划ID))
         {
             需求计划 plan = 需求计划管理.查找需求计划(item.需求计划ID);
             if (plan.审核历史列表.Any())
             {
                 plan.并入需求计划链接.需求计划ID = -1;
                 plan.审核历史列表.Last().审核者.用户ID = -1;
                 plan.审核历史列表.Last().审核状态 = 审核状态.未审核;
                 需求计划管理.更新需求计划(plan);
             }
         }
         else
         {
             需求计划 plan = 需求计划管理.查找需求计划(item.需求计划ID);
             plan.并入需求计划链接.需求计划ID = -1;
         }
     }
     需求计划管理.更新需求计划(model);
     return Redirect("/单位用户后台/plandetail?page=1");
 }
 public ActionResult AssignmentTaskAudit(long? id)
 {
     var rw = 需求采购任务管理.查找需求采购任务((long)id);
     if (!rw.审核历史列表.Any() || rw.审核历史列表.Last().审核者.用户ID != currentUser.Id)
     {
         需求计划._审核数据 audit = new 需求计划._审核数据
         {
             审核时间 = DateTime.Now,
             审核状态 = 审核状态.审核通过,
             审核者 = new 用户链接<用户基本数据> { 用户ID = currentUser.Id }
         };
         rw.审核历史列表.Add(audit);
         for (var i = 0; i < rw.审批流程单位列表.Count; i++)
         {
             if (rw.审批流程单位列表[i].用户ID == currentUser.Id && rw.审批流程单位列表.Last().用户ID != currentUser.Id)
             {
                 rw.当前处理单位链接.用户ID = rw.审批流程单位列表[i + 1].用户ID;
                 break;
             }
         }
         需求采购任务管理.更新需求采购任务(rw);
     }
     return RedirectToAction("AssignmentTaskAuditList");
 }
        public string PassDemand()
        {
            try
            {
                long id = long.Parse(Request.QueryString["id"]);
                需求计划 model = 需求计划管理.查找需求计划(id);

                long uid = -1;
                if (model.审批流程单位列表.Any() && model.审批流程单位列表.Last().用户ID != currentUser.Id)
                {
                    for (var i = 0; i < model.审批流程单位列表.Count; i++)
                    {
                        if (model.审批流程单位列表[i].用户ID == currentUser.Id)
                        {
                            uid = model.审批流程单位列表[i + 1].用户ID;
                            break;
                        }
                    }
                    model.当前处理单位链接.用户ID = uid;
                }
                if (model.审核历史列表.Any() && model.审核历史列表.Last().审核者.用户ID == currentUser.Id)
                {
                    model.审核历史列表.Last().审核状态 = 审核状态.审核通过;
                    model.审核历史列表.Last().审核时间 = DateTime.Now;
                    //model.当前处理单位链接.用户ID=
                }
                else
                {
                    需求计划._审核数据 check = new 需求计划._审核数据();
                    check.审核状态 = 审核状态.审核通过;
                    check.审核者.用户ID = currentUser.Id;
                    check.审核时间 = DateTime.Now;
                    model.审核历史列表.Add(check);
                }
                需求计划管理.更新需求计划(model);
                return uid == -1 ? "-1" : "1";
            }
            catch
            {
                return "0";
            }
        }
 public int PassTask()
 {
     long id = long.Parse(Request.QueryString["id"]);
     需求采购任务 task = 需求采购任务管理.查找需求采购任务((long)id);
     bool ischeck = false;
     foreach (var item in task.审核历史列表)
     {
         if (item.审核者.用户ID == currentUser.Id)
         {
             ischeck = true;
             break;
         }
     }
     if (!ischeck)
     {
         需求计划._审核数据 h = new 需求计划._审核数据();
         h.审核者.用户ID = currentUser.Id;
         h.审核状态 = 审核状态.审核通过;
         h.审核时间 = DateTime.Now;
         task.审核历史列表.Add(h);
         if (task.审批流程单位列表.Any())
         {
             for (int i = 0; i < task.审批流程单位列表.Count; i++)
             {
                 if (task.审批流程单位列表[i].用户ID == currentUser.Id)
                 {
                     if ((i + 1) < task.审批流程单位列表.Count)
                     {
                         task.当前处理单位链接.用户ID = task.审批流程单位列表[i + 1].用户ID;
                         break;
                     }
                 }
             }
         }
     }
     return 需求采购任务管理.更新需求采购任务(task) ? 1 : -1;
 }
 public ActionResult TaskPassOut()
 {
     try
     {
         string reason = Request.Form["reason"];
         long id = long.Parse(Request.Form["id"]);
         需求采购任务 model = 需求采购任务管理.查找需求采购任务(id);
         需求计划._审核数据 m = new 需求计划._审核数据();
         m.审核者.用户ID = currentUser.Id;
         m.审核时间 = DateTime.Now;
         m.审核状态 = 审核状态.审核未通过;
         m.审核不通过原因 = reason;
         model.审核历史列表.Add(m);
         model.当前处理单位链接.用户ID = model.需求发起单位链接.用户ID;
         需求采购任务管理.更新需求采购任务(model);
         return Redirect("/单位用户后台/AssignmentTaskAuditList");
     }
     catch
     {
         return Redirect("/单位用户后台/AssignmentTaskAuditList");
     }
 }