/// <summary>
        /// 保存一个三级节点,跟二级节点处理类似
        /// </summary>
        /// <param name="model"></param>
        /// <param name="sSecondCode"></param>
        /// <returns></returns>
        private long SaveOneThirdTypeNode(Td_zylbdm model, string sSecondCode, string sFirstCode)
        {
            //Td_zylbdm model = new Td_zylbdm();
            Expression <Func <Td_zylbdm, bool> > where = (c => c.DelFlag == false && c.Code == model.Code);
            List <Td_zylbdm> list = GetRecord(where);

            if ((list != null) && (list.Count > 0))
            {
                if ((list[0].Name == "") && (model.Name != ""))
                {
                    string[] EditColumn = { "Name", "JoinNames" };
                    SaveOneRecord(model, EditColumn);
                }
                return(list[0].ID);
            }
            else
            {
                Expression <Func <Td_zylbdm, bool> > where1 = (c => c.DelFlag == false && c.Code == sSecondCode);
                List <Td_zylbdm> list1 = GetRecord(where1);
                if ((list1 != null) && (list1.Count > 0))
                {
                    model.ParentIndex = list1[0].ID;
                }
                else //上级节点不存在
                {
                    Td_zylbdm ParentModel = new Td_zylbdm();
                    ParentModel.Code  = sFirstCode + sSecondCode;
                    ParentModel.Name  = "";
                    model.ParentIndex = SaveOneSecondTypeNode(ParentModel, sFirstCode);
                }
                return(AddOneTreeNode(model));
            }
        }
Exemple #2
0
        public ActionResult DqdmCodeChange(string sChangeValue, string sNowID, string PanelID)
        {
            zylbdmTableManage         man     = new zylbdmTableManage();
            zylbdmTableDataTreeManage manTree = new zylbdmTableDataTreeManage();

            if (man.ExistDMValue(sChangeValue, sNowID))
            {
                X.Msg.Alert("注意", "输入的代码已经存在!").Show();
                SetHiddenValue(PanelID + "_ParentIndex", "-2");
                SetTextField(PanelID + "_ParentName", "");
            }
            else
            {
                Td_zylbdm model = man.GetParentObj(sChangeValue);
                if (model != null)
                {
                    SetHiddenValue(PanelID + "_ParentIndex", model.ID.ToString());
                    SetTextField(PanelID + "_ParentName", manTree.GetAllParentName(model.ID, true));
                }
                else
                {
                    SetHiddenValue(PanelID + "_ParentIndex", "-1");
                    SetTextField(PanelID + "_ParentName", "所有类别");
                }
            }
            return(this.Direct());
        }
        /// <summary>
        /// 获得父节点的代码,用在新增节点窗口
        /// </summary>
        /// <param name="lID"></param>
        /// <returns></returns>
        public string GetParentDM(long lID)
        {
            Td_zylbdm model = GetOneRecordbyID <Td_zylbdm, long>(lID);
            string    s     = model.Code;

            return(s + "01");
        }
Exemple #4
0
        public override ActionResult WindowCommonShow(string PanelID, string ParentVariable, string ParentKey)
        {
            GetParentVariable(ParentVariable);
            zylbdmTableDataListManage manList = new zylbdmTableDataListManage();
            zylbdmTableDataTreeManage manTree = new zylbdmTableDataTreeManage();
            zylbdmTableManage         man     = new zylbdmTableManage();
            Td_zylbdm model = new Td_zylbdm();

            if (ParentVar.transValue.Contains("Row")) //修改
            {
                manList.InitSelection(ParentVar.transValue);
                model = manTree.GetSpecialModelFromCurrentID(manList.sRowNowID);
            }
            else
            {
                Td_zylbdm parentModel = manTree.GetParentNode(Convert.ToInt64(ParentVar.transValue));
                model.ParentIndex = parentModel.ID;
                model.ParentName  = manTree.GetAllParentName(parentModel.ID, true);
                model.Code        = man.GetParentDM(parentModel.ID);
            }
            var form = this.GetCmp <FormPanel>(PanelID + "_Form");

            form.SetValues(model);
            return(this.Direct());
        }
        public Td_zylbdm GetParentNode(long lID)
        {
            Td_zylbdm model = GetOneRecordbyID <Td_zylbdm, long>(lID);

            if (model.TheLevel <= 2)
            {
                return(model);
            }
            else
            {
                return(GetOneRecordbyID <Td_zylbdm, long>(model.ParentIndex));
            }
        }
Exemple #6
0
        public ActionResult WindowSaveClick(Td_zylbdm mo, string PanelID, string ParentVariable)
        {
            if (mo.ParentIndex == -2)
            {
                X.Msg.Alert("注意", "输入的代码有误!").Show();
                return(this.Direct());
            }

            GetParentVariable(ParentVariable);
            string[]          ss  = ParentVar.KeyWords.Split(CosValue.SPLITOPERATOR2);
            zylbdmTableManage man = new zylbdmTableManage();

            man.SaveOneObj(mo);
            SetHiddenValue(PanelID + "_ExitCode", "1");
            return(this.Direct());
        }
        /// <summary>
        /// 保存一个一级节点:
        /// 1,如果节点编号有,名称没有,说明以前新增的上级节点,则保存名称;
        /// 2,如果节点编号也没有,就是新建;
        /// 3,如果名称和编号都有,以前建立的节点,直接返回;
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private long SaveOneFirstTypeNode(Td_zylbdm model)
        {
            Expression <Func <Td_zylbdm, bool> > where = (c => c.DelFlag == false && c.Code == model.Code);
            List <Td_zylbdm> list = GetRecord(where);

            if ((list != null) && (list.Count > 0))
            {
                if ((list[0].Name == "") && (model.Name != ""))
                {
                    string[] EditColumn = { "Name", "JoinNames" };
                    SaveOneRecord(model, EditColumn);
                }
                return(list[0].ID);
            }
            else
            {
                return(AddOneTreeNode(model));
            }
        }
        public List <ListCompareTable> InportOriginData(DataTable dt, int nNowYear, long lProvinceID)
        {
            List <ListCompareTable> listReturn = new List <ListCompareTable>();

            if (dt != null)
            {
                bool flag = false;
                OriginTableManage       manOrigin    = new OriginTableManage();
                string[]                mainColumns  = { "ZYLBDM", "ZYLBMC" };
                List <Td_zylbdm_Origin> OriginModels = manOrigin.InportSomeRowsOriginTable <Td_zylbdm_Origin>(dt, nNowYear, lProvinceID, mainColumns);
                for (int i = 0; i < OriginModels.Count; i++)
                {
                    long lNowRelationID = OriginModels[i].RelationID;
                    if (lNowRelationID == 0) //原始表中新加入的字段
                    {
                        flag = true;
                        Td_zylbdm zylbObj = IsExistType(OriginModels[i]);
                        if (zylbObj == null) //如果在数据库中不存在,zylbdm表中需要增加该model
                        {
                            string OriginDM = OriginModels[i].DM;
                            while (OriginDM.Length < 2)
                            {
                                OriginDM = "0" + OriginDM;
                            }

                            string    sFirstCode  = GetSubString(OriginDM, 0, 2);
                            string    sSecondCode = GetSubString(OriginDM, 2, 2);
                            string    sThirdCode  = GetSubString(OriginDM, 4, 0);
                            string    sTypeName   = OriginModels[i].MC;
                            long      lNewID      = 0;
                            Td_zylbdm model       = new Td_zylbdm();
                            model.Code      = OriginModels[i].DM;
                            model.Name      = sTypeName;
                            model.JoinNames = model.Name;
                            if (sSecondCode == "") //一级节点
                            {
                                model.ParentIndex = -1;
                                lNewID            = SaveOneFirstTypeNode(model);
                            }
                            else if (sThirdCode == "")
                            {
                                lNewID = SaveOneSecondTypeNode(model, sFirstCode);
                            }
                            else
                            {
                                lNewID = SaveOneThirdTypeNode(model, sSecondCode, sFirstCode);
                            }

                            ListCompareTable oneTable = new ListCompareTable();
                            oneTable.sOldID    = OriginModels[i].DM;
                            oneTable.lNewID    = lNewID;
                            oneTable.lOriginID = OriginModels[i].ID;
                            listReturn.Add(oneTable);
                            //修改原始表中相应的RelationID
                            OriginModels[i].RelationID = lNewID;
                        }
                        else
                        {
                            ListCompareTable oneTable = new ListCompareTable();
                            oneTable.sOldID = OriginModels[i].DM;
                            if (zylbObj.DelFlag)
                            {
                                oneTable.lNewID            = zylbObj.JoinID;
                                OriginModels[i].RelationID = zylbObj.JoinID;
                            }
                            else
                            {
                                oneTable.lNewID            = zylbObj.ID;
                                OriginModels[i].RelationID = zylbObj.ID;
                            }
                            oneTable.lOriginID = OriginModels[i].ID;
                            listReturn.Add(oneTable);
                        }
                    }
                    else
                    {
                        ListCompareTable oneTable = new ListCompareTable();
                        oneTable.sOldID    = OriginModels[i].DM;
                        oneTable.lNewID    = lNowRelationID;
                        oneTable.lOriginID = OriginModels[i].ID;
                        listReturn.Add(oneTable);
                    }
                }
                if (flag)
                {
                    SaveManyRecords(OriginModels);
                }
            }
            return(listReturn);
        }
 /// <summary>
 /// 保存一个地区代码数据
 /// </summary>
 /// <param name="obj"></param>
 public void SaveOneObj(Td_zylbdm obj)
 {
     if (obj.ID == 0) //新增节点
     {
         Td_zylbdm newParent = GetOneRecordbyID <Td_zylbdm, long>(obj.ParentIndex);
         if (newParent != null)
         {
             newParent.ChildNum++;
             newParent.IsLeaf = false;
             SaveOneRecord(newParent);
             obj.TheLevel = newParent.TheLevel++;
         }
         else
         {
             obj.ParentIndex = -1;
             obj.TheLevel    = 1;
         }
         obj.ChildNum  = 0;
         obj.IsLeaf    = true;
         obj.JoinNames = obj.Name;
         AddOneRecord(obj);
     }
     else  //修改节点
     {
         Td_zylbdm oldObj = GetOneRecordbyID <Td_zylbdm, long>(obj.ID);
         if (oldObj.ParentIndex != obj.ParentIndex) //地区上级有修改
         {
             //老节点的父节点
             Td_zylbdm oldParent = GetOneRecordbyID <Td_zylbdm, long>(oldObj.ParentIndex);
             oldParent.ChildNum--;
             if (oldParent.ChildNum == 0)
             {
                 oldParent.IsLeaf = true;
             }
             SaveOneRecord(oldParent);
             //新节点是肯定是新增
             Td_zylbdm newParent = GetOneRecordbyID <Td_zylbdm, long>(obj.ParentIndex);
             if (newParent != null)
             {
                 newParent.ChildNum++;
                 newParent.IsLeaf = false;
                 SaveOneRecord(newParent);
                 obj.TheLevel = newParent.TheLevel++;
             }
             else
             {
                 obj.ParentIndex = -1;
                 obj.TheLevel    = 1;
             }
             if (!oldObj.JoinNames.Contains(obj.Name))
             {
                 obj.JoinNames = obj.JoinNames + CosValue.SPLITOPERATOR1 + obj.Name;
             }
             string[] EditColumns = { "Name", "TheOrder", "Remark", "JoinNames", "ParentIndex", "TheLevel", "Code" };
             SaveOneRecord(obj, EditColumns);
         }
         else
         {
             if (!oldObj.JoinNames.Contains(obj.Name))
             {
                 obj.JoinNames = obj.JoinNames + CosValue.SPLITOPERATOR1 + obj.Name;
             }
             string[] EditColumns = { "Name", "TheOrder", "Remark", "JoinNames", "Code" };
             SaveOneRecord(obj, EditColumns);
         }
     }
 }