Browse Source

Merge branch 'dev' of http://123.60.180.165:4647/ZZYDOP/DOPCore into dev

Murphy 3 years ago
parent
commit
2d8b6c5ffe

+ 18 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PoActionListDto.cs

@@ -0,0 +1,18 @@
+using Business.Model.SRM;
+using Business.MongoModel.SRM;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Business.ResourceExamineManagement.Dto
+{
+    public class PoActionListDto
+    {
+        public List<srm_po_main> poMain { get; set; } = new List<srm_po_main>();
+        public List<srm_po_list> polist { get; set; } = new List<srm_po_list>();
+        public List<mo_srm_po_main> mopoMain { get; set; } = new List<mo_srm_po_main>();
+        public List<mo_srm_po_list> mopolist { get; set; } = new List<mo_srm_po_list>();
+    }
+}

+ 17 - 4
MicroServices/Business/Business.Application/Quartz/ProductionScheduleAppService.cs

@@ -12,6 +12,7 @@ using System.Collections.Immutable;
 using System.Globalization;
 using System.Linq;
 using System.Threading.Tasks;
+using System.Transactions;
 using Volo.Abp.Application.Services;
 using Volo.Abp.MultiTenancy;
 
@@ -232,10 +233,22 @@ namespace Business.Quartz
                 //更新工单表
                 item.Status = "r";
             }
-            //记录排产数据
-            _workOrdMaster.Update(workOrds);
-            _periodSequenceDet.Insert(periodSequenceDtls);
-            _scheduleResultOpMaster.Insert(scheduleMasters);
+            using (TransactionScope scope = new TransactionScope())
+            {
+                try {
+                    //记录排产数据
+                    _workOrdMaster.Update(workOrds);
+                    _periodSequenceDet.Insert(periodSequenceDtls);
+                    _scheduleResultOpMaster.Insert(scheduleMasters);
+                    scope.Complete();
+                }
+                catch(Exception ex)
+                {
+                    new NLogHelper("ProductionScheduleAppService").WriteLog("DoProductShcedule", "记录排产数据失败:" + ex.Message, _currentTenant.Id.ToString());
+                    scope.Dispose();
+                }
+            }
+            
         }
 
         /// <summary>

+ 1 - 2
MicroServices/Business/Business.Application/ResourceExamineManagement/ProductExamineAppService.cs

@@ -167,7 +167,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="sentrys"></param>
         /// <param name="kittingTimes"></param>
         /// <returns></returns>
-        public List<crm_seorderentry> CalcSuggestTime(List<crm_seorderentry> sentrys, List<KittingTimeDto> kittingTimes)
+        public void CalcSuggestTime(List<crm_seorderentry> sentrys, List<KittingTimeDto> kittingTimes)
         {
             ProdExamineParamDto param;
             foreach (var item in sentrys)
@@ -219,7 +219,6 @@ namespace Business.ResourceExamineManagement
                     item.sys_capacity_date = ProductiveExamine(param);
                 }
             }
-            return sentrys;
         }
     }
 }

+ 211 - 131
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -40,6 +40,8 @@ using Business.PriorityManagement;
 using Newtonsoft.Json.Linq;
 using Business.Dto;
 using NetTopologySuite.Simplify;
+using System.Transactions;
+using Spire.Pdf.General.Render.Decode.Jpeg2000.j2k.codestream;
 
 namespace Business.ResourceExamineManagement
 {
@@ -686,71 +688,140 @@ namespace Business.ResourceExamineManagement
             }
             //计算订单行的建议交期(产能/物料)
             CalcSuggestDate(sentrys, kittingTimes);
-
-            await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
-
             //批量保存 后期考虑子工单
+            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())
             {
                 _CalcBomViewAppService.mordersInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-                await _mes_morder.InsertMany(_CalcBomViewAppService.mordersInsertList);
-                var mesorders = ObjectMapper.Map<List<mo_mes_morder>, List<mes_morder>>(_CalcBomViewAppService.mordersInsertList);
-                _businessDbContext.BulkInsert(mesorders);
+                moderlist = ObjectMapper.Map<List<mo_mes_morder>, List<mes_morder>>(_CalcBomViewAppService.mordersInsertList);
                 rtn.mordersList = _CalcBomViewAppService.mordersInsertList;
+
+                List<RoutingOpDetail> allRoutings = _routingOpDetail.Select(p => moderlist.Select(m => m.product_code).Contains(p.RoutingCode));
                 //同步工单
-                CreateWorkOrdDates(mesorders);
-            }
-            if (_CalcBomViewAppService.mooccupyAllInsertList.Any())
-            {
-                _CalcBomViewAppService.mooccupyAllInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-                await _mes_mooccupy.InsertMany(_CalcBomViewAppService.mooccupyAllInsertList);
-                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;
+                CreateWorkOrdDates(moderlist, allRoutings, workOrds, workOrdRoutings, workOrdDetails);
             }
-            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())
+            
+            using (TransactionScope scope = new TransactionScope())
             {
-                _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);
+                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);
+                        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);
+                    }
+                    scope.Complete();
+                }
+                catch (Exception e) {
+                    scope.Dispose();
+                    new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "资源检查工单相关数据更新失败:" + e.Message, _currentTenant.Id.ToString());
+                    return e.Message;
+                }
             }
+            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 (TransactionScope scope = new TransactionScope())
                 {
-                    await _srm_pr_main.InsertMany(list);
-                    var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(list);
-                    _businessDbContext.BulkInsert(pr_mainlist);
-                    AutoCreatePOFromPR(list, bangid, input);
+                    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);
+                        }
+                        scope.Complete();
+                    }
+                    catch (Exception e)
+                    {
+                        scope.Dispose();
+                        new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "资源检查PR/PO相关数据更新失败:" + e.Message, _currentTenant.Id.ToString());
+                        return e.Message;
+                    }
                 }
-                rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
             }
+
             rtn.examines = examines;
             rtn.item_stockoccupy_list = sklist;
 
@@ -847,34 +918,48 @@ namespace Business.ResourceExamineManagement
                     }
                 });
             }
-            if (examineList.Any())
-            {
-                _businessBangDbContext.BulkInsert(examineList);
-            }
-            if (bomExamineList.Any())
+            using (TransactionScope scope = new TransactionScope())
             {
-                _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);
+                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;
+                }
             }
+            
             //清空快照数据
             await ClearSnapShot(bangid);
             //return JsonConvert.SerializeObject(rtn);
@@ -1196,25 +1281,25 @@ namespace Business.ResourceExamineManagement
             }
             return isSameWeek;
         }
-        private void AutoCreatePOFromPR(List<mo_srm_pr_main> list, long bangid, ResourceCheckInputDto input)
+        private void AutoCreatePOFromPR(List<mo_srm_pr_main> list, long bangid, List<mo_ic_item> icitemlist, List<mo_srm_supplier> itemsupplierList, PoActionListDto poaction)
         {
             var zcPr = list.Where(a => a.pr_billno.StartsWith("PR")).ToList();
             if (zcPr.Any())
             {
-                AutoCreateZCPOFromPR(zcPr, bangid, input);
+                AutoCreateZCPOFromPR(zcPr, bangid, icitemlist, itemsupplierList, poaction);
             }
 
             var wwPr = list.Where(a => a.pr_billno.StartsWith("WWPR")).ToList();
             if (wwPr.Any())
             {
-                AutoCreateWWPOFromPR(wwPr, bangid, input);
+                AutoCreateWWPOFromPR(wwPr, bangid, icitemlist, itemsupplierList, poaction);
             }
         }
-        private void AutoCreateZCPOFromPR(List<mo_srm_pr_main> list, long bangid, ResourceCheckInputDto input)
+        private void AutoCreateZCPOFromPR(List<mo_srm_pr_main> list, long bangid, List<mo_ic_item> itemList, List<mo_srm_supplier> itemsupplierList, PoActionListDto poaction)
         {
             List<mo_srm_po_main> polist = new List<mo_srm_po_main>();
             List<mo_srm_po_list> podetaillist = new List<mo_srm_po_list>();
-            var itemList = _ic_item.Find(a => a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
+            //var itemList = _ic_item.Find(a => a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
             //将PR按供应商和物料和日期(一周内)进行合并,生成PO
             //1.按照供应商、需求日期排序
             //2.判断是不是同一个供应商,不是的话就新建一个PO;是的话判断是不是同一周,不是的话就新建一个PO,是的话判断有没有相同物料,有的话合并物料数量价格,没有的话新建一条明细
@@ -1225,7 +1310,7 @@ namespace Business.ResourceExamineManagement
             {
                 if (item.pr_purchaseid != supplierId)
                 {
-                    var itemsupplier = _srm_supplier.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
+                    var itemsupplier = itemsupplierList.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == param.tenantId && a.factory_id == param.factoryId);
                     //新建一个PO
                     mo_srm_po_main po_Main = new mo_srm_po_main();
                     po_Main.id = help.NextId();
@@ -1245,16 +1330,16 @@ namespace Business.ResourceExamineManagement
                     po_Main.supplier_id = item.pr_purchaseid;
                     po_Main.supplier_name = item.pr_purchasename;
                     po_Main.supplier_no = item.pr_purchasenumber;
-                    po_Main.contact = itemsupplier is null? itemsupplier?.FirstOrDefault().contact:"";
-                    po_Main.suppliertelephone = itemsupplier is null ? itemsupplier?.FirstOrDefault().telephone:"";
+                    po_Main.contact = itemsupplier is null ? "" : itemsupplier.contact;
+                    po_Main.suppliertelephone = itemsupplier is null ? "" : itemsupplier.telephone;
                     po_Main.deliveryaddress = "";
-                    po_Main.supplierdddress = itemsupplier is null ? itemsupplier?.FirstOrDefault().supplier_address:"";
+                    po_Main.supplierdddress = itemsupplier is null ? "" : itemsupplier.supplier_address;
                     po_Main.confirmstate = 1;
                     po_Main.logisticsstate = 0;
                     po_Main.financialstate = 0;
                     po_Main.create_time = DateTime.Now;
-                    po_Main.factory_id = input.factoryId;
-                    po_Main.tenant_id = input.tenantId;
+                    po_Main.factory_id = param.factoryId;
+                    po_Main.tenant_id = param.tenantId;
                     po_Main.bang_id = bangid;
                     po_Main.po_delivery = 1;
                     polist.Add(po_Main);
@@ -1284,8 +1369,8 @@ namespace Business.ResourceExamineManagement
                     podetail.rnumber = 0;
                     podetail.currencytype = item.currencytype;
                     podetail.create_time = DateTime.Now;
-                    podetail.factory_id = input.factoryId;
-                    podetail.tenant_id = input.tenantId;
+                    podetail.factory_id = param.factoryId;
+                    podetail.tenant_id = param.tenantId;
                     podetail.bang_id = bangid;
                     podetail.stock_id = 1;
                     podetaillist.Add(podetail);
@@ -1339,8 +1424,8 @@ namespace Business.ResourceExamineManagement
                             podetail.rnumber = 0;
                             podetail.currencytype = item.currencytype;
                             podetail.create_time = DateTime.Now;
-                            podetail.factory_id = input.factoryId;
-                            podetail.tenant_id = input.tenantId;
+                            podetail.factory_id = param.factoryId;
+                            podetail.tenant_id = param.tenantId;
                             podetail.bang_id = bangid;
                             podetaillist.Add(podetail);
                             podetail.stock_id = 1;
@@ -1351,7 +1436,7 @@ namespace Business.ResourceExamineManagement
                     else
                     {
                         //不在同一周需要新建一张PO
-                        var itemsupplier = _srm_supplier.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
+                        var itemsupplier = itemsupplierList.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == param.tenantId && a.factory_id == param.factoryId);
                         //新建一个PO单
                         mo_srm_po_main po_Main = new mo_srm_po_main();
                         po_Main.id = help.NextId();
@@ -1371,16 +1456,16 @@ namespace Business.ResourceExamineManagement
                         po_Main.supplier_id = item.pr_purchaseid;
                         po_Main.supplier_name = item.pr_purchasename;
                         po_Main.supplier_no = item.pr_purchasenumber;
-                        po_Main.contact = itemsupplier is null ? itemsupplier?.FirstOrDefault().contact:"";
-                        po_Main.suppliertelephone = itemsupplier is null ? itemsupplier?.FirstOrDefault().telephone:"";
+                        po_Main.contact = itemsupplier is null ? "" : itemsupplier.contact;
+                        po_Main.suppliertelephone = itemsupplier is null ? "" : itemsupplier.telephone;
                         po_Main.deliveryaddress = "";
-                        po_Main.supplierdddress = itemsupplier is null ? itemsupplier?.FirstOrDefault().supplier_address:"";
+                        po_Main.supplierdddress = itemsupplier is null ? "" : itemsupplier.supplier_address;
                         po_Main.confirmstate = 1;
                         po_Main.logisticsstate = 0;
                         po_Main.financialstate = 0;
                         po_Main.create_time = DateTime.Now;
-                        po_Main.factory_id = input.factoryId;
-                        po_Main.tenant_id = input.tenantId;
+                        po_Main.factory_id = param.factoryId;
+                        po_Main.tenant_id = param.tenantId;
                         po_Main.bang_id = bangid;
                         po_Main.po_delivery = 1;
                         polist.Add(po_Main);
@@ -1410,8 +1495,8 @@ namespace Business.ResourceExamineManagement
                         podetail.rnumber = 0;
                         podetail.currencytype = item.currencytype;
                         podetail.create_time = DateTime.Now;
-                        podetail.factory_id = input.factoryId;
-                        podetail.tenant_id = input.tenantId;
+                        podetail.factory_id = param.factoryId;
+                        podetail.tenant_id = param.tenantId;
                         podetail.bang_id = bangid;
                         podetail.stock_id = 1;
                         podetaillist.Add(podetail);
@@ -1421,18 +1506,20 @@ namespace Business.ResourceExamineManagement
                     }
                 }
             }
-            _srm_po_main.InsertMany(polist);
-            _srm_po_list.InsertMany(podetaillist);
+
             List<srm_po_main> po_mainlist = ObjectMapper.Map<List<mo_srm_po_main>, List<srm_po_main>>(polist);
-            _businessDbContext.BulkInsert(po_mainlist);
             var po_listlist = ObjectMapper.Map<List<mo_srm_po_list>, List<srm_po_list>>(podetaillist);
-            _businessDbContext.BulkInsert(po_listlist);
+
+            poaction.poMain.AddRange(po_mainlist);
+            poaction.polist.AddRange(po_listlist);
+            poaction.mopoMain.AddRange(polist);
+            poaction.mopolist.AddRange(podetaillist);
         }
-        private void AutoCreateWWPOFromPR(List<mo_srm_pr_main> list, long bangid, ResourceCheckInputDto input)
+        private void AutoCreateWWPOFromPR(List<mo_srm_pr_main> list, long bangid, List<mo_ic_item> itemList, List<mo_srm_supplier> itemsupplierList, PoActionListDto poaction)
         {
             List<mo_srm_po_main> polist = new List<mo_srm_po_main>();
             List<mo_srm_po_list> podetaillist = new List<mo_srm_po_list>();
-            var itemList = _ic_item.Find(a => a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
+            //var itemList = _ic_item.Find(a => a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
             //将PR按供应商和物料和日期(一周内)进行合并,生成PO
             //1.按照供应商、需求日期排序
             //2.判断是不是同一个供应商,不是的话就新建一个PO;是的话判断是不是同一周,不是的话就新建一个PO,是的话判断有没有相同物料,有的话合并物料数量价格,没有的话新建一条明细
@@ -1443,7 +1530,7 @@ namespace Business.ResourceExamineManagement
             {
                 if (item.pr_purchaseid != supplierId)
                 {
-                    var itemsupplier = _srm_supplier.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
+                    var itemsupplier = itemsupplierList.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == param.tenantId && a.factory_id == param.factoryId);
                     //新建一个PO
                     mo_srm_po_main po_Main = new mo_srm_po_main();
                     po_Main.id = help.NextId();
@@ -1463,16 +1550,16 @@ namespace Business.ResourceExamineManagement
                     po_Main.supplier_id = item.pr_purchaseid;
                     po_Main.supplier_name = item.pr_purchasename;
                     po_Main.supplier_no = item.pr_purchasenumber;
-                    po_Main.contact = itemsupplier is null ? itemsupplier?.FirstOrDefault().contact:"";
-                    po_Main.suppliertelephone = itemsupplier is null ? itemsupplier?.FirstOrDefault().telephone:"";
+                    po_Main.contact = itemsupplier is null ? "" : itemsupplier.contact;
+                    po_Main.suppliertelephone = itemsupplier is null ? "" : itemsupplier.telephone;
                     po_Main.deliveryaddress = "";
-                    po_Main.supplierdddress = itemsupplier is null ? itemsupplier?.FirstOrDefault().supplier_address:"";
+                    po_Main.supplierdddress = itemsupplier is null ? "" : itemsupplier.supplier_address;
                     po_Main.confirmstate = 1;
                     po_Main.logisticsstate = 0;
                     po_Main.financialstate = 0;
                     po_Main.create_time = DateTime.Now;
-                    po_Main.factory_id = input.factoryId;
-                    po_Main.tenant_id = input.tenantId;
+                    po_Main.factory_id = param.factoryId;
+                    po_Main.tenant_id = param.tenantId;
                     po_Main.bang_id = bangid;
                     po_Main.po_delivery = 1;
                     polist.Add(po_Main);
@@ -1502,8 +1589,8 @@ namespace Business.ResourceExamineManagement
                     podetail.rnumber = 0;
                     podetail.currencytype = item.currencytype;
                     podetail.create_time = DateTime.Now;
-                    podetail.factory_id = input.factoryId;
-                    podetail.tenant_id = input.tenantId;
+                    podetail.factory_id = param.factoryId;
+                    podetail.tenant_id = param.tenantId;
                     podetail.bang_id = bangid;
                     podetail.stock_id = 1;
                     podetaillist.Add(podetail);
@@ -1557,8 +1644,8 @@ namespace Business.ResourceExamineManagement
                             podetail.rnumber = 0;
                             podetail.currencytype = item.currencytype;
                             podetail.create_time = DateTime.Now;
-                            podetail.factory_id = input.factoryId;
-                            podetail.tenant_id = input.tenantId;
+                            podetail.factory_id = param.factoryId;
+                            podetail.tenant_id = param.tenantId;
                             podetail.bang_id = bangid;
                             podetail.stock_id = 1;
                             podetaillist.Add(podetail);
@@ -1569,7 +1656,7 @@ namespace Business.ResourceExamineManagement
                     else
                     {
                         //不在同一周需要新建一张PO
-                        var itemsupplier = _srm_supplier.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
+                        var itemsupplier = itemsupplierList.Find(a => a.mysql_id == item.pr_purchaseid && a.tenant_id == param.tenantId && a.factory_id == param.factoryId);
                         //新建一个PO单
                         mo_srm_po_main po_Main = new mo_srm_po_main();
                         po_Main.id = help.NextId();
@@ -1589,16 +1676,16 @@ namespace Business.ResourceExamineManagement
                         po_Main.supplier_id = item.pr_purchaseid;
                         po_Main.supplier_name = item.pr_purchasename;
                         po_Main.supplier_no = item.pr_purchasenumber;
-                        po_Main.contact = itemsupplier is null ? itemsupplier?.FirstOrDefault().contact:"";
-                        po_Main.suppliertelephone = itemsupplier is null ? itemsupplier?.FirstOrDefault().telephone:"";
+                        po_Main.contact = itemsupplier is null ? "" : itemsupplier.contact;
+                        po_Main.suppliertelephone = itemsupplier is null ? "" : itemsupplier.telephone;
                         po_Main.deliveryaddress = "";
-                        po_Main.supplierdddress = itemsupplier is null ? itemsupplier?.FirstOrDefault().supplier_address:"";
+                        po_Main.supplierdddress = itemsupplier is null ? "" : itemsupplier.supplier_address;
                         po_Main.confirmstate = 1;
                         po_Main.logisticsstate = 0;
                         po_Main.financialstate = 0;
                         po_Main.create_time = DateTime.Now;
-                        po_Main.factory_id = input.factoryId;
-                        po_Main.tenant_id = input.tenantId;
+                        po_Main.factory_id = param.factoryId;
+                        po_Main.tenant_id = param.tenantId;
                         po_Main.bang_id = bangid;
                         po_Main.po_delivery = 1;
                         polist.Add(po_Main);
@@ -1628,8 +1715,8 @@ namespace Business.ResourceExamineManagement
                         podetail.rnumber = 0;
                         podetail.currencytype = item.currencytype;
                         podetail.create_time = DateTime.Now;
-                        podetail.factory_id = input.factoryId;
-                        podetail.tenant_id = input.tenantId;
+                        podetail.factory_id = param.factoryId;
+                        podetail.tenant_id = param.tenantId;
                         podetail.bang_id = bangid;
                         podetail.stock_id = 1;
                         podetaillist.Add(podetail);
@@ -1639,12 +1726,14 @@ namespace Business.ResourceExamineManagement
                     }
                 }
             }
-            _srm_po_main.InsertMany(polist);
-            _srm_po_list.InsertMany(podetaillist);
+
             List<srm_po_main> po_mainlist = ObjectMapper.Map<List<mo_srm_po_main>, List<srm_po_main>>(polist);
-            _businessDbContext.BulkInsert(po_mainlist);
             var po_listlist = ObjectMapper.Map<List<mo_srm_po_list>, List<srm_po_list>>(podetaillist);
-            _businessDbContext.BulkInsert(po_listlist);
+
+            poaction.poMain.AddRange(po_mainlist);
+            poaction.polist.AddRange(po_listlist);
+            poaction.mopoMain.AddRange(polist);
+            poaction.mopolist.AddRange(podetaillist);
         }
 
         /// <summary>
@@ -2437,19 +2526,14 @@ namespace Business.ResourceExamineManagement
         /// 同步工单等相关数据
         /// </summary>
         /// <param name="morders"></param>
-        public void CreateWorkOrdDates(List<mes_morder> morders)
+        /// <param name="allRoutings">工艺路线数据</param>
+        public void CreateWorkOrdDates(List<mes_morder> morders, List<RoutingOpDetail> allRoutings, List<WorkOrdMaster> workOrds, List<WorkOrdRouting> workOrdRoutings, List<WorkOrdDetail> workOrdDetails)
         {
-            //获取工艺路线数据:product_code=物料编码
-            List<RoutingOpDetail> allRoutings = _routingOpDetail.Select(p => morders.Select(m => m.product_code).Contains(p.RoutingCode));
-            
             //工单主表
-            List<WorkOrdMaster> workOrds = new List<WorkOrdMaster>();
             WorkOrdMaster workOrd;
             //工单工艺路线表
-            List<WorkOrdRouting> workOrdRoutings = new List<WorkOrdRouting>();
             WorkOrdRouting woRouting;
             //工单物料表
-            List<WorkOrdDetail> workOrdDetails = new List<WorkOrdDetail>();
             WorkOrdDetail woDetail;
             foreach (var item in morders)
             {
@@ -2506,9 +2590,6 @@ namespace Business.ResourceExamineManagement
                     workOrdDetails.Add(woDetail);
                 }
             }
-            _workOrdMaster.Insert(workOrds);
-            _workOrdRouting.Insert(workOrdRoutings);
-            _workOrdDetail.Insert(workOrdDetails);
         }
 
         /// <summary>
@@ -2569,7 +2650,7 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="sentrys"></param>
         /// <param name="kittingTimes"></param>
-        public async void CalcSuggestDate(List<crm_seorderentry> sentrys, List<KittingTimeDto> kittingTimes) 
+        public void CalcSuggestDate(List<crm_seorderentry> sentrys, List<KittingTimeDto> kittingTimes) 
         {
             //获取排产记录
             List<string> itemNums = sentrys.Select(p=>p.item_number).Distinct().ToList();
@@ -2587,8 +2668,7 @@ namespace Business.ResourceExamineManagement
             {
                 return;
             }
-            sentrys = _productExamineAppService.CalcSuggestTime(sentrys, kittingTimes);
-            await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
+            _productExamineAppService.CalcSuggestTime(sentrys, kittingTimes);
         }
     }
 }

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

@@ -195,7 +195,7 @@ namespace Business.SyncDataManagement
                 //插入数据
                 await _ic_bom_child.InsertMany(moIcbom_childs);
             }
-
+/*
             //工厂物料明细表
             var ic_factory_details = _mysql_ic_factory_details.GetListAsync().Result;
             if (ic_factory_details.Count > 0)
@@ -324,7 +324,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);
-            }
+            }*/
         }
     }
 }

+ 5104 - 0
MicroServices/Business/Business.Host/Migrations/20230524065646_addtable20230524.Designer.cs

@@ -0,0 +1,5104 @@
+// <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("20230524065646_addtable20230524")]
+    partial class addtable20230524
+    {
+        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.bom", 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<string>("bom_number")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("bom单编号");
+
+                    b.Property<DateTime?>("check_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("检验时间");
+
+                    b.Property<string>("checker")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("检验人");
+
+                    b.Property<long?>("child_icitem_id")
+                        .IsRequired()
+                        .HasColumnType("bigint")
+                        .HasComment("子级物料id");
+
+                    b.Property<string>("child_item_name")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("子级物料名称");
+
+                    b.Property<string>("child_item_number")
+                        .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<int?>("haveicsubs")
+                        .HasColumnType("int")
+                        .HasComment("存在替代关系");
+
+                    b.Property<string>("icitem_ids")
+                        .HasMaxLength(2000)
+                        .HasColumnType("nvarchar(2000)")
+                        .HasComment("组合模式");
+
+                    b.Property<int?>("is_replace")
+                        .HasColumnType("int")
+                        .HasComment("是否群组替代");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<long>("parent_icitem_id")
+                        .HasColumnType("bigint")
+                        .HasComment("父级物料id");
+
+                    b.Property<string>("parent_item_name")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("父级物料名称");
+
+                    b.Property<string>("parent_item_number")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("父级物料代码");
+
+                    b.Property<string>("product_designer")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("产品设计员");
+
+                    b.Property<decimal?>("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>("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<int?>("use_status")
+                        .HasColumnType("int")
+                        .HasComment("使用状态");
+
+                    b.Property<string>("user")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)")
+                        .HasComment("bom创建人");
+
+                    b.Property<DateTime?>("user_date")
+                        .HasColumnType("datetime2")
+                        .HasComment("bom创建时间");
+
+                    b.Property<string>("version")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("版本");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("bom_number", "parent_item_number", "child_item_number", "version", "tenant_id", "factory_id");
+
+                    b.ToTable("bom", (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_factory_details", b =>
+                {
+                    b.Property<long>("Id")
+                        .HasColumnType("bigint");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("bit")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("删除标识");
+
+                    b.Property<string>("back_flush_sp")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("倒冲仓位");
+
+                    b.Property<string>("back_flush_stock")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("倒冲仓库");
+
+                    b.Property<int?>("batch_manager")
+                        .HasColumnType("int")
+                        .HasComment("是否采用业务批次管理");
+
+                    b.Property<decimal?>("check_cycle")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("盘点周期");
+
+                    b.Property<string>("check_cycunit")
+                        .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<decimal?>("daily_consume")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("日消耗量");
+
+                    b.Property<int?>("days_per")
+                        .HasColumnType("int")
+                        .HasComment("每周_月第天");
+
+                    b.Property<long?>("default_chkloc")
+                        .HasColumnType("bigint")
+                        .HasComment("默认待检仓库");
+
+                    b.Property<long?>("default_chksp")
+                        .HasColumnType("bigint")
+                        .HasComment("默认待检仓位");
+
+                    b.Property<long?>("default_loc")
+                        .HasColumnType("bigint")
+                        .HasComment("默认仓库");
+
+                    b.Property<string>("default_manager")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("默认仓管员");
+
+                    b.Property<long?>("default_sp")
+                        .HasColumnType("bigint")
+                        .HasComment("默认仓位");
+
+                    b.Property<string>("factory_fode")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("工厂编码");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<decimal?>("high_limit")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("最高存量");
+
+                    b.Property<long>("icitem_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("icitem_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料名称");
+
+                    b.Property<int?>("isbackflush")
+                        .HasColumnType("int")
+                        .HasComment("是否倒冲");
+
+                    b.Property<string>("item_shelve")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("货架信息");
+
+                    b.Property<DateTime?>("last_checkdate")
+                        .HasColumnType("datetime2")
+                        .HasComment("上次盘点日期");
+
+                    b.Property<decimal?>("low_limit")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("最低存量");
+
+                    b.Property<decimal?>("mat_enter_days")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .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>("note")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .HasComment("特殊备注");
+
+                    b.Property<decimal?>("order_leadtime")
+                        .IsRequired()
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .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?>("pick_type")
+                        .HasColumnType("bigint")
+                        .HasComment("领料类型");
+
+                    b.Property<decimal?>("prd_out_days")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("成品发货时间/天");
+
+                    b.Property<decimal?>("prdenter_days")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("成品入库时间/天");
+
+                    b.Property<string>("product_line")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("产品线");
+
+                    b.Property<string>("product_principal")
+                        .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?>("qty_max")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("最大订货量");
+
+                    b.Property<decimal?>("raw_matreceiv_days")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("原材料收货处理时间/天");
+
+                    b.Property<decimal?>("stock_leadtime")
+                        .IsRequired()
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("仓库中提前期_天");
+
+                    b.Property<int?>("stock_time")
+                        .HasColumnType("int")
+                        .HasComment("是否需要库龄管理");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<decimal?>("transportation_leadtime")
+                        .IsRequired()
+                        .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<string>("warehouse_note")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .HasComment("库存备注");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("icitem_id", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_factory_details", (string)null);
+
+                    b.HasComment("工厂物料明细表");
+                });
+
+            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<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<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")
+                        .HasColumnType("decimal(18,2)")
+                        .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<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?>("iskeyitem")
+                        .HasColumnType("int")
+                        .HasComment("是否关键件");
+
+                    b.Property<long?>("item_level")
+                        .HasColumnType("bigint")
+                        .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")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("最大生产批量");
+
+                    b.Property<string>("maund")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("重量单位");
+
+                    b.Property<string>("model")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)")
+                        .HasComment("规格型号");
+
+                    b.Property<decimal?>("moq")
+                        .HasColumnType("decimal(18,2)")
+                        .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<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<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")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("标准工期");
+
+                    b.Property<decimal?>("sterilize_leadtime")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("工序委外提前期");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<decimal?>("transfer_leadtime")
+                        .HasColumnType("decimal(18,2)")
+                        .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_metering_unit", 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("物料id");
+
+                    b.Property<string>("icitem_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料名称");
+
+                    b.Property<string>("order_unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("采购计量单位");
+
+                    b.Property<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<string>("product_unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("生产计量单位");
+
+                    b.Property<int?>("qty_decimal")
+                        .HasColumnType("int")
+                        .HasComment("数量精度");
+
+                    b.Property<string>("sale_unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("销售计量单位");
+
+                    b.Property<string>("store_unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("库存计量单位");
+
+                    b.Property<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<string>("unit")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("基本计量单位");
+
+                    b.Property<string>("unit_group")
+                        .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("icitem_id", "icitem_name", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_metering_unit", (string)null);
+
+                    b.HasComment("物料计量表");
+                });
+
+            modelBuilder.Entity("Business.Model.MES.IC.ic_plan", 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<int?>("aux_prop_plan")
+                        .HasColumnType("int")
+                        .HasComment("辅助属性参与计划运算");
+
+                    b.Property<decimal?>("bat_change_economy")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("变动提前期批量");
+
+                    b.Property<int?>("book_plan")
+                        .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<string>("factory_code")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("工厂编码");
+
+                    b.Property<long?>("factory_id")
+                        .HasColumnType("bigint")
+                        .HasComment("工厂ID");
+
+                    b.Property<decimal?>("fix_leadtime")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("固定提前期(天)");
+
+                    b.Property<long>("icitem_id")
+                        .HasColumnType("bigint")
+                        .HasComment("物料id");
+
+                    b.Property<string>("icitem_name")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("物料名称");
+
+                    b.Property<int?>("isfixedreorder")
+                        .HasColumnType("int")
+                        .HasComment("设置为固定再订货点");
+
+                    b.Property<decimal?>("lead_time")
+                        .HasPrecision(23, 10)
+                        .HasColumnType("decimal(23,10)")
+                        .HasComment("变动提前期");
+
+                    b.Property<decimal?>("order_inter_val")
+                        .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<long?>("org_id")
+                        .HasColumnType("bigint")
+                        .HasComment("组织ID");
+
+                    b.Property<int?>("plan_trategy")
+                        .HasColumnType("int")
+                        .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>("plannote")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)")
+                        .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<long>("tenant_id")
+                        .HasColumnType("bigint")
+                        .HasComment("企业ID");
+
+                    b.Property<decimal?>("total_tqq")
+                        .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.HasKey("Id");
+
+                    b.HasIndex("icitem_id", "icitem_name", "tenant_id", "factory_id");
+
+                    b.ToTable("ic_plan", (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")
+                        .IsRequired()
+                        .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")
+                        .IsRequired()
+                        .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?>("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
+        }
+    }
+}

+ 125 - 0
MicroServices/Business/Business.Host/Migrations/20230524065646_addtable20230524.cs

@@ -0,0 +1,125 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Business.Migrations
+{
+    public partial class addtable20230524 : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<string>(
+                name: "abc",
+                table: "ic_item",
+                type: "nvarchar(max)",
+                nullable: true,
+                comment: "ABC分类");
+
+            migrationBuilder.AddColumn<decimal>(
+                name: "clean_leadtime",
+                table: "ic_item",
+                type: "decimal(18,2)",
+                nullable: true,
+                comment: "预处理提前期");
+
+            migrationBuilder.AddColumn<string>(
+                name: "fmr",
+                table: "ic_item",
+                type: "nvarchar(max)",
+                nullable: true,
+                comment: "FMR分类");
+
+            migrationBuilder.AddColumn<int>(
+                name: "is_clean",
+                table: "ic_item",
+                type: "int",
+                nullable: true,
+                comment: "是否备料前预处理");
+
+            migrationBuilder.AddColumn<int>(
+                name: "life_state",
+                table: "ic_item",
+                type: "int",
+                nullable: true,
+                comment: "生命周期状态");
+
+            migrationBuilder.AddColumn<decimal>(
+                name: "maq",
+                table: "ic_item",
+                type: "decimal(18,2)",
+                nullable: true,
+                comment: "最大生产批量");
+
+            migrationBuilder.AddColumn<decimal>(
+                name: "moq",
+                table: "ic_item",
+                type: "decimal(18,2)",
+                nullable: true,
+                comment: "经济生产批量");
+
+            migrationBuilder.AddColumn<decimal>(
+                name: "standard_period",
+                table: "ic_item",
+                type: "decimal(18,2)",
+                nullable: true,
+                comment: "标准工期");
+
+            migrationBuilder.AddColumn<decimal>(
+                name: "sterilize_leadtime",
+                table: "ic_item",
+                type: "decimal(18,2)",
+                nullable: true,
+                comment: "工序委外提前期");
+
+            migrationBuilder.AddColumn<decimal>(
+                name: "transfer_leadtime",
+                table: "ic_item",
+                type: "decimal(18,2)",
+                nullable: true,
+                comment: "平台调拨提前期");
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "abc",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "clean_leadtime",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "fmr",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "is_clean",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "life_state",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "maq",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "moq",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "standard_period",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "sterilize_leadtime",
+                table: "ic_item");
+
+            migrationBuilder.DropColumn(
+                name: "transfer_leadtime",
+                table: "ic_item");
+        }
+    }
+}

+ 50 - 1
MicroServices/Business/Business.Host/Migrations/BusinessMigrationDbContextModelSnapshot.cs

@@ -929,6 +929,10 @@ namespace Business.Migrations
                         .HasColumnName("IsDeleted")
                         .HasComment("删除标识");
 
+                    b.Property<string>("abc")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("ABC分类");
+
                     b.Property<int?>("allowbatch")
                         .HasColumnType("int")
                         .HasComment("批号管理");
@@ -963,6 +967,10 @@ namespace Business.Migrations
                         .HasColumnType("nvarchar(80)")
                         .HasComment("图号");
 
+                    b.Property<decimal?>("clean_leadtime")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("预处理提前期");
+
                     b.Property<long?>("create_by")
                         .HasColumnType("bigint")
                         .HasComment("创建人id");
@@ -1003,6 +1011,10 @@ namespace Business.Migrations
                         .HasColumnType("bigint")
                         .HasComment("工厂ID");
 
+                    b.Property<string>("fmr")
+                        .HasColumnType("nvarchar(max)")
+                        .HasComment("FMR分类");
+
                     b.Property<string>("fms_number")
                         .HasMaxLength(80)
                         .HasColumnType("nvarchar(80)")
@@ -1028,6 +1040,10 @@ namespace Business.Migrations
                         .HasColumnType("decimal(23,10)")
                         .HasComment("高度");
 
+                    b.Property<int?>("is_clean")
+                        .HasColumnType("int")
+                        .HasComment("是否备料前预处理");
+
                     b.Property<int?>("is_equipment")
                         .HasColumnType("int")
                         .HasComment("是否为设备");
@@ -1045,6 +1061,14 @@ namespace Business.Migrations
                         .HasColumnType("decimal(23,10)")
                         .HasComment("长度");
 
+                    b.Property<int?>("life_state")
+                        .HasColumnType("int")
+                        .HasComment("生命周期状态");
+
+                    b.Property<decimal?>("maq")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("最大生产批量");
+
                     b.Property<string>("maund")
                         .HasMaxLength(80)
                         .HasColumnType("nvarchar(80)")
@@ -1055,6 +1079,10 @@ namespace Business.Migrations
                         .HasColumnType("nvarchar(200)")
                         .HasComment("规格型号");
 
+                    b.Property<decimal?>("moq")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("经济生产批量");
+
                     b.Property<string>("name")
                         .HasMaxLength(80)
                         .HasColumnType("nvarchar(80)")
@@ -1102,10 +1130,22 @@ namespace Business.Migrations
                         .HasColumnType("decimal(23,10)")
                         .HasComment("单位标准工时_小时");
 
+                    b.Property<decimal?>("standard_period")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("标准工期");
+
+                    b.Property<decimal?>("sterilize_leadtime")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("工序委外提前期");
+
                     b.Property<long>("tenant_id")
                         .HasColumnType("bigint")
                         .HasComment("企业ID");
 
+                    b.Property<decimal?>("transfer_leadtime")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("平台调拨提前期");
+
                     b.Property<string>("unit")
                         .HasMaxLength(80)
                         .HasColumnType("nvarchar(80)")
@@ -2398,6 +2438,10 @@ namespace Business.Migrations
                         .HasColumnType("datetime2")
                         .HasComment("修改时间");
 
+                    b.Property<int>("urgent")
+                        .HasColumnType("int")
+                        .HasComment("加急级别");
+
                     b.Property<decimal?>("work_number")
                         .HasPrecision(23, 10)
                         .HasColumnType("decimal(23,10)")
@@ -3166,7 +3210,7 @@ namespace Business.Migrations
                         .HasColumnType("datetime2")
                         .HasComment("修改时间");
 
-                    b.Property<int?>("urgent")
+                    b.Property<int>("urgent")
                         .HasColumnType("int")
                         .HasComment("加急级别");
 
@@ -3469,6 +3513,11 @@ namespace Business.Migrations
                         .HasColumnName("IsDeleted")
                         .HasComment("删除标识");
 
+                    b.Property<string>("ItemNum")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)")
+                        .HasComment("物料编码");
+
                     b.Property<long?>("create_by")
                         .HasColumnType("bigint")
                         .HasComment("创建人id");