932 lines
		
	
	
		
			35 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			932 lines
		
	
	
		
			35 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Linq;
 | ||
| using System.Text;
 | ||
| using System.Web.UI.WebControls;
 | ||
| 
 | ||
| namespace BLL
 | ||
| {
 | ||
|     /// <summary>
 | ||
|     /// 单位信息
 | ||
|     /// </summary>
 | ||
|     public static class UnitService
 | ||
|     {
 | ||
|         public static Model.SGGLDB db = Funs.DB;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取单位信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="UnitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static Model.Base_Unit GetUnitByUnitId(string unitId)
 | ||
|         {
 | ||
|             return Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId == unitId);
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取单位信息是否存在
 | ||
|         /// </summary>
 | ||
|         /// <param name="UnitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static bool IsExitUnitByUnitName(string unitId, string unitName)
 | ||
|         {
 | ||
|             var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId != unitId && x.UnitName == unitName);
 | ||
|             return (unit != null);
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取单位信息是否存在
 | ||
|         /// </summary>
 | ||
|         /// <param name="UnitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static bool IsExitUnitByUnitCode(string unitId, string unitCode)
 | ||
|         {
 | ||
|             var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId != unitId && x.UnitCode == unitCode);
 | ||
|             return (unit != null);
 | ||
|         }
 | ||
| 
 | ||
|         public static Model.Base_Unit getUnitByCollCropCodeUnitName(string CollCropCode, string unitName)
 | ||
|         {
 | ||
|             var getUnit = Funs.DB.Base_Unit.FirstOrDefault(e => e.CollCropCode == CollCropCode);
 | ||
|             if (getUnit != null)
 | ||
|             {
 | ||
|                 return getUnit;
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 return Funs.DB.Base_Unit.FirstOrDefault(e => e.UnitName == unitName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #region 单位信息维护
 | ||
|         /// <summary>
 | ||
|         /// 添加单位信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="unit"></param>
 | ||
|         public static void AddUnit(Model.Base_Unit unit)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             Model.Base_Unit newUnit = new Model.Base_Unit
 | ||
|             {
 | ||
|                 UnitId = unit.UnitId,
 | ||
|                 UnitCode = unit.UnitCode,
 | ||
|                 UnitName = unit.UnitName,
 | ||
|                 ShortUnitName = unit.ShortUnitName,
 | ||
|                 UnitTypeId = unit.UnitTypeId,
 | ||
|                 Corporate = unit.Corporate,
 | ||
|                 Address = unit.Address,
 | ||
|                 Telephone = unit.Telephone,
 | ||
|                 Fax = unit.Fax,
 | ||
|                 EMail = unit.EMail,
 | ||
|                 ProjectRange = unit.ProjectRange,
 | ||
|                 IsBranch = unit.IsBranch,
 | ||
|                 DataSources = unit.DataSources,
 | ||
|                 FromUnitId = unit.FromUnitId,
 | ||
|                 SupUnitId = unit.SupUnitId,
 | ||
|                 CollCropCode = unit.CollCropCode,
 | ||
|                 IsChina = unit.IsChina,
 | ||
|                 LinkName = unit.LinkName,
 | ||
|                 IdcardType = unit.IdcardType,
 | ||
|                 IdcardNumber = unit.IdcardNumber,
 | ||
|                 LinkMobile = unit.LinkMobile,
 | ||
|                 CollCropStatus = unit.CollCropStatus,
 | ||
|                 RealNamePushTime = null,
 | ||
|             };
 | ||
|             db.Base_Unit.InsertOnSubmit(newUnit);
 | ||
|             db.SubmitChanges();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 修改单位信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="unit"></param>
 | ||
|         public static void UpdateUnit(Model.Base_Unit unit)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             Model.Base_Unit newUnit = db.Base_Unit.FirstOrDefault(e => e.UnitId == unit.UnitId);
 | ||
|             if (newUnit != null)
 | ||
|             {
 | ||
|                 newUnit.UnitCode = unit.UnitCode;
 | ||
|                 newUnit.UnitName = unit.UnitName;
 | ||
|                 newUnit.UnitTypeId = unit.UnitTypeId;
 | ||
|                 newUnit.Corporate = unit.Corporate;
 | ||
|                 newUnit.Address = unit.Address;
 | ||
|                 newUnit.ShortUnitName = unit.ShortUnitName;
 | ||
|                 newUnit.Telephone = unit.Telephone;
 | ||
|                 newUnit.Fax = unit.Fax;
 | ||
|                 newUnit.EMail = unit.EMail;
 | ||
|                 newUnit.ProjectRange = unit.ProjectRange;
 | ||
|                 newUnit.IsBranch = unit.IsBranch;
 | ||
|                 newUnit.FromUnitId = unit.FromUnitId;
 | ||
|                 newUnit.SupUnitId = unit.SupUnitId;
 | ||
|                 newUnit.CollCropCode = unit.CollCropCode;
 | ||
|                 newUnit.IsChina = unit.IsChina;
 | ||
|                 newUnit.LinkName = unit.LinkName;
 | ||
|                 newUnit.IdcardType = unit.IdcardType;
 | ||
|                 newUnit.IdcardNumber = unit.IdcardNumber;
 | ||
|                 newUnit.LinkMobile = unit.LinkMobile;
 | ||
|                 newUnit.CollCropStatus = unit.CollCropStatus;
 | ||
|                 newUnit.RealNamePushTime = null;
 | ||
|                 db.SubmitChanges();
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据单位ID删除单位信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="unitId"></param>
 | ||
|         public static void DeleteUnitById(string unitId)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             var delUnit = db.Base_Unit.FirstOrDefault(e => e.UnitId == unitId);
 | ||
|             if (delUnit != null)
 | ||
|             {
 | ||
|                 db.Base_Unit.DeleteOnSubmit(delUnit);
 | ||
|                 db.SubmitChanges();
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取单位下拉选项
 | ||
|         /// </summary>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetUnitDropDownList()
 | ||
|         {
 | ||
|             var list = (from x in Funs.DB.Base_Unit select x).OrderBy(x => x.UnitCode).ToList();
 | ||
|             return list;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取本单位下拉选项
 | ||
|         /// </summary>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetThisUnitDropDownList()
 | ||
|         {
 | ||
|             var list = (from x in Funs.DB.Base_Unit where x.UnitId == Const.UnitId_TCC select x).ToList();
 | ||
|             return list;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取当前单位下分公司拉选项
 | ||
|         /// </summary>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetSubUnitList(string unitId)
 | ||
|         {
 | ||
|             List<Model.Base_Unit> unitList = new List<Model.Base_Unit>();
 | ||
|             if (string.IsNullOrEmpty(unitId))
 | ||
|             {
 | ||
|                 unitId = Const.UnitId_TCC;
 | ||
|             }
 | ||
|             var unitIdList = GetChildrenUnitId(unitId);
 | ||
|             if (unitIdList.Count() > 0)
 | ||
|             {
 | ||
|                 unitList = (from x in Funs.DB.Base_Unit where unitIdList.Contains(x.UnitId) || x.UnitId == unitId select x).ToList();
 | ||
|             }
 | ||
|             return unitList;
 | ||
|         }
 | ||
| 
 | ||
|         #region 根据UnitId返回对应的ChildrenUnitId
 | ||
|         /// <summary>
 | ||
|         /// 根据用户UnitId返回对应的ChildrenUnitId
 | ||
|         /// </summary>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<string> GetChildrenUnitId(string unitId)
 | ||
|         {
 | ||
|             List<string> unitIdList = new List<string>();
 | ||
|             var unit = Funs.DB.Base_Unit.FirstOrDefault(e => e.SupUnitId == unitId);  //本单位
 | ||
|             if (unit != null)
 | ||
|             {
 | ||
|                 unitIdList.Add(unit.UnitId);
 | ||
|                 GetChildrenUnitId(unit.UnitId);
 | ||
|             }
 | ||
|             return unitIdList;
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取分公司列表
 | ||
|         /// </summary>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetBranchUnitList(bool isThisUnit)
 | ||
|         {
 | ||
|             var list = (from x in Funs.DB.Base_Unit
 | ||
|                         where x.IsBranch == true
 | ||
|                         select x).OrderBy(x => x.UnitCode).ToList();
 | ||
|             if (isThisUnit)
 | ||
|             {
 | ||
|                 list = (from x in Funs.DB.Base_Unit
 | ||
|                         where x.IsBranch == true || x.UnitId == Const.UnitId_TCC
 | ||
|                         select x).OrderBy(x => x.UnitCode).ToList();
 | ||
|             }
 | ||
|             return list;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取单位信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="UnitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetUnitListByProjectId(string projectId)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 List<Model.Base_Unit> units = new List<Model.Base_Unit>();
 | ||
|                 if (!string.IsNullOrEmpty(projectId))
 | ||
|                 {
 | ||
|                     units = (from x in db.Base_Unit
 | ||
|                              join y in db.Project_ProjectUnit on x.UnitId equals y.UnitId
 | ||
|                              where y.ProjectId == projectId
 | ||
|                              select x).ToList();
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     units = (from x in db.Base_Unit
 | ||
|                              orderby x.UnitCode
 | ||
|                              select x).ToList();
 | ||
|                 }
 | ||
|                 units = units.OrderBy(x => x.UnitCode).ToList();
 | ||
|                 return units;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据项目Id获取单位名称下拉选择项
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetUnitByProjectIdList(string projectId)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var q = (from x in db.Base_Unit
 | ||
|                          join y in db.Project_ProjectUnit
 | ||
|                          on x.UnitId equals y.UnitId
 | ||
|                          where y.ProjectId == projectId
 | ||
|                          orderby x.UnitCode
 | ||
|                          select x).ToList();
 | ||
|                 return q;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据项目Id获取单位名称下拉选择项
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetUnitByProjectIdUnitTypeList(string projectId, string unitType)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var q = (from x in db.Base_Unit
 | ||
|                          join y in db.Project_ProjectUnit
 | ||
|                          on x.UnitId equals y.UnitId
 | ||
|                          where y.ProjectId == projectId && (y.UnitType == unitType || string.IsNullOrEmpty(unitType))
 | ||
|                          orderby x.UnitCode
 | ||
|                          select x).ToList();
 | ||
|                 return q;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据项目Id获取单位名称下拉选择项
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetUnitByProjectIdUnitTypeList2(string projectId)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var q = (from x in db.Base_Unit
 | ||
|                          join y in db.Project_ProjectUnit
 | ||
|                          on x.UnitId equals y.UnitId
 | ||
|                          where y.ProjectId == projectId && (y.UnitType == BLL.Const.ProjectUnitType_2 || y.UnitType == BLL.Const.ProjectUnitType_1)
 | ||
|                          orderby x.UnitCode
 | ||
|                          select x).ToList();
 | ||
|                 return q;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据项目Id获取单位名称下拉选择项(不包含某个单位)
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetUnitByProjectIdListNotContainOneUnit(string projectId, string unitId)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var q = (from x in db.Base_Unit
 | ||
|                          join y in db.Project_ProjectUnit
 | ||
|                          on x.UnitId equals y.UnitId
 | ||
|                          where y.ProjectId == projectId && (x.UnitId != unitId || unitId == null)
 | ||
|                          orderby x.UnitCode
 | ||
|                          select x).ToList();
 | ||
|                 return q;
 | ||
|             }
 | ||
|         }
 | ||
|         public static List<Model.Base_Unit> GetUnitByProjectIdListNotContainOneUnit(string projectId, string unitId, string key)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var q = (from x in db.Base_Unit
 | ||
|                          join y in db.Project_ProjectUnit
 | ||
|                          on x.UnitId equals y.UnitId
 | ||
|                          where y.ProjectId == projectId && (unitId == null || x.UnitId != unitId) && (key == null || x.UnitCode.Contains(key) || x.UnitName.Contains(key))
 | ||
|                          orderby x.UnitCode
 | ||
|                          select x).ToList();
 | ||
|                 return q;
 | ||
|             }
 | ||
|         }
 | ||
|         /// <summary>
 | ||
|         /// 获取单位名称
 | ||
|         /// </summary>
 | ||
|         /// <param name="UnitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static string GetUnitNameByUnitId(string unitId)
 | ||
|         {
 | ||
|             string name = string.Empty;
 | ||
|             var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId == unitId);
 | ||
|             if (unit != null)
 | ||
|             {
 | ||
|                 name = unit.UnitName;
 | ||
|             }
 | ||
|             return name;
 | ||
|         }
 | ||
| 
 | ||
|         public static string GetUnitNameByUnitId(object unitId)
 | ||
|         {
 | ||
|             string name = string.Empty;
 | ||
|             if (unitId != null)
 | ||
|             {
 | ||
|                 var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId == unitId.ToString());
 | ||
|                 if (unit != null)
 | ||
|                 {
 | ||
|                     name = unit.UnitName;
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             return name;
 | ||
|         }
 | ||
|         public static string GetInstallationNameByUnitId(string installationId)
 | ||
|         {
 | ||
|             string name = string.Empty;
 | ||
|             var unit = Funs.DB.WBS_Installation.FirstOrDefault(x => x.InstallationId == installationId);
 | ||
|             if (unit != null)
 | ||
|             {
 | ||
|                 name = unit.InstallationName;
 | ||
|             }
 | ||
|             return name;
 | ||
|         }
 | ||
|         /// <summary>
 | ||
|         /// 获取单位简称
 | ||
|         /// </summary>
 | ||
|         /// <param name="UnitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static string GetShortUnitNameByUnitId(string unitId)
 | ||
|         {
 | ||
|             string name = string.Empty;
 | ||
|             var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId == unitId);
 | ||
|             if (unit != null)
 | ||
|             {
 | ||
|                 name = unit.ShortUnitName;
 | ||
|                 if (string.IsNullOrEmpty(name))
 | ||
|                 {
 | ||
|                     name = unit.UnitName;
 | ||
|                 }
 | ||
|             }
 | ||
|             return name;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取单位编号
 | ||
|         /// </summary>
 | ||
|         /// <param name="UnitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static string GetUnitCodeByUnitId(string unitId)
 | ||
|         {
 | ||
|             string code = string.Empty;
 | ||
|             var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId == unitId);
 | ||
|             if (unit != null)
 | ||
|             {
 | ||
|                 code = unit.UnitCode;
 | ||
|             }
 | ||
|             return code;
 | ||
|         }
 | ||
| 
 | ||
|         #region 单位表下拉框
 | ||
|         /// <summary>
 | ||
|         ///  单位表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void InitUnitDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetUnitListByProjectId(projectId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取分公司表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName"></param>
 | ||
|         /// <param name="isShowPlease"></param>
 | ||
|         public static void InitBranchUnitDropDownList(FineUIPro.DropDownList dropName, string unitId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetSubUnitList(unitId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  单位表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void InitUnitNoUnitIdDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetUnitByProjectIdListNotContainOneUnit(projectId, unitId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  根据单位类型获取单位表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void InitUnitByProjectIdUnitTypeDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitType, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetUnitByProjectIdUnitTypeList(projectId, unitType);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  根据单位类型获取单位表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void InitUnitByProjectIdUnitTypeDropDownList2(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetUnitByProjectIdUnitTypeList2(projectId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  根据单位类型获取单位表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void InitUnitNameByProjectIdUnitTypeDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitType, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitName";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetUnitByProjectIdUnitTypeList(projectId, unitType);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据项目Id获取单位名称下拉选择项(总包和施工分包方)
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetMainAndSubUnitByProjectIdList(string projectId)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var q = (from x in db.Base_Unit
 | ||
|                          join y in db.Project_ProjectUnit
 | ||
|                          on x.UnitId equals y.UnitId
 | ||
|                          where y.ProjectId == projectId
 | ||
|                          && (y.UnitType == BLL.Const.ProjectUnitType_1 || y.UnitType == BLL.Const.ProjectUnitType_2) && (y.OutTime == null || y.OutTime >= Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01"))
 | ||
|                          select x).OrderBy(x => x.UnitCode).ToList();
 | ||
|                 return q;
 | ||
|             }
 | ||
|         }
 | ||
|         /// <summary>
 | ||
|         /// 单位下拉选择项(添加其他单位)
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName"></param>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <param name="isShowPlease"></param>
 | ||
|         public static void InitUnitOtherDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
| 
 | ||
|             List<Model.Base_Unit> units = new List<Model.Base_Unit>();
 | ||
|             units.AddRange(BLL.UnitService.GetUnitListByProjectId(projectId));
 | ||
| 
 | ||
|             Model.Base_Unit other = new Model.Base_Unit
 | ||
|             {
 | ||
|                 UnitName = "其他",
 | ||
|                 UnitId = "0"
 | ||
|             };
 | ||
|             units.Add(other);
 | ||
| 
 | ||
|             dropName.DataSource = units;
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  单位表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void InitUnitNotsub(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetAllNoSubUnitList(projectId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取非分包所有单位
 | ||
|         /// </summary>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetAllNoSubUnitList(string projectId)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var q = (from x in db.Base_Unit
 | ||
|                          orderby x.UnitCode
 | ||
|                          select x).ToList();
 | ||
|                 if (!string.IsNullOrEmpty(projectId))
 | ||
|                 {
 | ||
|                     q = (from x in q
 | ||
|                          join y in db.Project_ProjectUnit on x.UnitId equals y.UnitId
 | ||
|                          where (y.ProjectId == projectId && y.UnitType != Const.ProjectUnitType_2)
 | ||
|                          select x).ToList();
 | ||
|                 }
 | ||
|                 q = q.OrderByDescending(x => x.UnitCode).ToList();
 | ||
|                 return q;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  单位表下拉框
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void GetUnit(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = GetUnitByProjectIdList(projectId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据项目Id获取单位名称下拉选择项
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void InitUnitByProjectIdUnitTypeDropDownList1(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetUnitByProjectIdList(projectId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据项目Id获取单位名称下拉选择项
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName">下拉框名字</param>
 | ||
|         /// <param name="isShowPlease">是否显示请选择</param>
 | ||
|         public static void InitBranchUnitDropDownList(FineUIPro.DropDownList dropName, bool isThis, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = GetBranchUnitList(isThis);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #region 根据多单位ID得到单位名称字符串
 | ||
|         /// <summary>
 | ||
|         /// 根据多单位ID得到单位名称字符串
 | ||
|         /// </summary>
 | ||
|         /// <param name="bigType"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static string getUnitNamesUnitIds(object unitIds)
 | ||
|         {
 | ||
|             string unitName = string.Empty;
 | ||
|             if (unitIds != null)
 | ||
|             {
 | ||
|                 string[] ids = unitIds.ToString().Split(',');
 | ||
|                 foreach (string id in ids)
 | ||
|                 {
 | ||
|                     var q = GetUnitByUnitId(id);
 | ||
|                     if (q != null)
 | ||
|                     {
 | ||
|                         unitName += q.UnitName + ",";
 | ||
|                     }
 | ||
|                 }
 | ||
|                 if (unitName != string.Empty)
 | ||
|                 {
 | ||
|                     unitName = unitName.Substring(0, unitName.Length - 1); ;
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             return unitName;
 | ||
|         }
 | ||
|         public static string getDistinctUnitNamesUnitIds(object unitIds)
 | ||
|         {
 | ||
|             string unitName = string.Empty;
 | ||
|             if (unitIds != null)
 | ||
|             {
 | ||
|                 string[] ids = unitIds.ToString().Split(',');
 | ||
|                 var q = from u in Funs.DB.Base_Unit
 | ||
|                         where ids.Contains(u.UnitId)
 | ||
|                         select u.UnitName;
 | ||
|                 var names = q.ToList();
 | ||
|                 unitName = string.Join(",", names);
 | ||
|             }
 | ||
| 
 | ||
|             return unitName;
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  根据项目Id获取总包和分包单位名称项
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId">项目Id</param>
 | ||
|         /// <returns></returns>
 | ||
|         public static ListItem[] drpMainOrSubUnitList(string projectId)
 | ||
|         {
 | ||
|             var q = (from x in Funs.DB.Project_ProjectUnit
 | ||
|                      join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
 | ||
|                      where x.ProjectId == projectId
 | ||
|                      //where (x.UnitType == Const.ProjectUnitType_1 || x.UnitType == Const.ProjectUnitType_2)
 | ||
|                      orderby y.UnitCode
 | ||
|                      select y).ToList();
 | ||
|             ListItem[] list = new ListItem[q.Count()];
 | ||
|             for (int i = 0; i < list.Count(); i++)
 | ||
|             {
 | ||
|                 list[i] = new ListItem(q[i].UnitName ?? "", q[i].UnitId);
 | ||
|             }
 | ||
|             return list;
 | ||
|         }
 | ||
|         public static void InitUnitDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "Value";
 | ||
|             dropName.DataTextField = "Text";
 | ||
|             dropName.DataSource = drpMainOrSubUnitList(projectId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 字符串转化-》单位名称转化为对应的单位ID
 | ||
|         /// </summary>
 | ||
|         /// <param name="unitNames">带“,”的一个或多个单位名称</param>
 | ||
|         /// <returns></returns>
 | ||
|         public static string GetUnitIds(string unitNames)
 | ||
|         {
 | ||
|             if (!string.IsNullOrEmpty(unitNames))
 | ||
|             {
 | ||
|                 string[] ins = unitNames.Split(',');
 | ||
|                 string unitIds = string.Empty;
 | ||
|                 foreach (string s in ins)
 | ||
|                 {
 | ||
|                     var q = BLL.UnitService.getUnitByUnitName(s);
 | ||
|                     unitIds = unitIds + q.UnitId + ",";
 | ||
|                 }
 | ||
|                 return unitIds.Substring(0, unitIds.Length - 1);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 return string.Empty;
 | ||
|             }
 | ||
|         }
 | ||
|         /// <summary>
 | ||
|         /// 根据单位名称获取单位信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="unitName"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static Model.Base_Unit getUnitByUnitName(string unitName)
 | ||
|         {
 | ||
|             return Funs.DB.Base_Unit.FirstOrDefault(e => e.UnitName == unitName);
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  根据项目Id获取单位名称项
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static ListItem[] drpUnitItemListByProjectId(string projectId)
 | ||
|         {
 | ||
|             var q = (from x in Funs.DB.Project_ProjectUnit
 | ||
|                      join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
 | ||
|                      where x.ProjectId == projectId
 | ||
|                      orderby y.UnitCode
 | ||
|                      select y).ToList();
 | ||
|             ListItem[] list = new ListItem[q.Count()];
 | ||
|             for (int i = 0; i < list.Count(); i++)
 | ||
|             {
 | ||
|                 list[i] = new ListItem(q[i].UnitName ?? "", q[i].UnitId);
 | ||
|             }
 | ||
|             return list;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取监理区域下施工单位
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <param name="unitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetSubUnitsListBySupervisorUnitId(string projectId, string unitId)
 | ||
|         {
 | ||
|             var q = (from x in Funs.DB.Project_ProjectUnit
 | ||
|                      join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
 | ||
|                      join z in Funs.DB.ProjectData_WorkArea on y.UnitId equals z.UnitId
 | ||
|                      where x.ProjectId == projectId && (y.UnitId == unitId || z.SupervisorUnitId == unitId) && x.UnitType == BLL.Const.ProjectUnitType_2
 | ||
|                      orderby y.UnitCode
 | ||
|                      select y).Distinct().ToList();           
 | ||
|             return q;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取登陆用户分包单位名称项
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <param name="unitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static ListItem[] GetSubUnitNameBySupervisorUnitIdList(string projectId, string unitId)
 | ||
|         {
 | ||
|             var q = (from x in Funs.DB.Project_ProjectUnit
 | ||
|                      join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
 | ||
|                      join z in Funs.DB.ProjectData_WorkArea on y.UnitId equals z.UnitId
 | ||
|                      where x.ProjectId == projectId && (y.UnitId == unitId || z.SupervisorUnitId == unitId) && x.UnitType == BLL.Const.ProjectUnitType_2
 | ||
|                      orderby y.UnitCode
 | ||
|                      select y).Distinct().ToList();
 | ||
|             ListItem[] list = new ListItem[q.Count()];
 | ||
|             for (int i = 0; i < q.Count(); i++)
 | ||
|             {
 | ||
|                 list[i] = new ListItem(q[i].UnitName ?? "", q[i].UnitId.ToString());
 | ||
|             }
 | ||
|             return list;
 | ||
|         }        
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取登陆用户分包单位名称项
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName"></param>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <param name="unitId"></param>
 | ||
|         /// <param name="isShowPlease"></param>
 | ||
|         public static void InitSubUnitNameDownList(FineUIPro.DropDownList dropName, string projectId,string unitId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "Value";
 | ||
|             dropName.DataTextField = "Text";
 | ||
|             dropName.DataSource = GetSubUnitNameBySupervisorUnitIdList(projectId, unitId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取分包单位
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <param name="unitId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static ListItem[] GetSubUnitNameList(string projectId, string unitId)
 | ||
|         {
 | ||
|             var q = (from x in Funs.DB.Project_ProjectUnit
 | ||
|                      join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
 | ||
|                      where x.ProjectId == projectId && y.UnitId == unitId  && x.UnitType == BLL.Const.ProjectUnitType_2
 | ||
|                      orderby y.UnitCode
 | ||
|                      select y).Distinct().ToList();
 | ||
|             ListItem[] list = new ListItem[q.Count()];
 | ||
|             for (int i = 0; i < q.Count(); i++)
 | ||
|             {
 | ||
|                 list[i] = new ListItem(q[i].UnitName ?? "", q[i].UnitId.ToString());
 | ||
|             }
 | ||
|             return list;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取分包单位下拉选择
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName"></param>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <param name="unitId"></param>
 | ||
|         /// <param name="isShowPlease"></param>
 | ||
|         public static void InitSubUnitNameListDownList(FineUIPro.DropDownList dropName, string projectId, string unitId, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "Value";
 | ||
|             dropName.DataTextField = "Text";
 | ||
|             dropName.DataSource = GetSubUnitNameList(projectId, unitId);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据单位类型获取单位下拉选项
 | ||
|         /// </summary>
 | ||
|         /// <param name="dropName"></param>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <param name="unitType"></param>
 | ||
|         /// <param name="isShowPlease"></param>
 | ||
|         public static void InitUnitNameByUnitTypeDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitType, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = BLL.UnitService.GetUnitByProjectIdUnitTypeList(projectId, unitType);
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public static void InitNoThisAllUnitDownList(FineUIPro.DropDownList dropName, bool isShowPlease)
 | ||
|         {
 | ||
|             dropName.DataValueField = "UnitId";
 | ||
|             dropName.DataTextField = "UnitName";
 | ||
|             dropName.DataSource = GetNoThisAllUnitList();
 | ||
|             dropName.DataBind();
 | ||
|             if (isShowPlease)
 | ||
|             {
 | ||
|                 Funs.FineUIPleaseSelect(dropName);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取除本单位外的所有单位名称下拉选择项
 | ||
|         /// </summary>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.Base_Unit> GetNoThisAllUnitList()
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var q = (from x in db.Base_Unit where x.UnitId != BLL.Const.UnitId_TCC orderby x.UnitCode select x).ToList();
 | ||
|                 return q;
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| }
 |