Просмотр исходного кода

Merge branch 'master' of http://123.60.180.165:4647/ZZYDOP/DOPCore

# Conflicts:
#	MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs
tangdi 3 лет назад
Родитель
Сommit
96398f1534

+ 1 - 11
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/BomChildExamineDto.cs

@@ -191,7 +191,7 @@ namespace Business.ResourceExamineManagement.Dto
         /// <summary>
         /// 委外工单占用明细
         /// </summary>
-        public List<ooder_occupy> subcontracting_occupy_list { get; set; }
+        public List<purchase_occupy> subcontracting_occupy_list { get; set; }
 
         /// <summary>
         /// 齐套时间
@@ -464,14 +464,4 @@ namespace Business.ResourceExamineManagement.Dto
         public string? production_unit_code { get; set; }
     }
 
-    /// <summary>
-    /// 委外工单占用信息
-    /// </summary>
-    public class ooder_occupy
-    {
-        /// <summary>
-        /// 工单编号
-        /// </summary>
-        public string? oorder_no { get; set; }
-    }
 }

+ 11 - 0
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -38,6 +38,9 @@ namespace Business.ResourceExamineManagement
         public List<mo_mes_mooccupy> mooccupyAllList = new List<mo_mes_mooccupy>();
         public List<mo_srm_po_list> srm_po_list = new List<mo_srm_po_list>();
 
+        public List<mo_srm_po_list> srm_Po_Lists = new List<mo_srm_po_list>();
+        public List<mo_srm_po_occupy> srm_Po_Occupies = new List<mo_srm_po_occupy>();
+
         /// <summary>
         /// 工艺路径
         /// </summary>
@@ -509,6 +512,8 @@ namespace Business.ResourceExamineManagement
                 else if (item.erp_cls == 3)
                 {
                     //先找在途
+                    _purchaseOrderAppService.mo_Srm_Po_Lists = srm_Po_Lists;
+                    _purchaseOrderAppService.srm_Po_Occupies = srm_Po_Occupies;
                     CalcInTransit(sentrys, item, bangid, plan_date.GetValueOrDefault());
                     if (item.lack_qty > 0)
                     {
@@ -886,6 +891,11 @@ namespace Business.ResourceExamineManagement
                         }
                         else if (sct.erp_cls == 3)
                         {
+                            //先找在途
+                            _purchaseOrderAppService.mo_Srm_Po_Lists = srm_Po_Lists;
+                            _purchaseOrderAppService.srm_Po_Occupies = srm_Po_Occupies;
+                            CalcInTransit(sentrys, sct, bangid, plan_date.GetValueOrDefault());
+
                             //采购申请
                             var SRMPRDto = CreateSRMPR(sct, input.tenantId, input.factoryId, bangid, sct.erp_cls, leadTimeList, supplierList, planList, plan_date.Value);
                             sct.purchase_qty = sct.lack_qty;
@@ -1112,6 +1122,7 @@ namespace Business.ResourceExamineManagement
                     {
                         ocp.po_billno = polist.po_billno;
                     }
+                    item.purchase_occupy_list.Add(ocp);
                 });
             }
         }

+ 12 - 3
MicroServices/Business/Business.Application/ResourceExamineManagement/PurchaseOrderAppService.cs

@@ -42,6 +42,14 @@ namespace Business.ResourceExamineManagement
         ///  雪花算法
         /// </summary>
         SnowFlake snowFlake = new SnowFlake();
+        /// <summary>
+        /// 采购明细
+        /// </summary>
+        public List<mo_srm_po_list> mo_Srm_Po_Lists = new List<mo_srm_po_list>();
+        /// <summary>
+        /// 采购占用
+        /// </summary>
+        public List<mo_srm_po_occupy> srm_Po_Occupies = new List<mo_srm_po_occupy>();
 
         #endregion
         #region 构造函数
@@ -66,7 +74,7 @@ namespace Business.ResourceExamineManagement
         /// <summary>
         /// 检查在途订单
         /// </summary>
-        public  List<mo_srm_po_occupy> CheckPurchaseOrder(crm_seorderentry seorderentry, long icitem_id, decimal Quantity, DateTime DeliverDate, ic_plan ic_Plan, long bang_id)
+        public List<mo_srm_po_occupy> CheckPurchaseOrder(crm_seorderentry seorderentry, long icitem_id, decimal Quantity, DateTime DeliverDate, List<mo_ic_plan> ic_PlanList, long bang_id)
         {
             if (seorderentry == null)
             {
@@ -74,10 +82,11 @@ namespace Business.ResourceExamineManagement
             }
             List<mo_srm_po_occupy> occupyList = new List<mo_srm_po_occupy>();
 
+            var ic_Plan = ic_PlanList.Where(x => x.icitem_id == icitem_id).FirstOrDefault();
             //查询出对应物料采购订单明细  --数据未被停用 && 评审通过后
-            var poDetailList =  _mo_srm_po_list.GetManyByCondition(x => x.icitem_id == icitem_id && x.state == 1 && x.rstate == 1).Result;
+            var poDetailList = mo_Srm_Po_Lists.Where(x => x.icitem_id == icitem_id);
             //采购订单占用数据
-            var poOccupys =  _mo_srm_po_occupy.GetManyByCondition(x => poDetailList.Select(p => p.id).ToList().Contains(x.polist_id.GetValueOrDefault())).Result;
+            var poOccupys = srm_Po_Occupies.Where(x => poDetailList.Select(p => p.id).ToList().Contains(x.polist_id.GetValueOrDefault()));
             //先查询出满足日期,并且数量可满足占用的数据
             var poDetails = poDetailList.Where(x => x.rarrdate.GetValueOrDefault().AddDays(-(int)ic_Plan.self_inspection_date.GetValueOrDefault()) < DeliverDate && x.qty - x.rqty - x.esqty -
                 poOccupys.Where(p => p.polist_id.GetValueOrDefault() == x.mysql_id)?.Sum(m => m.qty) > Quantity).OrderByDescending(x => x.rarrdate).ToList();

+ 7 - 0
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -402,6 +402,10 @@ namespace Business.ResourceExamineManagement
             List<mo_mes_mooccupy> mes_mooccupyList = await _mes_mooccupy.GetManyByCondition(x => x.moo_state == 1 && !x.IsDeleted && x.tenant_id == param.tenantId
           && boms.Select(p => p.item_number).Contains(x.fitem_number) && x.bang_id == bangid);
 
+            //物料采购订单明细
+            var poDetailList = await _srm_po_list.GetManyByCondition(x => boms.Select(p => p.icitem_id).ToList().Contains(x.icitem_id.Value) && x.state == 1 && x.rstate == 1 && !x.IsDeleted);
+            //采购订单占用数据
+            var poOccupys = await _srm_po_occupy.GetManyByCondition(x => poDetailList.Select(p => p.id).ToList().Contains(x.polist_id.GetValueOrDefault()) && !x.IsDeleted);
             #endregion
 
             //物料占用记录
@@ -436,6 +440,9 @@ namespace Business.ResourceExamineManagement
             _CalcBomViewAppService.mooccupyAllList = mes_mooccupyList;//工单占用表
             _CalcBomViewAppService.srm_po_list = srm_po_list;
 
+            _CalcBomViewAppService.srm_Po_Lists = poDetailList;
+            _CalcBomViewAppService.srm_Po_Occupies = poOccupys;
+
             foreach (var item in sentrys)
             {
                 //工单资源检查信息