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_CWCEC)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                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();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |