Przeglądaj źródła

释放库存占用记录。

tangdi 2 lat temu
rodzic
commit
f7a3ff0943

+ 10 - 3
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -13,6 +13,8 @@ using Business.StructuredDB.Production;
 using Business.StructuredDB.Replenishment;
 using Business.StructuredDB.SaleFcst;
 using Business.StructuredDB.WMS;
+using Business.SystemJob;
+using Business.SystemJobManagement;
 using EFCore.BulkExtensions;
 using Microsoft.EntityFrameworkCore;
 using MongoDB.Driver;
@@ -254,6 +256,7 @@ namespace Business.Replenishment
         private readonly BusinessDbContext _businessDbContext;
         private readonly ICurrentTenant _currentTenant;
         private readonly IUnitOfWorkManager _unitOfWorkManager;
+        private readonly SystemJobAppService _systemJobAppService;
         #endregion
 
         #region 构造函数
@@ -355,7 +358,8 @@ namespace Business.Replenishment
             ISqlRepository<PurOrdMaster> PurOrdMaster,
             ISqlRepository<DeliveryExceptionMaster> DeliveryExceptionMaster,
             ISqlRepository<scm_shdzb> scm_shdzb,
-            IUnitOfWorkManager unitOfWorkManager)
+            IUnitOfWorkManager unitOfWorkManager,
+            SystemJobAppService systemJobAppService)
         {
             _replenishmentROPWeekPlan = replenishmentROPWeekPlan;
             _ASNBOLShipperDetail = ASNBOLShipperDetail;
@@ -454,6 +458,7 @@ namespace Business.Replenishment
             _PurOrdMaster = PurOrdMaster;
             _DeliveryExceptionMaster = DeliveryExceptionMaster;
             _scm_shdzb = scm_shdzb;
+            _systemJobAppService = systemJobAppService;
         }
         #endregion
 
@@ -4839,7 +4844,7 @@ namespace Business.Replenishment
             }
             var pretreatList = pretreatments.Select(x => x.item_number).Distinct().ToList();
             itemNums.AddRange(pretreatList);
-            AsyncItemStockFromWMS(itemNums, analogCalcVersion);
+            await AsyncItemStockFromWMS(itemNums, analogCalcVersion);
 
             //数据库快照-同步mysql库数据到mongoDB中
             await DbSnapShot(input.company_id, input.factoryId, bangid, pretreatments, analogCalcVersion);
@@ -6577,8 +6582,10 @@ namespace Business.Replenishment
             return result;
         }
 
-        public void AsyncItemStockFromWMS(List<string> itemList,string analogCalcVersion)
+        public async Task AsyncItemStockFromWMS(List<string> itemList,string analogCalcVersion)
         {
+            //释放库存占用记录
+            await _systemJobAppService.SyncItemStockOccupyClear();
             //产品编码
             //var itemList = bom_Pretreatments.Select(a => a.item_number).Distinct().ToList();
             List<string> itemChildList = new List<string>();

+ 11 - 4
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -14,6 +14,7 @@ using Business.StructuredDB.MES.IC;
 using Business.StructuredDB.Replenishment;
 using Business.StructuredDB.SaleFcst;
 using Business.StructuredDB.WMS;
+using Business.SystemJobManagement;
 using EFCore.BulkExtensions;
 using Microsoft.EntityFrameworkCore;
 using MongoDB.Driver;
@@ -390,6 +391,8 @@ namespace Business.ResourceExamineManagement
         public List<HolidayMaster> holidays = new List<HolidayMaster>();
         public IDataFilter dataFilter { get; set; }
         private readonly IUnitOfWorkManager _unitOfWorkManager;
+
+        private readonly SystemJobAppService _systemJobAppService;
         #endregion
 
         #region 构造函数
@@ -502,7 +505,8 @@ namespace Business.ResourceExamineManagement
             HolidayHelper holidayHelper,
             ReplenishmentAppService replenishmentAppService,
             IRepository<ReplenishmentWeekPlan, long> replenishmentWeekPlan,
-            ISqlRepository<InvMaster> invMaster
+            ISqlRepository<InvMaster> invMaster,
+            SystemJobAppService systemJobAppService
             )
         {
             _mes_technique = mes_technique;
@@ -600,6 +604,7 @@ namespace Business.ResourceExamineManagement
             _replenishmentAppService = replenishmentAppService;
             _replenishmentWeekPlan = replenishmentWeekPlan;
             _invMaster = invMaster;
+            _systemJobAppService = systemJobAppService;
         }
         #endregion
 
@@ -722,7 +727,7 @@ namespace Business.ResourceExamineManagement
                 AutoCreateBomBill(param.company_id.ToString(), autoCreates);
                 pretreatments = _mysql_b_bom_pretreatment.GetListAsync(s => boms.Select(c => c.mysql_id).ToList().Contains(s.sourceid)).Result;
             }
-            AsyncItemStockFromWMS(pretreatments);
+            await AsyncItemStockFromWMS(pretreatments);
 
             //数据库快照-同步mysql库数据到mongoDB中
             await DbSnapShot(input.company_id, input.factoryId, bangid, pretreatments);
@@ -3681,7 +3686,7 @@ namespace Business.ResourceExamineManagement
                 AutoCreateBomBill(param.company_id.ToString(), autoCreates);
                 pretreatments = _mysql_b_bom_pretreatment.GetListAsync(s => boms.Select(c => c.mysql_id).ToList().Contains(s.sourceid)).Result;
             }
-            AsyncItemStockFromWMS(pretreatments);
+            await AsyncItemStockFromWMS(pretreatments);
 
             //增加特殊工单的预处理结果,因为特殊工单是自定义物料清单
             List<string> tsWork = new List<string> { "试制工单", "返工工单" };
@@ -4453,8 +4458,10 @@ namespace Business.ResourceExamineManagement
             }
         }
 
-        public void AsyncItemStockFromWMS(List<b_bom_pretreatment> bom_Pretreatments)
+        public async Task AsyncItemStockFromWMS(List<b_bom_pretreatment> bom_Pretreatments)
         {
+            //释放库存占用记录
+            await _systemJobAppService.SyncItemStockOccupyClear();
             //产品编码
             var itemList = bom_Pretreatments.Select(a => a.item_number).Distinct().ToList();
             List<string> itemChildList = new List<string>();