添加项目文件。
This commit is contained in:
150
src/BarCode.Web.Api/Controllers/WmsBoxController.cs
Normal file
150
src/BarCode.Web.Api/Controllers/WmsBoxController.cs
Normal file
@@ -0,0 +1,150 @@
|
||||
using AutoMapper;
|
||||
using BarCode.Web.Domain.Infrastructure;
|
||||
using BarCode.Web.Domain.IService.Public;
|
||||
using BarCode.Web.Domain.IService;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using BarCode.Web.Core.Dto.Box;
|
||||
using BarCode.Web.Core.Internal.Results;
|
||||
using BarCode.Web.Domain.Values;
|
||||
using System.Text.RegularExpressions;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
using BarCode.Web.Core.Dto.SerialNumbers;
|
||||
using BarCode.Web.Domain.Services.Public;
|
||||
using BarCode.Web.Domain.Values.Single;
|
||||
using System.ComponentModel.Design;
|
||||
|
||||
namespace BarCode.Web.Api.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class WmsBoxController : ControllerBase
|
||||
{
|
||||
private readonly IBoxRepositories _boxRepositories;
|
||||
private readonly IMapper _mapper;
|
||||
private readonly ILoginService _loginService;
|
||||
private readonly IBoxService _boxService;
|
||||
private readonly ILogger<WmsBoxController> _logger;
|
||||
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
||||
private readonly ISingleDataService _singleDataService;
|
||||
public WmsBoxController(IMapper mapper, ILoginService loginService, IBoxRepositories boxRepositories,
|
||||
IBoxService boxService, ILogger<WmsBoxController> logger,
|
||||
ISerialNumbersRepositories serialNumbersRepositories, ISingleDataService singleDataService)
|
||||
{
|
||||
_boxRepositories = boxRepositories;
|
||||
_mapper = mapper;
|
||||
_loginService = loginService;
|
||||
_boxService = boxService;
|
||||
_logger = logger;
|
||||
_serialNumbersRepositories = serialNumbersRepositories;
|
||||
_singleDataService = singleDataService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wms获取箱信息-列表
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("GetList")]
|
||||
public async Task<OpsReponse> GetList(WmsBoxRequest dto)
|
||||
{
|
||||
_logger.LogInformation($"请求消息:{JsonConvert.SerializeObject(dto)}");
|
||||
List<WmsBoxResponse> list = new List<WmsBoxResponse>();
|
||||
int count = 0;
|
||||
try
|
||||
{
|
||||
(list, count) = await _boxService.GetCartonListAsync(dto);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError($"wms系统获取箱信息异常:{ex.Message}");
|
||||
return new OpsReponse()
|
||||
{
|
||||
succeeded = false
|
||||
};
|
||||
}
|
||||
OpsInfo info = new OpsInfo()
|
||||
{
|
||||
date = JsonConvert.SerializeObject(list)
|
||||
};
|
||||
OpsReponse reponse = new OpsReponse()
|
||||
{
|
||||
succeeded = true,
|
||||
data = info
|
||||
};
|
||||
return reponse;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wms获取序列号信息
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("GetSerialNumber")]
|
||||
public async Task<Result<SerialNumbersWmsResponse>> GetSerialNumber(SerialNumbersWmsRequest dto)
|
||||
{
|
||||
_logger.LogInformation($"wms获取序列码:{JsonConvert.SerializeObject(dto)}");
|
||||
|
||||
var entity = await _serialNumbersRepositories.GetEntityWms(dto.SerialNumber);
|
||||
if (entity == null) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberNoData);
|
||||
if (entity.BoxId > 0)
|
||||
return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberBindBox);
|
||||
if (entity.IsUse == true)
|
||||
return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberIsUse);
|
||||
var response = new SerialNumbersWmsResponse()
|
||||
{
|
||||
SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
|
||||
MaterialNumber = entity.MaterialNumber,
|
||||
CreateTime = entity.CreateTime,
|
||||
Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId)
|
||||
};
|
||||
//把查询到的序列码修改成使用
|
||||
entity.WmsGet(dto.SerialNumber);
|
||||
var list = new List<Domain.Entitys.SerialNumbers>();
|
||||
list.Add(entity);
|
||||
var res = await _serialNumbersRepositories.EditEntityList(list);
|
||||
if (!res) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
_logger.LogInformation($"wms获取序列码返回序列码信息:{JsonConvert.SerializeObject(response)}");
|
||||
|
||||
return Result<SerialNumbersWmsResponse>.ReSuccess(response);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取序列号信息
|
||||
/// </summary>
|
||||
/// <param name="serialNumber">序列号</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("Get/{serialNumber}")]
|
||||
public async Task<Result<SerialNumbersExternalResponse>> Get([FromRoute] string serialNumber)
|
||||
{
|
||||
if (string.IsNullOrEmpty(serialNumber))
|
||||
return Result<SerialNumbersExternalResponse>.ReFailure(ResultCodes.SerialNumbersNoData);
|
||||
|
||||
var serial = await _serialNumbersRepositories.GetExternal(serialNumber);
|
||||
if (serial == null) return Result<SerialNumbersExternalResponse>.ReFailure(ResultCodes.SerialNumbersNoData);
|
||||
return Result<SerialNumbersExternalResponse>.ReSuccess(serial);
|
||||
}
|
||||
}
|
||||
|
||||
public class OpsInfo
|
||||
{
|
||||
public int code { get; set; }
|
||||
public string message { get; set; }
|
||||
public string date { get; set; }
|
||||
public string token { get; set; }
|
||||
}
|
||||
public class OpsReponse
|
||||
{
|
||||
public int statusCode { get; set; }
|
||||
public bool succeeded { get; set; }
|
||||
public string errors { get; set; }
|
||||
public string extras { get; set; }
|
||||
|
||||
public OpsInfo data { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user