ソースを参照

代码提交。

tangdi 2 年 前
コミット
097dbd5375

+ 3 - 3
MicroServices/Business/Business.Application/ResourceExamineManagement/MorderAppService.cs

@@ -264,8 +264,8 @@ namespace Business.ResourceExamineManagement
             //当前工单计划日期-1天 小于交付日期 && 计算生产数量-入库数据并且大于需求产品数量。
             var moentrys = mo_Mes_Moentry.Where(s => s.soentry_id == seorderentry.Id);
             //找到当前订单行生成的主工单
-            var toMid = moentrys.Select(s => s.moentry_moid.GetValueOrDefault()).ToList();
-            var morderDataList = mo_Mes_Morders.Where(x => x.bom_number == bomNumber && (x.morder_type == MorderEnum.JhMorder || toMid.Contains(x.relation_moid.GetValueOrDefault())) && x.moentry_sys_etime.GetValueOrDefault().AddDays(-1) < DeliverDate &&
+            var toMid = moentrys.Select(s => s.moentry_moid).ToList();
+            var morderDataList = mo_Mes_Morders.Where(x => x.bom_number == bomNumber && x.morder_type == MorderEnum.JhMorder && x.moentry_sys_etime.GetValueOrDefault().AddDays(-1) < DeliverDate &&
             (x.morder_production_number - x.inventory_number - mes_mooccupyList.Where(p => p.moo_moid.GetValueOrDefault() == x.mysql_id)?.Sum(m => m.moo_qty)) > Quantity)
              .OrderByDescending(x => x.planner_end_date).ToList();
 
@@ -273,7 +273,7 @@ namespace Business.ResourceExamineManagement
             //当数量或日期不满足的时候,寻找最早日期的工单
             if (morderDataList.Count == 0)
             {
-                morderDataList = mo_Mes_Morders.Where(x => x.bom_number == bomNumber && x.moentry_sys_etime.GetValueOrDefault().AddDays(-1) < DeliverDate).OrderByDescending(x => x.planner_end_date).ToList();
+                morderDataList = mo_Mes_Morders.Where(x => x.bom_number == bomNumber && (x.morder_type == MorderEnum.JhMorder || toMid.Contains(x.mysql_id)) && x.moentry_sys_etime.GetValueOrDefault().AddDays(-1) < DeliverDate).OrderByDescending(x => x.planner_end_date).ToList();
             }
             var QuantityNumber = 0.00m;
             //存在此数据满足当前BOM交付找到最早日期工单,则返回无需后续继续检查。

+ 8 - 2
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -560,6 +560,11 @@ namespace Business.ResourceExamineManagement
             {
                 var b_ex = ObjectMapper.Map<ExamineResult, b_examine_result>(ex);
                 b_ex.GenerateNewId();// = help.NextId();
+                if (_CalcBomViewAppService.mordersInsertList.Any())
+                {
+                    b_ex.morder_id = _CalcBomViewAppService.mordersInsertList[0].mysql_id;
+                    b_ex.morder_no = _CalcBomViewAppService.mordersInsertList[0].morder_no;
+                }
                 b_ex.create_time = DateTime.Now;
                 b_ex.tenant_id = param.tenantId;
                 b_ex.factory_id = param.factoryId;
@@ -2234,8 +2239,9 @@ namespace Business.ResourceExamineManagement
             List<mo_mes_tech_proc_workshop> tech_Proc_Workshops =  _mes_tech_proc_workshop.GetManyByCondition(p => techProcIds.Contains(p.tech_proc_id) && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result;
             //主工单
             List<mo_mes_morder> mo_Mes_Morders = _mes_morder.GetManyByCondition(x => boms.Select(p => p.bom_number).Contains(x.bom_number) && (x.morder_state != MorderEnum.Accomplish_state || x.morder_state != MorderEnum.Close_state
-          && x.morder_icitem_type != MorderEnum.XgwyMorder) && !x.IsDeleted && x.tenant_id == param.tenantId && x.bang_id == bangid).Result;
-            List<mo_mes_moentry> mo_Mes_Moentry = _mes_moentry.GetManyByCondition(x => mo_Mes_Morders.Select(p => p.id).Contains(x.moentry_moid.GetValueOrDefault())).Result;
+          && x.morder_icitem_type != MorderEnum.XgwyMorder) && x.tenant_id == param.tenantId && x.bang_id == bangid).Result;
+            List<long> moids = mo_Mes_Morders.Select(p => p.mysql_id).ToList();
+            List<mo_mes_moentry> mo_Mes_Moentry = _mes_moentry.GetManyByCondition(x => moids.Contains(x.moentry_moid)).Result;
             //工单占用表
             List<mo_mes_mooccupy> mes_mooccupyList = _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).Result;

+ 1 - 1
MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_moentry.cs

@@ -29,7 +29,7 @@ namespace Business.MongoModel.Production
         /// 工单主表id
         /// </summary>
         [Comment("工单主表id")]
-        public long? moentry_moid { get; set; }
+        public long moentry_moid { get; set; }
         /// <summary>
         /// 工单编号
         /// </summary>