| | |
| | | //更新状态 |
| | | foreach (var quan in quanList) |
| | | { |
| | | if (quan.StockStatus != StockStatusEnum.在库 && quan.StockStatus != StockStatusEnum.已冻结) |
| | | { |
| | | throw Oops.Oh($"部件条码{quan.Upi}的库存状态不是'{StockStatusEnum.在库.ToString()}或{StockStatusEnum.已冻结.ToString()}'状态"); |
| | | } |
| | | |
| | | quan.StockStatus = StockStatusEnum.人工强制待出库; |
| | | quan.StockStatusName = StockStatusEnum.人工强制待出库.ToString(); |
| | | quan.UpdateTime = DateTime.Now; |
| | | quan.OperReason = "人工强制待出库"; |
| | | } |
| | | updateQuanList.AddRange(quanList); |
| | | |
| | | var packageObj = await _mesPackageGatherRep.GetFirstAsync(x => x.PackageCode == item); |
| | | packageObj.UpiFlag = UpiFlagEnum.NG; |
| | | packageObj.UpiStatus = UpiStatusEnum.已下线; |
| | | await _mesPackageGatherRep.UpdateAsync(packageObj); |
| | | } |
| | | |
| | | //模式判断 |
| | |
| | | //更新状态 |
| | | foreach (var quan in quanList) |
| | | { |
| | | if (quan.StockStatus != StockStatusEnum.在库 && quan.StockStatus != StockStatusEnum.已冻结) |
| | | { |
| | | throw Oops.Oh($"部件条码{quan.Upi}的库存状态不是'{StockStatusEnum.在库.ToString()}或{StockStatusEnum.已冻结.ToString()}'状态"); |
| | | } |
| | | quan.StockStatus = StockStatusEnum.齐包待出库; |
| | | quan.StockStatusName = StockStatusEnum.齐包待出库.ToString(); |
| | | quan.UpdateTime = DateTime.Now; |
| | | quan.OperReason = "人工齐包出库"; |
| | | } |
| | | updateQuanList.AddRange(quanList); |
| | | |
| | | var packageObj = await _mesPackageGatherRep.GetFirstAsync(x => x.PackageCode == item); |
| | | packageObj.UpiStatus = UpiStatusEnum.已齐包; |
| | | packageObj.IsQiBao = true; |
| | | await _mesPackageGatherRep.UpdateAsync(packageObj); |
| | | } |
| | | |
| | | //模式判断 |
| | |
| | | |
| | | var setValue = ""; |
| | | var _QiTaoReuslt = ""; |
| | | var other_orderList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5 && x.PackageCode != input.PackageCode).ToListAsync(); |
| | | var num = other_orderList.Where(x => x.UpiStatus == UpiStatusEnum.初始 || x.UpiStatus == UpiStatusEnum.不齐包).Count(); |
| | | if (num > 0) |
| | | |
| | | bool isNeedQueryQiTao = true; |
| | | var order = await _mesOrderGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5).FirstAsync(); |
| | | if (order == null) |
| | | { |
| | | //不齐套 |
| | | setValue = $"{input.PackageCode}|不齐套|" + curUserName; |
| | | _QiTaoReuslt = "不齐套"; |
| | | |
| | | } |
| | | else |
| | | { |
| | | setValue = $"{input.PackageCode}|齐套|" + curUserName; |
| | | _QiTaoReuslt = "齐套"; |
| | | if (order.IsKitting != null) |
| | | { |
| | | _QiTaoReuslt = (bool)order.IsKitting ? "齐套" : "不齐套"; |
| | | isNeedQueryQiTao = false; |
| | | } |
| | | } |
| | | if (isNeedQueryQiTao) |
| | | { |
| | | var other_orderList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5 && x.PackageCode != input.PackageCode).ToListAsync(); |
| | | var num = other_orderList.Where(x => x.UpiStatus == UpiStatusEnum.初始).Count(); |
| | | if (num > 0) |
| | | { |
| | | //不齐套 |
| | | _QiTaoReuslt = "不齐套"; |
| | | } |
| | | else |
| | | { |
| | | _QiTaoReuslt = "齐套"; |
| | | } |
| | | } |
| | | setValue = $"{input.PackageCode}|{_QiTaoReuslt}|" + curUserName; |
| | | |
| | | if (package.UpiStatus == UpiStatusEnum.已下线) |
| | | { |
| | | throw Oops.Oh($"包已下线,齐套结果[{_QiTaoReuslt}]"); |
| | | } |
| | | |
| | | if (order == null) |
| | | { |
| | | Mes_Order_Gather newOrder = new Mes_Order_Gather() |
| | | { |
| | | Info5 = package.Info5, |
| | | IsKitting = _QiTaoReuslt == "齐套" ? true : false, |
| | | PlanNo = package.PlanNo, |
| | | OrderId = package.OrderId |
| | | }; |
| | | await _mesOrderGatherRep.InsertAsync(newOrder); |
| | | } |
| | | else |
| | | { |
| | | order.IsKitting = _QiTaoReuslt == "齐套" ? true : false; |
| | | await _mesOrderGatherRep.UpdateAsync(order); |
| | | } |
| | | |
| | | |