Exemple #1
0
 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);
 }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
        }