282 lines
10 KiB
C#
282 lines
10 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using Model;
|
|
using BLL;
|
|
|
|
|
|
namespace WebAPI.Controllers.JGZL
|
|
{
|
|
public class JGZLController : ApiController
|
|
{
|
|
#region 用户基本数据,单位,项目,单位工程,签审岗位(无),机构(无)
|
|
|
|
/// <summary>
|
|
/// 用户基本数据,单位,项目,单位工程,签审岗位(无),机构(无)
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public Model.ResponeData getUserList(string UserName,int? PageIndex,int? PageSize)
|
|
{
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
var getUserListQuery = from x in db.Sys_User
|
|
join u in db.Base_Unit on x.UnitId equals u.UnitId into uGrouped
|
|
from ug in uGrouped.DefaultIfEmpty()
|
|
select new
|
|
{
|
|
x.UserId,
|
|
x.Account,
|
|
x.UserName,
|
|
x.Telephone,
|
|
x.IdentityCard,
|
|
x.BirthDay,
|
|
x.Email,
|
|
x.IsPost,
|
|
x.Sex,
|
|
ug.UnitId,
|
|
ug.UnitName,
|
|
ProjectItems = from proj in db.Base_Project
|
|
join pu in db.Project_ProjectUser on proj.ProjectId equals pu.ProjectId
|
|
where pu.UserId == x.UserId
|
|
select new
|
|
{
|
|
proj.ProjectId,
|
|
proj.ProjectName,
|
|
pu.WorkAreaId // 假设 WorkAreaId 是 UnitWorkIds 的来源
|
|
}
|
|
};
|
|
|
|
var getList = getUserListQuery.AsEnumerable()
|
|
.Select(user => new UserItem
|
|
{
|
|
UserId = user.UserId,
|
|
Account = user.Account,
|
|
UserName = user.UserName,
|
|
Telephone = user.Telephone,
|
|
IdentityCard = user.IdentityCard,
|
|
BirthDay = user.BirthDay,
|
|
Email = user.Email,
|
|
IsPost = user.IsPost,
|
|
Sex = user.Sex,
|
|
UnitId = user.UnitId,
|
|
UnitName = user.UnitName,
|
|
ProjectItemList = user.ProjectItems.Select(projectItem => new ProjectItem
|
|
{
|
|
ProjectId = projectItem.ProjectId,
|
|
ProjectName = projectItem.ProjectName,
|
|
UnitWorkItemList = string.IsNullOrEmpty(projectItem.WorkAreaId)
|
|
? new List<UnitWorkItem>()
|
|
: db.WBS_UnitWork
|
|
.Where(uw => projectItem.WorkAreaId.Split(',')
|
|
.Contains(uw.UnitWorkId))
|
|
.Select(uw => new UnitWorkItem
|
|
{
|
|
UnitWorkId = uw.UnitWorkId,
|
|
UnitWorkName = uw.UnitWorkName
|
|
})
|
|
.ToList()
|
|
}).ToList()
|
|
}).ToList();
|
|
|
|
if (!string.IsNullOrEmpty(UserName))
|
|
{
|
|
getList = getList.Where(x => x.UserName.Contains(UserName)).ToList();
|
|
}
|
|
|
|
if (PageIndex > 0 && PageSize > 0)
|
|
{
|
|
getList = getList.Skip(((int)PageIndex - 1) * (int)PageSize).Take((int)PageSize).ToList();
|
|
}
|
|
|
|
responeData.data = new { getList };
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 项目数据
|
|
|
|
/// <summary>
|
|
/// 项目数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public Model.ResponeData getProjedtList()
|
|
{
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
var getList = (from x in db.Base_Project
|
|
select new
|
|
{
|
|
x.ProjectId,
|
|
x.ProjectCode,
|
|
x.ProjectName,
|
|
x.StartDate,
|
|
}).ToList();
|
|
|
|
responeData.data = new { getList };
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 根据项目获取单位工程数据
|
|
|
|
/// <summary>
|
|
/// 根据项目获取单位工程数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public Model.ResponeData getUnitWorkListByProjectId(string ProjectId)
|
|
{
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
var getList = (from x in db.WBS_UnitWork
|
|
where x.ProjectId==ProjectId
|
|
select new
|
|
{
|
|
x.UnitWorkId,
|
|
x.UnitWorkName,
|
|
x.UnitWorkCode,
|
|
}).ToList();
|
|
|
|
responeData.data = new { getList };
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 根据项目获取装置数据
|
|
|
|
/// <summary>
|
|
/// 根据项目获取装置数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public Model.ResponeData getInstallationListByProjectId(string ProjectId)
|
|
{
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
var getList = (from x in db.Project_Installation
|
|
where x.ProjectId==ProjectId
|
|
select new
|
|
{
|
|
x.InstallationId,
|
|
x.InstallationName,
|
|
x.InstallationCode,
|
|
}).ToList();
|
|
|
|
responeData.data = new { getList };
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 单位数据
|
|
|
|
/// <summary>
|
|
/// 单位数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public Model.ResponeData getUnitList()
|
|
{
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
var getList = (from x in db.Base_Unit
|
|
select new
|
|
{
|
|
x.UnitId,
|
|
x.UnitCode,
|
|
x.UnitName,
|
|
}).ToList();
|
|
|
|
responeData.data = new { getList };
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
public class UserItem
|
|
{
|
|
public string UserId { get; set; }
|
|
public string Account { get; set; }
|
|
public string UserName { get; set; }
|
|
public string Telephone { get; set; }
|
|
public string IdentityCard { get; set; }
|
|
public DateTime? BirthDay { get; set; }
|
|
public string Email { get; set; }
|
|
public System.Nullable<bool> IsPost { get; set; }
|
|
public string Sex { get; set; }
|
|
public string UnitId { get; set; }
|
|
public string UnitName { get; set; }
|
|
public List<ProjectItem> ProjectItemList { get; set; }
|
|
|
|
}
|
|
|
|
public class ProjectItem
|
|
{
|
|
public string ProjectId { get; set; }
|
|
public string ProjectName { get; set; }
|
|
public List<UnitWorkItem> UnitWorkItemList { get; set; }
|
|
}
|
|
|
|
public class UnitWorkItem
|
|
{
|
|
public string UnitWorkId { get; set; }
|
|
public string UnitWorkName { get; set; }
|
|
}
|
|
}
|
|
} |