fix:交工资料

This commit is contained in:
geh 2025-04-02 17:53:26 +08:00
parent ef4490c9f5
commit 1a814d2b0c
1 changed files with 282 additions and 0 deletions

View File

@ -0,0 +1,282 @@
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; }
}
}
}