Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
 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);
         }
     }
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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);
                     }
                 }
             });
         }
     }
 }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
        /// <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
                    }
                });
            }
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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()
                }));
            }
        }