Prechádzať zdrojové kódy

资源检查添加删除快照数据方法

heteng 3 rokov pred
rodič
commit
17cf62c5c3

+ 42 - 18
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -344,7 +344,7 @@ namespace Business.ResourceExamineManagement
             List<crm_seorderentry> sentrys = await _mysql_crm_seorderentry.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && p.seorder_id == input.sorderId && !p.IsDeleted);
 
             //数据库快照-同步mysql库数据到mongoDB中
-            //await SyncData(input.tenantId, input.factoryId, bangid);
+            //await DbSnapShot(input.tenantId, input.factoryId, bangid);
 
             //通过订单行的产品代码获取物料BOM数据
             //FilterDefinition<ic_bom> filter = Builders<ic_bom>.Filter.In(s => s.bom_number, sentrys.Select(m => m.bom_number).ToList());
@@ -420,6 +420,9 @@ namespace Business.ResourceExamineManagement
             rtn.order_list = orderList;
             rtn.examines = examines;
             rtn.sklist = sklist;
+
+            //清空快照数据
+            await ClearSnapShot(bangid);
             return JsonConvert.SerializeObject(rtn);
         }
 
@@ -458,7 +461,7 @@ namespace Business.ResourceExamineManagement
         /// 数据库快照
         /// </summary>
         /// <returns></returns>
-        public async Task SyncData(long tenantId, long factoryId, long bangid)
+        public async Task DbSnapShot(long tenantId, long factoryId, long bangid)
         {
             //同步物料库存数据
             var icitemStokc = _mysql_ic_item_stock.GetListAsync(p => p.tenant_id == tenantId && p.factory_id == factoryId).Result;
@@ -492,22 +495,6 @@ namespace Business.ResourceExamineManagement
             }
 
             //TODO:要不要根据某些条件只同步有效的数据
-            //销售订单
-            //var crm_seorder = _mysql_crm_seorder.GetListAsync(x => x.tenant_id == tenantId && x.factory_id == factoryId).Result;
-            //if (crm_seorder.Count > 0)
-            //{
-            //    crm_seorder.ForEach(item => { item.bang_id = bangid; });
-            //    await _crm_seorder.InsertMany(crm_seorder);
-            //}
-
-            ////销售订单明细
-            //var crm_seorderentry = _mysql_crm_seorderentry.GetListAsync(x => x.tenant_id == tenantId && x.factory_id == factoryId).Result;
-            //if (crm_seorderentry.Count > 0)
-            //{
-            //    crm_seorderentry.ForEach(item => { item.bang_id = bangid; });
-            //    await _crm_seorderentry.InsertMany(crm_seorderentry);
-            //}
-
             //采购订单
             var srm_po_main = _mysql_srm_po_main.GetListAsync(x => x.tenant_id == tenantId && x.factory_id == factoryId).Result;
             if (srm_po_main.Count > 0)
@@ -557,6 +544,43 @@ namespace Business.ResourceExamineManagement
             }
         }
 
+        /// <summary>
+        /// 清处数据库快照
+        /// </summary>
+        /// <returns></returns>
+        public async Task ClearSnapShot(long bangid)
+        {
+            //清除物料库存数据
+            await _ic_item_stock.Delete(p=>p.bang_id == bangid);
+
+            //清除工单占用记录表
+            await _mes_mooccupy.Delete(p => p.bang_id == bangid);
+
+            //清除工单主表
+            await _mes_morder.Delete(p => p.bang_id == bangid);
+
+            //清除工单子表
+            await _mes_moentry.Delete(p => p.bang_id == bangid);
+
+            //清除采购订单
+            await _srm_po_main.Delete(p => p.bang_id == bangid);
+
+            //清除采购订单明细
+            await _srm_po_list.Delete(p => p.bang_id == bangid);
+
+            //清除采购订单占用详情
+            await _srm_po_occupy.Delete(p => p.bang_id == bangid);
+
+            //清除工厂物料明细表
+            await _ic_factory_details.Delete(p => p.bang_id == bangid);
+
+            //清除物料采购计划表
+            await _ic_plan.Delete(p => p.bang_id == bangid);
+
+            //清除物料采购报价单
+            await _ic_item_pur.Delete(p => p.bang_id == bangid);
+        }
+
         /// <summary>
         /// BOM预处理
         /// </summary>