| | |
| | | private readonly SqlSugarRepository<Mes_Order_Gather> _mesOrderGatherRep; |
| | | private readonly SqlSugarRepository<WmsRecordUpiProcess> _wmsRecordUpiProcessRep; |
| | | private readonly SqlSugarRepository<WmsRecordPackageProcess> _wmsRecordPackageProcessRep; |
| | | private readonly SqlSugarRepository<Mes_Upi_LineQueue> _mes_Upi_LineQueueRep; |
| | | |
| | | public WmsOperationTaskService(SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep |
| | | public WmsOperationTaskService( |
| | | SqlSugarRepository<Mes_Upi_LineQueue> mes_Upi_LineQueueRep, |
| | | SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep |
| | | , SqlSugarRepository<Mes_Package_Gather> mesPackageGatherRep |
| | | , SqlSugarRepository<SysConfig> sysConfigRep |
| | | , SqlSugarRepository<Mes_BatchOrderUPI_New> mesBatchOrderUpiRep |
| | |
| | | _mesOrderGatherRep = mesOrderGatherRep; |
| | | _wmsRecordUpiProcessRep = wmsRecordUpiProcessRep; |
| | | _wmsRecordPackageProcessRep = wmsRecordPackageProcessRep; |
| | | _mes_Upi_LineQueueRep = mes_Upi_LineQueueRep; |
| | | } |
| | | |
| | | |
| | |
| | | foreach (var quan in quanList) |
| | | { |
| | | quan.StockStatus = StockStatusEnum.人工强制待出库; |
| | | quan.StockStatusName = StockStatusEnum.人工强制待出库.ToString(); |
| | | quan.UpdateTime = DateTime.Now; |
| | | quan.OperReason = "人工强制待出库"; |
| | | } |
| | |
| | | _QiTaoReuslt = "齐套"; |
| | | } |
| | | |
| | | //临时屏蔽 |
| | | /* |
| | | |
| | | sysConfig.Value = setValue; |
| | | await _sysConfigRep.UpdateAsync(sysConfig); |
| | | //*/ |
| | |
| | | |
| | | |
| | | /// <summary> |
| | | /// NG包下线 |
| | | /// NG包下线-扫描包号 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | |
| | | singlePackage.UpiStatus = UpiStatusEnum.已下线; |
| | | singlePackage.AreaCode = AreaCodeEnum.下线区域; |
| | | |
| | | var upiLineQueueList = await _mes_Upi_LineQueueRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).ToListAsync(); |
| | | if (upiLineQueueList?.Count > 0) |
| | | { |
| | | await _mes_Upi_LineQueueRep.DeleteAsync(upiLineQueueList); |
| | | } |
| | | |
| | | var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).ToListAsync(); |
| | | if (upiList == null) |
| | | { |
| | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 标记NG-扫描件号 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [ApiDescriptionSettings(Name = "SetNG")] |
| | | [Description("WmsOperationTask/SetNG")] |
| | | [UnitOfWork] |
| | | public async Task SetNG(SetNGInput input) |
| | | { |
| | | if (input == null) |
| | | { |
| | | throw Oops.Oh("参数不能为空"); |
| | | } |
| | | if (string.IsNullOrEmpty(input.Upi)) |
| | | { |
| | | throw Oops.Oh("部件条码不能为空"); |
| | | } |
| | | //if (string.IsNullOrEmpty(input.Reason)) |
| | | //{ |
| | | // throw Oops.Oh("原因不能为空"); |
| | | //} |
| | | |
| | | var singleUpi = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.UPI == input.Upi).FirstAsync(); |
| | | if (singleUpi == null) |
| | | { |
| | | throw Oops.Oh($"没有找到部件条码{input.Upi}的数据"); |
| | | } |
| | | var packageCode = singleUpi.PackageCode; |
| | | var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == packageCode).FirstAsync(); |
| | | if (singlePackage == null) |
| | | { |
| | | throw Oops.Oh($"没有找到包号{packageCode}的汇总数据"); |
| | | } |
| | | |
| | | singlePackage.UpiFlag = UpiFlagEnum.NG; |
| | | singlePackage.UpdateTime = DateTime.Now; |
| | | |
| | | |
| | | var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == packageCode).ToListAsync(); |
| | | if (upiList == null) |
| | | { |
| | | throw Oops.Oh($"没有找到包号{packageCode}的板件数据"); |
| | | } |
| | | foreach (var item in upiList) |
| | | { |
| | | item.UpiFlag = UpiFlagEnum.NG; |
| | | item.UpdateTime = DateTime.Now; |
| | | |
| | | WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess(); |
| | | wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>(); |
| | | wmsRecordUpi.CreateTime = DateTime.Now; |
| | | wmsRecordUpi.Location = ""; |
| | | wmsRecordUpi.OperRemark = "标记NG"; |
| | | await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); |
| | | } |
| | | |
| | | |
| | | WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); |
| | | wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); |
| | | wmsRecordPackage.Location = ""; |
| | | wmsRecordPackage.OperRemark = "标记NG"; |
| | | await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); |
| | | |
| | | |
| | | await _mesPackageGatherRep.UpdateAsync(singlePackage); |
| | | await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList); |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 取消NG-扫描件号 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [ApiDescriptionSettings(Name = "CancelNG")] |
| | | [Description("WmsOperationTask/CancelNG")] |
| | | [UnitOfWork] |
| | | public async Task CancelNG(CancelNGInput input) |
| | | { |
| | | if (input == null) |
| | | { |
| | | throw Oops.Oh("参数不能为空"); |
| | | } |
| | | if (string.IsNullOrEmpty(input.Upi)) |
| | | { |
| | | throw Oops.Oh("部件条码不能为空"); |
| | | } |
| | | //if (string.IsNullOrEmpty(input.Reason)) |
| | | //{ |
| | | // throw Oops.Oh("原因不能为空"); |
| | | //} |
| | | |
| | | var singleUpi = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.UPI == input.Upi).FirstAsync(); |
| | | if (singleUpi == null) |
| | | { |
| | | throw Oops.Oh($"没有找到部件条码{input.Upi}的数据"); |
| | | } |
| | | var packageCode = singleUpi.PackageCode; |
| | | var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == packageCode).FirstAsync(); |
| | | if (singlePackage == null) |
| | | { |
| | | throw Oops.Oh($"没有找到包号{packageCode}的汇总数据"); |
| | | } |
| | | |
| | | singlePackage.UpiFlag = UpiFlagEnum.正常; |
| | | singlePackage.UpdateTime = DateTime.Now; |
| | | |
| | | |
| | | var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == packageCode).ToListAsync(); |
| | | if (upiList == null) |
| | | { |
| | | throw Oops.Oh($"没有找到包号{packageCode}的板件数据"); |
| | | } |
| | | foreach (var item in upiList) |
| | | { |
| | | item.UpiFlag = UpiFlagEnum.正常; |
| | | item.UpdateTime = DateTime.Now; |
| | | |
| | | WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess(); |
| | | wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>(); |
| | | wmsRecordUpi.CreateTime = DateTime.Now; |
| | | wmsRecordUpi.Location = ""; |
| | | wmsRecordUpi.OperRemark = "取消NG"; |
| | | await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); |
| | | } |
| | | |
| | | |
| | | WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); |
| | | wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); |
| | | wmsRecordPackage.Location = ""; |
| | | wmsRecordPackage.OperRemark = "取消NG"; |
| | | await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); |
| | | |
| | | |
| | | await _mesPackageGatherRep.UpdateAsync(singlePackage); |
| | | await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList); |
| | | |
| | | } |
| | | |
| | | } |
| | | |