相关bug调整
This commit is contained in:
@@ -5,6 +5,11 @@ namespace SimpleAdmin.Application;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class OnboardingCompanyPageInput : BasePageInput
|
public class OnboardingCompanyPageInput : BasePageInput
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 公司业务编码。
|
||||||
|
/// </summary>
|
||||||
|
public virtual string CompanyCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 公司名称。
|
/// 公司名称。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -11,9 +11,8 @@ public class OnboardingCompanyService : DbRepository<ObCompany>, IOnboardingComp
|
|||||||
public async Task<SqlSugarPagedList<ObCompany>> Page(OnboardingCompanyPageInput input)
|
public async Task<SqlSugarPagedList<ObCompany>> Page(OnboardingCompanyPageInput input)
|
||||||
{
|
{
|
||||||
return await Context.Queryable<ObCompany>()
|
return await Context.Queryable<ObCompany>()
|
||||||
.WhereIF(
|
.WhereIF(!string.IsNullOrWhiteSpace(input.CompanyCode), it => it.CompanyCode.Contains(input.CompanyCode))
|
||||||
!string.IsNullOrWhiteSpace(input.CompanyName),
|
.WhereIF(!string.IsNullOrWhiteSpace(input.CompanyName), it => it.CompanyName.Contains(input.CompanyName))
|
||||||
it => it.CompanyName.Contains(input.CompanyName) || it.CompanyCode.Contains(input.CompanyName))
|
|
||||||
.WhereIF(!string.IsNullOrWhiteSpace(input.Status), it => it.Status == input.Status)
|
.WhereIF(!string.IsNullOrWhiteSpace(input.Status), it => it.Status == input.Status)
|
||||||
.OrderByIF(!string.IsNullOrWhiteSpace(input.SortField), $"{input.SortField} {input.SortOrder}")
|
.OrderByIF(!string.IsNullOrWhiteSpace(input.SortField), $"{input.SortField} {input.SortOrder}")
|
||||||
.OrderBy(it => it.CreateTime)
|
.OrderBy(it => it.CreateTime)
|
||||||
|
|||||||
+28
-3
@@ -27,8 +27,12 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public async Task SaveFormField(OnboardingFormFieldSaveInput input)
|
public async Task SaveFormField(OnboardingFormFieldSaveInput input)
|
||||||
{
|
{
|
||||||
var fieldCodeExists = await _db.Queryable<ObFormField>()
|
var fieldCodeQuery = _db.Queryable<ObFormField>()
|
||||||
.AnyAsync(x => x.FieldCode == input.FieldCode && x.Id != input.Id);
|
.Where(x => x.FieldCode == input.FieldCode);
|
||||||
|
if (input.Id.HasValue)
|
||||||
|
fieldCodeQuery = fieldCodeQuery.Where(x => x.Id != input.Id.Value);
|
||||||
|
|
||||||
|
var fieldCodeExists = await fieldCodeQuery.AnyAsync();
|
||||||
if (fieldCodeExists)
|
if (fieldCodeExists)
|
||||||
throw Oops.Bah("字段编码已存在");
|
throw Oops.Bah("字段编码已存在");
|
||||||
|
|
||||||
@@ -38,7 +42,7 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
|||||||
FieldCode = input.FieldCode,
|
FieldCode = input.FieldCode,
|
||||||
FieldName = input.FieldName,
|
FieldName = input.FieldName,
|
||||||
DataType = input.DataType,
|
DataType = input.DataType,
|
||||||
OptionsJson = input.OptionsJson,
|
OptionsJson = NormalizeOptionsJson(input.OptionsJson),
|
||||||
ValidationRule = input.ValidationRule,
|
ValidationRule = input.ValidationRule,
|
||||||
Placeholder = input.Placeholder,
|
Placeholder = input.Placeholder,
|
||||||
Status = input.Status
|
Status = input.Status
|
||||||
@@ -57,6 +61,27 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
|||||||
await _db.Insertable(entity).ExecuteCommandAsync();
|
await _db.Insertable(entity).ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 将空白的可选项转换为 null,避免 MySQL JSON 字段写入空字符串时报错。
|
||||||
|
/// </summary>
|
||||||
|
private static string NormalizeOptionsJson(string optionsJson)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(optionsJson))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
var normalizedJson = optionsJson.Trim();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using var jsonDocument = global::System.Text.Json.JsonDocument.Parse(normalizedJson);
|
||||||
|
return normalizedJson;
|
||||||
|
}
|
||||||
|
catch (global::System.Text.Json.JsonException)
|
||||||
|
{
|
||||||
|
throw Oops.Bah("可选项不是有效的 JSON 格式");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 删除未被填写要求引用的动态字段。
|
/// 删除未被填写要求引用的动态字段。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -10,6 +10,11 @@ public class OnboardingPositionPageInput : BasePageInput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public long? CompanyId { get; set; }
|
public long? CompanyId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 岗位编码。
|
||||||
|
/// </summary>
|
||||||
|
public virtual string PositionCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 岗位名称。
|
/// 岗位名称。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -12,9 +12,8 @@ public class OnboardingPositionService : DbRepository<ObPosition>, IOnboardingPo
|
|||||||
{
|
{
|
||||||
return await Context.Queryable<ObPosition>()
|
return await Context.Queryable<ObPosition>()
|
||||||
.WhereIF(input.CompanyId.HasValue, it => it.CompanyId == input.CompanyId.Value)
|
.WhereIF(input.CompanyId.HasValue, it => it.CompanyId == input.CompanyId.Value)
|
||||||
.WhereIF(
|
.WhereIF(!string.IsNullOrWhiteSpace(input.PositionCode), it => it.PositionCode.Contains(input.PositionCode))
|
||||||
!string.IsNullOrWhiteSpace(input.PositionName),
|
.WhereIF(!string.IsNullOrWhiteSpace(input.PositionName), it => it.PositionName.Contains(input.PositionName))
|
||||||
it => it.PositionName.Contains(input.PositionName) || it.PositionCode.Contains(input.PositionName))
|
|
||||||
.WhereIF(!string.IsNullOrWhiteSpace(input.Status), it => it.Status == input.Status)
|
.WhereIF(!string.IsNullOrWhiteSpace(input.Status), it => it.Status == input.Status)
|
||||||
.OrderByIF(!string.IsNullOrWhiteSpace(input.SortField), $"{input.SortField} {input.SortOrder}")
|
.OrderByIF(!string.IsNullOrWhiteSpace(input.SortField), $"{input.SortField} {input.SortOrder}")
|
||||||
.OrderBy(it => it.PositionName)
|
.OrderBy(it => it.PositionName)
|
||||||
|
|||||||
@@ -1399,6 +1399,11 @@
|
|||||||
入职业务公司分页查询参数。
|
入职业务公司分页查询参数。
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:SimpleAdmin.Application.OnboardingCompanyPageInput.CompanyCode">
|
||||||
|
<summary>
|
||||||
|
公司业务编码。
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:SimpleAdmin.Application.OnboardingCompanyPageInput.CompanyName">
|
<member name="P:SimpleAdmin.Application.OnboardingCompanyPageInput.CompanyName">
|
||||||
<summary>
|
<summary>
|
||||||
公司名称。
|
公司名称。
|
||||||
@@ -2327,6 +2332,11 @@
|
|||||||
新增或编辑动态入职字段。
|
新增或编辑动态入职字段。
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:SimpleAdmin.Application.OnboardingEntryConfigService.NormalizeOptionsJson(System.String)">
|
||||||
|
<summary>
|
||||||
|
将空白的可选项转换为 null,避免 MySQL JSON 字段写入空字符串时报错。
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="M:SimpleAdmin.Application.OnboardingEntryConfigService.DeleteFormFields(SimpleAdmin.Core.BaseIdListInput)">
|
<member name="M:SimpleAdmin.Application.OnboardingEntryConfigService.DeleteFormFields(SimpleAdmin.Core.BaseIdListInput)">
|
||||||
<summary>
|
<summary>
|
||||||
删除未被填写要求引用的动态字段。
|
删除未被填写要求引用的动态字段。
|
||||||
@@ -2457,6 +2467,11 @@
|
|||||||
入职业务公司 Id。
|
入职业务公司 Id。
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:SimpleAdmin.Application.OnboardingPositionPageInput.PositionCode">
|
||||||
|
<summary>
|
||||||
|
岗位编码。
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:SimpleAdmin.Application.OnboardingPositionPageInput.PositionName">
|
<member name="P:SimpleAdmin.Application.OnboardingPositionPageInput.PositionName">
|
||||||
<summary>
|
<summary>
|
||||||
岗位名称。
|
岗位名称。
|
||||||
|
|||||||
Reference in New Issue
Block a user