南骏 池
6 天以前 7b84eb64d11b12b6fb41ae7f7085452512ad5d3f
service/Warehouse/MesInvItemInCDetailsManager.cs
@@ -26,25 +26,25 @@
        var freeze = 0;
        decimal cSyQty = 0;
        //if (string.IsNullOrEmpty(sectionCode))
        //    throw new Exception("请扫库位条码!");
        if (string.IsNullOrEmpty(sectionCode))
            throw new Exception("请扫库位条码!");
        var itemBarcodeDetails = Db.Queryable<MesInvItemBarcodes>()
            .Where(it => it.ItemBarcode == itemBarcode)
            .First();
        //if (itemBarcodeDetails == null)
        //    throw new Exception("条码不存在,请核对!");
        if (itemBarcodeDetails == null)
            throw new Exception("条码不存在,请核对!");
        if (string.IsNullOrEmpty(itemBarcodeDetails.Memo) || itemBarcodeDetails.Memo != "采购入库")
            throw new Exception("此条码不属于到货条码,无法用采购入库!");
        var inventory = Db.Queryable<MesInvItemArn>()
            .Where(it => it.BillNo == itemBarcodeDetails.BillNo)
            .Where(it => it.BillNo == itemBarcodeDetails.BillNo && it.Fstatus == true )
            .First();
        if (inventory == null)
            throw new Exception("此条码找不到对应收货单!");
            throw new Exception("此条码找不到对应收货单或未审核!");
        // var inventoryDetails = Db.Queryable<MesInvItemArnDetail>()
        //     .Where(it => it.ParentGuid == inventory.Guid
@@ -64,10 +64,15 @@
        if (inventoryDetails == null)
            throw new Exception("此条码找不到对应收货单明细!");
        //if (string.IsNullOrEmpty(inventoryDetails.CheckRes) || inventoryDetails.CheckRes != "Y:合格")
        //{
        //    throw new Exception("该条码对应的收料单检验不合格或未检验!");
        //}
        //获取到货检验明细
        var sqlParams = new List<SugarParameter> { new("@dhmxGuid", itemBarcodeDetails.AboutGuid) };
        var sql1 = @"SELECT *FROM v_dhmx WHERE dhmxGuid = @dhmxGuid ";
        var dhjymx = Db.Ado.SqlQuery<vDhmx>(sql1, sqlParams).First();
        //判定检验能否入库
        if (dhjymx.CanStore!= 1)
        {
            throw new Exception($"该条码对应的收料单检验结果:【{dhjymx.InspectionResult}】,判定结果:【{dhjymx.JudgmentResult}】,处理意见:【{dhjymx.HandlingSuggestion}】,无法入库");
        }
        var depotCode = Db.Queryable<MesDepotSections>()
            .Where(it => it.DepotSectionCode == sectionCode)
@@ -82,10 +87,10 @@
        MesDepots mesDepost = null;
        var checkGuid = UtilityHelper.CheckGuid(depotCode);
        if (checkGuid && depotCode2 != null)
        if (checkGuid && depotCode != null)
        {
            mesDepost = Db.Queryable<MesDepots>()
                .Where(s => s.DepotId.ToString() == depotCode2).First();
                .Where(s => s.DepotId.ToString() == depotCode).First();
            // if (depotCode != mesDepost.Guid)
            //     throw new Exception("扫描库位与采购入库库位不一致!");
@@ -784,7 +789,8 @@
                        FQty = a.Quantity, // 申请数量
                        FMaterialId = b.ItemId,
                        Id = a.Guid.ToString(),
                        kw = a.DepotSectionCode
                        kw = a.DepotSectionCode,
                        barcode = a.ItemBarcode
                    })
                    .ToList();
@@ -855,6 +861,11 @@
            if (mesInvItemInCDetails == null)
                throw new Exception("物料入库条码明细不存在"); // 抛出异常以供前台处理
            // 创建 插入日志
            var logService = new LogService();
            var LogMsg = "【PDA】采购入库。条码【" + entity.barcode + "】 入库单号【" + cBillNo + "】";
            logService.CreateLog(db, entity.userName, inventory.Guid.ToString(), "MES_INV_ITEM_ARN", LogMsg, inventory.BillNo);
            return 1;
        });