Browse Source

资源检查审核动作开发。

tangdi 2 years ago
parent
commit
84c9ed0b0f
27 changed files with 6481 additions and 367 deletions
  1. 15 0
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PschedDto.cs
  2. 8 1
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/IResourceExamineAppService.cs
  3. 31 4
      MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs
  4. 2 2
      MicroServices/Business/Business.Application/ResourceExamineManagement/PurchaseOrderAppService.cs
  5. 380 341
      MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs
  6. 25 2
      MicroServices/Business/Business.Application/SyncDataManagement/SyncMySQLDataAppService.cs
  7. 4560 0
      MicroServices/Business/Business.Host/Migrations/20230615073830_addtable20230615.Designer.cs
  8. 38 0
      MicroServices/Business/Business.Host/Migrations/20230615073830_addtable20230615.cs
  9. 1264 0
      MicroServices/Business/Business.Host/Migrations/BusinessBangMigrationDb/20230615080151_addtable20230615bang.Designer.cs
  10. 49 0
      MicroServices/Business/Business.Host/Migrations/BusinessBangMigrationDb/20230615080151_addtable20230615bang.cs
  11. 12 0
      MicroServices/Business/Business.Host/Migrations/BusinessBangMigrationDb/BusinessBangMigrationDbContextModelSnapshot.cs
  12. 9 0
      MicroServices/Business/Business.Host/Migrations/BusinessMigrationDbContextModelSnapshot.cs
  13. 14 2
      MicroServices/Business/Business.HttpApi/Controllers/ResourceExamineController.cs
  14. 2 2
      MicroServices/Business/Bussiness.ApplicationTest/ResourceExamineManagement/ResourceExamineAppService_Tests.cs
  15. 19 0
      MicroServices/Business/Bussiness.Model/Bang/b_examine_result.cs
  16. 12 0
      MicroServices/Business/Bussiness.Model/MES/IC/ic_item_stockoccupy.cs
  17. 13 0
      MicroServices/Business/Bussiness.Model/SRM/srm_po_occupy.cs
  18. 1 1
      MicroServices/Business/Bussiness.Model/Sale/crm_seorderentry.cs
  19. 14 3
      MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_item_stockoccupy.cs
  20. 0 1
      MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_moentry.cs
  21. 0 1
      MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_mooccupy.cs
  22. 0 1
      MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_morder.cs
  23. 0 1
      MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_oorder.cs
  24. 0 1
      MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_list.cs
  25. 0 1
      MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_main.cs
  26. 13 2
      MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_occupy.cs
  27. 0 1
      MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_pr_main.cs

+ 15 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PschedDto.cs

@@ -125,9 +125,24 @@ namespace Business.ResourceExamineManagement.Dto
         /// </summary>
         public DateTime kitting_times { get; set; }
 
+        /// <summary>
+        /// 建议交期(物料)
+        /// </summary>
+        public DateTime? sys_material_date { get; set; }
+
+        /// <summary>
+        /// 建议交期(产能)
+        /// </summary>
+        public DateTime? sys_capacity_date { get; set; }
+
         /// <summary>
         /// BOM层级关系展开
         /// </summary>
         public List<BomChildExamineDto> BomChildExamineList { get; set; }
+
+        /// <summary>
+        /// 计算id
+        /// </summary>
+        public long? bangid { get; set; }
     }
 }

+ 8 - 1
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/IResourceExamineAppService.cs

@@ -31,7 +31,7 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        Task<string> ReceiveResult(string ids);
+        Task<string> ReceiveResult(string ids, int type);
 
         /// <summary>
         /// 묏데쇱꿴
@@ -54,6 +54,13 @@ namespace Business.ResourceExamineManagement
         /// <returns></returns>
         Task<string> PlanOrderResourceCheck(string workOrd);
 
+        /// <summary>
+        /// 栗都쇱꿴써벎팀�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        Task<string> ReviewExamineResult(string ids, int type);
+
         /// <summary>
         /// BOM헌데툽좆渡뇹잿
         /// </summary>

+ 31 - 4
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -15,6 +15,7 @@ using System.Collections.Generic;
 using System.Globalization;
 using System.Linq;
 using Volo.Abp.Application.Services;
+using Volo.Abp.ObjectMapping;
 using static Spire.Pdf.General.Render.Decode.Jpeg2000.j2k.codestream.HeaderInfo;
 
 namespace Business.ResourceExamineManagement
@@ -47,6 +48,8 @@ namespace Business.ResourceExamineManagement
 
         public crm_seorder seorder = new crm_seorder();
 
+        public mes_morder mes_morder = new mes_morder();
+
         SnowFlake help = new SnowFlake();
 
         /// <summary>
@@ -169,6 +172,11 @@ namespace Business.ResourceExamineManagement
             {
                 itemStockoccupyDto.orderentry_id = sentrys.Id;
             }
+            if (mes_morder != null)
+            {
+                itemStockoccupyDto.morder_id = mes_morder.Id;
+                itemStockoccupyDto.morder_mo = mes_morder.morder_no;
+            }
             if (param.checkflag)
             {
                 //找到当前物料的占用记录
@@ -357,9 +365,8 @@ namespace Business.ResourceExamineManagement
             _morderAppService.calendarWorks = calendarWorks;
             _morderAppService.qualityLineWorks = qualityLineWorks;
             _morderAppService.holidays = holidays;
-
+            _morderAppService.param = param;
             Mes_MorderDto mes_MorderDto = _morderAppService.GenerateMorder(generateMorderDto, urgent);
-            MatterTileDevelop(level1Dto, childList, returnlist, sklist, bangid, plan_date, sentrys, icitemlist);
             //这里更新产品得满足时间。
             if (mes_MorderDto != null)
             {
@@ -367,6 +374,8 @@ namespace Business.ResourceExamineManagement
                 var mes_Morders = mes_MorderDto.mes_Morders.Where(x => x.parent_id == null).FirstOrDefault();
                 if (mes_Morders != null)
                 {
+                    mes_morder = ObjectMapper.Map<mo_mes_morder, mes_morder>(mes_Morders);
+                    MatterTileDevelop(level1Dto, childList, returnlist, sklist, bangid, plan_date, sentrys, icitemlist);
                     if (!string.IsNullOrEmpty(mes_Morders.bom_number))
                     {
                         mes_Morders.moentry_sys_stime = childList.Max(s => s.kitting_time.GetValueOrDefault()).AddDays(1).Date;//数据齐套完成后隔天开始生产;
@@ -949,6 +958,11 @@ namespace Business.ResourceExamineManagement
                         {
                             itemStockoccupyDto.orderentry_id = sentrys.Id;
                         }
+                        if (mes_morder != null)
+                        {
+                            itemStockoccupyDto.morder_id = mes_morder.Id;
+                            itemStockoccupyDto.morder_mo = mes_morder.morder_no;
+                        }
                         itemStockoccupyDto.bang_id = bangid;
                         itemStockoccupyDto.icitem_id = zy.item_id;
                         /*decimal moo_qty = use_p_num * zy.qty - zy.sqty;
@@ -1008,6 +1022,11 @@ namespace Business.ResourceExamineManagement
                     {
                         itemStockoccupyDto.orderentry_id = sentrys.Id;
                     }
+                    if (mes_morder != null)
+                    {
+                        itemStockoccupyDto.morder_id = mes_morder.Id;
+                        itemStockoccupyDto.morder_mo = mes_morder.morder_no;
+                    }
                     itemStockoccupyDto.bang_id = bangid;
                     itemStockoccupyDto.icitem_id = sct.item_id;
                     itemStockoccupyDto.item_no = sct.num;
@@ -1171,8 +1190,11 @@ namespace Business.ResourceExamineManagement
                 srm_Pr.id = help.NextId();
                 srm_Pr.mysql_id = help.NextId();
                 srm_Pr.pr_billno = returnlist.erp_cls == 2 ? getOrderNum("WWPR") : getOrderNum("PR");//pr单号
-                srm_Pr.pr_mono = "";//关联工单号
-                srm_Pr.entity_id = 1;//工单行号
+                if (mes_morder != null)
+                {
+                    srm_Pr.pr_mono = mes_morder.morder_no;//关联工单号
+                    srm_Pr.entity_id = 1;//工单行号
+                }
                 srm_Pr.pr_purchaseid = x.supplier_id;//供应商id  
                 srm_Pr.pr_purchasenumber = x.supplier_number;//供应商编码
                 srm_Pr.pr_purchasename = x.supplier_name;//供应商名称
@@ -1310,6 +1332,11 @@ namespace Business.ResourceExamineManagement
                 item.purchase_occupy_list = new List<purchase_occupy>();
                 item.kitting_time = occupylist[0].etime;
                 occupylist.ForEach(s => {
+                    if (mes_morder != null)
+                    {
+                        s.morder_id = mes_morder.Id;
+                        s.morder_mo = mes_morder.morder_no;
+                    }
                     purchase_occupy ocp = new purchase_occupy();
                     ocp.id = s.id;
                     ocp.stime = s.stime;

+ 2 - 2
MicroServices/Business/Business.Application/ResourceExamineManagement/PurchaseOrderAppService.cs

@@ -130,7 +130,7 @@ namespace Business.ResourceExamineManagement
             return occupyList.OrderByDescending(s => s.etime).ToList();
         }
         /// <summary>
-        /// 拼接工单占用表
+        /// 拼接PO占用表
         /// </summary>
         /// <param name="seorderentry">销售订单子表</param>
         /// <param name="mysql_ic_item">物料详情表</param>
@@ -148,7 +148,7 @@ namespace Business.ResourceExamineManagement
             srm_Po_Occupy.polist_row = srm_po_list.polist_row;
             if (seorderentry != null)
             {
-                srm_Po_Occupy.eid = seorderentry.entry_seq.Value;
+                srm_Po_Occupy.eid = seorderentry.Id;
                 srm_Po_Occupy.bill_no = seorderentry.seorder_id;
                 srm_Po_Occupy.entry_id = seorderentry.entry_seq.GetValueOrDefault();
                 srm_Po_Occupy.org_id = seorderentry.org_id;

+ 380 - 341
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -85,6 +85,7 @@ namespace Business.ResourceExamineManagement
         /// 物料占用记录
         /// </summary>
         private readonly IMongoDB<mo_ic_item_stockoccupy> _ic_item_stockoccupy;
+        private IRepository<ic_item_stockoccupy, long> _mysql_ic_item_stockoccupy;
 
         /// <summary>
         /// 物料详情
@@ -386,6 +387,7 @@ namespace Business.ResourceExamineManagement
             IRepository<crm_seorder, long> mysql_crm_seorder,
             IRepository<crm_seorderentry, long> mysql_crm_seorderentry,
             IRepository<ic_item_stock, long> mysql_ic_item_stock,
+            IRepository<ic_item_stockoccupy, long> mysql_ic_item_stockoccupy,
             IRepository<mes_oorder, long> mysql_mes_oorder,
             IRepository<srm_pr_main, long> mysql_srm_pr_main,
             IRepository<mes_mooccupy, long> mysql_mes_mooccupy,
@@ -467,6 +469,7 @@ namespace Business.ResourceExamineManagement
             _mysql_crm_seorder = mysql_crm_seorder;
             _mysql_crm_seorderentry = mysql_crm_seorderentry;
             _mysql_ic_item_stock = mysql_ic_item_stock;
+            _mysql_ic_item_stockoccupy = mysql_ic_item_stockoccupy;
             _mysql_mes_oorder = mysql_mes_oorder;
             _mysql_srm_pr_main = mysql_srm_pr_main;
             _mysql_mes_mooccupy = mysql_mes_mooccupy;
@@ -525,9 +528,10 @@ namespace Business.ResourceExamineManagement
         /// 资源检查
         /// </summary>
         /// <param name="input"></param>
+        /// <param name="type">类型(0,销售订单 1,销售订单行)</param>
         /// <returns></returns>
         /// <exception cref="NotImplementedException"></exception>
-        public async Task<string> ReceiveResult(string ids)
+        public async Task<string> ReceiveResult(string ids,int type)
         {
             if (string.IsNullOrEmpty(ids))
             {
@@ -541,34 +545,63 @@ namespace Business.ResourceExamineManagement
             {
                 input.sorderId.Add(long.Parse(longid));
             }
-            input.tenantId = 1000;
-            input.factoryId = 1001;
+            //资源检查结果
+            PschedDto rtn = new PschedDto();
+            List<crm_seorder> sorders = new List<crm_seorder>();
+            List<crm_seorderentry> sentrys = new List<crm_seorderentry>();
+            //生成当前计算bangid
+            long bangid = help.NextId();
+            if (type == 0)
+            {
+                //获取订单数据
+                sorders = _mysql_crm_seorder.GetListAsync(p => input.sorderId.Contains(p.Id) && !p.IsDeleted).Result;
+                if (!sorders.Any())
+                {
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单数据不存在", _currentTenant.Id.ToString());
+                    //throw new NotImplementedException("订单数据不存在!");
+                    return "订单数据不存在";
+                }
+                
+                //获取订单行数据
+                sentrys = await _mysql_crm_seorderentry.GetListAsync(p => input.sorderId.Contains(p.seorder_id.GetValueOrDefault()) && !p.IsDeleted);
+                if (!sentrys.Any())
+                {
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单行数据不存在", _currentTenant.Id.ToString());
+                    //throw new NotImplementedException("订单行数据不存在!");
+                    return "订单行数据不存在";
+                }
+            }
+            else {
+                //获取订单行数据
+                sentrys = await _mysql_crm_seorderentry.GetListAsync(p => input.sorderId.Contains(p.Id) && !p.IsDeleted);
+                if (!sentrys.Any())
+                {
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单行数据不存在", _currentTenant.Id.ToString());
+                    //throw new NotImplementedException("订单行数据不存在!");
+                    return "订单行数据不存在";
+                }
+                sorders = _mysql_crm_seorder.GetListAsync(p => sentrys.Select(s => s.seorder_id).Contains(p.Id) && !p.IsDeleted).Result;
+                if (!sorders.Any())
+                {
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单数据不存在", _currentTenant.Id.ToString());
+                    //throw new NotImplementedException("订单数据不存在!");
+                    return "订单数据不存在";
+                }
+            }
+            input.tenantId = sorders[0].tenant_id;
+            input.factoryId = sorders[0].factory_id.GetValueOrDefault();
 
             //资源检查入参全局变量赋值
             param.tenantId = input.tenantId;
             param.factoryId = input.factoryId;
             param.checkflag = true;
 
-            //资源检查结果
-            PschedDto rtn = new PschedDto();
+            
             rtn.sorderid = input.sorderId;
             //资源检查明细list
             List<ExamineResult> examines = new List<ExamineResult>();
             ExamineResult dtl;
-
-            //生成当前计算bangid
-            long bangid = help.NextId();
-            //获取订单数据
-            List<crm_seorder> sorders = _mysql_crm_seorder.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && input.sorderId.Contains(p.Id) && !p.IsDeleted).Result;
-            if (!sorders.Any())
-            {
-                new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单数据不存在", _currentTenant.Id.ToString());
-                throw new NotImplementedException("订单数据不存在!");
-            }
-
-            //获取订单行数据
-            List<crm_seorderentry> sentrys = await _mysql_crm_seorderentry.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && input.sorderId.Contains(p.seorder_id.GetValueOrDefault()) && !p.IsDeleted);
-
+            
             //处理销售订单优先级
             sorders = _priorityAppService.CalcOrderPriority(sorders, sentrys);
             AsyncItemStockFromWMS(sentrys);
@@ -632,6 +665,7 @@ namespace Business.ResourceExamineManagement
                     dtl.entry_seq = item.entry_seq;
                     dtl.need_qty = item.qty.GetValueOrDefault();
                     dtl.need_time = item.plan_date;
+                    dtl.bangid = bangid;
                     //获取当前物料bom数据
                     var childBom = boms.Where(p => p.item_number == item.item_number).FirstOrDefault();
                     dtl.bom_number = childBom.bom_number;
@@ -676,27 +710,37 @@ namespace Business.ResourceExamineManagement
             }
             //计算订单行的建议交期(产能/物料)
             CalcSuggestDate(sentrys, kittingTimes, icitemlist);
-            //批量保存 后期考虑子工单
-            List<mes_morder> moderlist = new List<mes_morder>();
-            List<WorkOrdMaster> workOrds = new List<WorkOrdMaster>();
-            List<WorkOrdRouting> workOrdRoutings = new List<WorkOrdRouting>();
-            List<WorkOrdDetail> workOrdDetails = new List<WorkOrdDetail>();
-            if (_CalcBomViewAppService.mordersInsertList.Any())
+            examines.ForEach(p => {
+                var sent = sentrys.Find(s => s.Id == p.sentry_id);
+                if (sent != null)
+                {
+                    p.sys_material_date = sent.sys_material_date;
+                    p.sys_capacity_date = sent.sys_capacity_date;
+                }
+            });
+            rtn.mordersList = _CalcBomViewAppService.mordersInsertList;
+
+            List<mo_srm_pr_main> prmainlist = new List<mo_srm_pr_main>();
+            if (_CalcBomViewAppService.SRMPRDtoList.Any())
             {
-                _CalcBomViewAppService.mordersInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId;s.create_time = DateTime.Now; });
-                moderlist = ObjectMapper.Map<List<mo_mes_morder>, List<mes_morder>>(_CalcBomViewAppService.mordersInsertList);
-                rtn.mordersList = _CalcBomViewAppService.mordersInsertList;
+                List<List<mo_srm_pr_main>> prlist = _CalcBomViewAppService.SRMPRDtoList.Where(f => f.srm_Pr_Main != null).Select(s => s.srm_Pr_Main).ToList();
 
-                List<RoutingOpDetail> allRoutings = _routingOpDetail.Select(p => moderlist.Select(m => m.product_code).Contains(p.RoutingCode));
-                //同步工单
-                CreateWorkOrdDates(moderlist, allRoutings, workOrds, workOrdRoutings, workOrdDetails);
+                foreach (var pr in prlist)
+                {
+                    foreach (var item in pr)
+                    {
+                        prmainlist.Add(item);
+                    }
+                }
+                rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
             }
+
             using (var unitOfWork = _unitOfWorkManager.Begin(false,true))
             {
                 try
                 {
                     await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
-                    //批量保存 后期考虑子工单
+                    /*//批量保存 后期考虑子工单
                     if (moderlist.Any())
                     {
                         await _mes_morder.InsertMany(_CalcBomViewAppService.mordersInsertList);
@@ -713,41 +757,49 @@ namespace Business.ResourceExamineManagement
                         {
                             _workOrdDetail.Insert(workOrdDetails);
                         }
+                    }*/
+                    if (_CalcBomViewAppService.mordersInsertList.Any())
+                    {
+                        await _mes_morder.InsertMany(_CalcBomViewAppService.mordersInsertList);
+                    }  
+                    if (prmainlist.Any())
+                    {
+                        await _srm_pr_main.InsertMany(prmainlist);
                     }
                     if (_CalcBomViewAppService.mooccupyAllInsertList.Any())
                     {
                         _CalcBomViewAppService.mooccupyAllInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
                         await _mes_mooccupy.InsertMany(_CalcBomViewAppService.mooccupyAllInsertList);
-                        var moOccupy = ObjectMapper.Map<List<mo_mes_mooccupy>, List<mes_mooccupy>>(_CalcBomViewAppService.mooccupyAllInsertList);
-                        _businessDbContext.BulkInsert(moOccupy);
+                        /*var moOccupy = ObjectMapper.Map<List<mo_mes_mooccupy>, List<mes_mooccupy>>(_CalcBomViewAppService.mooccupyAllInsertList);
+                        _businessDbContext.BulkInsert(moOccupy);*/
                         rtn.mooccupyAllList = _CalcBomViewAppService.mooccupyAllInsertList;
                     }
                     if (_CalcBomViewAppService.moentriesInsertList.Any())
                     {
                         _CalcBomViewAppService.moentriesInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
                         await _mes_moentry.InsertMany(_CalcBomViewAppService.moentriesInsertList);
-                        var mesmoentrys = ObjectMapper.Map<List<mo_mes_moentry>, List<mes_moentry>>(_CalcBomViewAppService.moentriesInsertList);
-                        _businessDbContext.BulkInsert(mesmoentrys);
+                        /*var mesmoentrys = ObjectMapper.Map<List<mo_mes_moentry>, List<mes_moentry>>(_CalcBomViewAppService.moentriesInsertList);
+                        _businessDbContext.BulkInsert(mesmoentrys);*/
                     }
                     if (_CalcBomViewAppService.orderList.Any())
                     {
                         _CalcBomViewAppService.orderList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
                         await _mes_oorder.InsertMany(_CalcBomViewAppService.orderList);
-                        var ooders = ObjectMapper.Map<List<mo_mes_oorder>, List<mes_oorder>>(_CalcBomViewAppService.orderList);
-                        _businessDbContext.BulkInsert(ooders);
+                        /*var ooders = ObjectMapper.Map<List<mo_mes_oorder>, List<mes_oorder>>(_CalcBomViewAppService.orderList);
+                        _businessDbContext.BulkInsert(ooders);*/
                         rtn.order_list = _CalcBomViewAppService.orderList;
                     }
-                    if (sklist.Any())
+                    if (_CalcBomViewAppService.newStockOccList.Any())
                     {
-                        sklist.ForEach(s => { s.id = help.NextId(); s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-                        await _ic_item_stockoccupy.InsertMany(sklist);
+                        _CalcBomViewAppService.newStockOccList.ForEach(s => { s.id = help.NextId(); s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
+                        await _ic_item_stockoccupy.InsertMany(_CalcBomViewAppService.newStockOccList);
                     }
                     if (_CalcBomViewAppService.srm_Po_OccupiesInsert.Any())
                     {
                         _CalcBomViewAppService.srm_Po_OccupiesInsert.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
                         await _srm_po_occupy.InsertMany(_CalcBomViewAppService.srm_Po_OccupiesInsert);
-                        var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(_CalcBomViewAppService.srm_Po_OccupiesInsert);
-                        _businessDbContext.BulkInsert(poOccupies);
+                        /*var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(_CalcBomViewAppService.srm_Po_OccupiesInsert);
+                        _businessDbContext.BulkInsert(poOccupies);*/
                     }
                     await unitOfWork.CompleteAsync();
                 }
@@ -758,198 +810,6 @@ namespace Business.ResourceExamineManagement
                     return e.Message;
                 };
             }
-            #region
-            //using (TransactionScope scope = new TransactionScope())
-            //{
-            //    try
-            //    {
-            //        await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
-            //        //批量保存 后期考虑子工单
-            //        if (moderlist.Any())
-            //        {
-            //            await _mes_morder.InsertMany(_CalcBomViewAppService.mordersInsertList);
-            //            _businessDbContext.BulkInsert(moderlist);
-            //            if (workOrds.Any())
-            //            {
-            //                _workOrdMaster.Insert(workOrds);
-            //            }
-            //            if (workOrdRoutings.Any())
-            //            {
-            //                _workOrdRouting.Insert(workOrdRoutings);
-            //            }
-            //            if (workOrdDetails.Any())
-            //            {
-            //                _workOrdDetail.Insert(workOrdDetails);
-            //            }
-            //        }
-            //        if (_CalcBomViewAppService.mooccupyAllInsertList.Any())
-            //        {
-            //            _CalcBomViewAppService.mooccupyAllInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-            //            await _mes_mooccupy.InsertMany(_CalcBomViewAppService.mooccupyAllInsertList);
-            //            var moOccupy = ObjectMapper.Map<List<mo_mes_mooccupy>, List<mes_mooccupy>>(_CalcBomViewAppService.mooccupyAllInsertList);
-            //            _businessDbContext.BulkInsert(moOccupy);
-            //            rtn.mooccupyAllList = _CalcBomViewAppService.mooccupyAllInsertList;
-            //        }
-            //        if (_CalcBomViewAppService.moentriesInsertList.Any())
-            //        {
-            //            _CalcBomViewAppService.moentriesInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-            //            await _mes_moentry.InsertMany(_CalcBomViewAppService.moentriesInsertList);
-            //            var mesmoentrys = ObjectMapper.Map<List<mo_mes_moentry>, List<mes_moentry>>(_CalcBomViewAppService.moentriesInsertList);
-            //            _businessDbContext.BulkInsert(mesmoentrys);
-            //        }
-            //        if (_CalcBomViewAppService.orderList.Any())
-            //        {
-            //            _CalcBomViewAppService.orderList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-            //            await _mes_oorder.InsertMany(_CalcBomViewAppService.orderList);
-            //            var ooders = ObjectMapper.Map<List<mo_mes_oorder>, List<mes_oorder>>(_CalcBomViewAppService.orderList);
-            //            _businessDbContext.BulkInsert(ooders);
-            //            rtn.order_list = _CalcBomViewAppService.orderList;
-            //        }
-            //        if (sklist.Any())
-            //        {
-            //            sklist.ForEach(s => { s.id = help.NextId(); s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-            //            await _ic_item_stockoccupy.InsertMany(sklist);
-            //        }
-            //        if (_CalcBomViewAppService.srm_Po_OccupiesInsert.Any())
-            //        {
-            //            _CalcBomViewAppService.srm_Po_OccupiesInsert.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-            //            await _srm_po_occupy.InsertMany(_CalcBomViewAppService.srm_Po_OccupiesInsert);
-            //            var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(_CalcBomViewAppService.srm_Po_OccupiesInsert);
-            //            _businessDbContext.BulkInsert(poOccupies);
-            //        }
-            //        scope.Complete();
-            //    }
-            //    catch (Exception e)
-            //    {
-            //        scope.Dispose();
-            //        new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "资源检查工单相关数据更新失败:" + e.Message, _currentTenant.Id.ToString());
-            //        return e.Message;
-            //    }
-            //}
-            #endregion
-            List<mo_srm_pr_main> prmainlist = new List<mo_srm_pr_main>();
-            if (_CalcBomViewAppService.SRMPRDtoList.Any())
-            {
-                List<List<mo_srm_pr_main>> prlist = _CalcBomViewAppService.SRMPRDtoList.Where(f => f.srm_Pr_Main != null).Select(s => s.srm_Pr_Main).ToList();
-                List<mo_srm_pr_main> list = new List<mo_srm_pr_main>();
-
-                foreach (var pr in prlist)
-                {
-                    foreach (var item in pr)
-                    {
-                        list.Add(item);
-                        prmainlist.Add(item);
-                    }
-                }
-                if (list.Any())
-                    rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
-            }
-            var itemsupplierList = _srm_supplier.Find(a => prmainlist.Select(i => i.pr_purchaseid).Contains(a.mysql_id) && a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
-            if (prmainlist.Any())
-            {
-                var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(prmainlist);
-                PoActionListDto poaction = new PoActionListDto();
-
-                AutoCreatePOFromPR(prmainlist, bangid, icitemlist, itemsupplierList, poaction);
-                using (var unitOfWork = _unitOfWorkManager.Begin(false,true))
-                {
-                    try
-                    {
-                        await _srm_pr_main.InsertMany(prmainlist);
-                        _businessDbContext.BulkInsert(pr_mainlist);
-                        if (poaction.mopoMain.Any())
-                        {
-                            await _srm_po_main.InsertMany(poaction.mopoMain);
-                        }
-                        if (poaction.mopolist.Any())
-                        {
-                            await _srm_po_list.InsertMany(poaction.mopolist);
-                        }
-                        if (poaction.poMain.Any())
-                        {
-                            _businessDbContext.BulkInsert(poaction.poMain);
-                        }
-                        if (poaction.polist.Any())
-                        {
-                            _businessDbContext.BulkInsert(poaction.polist);
-                        }
-                        if (poaction.poOccupiesList.Any())
-                        {
-                            var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(poaction.poOccupiesList);
-                            _businessDbContext.BulkInsert(poOccupies);
-                        }
-
-                        if (poaction.poMasterList.Any())
-                        {
-                            _purOrdMaster.Insert(poaction.poMasterList);
-                            //快开平台用自增列RecId关联,所以需要插入后再查给明细表赋相应的值
-                            List<string> nbrs = poaction.poMasterList.Select(a => a.PurOrd).ToList();
-                            var nbrList = _purOrdMaster.Select(a => a.Domain == "1001" && nbrs.Contains(a.PurOrd));
-                            poaction.poDetailList.ForEach(c =>
-                            {
-                                c.PurOrdRecID = nbrList.Where(a => a.PurOrd == c.PurOrd).First().RecID;
-                            });
-                            _purOrdDetail.Insert(poaction.poDetailList);
-                        }
-                        await unitOfWork.CompleteAsync();
-                    }
-                    catch (Exception e)
-                    {
-                        unitOfWork.Dispose();
-                        new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "资源检查PR/PO相关数据更新失败:" + e.Message, _currentTenant.Id.ToString());
-                        return e.Message;
-                    }
-                }
-                //using (TransactionScope scope = new TransactionScope())
-                //{
-                //    try
-                //    {
-                //        await _srm_pr_main.InsertMany(prmainlist);
-                //        _businessDbContext.BulkInsert(pr_mainlist);
-                //        if (poaction.mopoMain.Any())
-                //        {
-                //            await _srm_po_main.InsertMany(poaction.mopoMain);
-                //        }
-                //        if (poaction.mopolist.Any())
-                //        {
-                //            await _srm_po_list.InsertMany(poaction.mopolist);
-                //        }
-                //        if (poaction.poMain.Any())
-                //        {
-                //            _businessDbContext.BulkInsert(poaction.poMain);
-                //        }
-                //        if (poaction.polist.Any())
-                //        {
-                //            _businessDbContext.BulkInsert(poaction.polist);
-                //        }
-                //        if (poaction.poOccupiesList.Any())
-                //        {
-                //            var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(poaction.poOccupiesList);
-                //            _businessDbContext.BulkInsert(poOccupies);
-                //        }
-
-                //        if(poaction.poMasterList.Any())
-                //        {
-                //            _purOrdMaster.Insert(poaction.poMasterList);
-                //            //快开平台用自增列RecId关联,所以需要插入后再查给明细表赋相应的值
-                //            List<string> nbrs = poaction.poMasterList.Select(a => a.PurOrd).ToList();
-                //            var nbrList = _purOrdMaster.Select(a => a.Domain == "1001" && nbrs.Contains(a.PurOrd));
-                //            poaction.poDetailList.ForEach(c =>
-                //            {
-                //                c.PurOrdRecID = nbrList.Where(a => a.PurOrd == c.PurOrd).First().RecID;
-                //            });
-                //            _purOrdDetail.Insert(poaction.poDetailList);
-                //        }
-                //        scope.Complete();
-                //    }
-                //    catch (Exception e)
-                //    {
-                //        scope.Dispose();
-                //        new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "资源检查PR/PO相关数据更新失败:" + e.Message, _currentTenant.Id.ToString());
-                //        return e.Message;
-                //    }
-                //}
-            }
 
             rtn.examines = examines;
             rtn.item_stockoccupy_list = sklist;
@@ -1088,55 +948,218 @@ namespace Business.ResourceExamineManagement
                     return e.Message;
                 }
             }
-            #region
-            //using (TransactionScope scope = new TransactionScope())
-            //{
-            //    try
-            //    {
-            //        if (examineList.Any())
-            //        {
-            //            _businessBangDbContext.BulkInsert(examineList);
-            //        }
-            //        if (bomExamineList.Any())
-            //        {
-            //            _businessBangDbContext.BulkInsert(bomExamineList.OrderBy(s => s.num_order).ToList());
-            //        }
-            //        if (mooccupyList.Any())
-            //        {
-            //            _businessBangDbContext.BulkInsert(mooccupyList);
-            //        }
-            //        if (moorderList.Any())
-            //        {
-            //            _businessBangDbContext.BulkInsert(moorderList);
-            //        }
-            //        if (ooderList.Any())
-            //        {
-            //            _businessBangDbContext.BulkInsert(ooderList);
-            //        }
-            //        if (purchaseList.Any())
-            //        {
-            //            _businessBangDbContext.BulkInsert(purchaseList);
-            //        }
-            //        if (purchaseoccupyList.Any())
-            //        {
-            //            _businessBangDbContext.BulkInsert(purchaseoccupyList);
-            //        }
-            //        scope.Complete();
-            //    }
-            //    catch (Exception e)
-            //    {
-            //        new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "资源检查计算结果相关数据更新失败:" + e.Message, _currentTenant.Id.ToString());
-            //        scope.Dispose();
-            //        return e.Message;
-            //    }
-            //}
-            #endregion
             //清空快照数据
             await ClearSnapShot(bangid);
-            //return JsonConvert.SerializeObject(rtn);
             return JsonConvert.SerializeObject("ok");
         }
 
+        /// <summary>
+        /// 资源检查结果评审
+        /// </summary>
+        /// <param name="bangid"></param>
+        /// <param name="type">类型(0,销售订单 1,销售订单行)</param>
+        public async Task<string> ReviewExamineResult(string ids, int type)
+        {
+            if (string.IsNullOrEmpty(ids))
+            {
+                throw new NotImplementedException("订单号错误,请联系管理员!");
+            }
+            Array alist = ids.Split(',');
+
+            List<long> sorderId = new List<long>();
+            foreach (string longid in alist)
+            {
+                sorderId.Add(long.Parse(longid));
+            }
+            List<crm_seorder> sorders = new List<crm_seorder>();
+            List<crm_seorderentry> sentrys = new List<crm_seorderentry>();
+            if (type == 0)
+            {
+                //获取订单数据
+                sorders = _mysql_crm_seorder.GetListAsync(p => sorderId.Contains(p.Id) && !p.IsDeleted).Result;
+                if (!sorders.Any())
+                {
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单数据不存在", _currentTenant.Id.ToString());
+                    //throw new NotImplementedException("订单数据不存在!");
+                    return "订单数据不存在";
+                }
+
+                //获取订单行数据
+                sentrys = await _mysql_crm_seorderentry.GetListAsync(p => sorderId.Contains(p.seorder_id.GetValueOrDefault()) && !p.IsDeleted);
+                if (!sentrys.Any())
+                {
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单行数据不存在", _currentTenant.Id.ToString());
+                    //throw new NotImplementedException("订单行数据不存在!");
+                    return "订单行数据不存在";
+                }
+            }
+            else
+            {
+                //获取订单行数据
+                sentrys = await _mysql_crm_seorderentry.GetListAsync(p => sorderId.Contains(p.Id) && !p.IsDeleted);
+                if (!sentrys.Any())
+                {
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单行数据不存在", _currentTenant.Id.ToString());
+                    //throw new NotImplementedException("订单行数据不存在!");
+                    return "订单行数据不存在";
+                }
+                sorders = _mysql_crm_seorder.GetListAsync(p => sentrys.Select(s => s.seorder_id).Contains(p.Id) && !p.IsDeleted).Result;
+                if (!sorders.Any())
+                {
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单数据不存在", _currentTenant.Id.ToString());
+                    //throw new NotImplementedException("订单数据不存在!");
+                    return "订单数据不存在";
+                }
+            }
+
+            //获取订单行数据  progress == "2"已做检查但是未评审的订单行
+            sentrys = sentrys.Where(s => s.progress == "2").ToList();
+            if (!sentrys.Any())
+            {
+                new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单行数据不存在", _currentTenant.Id.ToString());
+                //throw new NotImplementedException("订单行数据不存在!");
+                return "没有需要评审的订单行数据";
+            }
+            List<long> seIds = sentrys.Select(s => s.Id).ToList();
+
+            //找到当前计算周期里工单
+            List<mo_mes_moentry> moentry = _mes_moentry.GetManyByCondition(x => seIds.Contains(x.soentry_id.Value)).Result;
+            List<mo_mes_morder> mordersList = _mes_morder.GetManyByCondition(x => moentry.Select(p => p.moentry_moid).ToList().Contains(x.mysql_id)).Result;
+
+            List<mo_mes_moentry> WriteMoentry = new List<mo_mes_moentry>();
+            List<mo_mes_morder> WriteMorder = new List<mo_mes_morder>();
+
+            //找最新计算结果
+            List<b_examine_result> exmlist = _mysql_examine_result.GetListAsync(s => seIds.Contains(s.sentry_id.GetValueOrDefault())).Result;
+            List<b_examine_result> exmResult = new List<b_examine_result>();
+            List<long> bangidList = new List<long>();
+
+            #region 回写工单
+            foreach (var se in sentrys)
+            {
+                var newExm = exmlist.Where(s => s.sentry_id == se.Id).OrderByDescending(p => p.create_time).FirstOrDefault();
+                if (newExm != null)
+                {
+                    se.progress = "3";
+                    se.sys_material_date = newExm.sys_material_date;
+                    se.sys_capacity_date = newExm.sys_capacity_date;
+                    //如果计算记录有工单id,则代表有生成工单,而不是占用计划工单
+                    if (newExm.morder_id.GetValueOrDefault() != 0)
+                    {
+                        var me = moentry.Find(s => s.soentry_id == se.Id && s.bang_id == newExm.bangid);
+                        if (me == null)
+                        {
+                            //补救场景,假设mongdb数据丢失,从一个json格式中获取数据
+                        }
+                        var mo = mordersList.Find(s => s.mysql_id == me.moentry_moid && s.bang_id == newExm.bangid);
+                        if (mo == null)
+                        {
+                            //补救场景,假设mongdb数据丢失,从一个json格式中获取数据
+                        }
+                        WriteMoentry.Add(me);
+                        WriteMorder.Add(mo);
+                    }
+                    exmResult.Add(newExm);
+                    bangidList.Add(newExm.bangid.GetValueOrDefault());
+                }
+            }
+            //如果已经回写,则不需要回写
+            List<mes_morder> dborders = _mysql_mes_morder.GetListAsync(x => WriteMorder.Select(c => c.mysql_id).Contains(x.Id)).Result;
+            //过滤掉已经回写的数据
+            WriteMorder = WriteMorder.Where(x => !dborders.Select(c => c.Id).Contains(x.mysql_id)).ToList();
+            #endregion
+
+            //批量保存 后期考虑子工单
+            List<mes_morder> moderlist = new List<mes_morder>();
+            List<WorkOrdMaster> workOrds = new List<WorkOrdMaster>();
+            List<WorkOrdRouting> workOrdRoutings = new List<WorkOrdRouting>();
+            List<WorkOrdDetail> workOrdDetails = new List<WorkOrdDetail>();
+            if (WriteMorder.Any())
+            {
+                WriteMorder.ForEach(s => { s.create_time = DateTime.Now; });
+                moderlist = ObjectMapper.Map<List<mo_mes_morder>, List<mes_morder>>(WriteMorder);
+
+                List<RoutingOpDetail> allRoutings = _routingOpDetail.Select(p => moderlist.Select(m => m.product_code).Contains(p.RoutingCode));
+                //同步工单
+                CreateWorkOrdDates(moderlist, allRoutings, workOrds, workOrdRoutings, workOrdDetails);
+            }
+            //当前订单号所关联的最新计算结果里的占用记录
+            List<mo_mes_mooccupy> mooccupyList = await _mes_mooccupy.GetManyByCondition(s => seIds.Contains(s.moo_id_billid.Value) && bangidList.Contains(s.bang_id.Value));
+            //委外工单计算记录
+            List<mo_mes_oorder> oorderList = await _mes_oorder.GetManyByCondition(s => seIds.Contains(s.sentry_id.Value) && bangidList.Contains(s.bang_id.Value));
+            //PO占用记录
+            List<mo_srm_po_occupy> po_occupy = await _srm_po_occupy.GetManyByCondition(s => seIds.Contains(s.eid.Value) && bangidList.Contains(s.bang_id.Value));
+            List<mo_srm_pr_main> prmainlist = await _srm_pr_main.GetManyByCondition(s => seIds.Contains(s.sentry_id.Value) && bangidList.Contains(s.bang_id.Value));
+
+            using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
+            {
+                try
+                {
+                    await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
+                    //批量保存 后期考虑子工单
+                    if (moderlist.Any())
+                    {
+                        _businessDbContext.BulkInsert(moderlist);
+                        if (workOrds.Any())
+                        {
+                            _workOrdMaster.Insert(workOrds);
+                        }
+                        if (workOrdRoutings.Any())
+                        {
+                            _workOrdRouting.Insert(workOrdRoutings);
+                        }
+                        if (workOrdDetails.Any())
+                        {
+                            _workOrdDetail.Insert(workOrdDetails);
+                        }
+                        if (WriteMoentry.Any())
+                        {
+                            var mesmoentrys = ObjectMapper.Map<List<mo_mes_moentry>, List<mes_moentry>>(WriteMoentry);
+                            _businessDbContext.BulkInsert(mesmoentrys);
+                        }
+                    }
+                    if (mooccupyList.Any())
+                    {
+                        mooccupyList.ForEach(s => { s.create_time = DateTime.Now; });
+                        var moOccupy = ObjectMapper.Map<List<mo_mes_mooccupy>, List<mes_mooccupy>>(mooccupyList);
+                        _businessDbContext.BulkInsert(moOccupy);
+                    }
+                    if (oorderList.Any())
+                    {
+                        oorderList.ForEach(s => { s.create_time = DateTime.Now; });
+                        var ooders = ObjectMapper.Map<List<mo_mes_oorder>, List<mes_oorder>>(oorderList);
+                        _businessDbContext.BulkInsert(ooders);
+                    }
+                    //沟通方老师与何腾,库存与库存占用,使用方老师得locationDetail和workorddetital 做需求数量和已发数量来实现库存占用和已扣减库存?
+                    /*if (sklist.Any())
+                    {
+                        sklist.ForEach(s => { s.id = help.NextId(); s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
+                        await _ic_item_stockoccupy.InsertMany(sklist);
+                    }*/
+                    if (po_occupy.Any())
+                    {
+                        po_occupy.ForEach(s => { s.create_time = DateTime.Now; });
+                        var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(po_occupy);
+                        _businessDbContext.BulkInsert(poOccupies);
+                    }
+                    if (prmainlist.Any())
+                    {
+                        var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(prmainlist);
+                        _businessDbContext.BulkInsert(pr_mainlist);
+                    }
+                    await unitOfWork.CompleteAsync();
+                }
+                catch (Exception e)
+                {
+                    unitOfWork.Dispose();
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReviewExamineResult", "资源检查评审数据更新失败:" + e.Message, _currentTenant.Id.ToString());
+                    return e.Message;
+                };
+            }
+
+            return "ok";
+        }
+
         /// <summary>
         /// 通过ic_bom获取工艺路径数据
         /// </summary>
@@ -1145,14 +1168,6 @@ namespace Business.ResourceExamineManagement
         public List<mo_mes_technique> GetMesTechniques(List<mo_ic_bom> ic_Boms)
         {
             List<mo_mes_technique> techniques = new List<mo_mes_technique>();
-            //foreach (var item in ic_Boms)
-            //{
-            //    mo_mes_technique entity = _mes_technique.Find(p => p.bom == item.bom_number && p.bomver == item.version && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.FirstOrDefault();
-            //    if (entity != null)
-            //    {
-            //        techniques.Add(entity);
-            //    }
-            //}
             var builder = Builders<mo_mes_technique>.Filter;
             var filters = new List<FilterDefinition<mo_mes_technique>>();
             ic_Boms?.ForEach(item =>
@@ -1350,10 +1365,10 @@ namespace Business.ResourceExamineManagement
             await _mes_mooccupy.Delete(p => p.bang_id == bangid);
 
             //清除工单主表
-            await _mes_morder.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 _mes_moentry.Delete(p => p.bang_id == bangid);
 
             //清除采购订单
             await _srm_po_main.Delete(p => p.bang_id == bangid);
@@ -1480,6 +1495,14 @@ namespace Business.ResourceExamineManagement
             DateTime supplierDate = DateTime.Now;
             foreach (mo_srm_pr_main item in list)
             {
+                mo_srm_po_occupy srm_Po_Occupy = new mo_srm_po_occupy();
+                srm_Po_Occupy.id = help.NextId();
+                srm_Po_Occupy.mysql_id = help.NextId();
+                srm_Po_Occupy.bang_id = bangid;
+                srm_Po_Occupy.morder_mo = item.pr_mono;
+                srm_Po_Occupy.qty = item.pr_aqty;
+                srm_Po_Occupy.eid = item.sentry_id;
+
                 if (item.pr_purchaseid != supplierId)
                 {
                     var itemsupplier = itemsupplierList.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == param.tenantId && a.factory_id == param.factoryId);
@@ -1547,6 +1570,12 @@ namespace Business.ResourceExamineManagement
                     podetail.stock_id = 1;
                     podetaillist.Add(podetail);
 
+                    srm_Po_Occupy.polist_id = podetail.mysql_id;
+                    srm_Po_Occupy.polist_row = podetail.polist_row;
+                    srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
+                    srm_Po_Occupy.stime = podetail.create_time;
+                    srm_Po_Occupy.etime = podetail.rarrdate;
+
                     supplierId = item.pr_purchaseid;
                     supplierDate = item.pr_rarrive_date.Value;
                 }
@@ -1566,6 +1595,12 @@ namespace Business.ResourceExamineManagement
                             detail[0].total_price = detail[0].total_price + item.pr_orderprice;
                             detail[0].plan_qty = detail[0].plan_qty + item.pr_aqty;
                             detail[0].rarrdate = item.pr_rarrive_date;
+
+                            srm_Po_Occupy.polist_id = detail[0].mysql_id;
+                            srm_Po_Occupy.polist_row = detail[0].polist_row;
+                            srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
+                            srm_Po_Occupy.stime = detail[0].create_time;
+                            srm_Po_Occupy.etime = detail[0].rarrdate;
                             pomain.po_total = pomain.po_total + item.pr_orderprice;
                         }
                         else
@@ -1601,9 +1636,15 @@ namespace Business.ResourceExamineManagement
                             podetail.bang_id = bangid;
                             podetaillist.Add(podetail);
                             podetail.stock_id = 1;
+
+                            srm_Po_Occupy.polist_id = podetail.mysql_id;
+                            srm_Po_Occupy.polist_row = podetail.polist_row;
+                            srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
+                            srm_Po_Occupy.stime = podetail.create_time;
+                            srm_Po_Occupy.etime = podetail.rarrdate;
+
                             pomain.po_total = pomain.po_total + item.pr_orderprice;
                         }
-
                     }
                     else
                     {
@@ -1673,35 +1714,16 @@ namespace Business.ResourceExamineManagement
                         podetail.stock_id = 1;
                         podetaillist.Add(podetail);
 
+                        srm_Po_Occupy.polist_id = podetail.mysql_id;
+                        srm_Po_Occupy.polist_row = podetail.polist_row;
+                        srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
+                        srm_Po_Occupy.stime = podetail.create_time;
+                        srm_Po_Occupy.etime = podetail.rarrdate;
+
                         supplierId = item.pr_purchaseid;
                         supplierDate = item.pr_rarrive_date.Value;
                     }
                 }
-            }
-
-            List<srm_po_main> po_mainlist = ObjectMapper.Map<List<mo_srm_po_main>, List<srm_po_main>>(polist);
-            var po_listlist = ObjectMapper.Map<List<mo_srm_po_list>, List<srm_po_list>>(podetaillist);
-
-            //生成mo_srm_po_occupy采购占用表数据。 
-            foreach (var pol in po_listlist)
-            {
-                mo_srm_po_occupy srm_Po_Occupy = new mo_srm_po_occupy();
-                srm_Po_Occupy.id = help.NextId();
-                srm_Po_Occupy.mysql_id = help.NextId();
-                srm_Po_Occupy.bang_id = bangid;
-                srm_Po_Occupy.polist_id = pol.Id;
-                srm_Po_Occupy.polist_row = pol.polist_row;
-                /*if (seorderentry != null)
-                {
-                    srm_Po_Occupy.eid = seorderentry.entry_seq.Value;
-                    srm_Po_Occupy.bill_no = seorderentry.seorder_id;
-                    srm_Po_Occupy.entry_id = seorderentry.entry_seq.GetValueOrDefault();
-                    srm_Po_Occupy.org_id = seorderentry.org_id;
-                }*/
-                srm_Po_Occupy.qty = pol.qty;
-                srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
-                srm_Po_Occupy.stime = pol.create_time;
-                srm_Po_Occupy.etime = pol.rarrdate;
                 srm_Po_Occupy.state = 1;
                 srm_Po_Occupy.tenant_id = param.tenantId;//取销售子表企业ID
                 srm_Po_Occupy.factory_id = param.factoryId;
@@ -1712,6 +1734,9 @@ namespace Business.ResourceExamineManagement
                 poaction.poOccupiesList.Add(srm_Po_Occupy);
             }
 
+            List<srm_po_main> po_mainlist = ObjectMapper.Map<List<mo_srm_po_main>, List<srm_po_main>>(polist);
+            var po_listlist = ObjectMapper.Map<List<mo_srm_po_list>, List<srm_po_list>>(podetaillist);
+
             poaction.poMain.AddRange(po_mainlist);
             poaction.polist.AddRange(po_listlist);
             poaction.mopoMain.AddRange(polist);
@@ -1774,6 +1799,14 @@ namespace Business.ResourceExamineManagement
             DateTime supplierDate = DateTime.Now;
             foreach (var item in list)
             {
+                mo_srm_po_occupy srm_Po_Occupy = new mo_srm_po_occupy();
+                srm_Po_Occupy.id = help.NextId();
+                srm_Po_Occupy.mysql_id = help.NextId();
+                srm_Po_Occupy.bang_id = bangid;
+                srm_Po_Occupy.morder_mo = item.pr_mono;
+                srm_Po_Occupy.qty = item.pr_aqty;
+                srm_Po_Occupy.eid = item.sentry_id;
+
                 if (item.pr_purchaseid != supplierId)
                 {
                     var itemsupplier = itemsupplierList.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == param.tenantId && a.factory_id == param.factoryId);
@@ -1841,6 +1874,12 @@ namespace Business.ResourceExamineManagement
                     podetail.stock_id = 1;
                     podetaillist.Add(podetail);
 
+                    srm_Po_Occupy.polist_id = podetail.mysql_id;
+                    srm_Po_Occupy.polist_row = podetail.polist_row;
+                    srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
+                    srm_Po_Occupy.stime = podetail.create_time;
+                    srm_Po_Occupy.etime = podetail.rarrdate;
+
                     supplierId = item.pr_purchaseid;
                     supplierDate = item.pr_rarrive_date.Value;
                 }
@@ -1861,6 +1900,12 @@ namespace Business.ResourceExamineManagement
                             detail[0].plan_qty = detail[0].plan_qty + item.pr_aqty;
                             detail[0].rarrdate = item.pr_rarrive_date;
                             pomain.po_total = pomain.po_total + item.pr_orderprice;
+
+                            srm_Po_Occupy.polist_id = detail[0].mysql_id;
+                            srm_Po_Occupy.polist_row = detail[0].polist_row;
+                            srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
+                            srm_Po_Occupy.stime = detail[0].create_time;
+                            srm_Po_Occupy.etime = detail[0].rarrdate;
                         }
                         else
                         {
@@ -1896,6 +1941,12 @@ namespace Business.ResourceExamineManagement
                             podetail.stock_id = 1;
                             podetaillist.Add(podetail);
                             pomain.po_total = pomain.po_total + item.pr_orderprice;
+
+                            srm_Po_Occupy.polist_id = podetail.mysql_id;
+                            srm_Po_Occupy.polist_row = podetail.polist_row;
+                            srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
+                            srm_Po_Occupy.stime = podetail.create_time;
+                            srm_Po_Occupy.etime = podetail.rarrdate;
                         }
 
                     }
@@ -1967,35 +2018,16 @@ namespace Business.ResourceExamineManagement
                         podetail.stock_id = 1;
                         podetaillist.Add(podetail);
 
+                        srm_Po_Occupy.polist_id = podetail.mysql_id;
+                        srm_Po_Occupy.polist_row = podetail.polist_row;
+                        srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
+                        srm_Po_Occupy.stime = podetail.create_time;
+                        srm_Po_Occupy.etime = podetail.rarrdate;
+
                         supplierId = item.pr_purchaseid;
                         supplierDate = item.pr_rarrive_date.Value;
                     }
                 }
-            }
-
-            List<srm_po_main> po_mainlist = ObjectMapper.Map<List<mo_srm_po_main>, List<srm_po_main>>(polist);
-            var po_listlist = ObjectMapper.Map<List<mo_srm_po_list>, List<srm_po_list>>(podetaillist);
-
-            //生成mo_srm_po_occupy采购占用表数据。 
-            foreach (var pol in po_listlist)
-            {
-                mo_srm_po_occupy srm_Po_Occupy = new mo_srm_po_occupy();
-                srm_Po_Occupy.id = help.NextId();
-                srm_Po_Occupy.mysql_id = help.NextId();
-                srm_Po_Occupy.bang_id = bangid;
-                srm_Po_Occupy.polist_id = pol.Id;
-                srm_Po_Occupy.polist_row = pol.polist_row;
-                /*if (seorderentry != null)
-                {
-                    srm_Po_Occupy.eid = seorderentry.entry_seq.Value;
-                    srm_Po_Occupy.bill_no = seorderentry.seorder_id;
-                    srm_Po_Occupy.entry_id = seorderentry.entry_seq.GetValueOrDefault();
-                    srm_Po_Occupy.org_id = seorderentry.org_id;
-                }*/
-                srm_Po_Occupy.qty = pol.qty;
-                srm_Po_Occupy.type = MorderEnum.Zyjc_Type;//TODO:类型未知
-                srm_Po_Occupy.stime = pol.create_time;
-                srm_Po_Occupy.etime = pol.rarrdate;
                 srm_Po_Occupy.state = 1;
                 srm_Po_Occupy.tenant_id = param.tenantId;//取销售子表企业ID
                 srm_Po_Occupy.factory_id = param.factoryId;
@@ -2006,6 +2038,9 @@ namespace Business.ResourceExamineManagement
                 poaction.poOccupiesList.Add(srm_Po_Occupy);
             }
 
+            List<srm_po_main> po_mainlist = ObjectMapper.Map<List<mo_srm_po_main>, List<srm_po_main>>(polist);
+            var po_listlist = ObjectMapper.Map<List<mo_srm_po_list>, List<srm_po_list>>(podetaillist);
+
             poaction.poMain.AddRange(po_mainlist);
             poaction.polist.AddRange(po_listlist);
             poaction.mopoMain.AddRange(polist);
@@ -2408,9 +2443,11 @@ namespace Business.ResourceExamineManagement
                     dtl.sentry_id = sentry.Id;
                     getBomList.ForEach(s => s.sentry_id = item.Id);
                 }
-
+                _CalcBomViewAppService.newStockOccList = new List<mo_ic_item_stockoccupy>();
+                _CalcBomViewAppService.mes_morder = item;
                 //库存初始化
                 _CalcBomViewAppService.BomStock(getBomList, stocklist, bangid);
+
                 //计算
                 _CalcBomViewAppService.CalcView(getBomList, bangid, item.need_number.GetValueOrDefault(), item.start_time, sklist, sentry, item.urgent, icitemlist);
 
@@ -2691,6 +2728,8 @@ namespace Business.ResourceExamineManagement
             var poOccupys = _srm_po_occupy.GetManyByCondition(x => poDetailList.Select(p => p.id).ToList().Contains(x.polist_id) && x.bang_id == bangid && !x.IsDeleted).Result;
             #endregion
 
+            //处理一下已经插入得占用记录
+            
             //物料库存
             stocklist.AddRange(_ic_item_stock.GetManyByCondition(p => p.factory_id == param.factoryId && p.bang_id == bangid && itemIds.Contains(p.icitem_id)).Result);
 

+ 25 - 2
MicroServices/Business/Business.Application/SyncDataManagement/SyncMySQLDataAppService.cs

@@ -150,7 +150,30 @@ namespace Business.SyncDataManagement
         /// <exception cref="NotImplementedException"></exception>
         public async void SyncBaseDataToMongoDB()
         {
-            //同步物料Bom数据
+            //同步物料数据
+            var icItems = _mysql_ic_item.GetListAsync().Result;
+            if (icItems.Count > 0)
+            {
+                //先清空表数据
+                await _ic_item.Delete(p => p.mysql_id != -1);
+                var moIcItems = ObjectMapper.Map<List<ic_item>, List<mo_ic_item>>(icItems);
+                moIcItems.ForEach(s => s.id = help.NextId());
+                //插入数据
+                await _ic_item.InsertMany(moIcItems);
+            }
+            /*//同步物料BOM明细数据
+            var icbom_childs = _mysql_ic_bom_child.GetListAsync().Result;
+            if (icbom_childs.Count > 0)
+            {
+                //先清空表数据
+                await _ic_bom_child.Delete(p => p.mysql_id != -1);
+                var moIcbom_childs = ObjectMapper.Map<List<ic_bom_child>, List<mo_ic_bom_child>>(icbom_childs);
+                moIcbom_childs.ForEach(s => s.id = help.NextId());
+                //插入数据
+                await _ic_bom_child.InsertMany(moIcbom_childs);
+            }*/
+
+            /*//同步物料Bom数据
             var icBoms = _mysql_ic_bom.GetListAsync().Result;
             if (icBoms.Count > 0)
             {
@@ -302,7 +325,7 @@ namespace Business.SyncDataManagement
                 var mosrm_purchase = ObjectMapper.Map<List<srm_purchase>, List<mo_srm_purchase>>(srm_purchase);
                 mosrm_purchase.ForEach(s => s.id = help.NextId());
                 await _srm_purchase.InsertMany(mosrm_purchase);
-            }
+            }*/
         }
     }
 }

+ 4560 - 0
MicroServices/Business/Business.Host/Migrations/20230615073830_addtable20230615.Designer.cs

@@ -0,0 +1,4560 @@
+// <auto-generated />
+using System;
+using Business.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Business.Migrations
+{
+    [DbContext(typeof(BusinessMigrationDbContext))]
+    [Migration("20230615073830_addtable20230615")]
+    partial class addtable20230615
+    {
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
+                .HasAnnotation("ProductVersion", "6.0.5")
+                .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+            modelBuilder.Entity("Business.Model.Bang.b_bom_pretreatment", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<int>("backflush")
+                        .HasColumnType("int")
+                        .HasComment("是否倒冲");
+
+                    b.Property<long?>("bom_child_id")
+                        .HasColumnType("bigint")
+                        .HasComment("bom明细主键");
+
+                    b.Property<long?>("bom_id")
+                        .HasColumnType("bigint")
+                        .HasComment("BOMid");
+
+                    b.Property<string>("bom_number")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("bom编号");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<int>("erp_cls")
+                        .HasColumnType("int")
+                        .HasComment("物料属性");
+
+                    b.Property<string>("erp_cls_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料属性名称");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long>("fid")
+                        .HasColumnType("bigint")
+                        .HasComment("本级id");
+
+                    b.Property<int>("haveicsubs")
+                        .HasColumnType("int")
+                        .HasComment("存在替代关系");
+
+                    b.Property<long?>("item_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("item_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("item_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料编号");
+
+                    b.Property<int>("level")
+                        .HasColumnType("int")
+                        .HasComment("level");
+
+                    b.Property<string>("model")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("规格型号");
+
+                    b.Property<string>("num")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("项次号");
+
+                    b.Property<long?>("num_order")
+                        .HasColumnType("bigint")
+                        .HasComment("供排序使用");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long?>("parent_id")
+                        .HasColumnType("bigint")
+                        .HasComment("父级");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("单位用量");
+
+                    b.Property<long>("sourceid")
+                        .HasColumnType("bigint")
+                        .HasComment("所属BOM");
+
+                    b.Property<string>("substitute_code")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("群组代码");
+
+                    b.Property<int>("substitute_mode")
+                        .HasColumnType("int")
+                        .HasComment("替代方式");
+
+                    b.Property<int>("substitute_strategy")
+                        .HasColumnType("int")
+                        .HasComment("替代策略");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<int>("type")
+                        .HasColumnType("int")
+                        .HasComment("类型");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<string>("version")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("版本");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("b_bom_pretreatment", (string)null);
+
+                    b.HasComment("Bom预处理");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_bom", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<DateTime?>("begin_day")
+                        .HasColumnType("datetime2")
+                        .HasComment("生效日期");
+
+                    b.Property<string>("biller")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("图片");
+
+                    b.Property<int?>("bom_num")
+                        .HasColumnType("int")
+                        .HasComment("序号");
+
+                    b.Property<string>("bom_number")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("bom单编号");
+
+                    b.Property<string>("chartnumber")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("图表编号");
+
+                    b.Property<DateTime?>("check_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("检验时间");
+
+                    b.Property<string>("checker")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("检验人");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<DateTime?>("end_day")
+                        .HasColumnType("datetime2")
+                        .HasComment("失效日期");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long>("icitem_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("item_name")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("item_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料代码");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("product_designer")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("产品设计员");
+
+                    b.Property<string>("product_principal")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("生产负责人");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<DateTime?>("use_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("bom创建时间");
+
+                    b.Property<int?>("use_status")
+                        .HasColumnType("int")
+                        .HasComment("使用状态");
+
+                    b.Property<string>("user")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("bom创建人");
+
+                    b.Property<string>("version")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("版本");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_number", "item_number", "version", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_bom", (string)null);
+
+                    b.HasComment("物料BOM");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_bom_child", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<int?>("backflush")
+                        .HasColumnType("int")
+                        .HasComment("是否倒冲");
+
+                    b.Property<DateTime?>("begin_day")
+                        .HasColumnType("datetime2")
+                        .HasComment("生效日期");
+
+                    b.Property<long?>("bom_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("bom主键");
+
+                    b.Property<string>("bom_number")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("bom单编号");
+
+                    b.Property<int?>("child_num")
+                        .HasColumnType("int")
+                        .HasComment("序号");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<DateTime?>("end_day")
+                        .HasColumnType("datetime2")
+                        .HasComment("失效日期");
+
+                    b.Property<int?>("entryid")
+                        .HasColumnType("int")
+                        .HasComment("顺序号");
+
+                    b.Property<int?>("erp_cls")
+                        .HasColumnType("int")
+                        .HasComment("物料属性");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<int?>("haveicsubs")
+                        .HasColumnType("int")
+                        .HasComment("存在替代关系");
+
+                    b.Property<long?>("icitem_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("icitem_ids")
+                        .HasMaxLength(2000)
+                        .HasColumnType("nvarchar(2000)")
+                        .HasComment("组合模式");
+
+                    b.Property<int?>("is_bom")
+                        .HasColumnType("int")
+                        .HasComment("是否是BOM");
+
+                    b.Property<int?>("is_replace")
+                        .HasColumnType("int")
+                        .HasComment("是否群组替代");
+
+                    b.Property<int?>("iskeyitem")
+                        .HasColumnType("int")
+                        .HasComment("是否关键件");
+
+                    b.Property<string>("item_name")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("item_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料代码");
+
+                    b.Property<string>("note")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .HasComment("备注");
+
+                    b.Property<DateTime?>("op_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("操作时间");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("用量");
+
+                    b.Property<decimal?>("scrap")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("损耗率");
+
+                    b.Property<string>("substitute_code")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("群组代码");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<int?>("type")
+                        .HasColumnType("int")
+                        .HasComment("物料类型");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<int?>("use_status")
+                        .HasColumnType("int")
+                        .HasComment("使用状态");
+
+                    b.Property<string>("version")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("版本");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_id", "bom_number", "item_number", "version", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_bom_child", (string)null);
+
+                    b.HasComment("物料BOM明细");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_item", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<decimal?>("Shipping_date")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("发运提前期");
+
+                    b.Property<decimal?>("Warehousing_date")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("入库提前期");
+
+                    b.Property<string>("abc")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("ABC分类");
+
+                    b.Property<int?>("allowbatch")
+                        .HasColumnType("int")
+                        .HasComment("批号管理");
+
+                    b.Property<int?>("allowmanu")
+                        .HasColumnType("int")
+                        .HasComment("允许生产");
+
+                    b.Property<int?>("allowout")
+                        .HasColumnType("int")
+                        .HasComment("允许委外");
+
+                    b.Property<int?>("allowpur")
+                        .HasColumnType("int")
+                        .HasComment("允许采购");
+
+                    b.Property<int?>("allowsale")
+                        .HasColumnType("int")
+                        .HasComment("允许销售");
+
+                    b.Property<int?>("allowserial")
+                        .HasColumnType("int")
+                        .HasComment("序列号管理");
+
+                    b.Property<decimal?>("bat_change_economy")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("变动提前期批量");
+
+                    b.Property<int>("batch_manager")
+                        .HasColumnType("int")
+                        .HasComment("是否采用业务批次管理");
+
+                    b.Property<string>("box_model")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("盒贴规格");
+
+                    b.Property<string>("chart_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("图号");
+
+                    b.Property<decimal?>("clean_leadtime")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("预处理提前期");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<string>("cubic_measure")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("长度单位");
+
+                    b.Property<int?>("enable_warning")
+                        .HasColumnType("int")
+                        .HasComment("启用预警");
+
+                    b.Property<int?>("erp_cls")
+                        .HasColumnType("int")
+                        .HasComment("物料属性");
+
+                    b.Property<string>("erp_cls_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料属性");
+
+                    b.Property<string>("erp_oldnumber")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("erp旧料号");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<decimal?>("fix_leadtime")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("固定提前期(天)");
+
+                    b.Property<string>("fmr")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("FMR分类");
+
+                    b.Property<string>("fms_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("fms旧料号");
+
+                    b.Property<string>("full_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("全名");
+
+                    b.Property<string>("fversion")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("版本号");
+
+                    b.Property<decimal?>("gross_weight")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("毛重");
+
+                    b.Property<decimal?>("height")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("高度");
+
+                    b.Property<int?>("is_clean")
+                        .HasColumnType("int")
+                        .HasComment("是否备料前预处理");
+
+                    b.Property<int?>("is_equipment")
+                        .HasColumnType("int")
+                        .HasComment("是否为设备");
+
+                    b.Property<int?>("isbackflush")
+                        .HasColumnType("int")
+                        .HasComment("是否倒冲");
+
+                    b.Property<int?>("isfixedreorder")
+                        .HasColumnType("int")
+                        .HasComment("设置为固定再订货点");
+
+                    b.Property<int?>("iskeyitem")
+                        .HasColumnType("int")
+                        .HasComment("是否关键件");
+
+                    b.Property<long?>("item_level")
+                        .HasColumnType("bigint")
+                        .HasComment("物料等级");
+
+                    b.Property<decimal?>("lead_time")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("变动提前期");
+
+                    b.Property<decimal?>("length")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("长度");
+
+                    b.Property<int?>("life_state")
+                        .HasColumnType("int")
+                        .HasComment("生命周期状态");
+
+                    b.Property<decimal?>("maq")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("最大生产批量");
+
+                    b.Property<string>("maund")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("重量单位");
+
+                    b.Property<decimal?>("minorderqty")
+                        .IsRequired()
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("最小订单量");
+
+                    b.Property<decimal?>("minpackqty")
+                        .IsRequired()
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("最小包装量");
+
+                    b.Property<string>("model")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("规格型号");
+
+                    b.Property<decimal?>("moq")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("经济生产批量");
+
+                    b.Property<string>("name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料名称");
+
+                    b.Property<decimal?>("net_weight")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("净重");
+
+                    b.Property<string>("number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料编码");
+
+                    b.Property<decimal?>("order_inter_val")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("订货间隔期_天");
+
+                    b.Property<decimal?>("order_leadtime")
+                        .IsRequired()
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("下单前置期_天");
+
+                    b.Property<decimal?>("order_point")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("再订货点");
+
+                    b.Property<int?>("order_trategy")
+                        .HasColumnType("int")
+                        .HasComment("订货策略");
+
+                    b.Property<decimal?>("ordissu_days")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("工单发料时间/天");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long?>("output_type_id")
+                        .HasColumnType("bigint")
+                        .HasComment("出库类型");
+
+                    b.Property<string>("photo")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("图片");
+
+                    b.Property<long?>("picktype")
+                        .HasColumnType("bigint")
+                        .HasComment("领料类型");
+
+                    b.Property<int?>("plan_trategy")
+                        .HasColumnType("int")
+                        .HasComment("计划策略");
+
+                    b.Property<string>("product_line")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("产品线");
+
+                    b.Property<decimal?>("production_leadtime")
+                        .IsRequired()
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("生产中提前期_天");
+
+                    b.Property<int?>("put_integer")
+                        .HasColumnType("int")
+                        .HasComment("投料自动取整");
+
+                    b.Property<decimal?>("secinv")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("安全库存数量");
+
+                    b.Property<decimal?>("secinv_ratio")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("安全库存触发采购比例");
+
+                    b.Property<decimal?>("self_inspection_date")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("自检提前期");
+
+                    b.Property<decimal?>("size")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("体积");
+
+                    b.Property<string>("source")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("来源");
+
+                    b.Property<decimal?>("standard_manhour")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("单位标准工时_小时");
+
+                    b.Property<decimal?>("standard_period")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("标准工期");
+
+                    b.Property<decimal?>("sterilize_leadtime")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("工序委外提前期");
+
+                    b.Property<decimal?>("stock_leadtime")
+                        .IsRequired()
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("仓库中提前期_天");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<decimal?>("total_tqq")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("累计提前期");
+
+                    b.Property<decimal?>("transfer_leadtime")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("平台调拨提前期");
+
+                    b.Property<decimal?>("transportation_leadtime")
+                        .IsRequired()
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("运输中提前期_天");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("单位");
+
+                    b.Property<decimal?>("unit_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("单位包装数量");
+
+                    b.Property<decimal?>("unititem_amount")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("单位材料定额_元");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<decimal?>("width")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("宽度");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("number", "name", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_item", (string)null);
+
+                    b.HasComment("物料详情");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_item_inventory", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<decimal?>("bal")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("金额");
+
+                    b.Property<string>("batch_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("批次号");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long>("icitem_stock_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料库存主键");
+
+                    b.Property<DateTime?>("kf_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("保质期时间");
+
+                    b.Property<decimal?>("kf_period")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("保质期时长");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("数量");
+
+                    b.Property<decimal?>("qty_lock")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("锁定库存");
+
+                    b.Property<DateTime?>("rq")
+                        .HasColumnType("datetime2")
+                        .HasComment("日期");
+
+                    b.Property<decimal?>("sec_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("安全库存");
+
+                    b.Property<long>("stock_id")
+                        .HasColumnType("bigint")
+                        .HasComment("仓库id");
+
+                    b.Property<string>("stock_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("仓库名称");
+
+                    b.Property<string>("stock_place_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("库位编码");
+
+                    b.Property<long>("stock_place_id")
+                        .HasColumnType("bigint")
+                        .HasComment("库位id");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("stock_id", "stock_place_id", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_item_inventory", (string)null);
+
+                    b.HasComment("物料库存明细表");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_item_stock", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<string>("factory_fode")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("工厂编码");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long>("icitem_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("icitem_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料名称");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("quantity_in_transit")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("调拨在途数量");
+
+                    b.Property<decimal?>("sqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("物料库存量");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("icitem_id", "icitem_name", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_item_stock", (string)null);
+
+                    b.HasComment("物料库存表");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_substitute", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("substitute_code")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("群组代码");
+
+                    b.Property<int?>("substitute_mode")
+                        .HasColumnType("int")
+                        .HasComment("替代方式");
+
+                    b.Property<int?>("substitute_strategy")
+                        .HasColumnType("int")
+                        .HasComment("替代策略");
+
+                    b.Property<int?>("substitute_type")
+                        .HasColumnType("int")
+                        .HasComment("替代类型");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("substitute_code", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_substitute", (string)null);
+
+                    b.HasComment("替代群组");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_substitute_group", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<int?>("main_material")
+                        .HasColumnType("int")
+                        .HasComment("主料/替代料");
+
+                    b.Property<int?>("order_num")
+                        .HasColumnType("int")
+                        .HasComment("群组优先级");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("product_line")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("产品线");
+
+                    b.Property<string>("replace_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("替代名称");
+
+                    b.Property<string>("replace_relation")
+                        .HasMaxLength(2000)
+                        .HasColumnType("nvarchar(2000)")
+                        .HasComment("替代关系");
+
+                    b.Property<string>("replace_way")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("替代方式");
+
+                    b.Property<string>("substitute_code")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("群组代码");
+
+                    b.Property<long>("substitute_group_id")
+                        .HasColumnType("bigint")
+                        .HasComment("群组主键");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<string>("use_model")
+                        .HasMaxLength(5000)
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("使用机型");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("substitute_code", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_substitute_group", (string)null);
+
+                    b.HasComment("物料替代多群组");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_substitute_group_detail", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long>("icitem_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料主键");
+
+                    b.Property<string>("icitem_number")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("物料编码");
+
+                    b.Property<int?>("ismain")
+                        .HasColumnType("int")
+                        .HasComment("主/替");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("replace_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("替代数量");
+
+                    b.Property<int?>("seq")
+                        .HasColumnType("int")
+                        .HasComment("序号");
+
+                    b.Property<string>("substitute_code")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("群组代码");
+
+                    b.Property<long>("substitute_group_id")
+                        .HasColumnType("bigint")
+                        .HasComment("替代多群组主键");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("substitute_code", "icitem_number", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_substitute_group_detail", (string)null);
+
+                    b.HasComment("物料替代多群组明细");
+                });
+
+            modelBuilder.Entity("Business.Model.Production.mes_moentry", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("fbill_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("订单编号");
+
+                    b.Property<long?>("fentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("订单行号");
+
+                    b.Property<long?>("moentry_moid")
+                        .HasColumnType("bigint")
+                        .HasComment("工单主表id");
+
+                    b.Property<string>("moentry_mono")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("工单编号");
+
+                    b.Property<decimal?>("morder_production_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("工单生产数量(计划数量)");
+
+                    b.Property<decimal?>("need_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("需求数量");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("remaining_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("剩余可用数量");
+
+                    b.Property<long?>("soentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("订单行id");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("moentry_moid", "moentry_mono", "tenant_id", "factory_id");
+
+                    b.ToTable("mes_moentry", (string)null);
+
+                    b.HasComment("生成工单子表");
+                });
+
+            modelBuilder.Entity("Business.Model.Production.mes_mooccupy", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("fbill_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("订单号");
+
+                    b.Property<long?>("fentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("行号");
+
+                    b.Property<string>("fitem_name")
+                        .IsRequired()
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("fitem_number")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("物料编码");
+
+                    b.Property<string>("fmodel")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("规格型号");
+
+                    b.Property<string>("moo_cbr")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("变更人");
+
+                    b.Property<string>("moo_creason")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("变更原因");
+
+                    b.Property<DateTime?>("moo_ctime")
+                        .HasColumnType("datetime2")
+                        .HasComment("变更时间");
+
+                    b.Property<DateTime?>("moo_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("结束时间");
+
+                    b.Property<long?>("moo_id_billid")
+                        .HasColumnType("bigint")
+                        .HasComment("订单id");
+
+                    b.Property<string>("moo_id_type")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("类型--原始,分配");
+
+                    b.Property<string>("moo_mo")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("工单号");
+
+                    b.Property<long?>("moo_moid")
+                        .HasColumnType("bigint")
+                        .HasComment("工单id");
+
+                    b.Property<decimal?>("moo_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("占用量");
+
+                    b.Property<int?>("moo_state")
+                        .HasColumnType("int")
+                        .HasComment("占用状态-1占用  默认0");
+
+                    b.Property<DateTime?>("moo_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("开始时间");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("moo_id_billid", "tenant_id", "factory_id");
+
+                    b.ToTable("mes_mooccupy", (string)null);
+
+                    b.HasComment("在制工单占用记录表");
+                });
+
+            modelBuilder.Entity("Business.Model.Production.mes_morder", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("bom_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("bom编码");
+
+                    b.Property<DateTime?>("convey_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("下达日期");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("fmodel")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("规格型号");
+
+                    b.Property<string>("fms_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("fms旧料号");
+
+                    b.Property<decimal?>("inspection_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("报检数量");
+
+                    b.Property<decimal?>("inventory_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("入库数量");
+
+                    b.Property<DateTime?>("mat_end_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("基于物料结束时间");
+
+                    b.Property<DateTime?>("mat_start_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("基于物料开始时间");
+
+                    b.Property<DateTime?>("moentry_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("生产工单结束日期");
+
+                    b.Property<long?>("moentry_prd")
+                        .HasColumnType("bigint")
+                        .HasComment("生产组织id");
+
+                    b.Property<string>("moentry_prdname")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产组织名称");
+
+                    b.Property<int?>("moentry_startup_status")
+                        .HasColumnType("int")
+                        .HasComment("启动状态");
+
+                    b.Property<DateTime?>("moentry_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("生产工单开始日期");
+
+                    b.Property<DateTime?>("moentry_sys_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("系统建议完工时间");
+
+                    b.Property<DateTime?>("moentry_sys_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("系统建议开工时间");
+
+                    b.Property<long?>("moentry_wrkc")
+                        .HasColumnType("bigint")
+                        .HasComment("工作中心id");
+
+                    b.Property<string>("moentry_wrkcname")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("工作中心名称");
+
+                    b.Property<string>("morder_batchno")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("工单批号--(批号管理的物料出入库要使用)");
+
+                    b.Property<DateTime?>("morder_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("生产工单日期");
+
+                    b.Property<string>("morder_fstate")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("前状态--计划、下达、完成、关闭");
+
+                    b.Property<string>("morder_icitem_type")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("工单所属物料类型");
+
+                    b.Property<decimal?>("morder_need_time")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("工单所需工时");
+
+                    b.Property<string>("morder_no")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产工单编号");
+
+                    b.Property<decimal?>("morder_production_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("工单生产数量(计划数量)");
+
+                    b.Property<string>("morder_progress")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .HasComment("工单进度");
+
+                    b.Property<string>("morder_state")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产工单状态(订单状态:初始,下达,暂停、完成)");
+
+                    b.Property<string>("morder_type")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产工单类型(类型:计划工单、销售工单、委外工单、预测工单)");
+
+                    b.Property<decimal?>("need_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("需求数量");
+
+                    b.Property<decimal?>("notice_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("已开入库通知单数量");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("overdue_Remark")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("逾期原因备注");
+
+                    b.Property<long?>("parent_id")
+                        .HasColumnType("bigint")
+                        .HasComment("上级工单id");
+
+                    b.Property<DateTime?>("pause_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("最近暂停时间");
+
+                    b.Property<decimal?>("picking_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("已领料数量");
+
+                    b.Property<DateTime?>("planner_end_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划员设定结束时间");
+
+                    b.Property<string>("planner_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("计划员名称");
+
+                    b.Property<string>("planner_num")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("计划员工号");
+
+                    b.Property<DateTime?>("planner_start_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划员设定开始时间");
+
+                    b.Property<string>("product_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("产品代码");
+
+                    b.Property<string>("product_name")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("产品名称");
+
+                    b.Property<string>("project_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("项目名称");
+
+                    b.Property<decimal?>("qualified_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("合格数量");
+
+                    b.Property<DateTime?>("reality_end_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("实际结束时间");
+
+                    b.Property<DateTime?>("reality_start_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("实际开始时间");
+
+                    b.Property<long?>("relation_moid")
+                        .HasColumnType("bigint")
+                        .HasComment("关联工单id");
+
+                    b.Property<string>("relation_mono")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("关联编号");
+
+                    b.Property<decimal?>("remaining_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("剩余可用数量");
+
+                    b.Property<DateTime?>("restart_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("最近重启时间");
+
+                    b.Property<DateTime?>("start_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("开始时间");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<int>("urgent")
+                        .HasColumnType("int")
+                        .HasComment("加急级别");
+
+                    b.Property<decimal?>("work_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("报工数量");
+
+                    b.Property<string>("work_order_type")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("工单类型(类型:发货工单、试产工单、备库工单、常规工单、返工工单)");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("morder_no", "tenant_id", "factory_id");
+
+                    b.ToTable("mes_morder", (string)null);
+
+                    b.HasComment("工单主表");
+                });
+
+            modelBuilder.Entity("Business.Model.Production.mes_oorder", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("bom_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("bom编码");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("ffms_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("fms旧料号");
+
+                    b.Property<decimal?>("inspection_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("报检数量");
+
+                    b.Property<decimal?>("inventory_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("入库数量");
+
+                    b.Property<int?>("moentry_on")
+                        .HasColumnType("int")
+                        .HasComment("启动状态");
+
+                    b.Property<decimal?>("morder_production_number")
+                        .HasPrecision(20, 10)
+                        .HasColumnType("decimal(20,10)")
+                        .HasComment("工单生产数量(计划数量)");
+
+                    b.Property<string>("morder_progress")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("工单进度");
+
+                    b.Property<int?>("need_icitem_status")
+                        .HasColumnType("int")
+                        .HasComment("所需物料是否充足  1-充足 0-缺料");
+
+                    b.Property<decimal?>("need_number")
+                        .HasPrecision(20, 10)
+                        .HasColumnType("decimal(20,10)")
+                        .HasComment("需求数量");
+
+                    b.Property<decimal?>("notice_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("已开通知单数量");
+
+                    b.Property<DateTime?>("ooentry_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划完工日期");
+
+                    b.Property<long?>("ooentry_prd")
+                        .HasColumnType("bigint")
+                        .HasComment("生产组织");
+
+                    b.Property<string>("ooentry_prdname")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产组织名称");
+
+                    b.Property<DateTime?>("ooentry_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划开工日期");
+
+                    b.Property<long?>("ooentry_wrkc")
+                        .HasColumnType("bigint")
+                        .HasComment("工作中心id");
+
+                    b.Property<string>("ooentry_wrkcname")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("工作中心名称");
+
+                    b.Property<DateTime?>("oorder_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("委外订单日期");
+
+                    b.Property<string>("oorder_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产工单编号");
+
+                    b.Property<string>("oorder_state")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("订单状态");
+
+                    b.Property<string>("oorder_type")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("生产工单类型");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<DateTime?>("pause_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("最近暂停时间");
+
+                    b.Property<string>("planner_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("计划员名称");
+
+                    b.Property<string>("planner_num")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("计划员工号");
+
+                    b.Property<string>("product_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("产品代码");
+
+                    b.Property<string>("product_name")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("产品名称");
+
+                    b.Property<string>("production_unit")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("加工单位");
+
+                    b.Property<string>("production_unit_code")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("加工单位编码");
+
+                    b.Property<string>("project_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("项目名称");
+
+                    b.Property<decimal?>("qualified_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("合格数量");
+
+                    b.Property<decimal?>("remaining_number")
+                        .HasPrecision(20, 10)
+                        .HasColumnType("decimal(20,10)")
+                        .HasComment("剩余可用数量");
+
+                    b.Property<DateTime?>("restart_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("最近重启时间");
+
+                    b.Property<int?>("sent_status")
+                        .HasColumnType("int")
+                        .HasComment("发料状态 1-待发料  2-已发料");
+
+                    b.Property<long?>("sentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("订单行id");
+
+                    b.Property<string>("specification_model")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("规格型号");
+
+                    b.Property<DateTime?>("start_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("开始时间");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<decimal?>("work_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("报工数量");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("mes_oorder", (string)null);
+
+                    b.HasComment("委外订单表");
+                });
+
+            modelBuilder.Entity("Business.Model.Production.mes_stockoccupy", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("fbill_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("订单编号");
+
+                    b.Property<long?>("fentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("订单行号");
+
+                    b.Property<string>("fitem_name")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("fitem_number")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("物料编码");
+
+                    b.Property<string>("fmodel")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("规格型号");
+
+                    b.Property<decimal?>("occupyqty")
+                        .HasPrecision(20, 2)
+                        .HasColumnType("decimal(20,2)")
+                        .HasComment("占用量");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("soccupy_cby")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("变更人");
+
+                    b.Property<string>("soccupy_creason")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("变更原因");
+
+                    b.Property<DateTime?>("soccupy_ctime")
+                        .HasColumnType("datetime2")
+                        .HasComment("变更时间");
+
+                    b.Property<DateTime?>("soccupy_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("结束时间");
+
+                    b.Property<string>("soccupy_state")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("占用状态");
+
+                    b.Property<DateTime?>("soccupy_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("开始时间");
+
+                    b.Property<string>("soccupy_type")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("类型");
+
+                    b.Property<long?>("soentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("订单行id");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<long>("warehouse_id")
+                        .HasColumnType("bigint")
+                        .HasComment("仓库id");
+
+                    b.Property<string>("warehouse_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("仓库名称");
+
+                    b.Property<string>("warehouse_type")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("仓库类型");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("fbill_no", "fitem_number", "tenant_id", "factory_id");
+
+                    b.ToTable("mes_stockoccupy", (string)null);
+
+                    b.HasComment("成品库存占用表");
+                });
+
+            modelBuilder.Entity("Business.Model.Sale.crm_customer", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("address")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("地址");
+
+                    b.Property<int?>("carrying_aos")
+                        .IsRequired()
+                        .HasColumnType("int")
+                        .HasComment("默认运输提前期_天");
+
+                    b.Property<string>("city")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("城市");
+
+                    b.Property<string>("contact")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("联系人");
+
+                    b.Property<string>("corperate")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("法人代表");
+
+                    b.Property<string>("country")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("国别地区");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<string>("currency")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("结算币种");
+
+                    b.Property<string>("cust_group_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("客户分组名称");
+
+                    b.Property<string>("cust_group_number")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("客户分组编号");
+
+                    b.Property<string>("cust_type")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("客户类别");
+
+                    b.Property<string>("cust_type_number")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("客户类别编码");
+
+                    b.Property<int?>("customer_level")
+                        .HasMaxLength(255)
+                        .HasColumnType("int")
+                        .HasComment("客户级别");
+
+                    b.Property<string>("customer_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("客户名称");
+
+                    b.Property<string>("customer_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("客户编号");
+
+                    b.Property<string>("email")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("邮件地址");
+
+                    b.Property<string>("employee_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("专营业务员");
+
+                    b.Property<string>("employee_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("专营业务员_工号");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("mobile")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("手机号码");
+
+                    b.Property<DateTime?>("op_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("操作时间");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("post_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("邮政编码");
+
+                    b.Property<string>("province")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("省份");
+
+                    b.Property<string>("region")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("区");
+
+                    b.Property<string>("sale_mode")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("销售模式");
+
+                    b.Property<string>("short_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("客户简称");
+
+                    b.Property<string>("short_number")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("客户简码");
+
+                    b.Property<string>("state")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("状态");
+
+                    b.Property<string>("telephone")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("电话号码");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<decimal?>("value_add_rate")
+                        .HasPrecision(18, 10)
+                        .HasColumnType("decimal(18,10)")
+                        .HasComment("增值税率");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("customer_no", "tenant_id", "factory_id");
+
+                    b.ToTable("crm_customer", (string)null);
+
+                    b.HasComment("客户");
+                });
+
+            modelBuilder.Entity("Business.Model.Sale.crm_seorder", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<DateTime?>("audit_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("审核日期");
+
+                    b.Property<string>("auditor")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("审核人");
+
+                    b.Property<string>("bill_from")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("订单来源");
+
+                    b.Property<string>("bill_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("订单编号");
+
+                    b.Property<string>("biller")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("制单人");
+
+                    b.Property<bool>("closed")
+                        .HasColumnType("bit")
+                        .HasComment("是否关闭1关闭0未关闭");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<long?>("create_dept")
+                        .HasColumnType("bigint")
+                        .HasComment("创建部门id");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<int?>("currency")
+                        .HasMaxLength(50)
+                        .HasColumnType("int")
+                        .HasComment("币种");
+
+                    b.Property<int?>("custom_id")
+                        .HasColumnType("int")
+                        .HasComment("客户id");
+
+                    b.Property<int?>("custom_level")
+                        .HasMaxLength(80)
+                        .HasColumnType("int")
+                        .HasComment("客户级别");
+
+                    b.Property<string>("custom_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("客户名称");
+
+                    b.Property<string>("custom_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("客户编码");
+
+                    b.Property<DateTime?>("date")
+                        .HasColumnType("datetime2")
+                        .HasComment("签订日期");
+
+                    b.Property<string>("emp_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("业务员名称");
+
+                    b.Property<string>("emp_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("业务员工号");
+
+                    b.Property<decimal?>("exchange_rate")
+                        .HasPrecision(20, 8)
+                        .HasColumnType("decimal(20,8)")
+                        .HasComment("汇率");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<DateTime?>("op_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("操作时间");
+
+                    b.Property<int?>("order_type")
+                        .HasColumnType("int")
+                        .HasComment("订单类别(销售、计划)");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<int?>("out_stock_type")
+                        .HasColumnType("int")
+                        .HasComment("销售出库类型");
+
+                    b.Property<string>("project_code")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("项目编号");
+
+                    b.Property<string>("project_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("项目名称");
+
+                    b.Property<DateTime?>("rdate")
+                        .HasColumnType("datetime2")
+                        .HasComment("采购下单日期");
+
+                    b.Property<string>("sale_dept_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("销售部门编号");
+
+                    b.Property<long?>("sale_dept_id")
+                        .HasColumnType("bigint")
+                        .HasComment("销售部门id");
+
+                    b.Property<string>("sale_dept_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("销售部门名称");
+
+                    b.Property<int?>("sale_style")
+                        .HasColumnType("int")
+                        .HasComment("销售订单类型");
+
+                    b.Property<string>("sale_style_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("销售订单类型编码");
+
+                    b.Property<int?>("status")
+                        .HasColumnType("int")
+                        .HasComment("订单状态");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<int?>("trade_type")
+                        .HasColumnType("int")
+                        .HasComment("贸易类型");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<int>("urgent")
+                        .HasColumnType("int")
+                        .HasComment("加急级别");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bill_no", "tenant_id", "factory_id");
+
+                    b.ToTable("crm_seorder", (string)null);
+
+                    b.HasComment("销售订单表");
+                });
+
+            modelBuilder.Entity("Business.Model.Sale.crm_seorderentry", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<DateTime?>("adjust_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("调整建议交期");
+
+                    b.Property<decimal?>("amount")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("金额");
+
+                    b.Property<decimal?>("aux_price_discount")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("实际含税单价");
+
+                    b.Property<string>("bill_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("销售订单编号");
+
+                    b.Property<string>("bom_number")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("BOM编号");
+
+                    b.Property<string>("contract_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("合同编号");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<long?>("create_dept")
+                        .HasColumnType("bigint")
+                        .HasComment("创建部门id");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<string>("custom_order_bill_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("客户订单号");
+
+                    b.Property<int?>("custom_order_entryid")
+                        .HasColumnType("int")
+                        .HasComment("客户订单行号");
+
+                    b.Property<string>("custom_order_itemno")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("客户料号");
+
+                    b.Property<DateTime?>("date")
+                        .HasColumnType("datetime2")
+                        .HasComment("最终交货日期");
+
+                    b.Property<decimal?>("deliver_count")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("发货数量(已出库数量)");
+
+                    b.Property<decimal?>("deliver_notice_count")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("发货通知单数量");
+
+                    b.Property<decimal?>("discount_amount")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("折扣额");
+
+                    b.Property<decimal?>("discount_rate")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("折扣率");
+
+                    b.Property<int?>("entry_seq")
+                        .HasColumnType("int")
+                        .HasComment("行号");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("fms_number")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("FMS旧料号");
+
+                    b.Property<bool?>("is_checked")
+                        .HasColumnType("bit")
+                        .HasComment("是否完成检测,0未完成,1完成");
+
+                    b.Property<string>("item_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("产品名称");
+
+                    b.Property<string>("item_number")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("产品代码");
+
+                    b.Property<string>("map_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("代码名称");
+
+                    b.Property<string>("map_number")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("对应代码");
+
+                    b.Property<bool?>("mrp_closed")
+                        .HasColumnType("bit")
+                        .HasComment("mrp关闭");
+
+                    b.Property<DateTime?>("op_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("操作时间");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("out_stock_type")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("出库类型");
+
+                    b.Property<DateTime?>("plan_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("客户要求交期");
+
+                    b.Property<string>("planner_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("计划员");
+
+                    b.Property<string>("planner_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("计划员_工号");
+
+                    b.Property<decimal?>("price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("单价");
+
+                    b.Property<string>("progress")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("订单进度");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(20, 8)
+                        .HasColumnType("decimal(20,8)")
+                        .HasComment("订单数量");
+
+                    b.Property<string>("remark")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("备注");
+
+                    b.Property<int?>("rnumber")
+                        .HasColumnType("int")
+                        .HasComment("评审次数");
+
+                    b.Property<int?>("rstate")
+                        .HasColumnType("int")
+                        .HasComment("评审状态");
+
+                    b.Property<string>("se_reject_reason")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("业务员工号");
+
+                    b.Property<long?>("seorder_id")
+                        .HasColumnType("bigint")
+                        .HasComment("销售订单id");
+
+                    b.Property<string>("soure_bill_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("源单编号");
+
+                    b.Property<string>("specification")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("规格型号");
+
+                    b.Property<bool?>("state")
+                        .HasColumnType("bit")
+                        .HasComment("数据状态标识 0停用 1启用");
+
+                    b.Property<DateTime?>("sys_capacity_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("系统建议交期(产能)");
+
+                    b.Property<DateTime?>("sys_material_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("系统建议交期(物料)");
+
+                    b.Property<decimal?>("tax_amtount")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("销项税额");
+
+                    b.Property<decimal?>("tax_price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("含税单价");
+
+                    b.Property<decimal?>("tax_rate")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("税率");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<decimal?>("total_amount")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("价税合计");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<int?>("urgent")
+                        .HasColumnType("int")
+                        .HasComment("加急级别");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("seorder_id", "bill_no", "item_number", "tenant_id", "factory_id");
+
+                    b.ToTable("crm_seorderentry", (string)null);
+
+                    b.HasComment("销售订单明细表");
+                });
+
+            modelBuilder.Entity("Business.Model.SRM.srm_po_list", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("ItemNum")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("物料编码");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("currencytype")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("币别");
+
+                    b.Property<int?>("deliveryconfirmstate")
+                        .HasColumnType("int")
+                        .HasComment("交期确认状态");
+
+                    b.Property<decimal?>("esqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("已入库数量");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long?>("icitem_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("icitem_name")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("物料名称");
+
+                    b.Property<int?>("logisticsstate")
+                        .HasColumnType("int")
+                        .HasComment("物流状态");
+
+                    b.Property<string>("model")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("规格型号");
+
+                    b.Property<decimal?>("netprice")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("净价");
+
+                    b.Property<string>("number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料编码");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("plan_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("计划数量");
+
+                    b.Property<string>("po_billno")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("po单号");
+
+                    b.Property<long?>("po_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("po单id");
+
+                    b.Property<string>("po_mono")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("关联工单号");
+
+                    b.Property<int?>("polist_row")
+                        .HasColumnType("int")
+                        .HasComment("行号");
+
+                    b.Property<string>("pr_billno")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("pr申请单号");
+
+                    b.Property<long?>("pr_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("pr申请单id");
+
+                    b.Property<long?>("pr_purchase_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("供应商id");
+
+                    b.Property<string>("pr_purchase_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商名称");
+
+                    b.Property<decimal?>("price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("含税单价");
+
+                    b.Property<DateTime?>("procurement_rarr_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("采购到货日期");
+
+                    b.Property<DateTime?>("pur_affirmdate")
+                        .HasColumnType("datetime2")
+                        .HasComment("采购确认到货日期");
+
+                    b.Property<DateTime?>("purchase_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("供应商交期");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("订单数量");
+
+                    b.Property<DateTime?>("rarrdate")
+                        .HasColumnType("datetime2")
+                        .HasComment("需求到货日期");
+
+                    b.Property<decimal?>("rate")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("税率");
+
+                    b.Property<int>("rnumber")
+                        .HasColumnType("int")
+                        .HasComment("评审次数");
+
+                    b.Property<DateTime?>("rparrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("再计划到货日期");
+
+                    b.Property<decimal?>("rqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("已收货数量");
+
+                    b.Property<int?>("rstate")
+                        .HasColumnType("int")
+                        .HasComment("评审状态");
+
+                    b.Property<decimal?>("shippedqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("已发货数量");
+
+                    b.Property<int?>("state")
+                        .HasColumnType("int")
+                        .HasComment("数据状态标识");
+
+                    b.Property<long?>("stock_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("收货仓库id");
+
+                    b.Property<string>("stock_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("收货仓库名称");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<decimal?>("total_price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("总价");
+
+                    b.Property<string>("unit")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("po_billno", "number", "tenant_id", "factory_id");
+
+                    b.ToTable("srm_po_list", (string)null);
+
+                    b.HasComment("采购订单明细详情");
+                });
+
+            modelBuilder.Entity("Business.Model.SRM.srm_po_main", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<int?>("bill_type")
+                        .HasColumnType("int")
+                        .HasComment("金蝶单据类型值");
+
+                    b.Property<int?>("confirmstate")
+                        .HasColumnType("int")
+                        .HasComment("确认状态");
+
+                    b.Property<string>("contact")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商联系人");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("currency")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("币别");
+
+                    b.Property<string>("deliveryaddress")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("收货地址");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<int?>("financialstate")
+                        .HasColumnType("int")
+                        .HasComment("财务状态");
+
+                    b.Property<int?>("logisticsstate")
+                        .HasColumnType("int")
+                        .HasComment("物流状态");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("po_billno")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("PO单号");
+
+                    b.Property<long?>("po_delivery")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("交货方式");
+
+                    b.Property<int?>("po_express")
+                        .HasColumnType("int")
+                        .HasComment("是否加急");
+
+                    b.Property<string>("po_note")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .HasComment("备注");
+
+                    b.Property<int?>("po_order_type")
+                        .HasColumnType("int")
+                        .HasComment("单据类型");
+
+                    b.Property<string>("po_purchaser")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购员");
+
+                    b.Property<string>("po_purchaser_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购员工号");
+
+                    b.Property<DateTime?>("po_ssend_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("下单日期");
+
+                    b.Property<decimal?>("po_tax_rate")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("税率");
+
+                    b.Property<decimal?>("po_total")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("订单总价");
+
+                    b.Property<long?>("purchasing_orgid")
+                        .HasColumnType("bigint")
+                        .HasComment("采购组织id");
+
+                    b.Property<string>("purchasing_orgname")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("采购组织名称");
+
+                    b.Property<DateTime?>("review_rtime")
+                        .HasColumnType("datetime2")
+                        .HasComment("评审通过时间");
+
+                    b.Property<decimal?>("rnumber")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("评审次数");
+
+                    b.Property<int?>("rstate")
+                        .HasColumnType("int")
+                        .HasComment("评审状态");
+
+                    b.Property<int?>("state")
+                        .HasColumnType("int")
+                        .HasComment("数据状态");
+
+                    b.Property<long?>("supplier_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("供应商id");
+
+                    b.Property<string>("supplier_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商名称");
+
+                    b.Property<string>("supplier_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商编号");
+
+                    b.Property<string>("supplierdddress")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("供应地址");
+
+                    b.Property<string>("suppliertelephone")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商联系人电话");
+
+                    b.Property<string>("telephone")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购联系人电话");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("po_billno", "tenant_id", "factory_id");
+
+                    b.ToTable("srm_po_main", (string)null);
+
+                    b.HasComment("采购订单");
+                });
+
+            modelBuilder.Entity("Business.Model.SRM.srm_po_occupy", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("bill_no")
+                        .HasColumnType("bigint")
+                        .HasComment("客户订单id");
+
+                    b.Property<string>("cby")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("变更人");
+
+                    b.Property<string>("creason")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .HasComment("变更原因");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<DateTime?>("ctime")
+                        .HasColumnType("datetime2")
+                        .HasComment("变更时间");
+
+                    b.Property<long?>("eid")
+                        .HasColumnType("bigint")
+                        .HasComment("客户订单行id");
+
+                    b.Property<int>("entry_id")
+                        .HasColumnType("int")
+                        .HasComment("行号");
+
+                    b.Property<DateTime?>("etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("结束时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long?>("morder_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工单ID");
+
+                    b.Property<string>("morder_mo")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("工单编号");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long?>("polist_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("采购订单id");
+
+                    b.Property<int?>("polist_row")
+                        .HasColumnType("int")
+                        .HasComment("采购订单行号");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("占用量");
+
+                    b.Property<int?>("state")
+                        .HasColumnType("int")
+                        .HasComment("占用状态");
+
+                    b.Property<DateTime?>("stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("开始时间");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("type")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("类型");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("polist_id", "tenant_id", "factory_id");
+
+                    b.ToTable("srm_po_occupy", (string)null);
+
+                    b.HasComment("采购订单占用详情");
+                });
+
+            modelBuilder.Entity("Business.Model.SRM.srm_pr_main", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("currencytype")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("币种");
+
+                    b.Property<int?>("entity_id")
+                        .HasColumnType("int")
+                        .HasComment("工单行号");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long?>("icitem_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("icitem_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料名称");
+
+                    b.Property<decimal?>("old_apply_aqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("已申请数量");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("pr_aqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("申请数量");
+
+                    b.Property<string>("pr_billno")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("pr单号");
+
+                    b.Property<DateTime?>("pr_bsarrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("采购员建议到货日期");
+
+                    b.Property<string>("pr_mono")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("关联工单号");
+
+                    b.Property<DateTime?>("pr_oarrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("订单到货日期");
+
+                    b.Property<int?>("pr_order_type")
+                        .HasColumnType("int")
+                        .HasComment("单据类型");
+
+                    b.Property<decimal?>("pr_orderprice")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("订单价格(含税)");
+
+                    b.Property<DateTime?>("pr_parrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划到达日期");
+
+                    b.Property<decimal?>("pr_price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购净价(不含税)");
+
+                    b.Property<DateTime?>("pr_psend_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划下单日期");
+
+                    b.Property<DateTime?>("pr_pur_affirm_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("采购确认到货日期");
+
+                    b.Property<long?>("pr_purchaseid")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("供应商id");
+
+                    b.Property<string>("pr_purchasename")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商名称");
+
+                    b.Property<string>("pr_purchasenumber")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商编码");
+
+                    b.Property<string>("pr_purchaser")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购员");
+
+                    b.Property<string>("pr_purchaser_num")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购员工号");
+
+                    b.Property<DateTime?>("pr_rarrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("需求到货日期");
+
+                    b.Property<decimal?>("pr_rate")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("税率");
+
+                    b.Property<DateTime?>("pr_rparrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("再计划到货日期");
+
+                    b.Property<decimal?>("pr_rqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("需求数量");
+
+                    b.Property<string>("pr_rreason")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .HasComment("拒绝原因");
+
+                    b.Property<DateTime?>("pr_sarrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("系统建议到达日期");
+
+                    b.Property<decimal?>("pr_sqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("建议数量");
+
+                    b.Property<DateTime?>("pr_ssend_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("系统建议下单日期");
+
+                    b.Property<decimal?>("pr_sysprice")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("系统价格(含税)");
+
+                    b.Property<int?>("pr_type")
+                        .HasColumnType("int")
+                        .HasComment("申请类型");
+
+                    b.Property<string>("pr_unit")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("单位");
+
+                    b.Property<string>("remark")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .HasComment("备注");
+
+                    b.Property<decimal?>("secInv_ratio")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("安全库存触发采购比例");
+
+                    b.Property<long?>("sentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("订单行id");
+
+                    b.Property<int?>("state")
+                        .HasColumnType("int")
+                        .HasComment("状态");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("pr_billno", "pr_purchasenumber", "tenant_id", "factory_id");
+
+                    b.ToTable("srm_pr_main", (string)null);
+
+                    b.HasComment("采购申请单");
+                });
+
+            modelBuilder.Entity("Business.Model.SRM.srm_purchase", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<decimal?>("batch_append_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("批量增量");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("currency_type")
+                        .HasColumnType("bigint")
+                        .HasComment("币种");
+
+                    b.Property<string>("factory_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("工厂编码");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long>("icitem_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("icitem_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料名称");
+
+                    b.Property<decimal?>("netpurchase_price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购净价(不含税)");
+
+                    b.Property<string>("order_dept")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购部门");
+
+                    b.Property<decimal?>("order_price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购单价");
+
+                    b.Property<string>("order_rector_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购负责人");
+
+                    b.Property<string>("order_rector_num")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购负责人_工号");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("purchase_unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购计量单位");
+
+                    b.Property<string>("purcher")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购员");
+
+                    b.Property<string>("purchgroup")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购组");
+
+                    b.Property<decimal?>("qty_min")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("最小订货量");
+
+                    b.Property<decimal?>("sale_price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("销售单价");
+
+                    b.Property<string>("sourcelist_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("货源清单编号");
+
+                    b.Property<long?>("supplier_id")
+                        .HasColumnType("bigint")
+                        .HasComment("供应商id");
+
+                    b.Property<string>("supplier_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商名称");
+
+                    b.Property<string>("supplier_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商编码");
+
+                    b.Property<decimal?>("taxrate")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("税率");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("icitem_id", "supplier_number", "tenant_id", "factory_id");
+
+                    b.ToTable("srm_purchase", (string)null);
+
+                    b.HasComment("物料采购报价单");
+                });
+
+            modelBuilder.Entity("Business.Model.SRM.srm_supplier", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("addr_en")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("英文地址");
+
+                    b.Property<DateTime?>("approve_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("批准日期");
+
+                    b.Property<bool?>("auto_create_mr")
+                        .HasColumnType("bit")
+                        .HasComment("交货自动生成收货单据");
+
+                    b.Property<bool?>("auto_validate_order")
+                        .HasColumnType("bit")
+                        .HasComment("自动确认订单");
+
+                    b.Property<string>("bank")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("开户银行");
+
+                    b.Property<string>("bank_account")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("银行账号");
+
+                    b.Property<DateTime?>("begin_day")
+                        .HasColumnType("datetime2")
+                        .HasComment("生效日期");
+
+                    b.Property<string>("branch_info")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("分支机构信息");
+
+                    b.Property<string>("checker")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("审核人");
+
+                    b.Property<string>("company_type")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("公司类别");
+
+                    b.Property<string>("contact")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("联系人");
+
+                    b.Property<string>("country")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("国别地区");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<string>("currency")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("结算币种");
+
+                    b.Property<string>("department")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("分管部门");
+
+                    b.Property<string>("email")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("邮件地址");
+
+                    b.Property<string>("employee_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("专营业务员");
+
+                    b.Property<string>("employee_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("专营业务员_工号");
+
+                    b.Property<DateTime?>("end_day")
+                        .HasColumnType("datetime2")
+                        .HasComment("失效日期");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("fax")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("传真号码");
+
+                    b.Property<bool?>("isuse_supplier_portal")
+                        .HasColumnType("bit")
+                        .HasComment("启用供应商门户");
+
+                    b.Property<string>("licence")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("营业执照");
+
+                    b.Property<string>("mobile")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("移动电话");
+
+                    b.Property<string>("name_en")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("英文名称");
+
+                    b.Property<DateTime?>("op_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("操作时间");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("po_mode")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购模式");
+
+                    b.Property<string>("post_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("邮政编码");
+
+                    b.Property<string>("region")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("区域");
+
+                    b.Property<string>("regmark")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("注册商标");
+
+                    b.Property<DateTime?>("regster_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("注册日期");
+
+                    b.Property<string>("settlement")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("结算方式");
+
+                    b.Property<string>("state")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("状态");
+
+                    b.Property<string>("stockid_assignee")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("受托代销虚仓");
+
+                    b.Property<string>("supplier_address")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("供应商地址");
+
+                    b.Property<string>("supplier_full_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("供应商全称");
+
+                    b.Property<string>("supplier_help_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商助记码");
+
+                    b.Property<string>("supplier_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("供应商名称");
+
+                    b.Property<string>("supplier_no")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商编号");
+
+                    b.Property<string>("supplier_short_name")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("供应商简称");
+
+                    b.Property<string>("supply_grade")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商等级");
+
+                    b.Property<string>("supply_type")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应类别");
+
+                    b.Property<string>("taxid")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("税务登记号");
+
+                    b.Property<string>("telephone")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("联系电话");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("trade")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("行业");
+
+                    b.Property<string>("type")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商分类");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<decimal?>("value_add_rate")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("增值税率");
+
+                    b.Property<string>("vmi_stock")
+                        .HasMaxLength(255)
+                        .HasColumnType("nvarchar(255)")
+                        .HasComment("VMI仓");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("supplier_no", "tenant_id", "factory_id");
+
+                    b.ToTable("srm_supplier", (string)null);
+
+                    b.HasComment("供应商");
+                });
+
+            modelBuilder.Entity("Business.Model.Tech.mes_process", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("long_desc")
+                        .HasMaxLength(2000)
+                        .HasColumnType("nvarchar(2000)")
+                        .HasComment("详细描述");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("proc_name")
+                        .IsRequired()
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("工序名称");
+
+                    b.Property<string>("short_desc")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)")
+                        .HasComment("简述");
+
+                    b.Property<string>("subids")
+                        .HasMaxLength(2000)
+                        .HasColumnType("nvarchar(2000)")
+                        .HasComment("组合工序id");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("mes_process", (string)null);
+
+                    b.HasComment("工序表");
+                });
+
+            modelBuilder.Entity("Business.Model.Tech.mes_tech_process", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<decimal?>("ct")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("节拍时间");
+
+                    b.Property<decimal?>("effect_ratio")
+                        .HasPrecision(10, 4)
+                        .HasColumnType("decimal(10,4)")
+                        .HasComment("效率系数");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<int?>("is_schedule")
+                        .IsRequired()
+                        .HasColumnType("int")
+                        .HasComment("是否需要排产:1-是;0-否");
+
+                    b.Property<int?>("level")
+                        .IsRequired()
+                        .HasColumnType("int")
+                        .HasComment("组合层级");
+
+                    b.Property<decimal?>("lq")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("前置最小数量");
+
+                    b.Property<decimal?>("lqt")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("前置等待时间");
+
+                    b.Property<int?>("maxworkshop")
+                        .HasColumnType("int")
+                        .HasComment("最大并行工位数");
+
+                    b.Property<int?>("mototrack")
+                        .HasColumnType("int")
+                        .HasComment("是否需要跟踪工序");
+
+                    b.Property<int?>("needqc")
+                        .HasColumnType("int")
+                        .HasComment("是否需要质检");
+
+                    b.Property<long?>("nextprocid")
+                        .HasColumnType("bigint")
+                        .HasComment("下一工序id");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long?>("parentprocid")
+                        .HasColumnType("bigint")
+                        .HasComment("父级工序id");
+
+                    b.Property<long?>("proc_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("工序主键");
+
+                    b.Property<decimal?>("readytime")
+                        .HasPrecision(20, 8)
+                        .HasColumnType("decimal(20,8)")
+                        .HasComment("前置准备时间");
+
+                    b.Property<long?>("tech_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("工艺主键");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<decimal?>("upe")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("一次可加工数量");
+
+                    b.Property<decimal?>("uph")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("UPH");
+
+                    b.Property<decimal?>("upp")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("子工序加工数量");
+
+                    b.Property<int?>("wctype")
+                        .HasColumnType("int")
+                        .HasComment("工作中心类型");
+
+                    b.Property<int?>("wsinuse")
+                        .HasColumnType("int")
+                        .HasComment("实际运行工位数");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("mes_tech_process", (string)null);
+
+                    b.HasComment("工艺关联工序表");
+                });
+
+            modelBuilder.Entity("Business.Model.Tech.mes_technique", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("bom")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("产品");
+
+                    b.Property<string>("bomver")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("产品版本");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<string>("desc")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("描述");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<int?>("level")
+                        .HasColumnType("int")
+                        .HasComment("效率计算层级");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("tech_name")
+                        .IsRequired()
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("工艺路径名称");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("mes_technique", (string)null);
+
+                    b.HasComment("工艺路径表");
+                });
+
+            modelBuilder.Entity("Business.Model.Tech.mes_workshop", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("building")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("楼栋");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("floor")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("楼层");
+
+                    b.Property<string>("geoinfo")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("坐标");
+
+                    b.Property<string>("name")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("工位名称");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("subids")
+                        .HasMaxLength(2000)
+                        .HasColumnType("nvarchar(2000)")
+                        .HasComment("组合工位ids");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<long?>("work_calendar_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工作日历id");
+
+                    b.Property<string>("zone")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("区域");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("mes_workshop", (string)null);
+
+                    b.HasComment("工位表(工作中心)");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}

+ 38 - 0
MicroServices/Business/Business.Host/Migrations/20230615073830_addtable20230615.cs

@@ -0,0 +1,38 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Business.Migrations
+{
+    public partial class addtable20230615 : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<long>(
+                name: "morder_id",
+                table: "srm_po_occupy",
+                type: "bigint",
+                nullable: true,
+                comment: "工单ID");
+
+            migrationBuilder.AddColumn<string>(
+                name: "morder_mo",
+                table: "srm_po_occupy",
+                type: "nvarchar(max)",
+                nullable: false,
+                defaultValue: "",
+                comment: "工单编号");
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "morder_id",
+                table: "srm_po_occupy");
+
+            migrationBuilder.DropColumn(
+                name: "morder_mo",
+                table: "srm_po_occupy");
+        }
+    }
+}

+ 1264 - 0
MicroServices/Business/Business.Host/Migrations/BusinessBangMigrationDb/20230615080151_addtable20230615bang.Designer.cs

@@ -0,0 +1,1264 @@
+// <auto-generated />
+using System;
+using Business.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Business.Migrations.BusinessBangMigrationDb
+{
+    [DbContext(typeof(BusinessBangMigrationDbContext))]
+    [Migration("20230615080151_addtable20230615bang")]
+    partial class addtable20230615bang
+    {
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
+                .HasAnnotation("ProductVersion", "6.0.5")
+                .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+            modelBuilder.Entity("Business.Model.Bang.b_bom_child_examine", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<int?>("backflush")
+                        .HasColumnType("int")
+                        .HasComment("是否倒冲");
+
+                    b.Property<long?>("bom_child_id")
+                        .HasColumnType("bigint")
+                        .HasComment("bom明细主键");
+
+                    b.Property<long?>("bom_id")
+                        .HasColumnType("bigint")
+                        .HasComment("BOMid");
+
+                    b.Property<string>("bom_number")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("bom编号");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<int?>("erp_cls")
+                        .HasColumnType("int")
+                        .HasComment("物料属性");
+
+                    b.Property<string>("erp_cls_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料属性名称");
+
+                    b.Property<long?>("examine_id")
+                        .HasColumnType("bigint")
+                        .HasComment("资源检查ID");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long>("fid")
+                        .HasColumnType("bigint")
+                        .HasComment("本级id");
+
+                    b.Property<int?>("haveicsubs")
+                        .HasColumnType("int")
+                        .HasComment("存在替代关系");
+
+                    b.Property<bool>("is_use")
+                        .HasColumnType("bit")
+                        .HasComment("是否使用此物料");
+
+                    b.Property<int?>("isbom")
+                        .HasColumnType("int")
+                        .HasComment("是否BOM");
+
+                    b.Property<long?>("item_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("item_name")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("item_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料编号");
+
+                    b.Property<DateTime?>("kitting_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("齐套时间");
+
+                    b.Property<decimal?>("lack_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("缺料数量");
+
+                    b.Property<int?>("level")
+                        .HasColumnType("int")
+                        .HasComment("level");
+
+                    b.Property<decimal?>("make_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("自制数量");
+
+                    b.Property<decimal?>("mo_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("在制占用数量");
+
+                    b.Property<string>("model")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("规格型号");
+
+                    b.Property<decimal?>("needCount")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("单个产品总需要用量");
+
+                    b.Property<string>("num")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("项次号");
+
+                    b.Property<long?>("num_order")
+                        .HasColumnType("bigint")
+                        .HasComment("排序使用");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long?>("parent_id")
+                        .HasColumnType("bigint")
+                        .HasComment("父级id");
+
+                    b.Property<decimal?>("purchase_occupy_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购明细占用数量");
+
+                    b.Property<decimal?>("purchase_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购数量");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("单位用量");
+
+                    b.Property<DateTime?>("satisfy_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("满足时间");
+
+                    b.Property<decimal?>("self_lack_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("本级缺料数量");
+
+                    b.Property<long?>("sentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("订单行ID");
+
+                    b.Property<decimal?>("sqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("库存数量");
+
+                    b.Property<int?>("stock_state")
+                        .HasColumnType("int")
+                        .HasComment("物料状态");
+
+                    b.Property<decimal?>("subcontracting_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("委外数量");
+
+                    b.Property<int?>("substitute_all_num")
+                        .HasColumnType("int")
+                        .HasComment("群组优先级");
+
+                    b.Property<string>("substitute_code")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("群组代码");
+
+                    b.Property<int?>("substitute_mode")
+                        .HasColumnType("int")
+                        .HasComment("替代方式");
+
+                    b.Property<int?>("substitute_strategy")
+                        .HasColumnType("int")
+                        .HasComment("替代策略");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<int?>("type")
+                        .HasColumnType("int")
+                        .HasComment("类型");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("单位");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<decimal?>("use_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("库存占用数量");
+
+                    b.Property<string>("version")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("版本");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("examine_id", "bom_number", "item_number", "tenant_id", "factory_id");
+
+                    b.ToTable("b_bom_child_examine", (string)null);
+
+                    b.HasComment("Bom明细检查结果");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_day_bulletin_board", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<string>("day")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("日期");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<string>("item_name")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("item_number")
+                        .HasColumnType("nvarchar(450)")
+                        .HasComment("物料编码");
+
+                    b.Property<decimal?>("make_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("自制数量");
+
+                    b.Property<decimal?>("mo_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("在制占用数量");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("purchase_occupy_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购占用数量");
+
+                    b.Property<decimal?>("self_lack_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("缺料数量");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<int?>("type")
+                        .HasColumnType("int")
+                        .HasComment("类别");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<decimal?>("use_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("库存占用数量");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("item_number", "tenant_id", "factory_id");
+
+                    b.ToTable("b_day_bulletin_board", (string)null);
+
+                    b.HasComment("物料齐套明细");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_examine_result", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("bangid")
+                        .HasColumnType("bigint")
+                        .HasComment("计算id");
+
+                    b.Property<string>("bill_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("订单编号");
+
+                    b.Property<string>("bom_number")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("BOM编码");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<DateTime?>("earliest_times")
+                        .HasColumnType("datetime2")
+                        .HasComment("最早开工时间");
+
+                    b.Property<int?>("entry_seq")
+                        .HasColumnType("int")
+                        .HasComment("行号");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<DateTime?>("kitting_times")
+                        .HasColumnType("datetime2")
+                        .HasComment("物料齐套时间");
+
+                    b.Property<DateTime?>("latest_times")
+                        .HasColumnType("datetime2")
+                        .HasComment("最晚开工时间");
+
+                    b.Property<long?>("morder_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工单id");
+
+                    b.Property<string>("morder_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("工单号");
+
+                    b.Property<decimal?>("need_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("需要数量");
+
+                    b.Property<DateTime?>("need_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("需求日期");
+
+                    b.Property<DateTime?>("order_statr_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("工单开工时间");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long?>("sentry_id")
+                        .HasColumnType("bigint")
+                        .HasComment("订单行id");
+
+                    b.Property<long?>("sorderid")
+                        .HasColumnType("bigint")
+                        .HasComment("订单id");
+
+                    b.Property<DateTime?>("sys_capacity_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("建议交期(产能)");
+
+                    b.Property<DateTime?>("sys_material_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("建议交期(物料)");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bill_no", "bom_number", "tenant_id", "factory_id");
+
+                    b.ToTable("b_examine_result", (string)null);
+
+                    b.HasComment("资源检查");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_mo_occupy", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("bom_child_examine_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料检查明细ID");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<DateTime?>("moo_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("结束时间");
+
+                    b.Property<string>("moo_mo")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("工单号");
+
+                    b.Property<decimal?>("moo_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("占用量");
+
+                    b.Property<DateTime?>("moo_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("开始时间");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_child_examine_id", "tenant_id", "factory_id");
+
+                    b.ToTable("b_mo_occupy", (string)null);
+
+                    b.HasComment("在制占用明细");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_mo_order", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("bom_child_examine_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料检查明细ID");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<DateTime?>("moentry_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("生产工单结束日期");
+
+                    b.Property<string>("moentry_prdname")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产组织名称");
+
+                    b.Property<DateTime?>("moentry_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("生产工单开始日期");
+
+                    b.Property<DateTime?>("moentry_sys_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("系统建议完工时间");
+
+                    b.Property<DateTime?>("moentry_sys_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("系统建议开工时间");
+
+                    b.Property<string>("moentry_wrkcname")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("工作中心名称");
+
+                    b.Property<decimal?>("morder_need_time")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("工单所需工时");
+
+                    b.Property<string>("morder_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产工单编号");
+
+                    b.Property<decimal?>("morder_production_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("工单生产数量");
+
+                    b.Property<decimal?>("need_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("需求数量");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<DateTime?>("reality_end_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("实际结束时间");
+
+                    b.Property<DateTime?>("reality_start_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("实际开始时间");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_child_examine_id", "tenant_id", "factory_id");
+
+                    b.ToTable("b_mo_order", (string)null);
+
+                    b.HasComment("生产工单明细");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_ooder", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("bom_child_examine_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料检查明细ID");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<decimal?>("morder_production_number")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("工单生产数量");
+
+                    b.Property<DateTime?>("ooentry_etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划完工日期");
+
+                    b.Property<string>("ooentry_prdname")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产组织名称");
+
+                    b.Property<DateTime?>("ooentry_stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划开工日期");
+
+                    b.Property<DateTime?>("oorder_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("委外订单日期");
+
+                    b.Property<string>("oorder_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("工单编号");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("production_unit")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("加工单位");
+
+                    b.Property<string>("production_unit_code")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("加工单位编码");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_child_examine_id", "tenant_id", "factory_id");
+
+                    b.ToTable("b_ooder", (string)null);
+
+                    b.HasComment("采购占用明细");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_order_detail", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("bom_number")
+                        .HasColumnType("nvarchar(450)")
+                        .HasComment("bom编号");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long>("fid")
+                        .HasColumnType("bigint")
+                        .HasComment("本级id");
+
+                    b.Property<bool?>("is_use")
+                        .HasColumnType("bit")
+                        .HasComment("是否使用此物料");
+
+                    b.Property<long?>("item_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("item_name")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("item_number")
+                        .HasColumnType("nvarchar(450)")
+                        .HasComment("物料编号");
+
+                    b.Property<DateTime?>("kitting_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("齐套时间");
+
+                    b.Property<decimal?>("make_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("自制数量");
+
+                    b.Property<decimal?>("mo_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("在制占用数量");
+
+                    b.Property<string>("num")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("项次号");
+
+                    b.Property<long?>("num_order")
+                        .HasColumnType("bigint")
+                        .HasComment("排序使用");
+
+                    b.Property<long?>("order_examine_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工单齐套检查id");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long?>("parent_id")
+                        .HasColumnType("bigint")
+                        .HasComment("父级");
+
+                    b.Property<decimal?>("purchase_occupy_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购明细占用数量");
+
+                    b.Property<decimal?>("purchase_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购数量");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("用量");
+
+                    b.Property<decimal?>("self_lack_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("本级缺料数量");
+
+                    b.Property<decimal?>("sqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("库存数量");
+
+                    b.Property<decimal?>("subcontracting_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("委外数量");
+
+                    b.Property<string>("substitute_code")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("群组代码");
+
+                    b.Property<int?>("substitute_mode")
+                        .HasColumnType("int")
+                        .HasComment("替代方式");
+
+                    b.Property<int?>("substitute_strategy")
+                        .HasColumnType("int")
+                        .HasComment("替代策略");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.Property<decimal?>("use_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("库存占用数量");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("order_examine_id", "bom_number", "item_number", "tenant_id", "factory_id");
+
+                    b.ToTable("b_order_detail", (string)null);
+
+                    b.HasComment("物料齐套明细");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_order_examine_result", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("bom_number")
+                        .HasColumnType("nvarchar(450)")
+                        .HasComment("BOM编码");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<DateTime?>("ketting_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("齐套日期");
+
+                    b.Property<decimal?>("need_qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("需要数量");
+
+                    b.Property<string>("order_no")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("生产工单编号");
+
+                    b.Property<long?>("orderid")
+                        .HasColumnType("bigint")
+                        .HasComment("工单id");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<DateTime?>("time")
+                        .HasColumnType("datetime2")
+                        .HasComment("开工日期");
+
+                    b.Property<int?>("type")
+                        .HasColumnType("int")
+                        .HasComment("类别");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_number", "order_no", "tenant_id", "factory_id");
+
+                    b.ToTable("b_order_examine_result", (string)null);
+
+                    b.HasComment("工单齐套检查");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_purchase", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("bom_child_examine_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料检查明细ID");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<bool>("isbestoptions")
+                        .HasColumnType("bit")
+                        .HasComment("最优解");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<decimal?>("pr_aqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("申请数量");
+
+                    b.Property<string>("pr_billno")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("pr单号");
+
+                    b.Property<decimal?>("pr_orderprice")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("订单价格(含税)");
+
+                    b.Property<DateTime?>("pr_parrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("计划到达日期");
+
+                    b.Property<decimal?>("pr_price")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("采购净价(不含税)");
+
+                    b.Property<DateTime?>("pr_pur_affirm_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("采购确认到货日期");
+
+                    b.Property<string>("pr_purchasename")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商名称");
+
+                    b.Property<string>("pr_purchasenumber")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("供应商编码");
+
+                    b.Property<DateTime?>("pr_rarrive_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("需求到货日期");
+
+                    b.Property<decimal?>("pr_rate")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("税率");
+
+                    b.Property<decimal?>("pr_rqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("需求数量");
+
+                    b.Property<decimal?>("pr_sqty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("建议数量");
+
+                    b.Property<decimal?>("pr_sysprice")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("系统价格(含税)");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_child_examine_id", "tenant_id", "factory_id");
+
+                    b.ToTable("b_purchase", (string)null);
+
+                    b.HasComment("采购明细信息");
+                });
+
+            modelBuilder.Entity("Business.Model.Bang.b_purchase_occupy", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<long?>("bom_child_examine_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料检查明细ID");
+
+                    b.Property<long?>("create_by")
+                        .HasColumnType("bigint")
+                        .HasComment("创建人id");
+
+                    b.Property<string>("create_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("创建人名称");
+
+                    b.Property<DateTime?>("create_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("创建时间");
+
+                    b.Property<DateTime?>("etime")
+                        .HasColumnType("datetime2")
+                        .HasComment("结束时间");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("po_billno")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购订单单号");
+
+                    b.Property<decimal?>("qty")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("占用量");
+
+                    b.Property<DateTime?>("stime")
+                        .HasColumnType("datetime2")
+                        .HasComment("开始时间");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("type")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("类型");
+
+                    b.Property<long?>("update_by")
+                        .HasColumnType("bigint")
+                        .HasComment("修改人");
+
+                    b.Property<string>("update_by_name")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)")
+                        .HasComment("修改人名称");
+
+                    b.Property<DateTime?>("update_time")
+                        .HasColumnType("datetime2")
+                        .HasComment("修改时间");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_child_examine_id", "tenant_id", "factory_id");
+
+                    b.ToTable("b_purchase_occupy", (string)null);
+
+                    b.HasComment("采购占用明细");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}

+ 49 - 0
MicroServices/Business/Business.Host/Migrations/BusinessBangMigrationDb/20230615080151_addtable20230615bang.cs

@@ -0,0 +1,49 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Business.Migrations.BusinessBangMigrationDb
+{
+    public partial class addtable20230615bang : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<long>(
+                name: "bangid",
+                table: "b_examine_result",
+                type: "bigint",
+                nullable: true,
+                comment: "计算id");
+
+            migrationBuilder.AddColumn<DateTime>(
+                name: "sys_capacity_date",
+                table: "b_examine_result",
+                type: "datetime2",
+                nullable: true,
+                comment: "建议交期(产能)");
+
+            migrationBuilder.AddColumn<DateTime>(
+                name: "sys_material_date",
+                table: "b_examine_result",
+                type: "datetime2",
+                nullable: true,
+                comment: "建议交期(物料)");
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "bangid",
+                table: "b_examine_result");
+
+            migrationBuilder.DropColumn(
+                name: "sys_capacity_date",
+                table: "b_examine_result");
+
+            migrationBuilder.DropColumn(
+                name: "sys_material_date",
+                table: "b_examine_result");
+        }
+    }
+}

+ 12 - 0
MicroServices/Business/Business.Host/Migrations/BusinessBangMigrationDb/BusinessBangMigrationDbContextModelSnapshot.cs

@@ -379,6 +379,10 @@ namespace Business.Migrations.BusinessBangMigrationDb
                         .HasColumnName("IsDeleted")
                         .HasComment("删除标识");
 
+                    b.Property<long?>("bangid")
+                        .HasColumnType("bigint")
+                        .HasComment("计算id");
+
                     b.Property<string>("bill_no")
                         .HasMaxLength(50)
                         .HasColumnType("nvarchar(50)")
@@ -456,6 +460,14 @@ namespace Business.Migrations.BusinessBangMigrationDb
                         .HasColumnType("bigint")
                         .HasComment("订单id");
 
+                    b.Property<DateTime?>("sys_capacity_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("建议交期(产能)");
+
+                    b.Property<DateTime?>("sys_material_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("建议交期(物料)");
+
                     b.Property<long>("tenant_id")
                         .HasColumnType("bigint")
                         .HasComment("企业ID");

+ 9 - 0
MicroServices/Business/Business.Host/Migrations/BusinessMigrationDbContextModelSnapshot.cs

@@ -3429,6 +3429,15 @@ namespace Business.Migrations
                         .HasColumnType("bigint")
                         .HasComment("工厂ID");
 
+                    b.Property<long?>("morder_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工单ID");
+
+                    b.Property<string>("morder_mo")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("工单编号");
+
                     b.Property<long?>("org_id")
                         .HasColumnType("bigint")
                         .HasComment("组织ID");

+ 14 - 2
MicroServices/Business/Business.HttpApi/Controllers/ResourceExamineController.cs

@@ -57,9 +57,9 @@ namespace Business.Controllers
         /// <returns></returns>
         [HttpGet]
         [Route("receiveresult")]
-        public Task<string> ReceiveResult(string ids)
+        public Task<string> ReceiveResult(string ids, int type)
         {
-            return _ResourceExamineAppService.ReceiveResult(ids);
+            return _ResourceExamineAppService.ReceiveResult(ids, type);
         }
 
         /// <summary>
@@ -108,5 +108,17 @@ namespace Business.Controllers
         {
             _ResourceExamineAppService.AutoCreateBomBillInterface();
         }
+
+        /// <summary>
+        /// 资源检查结果评审
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet]
+        [Route("reviewExamineResult")]
+        public Task<string> ReviewExamineResult(string ids, int type)
+        {
+            return _ResourceExamineAppService.ReviewExamineResult(ids, type);
+        }
     }
 }

+ 2 - 2
MicroServices/Business/Bussiness.ApplicationTest/ResourceExamineManagement/ResourceExamineAppService_Tests.cs

@@ -25,7 +25,7 @@ namespace Bussiness.ApplicationTest.ResourceExamineManagement
         public async Task Should_ThrowExcetion()
         {
             var testInput = new ResourceCheckInputDto { factoryId = 10201, sorderId = new List<long> { 111111 }, tenantId = 102 };
-            await Xunit.Assert.ThrowsAsync<NotImplementedException>(async () => await _resourceExamineAppService.ReceiveResult("111111"));
+            await Xunit.Assert.ThrowsAsync<NotImplementedException>(async () => await _resourceExamineAppService.ReceiveResult("111111",0));
         }
 
         [Fact]
@@ -33,7 +33,7 @@ namespace Bussiness.ApplicationTest.ResourceExamineManagement
         public async Task Should_ThrowExcetion_Second()
         {
             var testInput = new ResourceCheckInputDto { factoryId = 10201, sorderId = new List<long> { 111111 }, tenantId = 102 };
-            await _resourceExamineAppService.ReceiveResult("111111");
+            await _resourceExamineAppService.ReceiveResult("111111",0);
         }
     }
 }

+ 19 - 0
MicroServices/Business/Bussiness.Model/Bang/b_examine_result.cs

@@ -4,6 +4,7 @@ using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -98,5 +99,23 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("物料齐套时间")]
         public DateTime? kitting_times { get; set; }
+
+        /// <summary>
+        /// 建议交期(物料)
+        /// </summary>
+        [Comment("建议交期(物料)")]
+        public DateTime? sys_material_date { get; set; }
+
+        /// <summary>
+        /// 建议交期(产能)
+        /// </summary>
+        [Comment("建议交期(产能)")]
+        public DateTime? sys_capacity_date { get; set; }
+
+        /// <summary>
+        /// 计算ID
+        /// </summary>
+        [Comment("计算id")]
+        public long? bangid { get; set; }
     }
 }

+ 12 - 0
MicroServices/Business/Bussiness.Model/MES/IC/ic_item_stockoccupy.cs

@@ -38,6 +38,18 @@ namespace Business.Model.MES.IC
         [Comment("订单行id")]
         public long orderentry_id { get; set; }
 
+        /// <summary>
+        /// 工单ID
+        /// </summary>
+        [Comment("工单ID")]
+        public long? morder_id { get; set; }
+
+        /// <summary>
+        /// 工单编号
+        /// </summary>
+        [Comment("工单编号")]
+        public string morder_mo { get; set; }
+
         /// <summary>
         /// 物料id
         /// </summary>

+ 13 - 0
MicroServices/Business/Bussiness.Model/SRM/srm_po_occupy.cs

@@ -35,6 +35,19 @@ namespace Business.Model.SRM
         /// </summary>
         [Comment("客户订单id")]
         public long? bill_no { get; set; }
+
+        /// <summary>
+        /// 工单ID
+        /// </summary>
+        [Comment("工单ID")]
+        public long? morder_id { get; set; }
+
+        /// <summary>
+        /// 工单编号
+        /// </summary>
+        [Comment("工单编号")]
+        public string morder_mo { get; set; }
+
         /// <summary>
         /// 类型
         /// </summary>

+ 1 - 1
MicroServices/Business/Bussiness.Model/Sale/crm_seorderentry.cs

@@ -277,7 +277,7 @@ namespace Business.Model.Sale
         public int? rnumber { get; set; }
 
         /// <summary>
-        /// 订单进度
+        /// 订单进度(1,新增 2,检查 3,评审 4,执行 5,发运) 暂定,如需调整需要调整引用位置
         /// </summary>
         [StringLength(255)]
         [Comment("订单进度")]

+ 14 - 3
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_item_stockoccupy.cs

@@ -23,20 +23,31 @@ namespace Business.MongoModel.MES.IC
         /// bangid
         /// </summary>
         [Comment("bangid")]
-        [NotMapped]
         public long bang_id { get; set; }
 
         /// <summary>
         /// 订单id
         /// </summary>
         [Comment("订单id")]
-        public long order_id { get; set; }
+        public long? order_id { get; set; }
 
         /// <summary>
         /// 订单行id
         /// </summary>
         [Comment("订单行id")]
-        public long orderentry_id { get; set; }
+        public long? orderentry_id { get; set; }
+
+        /// <summary>
+        /// 工单ID
+        /// </summary>
+        [Comment("工单ID")]
+        public long? morder_id { get; set; }
+
+        /// <summary>
+        /// 工单编号
+        /// </summary>
+        [Comment("工单编号")]
+        public string morder_mo { get; set; }
 
         /// <summary>
         /// 物料id

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

@@ -80,7 +80,6 @@ namespace Business.MongoModel.Production
         /// 计算ID
         /// </summary>
         [Comment("计算id")]
-        [NotMapped]
         public long? bang_id { get; set; }
 
     }

+ 0 - 1
MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_mooccupy.cs

@@ -137,7 +137,6 @@ namespace Business.MongoModel.Production
         /// 计算ID
         /// </summary>
         [Comment("计算id")]
-        [NotMapped]
         public long? bang_id { get; set; }
 
     }

+ 0 - 1
MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_morder.cs

@@ -321,7 +321,6 @@ namespace Business.MongoModel.Production
         /// 计算ID
         /// </summary>
         [Comment("计算id")]
-        [NotMapped]
         public long? bang_id { get; set; }
 
         /// <summary>

+ 0 - 1
MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_oorder.cs

@@ -239,7 +239,6 @@ namespace Business.MongoModel.Production
         /// 计算ID
         /// </summary>
         [Comment("计算id")]
-        [NotMapped]
         public long? bang_id { get; set; }
 
         /// <summary>

+ 0 - 1
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_list.cs

@@ -237,7 +237,6 @@ namespace Business.MongoModel.SRM
         /// 计算ID
         /// </summary>
         [Comment("计算id")]
-        [NotMapped]
         public long? bang_id { get; set; }
     }
 }

+ 0 - 1
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_main.cs

@@ -195,7 +195,6 @@ namespace Business.MongoModel.SRM
         /// 计算ID
         /// </summary>
         [Comment("计算id")]
-        [NotMapped]
         public long? bang_id { get; set; }
     }
 }

+ 13 - 2
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_occupy.cs

@@ -34,7 +34,19 @@ namespace Business.MongoModel.SRM
         /// 客户订单id
         /// </summary>
         [Comment("客户订单id")]
-        public long? bill_no { get; set; } 
+        public long? bill_no { get; set; }
+
+        /// <summary>
+        /// 工单ID
+        /// </summary>
+        [Comment("工单ID")]
+        public long? morder_id { get; set; }
+
+        /// <summary>
+        /// 工单编号
+        /// </summary>
+        [Comment("工单编号")]
+        public string morder_mo { get; set; }
         /// <summary>
         /// 类型
         /// </summary>
@@ -89,7 +101,6 @@ namespace Business.MongoModel.SRM
         /// 计算ID
         /// </summary>
         [Comment("计算id")]
-        [NotMapped]
         public long? bang_id { get; set; }
 
     }

+ 0 - 1
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_pr_main.cs

@@ -217,7 +217,6 @@ namespace Business.MongoModel.SRM
         /// 计算ID
         /// </summary>
         [Comment("计算id")]
-        [NotMapped]
         public long? bang_id { get; set; }
 
         /// <summary>