Browse Source

新增iocontrol的model

master
taoleite 1 week ago
parent
commit
5029aecc1d
  1. 55
      Controllers/InputRequestController.cs
  2. 1
      Data/MichelinDbContext.cs
  3. 22
      Repositories/Implement/IoControlRepository.cs
  4. 17
      Repositories/Implement/IoControlRouteRepository.cs
  5. 3
      Repositories/Implement/WhCellRepository.cs
  6. 8
      Repositories/Interface/IIoControlRepository.cs

55
Controllers/InputRequestController.cs

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using WMS_GIRAF_Interface.Data;
@ -21,6 +22,7 @@ public class InputRequestController(
IManageMainRepository manageMainRepository,
IWhCellRepository whCellRepository,
IProductInformationRepository productInformationRepository,
IIoControlRepository ioControlRepository,
CellLogicService cellLogicService)
: ControllerBase
{
@ -216,7 +218,7 @@ public class InputRequestController(
returnParameter.introductionPost = inputRequest.introductionPost;
returnParameter.errorDetails +=
$"Tire barcode {inputRequestProduct.identifier} created task success! ;";
logger.LogInformation($"Create task info success! tire barcode :{checkTireTask.STOCK_BARCODE};/r/n task info: {JsonConvert.SerializeObject(checkTireTask)} ");
logger.LogInformation($"Create task info success! tire barcode :{inputRequestProduct.identifier};/r/n task info: {inputRequest.sku}|{inputRequest.inputRequestId} ");
}
else
{
@ -256,6 +258,7 @@ public class InputRequestController(
returnParameter.status = "5";
returnParameter.introductionPost = inputRequest.introductionPost;
returnParameter.errorDetails = $"WMS didn't find the post number{inputRequest.introductionPost} ";
logger.LogError($"tire barcode :{inputRequest.introductionPost}; Error message:{returnParameter.errorDetails}");
}
}
@ -266,7 +269,7 @@ public class InputRequestController(
returnParameter.status = "2";
returnParameter.introductionPost = inputRequest.introductionPost;
returnParameter.errorDetails = $"WMS didn't receive the right format input parameters! ";
logger.LogError(returnParameter.errorDetails);
}
return returnParameter;
@ -293,9 +296,53 @@ public class InputRequestController(
/// <param name="inputRequest"></param>
[HttpPost("Cancel")]
public void CancelInputRequest(CancelInputRequest.RootObject inputRequest)
public CancelInputRequestReturn CancelInputRequest(CancelInputRequest.RootObject? inputRequest)
{
//TODO:取消入库请求,如果已经到入库口,无法进行取消
//根据requestNumber获取入库信息
CancelInputRequestReturn returnJson = new CancelInputRequestReturn();
if (inputRequest!=null && string.IsNullOrEmpty(inputRequest.inputRequestId) )
{
var inputTaskInfo = manageMainRepository.GetManageMain("requestNumber", inputRequest.inputRequestId);
if (inputTaskInfo != null)
{
//排查任务状态,并查看是否已经有控制任务
var checkIoControlTask = ioControlRepository.GetIoControlTaskByManageId(inputTaskInfo.MANAGE_ID);
if (checkIoControlTask != null)
{
//不可以删除当前任务
returnJson.status = "3";
returnJson.errorDetails = "this task has been already in progress,it cannot be deleted ";
logger.LogError($"cannot delete input task [{inputTaskInfo.STOCK_BARCODE}] already have task {inputTaskInfo.STOCK_BARCODE};");
}
else
{
//可以删除任务
manageMainRepository.DeleteManageMain(inputTaskInfo);
returnJson.status = "1";
returnJson.errorDetails = "";
logger.LogInformation($"delete task [{inputTaskInfo.STOCK_BARCODE}] success");
}
}
else
{
//未查到对应入库任务
returnJson.status = "2";
returnJson.errorDetails = $"WMS can not detect this task,please confirm request number [{inputRequest.inputRequestId}] ";
logger.LogError(returnJson.errorDetails);
}
}
else
{
//传入数据位null
returnJson.status = "2";
returnJson.errorDetails = "CancelInputRequest:WMS can not get the json string ";
logger.LogError(returnJson.errorDetails);
}
return returnJson;
}
}

1
Data/MichelinDbContext.cs

@ -15,6 +15,7 @@ public class MichelinDbContext : DbContext
public DbSet<MANAGE_MAIN?> Manage_Main { get; set; }
public DbSet<IO_CONTROL> IoControl { get; set; }
public DbSet<IO_CONTROL_ROUTE> IoControlRoute { get; set; }
public DbSet<WH_CELL> Wh_Cell { get; set; }

22
Repositories/Implement/IoControlRepository.cs

@ -0,0 +1,22 @@
using WMS_GIRAF_Interface.Data;
using WMS_GIRAF_Interface.Entities;
using WMS_GIRAF_Interface.Repositories.Interface;
namespace WMS_GIRAF_Interface.Repositories.Implement;
public class IoControlRepository(MichelinDbContext context, ILogger<IoControlRepository> logger):IIoControlRepository
{
//获取Io Control 表数据
/// <summary>
/// 获取io control数据
/// </summary>
/// <param name="manageId"></param>
/// <returns></returns>
public IO_CONTROL? GetIoControlTaskByManageId(int manageId)
{
var ioControlInfo = context.IoControl.FirstOrDefault(x => x.MANAGE_ID == manageId);
return ioControlInfo;
}
}

17
Repositories/Implement/IoControlRouteRepository.cs

@ -4,28 +4,19 @@ using WMS_GIRAF_Interface.Repositories.Interface;
namespace WMS_GIRAF_Interface.Repositories.Implement;
public class IoControlRouteRepository:IIoControlRouteRepository
public class IoControlRouteRepository(MichelinDbContext context, ILogger<ManageMainRepository> logger)
: IIoControlRouteRepository
{
private readonly MichelinDbContext _context;
private readonly ILogger<ManageMainRepository> _logger;
public IoControlRouteRepository(MichelinDbContext context, ILogger<ManageMainRepository> logger)
{
_context = context;
_logger = logger;
}
public IO_CONTROL_ROUTE? GetIoControlRoute(int? lineNumber)
{
try
{
var ioControlRoute = _context.IoControlRoute.Where(x => x.CONTROL_ROUTE_TYPE == lineNumber).FirstOrDefault();
var ioControlRoute = context.IoControlRoute.FirstOrDefault(x => x.CONTROL_ROUTE_TYPE == lineNumber);
return ioControlRoute;
}
catch (Exception ex)
{
_logger.LogError(ex, "Error in GetIoControlRoute");
logger.LogError(ex, "Error in GetIoControlRoute");
return null;
}
}

3
Repositories/Implement/WhCellRepository.cs

@ -1,9 +1,10 @@
using WMS_GIRAF_Interface.Data;
using WMS_GIRAF_Interface.Entities;
using WMS_GIRAF_Interface.Repositories.Interface;
namespace WMS_GIRAF_Interface.Repositories.Implement;
public class WhCellRepository(MichelinDbContext context)
public class WhCellRepository(MichelinDbContext context):IWhCellRepository
{
public WH_CELL? GetCell(int cellId)
{

8
Repositories/Interface/IIoControlRepository.cs

@ -0,0 +1,8 @@
using WMS_GIRAF_Interface.Entities;
namespace WMS_GIRAF_Interface.Repositories.Interface;
public interface IIoControlRepository
{
public IO_CONTROL? GetIoControlTaskByManageId(int manageId);
}
Loading…
Cancel
Save