feat: 用户卡号导入
This commit is contained in:
@@ -36,6 +36,19 @@ public class GainfoCardsController : ControllerBase
|
|||||||
await _gainfoCardService.ChangeCardAsync(request);
|
await _gainfoCardService.ChangeCardAsync(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导入卡
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("import")]
|
||||||
|
[IgnoreTenant]
|
||||||
|
[Transactional]
|
||||||
|
public async Task ImportCardsAsync(GainfoImportCardRequest request)
|
||||||
|
{
|
||||||
|
await _gainfoCardService.ImportCardsAsync(request);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 换卡记录
|
/// 换卡记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Dlhis.Basic.Organization.Request;
|
||||||
|
|
||||||
|
public class GainfoImportCardRequest
|
||||||
|
{
|
||||||
|
public List<GainfoImportCardItemRequest> UserCards { get; set; } = new List<GainfoImportCardItemRequest>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GainfoImportCardItemRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 档案号
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "工号不能为空")]
|
||||||
|
public string UserCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 卡号
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "卡号不能为空")]
|
||||||
|
public string CardNo { get; set; }
|
||||||
|
}
|
||||||
@@ -26,4 +26,11 @@ public interface IGainfoCardService : IScopeDependency
|
|||||||
/// <param name="typeId"></param>
|
/// <param name="typeId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task EditCardTypeAsync(List<string> userCodes, int typeId);
|
Task EditCardTypeAsync(List<string> userCodes, int typeId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导入卡信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task ImportCardsAsync(GainfoImportCardRequest request);
|
||||||
}
|
}
|
||||||
@@ -48,9 +48,9 @@ public class GainfoCardService : IGainfoCardService
|
|||||||
UserNo = gainfo.No,
|
UserNo = gainfo.No,
|
||||||
CardNo = gainfo.CardNo,
|
CardNo = gainfo.CardNo,
|
||||||
Reason = "换卡",
|
Reason = "换卡",
|
||||||
Remark = $"换卡前卡号:{gainfo.CardNo}"
|
Remark = $"换卡前卡号:{gainfo.CardNo}",
|
||||||
|
TenantId = gainfo.Factory
|
||||||
};
|
};
|
||||||
oldCardRecord.TenantId = gainfo.Factory;
|
|
||||||
await _dbContext.InsertAsync(oldCardRecord);
|
await _dbContext.InsertAsync(oldCardRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,6 +60,25 @@ public class GainfoCardService : IGainfoCardService
|
|||||||
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Update, null, null, "更新卡号下发");
|
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Update, null, null, "更新卡号下发");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task ImportCardsAsync(GainfoImportCardRequest request)
|
||||||
|
{
|
||||||
|
var userCodes = request.UserCards.Select(x => x.UserCode).Distinct().ToList();
|
||||||
|
var gainfos = await _dbContext.Queryable<GainfoEntity>().Where(x => userCodes.Contains(x.Code)).ToListAsync();
|
||||||
|
|
||||||
|
(gainfos.Count != userCodes.Count).ThrowIfTrue("存在档案号不存在,检查");
|
||||||
|
|
||||||
|
foreach (var gainfo in gainfos)
|
||||||
|
{
|
||||||
|
await ChangeCardAsync(new GainfoChangeCardRequest
|
||||||
|
{
|
||||||
|
UserNo = gainfo.No,
|
||||||
|
CardNo = request.UserCards.First(x => x.UserCode == gainfo.Code).CardNo,
|
||||||
|
Remark = "导入",
|
||||||
|
Reason = "卡号初始化导入"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<List<ChangeCardResponse>> GetChangeRecordsAsync(string userNo)
|
public async Task<List<ChangeCardResponse>> GetChangeRecordsAsync(string userNo)
|
||||||
{
|
{
|
||||||
return await _dbContext.Queryable<GainfoCardRecordEntity>()
|
return await _dbContext.Queryable<GainfoCardRecordEntity>()
|
||||||
|
|||||||
Reference in New Issue
Block a user