feat 获取当前人员信息
This commit is contained in:
@@ -32,7 +32,7 @@ public class MealUserService : IMealUserService
|
|||||||
|
|
||||||
public async Task AddAsync(MealUserAddRequest request)
|
public async Task AddAsync(MealUserAddRequest request)
|
||||||
{
|
{
|
||||||
// 获取档案信息
|
//todo 获取档案信息
|
||||||
|
|
||||||
var gainfoEntity = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
|
var gainfoEntity = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
|
||||||
.Where(x => x.No.ToString() == request.UserId)
|
.Where(x => x.No.ToString() == request.UserId)
|
||||||
@@ -42,7 +42,7 @@ public class MealUserService : IMealUserService
|
|||||||
|
|
||||||
var entity = new CanteenUserEntity
|
var entity = new CanteenUserEntity
|
||||||
{
|
{
|
||||||
UserId = request.UserId,
|
UserNo = request.UserId,
|
||||||
UserType = request.UserType,
|
UserType = request.UserType,
|
||||||
UserCode = gainfoEntity.Code,
|
UserCode = gainfoEntity.Code,
|
||||||
CarNo = gainfoEntity.CarNo,
|
CarNo = gainfoEntity.CarNo,
|
||||||
@@ -57,7 +57,7 @@ public class MealUserService : IMealUserService
|
|||||||
public async Task<MealUserResponse> GetMealUserAsync(string userId)
|
public async Task<MealUserResponse> GetMealUserAsync(string userId)
|
||||||
{
|
{
|
||||||
return await _dbContext.Queryable<CanteenUserEntity>()
|
return await _dbContext.Queryable<CanteenUserEntity>()
|
||||||
.Where(x => x.UserId == userId)
|
.Where(x => x.UserNo == userId)
|
||||||
.Select<MealUserResponse>()
|
.Select<MealUserResponse>()
|
||||||
.FirstAsync();
|
.FirstAsync();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,5 +78,15 @@ public class GainfosController : ControllerBase
|
|||||||
{
|
{
|
||||||
await _gainfoService.OnboardingAsync(request);
|
await _gainfoService.OnboardingAsync(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前人员信息
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("current")]
|
||||||
|
public async Task<GainfoCurrentResponse> CurrentUserInfoAsync()
|
||||||
|
{
|
||||||
|
return await _gainfoService.CurrentUserInfoAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ public class DepartmentTreeResponse
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 部门号
|
/// 部门号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Code { get; set; }
|
public string No { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 部门名称
|
/// 部门名称
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
namespace Dlhis.Basic.Organization.Response;
|
||||||
|
|
||||||
|
public class GainfoCurrentMealInfoResponse
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 余额
|
||||||
|
/// </summary>
|
||||||
|
public decimal Balance { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
using Dlhis.Entity.Basic.Enums;
|
||||||
|
using Kurisu.AspNetCore.Utils.Extensions;
|
||||||
|
|
||||||
|
namespace Dlhis.Basic.Organization.Response;
|
||||||
|
|
||||||
|
public class GainfoCurrentResponse
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 用户档案号
|
||||||
|
/// </summary>
|
||||||
|
public string UserNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用户姓名
|
||||||
|
/// </summary>
|
||||||
|
public string UserName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 性别枚举
|
||||||
|
/// </summary>
|
||||||
|
public GenderEnumType Gender { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 性别描述
|
||||||
|
/// </summary>
|
||||||
|
public string GenderDesc => Gender.GetDescription();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 工号
|
||||||
|
/// </summary>
|
||||||
|
public string UserCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 部门号
|
||||||
|
/// </summary>
|
||||||
|
public string DepartmentNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 部门名称
|
||||||
|
/// </summary>
|
||||||
|
public string DepartmentName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 出生日期/生日
|
||||||
|
/// </summary>
|
||||||
|
public DateTime Birthday { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 就餐信息
|
||||||
|
/// </summary>
|
||||||
|
public GainfoCurrentMealInfoResponse MealInfo { get; set; }
|
||||||
|
}
|
||||||
@@ -16,4 +16,6 @@ public interface IGainfoService : IScopeDependency
|
|||||||
Task DimissionAsync(GainfoDImissionRequest request);
|
Task DimissionAsync(GainfoDImissionRequest request);
|
||||||
|
|
||||||
Task OnboardingAsync(GainfoDImissionRequest request);
|
Task OnboardingAsync(GainfoDImissionRequest request);
|
||||||
|
|
||||||
|
Task<GainfoCurrentResponse> CurrentUserInfoAsync();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class DepartmentService : IDepartmentService
|
|||||||
public async Task<List<DepartmentTreeResponse>> GetTreeAsync()
|
public async Task<List<DepartmentTreeResponse>> GetTreeAsync()
|
||||||
{
|
{
|
||||||
var departments = await _dbContext.Queryable<DepartmentEntity>().ToListAsync();
|
var departments = await _dbContext.Queryable<DepartmentEntity>().ToListAsync();
|
||||||
var tops = departments.Where(x => x.PCode.IsEmpty()).Adapt<List<DepartmentTreeResponse>>();
|
var tops = departments.Where(x => x.PNo.IsEmpty()).Adapt<List<DepartmentTreeResponse>>();
|
||||||
|
|
||||||
tops.ForEach(x =>
|
tops.ForEach(x =>
|
||||||
{
|
{
|
||||||
@@ -31,7 +31,7 @@ public class DepartmentService : IDepartmentService
|
|||||||
|
|
||||||
private void RecursionGetNext(DepartmentTreeResponse current, List<DepartmentEntity> departments)
|
private void RecursionGetNext(DepartmentTreeResponse current, List<DepartmentEntity> departments)
|
||||||
{
|
{
|
||||||
var next = departments.Where(x => x.PCode == current.Code).ToList();
|
var next = departments.Where(x => x.PNo == current.No).ToList();
|
||||||
current.Next = next.Adapt<List<DepartmentTreeResponse>>();
|
current.Next = next.Adapt<List<DepartmentTreeResponse>>();
|
||||||
foreach (var item in next)
|
foreach (var item in next)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using Dlhis.Entity.Basic.Entity;
|
|||||||
using Dlhis.Entity.Basic.Enums;
|
using Dlhis.Entity.Basic.Enums;
|
||||||
using Kurisu.AspNetCore.Utils.Extensions;
|
using Kurisu.AspNetCore.Utils.Extensions;
|
||||||
using Kurisu.Core.DataAccess.Dto;
|
using Kurisu.Core.DataAccess.Dto;
|
||||||
|
using Kurisu.Core.User.Abstractions;
|
||||||
using Kurisu.SqlSugar.Attributes;
|
using Kurisu.SqlSugar.Attributes;
|
||||||
using Kurisu.SqlSugar.Extensions;
|
using Kurisu.SqlSugar.Extensions;
|
||||||
using Kurisu.SqlSugar.Services;
|
using Kurisu.SqlSugar.Services;
|
||||||
@@ -15,11 +16,13 @@ public class GainfoService : IGainfoService
|
|||||||
{
|
{
|
||||||
private readonly IGainfoStore _gainfoStore;
|
private readonly IGainfoStore _gainfoStore;
|
||||||
private readonly IDbContext _dbContext;
|
private readonly IDbContext _dbContext;
|
||||||
|
private readonly ICurrentUser _currentUser;
|
||||||
|
|
||||||
public GainfoService(IGainfoStore gainfoStore, IDbContext dbContext)
|
public GainfoService(IGainfoStore gainfoStore, IDbContext dbContext, ICurrentUser currentUser)
|
||||||
{
|
{
|
||||||
_gainfoStore = gainfoStore;
|
_gainfoStore = gainfoStore;
|
||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
|
_currentUser = currentUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -112,6 +115,33 @@ public class GainfoService : IGainfoService
|
|||||||
await _gainfoStore.InsertAsync(gainfo);
|
await _gainfoStore.InsertAsync(gainfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<GainfoCurrentResponse> CurrentUserInfoAsync()
|
||||||
|
{
|
||||||
|
var identityId = _currentUser.GetIntSubjectId();
|
||||||
|
|
||||||
|
var gainfo = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
|
||||||
|
.LeftJoin<DepartmentEntity>((ga, department) => ga.DepartmentNo == department.No)
|
||||||
|
.LeftJoin<CanteenUserEntity>((ga, department, mealUser) => ga.No == mealUser.UserNo)
|
||||||
|
.Where((ga, department) => ga.IdentityUserId == identityId)
|
||||||
|
.Select((ga, department, mealUser) => new GainfoCurrentResponse
|
||||||
|
{
|
||||||
|
UserNo = ga.No,
|
||||||
|
Birthday = ga.Birthday,
|
||||||
|
DepartmentNo = department.No,
|
||||||
|
DepartmentName = department.Name,
|
||||||
|
Gender = ga.Gender,
|
||||||
|
UserCode = ga.Code,
|
||||||
|
UserName = ga.Name,
|
||||||
|
MealInfo = new GainfoCurrentMealInfoResponse
|
||||||
|
{
|
||||||
|
Balance = mealUser.Balance
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.FirstAsync();
|
||||||
|
|
||||||
|
return gainfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------help methods ------------------------------------------------
|
//-------------------------------------------help methods ------------------------------------------------
|
||||||
|
|
||||||
@@ -128,26 +158,26 @@ public class GainfoService : IGainfoService
|
|||||||
}
|
}
|
||||||
|
|
||||||
var departments = await _dbContext.Queryable<DepartmentEntity>().ToListAsync();
|
var departments = await _dbContext.Queryable<DepartmentEntity>().ToListAsync();
|
||||||
var currentNos = departments.Where(x => departmentNos.Contains(x.Code)).ToList();
|
var currentNos = departments.Where(x => departmentNos.Contains(x.No)).ToList();
|
||||||
|
|
||||||
foreach (var item in currentNos)
|
foreach (var item in currentNos)
|
||||||
{
|
{
|
||||||
RecursionGetNext(item.Code, departments, departmentNos);
|
RecursionGetNext(item.No, departments, departmentNos);
|
||||||
}
|
}
|
||||||
|
|
||||||
return departmentNos.Distinct().ToList();
|
return departmentNos.Distinct().ToList();
|
||||||
|
|
||||||
void RecursionGetNext(string currentCode, List<DepartmentEntity> departments, List<string> result)
|
void RecursionGetNext(string currentCode, List<DepartmentEntity> departments, List<string> result)
|
||||||
{
|
{
|
||||||
var next = departments.Where(x => x.PCode == currentCode).ToList();
|
var next = departments.Where(x => x.PNo == currentCode).ToList();
|
||||||
foreach (var item in next)
|
foreach (var item in next)
|
||||||
{
|
{
|
||||||
result.Add(item.Code);
|
result.Add(item.No);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var item in next)
|
foreach (var item in next)
|
||||||
{
|
{
|
||||||
RecursionGetNext(item.Code, departments, result);
|
RecursionGetNext(item.No, departments, result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ using Microsoft.AspNetCore.Mvc;
|
|||||||
|
|
||||||
namespace Dlhis.Canteen.Order.Controllers;
|
namespace Dlhis.Canteen.Order.Controllers;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 充值/消费
|
||||||
|
/// </summary>
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
|
|||||||
@@ -59,11 +59,11 @@ public class OrderService : IOrderService
|
|||||||
|
|
||||||
//根据档案号
|
//根据档案号
|
||||||
var canteenUser = await _dbContext.Queryable<CanteenUserEntity>()
|
var canteenUser = await _dbContext.Queryable<CanteenUserEntity>()
|
||||||
.Where(x => x.UserId == request.UserUniqueNo || x.UserCode == request.UserUniqueNo)
|
.Where(x => x.UserNo == request.UserUniqueNo || x.UserCode == request.UserUniqueNo)
|
||||||
.FirstAsync();
|
.FirstAsync();
|
||||||
|
|
||||||
var gafinfo = await _dbContext.Queryable<GainfoEntity>()
|
var gafinfo = await _dbContext.Queryable<GainfoEntity>()
|
||||||
.Where(x => x.No == canteenUser.UserId)
|
.Where(x => x.No == canteenUser.UserNo)
|
||||||
.FirstAsync();
|
.FirstAsync();
|
||||||
|
|
||||||
var settings = await _canteenSettingService.GetUserSettingAsync(gafinfo.No);
|
var settings = await _canteenSettingService.GetUserSettingAsync(gafinfo.No);
|
||||||
@@ -102,7 +102,7 @@ public class OrderService : IOrderService
|
|||||||
OrderStatus = CanteenOrderStatusEnumType.Wait,
|
OrderStatus = CanteenOrderStatusEnumType.Wait,
|
||||||
Name = gafinfo.Name,
|
Name = gafinfo.Name,
|
||||||
Source = request.Source,
|
Source = request.Source,
|
||||||
UserId = canteenUser.UserId,
|
UserId = canteenUser.UserNo,
|
||||||
UserCode = canteenUser.UserCode,
|
UserCode = canteenUser.UserCode,
|
||||||
Amount = request.Amount,
|
Amount = request.Amount,
|
||||||
BusinessPlaceCode = businessPlace.Code,
|
BusinessPlaceCode = businessPlace.Code,
|
||||||
@@ -207,7 +207,7 @@ public class OrderService : IOrderService
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var canteenUser = await _dbContext.Queryable<CanteenUserEntity>().Where(x => x.UserId == order.UserId).FirstAsync();
|
var canteenUser = await _dbContext.Queryable<CanteenUserEntity>().Where(x => x.UserNo == order.UserId).FirstAsync();
|
||||||
//金额+-
|
//金额+-
|
||||||
canteenUser.Balance += order.Amount;
|
canteenUser.Balance += order.Amount;
|
||||||
|
|
||||||
@@ -222,7 +222,7 @@ public class OrderService : IOrderService
|
|||||||
var effect = await _dbContext.Updateable<CanteenUserEntity>()
|
var effect = await _dbContext.Updateable<CanteenUserEntity>()
|
||||||
.SetColumns(x => x.Balance == canteenUser.Balance + order.Amount)
|
.SetColumns(x => x.Balance == canteenUser.Balance + order.Amount)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
.Where(x => x.UserId == order.UserId && x.Version == canteenUser.Version)//必须与查询时的version一致
|
.Where(x => x.UserNo == order.UserId && x.Version == canteenUser.Version)//必须与查询时的version一致
|
||||||
.ExecuteCommandAsync();
|
.ExecuteCommandAsync();
|
||||||
|
|
||||||
if (effect <= 0)
|
if (effect <= 0)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class CanteenSettingService : ICanteenSettingService
|
|||||||
public async Task<Pagination<CanteenSettingResponse>> GetPageAsync(CanteenSettingPageRequest request)
|
public async Task<Pagination<CanteenSettingResponse>> GetPageAsync(CanteenSettingPageRequest request)
|
||||||
{
|
{
|
||||||
var page = await _context.Queryable<CanteenSettingEntity>()
|
var page = await _context.Queryable<CanteenSettingEntity>()
|
||||||
.LeftJoin<CanteenUserEntity>((setting, user) => setting.UniqueValue == user.UserId)
|
.LeftJoin<CanteenUserEntity>((setting, user) => setting.UniqueValue == user.UserNo)
|
||||||
.WhereIF(request.UniqueType.HasValue, setting => setting.UniqueType == request.UniqueType)
|
.WhereIF(request.UniqueType.HasValue, setting => setting.UniqueType == request.UniqueType)
|
||||||
.WhereIF(request.Item.HasValue, setting => setting.Item == request.Item)
|
.WhereIF(request.Item.HasValue, setting => setting.Item == request.Item)
|
||||||
.WhereIF(request.Search.IsPresent(), setting => setting.UniqueValue.Contains(request.Search))
|
.WhereIF(request.Search.IsPresent(), setting => setting.UniqueValue.Contains(request.Search))
|
||||||
|
|||||||
@@ -11,9 +11,4 @@ public class SqlSugarPack : BaseAppPack
|
|||||||
{
|
{
|
||||||
services.AddSqlSugar();
|
services.AddSqlSugar();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class CanteenUserEntity : SugarBaseEntity, IVersion, ITenantId
|
|||||||
/// 档案号
|
/// 档案号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(IsNullable = false, ColumnDescription = "档案号")]
|
[SugarColumn(IsNullable = false, ColumnDescription = "档案号")]
|
||||||
public string UserId { get; set; }
|
public string UserNo { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ public class DepartmentEntity : SugarBaseEntity
|
|||||||
/// 部门号
|
/// 部门号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnDescription = "部门号")]
|
[SugarColumn(ColumnDescription = "部门号")]
|
||||||
public string Code { get; set; }
|
public string No { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上级部门号
|
/// 上级部门号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnDescription = "上级部门号")]
|
[SugarColumn(ColumnDescription = "上级部门号")]
|
||||||
public string PCode { get; set; }
|
public string PNo { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 部门名称
|
/// 部门名称
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ public enum GenderEnumType
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 女性
|
/// 女性
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("女性")]
|
[Description("女")]
|
||||||
Female = 0,
|
Female = 0,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 男性
|
/// 男性
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("男性")]
|
[Description("男")]
|
||||||
Male = 1,
|
Male = 1,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using Dlhis.Entity.Canteen.Enums;
|
using Dlhis.Entity.Canteen.Enums;
|
||||||
using Kurisu.Core.DataAccess.Entity;
|
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using SqlSugar.DbConvert;
|
using SqlSugar.DbConvert;
|
||||||
|
|
||||||
@@ -9,7 +8,7 @@ namespace Dlhis.Entity.Canteen.Entities;
|
|||||||
/// 就餐订单
|
/// 就餐订单
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarTable(TableName = "CanteenOrder", TableDescription = "就餐订单")]
|
[SugarTable(TableName = "CanteenOrder", TableDescription = "就餐订单")]
|
||||||
public class CanteenOrderEntity : BalanceRecordEntity, ITenantId
|
public class CanteenOrderEntity : BalanceRecordEntity
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求json
|
/// 请求json
|
||||||
@@ -40,5 +39,4 @@ public class CanteenOrderEntity : BalanceRecordEntity, ITenantId
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnDescription = "处理结果")]
|
[SugarColumn(ColumnDescription = "处理结果")]
|
||||||
public string Result { get; set; }
|
public string Result { get; set; }
|
||||||
public string TenantId { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -1,115 +1,113 @@
|
|||||||
namespace Dlhis.ScheduledTask.Entities
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace Dlhis.ScheduledTask.Entities;
|
||||||
|
|
||||||
|
[SugarTable(TableName = "GainfoSap")]
|
||||||
|
public class GainfoSapEntity
|
||||||
{
|
{
|
||||||
public class GainfoSap
|
|
||||||
{
|
|
||||||
public GainfoSap()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
[PkColumn]
|
||||||
|
public int id { get; set; }
|
||||||
|
|
||||||
[PkColumn]
|
public string ano { get; set; }
|
||||||
public int id { get; set; }
|
public string @class { get; set; }
|
||||||
|
|
||||||
public string ano { get; set; }
|
public string passwd { get; set; }
|
||||||
public string @class { get; set; }
|
public string question { get; set; }
|
||||||
|
|
||||||
public string passwd { get; set; }
|
public string answer { get; set; }
|
||||||
public string question { get; set; }
|
public string gname { get; set; }
|
||||||
|
|
||||||
public string answer { get; set; }
|
[UpdateColumn]
|
||||||
public string gname { get; set; }
|
public string ename { get; set; }
|
||||||
|
|
||||||
[UpdateColumn]
|
public string country { get; set; }
|
||||||
public string ename { get; set; }
|
public string idcls { get; set; }
|
||||||
|
public string idno { get; set; }
|
||||||
|
public string native { get; set; }
|
||||||
|
public string sex { get; set; }
|
||||||
|
public DateTime? birthday { get; set; }
|
||||||
|
public string address { get; set; }
|
||||||
|
public string postcode { get; set; }
|
||||||
|
public string occupation { get; set; }
|
||||||
|
public string appellation { get; set; }
|
||||||
|
public string nation { get; set; }
|
||||||
|
public string phone { get; set; }
|
||||||
|
public string fax { get; set; }
|
||||||
|
public string mobile { get; set; }
|
||||||
|
public string email { get; set; }
|
||||||
|
public string web { get; set; }
|
||||||
|
public string vip { get; set; }
|
||||||
|
public string sec { get; set; }
|
||||||
|
public string cropsno { get; set; }
|
||||||
|
public string cropname { get; set; }
|
||||||
|
public string fancy { get; set; }
|
||||||
|
public string remark { get; set; }
|
||||||
|
|
||||||
public string country { get; set; }
|
public int amount { get; set; }
|
||||||
public string idcls { get; set; }
|
public int days { get; set; }
|
||||||
public string idno { get; set; }
|
public decimal consume01 { get; set; }
|
||||||
public string native { get; set; }
|
|
||||||
public string sex { get; set; }
|
|
||||||
public DateTime? birthday { get; set; }
|
|
||||||
public string address { get; set; }
|
|
||||||
public string postcode { get; set; }
|
|
||||||
public string occupation { get; set; }
|
|
||||||
public string appellation { get; set; }
|
|
||||||
public string nation { get; set; }
|
|
||||||
public string phone { get; set; }
|
|
||||||
public string fax { get; set; }
|
|
||||||
public string mobile { get; set; }
|
|
||||||
public string email { get; set; }
|
|
||||||
public string web { get; set; }
|
|
||||||
public string vip { get; set; }
|
|
||||||
public string sec { get; set; }
|
|
||||||
public string cropsno { get; set; }
|
|
||||||
public string cropname { get; set; }
|
|
||||||
public string fancy { get; set; }
|
|
||||||
public string remark { get; set; }
|
|
||||||
|
|
||||||
public int amount { get; set; }
|
public decimal consume02 { get; set; }
|
||||||
public int days { get; set; }
|
|
||||||
public decimal consume01 { get; set; }
|
|
||||||
|
|
||||||
public decimal consume02 { get; set; }
|
public decimal consume03 { get; set; }
|
||||||
|
|
||||||
public decimal consume03 { get; set; }
|
public decimal consume04 { get; set; }
|
||||||
|
public string log_id { get; set; }
|
||||||
|
public string log_shift { get; set; }
|
||||||
|
public DateTime? log_date { get; set; }
|
||||||
|
public string log_ip { get; set; }
|
||||||
|
public int times { get; set; }
|
||||||
|
public int logmark { get; set; }
|
||||||
|
public string rmcode { get; set; }
|
||||||
|
public string mkt { get; set; }
|
||||||
|
public string src { get; set; }
|
||||||
|
public string isowner { get; set; }
|
||||||
|
public DateTime? createdate { get; set; }
|
||||||
|
|
||||||
public decimal consume04 { get; set; }
|
public string PERNR { get; set; }
|
||||||
public string log_id { get; set; }
|
|
||||||
public string log_shift { get; set; }
|
|
||||||
public DateTime? log_date { get; set; }
|
|
||||||
public string log_ip { get; set; }
|
|
||||||
public int times { get; set; }
|
|
||||||
public int logmark { get; set; }
|
|
||||||
public string rmcode { get; set; }
|
|
||||||
public string mkt { get; set; }
|
|
||||||
public string src { get; set; }
|
|
||||||
public string isowner { get; set; }
|
|
||||||
public DateTime? createdate { get; set; }
|
|
||||||
|
|
||||||
public string PERNR { get; set; }
|
public string WERKS { get; set; }
|
||||||
|
|
||||||
public string WERKS { get; set; }
|
public string ZSTATUS { get; set; }
|
||||||
|
|
||||||
public string ZSTATUS { get; set; }
|
public string KOSTL { get; set; }
|
||||||
|
|
||||||
public string KOSTL { get; set; }
|
public string ZZ_ZD { get; set; }
|
||||||
|
|
||||||
public string ZZ_ZD { get; set; }
|
public string Z_ZJ { get; set; }
|
||||||
|
|
||||||
public string Z_ZJ { get; set; }
|
public string STELL { get; set; }
|
||||||
|
|
||||||
public string STELL { get; set; }
|
public string STELL_NM { get; set; }
|
||||||
|
|
||||||
public string STELL_NM { get; set; }
|
public DateTime? ZLZRQ { get; set; }
|
||||||
|
|
||||||
public DateTime? ZLZRQ { get; set; }
|
public string MASSN { get; set; }
|
||||||
|
|
||||||
|
public string MNTXT { get; set; }
|
||||||
|
public string MASSG { get; set; }
|
||||||
|
public string MGTXT { get; set; }
|
||||||
|
public DateTime? logdate { get; set; }
|
||||||
|
public DateTime? updatelogdate { get; set; }
|
||||||
|
public string guestno { get; set; }
|
||||||
|
public string ZZ_KLX { get; set; }
|
||||||
|
public DateTime? DAT01 { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class UpdateColumnAttribute : Attribute
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PkColumnAttribute : Attribute
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class IgnoreColumnAttribute : Attribute
|
||||||
|
{
|
||||||
|
|
||||||
public string MASSN { get; set; }
|
|
||||||
|
|
||||||
public string MNTXT { get; set; }
|
|
||||||
public string MASSG { get; set; }
|
|
||||||
public string MGTXT { get; set; }
|
|
||||||
public DateTime? logdate { get; set; }
|
|
||||||
public DateTime? updatelogdate { get; set; }
|
|
||||||
public string guestno { get; set; }
|
|
||||||
public string ZZ_KLX { get; set; }
|
|
||||||
public DateTime? DAT01 { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public class UpdateColumnAttribute : Attribute
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class PkColumnAttribute : Attribute
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public class IgnoreColumnAttribute : Attribute
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ namespace Dlhis.ScheduledTask.Job
|
|||||||
return failure;
|
return failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task SavePerson(GainfoSap item)
|
private async Task SavePerson(GainfoSapEntity item)
|
||||||
{
|
{
|
||||||
var gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.IdNo == item.idno).FirstAsync();
|
var gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.IdNo == item.idno).FirstAsync();
|
||||||
if (gainfo != null)
|
if (gainfo != null)
|
||||||
@@ -191,7 +191,7 @@ namespace Dlhis.ScheduledTask.Job
|
|||||||
await _dbContext.InsertAsync(info);
|
await _dbContext.InsertAsync(info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private async Task UpdatePerson(GainfoSap item)
|
private async Task UpdatePerson(GainfoSapEntity item)
|
||||||
{
|
{
|
||||||
var gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.IdNo == item.idno).FirstAsync();
|
var gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.IdNo == item.idno).FirstAsync();
|
||||||
if (gainfo != null)
|
if (gainfo != null)
|
||||||
@@ -312,11 +312,11 @@ namespace Dlhis.ScheduledTask.Job
|
|||||||
var needRemove = sapList.Intersect(lastUpdatedPersonList, new ZHRS_PERSONComparer());
|
var needRemove = sapList.Intersect(lastUpdatedPersonList, new ZHRS_PERSONComparer());
|
||||||
return sapList.Except(needRemove, new ZHRS_PERSONComparer()).ToList();
|
return sapList.Except(needRemove, new ZHRS_PERSONComparer()).ToList();
|
||||||
}
|
}
|
||||||
private List<GainfoSap> ToGainfoSap(List<PersonDetail> data)
|
private List<GainfoSapEntity> ToGainfoSap(List<PersonDetail> data)
|
||||||
{
|
{
|
||||||
return data.Select(person =>
|
return data.Select(person =>
|
||||||
{
|
{
|
||||||
GainfoSap o = null;
|
GainfoSapEntity o = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -337,7 +337,7 @@ namespace Dlhis.ScheduledTask.Job
|
|||||||
var sex = person.GESCH == "2" ? "F" : "M";
|
var sex = person.GESCH == "2" ? "F" : "M";
|
||||||
|
|
||||||
person.ZZ_SFZH = person.ZZ_SFZH?.TrimStart();
|
person.ZZ_SFZH = person.ZZ_SFZH?.TrimStart();
|
||||||
o = new GainfoSap
|
o = new GainfoSapEntity
|
||||||
{
|
{
|
||||||
gname = person.NAME,
|
gname = person.NAME,
|
||||||
ename = person.ZWORKCODE,
|
ename = person.ZWORKCODE,
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
using Hangfire;
|
using Hangfire;
|
||||||
|
|
||||||
namespace Dlhis.ScheduledTask.Job
|
namespace Dlhis.ScheduledTask.Job;
|
||||||
|
|
||||||
|
public static class UseHangfire
|
||||||
{
|
{
|
||||||
public static class UseHangfire
|
public static void UseHangfireto(this IServiceCollection services)
|
||||||
{
|
{
|
||||||
public static void UseHangfireto(this IServiceCollection services)
|
GlobalConfiguration.Configuration.UseActivator(new HangfireActivator(services.BuildServiceProvider()));
|
||||||
{
|
|
||||||
GlobalConfiguration.Configuration.UseActivator(new HangfireActivator(services.BuildServiceProvider()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ public class SqlSugarPack : BaseAppPack
|
|||||||
|
|
||||||
public override void ConfigureServices(IServiceCollection services)
|
public override void ConfigureServices(IServiceCollection services)
|
||||||
{
|
{
|
||||||
services.AddHttpContextAccessor();
|
|
||||||
services.AddSqlSugar();
|
services.AddSqlSugar();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user