22
schangxiang@126.com
2024-12-16 9baffa8a8a5c9fbdda690544132b95db9196cc88
22
已修改3个文件
68 ■■■■■ 文件已修改
CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DBScript/01_DDL/04_DDL_INDEX.sql 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs
@@ -115,7 +115,11 @@
            order.AllPackageArea = packageList.Sum(x => Convert.ToDecimal(x.Info13));
            order.ScanPackageArea = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.已下线 && x.UpiFlag == (int)UpiFlagEnum.正常).Sum(x => Convert.ToDecimal(x.Info13));
            order.NoScanPackageArea = order.AllPackageArea - order.ScanPackageArea;
            if (!string.IsNullOrEmpty(qitaoValue))
            {
            order.IsKitting = qitaoValue == "齐套" ? true : false;
            }
            var order_unLine = false;
            //查询下一个包是不是属于该订单
DBScript/01_DDL/04_DDL_INDEX.sql
@@ -0,0 +1,13 @@
-- 添加唯一索引  [Editby liuwq,2024-07-20]
IF EXISTS(select 1 from sysindexes where id=object_id('mes_order_gather') and name='idx_mes_order_gather')
DROP INDEX idx_mes_order_gather ON mes_order_gather
CREATE UNIQUE INDEX
idx_mes_order_gather ON mes_order_gather(Info5)
GO
IF EXISTS(select 1 from sysindexes where id=object_id('mes_package_gather') and name='idx_mes_package_gather')
DROP INDEX idx_mes_package_gather ON mes_package_gather
CREATE UNIQUE INDEX
idx_mes_package_gather ON mes_package_gather(PackageCode)
GO
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -115,6 +115,10 @@
            packageObj.UpiStatus = UpiStatusEnum.已下线;
            await _mesPackageGatherRep.UpdateAsync(packageObj);
            //下线更新 订单表数据 _mesOrderGatherRep
            await UpdateOrderGather(packageObj);
            foreach (var quan in quanList)
            {
                //清理 队列表
@@ -422,6 +426,11 @@
            throw Oops.Oh($"没有找到包号{input.PackageCode}的汇总数据");
        }
        if (singlePackage.UpiStatus == UpiStatusEnum.已下线)
        {
            throw Oops.Oh($"包号{input.PackageCode}已经下线");
        }
        singlePackage.UpiFlag = UpiFlagEnum.NG;
        singlePackage.UpdateTime = DateTime.Now;
        singlePackage.UpiStatus = UpiStatusEnum.已下线;
@@ -482,6 +491,9 @@
        }
        //下线更新 订单表数据 _mesOrderGatherRep
        await UpdateOrderGather(singlePackage);
        WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
        wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>();
@@ -499,6 +511,45 @@
    }
    /// <summary>
    /// 下线更新 订单表数据
    /// </summary>
    /// <param name="singlePackage"></param>
    /// <returns></returns>
    private async Task UpdateOrderGather(Mes_Package_Gather singlePackage)
    {
        //下线更新 订单表数据 _mesOrderGatherRep
        bool isAdd = false;
        var order = await _mesOrderGatherRep.AsQueryable().Where(x => x.Info5 == singlePackage.Info5).FirstAsync();
        if (order == null)
        {
            isAdd = true;
            order = new Mes_Order_Gather()
            {
                Info5 = singlePackage.Info5,
                OrderId = singlePackage.OrderId,
                PlanNo = singlePackage.PlanNo,
            };
        }
        var packageList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == singlePackage.Info5).ToListAsync();
        order.PackageNum = packageList.Count();
        order.UnLinePackageNum = packageList.Where(x => x.UpiStatus == UpiStatusEnum.已下线).Count() + 1;
        order.NgPackageNum = packageList.Where(x => x.UpiStatus == UpiStatusEnum.已下线 && x.UpiFlag == UpiFlagEnum.NG).Count() + 1;
        order.NoUnLinePackageNum = order.PackageNum - order.UnLinePackageNum;
        order.AllPackageArea = packageList.Sum(x => Convert.ToDecimal(x.Info13));
        order.ScanPackageArea = packageList.Where(x => x.UpiStatus == UpiStatusEnum.已下线 && x.UpiFlag == (int)UpiFlagEnum.正常).Sum(x => Convert.ToDecimal(x.Info13));
        order.NoScanPackageArea = order.AllPackageArea - order.ScanPackageArea;
        if (isAdd)
        {
            await _mesOrderGatherRep.InsertAsync(order);
        }
        else
        {
            await _mesOrderGatherRep.UpdateAsync(order);
        }
    }
    /// <summary>
    /// 标记NG-扫描件号
    /// </summary>
    /// <param name="input"></param>