Parcourir la source

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

heteng il y a 3 ans
Parent
commit
a6af2756bc
44 fichiers modifiés avec 6203 ajouts et 745 suppressions
  1. 6 6
      MicroServices/Business/Buissness.UnitTest/Business.TestBase.csproj
  2. 1 1
      MicroServices/Business/Business.Application.Contracts/Business.Application.Contracts.csproj
  3. 32 0
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/POGroupDto.cs
  4. 2 1
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PoActionListDto.cs
  5. 19 0
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PrWeekDto.cs
  6. 7 0
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/IResourceExamineAppService.cs
  7. 4 4
      MicroServices/Business/Business.Application/Business.Application.csproj
  8. 0 29
      MicroServices/Business/Business.Application/Quartz/ExtJobService.cs
  9. 7 8
      MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs
  10. 541 588
      MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs
  11. 7 8
      MicroServices/Business/Business.Application/SyncDataManagement/SyncMySQLDataAppService.cs
  12. 3 2
      MicroServices/Business/Business.Core/Business.Core.csproj
  13. 0 31
      MicroServices/Business/Business.Core/MongoDBHelper/MongoDBTools.cs
  14. 411 0
      MicroServices/Business/Business.Core/Utilities/Encrypt.cs
  15. 15 2
      MicroServices/Business/Business.Core/Utilities/SnowFlake.cs
  16. 70 0
      MicroServices/Business/Business.Core/Utilities/StringExtensions.cs
  17. 4 4
      MicroServices/Business/Business.Domain/Business.Domain.csproj
  18. 101 0
      MicroServices/Business/Business.Domain/MoBaseEntity.cs
  19. 23 0
      MicroServices/Business/Business.Domain/User.cs
  20. 8 7
      MicroServices/Business/Business.EntityFrameworkCore/Business.EntityFrameworkCore.csproj
  21. 5 0
      MicroServices/Business/Business.EntityFrameworkCore/EntityFrameworkCore/DOP/BusinessDbContext.cs
  22. 6 5
      MicroServices/Business/Business.Host/Business.Host.csproj
  23. 25 23
      MicroServices/Business/Business.Host/BusinessHostModule.cs
  24. 4575 0
      MicroServices/Business/Business.Host/Migrations/20230620015923_addtable20230620.Designer.cs
  25. 52 0
      MicroServices/Business/Business.Host/Migrations/20230620015923_addtable20230620.cs
  26. 15 0
      MicroServices/Business/Business.Host/Migrations/BusinessMigrationDbContextModelSnapshot.cs
  27. 1 1
      MicroServices/Business/Business.Host/appsettings.json
  28. 1 1
      MicroServices/Business/Business.HttpApi.Client/Business.HttpApi.Client.csproj
  29. 1 1
      MicroServices/Business/Business.HttpApi/Business.HttpApi.csproj
  30. 12 0
      MicroServices/Business/Business.HttpApi/Controllers/ResourceExamineController.cs
  31. 6 0
      MicroServices/Business/Business.sln
  32. 1 1
      MicroServices/Business/Bussiness.EntityFrameworkCore.Test/Business.EntityFrameworkCore.Test.csproj
  33. 0 9
      MicroServices/Business/Bussiness.Model/Base/BaseEntity.cs
  34. 2 2
      MicroServices/Business/Bussiness.Model/Business.Model.csproj
  35. 91 0
      MicroServices/Business/Bussiness.Model/MES/IC/GeneralizedCodeMaster.cs
  36. 8 1
      MicroServices/Business/Bussiness.Model/SRM/srm_pr_main.cs
  37. 20 0
      MicroServices/Business/Bussiness.Model/SRM/srm_purchase.cs
  38. 27 0
      MicroServices/Business/Bussiness.MongoDB/BusinessMongoDbContextModelCreatingExtensions.cs
  39. 19 0
      MicroServices/Business/Bussiness.MongoDB/Bussiness.MongoDB.csproj
  40. 22 0
      MicroServices/Business/Bussiness.MongoDB/BussinessMongoDbContext.cs
  41. 36 0
      MicroServices/Business/Bussiness.MongoDB/BussinessMongoDbModule.cs
  42. 16 0
      MicroServices/Business/Bussiness.MongoDB/MongoDbConsts.cs
  43. 0 9
      MicroServices/Business/Bussiness.MongoModel/Base/MoBaseEntity.cs
  44. 1 1
      MicroServices/Business/Bussiness.MongoModel/Business.MongoModel.csproj

+ 6 - 6
MicroServices/Business/Buissness.UnitTest/Business.TestBase.csproj

@@ -10,12 +10,12 @@
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
     <PackageReference Include="NSubstitute" Version="4.2.2" />
     <PackageReference Include="Shouldly" Version="4.1.0" />
-    <PackageReference Include="Volo.Abp.Authorization" Version="6.0.0" />
-    <PackageReference Include="Volo.Abp.Autofac" Version="7.1.0" />
-    <PackageReference Include="Volo.Abp.BackgroundJobs.Domain" Version="4.4.0" />
-    <PackageReference Include="Volo.Abp.Identity.Domain" Version="4.4.0" />
-    <PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.4.0" />
-    <PackageReference Include="Volo.Abp.TestBase" Version="7.1.0" />
+    <PackageReference Include="Volo.Abp.Authorization" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Autofac" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.BackgroundJobs.Domain" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Identity.Domain" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.TestBase" Version="6.0.3" />
     <PackageReference Include="xunit.extensibility.core" Version="2.4.2" />
   </ItemGroup>
 

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

@@ -34,7 +34,7 @@
 
   <ItemGroup>
     
-    <PackageReference Include="Volo.Abp.PermissionManagement.Application.Contracts" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.PermissionManagement.Application.Contracts" Version="6.0.3" />
   </ItemGroup>
 
   <ItemGroup>

+ 32 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/POGroupDto.cs

@@ -0,0 +1,32 @@
+using Business.Model.SRM;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Business.ResourceExamineManagement.Dto
+{
+    public class POGroupDto
+    {
+        /// <summary>
+        /// 0销售 1计划
+        /// </summary>
+        public int Type { get; set; }
+
+        /// <summary>
+        /// 外购  委外
+        /// </summary>
+        public int erp_cls { get; set; }
+
+        /// <summary>
+        /// 供应类别
+        /// </summary>
+        public string supplier_type { get; set; }
+
+        /// <summary>
+        /// polist集合
+        /// </summary>
+        public List<srm_po_list> polist { get; set; }
+}
+}

+ 2 - 1
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PoActionListDto.cs

@@ -15,7 +15,8 @@ namespace Business.ResourceExamineManagement.Dto
         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>();
-        public List<mo_srm_po_occupy> poOccupiesList { get; set; } = new List<mo_srm_po_occupy>();
+        public List<mo_srm_po_occupy> mopoOccupiesList { get; set; } = new List<mo_srm_po_occupy>();
+        public List<srm_po_occupy> poOccupiesList { get; set; } = new List<srm_po_occupy>();
         public List<PurOrdMaster> poMasterList { get; set; } = new List<PurOrdMaster>();
         public List<PurOrdDetail> poDetailList { get; set; } = new List<PurOrdDetail>();
     }

+ 19 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PrWeekDto.cs

@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Business.ResourceExamineManagement.Dto
+{
+    public class PrWeekDto
+    {
+        public long icitem_id { get; set; }
+        public long pr_purchaseid { get; set; }
+
+        public int week { get; set; }
+
+        public List<int> weekList { get; set; }
+
+    }
+}

+ 7 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/IResourceExamineAppService.cs

@@ -67,5 +67,12 @@ namespace Business.ResourceExamineManagement
         /// <param name="input"></param>
         /// <returns></returns>
         void AutoCreateBomBillInterface();
+
+        /// <summary>
+        /// Ï´ïÁìÁÏ
+        /// </summary>
+        /// <param name="workOrds"></param>
+        /// <returns></returns>
+        void PrAutoMerge();
     }
 }

+ 4 - 4
MicroServices/Business/Business.Application/Business.Application.csproj

@@ -22,10 +22,10 @@
     <PackageReference Include="Magicodes.IE.Pdf" Version="2.7.1" />
     <PackageReference Include="NLog" Version="5.1.2" />
     <PackageReference Include="Quartz.AspNetCore" Version="3.6.2" />
-    <PackageReference Include="Volo.Abp.AutoMapper" Version="6.0.0" />
-    <PackageReference Include="Volo.Abp.Http.Client.IdentityModel" Version="6.0.0" />
-	<PackageReference Include="Volo.Abp.Ddd.Application" Version="6.0.0" />
-    <PackageReference Include="Volo.Abp.Identity.HttpApi.Client" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.AutoMapper" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Http.Client.IdentityModel" Version="6.0.3" />
+	<PackageReference Include="Volo.Abp.Ddd.Application" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Identity.HttpApi.Client" Version="6.0.3" />
     <PackageReference Include="XCZ.BaseService.HttpApi.Client" Version="1.0.0" />
     <PackageReference Include="XiaoYang.EntityFrameworkCore.Bulk.MySql" Version="6.0.29" />
   </ItemGroup>

+ 0 - 29
MicroServices/Business/Business.Application/Quartz/ExtJobService.cs

@@ -20,19 +20,6 @@ namespace Business.Quartz
         private IRepository<in_kd_material, long> _kd_material;
         private IRepository<ic_item, long> _ic_item;
         private IRepository<srm_purchase, long> _srm_purchase;
-        private IRepository<ic_item_stock, long> _ic_item_stock;
-
-
-        private IRepository<in_kd_bom, long> _kd_bom;
-        private IRepository<ic_bom, long> _ic_bom;
-        private IRepository<ic_bom_child, long> _ic_bom_child;
-        private IRepository<ic_substitute, long> _ic_substitute;
-        private IRepository<ic_substitute_group, long> _ic_substitute_group;
-        private IRepository<ic_substitute_group_detail, long> _ic_substitute_group_detail;
-
-        private IRepository<ext_xref, long> _ext_xref;
-
-
         private readonly BusinessDbContext _businessDbContext;
         private readonly BusinessExtDbContext _businessExtDbContext;
 
@@ -40,14 +27,6 @@ namespace Business.Quartz
          IRepository<in_kd_material, long> kd_material,
          IRepository<ic_item, long> ic_item,
          IRepository<srm_purchase, long> srm_purchase,
-         IRepository<ic_item_stock, long> ic_item_stock,
-         IRepository<in_kd_bom, long> kd_bom,
-         IRepository<ic_bom, long> ic_bom,
-         IRepository<ic_bom_child, long> ic_bom_child,
-         IRepository<ic_substitute, long> ic_substitute,
-         IRepository<ic_substitute_group, long> ic_substitute_group,
-         IRepository<ic_substitute_group_detail, long> ic_substitute_group_detail,
-         IRepository<ext_xref, long> ext_xref,
          BusinessDbContext businessDbContext,
          BusinessExtDbContext businessExtDbContext
          )
@@ -55,14 +34,6 @@ namespace Business.Quartz
             _kd_material= kd_material;
             _ic_item= ic_item;
             _srm_purchase = srm_purchase;
-            _ic_item_stock = ic_item_stock;
-            _kd_bom = kd_bom;
-            _ic_bom= ic_bom;
-            _ic_bom_child= ic_bom_child;
-            _ic_substitute= ic_substitute;
-            _ic_substitute_group= ic_substitute_group;
-            _ic_substitute_group_detail= ic_substitute_group_detail;
-            _ext_xref= ext_xref;
             _businessDbContext = businessDbContext;
             _businessExtDbContext = businessExtDbContext;
         }

+ 7 - 8
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -1179,10 +1179,10 @@ namespace Business.ResourceExamineManagement
             supplier.ForEach(x =>
             {
                 //提前期随机数,金额随机数
-                leadTime.order_leadtime = rnd.Next(1, 5);
-                leadTime.transportation_leadtime = rnd.Next(1, 5);
-                leadTime.stock_leadtime = rnd.Next(1, 5);
-                leadTime.production_leadtime = rnd.Next(1, 5);
+                leadTime.order_leadtime = plan.order_leadtime;
+                leadTime.transportation_leadtime = plan.transportation_leadtime;
+                leadTime.stock_leadtime = plan.stock_leadtime;
+                leadTime.production_leadtime = plan.production_leadtime;
 
                 x.netpurchase_price = rnd.Next(1, 100);
                 x.taxrate = 0.13m;//固定13%增值税
@@ -1207,13 +1207,12 @@ namespace Business.ResourceExamineManagement
                 srm_Pr.icitem_name = returnlist.item_name;//物料名称
                 srm_Pr.pr_order_type = 1;//单据类型
                 srm_Pr.pr_ssend_date = DateTime.Now;//系统建议下单日期
-                srm_Pr.pr_sarrive_date = DateTime.Now.AddDays((double)leadTime.order_leadtime).AddDays((double)leadTime.transportation_leadtime);//系统建议到达日期(建议到货日期)
+                srm_Pr.pr_sarrive_date = DateTime.Now.AddDays((double)plan.order_leadtime).AddDays((double)plan.transportation_leadtime);//系统建议到达日期(建议到货日期)
                 srm_Pr.pr_psend_date = DateTime.Now;//计划下单日期
                 srm_Pr.pr_parrive_date = DateTime.Now.AddDays((double)leadTime.order_leadtime).AddDays((double)leadTime.transportation_leadtime);//计划到达日期
                 srm_Pr.pr_rarrive_date = DateTime.Now.AddDays((double)leadTime.order_leadtime).AddDays((double)leadTime.transportation_leadtime);//需求到货日期
                 srm_Pr.pr_sysprice = returnlist.lack_qty * x.netpurchase_price * (1 + x.taxrate);//系统价格(含税)
                 srm_Pr.pr_orderprice = returnlist.lack_qty * x.netpurchase_price * (1 + x.taxrate);//订单价格(含税)
-                srm_Pr.pr_rarrive_date = DateTime.Now.AddDays((double)leadTime.order_leadtime);
                 srm_Pr.pr_price = x.netpurchase_price;//采购净价(不含税)
                 srm_Pr.pr_rate = x.taxrate;//税率
                 srm_Pr.pr_unit = returnlist.unit;//单位
@@ -1248,7 +1247,7 @@ namespace Business.ResourceExamineManagement
             return sRMPR;
         }
         // 生成订单编号 字母+年月日+8位随机数+时间戳
-        private string getOrderNum(string preCode)
+        public string getOrderNum(string preCode)
         {
             string Dates = DateTime.Now.ToString("yyyyMMdd");//获取当前时间
             Random Rdm = new Random(Guid.NewGuid().GetHashCode());//随机数
@@ -1267,7 +1266,7 @@ namespace Business.ResourceExamineManagement
         {
             mo_mes_oorder oOrder = new mo_mes_oorder();
             oOrder.id = help.NextId();
-            oOrder.GenerateNewId();
+            oOrder.mysql_id=help.NextId();
             oOrder.oorder_no = getOrderNum("WW");//生产工单编号
             oOrder.oorder_type = "委外工单";//生产工单类型
             oOrder.oorder_date = DateTime.Now;//委外订单日期

Fichier diff supprimé car celui-ci est trop grand
+ 541 - 588
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs


+ 7 - 8
MicroServices/Business/Business.Application/SyncDataManagement/SyncMySQLDataAppService.cs

@@ -150,16 +150,15 @@ namespace Business.SyncDataManagement
         /// <exception cref="NotImplementedException"></exception>
         public async void SyncBaseDataToMongoDB()
         {
-            //同步物料数据
-            var icItems = _mysql_ic_item.GetListAsync().Result;
-            if (icItems.Count > 0)
+            //物料采购报价单
+            var srm_purchase = _mysql_srm_purchase.GetListAsync().Result;
+            if (srm_purchase.Count > 0)
             {
                 //先清空表数据
-                await _ic_item.Delete(p => p.mysql_id != -1);
-                var moIcItems = ObjectMapper.Map<List<ic_item>, List<mo_ic_item>>(icItems);
-                moIcItems.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _ic_item.InsertMany(moIcItems);
+                await _srm_purchase.Delete(p => p.mysql_id != -1);
+                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);
             }
             /*//同步物料BOM明细数据
             var icbom_childs = _mysql_ic_bom_child.GetListAsync().Result;

+ 3 - 2
MicroServices/Business/Business.Core/Business.Core.csproj

@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <TargetFramework>net6.0</TargetFramework>
@@ -14,10 +14,11 @@
     <PackageReference Include="NLog" Version="5.1.2" />
     <PackageReference Include="NLog.Extensions.Logging" Version="5.2.2" />
     <PackageReference Include="NLog.Web.AspNetCore" Version="5.2.2" />
+    <PackageReference Include="RSAExtensions" Version="1.1.1" />
     <PackageReference Include="Spire.Barcode" Version="3.5.0" />
     <PackageReference Include="Spire.PDF" Version="4.11.3" />
     <PackageReference Include="ThoughtWorks.QRCode" Version="1.1.0" />
-    <PackageReference Include="Volo.Abp.Ddd.Domain" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.Ddd.Domain" Version="6.0.3" />
   </ItemGroup>
 
 </Project>

+ 0 - 31
MicroServices/Business/Business.Core/MongoDBHelper/MongoDBTools.cs

@@ -191,36 +191,5 @@ namespace Business.Core.MongoDBHelper
         {
             return mongoCollection.Find(filter).Project(projecter).Sort(sorter).ToListAsync();
         }
-        /// <summary>
-        /// 排序扩展方法
-        /// </summary>
-        public static class MongoDBExt
-        {
-            //eg:MongoDBExt.GetSortDefinition<CheckRuleGroup>("targetType,targetId,fContentType desc")
-            /// <summary>
-            ///  生成SortDefinition对象 根据排序字符串(和sql一样)
-            ///  规则如下:Model属性名 [asc|desc]  ,默认asc可以不写,eg: id,name desc 
-            /// </summary>
-            /// <typeparam name="T"></typeparam>
-            /// <param name="orderBy"></param>
-            /// <returns></returns>
-            public static SortDefinition<T> GetSortDefinition<T>(string orderBy)
-            {
-                if (string.IsNullOrEmpty(orderBy)) return null;
-
-                var builder = Builders<T>.Sort;
-                List<SortDefinition<T>> sorts = new List<SortDefinition<T>>();
-                foreach (var order in orderBy.Split(','))
-                {
-                    var ods = order.Split(' ');
-                    if (ods.Length == 1 || (ods.Length == 2 && ods[1].ToLower() == "asc"))
-                        sorts.Add(builder.Ascending(ods[0]));
-                    else
-                        sorts.Add(builder.Descending(ods[0]));
-                }
-
-                return builder.Combine(sorts);
-            }
-        }
     }
 }

+ 411 - 0
MicroServices/Business/Business.Core/Utilities/Encrypt.cs

@@ -0,0 +1,411 @@
+using System.Text;
+using System;
+using System.Security.Cryptography;
+using System.Linq;
+using RSAExtensions;
+using Microsoft.AspNetCore.DataProtection.KeyManagement;
+
+namespace Business.Core.Utilities
+{
+    /// <summary>
+    /// 加密操作
+    /// </summary>
+    public static class Encrypt
+    {
+
+        #region Md5加密
+
+        /// <summary>
+        /// Md5加密,返回16位结果
+        /// </summary>
+        /// <param name="value">值</param>
+        public static string Md5By16(string value)
+        {
+            return Md5By16(value, Encoding.UTF8);
+        }
+
+        /// <summary>
+        /// Md5加密,返回16位结果
+        /// </summary>
+        /// <param name="value">值</param>
+        /// <param name="encoding">字符编码</param>
+        public static string Md5By16(string value, Encoding encoding)
+        {
+            return Md5(value, encoding, 4, 8);
+        }
+
+        /// <summary>
+        /// Md5加密
+        /// </summary>
+        private static string Md5(string value, Encoding encoding, int? startIndex, int? length)
+        {
+            if (string.IsNullOrWhiteSpace(value))
+                return string.Empty;
+            var md5 = MD5.Create();
+            string result;
+            try
+            {
+                var hash = md5.ComputeHash(encoding.GetBytes(value));
+                result = startIndex == null ? BitConverter.ToString(hash) : BitConverter.ToString(hash, startIndex.SafeValue(), length.SafeValue());
+            }
+            finally
+            {
+                md5.Clear();
+            }
+            return result.Replace("-", "");
+        }
+
+        /// <summary>
+        /// Md5加密,返回32位结果
+        /// </summary>
+        /// <param name="value">值</param>
+        public static string Md5By32(string value)
+        {
+            return Md5By32(value, Encoding.UTF8);
+        }
+
+        /// <summary>
+        /// Md5加密,返回32位结果
+        /// </summary>
+        /// <param name="value">值</param>
+        /// <param name="encoding">字符编码</param>
+        public static string Md5By32(string value, Encoding encoding)
+        {
+            return Md5(value, encoding, null, null);
+        }
+
+        #endregion
+
+        #region DES加密
+
+        /// <summary>
+        /// DES密钥,24位字符串
+        /// </summary>
+        public static string DesKey = "#s^un2ye21fcv%|f0XpR,+vh";
+
+        /// <summary>
+        /// DES加密
+        /// </summary>
+        /// <param name="value">待加密的值</param>
+        public static string DesEncrypt(object value)
+        {
+            return DesEncrypt(value, DesKey);
+        }
+
+        /// <summary>
+        /// DES加密
+        /// </summary>
+        /// <param name="value">待加密的值</param>
+        /// <param name="key">密钥,24位</param>
+        /// <param name="encoding">编码</param>
+        /// <param name="cipherMode">加密模式</param>
+        /// <param name="paddingMode">填充模式</param>
+        public static string DesEncrypt(object value, string key, Encoding encoding = null, CipherMode cipherMode = CipherMode.ECB, PaddingMode paddingMode = PaddingMode.PKCS7)
+        {
+            string text = value.SafeString();
+            if (ValidateDes(text, key) == false)
+                return string.Empty;
+            using var transform = CreateDesProvider(key, cipherMode, paddingMode).CreateEncryptor();
+            return GetEncryptResult(text, encoding, transform);
+        }
+
+        /// <summary>
+        /// 验证Des加密参数
+        /// </summary>
+        private static bool ValidateDes(string text, string key)
+        {
+            if (text.IsEmpty() || key.IsEmpty())
+                return false;
+            return key.Length == 24;
+        }
+
+        /// <summary>
+        /// 创建Des加密服务提供程序
+        /// </summary>
+        private static TripleDES CreateDesProvider(string key, CipherMode cipherMode, PaddingMode paddingMode)
+        {
+            var result = TripleDES.Create();
+            result.Key = Encoding.ASCII.GetBytes(key);
+            result.Mode = cipherMode;
+            result.Padding = paddingMode;
+            return result;
+        }
+
+        /// <summary>
+        /// 获取加密结果
+        /// </summary>
+        private static string GetEncryptResult(string value, Encoding encoding, ICryptoTransform transform)
+        {
+            encoding ??= Encoding.UTF8;
+            var bytes = encoding.GetBytes(value);
+            var result = transform.TransformFinalBlock(bytes, 0, bytes.Length);
+            return System.Convert.ToBase64String(result);
+        }
+
+        /// <summary>
+        /// DES解密
+        /// </summary>
+        /// <param name="value">加密后的值</param>
+        public static string DesDecrypt(object value)
+        {
+            return DesDecrypt(value, DesKey);
+        }
+
+        /// <summary>
+        /// DES解密
+        /// </summary>
+        /// <param name="value">加密后的值</param>
+        /// <param name="key">密钥,24位</param>
+        /// <param name="encoding">编码</param>
+        /// <param name="cipherMode">加密模式</param>
+        /// <param name="paddingMode">填充模式</param>
+        public static string DesDecrypt(object value, string key, Encoding encoding = null, CipherMode cipherMode = CipherMode.ECB, PaddingMode paddingMode = PaddingMode.PKCS7)
+        {
+            string text = value.SafeString();
+            if (!ValidateDes(text, key))
+                return string.Empty;
+            using var transform = CreateDesProvider(key, cipherMode, paddingMode).CreateDecryptor();
+            return GetDecryptResult(text, encoding, transform);
+        }
+
+        /// <summary>
+        /// 获取解密结果
+        /// </summary>
+        private static string GetDecryptResult(string value, Encoding encoding, ICryptoTransform transform)
+        {
+            encoding ??= Encoding.UTF8;
+            var bytes = System.Convert.FromBase64String(value);
+            var result = transform.TransformFinalBlock(bytes, 0, bytes.Length);
+            return encoding.GetString(result);
+        }
+
+        #endregion
+
+        #region AES加密
+
+        /// <summary>
+        /// 128位0向量
+        /// </summary>
+        private static byte[] _iv;
+        /// <summary>
+        /// 128位0向量
+        /// </summary>
+        private static byte[] Iv
+        {
+            get
+            {
+                if (_iv == null)
+                {
+                    var size = 16;
+                    _iv = new byte[size];
+                    for (int i = 0; i < size; i++)
+                        _iv[i] = 0;
+                }
+                return _iv;
+            }
+        }
+
+        /// <summary>
+        /// AES密钥
+        /// </summary>
+        public static string AesKey = "QaP1AF8utIarcBqdhYTZpVGbiNQ9M6IL";
+
+        /// <summary>
+        /// AES加密
+        /// </summary>
+        /// <param name="value">待加密的值</param>
+        public static string AesEncrypt(string value)
+        {
+            return AesEncrypt(value, AesKey);
+        }
+
+        /// <summary>
+        /// AES加密
+        /// </summary>
+        /// <param name="value">待加密的值</param>
+        /// <param name="key">密钥</param>
+        /// <param name="encoding">编码</param>
+        /// <param name="cipherMode">加密模式</param>
+        /// <param name="paddingMode">填充模式</param>
+        /// <param name="iv">初始化向量</param>
+        public static string AesEncrypt(string value, string key, Encoding encoding = null, CipherMode cipherMode = CipherMode.CBC, PaddingMode paddingMode = PaddingMode.PKCS7, byte[] iv = null)
+        {
+            if (value.IsEmpty() || key.IsEmpty())
+                return string.Empty;
+            iv ??= Iv;
+            var aes = CreateAes(key, cipherMode, paddingMode, iv);
+            using var transform = aes.CreateEncryptor(aes.Key, aes.IV);
+            return GetEncryptResult(value, encoding, transform);
+        }
+
+        /// <summary>
+        /// 创建Aes
+        /// </summary>
+        private static Aes CreateAes(string key, CipherMode cipherMode, PaddingMode paddingMode, byte[] iv)
+        {
+            var result = Aes.Create();
+            result.Key = Encoding.ASCII.GetBytes(key);
+            result.Mode = cipherMode;
+            result.Padding = paddingMode;
+            result.IV = iv;
+            return result;
+        }
+
+        /// <summary>
+        /// AES解密
+        /// </summary>
+        /// <param name="value">加密后的值</param>
+        public static string AesDecrypt(string value)
+        {
+            return AesDecrypt(value, AesKey);
+        }
+
+        /// <summary>
+        /// AES解密
+        /// </summary>
+        /// <param name="value">加密后的值</param>
+        /// <param name="key">密钥</param>
+        /// <param name="encoding">编码</param>
+        /// <param name="cipherMode">加密模式</param>
+        /// <param name="paddingMode">填充模式</param>
+        /// <param name="iv">初始化向量</param>
+        public static string AesDecrypt(string value, string key, Encoding encoding = null, CipherMode cipherMode = CipherMode.CBC, PaddingMode paddingMode = PaddingMode.PKCS7, byte[] iv = null)
+        {
+            if (value.IsEmpty() || key.IsEmpty())
+                return string.Empty;
+            iv ??= Iv;
+            var aes = CreateAes(key, cipherMode, paddingMode, iv);
+            using var transform = aes.CreateDecryptor(aes.Key, aes.IV);
+            return GetDecryptResult(value, encoding, transform);
+        }
+
+        #endregion
+
+        #region HmacSha256加密
+
+        /// <summary>
+        /// HMACSHA256加密
+        /// </summary>
+        /// <param name="value">值</param>
+        /// <param name="key">密钥</param>
+        /// <param name="encoding">字符编码</param>
+        public static string HmacSha256(string value, string key, Encoding encoding = null)
+        {
+            if (value.IsEmpty() || key.IsEmpty())
+                return string.Empty;
+            encoding ??= Encoding.UTF8;
+            var sha256 = new HMACSHA256(Encoding.ASCII.GetBytes(key));
+            var hash = sha256.ComputeHash(encoding.GetBytes(value));
+            return string.Join("", hash.ToList().Select(t => t.ToString("x2")).ToArray());
+        }
+
+        #endregion
+
+        #region RSA加密
+
+        /// <summary>
+        /// RSA签名
+        /// </summary>
+        /// <param name="value">待加密的值</param>
+        /// <param name="privateKey">私钥</param>
+        /// <param name="encoding">编码</param>
+        /// <param name="hashAlgorithm">加密算法,默认值: HashAlgorithmName.SHA1</param>
+        /// <param name="rsaKeyType">Rsa密钥类型,默认值: Pkcs1</param>
+        public static string RsaSign(string value, string privateKey, Encoding encoding = null, HashAlgorithmName? hashAlgorithm = null, RSAKeyType rsaKeyType = RSAKeyType.Pkcs1)
+        {
+            if (value.IsEmpty() || privateKey.IsEmpty())
+                return string.Empty;
+            var rsa = RSA.Create();
+            ImportPrivateKey(rsa, privateKey, rsaKeyType);
+            encoding ??= Encoding.UTF8;
+            hashAlgorithm ??= HashAlgorithmName.SHA1;
+            var result = rsa.SignData(encoding.GetBytes(value), hashAlgorithm.Value, RSASignaturePadding.Pkcs1);
+            return System.Convert.ToBase64String(result);
+        }
+
+        /// <summary>
+        /// 导入私钥
+        /// </summary>
+        private static void ImportPrivateKey(RSA rsa, string privateKey, RSAKeyType rsaKeyType)
+        {
+            rsa.ImportPrivateKey(rsaKeyType, privateKey);
+        }
+
+        /// <summary>
+        /// Rsa验签
+        /// </summary>
+        /// <param name="value">待验签的值</param>
+        /// <param name="publicKey">公钥</param>
+        /// <param name="sign">签名</param>
+        /// <param name="encoding">编码</param>
+        /// <param name="hashAlgorithm">加密算法,默认值: HashAlgorithmName.SHA1</param>
+        public static bool RsaVerify(string value, string publicKey, string sign, Encoding encoding = null, HashAlgorithmName? hashAlgorithm = null)
+        {
+            if (value.IsEmpty() || publicKey.IsEmpty() || sign.IsEmpty())
+                return false;
+            var rsa = RSA.Create();
+            ImportPublicKey(rsa, publicKey);
+            encoding ??= Encoding.UTF8;
+            var signData = System.Convert.FromBase64String(sign);
+            hashAlgorithm ??= HashAlgorithmName.SHA1;
+            return rsa.VerifyData(encoding.GetBytes(value), signData, hashAlgorithm.Value, RSASignaturePadding.Pkcs1);
+        }
+
+        /// <summary>
+        /// 导入公钥
+        /// </summary>
+        private static void ImportPublicKey(RSA rsa, string publicKey)
+        {
+            var key = System.Convert.FromBase64String(publicKey);
+            rsa.ImportSubjectPublicKeyInfo(key, out _);
+        }
+
+        /// <summary>
+        /// RSA加密
+        /// </summary>
+        /// <param name="value">待加密的值</param>
+        /// <param name="publicKey">公钥</param>
+        public static string RsaEncrypt(string value, string publicKey)
+        {
+            if (value.IsEmpty() || publicKey.IsEmpty())
+                return string.Empty;
+            var rsa = RSA.Create();
+            ImportPublicKey(rsa, publicKey);
+            return rsa.EncryptBigData(value, RSAEncryptionPadding.Pkcs1);
+        }
+
+        /// <summary>
+        /// RSA解密
+        /// </summary>
+        /// <param name="value">加密后的值</param>
+        /// <param name="privateKey">私钥</param>
+        public static string RsaDecrypt(string value, string privateKey)
+        {
+            if (value.IsEmpty() || privateKey.IsEmpty())
+                return string.Empty;
+            var rsa = RSA.Create();
+            ImportPrivateKey(rsa, privateKey, RSAKeyType.Pkcs1);
+            return rsa.DecryptBigData(value, RSAEncryptionPadding.Pkcs1);
+        }
+
+        /// <summary>
+        /// 密码解密之后的mongo连接地址
+        /// </summary>
+        public static string GetMongoDBConnectionSM4DecryptString(string connectionString)
+        {
+            if (connectionString.IndexOf("@") > 0)
+            {
+                var strAry = connectionString.Split("@");
+                var userInfo = strAry[0].Substring(10).Split(new char[1] { ':' });
+                string userInfoStr = string.Format("{0}:{1}", userInfo[0], AesDecrypt(userInfo[1]));
+                return string.Format("mongodb://{0}@{1}", userInfoStr, strAry[1]);
+            }
+            else
+            {
+                return connectionString;
+            }
+        }
+
+        #endregion
+    }
+}

+ 15 - 2
MicroServices/Business/Business.Core/Utilities/SnowFlake.cs

@@ -1,6 +1,8 @@
 using Amazon.Runtime.Internal.Util;
+using Newtonsoft.Json;
 using System.Net;
 using System.Runtime.InteropServices;
+using System.Runtime.Serialization.Formatters.Binary;
 
 namespace Business.Core.Utilities
 {
@@ -110,10 +112,10 @@ namespace Business.Core.Utilities
         /// <returns></returns>
         private void SetWorkIdAndDatacenterId()
         {
-            string ipAdress = "";
-            string hostName = "";
+            string? ipAdress = "";
             try
             {
+                string? hostName;
                 if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
                 {
                     hostName = Environment.GetEnvironmentVariable("MY_NODE_NAME");
@@ -252,5 +254,16 @@ namespace Business.Core.Utilities
         {
             return (long)(DateTime.Now - StartTimestamp).TotalMilliseconds;
         }
+
+        public T DeepCopy<T>(T obj)
+        {
+            if (Object.ReferenceEquals(obj, null))
+            {
+                return obj;
+            }
+            var deserializeSettings = new JsonSerializerSettings { ObjectCreationHandling = ObjectCreationHandling.Replace };
+            var serializeSettings = new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore };
+            return JsonConvert.DeserializeObject<T>(JsonConvert.SerializeObject(obj, serializeSettings), deserializeSettings);
+        }
     }
 }

+ 70 - 0
MicroServices/Business/Business.Core/Utilities/StringExtensions.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
 using System.Linq;
 using System.Text;
 using System.Text.RegularExpressions;
@@ -642,5 +643,74 @@ namespace Business.Core.Utilities
         {
             return string.IsNullOrWhiteSpace(url) ? string.Empty : Uri.UnescapeDataString(url).Replace("%27", "'");
         }
+
+        /// <summary>
+        /// 检测对象是否为null,为null则抛出<see cref="ArgumentNullException"/>异常
+        /// </summary>
+        /// <param name="obj">对象</param>
+        /// <param name="parameterName">参数名</param>
+        public static void CheckNull(this object obj, string parameterName)
+        {
+            if (obj == null)
+                throw new ArgumentNullException(parameterName);
+        }
+
+        /// <summary>
+        /// 是否为空
+        /// </summary>
+        /// <param name="value">值</param>
+        public static bool IsEmpty([NotNullWhen(false)] this string? value)
+        {
+            return string.IsNullOrWhiteSpace(value);
+        }
+
+        /// <summary>
+        /// 是否为空
+        /// </summary>
+        /// <param name="value">值</param>
+        public static bool IsEmpty(this Guid value)
+        {
+            return value == Guid.Empty;
+        }
+
+        /// <summary>
+        /// 是否为空
+        /// </summary>
+        /// <param name="value">值</param>
+        public static bool IsEmpty([NotNullWhen(false)] this Guid? value)
+        {
+            if (value == null)
+                return true;
+            return value == Guid.Empty;
+        }
+
+        /// <summary>
+        /// 是否为空
+        /// </summary>
+        /// <param name="value">值</param>
+        public static bool IsEmpty<T>(this IEnumerable<T> value)
+        {
+            if (value == null)
+                return true;
+            return !value.Any();
+        }
+
+        /// <summary>
+        /// 安全转换为字符串,去除两端空格,当值为null时返回""
+        /// </summary>
+        /// <param name="input">输入值</param>
+        public static string SafeString(this object input)
+        {
+            return input?.ToString()?.Trim() ?? string.Empty;
+        }
+
+        /// <summary>
+        /// 安全获取值,当值为null时,不会抛出异常
+        /// </summary>
+        /// <param name="value">可空值</param>
+        public static T SafeValue<T>(this T? value) where T : struct
+        {
+            return value ?? default;
+        }
     }
 }

+ 4 - 4
MicroServices/Business/Business.Domain/Business.Domain.csproj

@@ -22,10 +22,10 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Volo.Abp.AuditLogging.Domain" Version="6.0.0" />
-    <PackageReference Include="Volo.Abp.Localization" Version="6.0.2" />
-    <PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="6.0.0" />
-    <PackageReference Include="Volo.Abp.Validation" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.AuditLogging.Domain" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Localization" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Validation" Version="6.0.3" />
   </ItemGroup>
 
   <ItemGroup>

+ 101 - 0
MicroServices/Business/Business.Domain/MoBaseEntity.cs

@@ -0,0 +1,101 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.MultiTenancy;
+using Volo.Abp;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.Domain.Entities;
+using Microsoft.EntityFrameworkCore;
+using MongoDB.Bson.Serialization.Attributes;
+using Business.Core.Utilities;
+using MongoDB.Bson;
+using System.ComponentModel.DataAnnotations.Schema;
+
+namespace Business.Domain
+{
+    public abstract class MoBaseEntity: Entity<long>
+    {
+        /// <summary>
+        /// 生成新的Id
+        /// </summary>
+        public void GenerateNewId(long id)
+        {
+            Id = id;
+        }
+        /// <summary>
+        /// mysql表id
+        /// </summary>
+        [Comment("mysql表id")]
+        [NotMapped]
+        public virtual long mysql_id { get; set; }
+
+        /// <summary>
+        /// 创建人
+        /// </summary>
+        [Comment("创建人id")]
+        public virtual long? create_by { get; set; }
+
+        /// <summary>
+        /// 创建人名称
+        /// </summary>
+        [StringLength(50)]
+        [Comment("创建人名称")]
+        public virtual string? create_by_name { get; set; }
+
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        [Comment("创建时间")]
+        public virtual DateTime? create_time { get; set; }
+
+        /// <summary>
+        /// 修改人
+        /// </summary>
+        [Comment("修改人")]
+        public virtual long? update_by { get; set; }
+
+        /// <summary>
+        /// 修改人名称
+        /// </summary>
+        [StringLength(50)]
+        [Comment("修改人名称")]
+        public virtual string? update_by_name { get; set; }
+
+        /// <summary>
+        /// 修改时间
+        /// </summary>
+        [Comment("修改时间")]
+        public virtual DateTime? update_time { get; set; }
+
+        /// <summary>
+        /// 企业ID
+        /// </summary>
+        [Required]
+        [Comment("企业ID")]
+        public virtual long tenant_id { get; set; }
+
+        /// <summary>
+        /// 工厂ID
+        /// </summary>
+        [Comment("工厂ID")]
+        public virtual long? factory_id { get; set; }
+
+        /// <summary>
+        /// 组织ID
+        /// </summary>
+        [Comment("组织ID")]
+        public virtual long? org_id { get; set; }
+
+        /// <summary>
+        /// 删除标识
+        /// </summary>
+        [DefaultValue(false)]
+        [Comment("删除标识")]
+        public bool IsDeleted { get; set; }
+
+    }
+}

+ 23 - 0
MicroServices/Business/Business.Domain/User.cs

@@ -0,0 +1,23 @@
+using System;
+
+namespace Business.Domain
+{
+    public class User: MoBaseEntity
+    {
+        public string Username { get; set; }
+
+        public string Password { get; set; }
+
+        public string Type { get; set; }
+
+        public string Identity { get; set; }
+
+        public string Name { get; set; }
+
+        public string Avatar { get; set; }
+
+        public string Email { get; set; }
+
+        public bool IsAdmin { get; set; } = false;
+    }
+}

+ 8 - 7
MicroServices/Business/Business.EntityFrameworkCore/Business.EntityFrameworkCore.csproj

@@ -17,19 +17,20 @@
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
     <PackageReference Include="System.Data.SqlClient" Version="4.8.5" />
-    <PackageReference Include="Volo.Abp.AuditLogging.EntityFrameworkCore" Version="6.0.0" />
-    <PackageReference Include="Volo.Abp.EntityFrameworkCore.MySQL" Version="6.0.2" />
-    <PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="6.0.2" />
-    <PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="6.0.2" />
-    <PackageReference Include="Volo.Abp.Identity.EntityFrameworkCore" Version="4.4.0" />
-    <PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.AuditLogging.EntityFrameworkCore" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore.MySQL" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Identity.EntityFrameworkCore" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" Version="6.0.3" />
     <PackageReference Include="Volo.Abp.SettingManagement.EntityFrameworkCore" Version="6.0.3" />
-    <PackageReference Include="Volo.Abp.TenantManagement.EntityFrameworkCore" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.TenantManagement.EntityFrameworkCore" Version="6.0.3" />
   </ItemGroup>
 
   <ItemGroup>
     <ProjectReference Include="..\Business.Domain\Business.Domain.csproj" />
     <ProjectReference Include="..\Bussiness.Model\Business.Model.csproj" />
+    <ProjectReference Include="..\Bussiness.MongoDB\Bussiness.MongoDB.csproj" />
   </ItemGroup>
 
 </Project>

+ 5 - 0
MicroServices/Business/Business.EntityFrameworkCore/EntityFrameworkCore/DOP/BusinessDbContext.cs

@@ -172,6 +172,11 @@ namespace Business.EntityFrameworkCore
         /// 标准物料规格型号设置表
         /// </summary>
         public DbSet<StandardItemModelSet> StandardItemModelSet { get; set; }
+
+        /// <summary>
+        /// 系统配置表
+        /// </summary>
+        public DbSet<GeneralizedCodeMaster> GeneralizedCodeMaster { get; set; }
         #endregion
 
         //Code generation...

+ 6 - 5
MicroServices/Business/Business.Host/Business.Host.csproj

@@ -25,12 +25,12 @@
     <PackageReference Include="Serilog.Sinks.Async" Version="1.5.0" />
     <PackageReference Include="Serilog.Sinks.Elasticsearch" Version="8.4.1" />
     <PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.0" />
-    <PackageReference Include="Volo.Abp.AspNetCore.MultiTenancy" Version="6.0.0" />
-    <PackageReference Include="Volo.Abp.AspNetCore.Serilog" Version="6.0.0" />
-    <PackageReference Include="Volo.Abp.Autofac" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.AspNetCore.MultiTenancy" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.AspNetCore.Serilog" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Autofac" Version="6.0.3" />
     <PackageReference Include="Volo.Abp.Caching" Version="6.0.3" />
-    <PackageReference Include="Volo.Abp.EntityFrameworkCore.MySQL" Version="6.0.2" />
-    <PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="6.0.2" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore.MySQL" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="6.0.3" />
   </ItemGroup>
 
   <ItemGroup>
@@ -38,6 +38,7 @@
     <ProjectReference Include="..\Business.Core\Business.Core.csproj" />
     <ProjectReference Include="..\Business.EntityFrameworkCore\Business.EntityFrameworkCore.csproj" />
     <ProjectReference Include="..\Business.HttpApi\Business.HttpApi.csproj" />
+    <ProjectReference Include="..\Bussiness.MongoDB\Bussiness.MongoDB.csproj" />
   </ItemGroup>
 
   <ItemGroup>

+ 25 - 23
MicroServices/Business/Business.Host/BusinessHostModule.cs

@@ -42,6 +42,7 @@ using Volo.Abp.Modularity;
 using Volo.Abp.MultiTenancy;
 using Volo.Abp.Threading;
 using Volo.Abp.VirtualFileSystem;
+using Bussiness.MongoDB;
 
 namespace Business
 {
@@ -51,6 +52,7 @@ namespace Business
         typeof(BusinessHttpApiModule),
         typeof(BusinessApplicationModule),
         typeof(BusinessEntityFrameworkCoreModule),
+        typeof(BussinessMongoDbModule),
         typeof(AbpAspNetCoreMultiTenancyModule),
         typeof(AbpAspNetCoreSerilogModule)
     )]
@@ -128,14 +130,14 @@ namespace Business
                     .WithCronSchedule("0 01 01 * * ?")
                     .WithDescription("定时创建NLog日志按月分表"));
 
-                var ExtJobKey = new JobKey("ExtJob");
-                q.AddJob<ExtJob>(opts => opts.WithIdentity(ExtJobKey));
+                //var ExtJobKey = new JobKey("ExtJob");
+                //q.AddJob<ExtJob>(opts => opts.WithIdentity(ExtJobKey));
 
-                q.AddTrigger(opts => opts
-                    .ForJob(ExtJobKey)
-                    .WithIdentity("ExtJob-trigger")
-                    .WithCronSchedule("0 01 01 * * ?")
-                    .WithDescription("定时处理金蝶同步到Ext数据库的数据"));
+                //q.AddTrigger(opts => opts
+                //    .ForJob(ExtJobKey)
+                //    .WithIdentity("ExtJob-trigger")
+                //    .WithCronSchedule("0 01 01 * * ?")
+                //    .WithDescription("定时处理金蝶同步到Ext数据库的数据"));
 
                 var WMSJobKey = new JobKey("WMSJob");
                 q.AddJob<WMSJob>(opts => opts.WithIdentity(WMSJobKey));
@@ -143,7 +145,7 @@ namespace Business
                 q.AddTrigger(opts => opts
                     .ForJob(WMSJobKey)
                     .WithIdentity("WMSJob-trigger")
-                    .WithCronSchedule("0 15 18 * * ?")
+                    .WithCronSchedule("0 32 15 * * ?")
                     .WithDescription("定时同步WMS物料订单等基础数据到MySQL"));
 
                 //var ProductionScheduleJobKey = new JobKey("ProductionScheduleJob");
@@ -161,12 +163,12 @@ namespace Business
                 options.WaitForJobsToComplete = true;
             });
             context.Services.AddQuartzUI();
-            //context.Services.AddQuartzClassJobs(); //添加本地调度任务访问
-            //context.Services.AddQuartzHostedService(options =>
-            //{
-            //    // when shutting down we want jobs to complete gracefully
-            //    options.WaitForJobsToComplete = true;
-            //});
+            context.Services.AddQuartzClassJobs(); //添加本地调度任务访问
+            context.Services.AddQuartzHostedService(options =>
+            {
+                // when shutting down we want jobs to complete gracefully
+                options.WaitForJobsToComplete = true;
+            });
         }
 
         /// <summary>
@@ -342,15 +344,15 @@ namespace Business
             app.UseUnitOfWork();
             app.UseConfiguredEndpoints();
             app.UseQuartz();
-            AsyncHelper.RunSync(async () =>
-            {
-                using (var scope = context.ServiceProvider.CreateScope())
-                {
-                    await scope.ServiceProvider
-                        .GetRequiredService<IDataSeeder>()
-                        .SeedAsync();
-                }
-            });
+            //AsyncHelper.RunSync(async () =>
+            //{
+            //    using (var scope = context.ServiceProvider.CreateScope())
+            //    {
+            //        await scope.ServiceProvider
+            //            .GetRequiredService<IDataSeeder>()
+            //            .SeedAsync();
+            //    }
+            //});
         }
     }
 }

+ 4575 - 0
MicroServices/Business/Business.Host/Migrations/20230620015923_addtable20230620.Designer.cs

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

+ 52 - 0
MicroServices/Business/Business.Host/Migrations/20230620015923_addtable20230620.cs

@@ -0,0 +1,52 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Business.Migrations
+{
+    public partial class addtable20230620 : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<string>(
+                name: "is_days",
+                table: "srm_purchase",
+                type: "nvarchar(80)",
+                maxLength: 80,
+                nullable: false,
+                defaultValue: "",
+                comment: "每周几送货");
+
+            migrationBuilder.AddColumn<bool>(
+                name: "is_week",
+                table: "srm_purchase",
+                type: "bit",
+                nullable: false,
+                defaultValue: false,
+                comment: "是否周期合并");
+
+            migrationBuilder.AddColumn<string>(
+                name: "refer_pr_billno",
+                table: "srm_pr_main",
+                type: "nvarchar(80)",
+                maxLength: 80,
+                nullable: true,
+                comment: "关联pr单号");
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "is_days",
+                table: "srm_purchase");
+
+            migrationBuilder.DropColumn(
+                name: "is_week",
+                table: "srm_purchase");
+
+            migrationBuilder.DropColumn(
+                name: "refer_pr_billno",
+                table: "srm_pr_main");
+        }
+    }
+}

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

@@ -3590,6 +3590,11 @@ namespace Business.Migrations
                         .HasColumnType("nvarchar(20)")
                         .HasComment("单位");
 
+                    b.Property<string>("refer_pr_billno")
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("关联pr单号");
+
                     b.Property<string>("remark")
                         .HasMaxLength(1000)
                         .HasColumnType("nvarchar(1000)")
@@ -3690,6 +3695,16 @@ namespace Business.Migrations
                         .HasColumnType("nvarchar(80)")
                         .HasComment("物料名称");
 
+                    b.Property<string>("is_days")
+                        .IsRequired()
+                        .HasMaxLength(80)
+                        .HasColumnType("nvarchar(80)")
+                        .HasComment("每周几送货");
+
+                    b.Property<bool>("is_week")
+                        .HasColumnType("bit")
+                        .HasComment("是否周期合并");
+
                     b.Property<string>("icitem_number")
                         .HasMaxLength(20)
                         .HasColumnType("nvarchar(20)")

+ 1 - 1
MicroServices/Business/Business.Host/appsettings.json

@@ -17,7 +17,7 @@
     "DOPLog": "Server=123.60.181.157;Database=dopbiz;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
     "DOPBang": "Server=123.60.181.157;Database=dopbiz;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
     "DOPExt": "Server=123.60.181.157;Database=dopbiz;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
-
+    "MongoDBTest": "mongodb://zzydop:h1Q$us3r@123.60.181.157/dopbase",
     "MongoDB": "mongodb://zzydop:h1Q$us3r@123.60.181.157/",
     "DBName": "dopbase"
   },

+ 1 - 1
MicroServices/Business/Business.HttpApi.Client/Business.HttpApi.Client.csproj

@@ -7,7 +7,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Volo.Abp.Http.Client"  Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.Http.Client" Version="6.0.3" />
   </ItemGroup>
 
   <ItemGroup>

+ 1 - 1
MicroServices/Business/Business.HttpApi/Business.HttpApi.csproj

@@ -15,7 +15,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="6.0.3" />
     <PackageReference Include="XCZ.FlowManagement.HttpApi" Version="1.3.0" />
     <PackageReference Include="XCZ.FormManagement.HttpApi" Version="2.3.0" />
   </ItemGroup>

+ 12 - 0
MicroServices/Business/Business.HttpApi/Controllers/ResourceExamineController.cs

@@ -120,5 +120,17 @@ namespace Business.Controllers
         {
             return _ResourceExamineAppService.ReviewExamineResult(ids, type);
         }
+
+        /// <summary>
+        /// 资源检查结果评审
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet]
+        [Route("PrAutoMerge")]
+        public void PrAutoMerge()
+        {
+            _ResourceExamineAppService.PrAutoMerge();
+        }
     }
 }

+ 6 - 0
MicroServices/Business/Business.sln

@@ -35,6 +35,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Business.Domain.Test", "Bus
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Business.EntityFrameworkCore.Test", "Bussiness.EntityFrameworkCore.Test\Business.EntityFrameworkCore.Test.csproj", "{F55D18B1-65B3-4417-9EA1-032630A2201A}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bussiness.MongoDB", "Bussiness.MongoDB\Bussiness.MongoDB.csproj", "{F75F1412-2392-4625-9CAB-2AD1F8D2EFCC}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -101,6 +103,10 @@ Global
 		{F55D18B1-65B3-4417-9EA1-032630A2201A}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{F55D18B1-65B3-4417-9EA1-032630A2201A}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{F55D18B1-65B3-4417-9EA1-032630A2201A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F75F1412-2392-4625-9CAB-2AD1F8D2EFCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F75F1412-2392-4625-9CAB-2AD1F8D2EFCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F75F1412-2392-4625-9CAB-2AD1F8D2EFCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F75F1412-2392-4625-9CAB-2AD1F8D2EFCC}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 1 - 1
MicroServices/Business/Bussiness.EntityFrameworkCore.Test/Business.EntityFrameworkCore.Test.csproj

@@ -10,7 +10,7 @@
 
   <ItemGroup>
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
-    <PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="6.0.2" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="6.0.3" />
     <PackageReference Include="xunit" Version="2.4.2" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

+ 0 - 9
MicroServices/Business/Bussiness.Model/Base/BaseEntity.cs

@@ -23,15 +23,6 @@ namespace Business.Model
         public BaseEntity(long Id) : base(Id)
         {
         }
-        /// <summary>
-        /// 生成新的Id
-        /// </summary>
-        public void GenerateNewId()
-        { 
-            SnowFlake snow = new SnowFlake();
-            Id = snow.NextId();
-        }
-
         /// <summary>
         /// 生成新的Id
         /// </summary>

+ 2 - 2
MicroServices/Business/Bussiness.Model/Business.Model.csproj

@@ -16,8 +16,8 @@
 
   <ItemGroup>
     <PackageReference Include="MongoDB.Driver.Core" Version="2.19.0" />
-    <PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="6.0.2" />
-    <PackageReference Include="Volo.Abp.Validation" Version="6.0.0" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.Validation" Version="6.0.3" />
   </ItemGroup>
 
   <ItemGroup>

+ 91 - 0
MicroServices/Business/Bussiness.Model/MES/IC/GeneralizedCodeMaster.cs

@@ -0,0 +1,91 @@
+using Business.Model;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Business.Model.MES.IC
+{
+    /// <summary>
+    /// 通用代码表
+    /// </summary>
+    [Comment("通用代码表")]
+    public class GeneralizedCodeMaster
+    {
+        /// <summary>
+        /// 主键
+        /// </summary>
+        [Comment("主键")]
+        [Key]
+        public int RecID { get; set; }
+
+        /// <summary>
+        /// 域名
+        /// </summary>
+        [Comment("域名")]
+        public string? Domain { get; set; }
+
+        /// <summary>
+        /// 配置模块,DOP用DopConfig
+        /// </summary>
+        [Comment("配置模块")]
+        public string? FldName { get; set; }
+
+        /// <summary>
+        /// 配置项的值
+        /// </summary>
+        [Comment("配置项的值")]
+        public string? Comments { get; set; }
+
+        /// <summary>
+        /// 配置项描述
+        /// </summary>
+        [Comment("配置项描述")]
+        public string? Ufld1 { get; set; }
+
+        /// <summary>
+        /// 配置项Key
+        /// </summary>
+        [Comment("配置项Key")]
+        public string? Val { get; set; }
+
+        /// <summary>
+        /// 是否有效:1-有效;0-无效
+        /// </summary>
+        [Comment("是否有效")]
+        public Boolean IsActive { get; set; }
+
+        /// <summary>
+        /// 是否确认:1-已确认;0-没确认
+        /// </summary>
+        [Comment("是否有效")]
+        public Boolean IsConfirm { get; set; }
+
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        [Comment("创建时间")]
+        public DateTime? CreateTime { get; set; }
+
+        /// <summary>
+        /// 创建人
+        /// </summary>
+        [Comment("创建人")]
+        public string? CreateUser { get; set; }
+
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        [Comment("修改时间")]
+        public DateTime? UpdateTime { get; set; }
+
+        /// <summary>
+        /// 修改人
+        /// </summary>
+        [Comment("修改人")]
+        public string? UpdateUser { get; set; }
+    }
+}

+ 8 - 1
MicroServices/Business/Bussiness.Model/SRM/srm_pr_main.cs

@@ -25,6 +25,13 @@ namespace Business.Model.SRM
         [StringLength(80)]
         [Comment("关联工单号")]
         public string? pr_mono { get; set; }
+
+        /// <summary>
+        /// 关联的pr单号
+        /// </summary>
+        [StringLength(80)]
+        [Comment("关联pr单号")]
+        public string? refer_pr_billno { get; set; }
         /// <summary>
         /// 工单行号
         /// </summary>
@@ -171,7 +178,7 @@ namespace Business.Model.SRM
         [Comment("单位")]
         public string? pr_unit { get; set; }
         /// <summary>
-        /// 状态
+        /// 状态 0,关闭;1,新增;2,提交;3,未通过;4,评审通过
         /// </summary>
         [Comment("状态")]
         public int? state { get; set; }

+ 20 - 0
MicroServices/Business/Bussiness.Model/SRM/srm_purchase.cs

@@ -146,6 +146,19 @@ namespace Business.Model.SRM
         [Comment("批量增量")]
         public decimal? batch_append_qty { get; set; }
 
+        /// <summary>
+        /// 是否周期送货
+        /// </summary>
+        [Comment("是否周期送货")]
+        public bool is_week { get; set; }
+
+        /// <summary>
+        /// 每周几送货
+        /// </summary>
+        [StringLength(80)]
+        [Comment("每周几送货")]
+        public string is_days { get; set; }
+
         /// <summary>
         /// 计算ID
         /// </summary>
@@ -153,5 +166,12 @@ namespace Business.Model.SRM
         [NotMapped]
         public long? bang_id { get; set; }
 
+        /// <summary>
+        /// 供应类别
+        /// </summary>
+        [StringLength(80)]
+        [Comment("供应类别")]
+        public string? supplier_type { get; set; }
+
     }
 }

+ 27 - 0
MicroServices/Business/Bussiness.MongoDB/BusinessMongoDbContextModelCreatingExtensions.cs

@@ -0,0 +1,27 @@
+using Business.Domain;
+using Microsoft.Extensions.Hosting;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Cryptography.Xml;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.MongoDB;
+using Volo.Abp;
+
+namespace Bussiness.MongoDB
+{
+    public static class BusinessMongoDbContextModelCreatingExtensions
+    {
+        public static void Configure(this IMongoModelBuilder builder)
+        {
+            Check.NotNull(builder, nameof(builder));
+            builder.Entity<User>(b =>
+            {
+                b.CollectionName = MongoDbConsts.User;
+                b.BsonMap.AutoMap();
+                b.BsonMap.SetIgnoreExtraElements(true);
+            });
+        }
+    }
+}

+ 19 - 0
MicroServices/Business/Bussiness.MongoDB/Bussiness.MongoDB.csproj

@@ -0,0 +1,19 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Volo.Abp.AuditLogging.MongoDB" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.PermissionManagement.MongoDB" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.TenantManagement.MongoDB" Version="6.0.3" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\Business.Domain\Business.Domain.csproj" />
+  </ItemGroup>
+
+</Project>

+ 22 - 0
MicroServices/Business/Bussiness.MongoDB/BussinessMongoDbContext.cs

@@ -0,0 +1,22 @@
+using Business.Domain;
+using MongoDB.Driver;
+using Volo.Abp.Data;
+using Volo.Abp.MongoDB;
+
+namespace Bussiness.MongoDB
+{
+    [ConnectionStringName("MongoDBTest")]
+    public class BussinessMongoDbContext : AbpMongoDbContext
+    {
+        /* Add mongo collections here. Example:
+         * public IMongoCollection<Question> Questions => Collection<Question>();
+         */
+        public IMongoCollection<User> Users => Collection<User>();
+        protected override void CreateModel(IMongoModelBuilder modelBuilder)
+        {
+            base.CreateModel(modelBuilder);
+
+            modelBuilder.Configure();
+        }
+    }
+}

+ 36 - 0
MicroServices/Business/Bussiness.MongoDB/BussinessMongoDbModule.cs

@@ -0,0 +1,36 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Auditing;
+using Volo.Abp.AuditLogging.MongoDB;
+using Volo.Abp.Modularity;
+using Volo.Abp.PermissionManagement.MongoDB;
+using Volo.Abp.TenantManagement.MongoDB;
+using Volo.Abp.Uow;
+
+namespace Bussiness.MongoDB
+{
+    [DependsOn(
+    typeof(AbpPermissionManagementMongoDbModule),
+    typeof(AbpTenantManagementMongoDbModule)
+    )]
+    public class BussinessMongoDbModule: AbpModule
+    {
+        public override void ConfigureServices(ServiceConfigurationContext context)
+        {
+            context.Services.AddMongoDbContext<BussinessMongoDbContext>(options =>
+            {
+                options.AddDefaultRepositories(includeAllEntities: true);
+            });
+
+            Configure<AbpUnitOfWorkDefaultOptions>(options =>
+            {
+                options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled;
+            });
+
+            Configure<AbpAuditingOptions>(options =>
+            {
+                options.IsEnabledForGetRequests = true;
+            });
+        }
+    }
+   
+}

+ 16 - 0
MicroServices/Business/Bussiness.MongoDB/MongoDbConsts.cs

@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Bussiness.MongoDB
+{
+    public static class MongoDbConsts
+    {
+        /// <summary>
+        /// User
+        /// </summary>
+        public const string User = "dop_users";
+    }
+}

+ 0 - 9
MicroServices/Business/Bussiness.MongoModel/Base/MoBaseEntity.cs

@@ -17,15 +17,6 @@ namespace Business.MongoModel
 {
     public abstract class MoBaseEntity 
     {
-        /// <summary>
-        /// 生成新的mysqlId
-        /// </summary>
-        public void GenerateNewId()
-        {
-            SnowFlake snow = new SnowFlake();
-            mysql_id = snow.NextId();
-        }
-
         /// <summary>
         /// id
         /// </summary>

+ 1 - 1
MicroServices/Business/Bussiness.MongoModel/Business.MongoModel.csproj

@@ -17,7 +17,7 @@
 
   <ItemGroup>
     <PackageReference Include="MongoDB.Driver.Core" Version="2.19.0" />
-    <PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="6.0.2" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="6.0.3" />
   </ItemGroup>
 
   <ItemGroup>

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff