public ActionResult SummaryDemand(long? id)
        {
            ///////////////////审核单位未处理(审批流程单位列表、审核历史列表、当前处理单位链接、)

            var resutstr = Request.Form["resultparm"];
            var resultid = Request.Form["resultid"];
            var auditunitlist = Request.Form["auditunitlist"];

            var 需求计划标题 = Request.Form["需求计划标题"];
            var 建议完成时间 = Request.Form["建议完成时间"];

            var 秘密等级 = Request.Form["秘密等级"];
            var 编制单位 = Request.Form["编制单位"];
            var 承办部门 = Request.Form["承办部门"];
            var 采购年度 = Request.Form["采购年度"];


            var 联系人 = Request.Form["联系人"];
            var 联系电话 = Request.Form["联系电话"];
            //插入数据库操作
            需求计划 xqjh = new 需求计划();
            xqjh.需求发起单位链接.用户ID = currentUser.Id;

            //设置审批流程
            var auditidlist = auditunitlist.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            if (auditidlist.Contains("p"))
            {
                foreach (var auditid in auditidlist.Where(o => o != "p"))
                {
                    var auditunitid = Request.Form["审核单位__" + auditid];
                    xqjh.审批流程单位列表.Add(new 用户链接<单位用户> { 用户ID = long.Parse(auditunitid) });
                }
                var auditunitidp = Request.Form["审核单位__P"];
                xqjh.审批流程单位列表.Add(new 用户链接<单位用户> { 用户ID = long.Parse(auditunitidp) });
            }
            else
            {
                foreach (var auditid in auditidlist)
                {
                    var auditunitid = Request.Form["审核单位__" + auditid];
                    xqjh.审批流程单位列表.Add(new 用户链接<单位用户> { 用户ID = long.Parse(auditunitid) });
                }
            }

            //设置审批流程
            xqjh.当前处理单位链接 = xqjh.审批流程单位列表.First();

            xqjh.需求计划标题 = 需求计划标题;
            xqjh.建议完成时间 = Convert.ToDateTime(建议完成时间);
            xqjh.联系人 = 联系人;
            xqjh.联系电话 = 联系电话;

            xqjh.秘密等级 = (秘密等级)Enum.Parse(typeof(秘密等级), 秘密等级);
            xqjh.编制单位 = 编制单位;
            xqjh.承办部门 = 承办部门;
            xqjh.采购年度 = new DateTime(int.Parse(采购年度), 1, 1);

            需求计划管理.添加需求计划(xqjh);
            var idlist = resultid.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (var jhid in idlist)
            {
                var jhtemp = 需求计划管理.查找需求计划(long.Parse(jhid));
                jhtemp.并入需求计划链接.需求计划ID = xqjh.Id;
                //需求计划._审核数据 audittemp = new 需求计划._审核数据
                //{
                //    审核状态 = 审核状态.审核通过,
                //    审核者 = new 用户链接<用户基本数据> { 用户ID = currentUser.Id },
                //    审核时间 = DateTime.Now
                //};
                //jhtemp.审核历史列表.Add(audittemp);
                需求计划管理.更新需求计划(jhtemp);

                foreach (var jdff in jhtemp.分发列表)
                {
                    xqjh.分发列表.Add(new 需求计划分发链接 { 需求计划分发ID = jdff.需求计划分发ID });
                }

                xqjh.来源需求计划列表.Add(new 需求计划链接 { 需求计划ID = jhtemp.Id });
            }
            var resultlist = resutstr.Split(new[] { "$$$$" }, StringSplitOptions.RemoveEmptyEntries);
            foreach (var dataliststr in resultlist)
            {
                var wz = new 需求计划物资();
                var datalist = dataliststr.Split(new[] { "^^^^" }, StringSplitOptions.None);
                var linklist = datalist[0].Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                foreach (var link in linklist)
                {
                    wz.来源合并项.Add(new 需求计划物资链接 { 需求计划物资ID = long.Parse(link) });
                }
                wz.物资名称 = datalist[1];
                wz.规格型号 = datalist[2];
                wz.计量单位 = datalist[3];
                wz.技术指标 = datalist[4];
                wz.建议采购方式 = datalist[5];
                wz.单价 = decimal.Parse(datalist[6]);
                wz.数量 = int.Parse(datalist[7]);
                wz.预算金额 = decimal.Parse(datalist[8]);
                wz.交货期限 = Convert.ToDateTime(datalist[9]);
                wz.备注 = datalist[10];
                wz.所属需求计划.需求计划ID = xqjh.Id;

                需求计划物资管理.添加需求计划物资(wz);

                xqjh.物资列表.Add(new 需求计划物资链接 { 需求计划物资ID = wz.Id });
            }
            需求计划管理.更新需求计划(xqjh);
            return RedirectToAction("DemandCheck");
        }
 public ActionResult AddMaterial()
 {
     try
     {
         long id = long.Parse(Request.Form["id"]);
         需求计划 model = 需求计划管理.查找需求计划(id);
         List<需求计划物资链接> mlist = new List<需求计划物资链接>();
         NameValueCollection coll = Request.Form;
         if (coll.Count != 0)
         {
             int sum = coll.Count / 10;
             for (int i = 0; i < sum; i++)
             {
                 需求计划物资 m = new 需求计划物资();
                 需求计划物资链接 n = new 需求计划物资链接();
                 m.备注 = Request.Form["备注" + i];
                 m.单价 = decimal.Parse(Request.Form["单价" + i]);
                 m.规格型号 = Request.Form["规格型号" + i];
                 m.计量单位 = Request.Form["计量单位" + i];
                 m.技术指标 = Request.Form["技术指标" + i];
                 m.建议采购方式 = Request.Form["建议采购方式" + i];
                 m.交货期限 = DateTime.Parse(Request.Form["交货期限" + i]);
                 m.数量 = int.Parse(Request.Form["数量" + i]);
                 m.物资名称 = Request.Form["物资名称" + i];
                 m.预算金额 = decimal.Parse(Request.Form["预算金额" + i]);
                 m.所属需求计划.需求计划ID = id;
                 需求计划物资管理.添加需求计划物资(m);
                 n.需求计划物资ID = m.Id;
                 mlist.Add(n);
             }
             model.物资列表 = mlist;
         }
         需求计划管理.更新需求计划(model);
         return Content("<script>window.parent.document.getElementById(\'demandId1\').value=" + model.Id.ToString() + ";window.parent.document.getElementById(\'demandId\').value=" + model.Id.ToString() + ";window.parent.document.forms['distribute'].submit();</script>");
     }
     catch
     {
         return Redirect("/单位用户后台/demandlist?page=1");
     }
 }
        public ActionResult Part_SummaryDemand()
        {
            var t = typeof(秘密等级);
            var vs = Enum.GetValues(t);
            var d = new Dictionary<string, int>();
            foreach (var v in vs)
            {
                d.Add(Enum.GetName(t, v), (int)v);
            }
            ViewData["秘密等级"] = d;

            var idstr = Request.QueryString["id"];
            ViewData["idstr"] = idstr;

            var idlist = idstr.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
            var listid = new List<long>();
            foreach (var id in idlist)
            {
                listid.Add(long.Parse(id));
            }

            var demand = 需求计划物资管理.查询需求计划物资(0, 0, Query<需求计划物资>.In(o => o.所属需求计划.需求计划ID, listid), false, SortBy<需求计划物资>.Ascending(o => o.物资名称, o => o.规格型号, o => o.计量单位, o => o.技术指标));

            ViewData["计划详情"] = 需求计划管理.查询需求计划(0, 0, Query<需求计划>.In(o => o.Id, listid));


            var samedemand = demand.GroupBy(o => new { o.物资名称, o.规格型号, o.计量单位, o.技术指标 });
            var demandlist = samedemand.Select(
                g =>
                {
                    var result = new 需求计划物资
                    {
                        物资名称 = g.Key.物资名称,
                        规格型号 = g.Key.规格型号,
                        计量单位 = g.Key.计量单位,
                        技术指标 = g.Key.技术指标,
                        数量 = g.Sum(o => o.数量),
                        交货期限 = g.Min(o => o.交货期限),
                        建议采购方式 = g.Max(o => o.建议采购方式),
                        备注 = string.Join("\r\n", g.Select(o => o.备注)),
                        单价 = g.Max(o => o.单价),
                        预算金额 = g.Sum(o => o.预算金额),
                        来源合并项 = new List<需求计划物资链接>(g.Select(o => new 需求计划物资链接 { 需求计划物资ID = o.Id })),
                        所属需求计划 = new 需求计划链接()
                    };
                    return result;
                }
                );
            IEnumerable<单位用户> user = 用户管理.查询用户<单位用户>(0, 0);
            ViewData["user"] = user;
            ViewData["联系人"] = string.IsNullOrWhiteSpace(currentUser.联系方式.联系人) ? "" : currentUser.联系方式.联系人;

            return PartialView("Procure_Part/Part_SummaryDemand", demandlist);
        }
 public ActionResult ModifyMaterial()
 {
     try
     {
         long id = long.Parse(Request.Form["id"]);
         需求计划 model = 需求计划管理.查找需求计划(id);
         NameValueCollection coll = Request.Form;
         List<int> hlist = new List<int>();
         if (coll.Count != 0)
         {
             int sum = coll.Count / 10;
             for (var j = 0; j < sum; j++)
             {
                 if (!string.IsNullOrWhiteSpace(Request.Form["物资名称" + j].ToString().Split('|')[0]))
                 {
                     long mid = long.Parse(Request.Form["物资名称" + j].ToString().Split('|')[0]);
                     需求计划物资 m = 需求计划物资管理.查找需求计划物资(mid);
                     m.物资名称 = Request.Form["物资名称" + j].Split('|')[1];
                     m.规格型号 = Request.Form["规格型号" + j];
                     m.计量单位 = Request.Form["计量单位" + j];
                     m.单价 = decimal.Parse(Request.Form["单价" + j]);
                     m.数量 = decimal.Parse(Request.Form["数量" + j]);
                     m.预算金额 = decimal.Parse(Request.Form["预算金额" + j]);
                     m.建议采购方式 = Request.Form["建议采购方式" + j];
                     m.技术指标 = Request.Form["技术指标" + j];
                     m.备注 = Request.Form["备注" + j];
                     m.交货期限 = DateTime.Parse(Request.Form["交货期限" + j]);
                     需求计划物资管理.更新需求计划物资(m);
                 }
                 else
                 {
                     需求计划物资 m = new 需求计划物资();
                     需求计划物资链接 ml = new 需求计划物资链接();
                     m.物资名称 = Request.Form["物资名称" + j].Split('|')[1];
                     m.规格型号 = Request.Form["规格型号" + j];
                     m.计量单位 = Request.Form["计量单位" + j];
                     m.单价 = decimal.Parse(Request.Form["单价" + j]);
                     m.数量 = decimal.Parse(Request.Form["数量" + j]);
                     m.预算金额 = decimal.Parse(Request.Form["预算金额" + j]);
                     m.建议采购方式 = Request.Form["建议采购方式" + j];
                     m.技术指标 = Request.Form["技术指标" + j];
                     m.备注 = Request.Form["备注" + j];
                     m.交货期限 = DateTime.Parse(Request.Form["交货期限" + j]);
                     需求计划物资管理.添加需求计划物资(m);
                     ml.需求计划物资ID = m.Id;
                     model.物资列表.Add(ml);
                     需求计划管理.更新需求计划(model);
                 }
             }
         }
         return Content("<script>alert('修改成功!');window.parent.location.reload();</script>");
     }
     catch
     {
         return Redirect("/单位用户后台/demandlist?page=1");
     }
 }