zhengly 3 лет назад
Родитель
Сommit
d4d7e1f2e8

+ 6 - 7
MicroServices/Business/Business.Application/ResourceExamineManagement/MorderAppService.cs

@@ -235,7 +235,8 @@ namespace Business.ResourceExamineManagement
                 //已占用数据
                 var Sumqty = mooccupies.Count > 0 ? mooccupies.Sum(x => x.moo_qty) : 0.00m;
                 //判断此工单剩余可占用数量
-                if (item.morder_production_number - item.inventory_number - Sumqty > 0)
+                var Sum = item.morder_production_number.GetValueOrDefault() - item.inventory_number.GetValueOrDefault() - Sumqty.GetValueOrDefault();
+                if (Sum > 0)
                 {
                     #region 注释
                     //if (Sumqty > 0 || item.inventory_number > 0)
@@ -267,10 +268,9 @@ namespace Business.ResourceExamineManagement
                     //        {
                     //            bom_number = item.bom_number,
                     //            version = version,
-                    //            packages = (int)Quantity.GetValueOrDefault(),
+                    //            packages = (int)Quantity,
                     //            tenantId = item.tenant_id,
                     //            factoryId = item.factory_id.GetValueOrDefault()
-
                     //        };
                     //        var EndProductiveDate = _productExamineAppService.ProductiveExamine(EndprodExamine);
                     //        var EndDay = ProductiveDate.Result / (60 * 10);
@@ -280,11 +280,10 @@ namespace Business.ResourceExamineManagement
                     //}
 
                     #endregion
-                    var Sum = item.morder_production_number - item.inventory_number - Sumqty;
                     //工单可占用数量-需求数量小于0时 占用工单全部可占用数量
                     if (Sum - Quantity <= 0)
                     {
-                        QuantityNumber = Sum.GetValueOrDefault();
+                        QuantityNumber = Sum;
                     }
                     else
                     {
@@ -298,7 +297,7 @@ namespace Business.ResourceExamineManagement
                     {
                         break;
                     }
-                    Quantity = Quantity - Sum.GetValueOrDefault();
+                    Quantity = Quantity - Sum;
                 }
 
             }
@@ -405,7 +404,7 @@ namespace Business.ResourceExamineManagement
             mes_Mooccupy.mysql_id = snowFlake.NextId();
             mes_Mooccupy.bang_id = bang_id;
             mes_Mooccupy.moo_id_type = MorderEnum.Zyjc_Type;
-            mes_Mooccupy.moo_id_billid = seorderentry.seorder_id;//销售订单ID
+            mes_Mooccupy.moo_id_billid = seorderentry.Id;//销售子表ID
             mes_Mooccupy.fbill_no = seorderentry.bill_no;//销售订单号
             mes_Mooccupy.fentry_id = seorderentry.entry_seq.Value;//销售订单行
             mes_Mooccupy.fitem_name = ic_item.name;//物料名称

+ 28 - 5
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -211,7 +211,7 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         private readonly MorderAppService _morderAppService;
 
-        
+
         /// <summary>
         /// 预处理
         /// </summary>
@@ -342,7 +342,7 @@ namespace Business.ResourceExamineManagement
             param.sorderId = input.sorderId;
             param.tenantId = input.tenantId;
             param.factoryId = input.factoryId;
-            
+
 
             //资源检查结果
             PschedDto rtn = new PschedDto();
@@ -409,7 +409,7 @@ namespace Business.ResourceExamineManagement
 
             _CalcBomViewAppService.param = param;
             _CalcBomViewAppService.planList = planList;
-            _CalcBomViewAppService.leadTimeList= leadTimeList;
+            _CalcBomViewAppService.leadTimeList = leadTimeList;
             _CalcBomViewAppService.supplierList = supplierList;
             foreach (var item in sentrys)
             {
@@ -493,6 +493,29 @@ namespace Business.ResourceExamineManagement
                 GetIcBomData(curBoms, bomlist, bomchildlist);
             }
         }
+        /// <summary>
+        /// 删除旧订单行数据
+        /// </summary>
+        /// <param name="tenantId"></param>
+        /// <param name="factoryId"></param>
+        /// <param name="soentry_id"></param>
+        /// <returns></returns>
+        public async Task DeleteMySqlOldData(long soentry_id)
+        {
+            //删除工单相关表数据
+            var mes_moentry = _mysql_mes_moentry.GetListAsync(x => x.Id == soentry_id).Result;
+            var mes_morder = _mysql_mes_morder.GetListAsync(x => mes_moentry.Select(p => p.moentry_moid).ToList().Contains(x.Id)).Result;
+            if (mes_moentry.Count > 0)
+            {
+                await _mysql_mes_moentry.DeleteManyAsync(mes_moentry);
+                await _mysql_mes_morder.DeleteManyAsync(mes_morder);
+            }
+            var mysql_mes_mooccupy = _mysql_mes_mooccupy.GetListAsync(x => x.moo_id_billid == soentry_id).Result;
+            if (mysql_mes_mooccupy.Count > 0)
+            {
+                await _mysql_mes_mooccupy.DeleteManyAsync(mysql_mes_mooccupy);
+            }
+        }
 
         /// <summary>
         /// 数据库快照
@@ -900,7 +923,7 @@ namespace Business.ResourceExamineManagement
                 return sRMPR;
                 //throw new NotImplementedException("未找到物料ic_factory_details或ic_item_pur或ic_plan信息!");
             }
-            
+
             srm_Pr.GenerateNewId();
             srm_Pr.pr_billno = getOrderNum("PR");//pr单号
             srm_Pr.pr_mono = "";//关联工单号
@@ -936,7 +959,7 @@ namespace Business.ResourceExamineManagement
             srm_Pr.bang_id = bangId;
             //_srm_pr_main.InsertOne(srm_Pr);
             decimal? totalLeadTime = leadTime.transportation_leadtime + leadTime.stock_leadtime + leadTime.production_leadtime + leadTime.order_leadtime;
-            
+
             sRMPR.srm_Pr_Main = srm_Pr;
             sRMPR.lastStartTmie = deliveryDate.AddDays((double)totalLeadTime * -1);//减去提前期
             return sRMPR;