桌面端快检记录新增列表及同步mes
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
using Prism.Events;
|
||||
|
||||
namespace YY.Admin.Core.Events;
|
||||
|
||||
public class RubberQuickTestRecordChangedPayload
|
||||
{
|
||||
public string Action { get; set; } = string.Empty;
|
||||
public string? RecordId { get; set; }
|
||||
}
|
||||
|
||||
public class RubberQuickTestRecordChangedEvent : PubSubEvent<RubberQuickTestRecordChangedPayload> { }
|
||||
@@ -0,0 +1,31 @@
|
||||
using YY.Admin.Core.Entity;
|
||||
|
||||
namespace YY.Admin.Core.Services;
|
||||
|
||||
public interface IRubberQuickTestRecordService
|
||||
{
|
||||
Task<RubberQuickTestRecordPageResult> PageAsync(
|
||||
int pageNo,
|
||||
int pageSize,
|
||||
string? filterRecordNo = null,
|
||||
string? filterRubberMaterialName = null,
|
||||
string? filterPlanNo = null,
|
||||
CancellationToken ct = default);
|
||||
|
||||
Task<MesXslRubberQuickTestRecord?> GetByIdAsync(string id, CancellationToken ct = default);
|
||||
|
||||
RubberQuickTestRecordLocalItem? GetByLocalId(string localId);
|
||||
|
||||
Task<RubberQuickTestRecordSaveResult> SaveAsync(MesXslRubberQuickTestRecord entity, CancellationToken ct = default);
|
||||
|
||||
/// <summary>删除本地同步失败的快检记录(已同步或待同步不可删)</summary>
|
||||
bool DeleteFailedLocal(string localId);
|
||||
|
||||
string GenerateRecordNo(string rubberMaterialName);
|
||||
}
|
||||
|
||||
public record RubberQuickTestRecordPageResult(
|
||||
List<RubberQuickTestRecordListRow> Records,
|
||||
long Total,
|
||||
int PageNo,
|
||||
int PageSize);
|
||||
@@ -7,6 +7,9 @@ public class MesXslRubberQuickTestRecord
|
||||
public string? RubberMaterialId { get; set; }
|
||||
public string? RubberMaterialName { get; set; }
|
||||
public string? StdId { get; set; }
|
||||
public string? StdName { get; set; }
|
||||
public string? TestMethodId { get; set; }
|
||||
public string? TestMethodName { get; set; }
|
||||
public string? ProdEquipmentLedgerId { get; set; }
|
||||
public string? ProdEquipmentName { get; set; }
|
||||
public DateTime? ProductionDate { get; set; }
|
||||
@@ -17,8 +20,18 @@ public class MesXslRubberQuickTestRecord
|
||||
public string? InspectorUserId { get; set; }
|
||||
public string? InspectorUsername { get; set; }
|
||||
public string? InspectorRealname { get; set; }
|
||||
public string? QuickTestTypeId { get; set; }
|
||||
public string? QuickTestTypeName { get; set; }
|
||||
public string? InspectResult { get; set; }
|
||||
public string? ProductionPlanNo { get; set; }
|
||||
public List<MesXslRubberQuickTestRecordLine>? LineList { get; set; }
|
||||
public DateTime? CreateTime { get; set; }
|
||||
public List<MesXslRubberQuickTestRecordStdLine>? StdLineList { get; set; }
|
||||
public List<MesXslRubberQuickTestRecordRawLine>? RawLineList { get; set; }
|
||||
public List<MesXslRubberQuickTestRecordChartPoint>? ChartPointList { get; set; }
|
||||
|
||||
/// <summary>列表展示:班次文本</summary>
|
||||
public string? WorkShiftText { get; set; }
|
||||
|
||||
/// <summary>列表展示:是否合格</summary>
|
||||
public string? InspectResultText { get; set; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace YY.Admin.Core.Entity;
|
||||
|
||||
/// <summary>胶料快检记录曲线图数据点</summary>
|
||||
public class MesXslRubberQuickTestRecordChartPoint
|
||||
{
|
||||
public string? Id { get; set; }
|
||||
public string? RecordId { get; set; }
|
||||
public decimal? TimeMin { get; set; }
|
||||
public decimal? UpperTemp { get; set; }
|
||||
public decimal? LowerTemp { get; set; }
|
||||
public decimal? TorqueS { get; set; }
|
||||
public int? SortNo { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace YY.Admin.Core.Entity;
|
||||
|
||||
/// <summary>胶料快检记录数据标准明细(实验标准快照)</summary>
|
||||
public class MesXslRubberQuickTestRecordStdLine
|
||||
{
|
||||
public string? Id { get; set; }
|
||||
public string? RecordId { get; set; }
|
||||
public string? DataPointId { get; set; }
|
||||
public string? PointName { get; set; }
|
||||
public decimal? LowerLimit { get; set; }
|
||||
public decimal? UpperLimit { get; set; }
|
||||
public decimal? LowerWarn { get; set; }
|
||||
public decimal? UpperWarn { get; set; }
|
||||
public decimal? TargetValue { get; set; }
|
||||
public int? SortNo { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
namespace YY.Admin.Core.Entity;
|
||||
|
||||
/// <summary>胶料快检记录列表行</summary>
|
||||
public class RubberQuickTestRecordListRow
|
||||
{
|
||||
public string? LocalId { get; set; }
|
||||
public string? MesId { get; set; }
|
||||
public string? RecordNo { get; set; }
|
||||
public DateTime? ProductionDate { get; set; }
|
||||
public string? ProdEquipmentName { get; set; }
|
||||
public string? WorkShiftDisplay { get; set; }
|
||||
public string? ProductionPlanNo { get; set; }
|
||||
public string? RubberMaterialName { get; set; }
|
||||
public string? StdName { get; set; }
|
||||
public string? TestMethodName { get; set; }
|
||||
public string? QuickTestTypeName { get; set; }
|
||||
public string? TrainNo { get; set; }
|
||||
public int? InspectTimes { get; set; }
|
||||
public string? InspectorRealname { get; set; }
|
||||
public DateTime? InspectDate { get; set; }
|
||||
public string? InspectResultDisplay { get; set; }
|
||||
public string SyncStatus { get; set; } = "Pending";
|
||||
public string SyncStatusDisplay => SyncStatus switch
|
||||
{
|
||||
"Synced" => "已同步",
|
||||
"Failed" => "失败",
|
||||
_ => "待同步"
|
||||
};
|
||||
|
||||
/// <summary>仅本地同步失败记录可删除</summary>
|
||||
public bool CanDelete => SyncStatus == "Failed" && !string.IsNullOrWhiteSpace(LocalId);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace YY.Admin.Core.Entity;
|
||||
|
||||
/// <summary>桌面端本地胶料快检记录包装(含同步状态)</summary>
|
||||
public class RubberQuickTestRecordLocalItem
|
||||
{
|
||||
public string LocalId { get; set; } = Guid.NewGuid().ToString("N");
|
||||
public string? MesId { get; set; }
|
||||
/// <summary>Pending / Synced / Failed</summary>
|
||||
public string SyncStatus { get; set; } = "Pending";
|
||||
public string? SyncError { get; set; }
|
||||
public DateTime LocalCreateTime { get; set; } = DateTime.Now;
|
||||
public MesXslRubberQuickTestRecord Record { get; set; } = new();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace YY.Admin.Core.Entity;
|
||||
|
||||
public class RubberQuickTestRecordSaveResult
|
||||
{
|
||||
public MesXslRubberQuickTestRecord Record { get; set; } = new();
|
||||
public string LocalId { get; set; } = string.Empty;
|
||||
public string SyncStatus { get; set; } = "Pending";
|
||||
}
|
||||
@@ -51,7 +51,7 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
|
||||
// 胶料快检实验标准(桌面端只读)
|
||||
new SysMenu{ Id=1300150011301, Pid=1300150000101, Title="胶料快检实验标准", Path="/xslmes/mesXslRubberQuickTestStd", Name="mesXslRubberQuickTestStd", Component="RubberQuickTestStdListView", Icon="", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=112 },
|
||||
// 胶料快检记录(紧接实验标准之后)
|
||||
new SysMenu{ Id=1300150011201, Pid=1300150000101, Title="胶料快检记录", Path="/xslmes/rubberQuickTestOperation", Name="rubberQuickTestOperation", Component="RubberQuickTestOperationView", Icon="", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=113 },
|
||||
new SysMenu{ Id=1300150011201, Pid=1300150000101, Title="胶料快检记录", Path="/xslmes/rubberQuickTestRecord", Name="rubberQuickTestRecord", Component="RubberQuickTestRecordListView", Icon="", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=113 },
|
||||
// 密炼计划
|
||||
new SysMenu{ Id=1300150011401, Pid=1300150000101, Title="密炼计划", Path="/xslmes/mesXslMixingProductionPlan", Name="mesXslMixingProductionPlan", Component="MixingProductionPlanListView", Icon="", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=114 },
|
||||
|
||||
|
||||
@@ -518,6 +518,9 @@ namespace YY.Admin.Core.SqlSugar
|
||||
|
||||
dbProvider.Updateable<SysMenu>()
|
||||
.SetColumns(m => m.Title == "胶料快检记录")
|
||||
.SetColumns(m => m.Path == "/xslmes/rubberQuickTestRecord")
|
||||
.SetColumns(m => m.Name == "rubberQuickTestRecord")
|
||||
.SetColumns(m => m.Component == "RubberQuickTestRecordListView")
|
||||
.SetColumns(m => m.OrderNo == 113)
|
||||
.Where(m => m.Id == quickTestRecordMenuId)
|
||||
.ExecuteCommand();
|
||||
|
||||
Reference in New Issue
Block a user