public ActionResult childbomnode() { dynamic data = new System.Dynamic.ExpandoObject(); int id = WebRequest.GetInt("id", 0); string type = WebRequest.GetString("type"); V_BomMaterial model = new V_BomMaterial(); var ddlcate = bomService.GetBomNodeCate().Select(x => new SelectListItem { Text = x.text, Value = x.text }).ToList(); if (type == "edit") { model = bomService.GetBomMaterial().FirstOrDefault(p => p.bomId == id); var mc = ddlcate.FirstOrDefault(p => p.Value == model.materialCate); if (mc != null) mc.Selected = true; } data.id = id; data.type = type; data.model = model; data.ddlcate = ddlcate; return View(data); }
public ActionResult childbomone() { dynamic data = new System.Dynamic.ExpandoObject(); int id = WebRequest.GetInt("id", 0); string type = WebRequest.GetString("type"); if (type == "export") { #region 导出 var one = bomService.GetBomMaterial().FirstOrDefault(p => p.bomId == id); // List<V_BomMaterial> f = new List<V_BomMaterial>(); // f.Add(one); var list = bomService.GetChildBomMaterial(id, 0); var virtusls = ServiceDB.Instance.QueryModelList<BomVirtual>("select * from BomVirtual where bomId=" + id); // f.AddRange(list); string[] head = new string[11] { "序号", "层级", "属性", "物料编码", "物料名称", "物料规格", "物料图号", "基本用量", "单位", "损耗率", "备注" }; List<string> datas = new List<string>(); #region 构造 var first = list.Where(p => p.parent_Id == id).ToList(); var index = 1; for (int i = 0; i < first.Count; i++) { var p = first[i]; var row = index.ToString() + "|" + (i + 1).ToString() + "|" + p.materialCate + "|" + p.materialNo + "|" + p.materialName + "|" + p.materialModel + "|" + p.tunumber + "|" + Math.Round(p.amount, p.xslength) + "|" + p.unit + "|" + (p.loss > 0 ? p.loss + "%" : "") + "|" + p.remark; datas.Add(row); index++; var second = list.Where(x => x.parent_Id == p.bomId).ToList(); for (int s = 0; s < second.Count; s++) { var so = second[s]; var rs = index.ToString() + "|" + (i + 1).ToString() + "." + (s + 1).ToString() + "|" + so.materialCate + "|" + so.materialNo + "|" + so.materialName + "|" + so.materialModel + "|" + so.tunumber + "|" + Math.Round(so.amount, so.xslength) + "|" + so.unit + "|" + (so.loss > 0 ? so.loss + "%" : "") + "|" + so.remark; datas.Add(rs); index++; var third = list.Where(x => x.parent_Id == so.bomId).ToList(); for (int t = 0; t < third.Count; t++) { var to = third[t]; var rt = index.ToString() + "|" + (i + 1).ToString() + "." + (s + 1).ToString() + "." + (t + 1).ToString() + "|" + to.materialCate + "|" + to.materialNo + "|" + to.materialName + "|" + to.materialModel + "|" + to.tunumber + "|" + Math.Round(to.amount, to.xslength) + "|" + to.unit + "|" + (to.loss > 0 ? to.loss + "%" : "") + "|" + to.remark; datas.Add(rt); index++; var four = list.Where(x => x.parent_Id == to.bomId).ToList(); for (int f = 0; f < four.Count; f++) { var fo = four[f]; var rf = index.ToString() + "|" + (i + 1).ToString() + "." + (s + 1).ToString() + "." + (t + 1).ToString() + "." + (f + 1).ToString() + "|" + fo.materialCate + "|" + fo.materialNo + "|" + fo.materialName + "|" + fo.materialModel + "|" + fo.tunumber + "|" + Math.Round(fo.amount, fo.xslength) + "|" + fo.unit + "|" + (fo.loss > 0 ? fo.loss + "%" : "") + "|" + fo.remark; datas.Add(rf); index++; var five = list.Where(x => x.parent_Id == fo.bomId).ToList(); for (int v = 0; v < five.Count; v++) { var vo = five[f]; var rv = index.ToString() + "|" + (i + 1).ToString() + "." + (s + 1).ToString() + "." + (t + 1).ToString() + "." + (f + 1).ToString() + "." + (v + 1).ToString() + "|" + vo.materialCate + "|" + vo.materialNo + "|" + vo.materialName + "|" + vo.materialModel + "|" + vo.tunumber + "|" + Math.Round(vo.amount, vo.xslength) + "|" + vo.unit + "|" + (vo.loss > 0 ? vo.loss + "%" : "") + "|" + vo.remark; datas.Add(rv); index++; } } } } } #endregion //for (int i = 0; i < f.Count; i++) //{ // var p = f[i]; // var row = (i + 1).ToString() + "|" + p.materialCate + "|" + p.materialNo + "|" + p.materialName + "|" + p.materialModel + "|" + p.tunumber + "|" + Math.Round(p.amount, p.xslength) + "|" + p.unit + "|" + p.remark; // datas.Add(row); //} for (int i = 0; i < virtusls.Count; i++) { var p = virtusls[i]; var row = index.ToString() + "|"; row += "|"; row += "其他科目|"; row += "|"; row += p.virtualName + "|"; row += "单价:|"; row += Math.Round(p.vPrice, 2) + "|"; row += Math.Round(p.vAmount, 2) + "|"; row += "||"; row += p.remark; datas.Add(row); index++; } var root = "||" + one.materialCate + "|" + one.materialNo + "|" + one.materialName + "|" + one.materialModel + "|" + one.tunumber + "||" + one.unit + "||" + one.remark; datas.Insert(0, root); var msg = FileHelper.ExportEasy(head, datas); return Content(msg); #endregion } else { V_BomMaterial model = new V_BomMaterial(); var ddlcate = bomService.GetBomNodeCate().Select(x => new SelectListItem { Text = x.text, Value = x.text }).ToList(); string bomjson = ""; if (id > 0 && type == "edit") { model = bomService.GetBomMaterial().FirstOrDefault(p => p.bomId == id); var obj = bomService.GetOneBom(id, 0); bomjson = JsonHelper.ToJson(obj); } else type = "add"; data.id = id; data.type = type; data.model = model; data.bomjson = bomjson; data.ddlcate = ddlcate; return View(data); } }
public ActionResult savebomouttemp() { int detail = WebRequest.GetFormInt("detail", 0); int int_depot = WebRequest.GetFormInt("depot", 0); string no = WebRequest.GetString("no", true); int sn = WebRequest.GetFormInt("sn", 0); int bomid = WebRequest.GetFormInt("bomid", 0); int int_count = WebRequest.GetFormInt("count", 0); string remark = WebRequest.GetString("remark", true); List<V_BomMaterial> temp = (List<V_BomMaterial>)SessionHelper.GetSession("WO1" + no + sn + Masterpage.CurrUser.staffid); var bom = bomService.GetBomMaterial().FirstOrDefault(p => p.bomId == bomid); if (temp == null || temp.Count == 0) { temp = new List<V_BomMaterial>(); temp.Add(new V_BomMaterial { outdetailsn = 0, materialModel = bom.materialModel, materialName = bom.materialName, materialNo = bom.materialNo, outamount = int_count, outno = no, bomId = bomid, deoptid = int_depot, remark = remark, materialCate = bom.materialCate, type = "add" }); } else { bool add = false; V_BomMaterial ht = temp.FirstOrDefault(p => p.bomId == bomid); if (ht == null) { ht = new V_BomMaterial(); add = true; ht.materialModel = bom.materialModel; ht.materialName = bom.materialName; ht.materialNo = bom.materialNo; ht.materialCate = bom.materialCate; ht.type = "add"; ht.outdetailsn = 0; } if (ht.outdetailsn == 0) ht.type = "add"; else ht.type = "edit"; ht.outamount = int_count; ht.deoptid = int_depot; ht.outno = no; ht.bomId = bomid; ht.remark = remark; if (add) temp.Add(ht); } SessionHelper.SetSession("WO1" + no + sn + Masterpage.CurrUser.staffid, temp); return Json(temp.Count, JsonRequestBehavior.AllowGet); }