| | |
| | | |
| | | |
| | | //下线更新 订单表数据 _mesOrderGatherRep |
| | | await UpdateOrderGather(packageObj); |
| | | await UpdateOrderGather(packageObj, true); |
| | | |
| | | foreach (var quan in quanList) |
| | | { |
| | |
| | | |
| | | |
| | | /// <summary> |
| | | /// NG包下线-扫描包号 |
| | | /// NG包下线或 正常包 下线 -扫描包号 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | |
| | | //{ |
| | | // throw Oops.Oh("原因不能为空"); |
| | | //} |
| | | string _OperRemark = "正常人工下线"; |
| | | UpiFlagEnum upiFlagEnum = UpiFlagEnum.正常; |
| | | if (input.IsNG) |
| | | { |
| | | upiFlagEnum = UpiFlagEnum.NG; |
| | | _OperRemark = "NG下线"; |
| | | } |
| | | |
| | | var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync(); |
| | | if (singlePackage == null) |
| | |
| | | throw Oops.Oh($"包号{input.PackageCode}已经下线"); |
| | | } |
| | | |
| | | singlePackage.UpiFlag = UpiFlagEnum.NG; |
| | | singlePackage.UpiFlag = upiFlagEnum; |
| | | singlePackage.UpdateTime = DateTime.Now; |
| | | singlePackage.UpiStatus = UpiStatusEnum.已下线; |
| | | singlePackage.AreaCode = AreaCodeEnum.下线区域; |
| | |
| | | wmsRecordUpi.CreateTime = DateTime.Now; |
| | | wmsRecordUpi.CreateUserName = _cretaorName; |
| | | wmsRecordUpi.Location = ""; |
| | | wmsRecordUpi.OperRemark = "NG下线"; |
| | | wmsRecordUpi.OperRemark = _OperRemark; |
| | | await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); |
| | | |
| | | WmsRecordUpiNg wmsRecordUpiNg = new WmsRecordUpiNg(); |
| | |
| | | wmsRecordUpiNg.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | wmsRecordUpiNg.CreateTime = DateTime.Now; |
| | | wmsRecordUpiNg.CreateUserName = _cretaorName; |
| | | wmsRecordUpiNg.OperRemark = "NG下线"; |
| | | wmsRecordUpiNg.OperRemark = _OperRemark; |
| | | await _wmsRecordUpiNgRep.InsertAsync(wmsRecordUpiNg); |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | //下线更新 订单表数据 _mesOrderGatherRep |
| | | await UpdateOrderGather(singlePackage); |
| | | await UpdateOrderGather(singlePackage, input.IsNG); |
| | | |
| | | |
| | | WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); |
| | | wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); |
| | | wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | wmsRecordPackage.Location = ""; |
| | | wmsRecordPackage.OperRemark = "NG下线"; |
| | | wmsRecordPackage.OperRemark = _OperRemark; |
| | | wmsRecordPackage.CreateTime = DateTime.Now; |
| | | wmsRecordPackage.CreateUserName = _cretaorName; |
| | | await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); |
| | |
| | | /// </summary> |
| | | /// <param name="singlePackage"></param> |
| | | /// <returns></returns> |
| | | private async Task UpdateOrderGather(Mes_Package_Gather singlePackage) |
| | | private async Task UpdateOrderGather(Mes_Package_Gather singlePackage, bool isNG) |
| | | { |
| | | //下线更新 订单表数据 _mesOrderGatherRep |
| | | bool isAdd = false; |
| | |
| | | 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.NgPackageNum = packageList.Where(x => x.UpiStatus == UpiStatusEnum.已下线 && x.UpiFlag == UpiFlagEnum.NG).Count(); |
| | | if (isNG) |
| | | { |
| | | order.NgPackageNum = order.NgPackageNum + 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)); |
| | | if (isNG == false) |
| | | { |
| | | order.ScanPackageArea = order.ScanPackageArea + Convert.ToDecimal(singlePackage.Info13); |
| | | } |
| | | |
| | | order.NoScanPackageArea = order.AllPackageArea - order.ScanPackageArea; |
| | | if (isAdd) |
| | | { |
| | |
| | | [HttpPost] |
| | | [ApiDescriptionSettings(Name = "PartClear")] |
| | | [Description("WmsOperationTask/PartClear")] |
| | | [UnitOfWork] |
| | | public async Task PartClear() |
| | | { |
| | | //模式判断 |