增加考勤对接需要人员接口和考勤记录接口

This commit is contained in:
李鹏飞 2025-12-24 16:27:05 +08:00
parent 7b3d869a70
commit 26b921cab2
5 changed files with 258 additions and 1 deletions

View File

@ -293,6 +293,133 @@ namespace BLL
}
#endregion
#region
/// <summary>
/// 根据条件获取项目人员信息(支持多条件过滤)
/// </summary>
/// <param name="filter">查询过滤条件</param>
/// <returns></returns>
public static List<Model.PersonItem> getPersonByFilter(Model.ProjectPersonInput filter)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var query = from x in db.View_SitePerson_Person
select x;
// 添加过滤条件
if (filter != null)
{
// 项目ID过滤
if (!string.IsNullOrEmpty(filter.ProjectId))
{
query = query.Where(x => x.ProjectId == filter.ProjectId);
}
// 人员ID过滤
if (!string.IsNullOrEmpty(filter.PersonId))
{
query = query.Where(x => x.PersonId == filter.PersonId);
}
// 项目人员ID过滤
if (!string.IsNullOrEmpty(filter.SitePersonId))
{
query = query.Where(x => x.SitePersonId == filter.SitePersonId);
}
// 姓名过滤(模糊查询)
if (!string.IsNullOrEmpty(filter.PersonName))
{
query = query.Where(x => x.PersonName.Contains(filter.PersonName));
}
// 身份证号过滤
if (!string.IsNullOrEmpty(filter.IdentityCard))
{
query = query.Where(x => x.IdentityCard == filter.IdentityCard);
}
// 卡号过滤
if (!string.IsNullOrEmpty(filter.CardNo))
{
query = query.Where(x => x.CardNo == filter.CardNo);
}
// 单位名称过滤(模糊查询)
if (!string.IsNullOrEmpty(filter.UnitName))
{
query = query.Where(x => x.UnitName.Contains(filter.UnitName));
}
// 班组名称过滤(模糊查询)
if (!string.IsNullOrEmpty(filter.TeamGroupName))
{
query = query.Where(x => x.TeamGroupName.Contains(filter.TeamGroupName));
}
// 岗位名称过滤(模糊查询)
if (!string.IsNullOrEmpty(filter.WorkPostName))
{
query = query.Where(x => x.WorkPostName.Contains(filter.WorkPostName));
}
// 性别过滤
if (!string.IsNullOrEmpty(filter.Sex))
{
query = query.Where(x => x.Sex == filter.Sex);
}
// 电话号码过滤(模糊查询)
if (!string.IsNullOrEmpty(filter.Telephone))
{
query = query.Where(x => x.Telephone.Contains(filter.Telephone));
}
}
// 默认只返回在岗人员
query = query.Where(x => x.States == Const.ProjectPersonStates_1);
var persons = from x in query orderby x.CardNo descending
select new Model.PersonItem
{
PersonId = x.PersonId,
SitePersonId = x.SitePersonId,
CardNo = x.CardNo,
PersonName = x.PersonName,
SexName = x.SexName,
Sex = x.Sex,
IdentityCard = x.IdentityCard,
Address = x.Address,
ProjectId = x.ProjectId,
ProjectCode = x.ProjectCode,
ProjectName = x.ProjectName,
UnitId = x.UnitId,
UnitCode = x.UnitCode,
UnitName = x.UnitName,
TeamGroupId = x.TeamGroupId,
TeamGroupName = x.TeamGroupName,
WorkPostId = x.WorkPostId,
WorkPostName = x.WorkPostName,
InTime = string.Format("{0:yyyy-MM-dd}", x.InTime),
OutTime = string.Format("{0:yyyy-MM-dd}", x.OutTime),
OutResult = x.OutResult,
Telephone = x.Telephone,
PhotoUrl = x.PhotoUrl,
DepartName = x.DepartName,
WorkAreaId = x.WorkAreaId,
WorkAreaName = x.WorkAreaName,
PostType = x.PostType,
IsForeign = x.IsForeign.HasValue ? x.IsForeign : false,
PersonType = x.PersonType,
PersonTypeName = x.PersonType == "2" ? "外聘" : (x.PersonType == "3" ? "第三方" : "员工"),
PostTypeName = db.Sys_Const.FirstOrDefault(z => z.GroupId == ConstValue.Group_PostType && z.ConstValue == x.PostType).ConstText,
};
return persons.ToList();
}
}
#endregion
#region
/// <summary>
/// 记录数

View File

@ -16838,7 +16838,7 @@
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v18.0\WebApplications\Microsoft.WebApplication.targets" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">

View File

@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model
{
public class ProjectPersonInput
{
/// <summary>
/// 人员主键ID
/// </summary>
public string PersonId { get; set; }
/// <summary>
/// 项目人员主键ID
/// </summary>
public string SitePersonId { get; set; }
/// <summary>
/// 卡号
/// </summary>
public string CardNo { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string PersonName { get; set; }
/// <summary>
/// 性别
/// </summary>
public string SexName { get; set; }
/// <summary>
/// 性别
/// </summary>
public string Sex { get; set; }
/// <summary>
/// 身份证号码
/// </summary>
public string IdentityCard { get; set; }
/// <summary>
/// 项目id
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 项目名称
/// </summary>
public string ProjectName { get; set; }
/// <summary>
/// 单位名称
/// </summary>
public string UnitName { get; set; }
/// <summary>
/// 班组名称
/// </summary>
public string TeamGroupName { get; set; }
/// <summary>
/// 岗位名称
/// </summary>
public string WorkPostName { get; set; }
/// <summary>
/// 电话
/// </summary>
public string Telephone { get; set; }
/// <summary>
/// 照片路径
/// </summary>
public string PhotoUrl { get; set; }
/// <summary>
/// 照片二进制
/// </summary>
public string headImage { get; set; }
/// <summary>
/// 部门名称
/// </summary>
public string DepartName { get; set; }
/// <summary>
/// 岗位类型名称
/// </summary>
public string PostTypeName
{
get;
set;
}
/// <summary>
/// 人员类型
/// </summary>
public string PersonTypeName
{
get;
set;
}
}
}

View File

@ -252,6 +252,7 @@
<Compile Include="HJGL\TestPackageAnalyzeOutput.cs" />
<Compile Include="HSSE\DigDataHSEDataCollectItem.cs" />
<Compile Include="HSSE\PageDataPersonInOutItem.cs" />
<Compile Include="HSSE\ProjectPersonInput.cs" />
<Compile Include="HSSE\PuApiOutput.cs" />
<Compile Include="HSSE\PuPayCraftAmountInput.cs" />
<Compile Include="HSSE\WorkPostStatisticItem.cs" />

View File

@ -98,6 +98,39 @@ namespace WebAPI.Controllers
}
#endregion
#region
/// <summary>
/// 根据条件获取项目人员信息(支持分页和过滤)
/// </summary>
/// <param name="filter">查询过滤条件</param>
/// <param name="pagesize">每页条数</param>
/// <param name="pageindex">页码从1开始</param>
/// <param name="returnAll">是否返回全部数据</param>
/// <returns></returns>
public Model.ResponeData getPersonByFilter([FromUri] Model.ProjectPersonInput filter, int pagesize = 15, int pageindex = 1, bool returnAll = false)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getPersonByFilter(filter);
int pageCount = getDataList.Count;
if (!returnAll && pageCount > 0 && pageindex > 0 && pagesize > 0)
{
getDataList = getDataList.Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList();
}
responeData.data = new { pageCount, pageindex, pagesize, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取在岗、离岗、待审人员列表