Browse Source

新增storage main model

编写bysku逻辑
master
taoleite 3 weeks ago
parent
commit
3d56764630
  1. 31
      Controllers/OutputRequestController.cs
  2. 3
      Data/MichelinDbContext.cs
  3. 51
      Entities/STORAGE_MAIN.cs
  4. 68
      Repositories/Implement/StorageMainRepository.cs
  5. 11
      Repositories/Interface/IStorageMainRepository.cs

31
Controllers/OutputRequestController.cs

@ -20,6 +20,7 @@ namespace WMS_GIRAF_Interface.Controllers
IProductInformationRepository productInformationRepository,
IIoControlRepository ioControlRepository,
IIoControlRouteRepository ioControlRouteRepository,
IStorageMainRepository storageMainRepository,
CellLogicService cellLogicService)
: ControllerBase
{
@ -198,6 +199,15 @@ namespace WMS_GIRAF_Interface.Controllers
//无需筛选巷道状态,直接选择可用轮胎,只需考虑availableEvacuationPosts即可,筛选lane_way
#region outlevel 4/3/2/1
string temp = $@"SELECT TOP 1 STORAGE_ID FROM V_STORAGE_LIST
WHERE RUN_STATUS = 'Enable'
AND (requestNumber IS NULL OR requestNumber = '')
AND IsBlocked = {(outputRequest.productIsBlocked ? 1 : 0)}
AND LOTNUMBER = '{outputRequest.sku}'
AND PopulationNumber = '{outputRequest.productClass}'
AND Lane_way IN ({string.Join(",", outputRequest.availableEvacuationPosts)})
ORDER BY OutLevel DESC , HdvDateTimeInUtc";
var checkHighPriorityTire = context.V_StorageList.FromSqlRaw(
$@"SELECT TOP 1 STORAGE_ID FROM V_STORAGE_LIST
WHERE RUN_STATUS = 'Enable'
@ -205,7 +215,26 @@ namespace WMS_GIRAF_Interface.Controllers
AND IsBlocked = {(outputRequest.productIsBlocked ? 1 : 0)}
AND LOTNUMBER = '{outputRequest.sku}'
AND PopulationNumber = '{outputRequest.productClass}'
AND Lane_way IN({string.Join(",",outputRequest.availableEvacuationPosts)})");
AND Lane_way IN ({string.Join(",",outputRequest.availableEvacuationPosts)})
ORDER BY OutLevel DESC , HdvDateTimeInUtc").ToList();
if (checkHighPriorityTire.Count > 0)
{
//选择当前的可用的轮胎,更新需求号
var storageId = checkHighPriorityTire[0].STORAGE_ID;
if (storageId != 0 && storageId !=null)
{
var getStorageMain = storageMainRepository.GetStorageMain("StorageId", storageId.ToString());
}
}
else
{
}
#endregion

3
Data/MichelinDbContext.cs

@ -22,6 +22,9 @@ public class MichelinDbContext : DbContext
public DbSet<ProductInformation> ProductInformation { get; set; }
public DbSet<STORAGE_MAIN> Storage_Main { get; set; }
//视图类声明
public virtual DbSet<V_MANAGE_IN_COUNT> V_ManageInCount { get; set; }
public virtual DbSet<V_WH_CELL_ENABLE> V_WhCellEnable { get; set; }

51
Entities/STORAGE_MAIN.cs

@ -0,0 +1,51 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace WMS_GIRAF_Interface.Entities;
[Table("STORAGE_MAIN")]
public class STORAGE_MAIN
{
[Column("STORAGE_ID")]
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int? STORAGE_ID { get; set; }
[Column("CELL_ID")]
public int? CELL_ID { get; set; }
[Column("STOCK_BARCODE")]
public string? STOCK_BARCODE { get; set; }
[Column("CELL_MODEL")]
public string? CELL_MODEL { get; set; }
[Column("LOTNUMBER")]
public string? LOTNUMBER { get; set; }
[Column("PopulationNumber")]
public string? PopulationNumber { get; set; }
[Column("FabricationDateTimeInUtc")]
public string? FabricationDateTimeInUtc { get; set; }
[Column("DryDateTimeInUtc")]
public string? DryDateTimeInUtc { get; set; }
[Column("OldDateTimeInUtc")]
public string? OldDateTimeInUtc { get; set; }
[Column("HdvDateTimeInUtc")]
public string? HdvDateTimeInUtc { get; set; }
[Column("IsPriority")]
public bool? IsPriority { get; set; }
[Column("IsBlocked")]
public bool? IsBlocked { get; set; }
[Column("STORAGE_LIST_QUANTITY")]
public int? STORAGE_LIST_QUANTITY { get; set; } = 1;
[Column("EntryTime")]
public string? EntryTime { get; set; }
[Column("STORAGE_REMARK")]
public string? STORAGE_REMARK { get; set; }
[Column("GOODS_ID")]
public int? GOODS_ID { get; set; }
[Column("requestNumber")]
public string? requestNumber { get; set; }
}

68
Repositories/Implement/StorageMainRepository.cs

@ -0,0 +1,68 @@
using Serilog;
using WMS_GIRAF_Interface.Data;
using WMS_GIRAF_Interface.Entities;
using WMS_GIRAF_Interface.Repositories.Interface;
namespace WMS_GIRAF_Interface.Repositories.Implement;
public class StorageMainRepository:IStorageMainRepository
{
private readonly MichelinDbContext _context;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="context"></param>
public StorageMainRepository(MichelinDbContext context)
{
_context = context;
}
public STORAGE_MAIN? GetStorageMain(string type, string filterInfo)
{
STORAGE_MAIN? storageMain = type switch
{
"barcode" => _context.Storage_Main.FirstOrDefault(x => x.STOCK_BARCODE == filterInfo),
"storageId" => _context.Storage_Main.FirstOrDefault(x => x.STORAGE_ID == Convert.ToInt32(filterInfo)),
"requestNumber" => _context.Storage_Main.FirstOrDefault(x => x.requestNumber == filterInfo),
_ => _context.Storage_Main.FirstOrDefault(x => x.STOCK_BARCODE == filterInfo)
};
return storageMain;
}
public bool UpdateStorageMain(STORAGE_MAIN storageMain)
{
if (storageMain == null || storageMain.STORAGE_ID == 0)
{
throw new ArgumentNullException(nameof(UpdateStorageMain));
}
_context.Storage_Main.Update(storageMain);
Log.Information($"Update storage main info({storageMain.STOCK_BARCODE});");
_context.SaveChanges();
return true;
}
public bool DeleteStorageMain(STORAGE_MAIN storageMain)
{
if(storageMain == null || storageMain.STORAGE_ID == 0)
{
throw new ArgumentNullException(nameof(DeleteStorageMain));
}
_context.Storage_Main.Remove(storageMain);
_context.SaveChanges();
Log.Information($"Deleted storage main info({storageMain.STOCK_BARCODE});");
return true;
}
public bool AddStorageMain(STORAGE_MAIN storageMain)
{
if (storageMain==null)
{
throw new ArgumentNullException(nameof(AddStorageMain));
}
_context.Storage_Main.Add(storageMain);
_context.SaveChanges();
Log.Information($"Add storage main info({storageMain.STOCK_BARCODE});");
return true;
}
}

11
Repositories/Interface/IStorageMainRepository.cs

@ -0,0 +1,11 @@
using WMS_GIRAF_Interface.Entities;
namespace WMS_GIRAF_Interface.Repositories.Interface;
public interface IStorageMainRepository
{
public STORAGE_MAIN? GetStorageMain(string type, string filterInfo);
public bool AddStorageMain(STORAGE_MAIN storageMain);
public bool UpdateStorageMain(STORAGE_MAIN storageMain);
public bool DeleteStorageMain(STORAGE_MAIN storageMain);
}
Loading…
Cancel
Save