tangdi 3 лет назад
Родитель
Сommit
147df509b8

+ 1 - 0
MicroServices/Business/Business.Application.Contracts/Business.Application.Contracts.csproj

@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <ProjectReference Include="..\Bussiness.Model\Bussiness.Model.csproj" />
+    <ProjectReference Include="..\Bussiness.MongoModel\Bussiness.MongoModel.csproj" />
   </ItemGroup>
 
 </Project>

+ 4 - 2
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/GenerateMorderDto.cs

@@ -1,5 +1,7 @@
 using Bussiness.Model.MES.IC;
 using Bussiness.Model.Sale;
+using Bussiness.MongoModel.MES.IC;
+using Bussiness.MongoModel.Sale;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -13,11 +15,11 @@ namespace Business.ResourceExamineManagement.Dto
         /// <summary>
         /// 销售订单子表
         /// </summary>
-        public crm_seorderentry seorderentry { get; set; }
+        public mo_crm_seorderentry seorderentry { get; set; }
         /// <summary>
         /// 物料详情
         /// </summary>
-        public ic_item ic_Item { get; set; }
+        public mo_ic_item ic_Item { get; set; }
         /// <summary>
         /// Bom编码
         /// </summary>

+ 3 - 2
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/Mes_MorderDto.cs

@@ -1,4 +1,5 @@
 using Bussiness.Model.Production;
+using Bussiness.MongoModel.Production;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -12,11 +13,11 @@ namespace Business.ResourceExamineManagement.Dto
         /// <summary>
         /// 工单主表
         /// </summary>
-        public List<mes_morder> mes_Morders { get; set; }
+        public List<mo_mes_morder> mes_Morders { get; set; }
         /// <summary>
         /// 工单子表
         /// </summary>
-        public List<mes_moentry> mes_Moentries { get; set; }
+        public List<mo_mes_moentry> mes_Moentries { get; set; }
 
     }
 }

+ 4 - 2
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PschedDto.cs

@@ -4,6 +4,8 @@ using Volo.Abp.Application.Dtos;
 using System.ComponentModel.DataAnnotations;
 using Bussiness.Model.MES.IC;
 using Bussiness.Model.Production;
+using Bussiness.MongoModel.MES.IC;
+using Bussiness.MongoModel.Production;
 
 namespace Business.ResourceExamineManagement.Dto
 {
@@ -25,7 +27,7 @@ namespace Business.ResourceExamineManagement.Dto
         /// <summary>
         /// 物料占用记录
         /// </summary>
-        public List<ic_item_stockoccupy> sklist { get; set; }
+        public List<mo_ic_item_stockoccupy> sklist { get; set; }
 
         /// <summary>
         /// 采购申请
@@ -35,7 +37,7 @@ namespace Business.ResourceExamineManagement.Dto
         /// <summary>
         /// 委外订单
         /// </summary>
-        public List<mes_oorder> order_list { get; set; }
+        public List<mo_mes_oorder> order_list { get; set; }
     }
 
     /// <summary>

+ 29 - 26
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -4,6 +4,9 @@ using Bussiness.Model.MES.IC;
 using Bussiness.Model.Production;
 using Bussiness.Model.Sale;
 using Bussiness.Model.SRM;
+using Bussiness.MongoModel.MES.IC;
+using Bussiness.MongoModel.Production;
+using Bussiness.MongoModel.Sale;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -20,17 +23,17 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         public SeorderentryDto param = new SeorderentryDto();
 
-        public List<ic_plan> planList { get; set; }
+        public List<mo_ic_plan> planList { get; set; }
 
         public List<ICItemLeadTimeDto> leadTimeList = new List<ICItemLeadTimeDto>();
-        public List<ic_item_pur> supplierList = new List<ic_item_pur>();
+        public List<mo_ic_item_pur> supplierList = new List<mo_ic_item_pur>();
 
         public List<SRMPRDto> SRMPRDtoList = new List<SRMPRDto>();
-        public List<mes_oorder> orderList = new List<mes_oorder>();
+        public List<mo_mes_oorder> orderList = new List<mo_mes_oorder>();
 
-        public List<mes_morder> mordersList = new List<mes_morder>();
-        public List<mes_moentry> moentriesList = new List<mes_moentry>();
-        public List<mes_mooccupy> mooccupyAllList = new List<mes_mooccupy>();
+        public List<mo_mes_morder> mordersList = new List<mo_mes_morder>();
+        public List<mo_mes_moentry> moentriesList = new List<mo_mes_moentry>();
+        public List<mo_mes_mooccupy> mooccupyAllList = new List<mo_mes_mooccupy>();
 
         /// <summary>
         /// 工单App
@@ -58,7 +61,7 @@ namespace Business.ResourceExamineManagement
         /// 计算物料库存量
         /// </summary>
         /// <param name="returnlist"></param>
-        public void BomStock(List<BomChildExamineDto> returnlist, List<ic_item_stock> _ic_item_stock)
+        public void BomStock(List<BomChildExamineDto> returnlist, List<mo_ic_item_stock> _ic_item_stock)
         {
             returnlist = returnlist.OrderBy(s => s.num_order).ToList();
             //获取当前工厂下物料库存数据
@@ -88,7 +91,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="input"></param>
         /// <param name="plan_date"></param>
         public void CalcView(List<BomChildExamineDto> returnlist, long bangid, decimal count, SeorderentryDto input, DateTime
-            ? plan_date, List<ic_item_stockoccupy> sklist, crm_seorderentry sentrys, List<ic_item> icitemlist)
+            ? plan_date, List<mo_ic_item_stockoccupy> sklist, mo_crm_seorderentry sentrys, List<mo_ic_item> icitemlist)
         {
             //第一级
             returnlist = returnlist.OrderBy(s => s.num_order).ToList();
@@ -110,7 +113,7 @@ namespace Business.ResourceExamineManagement
             if (level1Dto.lack_qty > 0)
             {
                 //获取物料详情
-                var ic_item = icitemlist.Find(s => s.Id == level1Dto.item_id);
+                var ic_item = icitemlist.Find(s => s.mysql_id == level1Dto.item_id);
                 var mooccupylist = _morderAppService.CheckMorder(level1Dto.bom_number, level1Dto.lack_qty, plan_date.GetValueOrDefault(), sentrys, ic_item).Result;
 
                 if (mooccupylist.Any())
@@ -240,7 +243,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="bzlist"></param>
         /// <param name="returnlist"></param>
         /// <param name="sockoccupyList"></param>
-        public void CaleLackItem(BomChildExamineDto parent, List<BomChildExamineDto> bzlist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sockoccupyList)
+        public void CaleLackItem(BomChildExamineDto parent, List<BomChildExamineDto> bzlist, List<BomChildExamineDto> returnlist, List<mo_ic_item_stockoccupy> sockoccupyList)
         {
             //从第二级开始循环
             foreach (var item in bzlist)
@@ -259,7 +262,7 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="item"></param>
         /// <param name="sockoccupyList"></param>
-        public void Calczykc(BomChildExamineDto item, BomChildExamineDto parent, List<ic_item_stockoccupy> sockoccupyList)
+        public void Calczykc(BomChildExamineDto item, BomChildExamineDto parent, List<mo_ic_item_stockoccupy> sockoccupyList)
         {
             //找到当前物料的占用记录
             var itemSockoccupy = sockoccupyList.Where(s => s.icitem_id == item.item_id).ToList();
@@ -292,8 +295,8 @@ namespace Business.ResourceExamineManagement
         /// <param name="input"></param>
         /// <param name="sklist"></param>
         /// <param name="plan_date"></param>
-        public void CalcIcitem(List<BomChildExamineDto> childList, List<BomChildExamineDto> returnlist, long bangid, SeorderentryDto input, List<ic_item_stockoccupy> sklist, DateTime
-            ? plan_date, List<ic_item> icitemlist, crm_seorderentry sentrys)
+        public void CalcIcitem(List<BomChildExamineDto> childList, List<BomChildExamineDto> returnlist, long bangid, SeorderentryDto input, List<mo_ic_item_stockoccupy> sklist, DateTime
+            ? plan_date, List<mo_ic_item> icitemlist, mo_crm_seorderentry sentrys)
         {
             foreach (var item in childList)
             {
@@ -311,7 +314,7 @@ namespace Business.ResourceExamineManagement
                         Calczykc(item, parent, sklist);
 
                         //直接占用库存,缺料就生成采购
-                        ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
+                        mo_ic_item_stockoccupy itemStockoccupyDto = new mo_ic_item_stockoccupy();
                         itemStockoccupyDto.bang_id = bangid;
                         itemStockoccupyDto.icitem_id = item.item_id;
                         itemStockoccupyDto.item_no = item.num;
@@ -335,8 +338,8 @@ namespace Business.ResourceExamineManagement
         /// <param name="itemStockoccupyDto"></param>
         /// <param name="bangid"></param>
         /// <param name="input"></param>
-        public void StartProcessing(BomChildExamineDto item, List<ic_item> icitemlist, List<BomChildExamineDto> returnlist, DateTime
-            ? plan_date, crm_seorderentry sentrys, List<ic_item_stockoccupy> sklist, ic_item_stockoccupy itemStockoccupyDto, long bangid, SeorderentryDto input)
+        public void StartProcessing(BomChildExamineDto item, List<mo_ic_item> icitemlist, List<BomChildExamineDto> returnlist, DateTime
+            ? plan_date, mo_crm_seorderentry sentrys, List<mo_ic_item_stockoccupy> sklist, mo_ic_item_stockoccupy itemStockoccupyDto, long bangid, SeorderentryDto input)
         {
             var parent = returnlist.Find(s => s.id == item.parent_id);
             if (item.lack_qty > 0)
@@ -435,8 +438,8 @@ namespace Business.ResourceExamineManagement
         /// <param name="sklist"></param>
         /// <param name="input"></param>
         /// <param name="plan_date"></param>
-        public void CalcStrategy(BomChildExamineDto item, List<BomChildExamineDto> returnlist, long bangid, List<ic_item_stockoccupy> sklist, SeorderentryDto input, DateTime
-            ? plan_date, List<ic_item> icitemlist, crm_seorderentry sentrys)
+        public void CalcStrategy(BomChildExamineDto item, List<BomChildExamineDto> returnlist, long bangid, List<mo_ic_item_stockoccupy> sklist, SeorderentryDto input, DateTime
+            ? plan_date, List<mo_ic_item> icitemlist, mo_crm_seorderentry sentrys)
         {
             //提取群组关系
             var sublist = returnlist.Where(s => s.parent_id == item.parent_id && s.num == item.num && s.level == item.level).OrderBy(c => c.substitute_all_num).ToList();
@@ -474,7 +477,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="returnlist"></param>
         /// <param name="sklist"></param>
         /// <param name="select"></param>
-        public void WholeBatchCheck(List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, List<BomChildExamineDto> select)
+        public void WholeBatchCheck(List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<mo_ic_item_stockoccupy> sklist, List<BomChildExamineDto> select)
         {
             for (int idx = 0; idx < 99; idx++)
             {
@@ -514,8 +517,8 @@ namespace Business.ResourceExamineManagement
         /// <param name="parent"></param>
         /// <param name="input"></param>
         /// <param name="plan_date"></param>
-        public void WholeBatch(BomChildExamineDto item, List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, List<BomChildExamineDto> select, long bangid, BomChildExamineDto parent, SeorderentryDto input, DateTime
-            ? plan_date, List<ic_item> icitemlist, crm_seorderentry sentrys)
+        public void WholeBatch(BomChildExamineDto item, List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<mo_ic_item_stockoccupy> sklist, List<BomChildExamineDto> select, long bangid, BomChildExamineDto parent, SeorderentryDto input, DateTime
+            ? plan_date, List<mo_ic_item> icitemlist, mo_crm_seorderentry sentrys)
         {
             if (select.Count() == 0)
             {
@@ -535,7 +538,7 @@ namespace Business.ResourceExamineManagement
             //占用库存
             foreach (var slt in select)
             {
-                ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
+                mo_ic_item_stockoccupy itemStockoccupyDto = new mo_ic_item_stockoccupy();
                 itemStockoccupyDto.bang_id = bangid;
                 itemStockoccupyDto.icitem_id = slt.item_id;
                 itemStockoccupyDto.item_no = slt.num;
@@ -556,8 +559,8 @@ namespace Business.ResourceExamineManagement
         /// <param name="parent"></param>
         /// <param name="input"></param>
         /// <param name="plan_date"></param>
-        public void MixedUse(BomChildExamineDto item, List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, long bangid, BomChildExamineDto parent, SeorderentryDto input, DateTime
-            ? plan_date, List<ic_item> icitemlist, crm_seorderentry sentrys)
+        public void MixedUse(BomChildExamineDto item, List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<mo_ic_item_stockoccupy> sklist, long bangid, BomChildExamineDto parent, SeorderentryDto input, DateTime
+            ? plan_date, List<mo_ic_item> icitemlist, mo_crm_seorderentry sentrys)
         {
 
             decimal parent_lack = 0;
@@ -631,7 +634,7 @@ namespace Business.ResourceExamineManagement
                         {
                             zy.stock_state = 1;
                         }
-                        ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
+                        mo_ic_item_stockoccupy itemStockoccupyDto = new mo_ic_item_stockoccupy();
                         itemStockoccupyDto.bang_id = bangid;
                         itemStockoccupyDto.icitem_id = zy.item_id;
                         /*decimal moo_qty = use_p_num * zy.qty - zy.sqty;
@@ -721,7 +724,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="item"></param>
         /// <param name="returnlist"></param>
         /// <param name="sklist"></param>
-        public void RecalculationStock(BomChildExamineDto item, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist)
+        public void RecalculationStock(BomChildExamineDto item, List<BomChildExamineDto> returnlist, List<mo_ic_item_stockoccupy> sklist)
         {
             //再计算一边占用情况,这里根据父级产品额缺料量*当前子料的使用数量-子料库存量。得出当前子物料的缺料数量
             var parent = returnlist.Find(s => s.id == item.parent_id);

+ 8 - 5
MicroServices/Business/Business.Application/ResourceExamineManagement/MorderAppService.cs

@@ -6,6 +6,9 @@ using Bussiness.Model.Production;
 using Bussiness.Model.Sale;
 using Bussiness.Model.SRM;
 using Bussiness.Model.Tech;
+using Bussiness.MongoModel.MES.IC;
+using Bussiness.MongoModel.Production;
+using Bussiness.MongoModel.Sale;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -91,7 +94,7 @@ namespace Business.ResourceExamineManagement
             //获取销售订单信息
             var seorder = _mysql_crm_seorder.FindAsync(x => x.Id == generateMorderDto.seorderentry.seorder_id).Result;
 
-            mes_morder mes_Morder = new mes_morder();
+            mo_mes_morder mes_Morder = new mo_mes_morder();
             mes_Morder.GenerateNewId();
             mes_Morder.morder_type = generateMorderDto.morder_type;
             mes_Morder.parent_id = generateMorderDto.ParentId;
@@ -161,8 +164,8 @@ namespace Business.ResourceExamineManagement
             mes_Moentry.factory_id = generateMorderDto.seorderentry.factory_id;
 
             Mes_MorderDto mes_MorderDto = new Mes_MorderDto();
-            mes_MorderDto.mes_Morders = new List<mes_morder>();
-            mes_MorderDto.mes_Moentries = new List<mes_moentry>();
+            mes_MorderDto.mes_Morders = new List<mo_mes_morder>();
+            mes_MorderDto.mes_Moentries = new List<mo_mes_moentry>();
             mes_MorderDto.mes_Morders.Add(mes_Morder);
             mes_MorderDto.mes_Moentries.Add(mes_Moentry);
 
@@ -184,7 +187,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="DeliverDate">交付日期</param>
         /// <param name="seorderentry_id">销售订单子表ID</param>
         /// <returns></returns>
-        public async Task<List<mes_mooccupy>> CheckMorder(string bomNumber, decimal Quantity, DateTime DeliverDate, crm_seorderentry seorderentry, ic_item ic_Item, bool flag = true)
+        public async Task<List<mo_mes_mooccupy>> CheckMorder(string bomNumber, decimal Quantity, DateTime DeliverDate, mo_crm_seorderentry seorderentry, mo_ic_item ic_Item, bool flag = true)
         {
             if (string.IsNullOrEmpty(bomNumber))
             {
@@ -388,7 +391,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="item">工单表</param>
         /// <param name="mes_mooccupy">占用工单表</param>
         /// <returns></returns>
-        public mes_mooccupy GetMooccupies(crm_seorderentry seorderentry, ic_item ic_item, mes_morder item, decimal? number)
+        public mes_mooccupy GetMooccupies(mo_crm_seorderentry seorderentry, ic_item ic_item, mes_morder item, decimal? number)
         {
             //生成mes_mooccupy工单占用表数据,代表多个工单被某个销售订单已占用。 
             mes_mooccupy mes_Mooccupy = new mes_mooccupy();

+ 22 - 21
MicroServices/Business/Business.Application/ResourceExamineManagement/PretreatmentAppService.cs

@@ -3,6 +3,7 @@ using Business.Core.Utilities;
 using Business.ResourceExamineManagement.Dto;
 using Bussiness.Model.MES.IC;
 using Bussiness.Model.Production;
+using Bussiness.MongoModel.MES.IC;
 using SixLabors.ImageSharp;
 using System;
 using System.Collections.Generic;
@@ -27,7 +28,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="orderid"></param>
         /// <param name="BomId"></param>
         /// <param name="Quantity"></param>
-        public List<BomChildExamineDto> BomPretreatment(long? BomId, List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, List<ic_item> icitemlist)
+        public List<BomChildExamineDto> BomPretreatment(long? BomId, List<mo_ic_bom> bomlist, List<mo_ic_bom_child> bomchildlist, List<mo_ic_item> icitemlist)
         {
             if (BomId == null)
             {
@@ -35,7 +36,7 @@ namespace Business.ResourceExamineManagement
             }
             List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
 
-            var bom = bomlist.Find(s => s.Id == BomId);
+            var bom = bomlist.Find(s => s.mysql_id == BomId);
             if (bom == null)
             {
                 return returnlist;
@@ -69,25 +70,25 @@ namespace Business.ResourceExamineManagement
         /// <param name="icitemlist"></param>
         /// <param name="dto"></param>
         /// <param name="returnlist"></param>
-        public void GetBomList(List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, List<ic_item> icitemlist, BomChildExamineDto dto, List<BomChildExamineDto> returnlist, int type)
+        public void GetBomList(List<mo_ic_bom> bomlist, List<mo_ic_bom_child> bomchildlist, List<mo_ic_item> icitemlist, BomChildExamineDto dto, List<BomChildExamineDto> returnlist, int type)
         {
             int level = dto.level + 1;//初始化定义level层级
 
-            var bom = bomlist.Where(s => s.Id == dto.bom_id).FirstOrDefault();
-            ic_item item = new ic_item();
+            var bom = bomlist.Where(s => s.mysql_id == dto.bom_id).FirstOrDefault();
+            mo_ic_item item = new mo_ic_item();
             if (bom != null)
             {
-                item = icitemlist.Where(a => a.Id == bom.icitem_id).FirstOrDefault();
+                item = icitemlist.Where(a => a.mysql_id == bom.icitem_id).FirstOrDefault();
             }
             else
             {
-                item = icitemlist.Where(a => a.Id == dto.item_id).FirstOrDefault();
+                item = icitemlist.Where(a => a.mysql_id == dto.item_id).FirstOrDefault();
             }
             if (item == null)
             {
                 return;
             }
-            dto.item_id = item.Id;
+            dto.item_id = item.mysql_id;
             dto.item_name = bom.item_name;
             dto.item_code = bom.item_number;
             dto.model = item.model;
@@ -99,7 +100,7 @@ namespace Business.ResourceExamineManagement
 
             //var bdto = ObjectMapper.Map<ic_bom,BomChildExamineDto>(bom);
             returnlist.Add(dto);
-            var childlist = bomchildlist.Where(a => a.bom_id == bom.Id).ToList();
+            var childlist = bomchildlist.Where(a => a.bom_id == bom.mysql_id).ToList();
 
             int idx = 1;
             foreach (var c in childlist)
@@ -107,7 +108,7 @@ namespace Business.ResourceExamineManagement
                 string childNum = dto.num + "." + idx.ToString();
                 long order_num = long.Parse(dto.num_order.ToString() + (idx.ToString().PadLeft(3, '0')));
 
-                var icitem = icitemlist.Where(a => a.Id == c.icitem_id).FirstOrDefault();
+                var icitem = icitemlist.Where(a => a.mysql_id == c.icitem_id).FirstOrDefault();
                 var childBom = bomlist.Where(a => a.icitem_id == c.icitem_id).FirstOrDefault();
                 //如果此明细查的到BOM信息,则代表此child是一个子BOM。
                 if (childBom != null)
@@ -116,7 +117,7 @@ namespace Business.ResourceExamineManagement
                     cdto.id = help.NextId();
                     cdto.level = level;
                     cdto.parent_id = dto.id;
-                    cdto.bom_child_id = c.Id;
+                    cdto.bom_child_id = c.mysql_id;
                     cdto.qty = c.qty.Value;
                     cdto.backflush = c.backflush;
                     cdto.num = childNum;
@@ -128,7 +129,7 @@ namespace Business.ResourceExamineManagement
                     cdto.icitem_ids = c.icitem_ids;
                     cdto.type = type;
                     cdto.item_id = childBom.icitem_id;
-                    cdto.bom_id = childBom.Id;
+                    cdto.bom_id = childBom.mysql_id;
                     cdto.bom_number = childBom.bom_number;
                     //递归寻找子级
                     GetBomList(bomlist, bomchildlist, icitemlist, cdto, returnlist, type);
@@ -140,10 +141,10 @@ namespace Business.ResourceExamineManagement
                         var childDto = new BomChildExamineDto();
                         childDto.level = level;
                         childDto.bom_id = dto.bom_id;
-                        childDto.bom_child_id = c.Id;
+                        childDto.bom_child_id = c.mysql_id;
                         childDto.id = help.NextId();
                         childDto.parent_id = dto.id;
-                        childDto.item_id = icitem.Id;
+                        childDto.item_id = icitem.mysql_id;
                         childDto.item_name = icitem.name;
                         childDto.item_code = icitem.number;
                         childDto.num = childNum;
@@ -179,7 +180,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="sublist"></param>
         /// <param name="suballlist"></param>
         /// <param name="subdtllist"></param>
-        public void BomSubstitute(List<BomChildExamineDto> returnlist, List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, List<ic_item> icitemlist, List<ic_substitute> sublist, List<ic_substitute_all> suballlist, List<ic_substitute_all_dtl> subdtllist)
+        public void BomSubstitute(List<BomChildExamineDto> returnlist, List<mo_ic_bom> bomlist, List<mo_ic_bom_child> bomchildlist, List<mo_ic_item> icitemlist, List<mo_ic_substitute> sublist, List<mo_ic_substitute_all> suballlist, List<mo_ic_substitute_all_dtl> subdtllist)
         {
             List<long> childidList = new List<long>();
             int type = 1;
@@ -216,10 +217,10 @@ namespace Business.ResourceExamineManagement
                 var sl = sublist.Find(s => s.substitute_code == item.substitute_code);
                 if (sl != null)
                 {
-                    var sall = suballlist.Where(s => s.substitute_id == sl.Id).ToList();
+                    var sall = suballlist.Where(s => s.substitute_id == sl.mysql_id).ToList();
                     foreach (var sal in sall)
                     {
-                        var sadl = subdtllist.Where(s => s.substitute_allid == sal.Id).ToList();
+                        var sadl = subdtllist.Where(s => s.substitute_allid == sal.mysql_id).ToList();
                         foreach (var dtl in sadl)
                         {
                             if (sal.main_material.GetValueOrDefault() != 1)
@@ -253,14 +254,14 @@ namespace Business.ResourceExamineManagement
         /// <param name="icitemlist"></param>
         /// <param name="bomlist"></param>
         /// <param name="bomchildlist"></param>
-        public void SubstitutePretreatment(ic_substitute sl, ic_substitute_all sal, ic_substitute_all_dtl dtl, BomChildExamineDto toDto, List<BomChildExamineDto> returnlist, List<ic_item> icitemlist, List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, int type)
+        public void SubstitutePretreatment(mo_ic_substitute sl, mo_ic_substitute_all sal, mo_ic_substitute_all_dtl dtl, BomChildExamineDto toDto, List<BomChildExamineDto> returnlist, List<mo_ic_item> icitemlist, List<mo_ic_bom> bomlist, List<mo_ic_bom_child> bomchildlist, int type)
         {
             //如果dtl对应的icitem是BOM,还需要向下继续展开。
 
             //List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
             var dto = new BomChildExamineDto();
             var bom = bomlist.Where(s => s.icitem_id == dtl.icitem_id).FirstOrDefault();
-            var icitem = icitemlist.Find(s => s.Id == dtl.icitem_id);
+            var icitem = icitemlist.Find(s => s.mysql_id == dtl.icitem_id);
             if (icitem == null)
             {
                 return;
@@ -268,7 +269,7 @@ namespace Business.ResourceExamineManagement
             dto.id = help.NextId();
             dto.level = toDto.level;
             dto.parent_id = toDto.parent_id;
-            dto.item_id = icitem.Id;
+            dto.item_id = icitem.mysql_id;
             dto.item_name = icitem.name;
             dto.item_code = icitem.number;
             dto.num = toDto.num;
@@ -291,7 +292,7 @@ namespace Business.ResourceExamineManagement
             dto.substitute_all_num = sal.order_num;//群组优先级
             if (bom != null)
             {
-                dto.bom_id = bom.Id;
+                dto.bom_id = bom.mysql_id;
 
                 dto.qty = dtl.replace_amount == null ? 1 : dtl.replace_amount.Value;
                 dto.isbom = 1;

+ 13 - 12
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -56,6 +56,7 @@ using Bussiness.MongoModel.MES.IC;
 using Bussiness.MongoModel.Production;
 using Bussiness.MongoModel.SRM;
 using Bussiness.MongoModel.Tech;
+using Bussiness.MongoModel.Sale;
 
 namespace Business.ResourceExamineManagement
 {
@@ -223,13 +224,13 @@ namespace Business.ResourceExamineManagement
 
         private List<ICItemLeadTimeDto> leadTimeList;
 
-        private List<ic_item_pur> supplierList;
+        private List<mo_ic_item_pur> supplierList;
 
-        private List<ic_plan> planList;
+        private List<mo_ic_plan> planList;
 
         private List<SRMPRDto> SRMPRDtoList = new List<SRMPRDto>();
 
-        private List<mes_oorder> orderList = new List<mes_oorder>();
+        private List<mo_mes_oorder> orderList = new List<mo_mes_oorder>();
         #endregion
 
         #region 构造函数
@@ -382,10 +383,10 @@ namespace Business.ResourceExamineManagement
             List<string> codeList = bomchildlist.Select(c => c.substitute_code).ToList();
             var sublist = _ic_substitute.GetManyByCondition(p => codeList.Contains(p.substitute_code) && !p.IsDeleted).Result;
 
-            List<long> subidlist = sublist.Select(c => c.mysql_id.GetValueOrDefault()).ToList();
+            List<long> subidlist = sublist.Select(c => c.mysql_id).ToList();
             var suballlist = _ic_substitute_all.GetManyByCondition(p => subidlist.Contains(p.substitute_id) && !p.IsDeleted).Result;
 
-            List<long> suballidlist = suballlist.Select(c => c.Id).ToList();
+            List<long> suballidlist = suballlist.Select(c => c.mysql_id).ToList();
             var subdtllist = _ic_substitute_all_dtl.GetManyByCondition(p => suballidlist.Contains(p.substitute_allid) && !p.IsDeleted).Result;
 
 
@@ -396,7 +397,7 @@ namespace Business.ResourceExamineManagement
             List<long> itemIds = bomlist.Select(p => p.icitem_id).ToList();
             itemIds.AddRange(bomchildlist.Select(p => p.icitem_id).ToList());
             itemIds.AddRange(subdtllist.Select(p => p.icitem_id).ToList());
-            List<mo_ic_item> icitemlist = _ic_item.GetManyByCondition(p => itemIds.Contains(p.Id) && !p.IsDeleted).Result;
+            List<mo_ic_item> icitemlist = _ic_item.GetManyByCondition(p => itemIds.Contains(p.mysql_id) && !p.IsDeleted).Result;
 
             //物料库存
             var stocklist = _ic_item_stock.GetManyByCondition(p => p.factory_id == param.factoryId && itemIds.Contains(p.icitem_id)).Result;
@@ -421,7 +422,7 @@ namespace Business.ResourceExamineManagement
                 //获取当前物料bom数据
                 var childBom = boms.Where(p => p.item_number == item.item_number).FirstOrDefault();
                 //bom层级组装
-                var getBomList = _pretreatmentAppService.BomPretreatment(childBom.Id, bomlist, bomchildlist, icitemlist);
+                var getBomList = _pretreatmentAppService.BomPretreatment(childBom.mysql_id, bomlist, bomchildlist, icitemlist);
                 //bom替代关系组装
                 _pretreatmentAppService.BomSubstitute(getBomList, bomlist, bomchildlist, icitemlist, sublist, suballlist, subdtllist);
                 //库存初始化
@@ -468,7 +469,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="icBoms"></param>
         /// <param name="bomlist"></param>
         /// <param name="bomchildlist"></param>
-        public void GetIcBomData(List<ic_bom> icBoms, List<ic_bom> bomlist, List<ic_bom_child> bomchildlist)
+        public void GetIcBomData(List<mo_ic_bom> icBoms, List<mo_ic_bom> bomlist, List<mo_ic_bom_child> bomchildlist)
         {
             if (icBoms.Count() == 0)
             {
@@ -477,7 +478,7 @@ namespace Business.ResourceExamineManagement
             //添加物料bom数据
             bomlist.AddRange(icBoms);
             //获取物料bom明细数据
-            List<ic_bom_child> childList = _ic_bom_child.GetManyByCondition(p => icBoms.Select(m => m.Id).Contains(p.bom_id) && p.use_status == 1 && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
+            List<mo_ic_bom_child> childList = _ic_bom_child.GetManyByCondition(p => icBoms.Select(m => m.mysql_id).Contains(p.bom_id) && p.use_status == 1 && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
             //没有明细数据,终止
             if (childList.Count == 0)
             {
@@ -636,20 +637,20 @@ namespace Business.ResourceExamineManagement
         /// <returns></returns>
         private List<ICItemLeadTimeDto> GetLeadTime(List<long> icItemIds, long tenantId, long factoryid)
         {
-            ProjectionDefinitionBuilder<ic_factory_details> project = new ProjectionDefinitionBuilder<ic_factory_details>();
+            ProjectionDefinitionBuilder<mo_ic_factory_details> project = new ProjectionDefinitionBuilder<mo_ic_factory_details>();
             return _ic_factory_details.Find(p => icItemIds.Contains(p.icitem_id) && p.factory_id == factoryid && p.tenant_id == tenantId && !p.IsDeleted,
                 project.Include(p => p.icitem_id).Include(p => p.production_leadtime).Include(p => p.stock_leadtime).Include(p => p.transportation_leadtime).Include(p => p.order_leadtime)).Result.
                 Select(x => new ICItemLeadTimeDto { item_id = x.icitem_id, transportation_leadtime = x.transportation_leadtime, stock_leadtime = x.stock_leadtime, production_leadtime = x.production_leadtime, order_leadtime = x.order_leadtime }).AsQueryable<ICItemLeadTimeDto>().ToList();
         }
 
         //根据物料id获取物料供应商
-        private List<ic_item_pur> GetSupplier(List<long> icItemIds, long tenantId, long factoryid)
+        private List<mo_ic_item_pur> GetSupplier(List<long> icItemIds, long tenantId, long factoryid)
         {
             return _ic_item_pur.Find(p => icItemIds.Contains(p.icitem_id) && p.tenant_id == tenantId && p.factory_id == factoryid && !p.IsDeleted).Result;
         }
 
         //根据物料id获取物料采购计划表
-        private List<ic_plan> GetICPlan(List<long> icItemIds, long tenantId, long factoryid)
+        private List<mo_ic_plan> GetICPlan(List<long> icItemIds, long tenantId, long factoryid)
         {
             return _ic_plan.Find(p => icItemIds.Contains(p.icitem_id) && p.tenant_id == tenantId && p.factory_id == factoryid && !p.IsDeleted).Result;
         }