schangxiang@126.com
2024-12-04 d333a3cfd7882071fc3b9e357a8882e1e3f325d5
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -22,13 +22,16 @@
    private readonly SqlSugarRepository<SysConfig> _sysConfigRep;
    private readonly SqlSugarRepository<Mes_BatchOrderUPI_New> _mesBatchOrderUpiRep;
    private readonly SqlSugarRepository<Mes_Order_Gather> _mesOrderGatherRep;
    private readonly SqlSugarRepository<WmsRecordUpiProcess> _wmsRecordUpiProcessRep;
    private readonly SqlSugarRepository<WmsRecordPackageProcess> _wmsRecordPackageProcessRep;
    public WmsOperationTaskService(SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep
        , SqlSugarRepository<Mes_Package_Gather> mesPackageGatherRep
        , SqlSugarRepository<SysConfig> sysConfigRep
        , SqlSugarRepository<Mes_BatchOrderUPI_New> mesBatchOrderUpiRep
        , SqlSugarRepository<Mes_Order_Gather> mesOrderGatherRep
        , SqlSugarRepository<WmsRecordUpiProcess> wmsRecordUpiProcessRep
        , SqlSugarRepository<WmsRecordPackageProcess> wmsRecordPackageProcessRep
        )
    {
        _sysConfigRep = sysConfigRep;
@@ -37,6 +40,8 @@
        _wmsStockQuanRep = wmsStockQuanRep;
        _mesBatchOrderUpiRep = mesBatchOrderUpiRep;
        _mesOrderGatherRep = mesOrderGatherRep;
        _wmsRecordUpiProcessRep = wmsRecordUpiProcessRep;
        _wmsRecordPackageProcessRep = wmsRecordPackageProcessRep;
    }
@@ -109,7 +114,7 @@
        {
            throw Oops.Oh($"没有配置 判断齐套 值");
        }
        if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value != "无")
        if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value.Trim() != "无")
        {
            throw Oops.Oh($"判断齐套值已经存在值{sysConfig.Value},不允许操作");
        }
@@ -133,10 +138,11 @@
            _QiTaoReuslt = "齐套";
        }
        //临时屏蔽
        /*
        sysConfig.Value = setValue;
        await _sysConfigRep.UpdateAsync(sysConfig);
        //*/
        var sysConfig_wms_unline_oper = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_oper);
@@ -195,10 +201,70 @@
        {
            throw Oops.Oh($"没有找到包号{input.PackageCode}的汇总数据");
        }
        WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
        wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>();
        wmsRecordPackage.CreateTime = DateTime.Now;
        wmsRecordPackage.Location = "BZ29";
        wmsRecordPackage.OperRemark = "核对标签";
        await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage);
        WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess();
        wmsRecordUpi = singleUpi.Adapt<WmsRecordUpiProcess>();
        wmsRecordUpi.CreateTime = DateTime.Now;
        wmsRecordUpi.Location = "BZ29";
        wmsRecordUpi.OperRemark = "核对标签";
        await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi);
        return singlePackage;
    }
    /// <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);
    }
}