diff --git a/Src/Dlhis.Basic/Organization/Request/TenantDepartmentRequest.cs b/Src/Dlhis.Basic/Organization/Request/TenantDepartmentRequest.cs
index b2bff024..ac876937 100644
--- a/Src/Dlhis.Basic/Organization/Request/TenantDepartmentRequest.cs
+++ b/Src/Dlhis.Basic/Organization/Request/TenantDepartmentRequest.cs
@@ -4,7 +4,10 @@ namespace Dlhis.Basic.Organization.Request;
public class TenantDepartmentRequest
{
- [Required]
+ ///
+ /// 厂区/基地/租户
+ ///
+ [Required(ErrorMessage = "厂区不能为空")]
public string Tenant { get; set; }
///
diff --git a/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs b/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs
index e3c21c36..d0abcd62 100644
--- a/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs
+++ b/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs
@@ -105,11 +105,6 @@ public class GainfoDetailResponse
///
public string CostId { get; set; }
- ///
- /// 已婚/未婚
- ///
- public string Marital { get; set; }
-
///
/// 国家
///
@@ -120,16 +115,16 @@ public class GainfoDetailResponse
///
public string NationName { get; set; }
- ///
- /// 人脸base64
- ///
- public string Face { get; set; }
-
///
/// 厂区
///
public string Factory { get; set; }
+ ///
+ /// 工作地
+ ///
+ public string Workplace { get; set; }
+
///
/// 厂区名称
///
@@ -138,5 +133,14 @@ public class GainfoDetailResponse
///
/// 入职日期
///
- public DateTime OnboardingDate { get; set; }
+ public DateTime? EntryDate { get; set; }
+
+
+
+ //***********************************************************************************************************************
+
+ ///
+ /// 人脸base64
+ ///
+ public string Face { get; set; }
}
diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs
index a49a3ec2..0d6e9e3d 100644
--- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs
+++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs
@@ -14,7 +14,6 @@ using Kurisu.SqlSugar.Services;
using Mapster;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Mvc;
-using System.Linq.Expressions;
namespace Dlhis.Basic.Organization.Services.Implements;
@@ -61,7 +60,7 @@ public class GainfoService : IGainfoService
var currentTenantId = _currentUser.GetStringTenantId();
//根据组织架构搜索档案
- Expression> where = LinqExpressionExtensions.False();
+ var where = LinqExpressionExtensions.False();
foreach (var item in request.DepartmentSelections)
{
var depts = await GetRecursionDepartmentNosAsync(item.DepartmentNos);
@@ -449,13 +448,15 @@ public class GainfoService : IGainfoService
Degree = ga.Degree,
Werks = ga.Werks,
CostId = ga.CostId,
- Marital = "未知",
NativeName = ga.Native,
CountryName = ga.CountryNo,
NationName = ga.Nation,
ClassName = ga.IdClass,
+
+ EntryDate = ga.EntryDate,
+
+ Workplace = ga.Workplace,
Factory = ga.Factory,
- OnboardingDate = ga.CreateTime,
DepartmentName = de.Name,
Position = pos.Name,
@@ -477,9 +478,18 @@ public class GainfoService : IGainfoService
info.Face = await _dbContext.ChangeDb("face").Queryable().Where(x => x.UserCode == info.Code).Select(x => x.Face).SingleAsync();
}
- var tenantsResult = await _tenantApi.GetTenantsInternalAsync();
- var tenants = tenantsResult.Data;
- info.FactoryName = tenants.FirstOrDefault(x => x.Code == info.Factory)?.Name;
+ try
+ {
+ var tenantsResult = await _tenantApi.GetTenantsInternalAsync();
+ var tenants = tenantsResult.Data;
+
+ info.Workplace = tenants.FirstOrDefault(x => x.Code == info.Workplace)?.Name;
+ info.Factory = tenants.FirstOrDefault(x => x.Code == info.Factory)?.Name;
+ }
+ catch (Exception)
+ {
+
+ }
}
return info;
@@ -546,9 +556,10 @@ public class GainfoService : IGainfoService
return departmentNos.Distinct().ToList();
- void RecursionGetNext(string currentCode, List departments, List result)
+ //local method
+ void RecursionGetNext(string currentNo, List departments, List result)
{
- var next = departments.Where(x => x.PNo == currentCode).ToList();
+ var next = departments.Where(x => x.PNo == currentNo).ToList();
foreach (var item in next)
{
diff --git a/Src/Dlhis.Canteen/MealSupplementRecord/Request/MealSupplementRecordRequest.cs b/Src/Dlhis.Canteen/MealSupplementRecord/Request/MealSupplementRecordRequest.cs
index 4018dfe4..c93f2bb1 100644
--- a/Src/Dlhis.Canteen/MealSupplementRecord/Request/MealSupplementRecordRequest.cs
+++ b/Src/Dlhis.Canteen/MealSupplementRecord/Request/MealSupplementRecordRequest.cs
@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
+using Dlhis.Entity.Basic.Enums;
using Kurisu.Core.CustomClass;
using Kurisu.Core.DataAccess.Dto;
@@ -6,6 +7,17 @@ namespace Dlhis.Canteen.MealSupplementRecord.Request;
public class MealSupplementRecordRequest : PageDto, IValidatableObject
{
+ ///
+ /// 餐补状态 MealSupplementStatusEnumtype
+ ///
+ [EnumDataType(typeof(MealSupplementStatusEnumtype))]
+ public MealSupplementStatusEnumtype? Status { get; set; }
+
+ ///
+ /// 同步状态
+ ///
+ public bool? Sync { get; set; }
+
///
/// 餐补日期范围
///
diff --git a/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs b/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs
index 7e9e287a..121d47e3 100644
--- a/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs
+++ b/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs
@@ -3,6 +3,7 @@ using Dlhis.Canteen.MealSupplementRecord.Response;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Basic.Enums;
using Dlhis.Entity.Canteen.Entities;
+using Dlhis.Sys.Api;
using Kurisu.AspNetCore.Utils.Extensions;
using Kurisu.Core.DataAccess.Dto;
using Kurisu.Core.User.Abstractions;
@@ -17,36 +18,60 @@ public class MealSupplementRecordService : IMealSupplementRecordService
private readonly IDbContext _dbContext;
private readonly ICurrentUser _currentUser;
+ private readonly ITenantApi _tenantApi;
- public MealSupplementRecordService(IDbContext dbContext, ICurrentUser currentUser)
+ public MealSupplementRecordService(IDbContext dbContext, ICurrentUser currentUser, ITenantApi tenantApi)
{
_dbContext = dbContext;
_currentUser = currentUser;
+ _tenantApi = tenantApi;
}
public async Task> GetPageAsync(MealSupplementRecordRequest request)
{
var page = await _dbContext.Queryable()
.LeftJoin((x, ga) => x.Code == ga.Code)
- .WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search || ga.Name.Contains(request.Search))
- .WhereIF(request.DateTimePeriod?.Start.HasValue == true && request.DateTimePeriod?.End.HasValue == true,
+ .WhereIF(request.Status.HasValue, x => x.Status == request.Status)
+ .WhereIF(request.Sync.HasValue, x => x.Sync == request.Sync)
+ .WhereIF(request.DateTimePeriod?.Start.HasValue == true
+ && request.DateTimePeriod?.End.HasValue == true,
x => x.Date >= request.DateTimePeriod.Start && x.Date <= request.DateTimePeriod.End)
+ .WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search || ga.Name == request.Search)
.Select((x, ga) => new MealSupplementRecordResponse
{
Amount = x.Amount,
Code = x.Code,
Date = x.Date,
- Factory = x.Factory,
Remark = x.Remark,
Result = x.Result,
Status = x.Status,
Sync = x.Sync,
UniqueId = x.UniqueId,
UserName = ga.Name,
+
Workplace = x.Workplace,
+ Factory = x.Factory,
})
.ToPageListAsync(request);
+
+ try
+ {
+ var tenantsResult = await _tenantApi.GetTenantsInternalAsync();
+ var tenants = tenantsResult.Data;
+
+ page.Data.ForEach(item =>
+ {
+ item.Workplace = tenants.FirstOrDefault(x => x.Code == item.Workplace)?.Name;
+ item.Factory = tenants.FirstOrDefault(x => x.Code == item.Factory)?.Name;
+ });
+ }
+ catch (Exception)
+ {
+
+ }
+
+
return page;
}
diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
index 5efaab5a..cfea2a15 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
@@ -9,11 +9,16 @@ namespace Dlhis.ScheduledTask.DeviceUploadLog.Request;
public class DeviceUploadLogPageRequest : PageDto, IValidatableObject
{
///
- /// 设备类型
+ /// 设备类型 DeviceTypeEnumType
///
[EnumDataType(typeof(DeviceTypeEnumType))]
public DeviceTypeEnumType? Type { get; set; }
+ ///
+ /// 同步状态
+ ///
+ public bool? Sync { get; set; }
+
///
/// 查询日期范围类型 DateTimeSearchEnumType
diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
index 3ff6995e..b556a304 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
@@ -35,6 +35,7 @@ public class DeviceUploadLogService : IDeviceUploadLogService
.LeftJoin((deviceUp, device) => deviceUp.DeviceUniqueNo == device.UniqueNo)
.LeftJoin((deviceUp, device, ga) => deviceUp.UserUniqueNo == ga.Code)
.WhereIF(type.HasValue, (deviceUp, device) => deviceUp.Type == type)
+ .WhereIF(request.Sync.HasValue, deviceUp => deviceUp.Sync == request.Sync)
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, deviceUp => deviceUp.RaiseDateTime >= request.SearchDateTimePeriod.Start)
.WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, deviceUp => deviceUp.RaiseDateTime <= request.SearchDateTimePeriod.End)
.WhereIF(request.Search.IsPresent(), (deviceUp, device, ga) =>
diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs
index 2d0b899a..ae023260 100644
--- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs
+++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs
@@ -32,7 +32,8 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
.WhereIF(request.Status.IsPresent(), deviceTask => request.Status.Contains(deviceTask.Status))
.WhereIF(request.Type.HasValue, (deviceTask, ga, device) => deviceTask.DeviceType == request.Type)
.WhereIF(!request.Search.IsEmpty(), (deviceTask, ga, device) =>
- ga.Name == request.Search
+ ga.No == request.Search //详情使用
+ || ga.Name == request.Search
|| ga.Code == request.Search
|| deviceTask.DeviceUniqueNo == request.Search
)