feat(esppScheduleSync): доделал метод ParseStrToEsppObject

This commit is contained in:
Mikhail Trubnikov
2023-11-27 09:27:20 +10:00
parent 4a0433a389
commit 2fde70c9a2
6 changed files with 2816 additions and 96 deletions

View File

@@ -294,7 +294,7 @@ namespace PARR.DAL.Context
{ {
f.HasData( f.HasData(
new { Id = (int)EsppSchTypeScheduleEnum.Regularly, Name = EsppSchTypeScheduleEnum.Regularly.ToString(), Description = "Регулярно" }, new { Id = (int)EsppSchTypeScheduleEnum.Regularly, Name = EsppSchTypeScheduleEnum.Regularly.ToString(), Description = "Регулярно" },
new { Id = (int)EsppSchTypeScheduleEnum.Weekly, Name = EsppSchTypeScheduleEnum.Weekly.ToString(), Description = "Еженежельно" }, new { Id = (int)EsppSchTypeScheduleEnum.Weekly, Name = EsppSchTypeScheduleEnum.Weekly.ToString(), Description = "Еженедельно" },
new { Id = (int)EsppSchTypeScheduleEnum.Monthly, Name = EsppSchTypeScheduleEnum.Monthly.ToString(), Description = "Ежемесячно" }, new { Id = (int)EsppSchTypeScheduleEnum.Monthly, Name = EsppSchTypeScheduleEnum.Monthly.ToString(), Description = "Ежемесячно" },
new { Id = (int)EsppSchTypeScheduleEnum.Monthly2, Name = EsppSchTypeScheduleEnum.Monthly2.ToString(), Description = "Ежемесячно-2" }, new { Id = (int)EsppSchTypeScheduleEnum.Monthly2, Name = EsppSchTypeScheduleEnum.Monthly2.ToString(), Description = "Ежемесячно-2" },
new { Id = (int)EsppSchTypeScheduleEnum.Annually, Name = EsppSchTypeScheduleEnum.Annually.ToString(), Description = "Ежегодно" }, new { Id = (int)EsppSchTypeScheduleEnum.Annually, Name = EsppSchTypeScheduleEnum.Annually.ToString(), Description = "Ежегодно" },

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,32 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class TblEsppSchTypeScheduleFixDescription : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "EsppSchTypeSchedules",
keyColumn: "Id",
keyValue: 2,
column: "Description",
value: "Еженедельно");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "EsppSchTypeSchedules",
keyColumn: "Id",
keyValue: 2,
column: "Description",
value: "Еженежельно");
}
}
}

View File

@@ -859,7 +859,7 @@ namespace PARR.DAL.Migrations
new new
{ {
Id = 2, Id = 2,
Description = "Еженежельно", Description = "Еженедельно",
Name = "Weekly" Name = "Weekly"
}, },
new new

View File

@@ -99,6 +99,10 @@ namespace PARR.EsppScheduleSync
bool.TryParse(splittedContent[1].Trim(), out var isActive); bool.TryParse(splittedContent[1].Trim(), out var isActive);
var typeSchedule = GetTypeScheduleByString(splittedContent[7]);
if (!typeSchedule.HasValue)
return null;
var esppObject = new EsppObjectSchedule var esppObject = new EsppObjectSchedule
{ {
TemplateName = templateName, TemplateName = templateName,
@@ -107,8 +111,7 @@ namespace PARR.EsppScheduleSync
IsActive = isActive, IsActive = isActive,
ResponseArea = splittedContent[5], ResponseArea = splittedContent[5],
WorkGroup = splittedContent[3], WorkGroup = splittedContent[3],
//TODO:!!! TypeSchedule = typeSchedule.Value,
//TypeSchedule = splittedContent[7],
Interval = splittedContent[8], Interval = splittedContent[8],
Dayofweek = splittedContent[15], Dayofweek = splittedContent[15],
Dayofmonth = splittedContent[14], Dayofmonth = splittedContent[14],
@@ -131,6 +134,40 @@ namespace PARR.EsppScheduleSync
} }
/// <summary>
/// Преобразовать из строки в Тип Повторения
/// </summary>
/// <param name="typeSchedule"></param>
/// <returns></returns>
private EsppSchTypeScheduleEnum? GetTypeScheduleByString(string typeSchedule)
{
typeSchedule = typeSchedule.ToLower();
//Regularly, Регулярно (значение в ЕСПП и в БД не совпадают, в бд Regularly, в ЕСПП simple)
if (typeSchedule == "simple" || typeSchedule == EsppSchTypeScheduleEnum.Regularly.ToString().ToLower())
return EsppSchTypeScheduleEnum.Regularly;
if (typeSchedule == EsppSchTypeScheduleEnum.Weekly.ToString().ToLower())
return EsppSchTypeScheduleEnum.Weekly;
if (typeSchedule == EsppSchTypeScheduleEnum.Monthly.ToString().ToLower())
return EsppSchTypeScheduleEnum.Monthly;
if (typeSchedule == EsppSchTypeScheduleEnum.Monthly2.ToString().ToLower())
return EsppSchTypeScheduleEnum.Monthly2;
if (typeSchedule == EsppSchTypeScheduleEnum.Annually.ToString().ToLower())
return EsppSchTypeScheduleEnum.Annually;
if (typeSchedule == EsppSchTypeScheduleEnum.Annually2.ToString().ToLower())
return EsppSchTypeScheduleEnum.Annually2;
logger.LogError($"Не смог преобразовать Тип повторения из ЕСПП в EsppSchTypeScheduleEnum. Получено значение {typeSchedule}");
return null;
}
/// <summary> /// <summary>
/// Проверка имени шаблона и расписание на соответствие префиксу из настроек /// Проверка имени шаблона и расписание на соответствие префиксу из настроек
/// </summary> /// </summary>
@@ -166,98 +203,81 @@ namespace PARR.EsppScheduleSync
// т.е. если стояло Ежедненвно:понедельник, а изменили например на Еженедельно..., то в ежедневно значения останутся, но будут отрабатывать значения из Еженедельно. // т.е. если стояло Ежедненвно:понедельник, а изменили например на Еженедельно..., то в ежедневно значения останутся, но будут отрабатывать значения из Еженедельно.
// Т е значения из Ежедненвно проверять не нужно, вот их и будем очищать // Т е значения из Ежедненвно проверять не нужно, вот их и будем очищать
//TODO: сделать миграцию в БД: Еженежельно switch (esppObject.TypeSchedule)
{
//TODO:!!! case EsppSchTypeScheduleEnum.Regularly:
////Regularly, Регулярно (значение в ЕСПП и в БД не совпадают, в бд Regularly, в ЕСПП simple) //esppObject.Interval = string.Empty;
//if (esppObject.TypeSchedule.ToLower() == "simple" || esppObject.TypeSchedule.ToLower() == EsppSchTypeScheduleEnum.Regularly.ToString().ToLower()) esppObject.Dayofweek = string.Empty;
//{ esppObject.Dayofmonth = string.Empty;
// //esppObject.Interval = string.Empty; esppObject.Md1 = string.Empty;
esppObject.Md2 = string.Empty;
esppObject.Annualm = string.Empty;
esppObject.Annualday = string.Empty;
esppObject.An1 = string.Empty;
esppObject.An2 = string.Empty;
esppObject.An3 = string.Empty;
break;
case EsppSchTypeScheduleEnum.Weekly:
esppObject.Interval = string.Empty;
//esppObject.Dayofweek = string.Empty; //esppObject.Dayofweek = string.Empty;
esppObject.Dayofmonth = string.Empty;
esppObject.Md1 = string.Empty;
esppObject.Md2 = string.Empty;
esppObject.Annualm = string.Empty;
esppObject.Annualday = string.Empty;
esppObject.An1 = string.Empty;
esppObject.An2 = string.Empty;
esppObject.An3 = string.Empty;
break;
case EsppSchTypeScheduleEnum.Monthly:
esppObject.Interval = string.Empty;
esppObject.Dayofweek = string.Empty;
//esppObject.Dayofmonth = string.Empty; //esppObject.Dayofmonth = string.Empty;
esppObject.Md1 = string.Empty;
esppObject.Md2 = string.Empty;
esppObject.Annualm = string.Empty;
esppObject.Annualday = string.Empty;
esppObject.An1 = string.Empty;
esppObject.An2 = string.Empty;
esppObject.An3 = string.Empty;
break;
case EsppSchTypeScheduleEnum.Monthly2:
esppObject.Interval = string.Empty;
esppObject.Dayofweek = string.Empty;
esppObject.Dayofmonth = string.Empty;
//esppObject.Md1 = string.Empty; //esppObject.Md1 = string.Empty;
//esppObject.Md2 = string.Empty; //esppObject.Md2 = string.Empty;
esppObject.Annualm = string.Empty;
esppObject.Annualday = string.Empty;
esppObject.An1 = string.Empty;
esppObject.An2 = string.Empty;
esppObject.An3 = string.Empty;
break;
case EsppSchTypeScheduleEnum.Annually:
esppObject.Interval = string.Empty;
esppObject.Dayofweek = string.Empty;
esppObject.Dayofmonth = string.Empty;
esppObject.Md1 = string.Empty;
esppObject.Md2 = string.Empty;
//esppObject.Annualm = string.Empty; //esppObject.Annualm = string.Empty;
//esppObject.Annualday = string.Empty; //esppObject.Annualday = string.Empty;
esppObject.An1 = string.Empty;
esppObject.An2 = string.Empty;
esppObject.An3 = string.Empty;
break;
case EsppSchTypeScheduleEnum.Annually2:
esppObject.Interval = string.Empty;
esppObject.Dayofweek = string.Empty;
esppObject.Dayofmonth = string.Empty;
esppObject.Md1 = string.Empty;
esppObject.Md2 = string.Empty;
esppObject.Annualm = string.Empty;
esppObject.Annualday = string.Empty;
//esppObject.An1 = string.Empty; //esppObject.An1 = string.Empty;
//esppObject.An2 = string.Empty; //esppObject.An2 = string.Empty;
//esppObject.An3 = string.Empty; //esppObject.An3 = string.Empty;
//} break;
}
////Weekly, Еженедельно
//if (esppObject.TypeSchedule == "weekly")
//{
// esppObject.Interval = string.Empty;
// //esppObject.Dayofweek = string.Empty;
// esppObject.Dayofmonth = string.Empty;
// esppObject.Md1 = string.Empty;
// esppObject.Md2 = string.Empty;
// esppObject.Annualm = string.Empty;
// esppObject.Annualday = string.Empty;
// esppObject.An1 = string.Empty;
// esppObject.An2 = string.Empty;
// esppObject.An3 = string.Empty;
//}
////Monthly, Ежемесячно
//if (esppObject.TypeSchedule == "monthly")
//{
// esppObject.Interval = string.Empty;
// esppObject.Dayofweek = string.Empty;
// //esppObject.Dayofmonth = string.Empty;
// esppObject.Md1 = string.Empty;
// esppObject.Md2 = string.Empty;
// esppObject.Annualm = string.Empty;
// esppObject.Annualday = string.Empty;
// esppObject.An1 = string.Empty;
// esppObject.An2 = string.Empty;
// esppObject.An3 = string.Empty;
//}
////Monthly2, Ежемесячно-2
//if (esppObject.TypeSchedule == "monthly2")
//{
// esppObject.Interval = string.Empty;
// esppObject.Dayofweek = string.Empty;
// esppObject.Dayofmonth = string.Empty;
// //esppObject.Md1 = string.Empty;
// //esppObject.Md2 = string.Empty;
// esppObject.Annualm = string.Empty;
// esppObject.Annualday = string.Empty;
// esppObject.An1 = string.Empty;
// esppObject.An2 = string.Empty;
// esppObject.An3 = string.Empty;
//}
////Annually, Ежегодно
//if (esppObject.TypeSchedule == "annually")
//{
// esppObject.Interval = string.Empty;
// esppObject.Dayofweek = string.Empty;
// esppObject.Dayofmonth = string.Empty;
// esppObject.Md1 = string.Empty;
// esppObject.Md2 = string.Empty;
// //esppObject.Annualm = string.Empty;
// //esppObject.Annualday = string.Empty;
// esppObject.An1 = string.Empty;
// esppObject.An2 = string.Empty;
// esppObject.An3 = string.Empty;
//}
////Annually2, Ежегодно-2
//if (esppObject.TypeSchedule == "annually2")
//{
// esppObject.Interval = string.Empty;
// esppObject.Dayofweek = string.Empty;
// esppObject.Dayofmonth = string.Empty;
// esppObject.Md1 = string.Empty;
// esppObject.Md2 = string.Empty;
// esppObject.Annualm = string.Empty;
// esppObject.Annualday = string.Empty;
// //esppObject.An1 = string.Empty;
// //esppObject.An2 = string.Empty;
// //esppObject.An3 = string.Empty;
//}
return esppObject; return esppObject;
} }

View File

@@ -12,6 +12,7 @@
<None Include="docker-compose.aihit-syncher.yml" /> <None Include="docker-compose.aihit-syncher.yml" />
<None Include="docker-compose.espp-order-loader.yml" /> <None Include="docker-compose.espp-order-loader.yml" />
<None Include="docker-compose.espp-order-manager.yml" /> <None Include="docker-compose.espp-order-manager.yml" />
<None Include="docker-compose.espp-schedule-sync.yml" />
<None Include="docker-compose.espp-template-sync.yml" /> <None Include="docker-compose.espp-template-sync.yml" />
<None Include="docker-compose.generator-templates.yml" /> <None Include="docker-compose.generator-templates.yml" />
<None Include="docker-compose.master.yml" /> <None Include="docker-compose.master.yml" />