/// <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)); } }
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"); }
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)); } }
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); } } }