public void GetSpflImportTree(List <Tb_Gysfl_Import> list, List <Tb_Gysfl> gysflList, List <Tb_Gysfl_Import> fiallist, string id_user, string id_masteruser) { if (list.Any()) { Hashtable ht = new Hashtable(); ht.Add("id_masteruser", id_masteruser); ht.Add("id_farther", "0"); ht.Add("flag_delete", (int)Enums.FlagDelete.NoDelete); var dbList = DAL.QueryList <Tb_Gysfl>(typeof(Tb_Gysfl), ht); var firstList = list.Where(l => string.IsNullOrWhiteSpace(l.father)).ToList(); firstList.ForEach(fl => { var res = CheckImportInfo(fl, dbList.ToList()); if (!res.Success) { fl.bz = res.Message[0] ?? "数据不合要求!"; fiallist.Add(fl); } else { if (firstList.Where(d => d.mc == fl.mc).Count() > 1) { fl.bz = "操作失败 导入数据存在同名分类!"; fiallist.Add(fl); } else { Tb_Gysfl st = new Tb_Gysfl(); st.bm = fl.bm; st.mc = fl.mc; st.id = Guid.NewGuid().ToString(); st.path = "/0/" + st.id; st.id_farther = "0"; st.flag_delete = (byte)Enums.FlagDelete.NoDelete; st.rq_edit = st.rq_create = DateTime.Now; st.id_edit = st.id_create = id_user; st.id_masteruser = id_masteruser; CreatSubTree(st, list, gysflList, fiallist, id_user, id_masteruser, dbList.ToList()); var model = gysflList.FirstOrDefault(sl => sl.mc == st.mc); if (model != null && model.id_farther == st.id_farther) { fl.bz = "同一级中已有同名分类"; fiallist.Add(fl); } else { gysflList.Add(st); } } } }); foreach (var item in list.Where(d => !(from s in gysflList select s.mc).Contains(d.mc) && string.IsNullOrEmpty(d.bz))) { item.bz = "导入文件中无此 上级名称 的根目录数据 或上级名称 根目录不符合要求"; fiallist.Add(item); } } }
private void HandleTreeNode(SpflUpdateTreeModel node, List <Tb_Gysfl> gysflList, List <Tb_Gysfl> newList, BaseResult res) { if (node != null) { Tb_Gysfl gysflModel = gysflList.FirstOrDefault(s => s.id == node.id); gysflModel = gysflModel ?? new Tb_Gysfl(); gysflModel.id = node.id; gysflModel.id_farther = node.id_fahter; gysflModel.sort_id = node.sortNum; gysflModel.path = node.fartherPath + "/" + node.id; newList.Add(gysflModel); if (node.children != null && node.children.Any()) { for (int i = 0; i < node.children.Count; i++) { var sn = node.children[i]; sn.fartherPath = gysflModel.path; sn.sortNum = i + 10; sn.id_fahter = gysflModel.id; HandleTreeNode(sn, gysflList, newList, res); } CheckName(node.children, gysflList, res); } } }
public BaseResult CheckImportInfo(Tb_Gysfl_Import model, List <Tb_Gysfl> dbList) { BaseResult br = new BaseResult(); if (string.IsNullOrEmpty(model.mc)) { br.Success = false; br.Data = "mc"; br.Message.Add("名称不能为空"); return(br); } //if (string.IsNullOrEmpty(model.bm)) //{ // br.Success = false; // br.Data = "bm"; // br.Message.Add("编码不能为空"); // return br; //} if (dbList != null) { if (dbList.Where(d => d.mc == model.mc && d.id_farther == "0").Count() > 0) { br.Success = false; br.Data = "mc"; br.Message.Add("名称重复"); return(br); } //else if (dbList.Where(d => d.bm == model.bm && d.id_farther == "0").Count() > 0) //{ // br.Success = false; // br.Data = "bm"; // br.Message.Add("编码重复"); // return br; //} else { var st = new Tb_Gysfl(); st.bm = model.bm; st.mc = model.mc; st.id = Guid.NewGuid().ToString(); st.path = "/0/" + st.id; st.id_farther = "0"; st.flag_delete = (byte)Enums.FlagDelete.NoDelete; st.rq_edit = st.rq_create = DateTime.Now; st.id_edit = st.id_create = ""; st.id_masteruser = ""; dbList.Add(st); } } br.Success = true; return(br); }
public void CreatSubTree(Tb_Gysfl st, List <Tb_Gysfl_Import> list, List <Tb_Gysfl> gysflList, List <Tb_Gysfl_Import> fiallist, string id_user, string id_masteruser, List <Tb_Gysfl> dbList) { if (st != null) { var sublist = FindSubSpflByMC(st.mc, list); if (sublist.Any()) { sublist.ForEach(fl => { var res = CheckImportInfo(fl, dbList); if (!res.Success) { fl.bz = res.Message[0] ?? "数据不合要求!"; fiallist.Add(fl); } else { Tb_Gysfl sub = new Tb_Gysfl(); sub.bm = fl.bm; sub.mc = fl.mc; sub.id = Guid.NewGuid().ToString(); sub.path = st.path + "/" + st.id; sub.id_farther = st.id; sub.flag_delete = (byte)Enums.FlagDelete.NoDelete; sub.rq_edit = st.rq_create = DateTime.Now; sub.id_edit = st.id_create = id_user; sub.id_masteruser = id_masteruser; CreatSubTree(sub, list, gysflList, fiallist, id_user, id_masteruser, dbList); var model = gysflList.FirstOrDefault(sl => sl.mc == sub.mc); if (model != null && model.id_farther == sub.id_farther) { fl.bz = "同一级中已有同名分类"; fiallist.Add(fl); } else { gysflList.Add(sub); } } }); } } }
public ActionResult Edit(Tb_Gysfl model) { #region 获取参数 var oldParam = new Hashtable(); BaseResult br = new BaseResult(); Hashtable param = base.GetParameters(); param.Add("id_masteruser", id_user_master); Hashtable param_model = null; ParamVessel pv = new ParamVessel(); pv.Add("mc", string.Empty, HandleType.ReturnMsg); pv.Add("bm", string.Empty, HandleType.DefaultValue); pv.Add("id_masteruser", string.Empty, HandleType.ReturnMsg); pv.Add("category_id", string.Empty, HandleType.ReturnMsg); #endregion #region 执行操作 try { param_model = param.Trim(pv); oldParam = (Hashtable)param_model.Clone(); br = BusinessFactory.Tb_Gysfl.Update(new Tb_Gysfl() { id_masteruser = param_model["id_masteruser"].ToString(), id = param_model["category_id"].ToString(), bm = param_model["bm"].ToString(), mc = param_model["mc"].ToString(), id_edit = id_user }); } catch (Exception ex) { br.Message.Add(ex.Message); } #endregion WriteDBLog("供应商分类-修改", oldParam, br); return(JsonString(br, 1)); }
/// <summary> /// 修改节点Path方法 /// </summary> /// <param name="oldSubList">原子节点列表</param> /// <param name="nodeModel">节点</param> /// <param name="oldNodeModelPath">节点原Path</param> private void ChangeNodePath(IList <Tb_Gysfl> oldSubList, Tb_Gysfl nodeModel, string oldNodeModelPath) { var nd = DateTime.Now; if (oldSubList.Any()) { oldSubList.ToList().ForEach(n => { if (n.id != nodeModel.id) { #region n.path = n.path.Replace(oldNodeModelPath, nodeModel.path); Hashtable subHt = new Hashtable(); subHt.Add("id", n.id); subHt.Add("id_masteruser", n.id_masteruser); subHt.Add("new_path", n.path); subHt.Add("new_id_edit", n.id_edit); subHt.Add("new_rq_edit", nd); DAL.UpdatePart(typeof(Tb_Gysfl), subHt); #endregion } }); } }
public override BaseResult Init(Hashtable param) { #region 获取数据 BaseResult br = new BaseResult(); Hashtable ht = new Hashtable(); string FilePath = param["filePath"].ToString(); string id_masteruser = param["id_masteruser"].ToString(); string id_user = param["id_user"].ToString(); string id_shop = param["id_shop"].ToString(); List <Tb_Gys_Import> list = (List <Tb_Gys_Import>)param["list"]; List <Tb_Gys_Import> successList = new List <Tb_Gys_Import>(); List <Tb_Gys_Import> failList = new List <Tb_Gys_Import>(); List <Tb_Gys> addGYSList = new List <Tb_Gys>(); List <Tb_Gysfl> addGYSFLList = new List <Tb_Gysfl>(); #endregion #region 获取供应商分类List ht.Clear(); ht.Add("id_masteruser", param["id_masteruser"].ToString()); ht.Add("flag_delete", (int)Enums.FlagDelete.NoDelete); var gysflList = DAL.QueryList <Tb_Gysfl>(typeof(Tb_Gysfl), ht); #endregion #region 获取所有供应商 ht.Clear(); ht.Add("id_masteruser", param["id_masteruser"].ToString()); ht.Add("flag_delete", (int)Enums.FlagDelete.NoDelete); var allGysList = DAL.QueryList <Tb_Gys_User_QueryModel>(typeof(Tb_Gys), ht); #endregion #region 数据处理 foreach (var item in list) { br = this.CheckImportInfo(item); if (!br.Success) { item.bz_sys = br.Message.Count > 0 ? br.Message[0].ToString() : "数据不符合要求"; failList.Add(item); } else { #region 验证数据 if (list.Where(d => d.mc == item.mc).Count() >= 2) { item.bz_sys = String.Format("导入数据 名称:{0}重复!", item.mc); failList.Add(item); continue; } //if (list.Where(d => d.bm == item.bm).Count() >= 2) //{ // item.bz_sys = String.Format("导入数据 编码:{0}重复!", item.bm); // failList.Add(item); // continue; //} if (allGysList.Where(d => d.mc == item.mc).Count() > 0) { item.bz_sys = String.Format("导入数据 名称:{0} 已被占用!", item.mc); failList.Add(item); continue; } //if (allGysList.Where(d => d.bm == item.bm).Count() > 0) //{ // item.bz_sys = String.Format("导入数据 编码:{0} 已被占用!", item.bm); // failList.Add(item); // continue; //} #endregion #region 供应商分类 如果不存在 则添加一条 string idgysfl = Guid.NewGuid().ToString(); if (!string.IsNullOrEmpty(item.id_gysfl) && gysflList != null && gysflList.Where(d => d.mc == item.id_gysfl && d.flag_delete == 0).Count() > 0) { idgysfl = gysflList.Where(d => d.mc == item.id_gysfl && d.flag_delete == 0).FirstOrDefault().id; } else { Tb_Gysfl gysflModel = new Tb_Gysfl() { id_masteruser = id_masteruser, id = idgysfl, bm = DateTime.Now.ToString("yyyyMMddHHmmss"), mc = item.id_gysfl, path = "0/" + idgysfl, id_farther = "0", id_create = id_user, rq_create = DateTime.Now, id_edit = id_user, rq_edit = DateTime.Now, flag_delete = 0, sort_id = 0 }; gysflList.Add(gysflModel); addGYSFLList.Add(gysflModel); } #endregion #region 供应商model Tb_Gys model = new Tb_Gys() { id = GetGuid, id_masteruser = id_masteruser, bm = item.bm, mc = item.mc, id_gysfl = idgysfl, companytel = item.companytel, zjm = CySoft.Utility.PinYin.GetChineseSpell(item.mc), tel = item.tel, lxr = item.lxr, email = item.email, zipcode = item.zipcode, address = item.address, flag_state = byte.Parse(item.flag_state), bz = item.bz, id_create = id_user, rq_create = DateTime.Now, id_edit = id_user, rq_edit = DateTime.Now, flag_delete = 0 }; addGYSList.Add(model); #endregion successList.Add(item); } } #endregion #region 保存供应商相关信息 DAL.AddRange(addGYSList); DAL.AddRange(addGYSFLList); #endregion br.Message.Add(String.Format("导入供应商成功!")); br.Success = true; br.Data = new Tb_Gys_Import_All() { SuccessList = successList, FailList = failList }; return(br); }
public ActionResult Add(Tb_Gysfl model) { #region 获取参数 var oldParam = new Hashtable(); Hashtable param = base.GetParameters(); param.Add("id_masteruser", id_user_master); Hashtable param_model = null; BaseResult br = new BaseResult(); Tb_Gysfl model_gysfl = new Tb_Gysfl(); //新增对象 #endregion #region 执行操作 try { ParamVessel pv = new ParamVessel(); pv.Add("mc", string.Empty, HandleType.ReturnMsg); //名称 pv.Add("bm", string.Empty, HandleType.DefaultValue); //编码 pv.Add("id_masteruser", id_user_master, HandleType.ReturnMsg); //用户Id pv.Add("parent_id", string.Empty, HandleType.ReturnMsg); //父节点Id param_model = param.Trim(pv); oldParam = (Hashtable)param_model.Clone(); if (TryUpdateModel(model_gysfl)) { model_gysfl.id_farther = param_model["parent_id"].ToString(); model_gysfl.id_masteruser = id_user_master; model_gysfl.id_create = model_gysfl.id_edit = id_user; br = BusinessFactory.Tb_Gysfl.Add(model_gysfl); } else { br.Message.Add("参数有误!"); } } catch (Exception ex) { br.Message.Add(ex.Message); } #endregion WriteDBLog("供应商分类-新增", oldParam, br); if (br.Success) { return(JsonString(new { status = "success", message = "执行成功,正在载入页面...", gysfl = new { id = model_gysfl.id, is_default = "F", name = model_gysfl.mc, pid = model_gysfl.id_farther } })); } else { return(JsonString(new { status = "false", message = br.Message[0].ToString() })); } }