schangxiang@126.com
2024-11-28 2e435c4920c87c4ffc0ebfa300dc438488ceb74c
增加 强制出库
已添加2个文件
已修改1个文件
98 ■■■■■ 文件已修改
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/ForceOutboundInput.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs
@@ -15,7 +15,20 @@
    /// å·²å†»ç»“
    /// </summary>
    [Description("已冻结")]
    å·²å†»ç»“ = 2
    å·²å†»ç»“ = 2,
    /// <summary>
    /// é½åŒ…待出库
    /// </summary>
    [Description("齐包待出库")]
    é½åŒ…待出库 = 3,
    /// <summary>
    /// äººå·¥å¼ºåˆ¶å¾…出库
    /// </summary>
    [Description("人工强制待出库")]
    äººå·¥å¼ºåˆ¶å¾…出库 = 4
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using Admin.NET.Core.Service;
using Admin.NET.Application.Entity;
using Microsoft.AspNetCore.Http;
using System.Data;
using System.Web;
using System.Text;
namespace Admin.NET.Application;
/// <summary>
/// æ“ä½œä»»åŠ¡æœåŠ¡
/// </summary>
[ApiDescriptionSettings(ApplicationConst.WmsTaskGroupName, Order = 100)]
public class WmsOperationTaskService : IDynamicApiController, ITransient
{
    private readonly SqlSugarRepository<WmsRbLineTask> _rep;
    private readonly SqlSugarRepository<WmsStockQuan> _wmsStockQuanRep;
    public WmsOperationTaskService(SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep)
    {
        _rep = rep;
        _wmsStockQuanRep = wmsStockQuanRep;
    }
    /// <summary>
    /// å¼ºåˆ¶å‡ºåº“
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    [HttpPost]
    [ApiDescriptionSettings(Name = "ForceOutbound")]
    [Description("WmsOperationTask/ForceOutbound")]
    public async Task ForceOutbound(ForceOutboundInput input)
    {
        if (input == null || input.PackageCodeList?.Count == 0)
        {
            throw Oops.Oh("参数不能为空");
        }
        List<WmsStockQuan> updateQuanList = new List<WmsStockQuan>();
        foreach (var item in input.PackageCodeList)
        {
            var quanList = await _wmsStockQuanRep.AsQueryable().Where(x => x.PackageCode == item).ToListAsync();
            var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.齐包待出库).Count();
            if (isExist > 0)
            {
                throw Oops.Oh($"包{item}中其中有板状态是'{StockStatusEnum.齐包待出库.ToString()}',不允许强制出库");
            }
            //更新状态
            foreach (var quan in quanList)
            {
                quan.StockStatus = StockStatusEnum.人工强制待出库;
                quan.UpdateTime = DateTime.Now;
                quan.OperReason = "人工强制待出库";
            }
            updateQuanList.AddRange(quanList);
        }
        await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList);
    }
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/ForceOutboundInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using Admin.NET.Core;
using System.ComponentModel.DataAnnotations;
namespace Admin.NET.Application;
/// <summary>
/// å¼ºåˆ¶å‡ºåº“输入参数
/// </summary>
public class ForceOutboundInput
{
    /// <summary>
    /// åŒ…装号集合
    /// </summary>
    public virtual List<string> PackageCodeList { get; set; }
}