public ServiceResponseData SaveHostStatItem() { int workID = requestData.GetData <int>(0); Basic_StatItem statitem = requestData.GetData <Basic_StatItem>(1); SetWorkId(workID); this.BindDb(statitem); statitem.save(); //还需要保存分类节点下面的子节点中,如果没有设置数据的默认同父节点一致 List <Basic_CenterStatItem> listStat = NewObject <Basic_CenterStatItem>().getlist <Basic_CenterStatItem>(); List <Basic_StatItem> listItem = NewDao <IBasicDataStatItemDao>().GetHostStatItemData(workID); savechildstatitem(statitem, listStat, listItem); responseData.AddData(true); return(responseData); }
/// <summary> /// 保存子节点下的统计分类 /// </summary> /// <param name="statitem">统计大类信息</param> /// <param name="listStat">中心统计大类信息</param> /// <param name="listItem">本院统计大类</param> private void savechildstatitem(Basic_StatItem statitem, List <Basic_CenterStatItem> listStat, List <Basic_StatItem> listItem) { foreach (Basic_CenterStatItem item in listStat.FindAll(x => x.PStatID == statitem.StatID)) { Basic_StatItem childitem = listItem.Find(x => x.StatID == item.StatID); if (childitem == null) { childitem = NewObject <Basic_StatItem>(); } childitem.StatID = item.StatID; childitem.StatName = item.StatName; childitem.AccItemID = childitem.AccItemID == 0 ? statitem.AccItemID : childitem.AccItemID; childitem.CostItemID = childitem.CostItemID == 0 ? statitem.CostItemID : childitem.CostItemID; childitem.BaItemID = childitem.BaItemID == 0 ? statitem.BaItemID : childitem.BaItemID; childitem.PoItemID = childitem.PoItemID == 0 ? statitem.PoItemID : childitem.PoItemID; childitem.OutFpItemID = childitem.OutFpItemID == 0 ? statitem.OutFpItemID : childitem.OutFpItemID; childitem.InFpItemID = childitem.InFpItemID == 0 ? statitem.InFpItemID : childitem.InFpItemID; childitem.save(); savechildstatitem(childitem, listStat, listItem); } }