222
schangxiang@126.com
2024-11-30 245e51a89259881f2a157e967fc2f1008e12bd5e
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -7,6 +7,7 @@
using DocumentFormat.OpenXml.Office.CustomUI;
using Microsoft.CodeAnalysis.Operations;
using Admin.NET.Application.Service.WmsTask.WmsRbLineTask.Dto;
using Furion.DatabaseAccessor;
namespace Admin.NET.Application;
/// <summary>
@@ -21,6 +22,7 @@
    private readonly SqlSugarRepository<SysConfig> _sysConfigRep;
    private readonly SqlSugarRepository<Mes_BatchOrderUPI_New> _mesBatchOrderUpiRep;
    private readonly SqlSugarRepository<Mes_Order_Gather> _mesOrderGatherRep;
    public WmsOperationTaskService(SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep
        , SqlSugarRepository<Mes_Package_Gather> mesPackageGatherRep
@@ -85,6 +87,7 @@
    [HttpPost]
    [ApiDescriptionSettings(Name = "ValdateQiTao")]
    [Description("WmsOperationTask/ValdateQiTao")]
    [UnitOfWork]
    public async Task<ValidateQiTaoOutput> ValdateQiTao(ValidateQiTaoInput input)
    {
        ValidateQiTaoOutput output = new ValidateQiTaoOutput();
@@ -111,6 +114,9 @@
            throw Oops.Oh($"判断齐套值已经存在值{sysConfig.Value},不允许操作");
        }
        //记录工作时间和工作人
        var curUserName = App.User.FindFirst(ClaimConst.RealName)?.Value;
        var setValue = "";
        var _QiTaoReuslt = "";
        var other_orderList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5 && x.PackageCode != input.PackageCode).ToListAsync();
@@ -118,12 +124,12 @@
        if (num > 0)
        {
            //不齐套
            setValue = $"{input.PackageCode}|不齐套";
            setValue = $"{input.PackageCode}|不齐套|" + curUserName;
            _QiTaoReuslt = "不齐套";
        }
        else
        {
            setValue = $"{input.PackageCode}|齐套";
            setValue = $"{input.PackageCode}|齐套|" + curUserName;
            _QiTaoReuslt = "齐套";
        }
@@ -132,7 +138,25 @@
        sysConfig.Value = setValue;
        await _sysConfigRep.UpdateAsync(sysConfig);
        //记录工作时间和工作人
        var sysConfig_wms_unline_oper = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_oper);
        if (sysConfig_wms_unline_oper == null)
        {
            throw Oops.Oh($"没有配置 包装下线操作人 值");
        }
        if (sysConfig_wms_unline_oper.Value != curUserName)
        {
            sysConfig_wms_unline_oper.Value = curUserName;
            await _sysConfigRep.UpdateAsync(sysConfig_wms_unline_oper);
            var sysConfig_wms_unline_time = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_time);
            if (sysConfig_wms_unline_time == null)
            {
                throw Oops.Oh($"没有配置 包装下线登陆时间 值");
            }
            sysConfig_wms_unline_time.Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            await _sysConfigRep.UpdateAsync(sysConfig_wms_unline_time);
        }
        output = package.Adapt<ValidateQiTaoOutput>();
@@ -175,6 +199,51 @@
    }
    /// <summary>
    /// NG包下线
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    [HttpPost]
    [ApiDescriptionSettings(Name = "UnlineForNGPackage")]
    [Description("WmsOperationTask/UnlineForNGPackage")]
    public async Task UnlineForNGPackage(UnlineForNGPackageInput input)
    {
        //if (input == null)
        //{
        //    throw Oops.Oh("参数不能为空");
        //}
        //if (string.IsNullOrEmpty(input.PackageCode))
        //{
        //    throw Oops.Oh("包号不能为空");
        //}
        //if (string.IsNullOrEmpty(input.Reason))
        //{
        //    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);
    }
}