ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs
@@ -440,13 +440,24 @@ //} } _mesReturnRecord.UpdateData(returnRecords); //éæ°åè°å®æçåæ®ï¼æ´æ°åºåç¶æ foreach (var returnRecord in returnRecords) { if (returnRecord.ReturnStatus == 1) { _stockInfoRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail { Status = StockStatusEmun.å ¥åºå®æ.ObjToInt() }).Where(it => it.OrderNo == returnRecord.OrderNo && returnRecord.RequestData.Contains(it.Barcode)).ExecuteCommand(); } } var inboundOrderDetail = _inboundOrderRepository.Db.Queryable<Dt_InboundOrderDetail>() .Where(x => x.OrderId == inboundOrder.Id && x.OrderDetailStatus==(int)OrderDetailStatusEnum.Over && x.ReturnToMESStatus == 0) .Where(x => x.OrderId == inboundOrder.Id && x.OrderDetailStatus == (int)OrderDetailStatusEnum.Over && x.ReturnToMESStatus == 0) .ToList(); var stocks = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.StockStatus == (int)StockStatusEmun.å ¥åºå®æ) .Where(it => SqlFunc.Subqueryable<Dt_StockInfoDetail>().Where(s => s.StockId == it.Id && s.OrderNo == inboundOrder.InboundOrderNo).Any()) .Where(it => SqlFunc.Subqueryable<Dt_StockInfoDetail>().Where(s => s.StockId == it.Id && s.OrderNo == inboundOrder.InboundOrderNo && s.Status == StockStatusEmun.å ¥åºç¡®è®¤.ObjToInt()).Any()) .ToList(); var stockIds = stocks.Select(s => s.Id).ToList(); @@ -467,6 +478,13 @@ inbound => inbound.Barcode, stockdetail => stockdetail.Barcode, (inbound, stockdetail) => inbound.Id) .ToList(); var inbounddetailBarcode = inboundOrderDetail .Join(allDetailsData, inbound => inbound.Barcode, stockdetail => stockdetail.Barcode, (inbound, stockdetail) => stockdetail.Barcode) .ToList(); var detail = allDetailsData.Where(x => matchedData.Contains(x.Barcode)).ToList(); @@ -512,6 +530,11 @@ { _inboundOrderRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 }) .Where(it => it.OrderId == inboundOrder.Id && inbounddetailID.Contains(it.Id)).ExecuteCommand(); _stockInfoRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail { Status = StockStatusEmun.å ¥åºå®æ.ObjToInt() }).Where(it => it.OrderNo == inboundOrder.InboundOrderNo && inbounddetailBarcode.Contains(it.Barcode)).ExecuteCommand(); } else { @@ -535,7 +558,7 @@ details = FeedbackInboundDetailsModelDto(detail) }; if (feedmodel.details.Count<=0) if (feedmodel.details.Count <= 0) { if (returnRecords.Count() == returnRecords.Count(x => x.ReturnStatus == 1)) { @@ -558,6 +581,11 @@ { _inboundOrderRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 }) .Where(it => inbounddetailID.Contains(it.Id)).ExecuteCommand(); _stockInfoRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail { Status = StockStatusEmun.å ¥åºå®æ.ObjToInt() }).Where(it => it.OrderNo == inboundOrder.InboundOrderNo && inbounddetailBarcode.Contains(it.Barcode)).ExecuteCommand(); } else { @@ -575,6 +603,7 @@ } } public List<AllocateDtoDetail> GetAllocateDtoDetails(List<Dt_StockInfoDetail> stockInfoDetails) { var groupedData = stockInfoDetails.GroupBy(item => new { item.MaterielCode, item.InboundOrderRowNo, item.BarcodeUnit, item.WarehouseCode }) ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs
@@ -113,10 +113,6 @@ { return WebResponseContent.Instance.Error($"æªæ¾å°åºåºåæç»ä¿¡æ¯"); } if (outboundOrder.OrderStatus != (int)OutOrderStatusEnum.æªå¼å§) { return WebResponseContent.Instance.Error($"该订åç¶æä¸å 许修æ¹"); } List<Dt_OutboundOrderDetail> outboundOrderDetails = new List<Dt_OutboundOrderDetail>(); List<Dt_OutboundOrderDetail> updateoutboundOrderDetails = new List<Dt_OutboundOrderDetail>(); List<int> detailIds = new List<int>(); @@ -161,6 +157,10 @@ } else { if(item.OrderQuantity > outboundOrderDetail.LockQuantity + outboundOrderDetail.MoveQty) { return WebResponseContent.Instance.Error($"ä¿®æ¹çè¡å·{item.lineNo}æ°éè¶ è¿äºæºä»åºåºé宿°éå 䏿ªææ°éï¼ä¸å 许修æ¹"); } outboundOrderDetail.lineNo = item.lineNo; outboundOrderDetail.MaterielCode = item.MaterielCode; outboundOrderDetail.SupplyCode = item.SupplyCode; @@ -205,6 +205,10 @@ _outboundOrderDetailRepository.UpdateData(updateoutboundOrderDetails); _outboundOrderDetailRepository.AddData(outboundOrderDetails); if(outboundOrder.Details.All(x => x.OverOutQuantity >= x.OrderQuantity - x.MoveQty)) { outboundOrder.OrderStatus = (int)OutOrderStatusEnum.åºåºå®æ; } BaseDal.UpdateData(outboundOrder); _unitOfWorkManage.CommitTran(); ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs
@@ -2031,7 +2031,7 @@ if (stock.Details.Count <= 0) { stock.PalletType = (int)PalletTypeEnum.Empty; stock.StockStatus = (int)StockStatusEmun.ç»çæå; stock.StockStatus = (int)StockStatusEmun.å ¥åºç¡®è®¤; stock.LocationCode = ""; } else if (stock.Details.Count > 0) @@ -2045,7 +2045,7 @@ { return content.Error($"æç{palletCode}åºåæªæ£éå®ä¸å 许ååº"); } stock.StockStatus = (int)StockStatusEmun.ç»çæå; stock.StockStatus = (int)StockStatusEmun.å ¥åºç¡®è®¤; stock.LocationCode = ""; } ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -303,7 +303,7 @@ stockInfo.StockStatus = StockStatusEmun.å ¥åºå®æ.ObjToInt(); stockInfo.Details.ForEach(x => { x.Status = StockStatusEmun.å ¥åºå®æ.ObjToInt(); x.Status = StockStatusEmun.å ¥åºç¡®è®¤.ObjToInt(); }); _stockService.StockInfoService.Repository.UpdateData(stockInfo); _stockService.StockInfoDetailService.Repository.UpdateData(stockInfo.Details); ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Jobs/ErpJob.cs
@@ -2,7 +2,7 @@ using SqlSugar; using WIDESEA_DTO.Basic; namespace WIDESEA_WMSServer.Jobs namespace WIDESEA_WMSServer { [DisallowConcurrentExecution] public class ErpJob : IJob ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Jobs/InventoryLockJob.cs
@@ -4,7 +4,6 @@ using WIDESEA_Common.StockEnum; using WIDESEA_Model.Models; using WIDESEA_Model.Models.Basic; using WIDESEA_WMSServer.Jobs; namespace WIDESEA_WMSServer { ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Jobs/QuartzJobMildd.cs
@@ -47,14 +47,26 @@ JobGroup = "WIDESEA_WMSServer", Name = "InventoryLockJob", TriggerType = 0 },new TasksQz() { Id = 3, AssemblyName = "WIDESEA_WMSServer", ClassName = "ErpJob", CreateTime = DateTime.Now, IntervalSecond = 50000, IsDeleted = false, IsStart = false, JobGroup = "WIDESEA_WMSServer", Name = "ErpJob", TriggerType = 0 }, }; if(App.HostEnvironment.IsDevelopment()) { return; } //if(App.HostEnvironment.IsDevelopment()) //{ // return; //} foreach (var item in allQzServices) { var ResuleModel = schedulerCenter.AddScheduleJobAsync(item).Result; ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs
@@ -30,7 +30,6 @@ using WIDESEA_DTO.Quartz; using WIDESEA_WMSServer; using WIDESEA_WMSServer.Filter; using WIDESEA_WMSServer.Jobs; using WIDESEAWCS_Core.LogHelper; var builder = WebApplication.CreateBuilder(args); @@ -189,6 +188,7 @@ builder.Services.AddSingleton<IJobFactory, JobFactory>(); builder.Services.AddTransient<AgvTaskJob>();//Job使ç¨ç¬æ¶ä¾èµæ³¨å ¥ builder.Services.AddTransient<InventoryLockJob>();//Job使ç¨ç¬æ¶ä¾èµæ³¨å ¥ builder.Services.AddTransient<ErpJob>();//Job使ç¨ç¬æ¶ä¾èµæ³¨å ¥ builder.Services.AddSingleton<ISchedulerCenter, SchedulerCenterServer>(); builder.Services.AddQuartz(q =>