22
schangxiang@126.com
2024-12-05 6c4fdad188710d1ea09a67db4396b2bf4c6f06ac
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs
@@ -45,20 +45,34 @@
            throw Oops.Oh("本次有重复的UPI!重复号为:" + dit.Key + ",重复条数:" + dit.Value);
        }
        List<string> packageList = new List<string>();
        input.ForEach(x => packageList.Add(x.PackageCode));//upis是传过来的upi字段集合
        //同一个UPI只能属于一个 批次号+订单号
        //会存在 一个批次号,多个订单号的情况
        //会存在 一个订单号,多个批次号的情况
        var batchOrderUPIs = await _rep.AsQueryable().Where(x => packageList.Contains(x.PackageCode)).ToListAsync();//batchOrderUPIs是重复的upi集合
        //按照批次号+订单号删除
        List<string> packageList = new List<string>();
        input.ForEach(x => packageList.Add(x.PlanNo + "_" + x.OrderId));//upis是传过来的upi字段集合
        var batchOrderUPIs = await _rep.AsQueryable().Where(x => packageList.Contains(x.PlanNo + "_" + x.OrderId)).ToListAsync();//batchOrderUPIs是重复的upi集合
        //批量删除
        await _rep.DeleteAsync(batchOrderUPIs);
        //批量删除
        await _mes_Package_Gather_Rep.DeleteAsync(x => packageList.Contains(x.PackageCode));
        await _mes_Package_Gather_Rep.DeleteAsync(x => packageList.Contains(x.PlanNo + "_" + x.OrderId));
        //删除重复的upi数据
        List<string> upis = new List<string>();
        input.ForEach(x => upis.Add(x.UPI));//upis是传过来的upi字段集合
        var queryDateTime = DateTime.Now.AddDays(-7);
        var batchOrderUPIs22 = await _rep.AsQueryable().Where(x => upis.Contains(x.UPI) && x.CreateTime >= queryDateTime).ToListAsync();//batchOrderUPIs是重复的upi集合
        //批量删除
        await _rep.DeleteAsync(batchOrderUPIs22);
        foreach (var item in input)
        {
            item.AreaCode = AreaCodeEnum.无区域;
            item.UpiStatus = UpiStatusEnum.初始;
            item.CreateUserName = item.UpdateUserName = "MES";
        }
        List<Mes_Package_Gather> addGatherList = new List<Mes_Package_Gather>();
        var groups = input.GroupBy(x => x.PackageCode);
@@ -68,6 +82,7 @@
            Mes_Package_Gather newGather = first.Adapt<Mes_Package_Gather>();
            newGather.AreaCode = AreaCodeEnum.无区域;
            newGather.UpiStatus = UpiStatusEnum.初始;
            newGather.CreateUserName = newGather.UpdateUserName = "MES";
            addGatherList.Add(newGather);
        }
        await _mes_Package_Gather_Rep.InsertRangeAsync(addGatherList);