| | |
| | | public class ThirdInterFaceService : IDynamicApiController, ITransient |
| | | { |
| | | private readonly SqlSugarRepository<Mes_BatchOrderUPI_New> _rep; |
| | | public ThirdInterFaceService(SqlSugarRepository<Mes_BatchOrderUPI_New> rep) |
| | | private readonly SqlSugarRepository<Mes_Package_Gather> _mes_Package_Gather_Rep; |
| | | public ThirdInterFaceService(SqlSugarRepository<Mes_BatchOrderUPI_New> rep, |
| | | SqlSugarRepository<Mes_Package_Gather> mes_Package_Gather_Rep |
| | | ) |
| | | { |
| | | _rep = rep; |
| | | _mes_Package_Gather_Rep = mes_Package_Gather_Rep; |
| | | } |
| | | |
| | | [HttpPost] |
| | |
| | | throw Oops.Oh("本次有重复的UPI!重复号为:" + dit.Key + ",重复条数:" + dit.Value); |
| | | } |
| | | |
| | | List<string> upis = new List<string>(); |
| | | input.ForEach(x => upis.Add(x.UPI));//upis是传过来的upi字段集合 |
| | | //同一个UPI只能属于一个 批次号+订单号 |
| | | //会存在 一个批次号,多个订单号的情况 |
| | | //会存在 一个订单号,多个批次号的情况 |
| | | |
| | | var batchOrderUPIs = await _rep.AsQueryable().Where(x => upis.Contains(x.UPI)).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.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.初始; |
| | | } |
| | | List<Mes_Package_Gather> addGatherList = new List<Mes_Package_Gather>(); |
| | | var groups = input.GroupBy(x => x.PackageCode); |
| | | foreach (var group in groups) |
| | | { |
| | | var first = group.ToList().First(); |
| | | Mes_Package_Gather newGather = first.Adapt<Mes_Package_Gather>(); |
| | | newGather.AreaCode = AreaCodeEnum.无区域; |
| | | newGather.UpiStatus = UpiStatusEnum.初始; |
| | | addGatherList.Add(newGather); |
| | | } |
| | | await _mes_Package_Gather_Rep.InsertRangeAsync(addGatherList); |
| | | |
| | | await _rep.InsertRangeAsync(input); |
| | | } |
| | | |