private void HandleTreeNode(SpflUpdateTreeModel node, List<Tb_Khfl> gysflList, List<Tb_Khfl> newList, BaseResult res) { if (node != null) { Tb_Khfl gysflModel = gysflList.FirstOrDefault(s => s.id == node.id); gysflModel = gysflModel ?? new Tb_Khfl(); 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_Khfl_Import model, List<Tb_Khfl> 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_Khfl(); 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_Khfl st, List<Tb_Khfl_Import> list, List<Tb_Khfl> khflList, List<Tb_Khfl_Import> fiallist, string id_user, string id_masteruser, List<Tb_Khfl> 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_Khfl sub = new Tb_Khfl(); 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, khflList, fiallist, id_user, id_masteruser, dbList); var model = khflList.FirstOrDefault(sl => sl.mc == sub.mc); if (model != null && model.id_farther == sub.id_farther) { fl.bz = "同一级中已有同名分类"; fiallist.Add(fl); } else { khflList.Add(sub); } } }); } } }
/// <summary> /// 修改节点Path方法 /// </summary> /// <param name="oldSubList">原子节点列表</param> /// <param name="nodeModel">节点</param> /// <param name="oldNodeModelPath">节点原Path</param> private void ChangeNodePath(IList<Tb_Khfl> oldSubList, Tb_Khfl 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_Khfl), subHt); #endregion } }); } }
public ActionResult Edit(Tb_Khfl 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_Khfl.Update(new Tb_Khfl() { 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)); }
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_Kh_Import> list = (List <Tb_Kh_Import>)param["list"]; List <Tb_Kh_Import> successList = new List <Tb_Kh_Import>(); List <Tb_Kh_Import> failList = new List <Tb_Kh_Import>(); List <Tb_Kh> addKHList = new List <Tb_Kh>(); List <Tb_Khfl> addKHFLList = new List <Tb_Khfl>(); #endregion #region 获取客户分类List ht.Clear(); ht.Add("id_masteruser", param["id_masteruser"].ToString()); ht.Add("flag_delete", (int)Enums.FlagDelete.NoDelete); var khflList = DAL.QueryList <Tb_Khfl>(typeof(Tb_Khfl), ht); #endregion #region 获取所有客户 ht.Clear(); ht.Add("id_masteruser", param["id_masteruser"].ToString()); ht.Add("flag_delete", (int)Enums.FlagDelete.NoDelete); var allKhList = DAL.QueryList <Tb_Kh>(typeof(Tb_Kh), ht); #endregion #region 数据处理 foreach (var item in list) { br = this.CheckImportInfo(item); if (!br.Success) { item.bz_kh = 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_kh = String.Format("导入数据 名称:{0}重复!", item.mc); failList.Add(item); continue; } //if (list.Where(d => d.bm == item.bm).Count() >= 2) //{ // item.bz_kh = String.Format("导入数据 编码:{0}重复!", item.bm); // failList.Add(item); // continue; //} if (allKhList.Where(d => d.mc == item.mc).Count() > 0) { item.bz_kh = String.Format("导入数据 名称:{0} 已被占用!", item.mc); failList.Add(item); continue; } //if (allKhList.Where(d => d.bm == item.bm).Count() > 0) //{ // item.bz_kh = String.Format("导入数据 编码:{0} 已被占用!", item.bm); // failList.Add(item); // continue; //} #endregion #region 客户分类 如果不存在 则添加一条 string idkhfl = Guid.NewGuid().ToString(); if (!string.IsNullOrEmpty(item.id_khfl) && khflList != null && khflList.Where(d => d.mc == item.id_khfl && d.flag_delete == 0).Count() > 0) { idkhfl = khflList.Where(d => d.mc == item.id_khfl && d.flag_delete == 0).FirstOrDefault().id; } else { Tb_Khfl khflModel = new Tb_Khfl() { id_masteruser = id_masteruser, id = idkhfl, bm = DateTime.Now.ToString("yyyyMMddHHmmss"), mc = item.id_khfl, path = "0/" + idkhfl, 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 }; khflList.Add(khflModel); addKHFLList.Add(khflModel); } #endregion #region 客户model Tb_Kh model = new Tb_Kh() { id = GetGuid, id_masteruser = id_masteruser, bm = item.bm, mc = item.mc, id_khfl = idkhfl, 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, je_xyed = decimal.Parse(item.je_xyed), je_xyed_temp = decimal.Parse(item.je_xyed_temp) }; DateTime rq_xyed_temp_b = DateTime.Now; if (item.rq_xyed_temp_b != null && !string.IsNullOrEmpty(item.rq_xyed_temp_b) && DateTime.TryParse(item.rq_xyed_temp_b, out rq_xyed_temp_b)) { model.rq_xyed_temp_b = rq_xyed_temp_b; } DateTime rq_xyed_temp_e = DateTime.Now; if (item.rq_xyed_temp_e != null && !string.IsNullOrEmpty(item.rq_xyed_temp_e) && DateTime.TryParse(item.rq_xyed_temp_e, out rq_xyed_temp_e)) { model.rq_xyed_temp_e = rq_xyed_temp_e; } addKHList.Add(model); #endregion successList.Add(item); } } #endregion #region 保存客户相关信息 DAL.AddRange(addKHList); DAL.AddRange(addKHFLList); #endregion br.Message.Add(String.Format("导入客户成功!")); br.Success = true; br.Data = new Tb_Kh_Import_All() { SuccessList = successList, FailList = failList }; return(br); }
public ActionResult Add(Tb_Khfl 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_Khfl model_khfl = new Tb_Khfl(); //新增对象 #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_khfl)) { model_khfl.id_farther = param_model["parent_id"].ToString(); model_khfl.id_masteruser = id_user_master; model_khfl.id_create = model_khfl.id_edit = id_user; br = BusinessFactory.Tb_Khfl.Add(model_khfl); } 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 = "执行成功,正在载入页面...", khfl = new { id = model_khfl.id, is_default = "F", name = model_khfl.mc, pid = model_khfl.id_farther } })); } else { return(JsonString(new { status = "false", message = br.Message[0].ToString() })); } }
public void GetSpflImportTree(List<Tb_Khfl_Import> list, List<Tb_Khfl> khflList, List<Tb_Khfl_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_Khfl>(typeof(Tb_Khfl), 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_Khfl st = new Tb_Khfl(); 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, khflList, fiallist, id_user, id_masteruser, dbList.ToList()); var model = khflList.FirstOrDefault(sl => sl.mc == st.mc); if (model != null && model.id_farther == st.id_farther) { fl.bz = "同一级中已有同名分类"; fiallist.Add(fl); } else { khflList.Add(st); } } } }); foreach (var item in list.Where(d => !(from s in khflList select s.mc).Contains(d.mc) && string.IsNullOrEmpty(d.bz))) { item.bz = "导入文件中无此 上级名称 的根目录数据 或上级名称 根目录不符合要求"; fiallist.Add(item); } } }