添加项目文件。

This commit is contained in:
2025-04-30 17:01:05 +08:00
commit 1eaedea85d
261 changed files with 33985 additions and 0 deletions

View 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; }
}
}