200 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			200 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | namespace BLL | |||
|  | { | |||
|  |     using System.Collections.Generic; | |||
|  |     using System.Linq; | |||
|  |     using Model; | |||
|  | 
 | |||
|  |     public static class ProjectUnitService | |||
|  |     { | |||
|  |         public static Model.SGGLDB db = Funs.DB; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///获取项目单位信息 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.Project_ProjectUnit GetProjectUnitById(string projectUnitId) | |||
|  |         { | |||
|  |             return Funs.DB.Project_ProjectUnit.FirstOrDefault(e => e.ProjectUnitId == projectUnitId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///获取项目单位信息 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.Project_ProjectUnit GetProjectUnitByUnitIdProjectId(string projectId, string unitId) | |||
|  |         { | |||
|  |             return Funs.DB.Project_ProjectUnit.FirstOrDefault(e => e.ProjectId == projectId && e.UnitId == unitId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///获取项目单位信息 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Project_ProjectUnit> GetProjectUnitListByProjectId(string projectId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 return (from x in db.Project_ProjectUnit | |||
|  |                         join y in db.Base_Unit on x.UnitId equals y.UnitId | |||
|  |                         where x.ProjectId == projectId | |||
|  |                         orderby x.UnitType, y.UnitCode | |||
|  |                         descending | |||
|  |                         select x).ToList(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据项目及单位类型获取单位信息 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Project_ProjectUnit> GetProjectUnitListByProjectIdUnitType(string projectId, string unitType) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 return (from x in db.Project_ProjectUnit | |||
|  |                         join y in db.Base_Unit on x.UnitId equals y.UnitId | |||
|  |                         where x.ProjectId == projectId && x.UnitType == unitType | |||
|  |                         orderby x.UnitType, y.UnitCode descending | |||
|  |                         select x).ToList(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 增加项目单位信息 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static void AddProjectUnit(Project_ProjectUnit projectUnit) | |||
|  |         { | |||
|  |             SGGLDB db = Funs.DB; | |||
|  |             Project_ProjectUnit newProjectUnit = new Project_ProjectUnit | |||
|  |             { | |||
|  |                 ProjectUnitId = SQLHelper.GetNewID(typeof(Model.Project_ProjectUnit)), | |||
|  |                 ProjectId = projectUnit.ProjectId, | |||
|  |                 UnitId = projectUnit.UnitId, | |||
|  |                 UnitType = projectUnit.UnitType, | |||
|  |                 InTime = projectUnit.InTime, | |||
|  |                 OutTime = projectUnit.OutTime, | |||
|  |                 PlanCostA = projectUnit.PlanCostA, | |||
|  |                 PlanCostB = projectUnit.PlanCostB, | |||
|  |                 ContractRange = projectUnit.ContractRange, | |||
|  |                 RealNamePushTime= projectUnit.RealNamePushTime, | |||
|  |             }; | |||
|  |             db.Project_ProjectUnit.InsertOnSubmit(newProjectUnit); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///修改项目单位信息  | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectUnit"></param> | |||
|  |         public static void UpdateProjectUnit(Model.Project_ProjectUnit projectUnit) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Project_ProjectUnit newProjectUnit = db.Project_ProjectUnit.FirstOrDefault(e => e.ProjectUnitId == projectUnit.ProjectUnitId); | |||
|  |             if (newProjectUnit != null) | |||
|  |             { | |||
|  |                 newProjectUnit.UnitType = projectUnit.UnitType; | |||
|  |                 newProjectUnit.InTime = projectUnit.InTime; | |||
|  |                 newProjectUnit.OutTime = projectUnit.OutTime; | |||
|  |                 newProjectUnit.PlanCostA = projectUnit.PlanCostA; | |||
|  |                 newProjectUnit.PlanCostB = projectUnit.PlanCostB; | |||
|  |                 newProjectUnit.ContractRange = projectUnit.ContractRange; | |||
|  |                 newProjectUnit.RealNamePushTime = projectUnit.RealNamePushTime; | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据项目单位Id删除一个项目单位信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectUnitId"></param> | |||
|  |         public static void DeleteProjectProjectUnitById(string projectUnitId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Project_ProjectUnit delProjectUnit = db.Project_ProjectUnit.FirstOrDefault(e => e.ProjectUnitId == projectUnitId); | |||
|  |             if (delProjectUnit != null) | |||
|  |             { | |||
|  |                 db.Project_ProjectUnit.DeleteOnSubmit(delProjectUnit); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///获取当前人单位是否 施工工分包单位且非本单位 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static bool GetProjectUnitTypeByProjectIdUnitId(string projectId, string unitId) | |||
|  |         { | |||
|  |             bool isShow = false; | |||
|  |             if (unitId != Const.UnitId_TCC) | |||
|  |             { | |||
|  |                 var pUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(e => e.ProjectId == projectId && e.UnitId == unitId); | |||
|  |                 if (pUnit != null) | |||
|  |                 { | |||
|  |                     if (pUnit.UnitType == Const.ProjectUnitType_2 || pUnit.UnitType == Const.ProjectUnitType_0) | |||
|  |                     { | |||
|  |                         isShow = true; | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             return isShow; | |||
|  |         } | |||
|  | 
 | |||
|  |         #region 项目类型单位表下拉框 | |||
|  |         /// <summary> | |||
|  |         ///  项目类型单位表下拉框 | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName">下拉框名字</param> | |||
|  |         /// <param name="isShowPlease">是否显示请选择</param> | |||
|  |         public static void InitUnitDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitType, bool isShowPlease) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var pUnit = (from x in db.Project_ProjectUnit | |||
|  |                              join y in db.Base_Unit on x.UnitId equals y.UnitId | |||
|  |                              where x.ProjectId == projectId && x.UnitType == unitType | |||
|  |                              orderby y.UnitCode | |||
|  |                              select y).ToList(); | |||
|  | 
 | |||
|  |                 dropName.DataValueField = "UnitId"; | |||
|  |                 dropName.DataTextField = "UnitName"; | |||
|  |                 dropName.DataSource = pUnit; | |||
|  |                 dropName.DataBind(); | |||
|  |                 if (isShowPlease) | |||
|  |                 { | |||
|  |                     Funs.FineUIPleaseSelect(dropName); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据项目Id删除项目单位 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         public static void DeleteProjectUnitByProjectId(string projectId) | |||
|  |         { | |||
|  |             var q = (from x in db.Project_ProjectUnit where x.ProjectId == projectId select x).ToList(); | |||
|  |             if (q != null) | |||
|  |             { | |||
|  |                 db.Project_ProjectUnit.DeleteAllOnSubmit(q); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         public static List<Model.Project_ProjectUnit> GetProjectUnitListByProjectIdForApi(string projectId, string unitType, string name) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             string[] types = unitType.Split(','); | |||
|  |             return (from x in db.Project_ProjectUnit | |||
|  |                     join y in db.Base_Unit on x.UnitId equals y.UnitId | |||
|  |                     where x.ProjectId == projectId | |||
|  |                     where unitType == "" || types.Contains(x.UnitType) | |||
|  |                     where name == "" || y.UnitName.Contains(name) | |||
|  |                     orderby x.UnitType, y.UnitCode | |||
|  |                     select x).ToList(); | |||
|  |         } | |||
|  |     } | |||
|  | } |