| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using System.Text; | 
					
						
							|  |  |  |  | using System.Threading.Tasks; | 
					
						
							|  |  |  |  | using System.Web.Caching; | 
					
						
							|  |  |  |  | using System.Web.UI.WebControls; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace BLL | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public class UnitWorkService | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         public static Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 添加单位工程信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="WPQ"></param> | 
					
						
							|  |  |  |  |         public static void AddUnitWork(Model.WBS_UnitWork UnitWork) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork(); | 
					
						
							|  |  |  |  |             newUnitWork.UnitWorkId = UnitWork.UnitWorkId; | 
					
						
							|  |  |  |  |             newUnitWork.UnitWorkCode = UnitWork.UnitWorkCode; | 
					
						
							|  |  |  |  |             newUnitWork.UnitWorkName = UnitWork.UnitWorkName; | 
					
						
							|  |  |  |  |             newUnitWork.SuperUnitWork = UnitWork.SuperUnitWork; | 
					
						
							|  |  |  |  |             newUnitWork.IsChild = UnitWork.IsChild; | 
					
						
							|  |  |  |  |             newUnitWork.ProjectId = UnitWork.ProjectId; | 
					
						
							|  |  |  |  |             newUnitWork.ProjectType = UnitWork.ProjectType; | 
					
						
							|  |  |  |  |             newUnitWork.UnitId = UnitWork.UnitId; | 
					
						
							|  |  |  |  |             newUnitWork.SupervisorUnitId = UnitWork.SupervisorUnitId; | 
					
						
							|  |  |  |  |             newUnitWork.NDEUnit = UnitWork.NDEUnit; | 
					
						
							|  |  |  |  |             newUnitWork.Costs = UnitWork.Costs; | 
					
						
							|  |  |  |  |             newUnitWork.MainItemAndDesignProfessionalIds = UnitWork.MainItemAndDesignProfessionalIds; | 
					
						
							|  |  |  |  |             db.WBS_UnitWork.InsertOnSubmit(newUnitWork); | 
					
						
							|  |  |  |  |             db.SubmitChanges(); | 
					
						
							|  |  |  |  |             //GetWeights(UnitWork.ProjectId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 修改单位工程信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="WPQ"></param> | 
					
						
							|  |  |  |  |         public static void UpdateUnitWork(Model.WBS_UnitWork UnitWork) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_UnitWork newUnitWork = db.WBS_UnitWork.FirstOrDefault(e => e.UnitWorkId == UnitWork.UnitWorkId); | 
					
						
							|  |  |  |  |             if (newUnitWork != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 newUnitWork.UnitWorkId = UnitWork.UnitWorkId; | 
					
						
							|  |  |  |  |                 newUnitWork.UnitWorkCode = UnitWork.UnitWorkCode; | 
					
						
							|  |  |  |  |                 newUnitWork.UnitWorkName = UnitWork.UnitWorkName; | 
					
						
							|  |  |  |  |                 newUnitWork.SuperUnitWork = UnitWork.SuperUnitWork; | 
					
						
							|  |  |  |  |                 newUnitWork.IsChild = UnitWork.IsChild; | 
					
						
							|  |  |  |  |                 newUnitWork.ProjectId = UnitWork.ProjectId; | 
					
						
							|  |  |  |  |                 newUnitWork.ProjectType = UnitWork.ProjectType; | 
					
						
							|  |  |  |  |                 newUnitWork.UnitId = UnitWork.UnitId; | 
					
						
							|  |  |  |  |                 newUnitWork.SupervisorUnitId = UnitWork.SupervisorUnitId; | 
					
						
							|  |  |  |  |                 newUnitWork.NDEUnit = UnitWork.NDEUnit; | 
					
						
							|  |  |  |  |                 newUnitWork.Costs = UnitWork.Costs; | 
					
						
							|  |  |  |  |                 newUnitWork.MainItemAndDesignProfessionalIds = UnitWork.MainItemAndDesignProfessionalIds; | 
					
						
							|  |  |  |  |                 db.SubmitChanges(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             //GetWeights(UnitWork.ProjectId); | 
					
						
							|  |  |  |  |             //if (UnitWork.Costs != null) | 
					
						
							|  |  |  |  |             //{ | 
					
						
							|  |  |  |  |             //    UpdateWBSCosts(UnitWork.UnitWorkId, Convert.ToDecimal(UnitWork.Costs)); | 
					
						
							|  |  |  |  |             //} | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private static void GetWeights(string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             decimal totalCosts = 0; | 
					
						
							|  |  |  |  |             var unitWorks = from x in db.WBS_UnitWork where x.ProjectId == projectId && x.Costs != null select x; | 
					
						
							|  |  |  |  |             foreach (var unitWork in unitWorks) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 totalCosts += Convert.ToDecimal(unitWork.Costs); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             foreach (var unitWork in unitWorks) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 unitWork.Weights = unitWork.Costs / totalCosts * 100; | 
					
						
							|  |  |  |  |                 db.SubmitChanges(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             var noCostUnitWorks = from x in db.WBS_UnitWork where x.ProjectId == projectId && x.Costs == null select x; | 
					
						
							|  |  |  |  |             foreach (var noCostUnitWork in noCostUnitWorks) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 noCostUnitWork.Weights = null; | 
					
						
							|  |  |  |  |                 db.SubmitChanges(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #region 更新计算单位工程WBS项的建安工程费 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 更新计算单位工程WBS项的建安工程费 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="unitWorkId"></param> | 
					
						
							|  |  |  |  |         /// <param name="costs"></param> | 
					
						
							|  |  |  |  |         private static void UpdateWBSCosts(string unitWorkId, decimal costs) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             var workPackages = from x in db.WBS_WorkPackage where x.UnitWorkId == unitWorkId && x.SuperWorkPackageId == null && x.IsApprove == true select x; | 
					
						
							|  |  |  |  |             foreach (var item in workPackages) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (item.Weights != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     item.Costs = item.Weights / 100 * costs; | 
					
						
							|  |  |  |  |                     db.SubmitChanges(); | 
					
						
							|  |  |  |  |                     UpdateWorkPackageCosts(item.WorkPackageId, Convert.ToDecimal(item.Costs)); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private static void UpdateWorkPackageCosts(string workPackageId, decimal costs) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             var childWorkPackages = from x in db.WBS_WorkPackage where x.SuperWorkPackageId == workPackageId && x.IsApprove == true select x; | 
					
						
							|  |  |  |  |             if (childWorkPackages.Count() > 0)   //存在子级 | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 foreach (var item in childWorkPackages) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     if (item.Weights != null) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         item.Costs = item.Weights / 100 * costs; | 
					
						
							|  |  |  |  |                         db.SubmitChanges(); | 
					
						
							|  |  |  |  |                         UpdateWorkPackageCosts(item.WorkPackageId, Convert.ToDecimal(item.Costs)); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 //var controlItemAndCycles = from x in db.WBS_ControlItemAndCycle where x.WorkPackageId == workPackageId && x.IsApprove == true select x; | 
					
						
							|  |  |  |  |                 //foreach (var item in controlItemAndCycles) | 
					
						
							|  |  |  |  |                 //{ | 
					
						
							|  |  |  |  |                 //    if (item.Weights != null) | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        item.Costs = item.Weights / 100 * costs; | 
					
						
							|  |  |  |  |                 //        db.SubmitChanges(); | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  |                 //} | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据主键删除单位工程信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="checkerId"></param> | 
					
						
							|  |  |  |  |         public static void DeleteUnitWorkById(string UnitWorkId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_UnitWork Unitwork = db.WBS_UnitWork.FirstOrDefault(e => e.UnitWorkId == UnitWorkId); | 
					
						
							|  |  |  |  |             if (Unitwork != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 db.WBS_UnitWork.DeleteOnSubmit(Unitwork); | 
					
						
							|  |  |  |  |                 db.SubmitChanges(); | 
					
						
							|  |  |  |  |                 GetWeights(Unitwork.ProjectId); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位工程信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="UnitWorkId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Model.WBS_UnitWork GetUnitWorkByUnitWorkId(string UnitWorkId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.WBS_UnitWork.FirstOrDefault(e => e.UnitWorkId == UnitWorkId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-13 10:48:08 +08:00
										 |  |  |  |         public static Model.WBS_UnitWork GetUnitWorkByUnitWorkName(string projectId,string unitWorkName) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.WBS_UnitWork.FirstOrDefault(e =>e.ProjectId ==projectId && e.UnitWorkName == unitWorkName); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位工程信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="UnitWorkId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Model.WBS_UnitWork GetUnitWorkByMainItemAndDesignProfessionalIds(string mainItemAndDesignProfessionalIds) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.WBS_UnitWork.FirstOrDefault(e => e.MainItemAndDesignProfessionalIds.Contains(mainItemAndDesignProfessionalIds)); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据单位工程编号获取单位工程信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="UnitWorkCode"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Model.WBS_UnitWork> GetUnitWorkByUnitWorkCode(string UnitWorkCode) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_UnitWork where x.UnitWorkCode == UnitWorkCode select x).ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-16 18:18:18 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据项目Id获取单位工程信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Model.WBS_UnitWork> GetUnitWorkByProjectId(string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_UnitWork where x.ProjectId == projectId select x).ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 下拉框选择(获取 text value) | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="text"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static string GetTextOrVal(string text, string val, string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string str = null; | 
					
						
							|  |  |  |  |             ListItem[] listitem = null; | 
					
						
							|  |  |  |  |             Cache cache = new Cache(); | 
					
						
							|  |  |  |  |             if (cache.Get("UnitWorkList") == null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 listitem = GetUnitWork(projectId); | 
					
						
							|  |  |  |  |                 if (listitem.Count() > 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     cache.Insert("UnitWorkList", listitem, null, DateTime.UtcNow.AddMinutes(10), TimeSpan.Zero, CacheItemPriority.Normal, null); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 listitem = (ListItem[])cache.Get("UnitWorkList"); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             if (!string.IsNullOrWhiteSpace(text)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 foreach (var item in listitem) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     if (text.Equals(item.Text)) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         str = item.Value; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             if (!string.IsNullOrWhiteSpace(val)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 foreach (var item in listitem) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     if (val.Equals(item.Value)) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         str = item.Text; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             return str; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位工程名称项 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectId">项目Id</param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static ListItem[] GetUnitWorkList(string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |             List<Model.WBS_UnitWork> q = (from x in Funs.DB.WBS_UnitWork where x.ProjectId == projectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") orderby x.UnitWorkCode select x).ToList(); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             ListItem[] item = new ListItem[q.Count()]; | 
					
						
							|  |  |  |  |             for (int i = 0; i < q.Count(); i++) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 item[i] = new ListItem((q[i].UnitWorkCode + "-" + q[i].UnitWorkName + GetProjectType(q[i].ProjectType)) ?? "", q[i].UnitWorkId.ToString()); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return item; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据工程类型获取名称 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectType"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static string GetProjectType(string projectType) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string name = string.Empty; | 
					
						
							|  |  |  |  |             if (projectType == "1") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 name = "(建筑)"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (projectType == "2") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 name = "(安装)"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return name; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位工程名称项 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectId">项目Id</param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Model.WBS_UnitWork> GetUnitWorkLists(string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |             return (from x in Funs.DB.WBS_UnitWork where x.ProjectId == projectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") orderby x.UnitWorkCode select x).ToList(); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |         public static ListItem[] GetUnitWork(string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |             List<Model.WBS_UnitWork> q = (from x in Funs.DB.WBS_UnitWork where x.ProjectId == projectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") orderby x.UnitWorkCode select x).ToList(); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             ListItem[] item = new ListItem[q.Count()]; | 
					
						
							|  |  |  |  |             for (int i = 0; i < q.Count(); i++) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 item[i] = new ListItem((q[i].UnitWorkCode + "-" + q[i].UnitWorkName + GetProjectType(q[i].ProjectType)) ?? "", q[i].UnitWorkId.ToString()); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return item; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-05-15 09:03:19 +08:00
										 |  |  |  |         public static ListItem[] GetUnitWork2(string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |             List<Model.WBS_UnitWork> q = (from x in Funs.DB.WBS_UnitWork where x.ProjectId == projectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") orderby x.UnitWorkCode select x).ToList(); | 
					
						
							| 
									
										
										
										
											2024-05-15 09:03:19 +08:00
										 |  |  |  |             ListItem[] item = new ListItem[q.Count()]; | 
					
						
							|  |  |  |  |             for (int i = 0; i < q.Count(); i++) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 item[i] = new ListItem(q[i].UnitWorkName, q[i].UnitWorkId.ToString()); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return item; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位名称 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="UnitId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static string GetNameById(string id) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string name = string.Empty; | 
					
						
							|  |  |  |  |             var UnitWork = Funs.DB.WBS_UnitWork.FirstOrDefault(x => x.UnitWorkId == id); | 
					
						
							|  |  |  |  |             if (UnitWork != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 name = UnitWork.UnitWorkName + GetProjectType(UnitWork.ProjectType); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return name; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///  单位工程表下拉框 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dropName">下拉框名字</param> | 
					
						
							|  |  |  |  |         /// <param name="isShowPlease">是否显示请选择</param> | 
					
						
							|  |  |  |  |         public static void InitUnitWorkDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             dropName.DataValueField = "Value"; | 
					
						
							|  |  |  |  |             dropName.DataTextField = "Text"; | 
					
						
							|  |  |  |  |             dropName.DataSource = BLL.UnitWorkService.GetUnitWorkList(projectId); | 
					
						
							|  |  |  |  |             dropName.DataBind(); | 
					
						
							|  |  |  |  |             if (isShowPlease) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Funs.FineUIPleaseSelect(dropName); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///  单位工程表下拉框 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dropName">下拉框名字</param> | 
					
						
							|  |  |  |  |         /// <param name="isShowPlease">是否显示请选择</param> | 
					
						
							|  |  |  |  |         public static void InitUnitWorkDownListByProjectType(FineUIPro.DropDownList dropName, string projectId, string projectType, bool isShowPlease) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             dropName.DataValueField = "Value"; | 
					
						
							|  |  |  |  |             dropName.DataTextField = "Text"; | 
					
						
							|  |  |  |  |             dropName.DataSource = BLL.UnitWorkService.GetUnitWorkListByProjectType(projectId, projectType); | 
					
						
							|  |  |  |  |             dropName.DataBind(); | 
					
						
							|  |  |  |  |             if (isShowPlease) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Funs.FineUIPleaseSelect(dropName); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///  单位工程表下拉框 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dropName">下拉框名字</param> | 
					
						
							|  |  |  |  |         /// <param name="isShowPlease">是否显示请选择</param> | 
					
						
							|  |  |  |  |         public static void InitUnitWorkList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             dropName.DataValueField = "Text"; | 
					
						
							|  |  |  |  |             dropName.DataTextField = "Text"; | 
					
						
							|  |  |  |  |             dropName.DataSource = GetUnitWork(projectId); | 
					
						
							|  |  |  |  |             dropName.DataBind(); | 
					
						
							|  |  |  |  |             if (isShowPlease) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Funs.FineUIPleaseSelect(dropName); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-05-15 09:03:19 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///  单位工程表下拉框 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dropName">下拉框名字</param> | 
					
						
							|  |  |  |  |         /// <param name="isShowPlease">是否显示请选择</param> | 
					
						
							|  |  |  |  |         public static void InitUnitWorkList2(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             dropName.DataValueField = "Text"; | 
					
						
							|  |  |  |  |             dropName.DataTextField = "Text"; | 
					
						
							|  |  |  |  |             dropName.DataSource = GetUnitWork2(projectId); | 
					
						
							|  |  |  |  |             dropName.DataBind(); | 
					
						
							|  |  |  |  |             if (isShowPlease) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Funs.FineUIPleaseSelect(dropName); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据项目id 获取单位工程 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Model.WBS_UnitWork> GetUnitWorkListByPid(string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |             List<Model.WBS_UnitWork> q = (from x in db.WBS_UnitWork where x.ProjectId == projectId && (x.SuperUnitWork == null||x.SuperUnitWork=="0") orderby x.UnitWorkCode select x).ToList(); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             return q; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         public static Model.WBS_UnitWork getUnitWorkByUnitWorkId(string UnitWorkId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.WBS_UnitWork.FirstOrDefault(e => e.UnitWorkId.ToString() == UnitWorkId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         public static List<Model.WBS_UnitWork> GetUnitWorkListByPidForApi(string projectId, string projectType) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string[] type = null; | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(projectType)) | 
					
						
							|  |  |  |  |                 type = projectType.Split(','); | 
					
						
							| 
									
										
										
										
											2024-08-22 11:00:20 +08:00
										 |  |  |  |             var unitWorks = from x in Funs.DB.WBS_UnitWork where x.ProjectId == projectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") && (type == null || type.Contains(x.ProjectType)) orderby x.UnitWorkCode select x; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             return unitWorks.ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位工程名称项 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectId">项目Id</param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static ListItem[] GetUnitWorkListByProjectType(string projectId, string projectType) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |             List<Model.WBS_UnitWork> q = (from x in Funs.DB.WBS_UnitWork where x.ProjectId == projectId && (x.SuperUnitWork == null||x.SuperUnitWork=="0") && x.ProjectType == projectType orderby x.UnitWorkCode select x).ToList(); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             ListItem[] item = new ListItem[q.Count()]; | 
					
						
							|  |  |  |  |             for (int i = 0; i < q.Count(); i++) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 item[i] = new ListItem((q[i].UnitWorkCode + "-" + q[i].UnitWorkName + GetProjectType(q[i].ProjectType)) ?? "", q[i].UnitWorkId.ToString()); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return item; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据单位工程Id获取对应code的所有单位工程Id集合 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="unitWorkId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static string GetUnitWorkIdsByUnitWorkId(string unitWorkId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string unitWorkIds = string.Empty; | 
					
						
							|  |  |  |  |             Model.WBS_UnitWork unitWork = GetUnitWorkByUnitWorkId(unitWorkId); | 
					
						
							|  |  |  |  |             if (unitWork != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var q = from x in Funs.DB.WBS_UnitWork where x.UnitWorkCode == unitWork.UnitWorkCode select x; | 
					
						
							|  |  |  |  |                 foreach (var item in q) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     unitWorkIds += item.UnitWorkId + ","; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(unitWorkIds)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 unitWorkIds = unitWorkIds.Substring(0, unitWorkIds.LastIndexOf(",")); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return unitWorkIds; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据单位工程类别获取单位工程 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="state"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Model.WBS_UnitWork> GetUnitWorkDownList(string ProjectType, string ProjectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (ProjectType == "1") | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2024-08-22 11:00:20 +08:00
										 |  |  |  |                 List<Model.WBS_UnitWork> lis = (from x in Funs.DB.WBS_UnitWork where x.ProjectType == "1" && x.ProjectId == ProjectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") orderby x.UnitWorkCode select x).ToList(); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                 return lis; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (ProjectType == "2") | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2024-08-22 11:00:20 +08:00
										 |  |  |  |                 List<Model.WBS_UnitWork> lis = (from x in Funs.DB.WBS_UnitWork where x.ProjectType == "2" && x.ProjectId == ProjectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") orderby x.UnitWorkCode select x).ToList(); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                 return lis; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |                 return null; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         public static string GetUnitWorkName(string unitWorkIds) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string unitWorkName = string.Empty; | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(unitWorkIds)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 string[] strs = unitWorkIds.Split(','); | 
					
						
							|  |  |  |  |                 foreach (var item in strs) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     var un = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(item); | 
					
						
							|  |  |  |  |                     if (un != null) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         unitWorkName += un.UnitWorkName + GetProjectType(un.ProjectType) + ","; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrEmpty(unitWorkName)) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     unitWorkName = unitWorkName.Substring(0, unitWorkName.LastIndexOf(",")); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return unitWorkName; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位工程下拉列表 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dropName"></param> | 
					
						
							|  |  |  |  |         /// <param name="projectId"></param> | 
					
						
							|  |  |  |  |         /// <param name="isShowPlease"></param> | 
					
						
							|  |  |  |  |         public static void InitUnitWorkDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var unitWorks = from x in Funs.DB.WBS_UnitWork | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |                             where x.ProjectId == projectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                             orderby x.UnitWorkCode | 
					
						
							|  |  |  |  |                             select new | 
					
						
							|  |  |  |  |                             { | 
					
						
							|  |  |  |  |                                 x.UnitWorkId, | 
					
						
							|  |  |  |  |                                 UnitWorkName = GetUnitWorkALLName(x.UnitWorkId) | 
					
						
							|  |  |  |  |                             }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             dropName.DataValueField = "UnitWorkId"; | 
					
						
							|  |  |  |  |             dropName.DataTextField = "UnitWorkName"; | 
					
						
							|  |  |  |  |             dropName.DataSource = unitWorks; | 
					
						
							|  |  |  |  |             dropName.DataBind(); | 
					
						
							|  |  |  |  |             if (isShowPlease) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Funs.FineUIPleaseSelect(dropName); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位工程下拉列表 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dropName"></param> | 
					
						
							|  |  |  |  |         /// <param name="projectId"></param> | 
					
						
							|  |  |  |  |         /// <param name="isShowPlease"></param> | 
					
						
							|  |  |  |  |         public static void InitUnitWorkNameDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var unitWorks = from x in Funs.DB.WBS_UnitWork | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |                             where x.ProjectId == projectId && (x.SuperUnitWork == null || x.SuperUnitWork == "0") | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                             orderby x.UnitWorkCode | 
					
						
							|  |  |  |  |                             select new | 
					
						
							|  |  |  |  |                             { | 
					
						
							|  |  |  |  |                                 x.UnitWorkId, | 
					
						
							|  |  |  |  |                                 UnitWorkName = GetUnitWorkALLName(x.UnitWorkId) | 
					
						
							|  |  |  |  |                             }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             dropName.DataValueField = "UnitWorkName"; | 
					
						
							|  |  |  |  |             dropName.DataTextField = "UnitWorkName"; | 
					
						
							|  |  |  |  |             dropName.DataSource = unitWorks; | 
					
						
							|  |  |  |  |             dropName.DataBind(); | 
					
						
							|  |  |  |  |             if (isShowPlease) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Funs.FineUIPleaseSelect(dropName); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取单位工程名称 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="unitWorkId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static string GetUnitWorkALLName(string unitWorkId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string name = string.Empty; | 
					
						
							| 
									
										
										
										
											2024-08-05 16:16:22 +08:00
										 |  |  |  |             var getu = Funs.DB.WBS_UnitWork.FirstOrDefault(x => x.UnitWorkId == unitWorkId && (x.SuperUnitWork == null || x.SuperUnitWork == "0")); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             if (getu != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrEmpty(getu.ProjectType)) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     name = getu.UnitWorkName + "(" + Funs.GetUnitWorkType(getu.ProjectType) + ")"; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     name = getu.UnitWorkName; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return name; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取主项及设计专业名称 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="unitWorkId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static string GetMainItemAndDesignProfessionalName(string str, string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string name = string.Empty; | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             var mainItems = from x in db.ProjectData_MainItem where x.ProjectId == projectId select x; | 
					
						
							|  |  |  |  |             var designProfessionals = from x in db.Base_DesignProfessional select x; | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(str)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 string[] ids = str.Split(','); | 
					
						
							|  |  |  |  |                 string mainItemId = string.Empty; | 
					
						
							|  |  |  |  |                 foreach (var id in ids) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     string[] strs = id.Split('|'); | 
					
						
							|  |  |  |  |                     if (mainItemId != strs[0])   //新的主项内容 | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         if (!string.IsNullOrEmpty(name)) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             name = name.Substring(0, name.Length - 1) + "),"; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         var mainItem = mainItems.FirstOrDefault(x => x.MainItemId == strs[0]); | 
					
						
							|  |  |  |  |                         if (mainItem != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             name += mainItem.MainItemName + "("; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         var designProfessional = designProfessionals.FirstOrDefault(x => x.DesignProfessionalId == strs[1]); | 
					
						
							|  |  |  |  |                         if (designProfessional != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             name += designProfessional.ProfessionalName + ","; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     else | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         var designProfessional = designProfessionals.FirstOrDefault(x => x.DesignProfessionalId == strs[1]); | 
					
						
							|  |  |  |  |                         if (designProfessional != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             name += designProfessional.ProfessionalName + ","; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     mainItemId = strs[0]; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrEmpty(name)) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     name = name.Substring(0, name.Length - 1) + ")"; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return name; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-04-19 15:34:10 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         public static string GetUnitWorkIdsByUnitWorkNames(string projectId,string unitWorks) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(unitWorks)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 string[] ins = unitWorks.Split(','); | 
					
						
							|  |  |  |  |                 string unitIds = string.Empty; | 
					
						
							|  |  |  |  |                 foreach (string s in ins) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     var q = GetUnitWorkByUnitWorkName(projectId, s.Trim()).UnitWorkId; | 
					
						
							|  |  |  |  |                     unitIds += q + ","; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 return unitIds.Substring(0, unitIds.LastIndexOf(',')); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return string.Empty; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-07-29 23:00:57 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 是否可增加子级 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="postName"></param> | 
					
						
							|  |  |  |  |         /// <returns>true-可以,false-不可以</returns> | 
					
						
							|  |  |  |  |         public static bool IsCanAddUnitWork(string unitWorkId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var unitWork = Funs.DB.WBS_UnitWork.FirstOrDefault(x => x.UnitWorkId == unitWorkId); | 
					
						
							|  |  |  |  |             if (unitWork != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (unitWork.IsChild == true) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     return false; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     return true; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return true; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 是否存在子级单位工程 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="superUnitWork"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static bool IsExitsUnitWorkBySuperUnitWork(string superUnitWork) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_UnitWork where x.SuperUnitWork == superUnitWork select x).Count() > 0; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-28 16:02:26 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据单位工程获取子单位工程信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="supUnitWork"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Model.WBS_UnitWork> GetUnitWorksBySupUnitWork(string supUnitWork) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_UnitWork where x.SuperUnitWork == supUnitWork select x).ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | } |