Browse Source

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

# Conflicts:
#	MicroServices/Business/Business.Domain/StructuredDB/Base/BaseEntity.cs
#	MicroServices/Business/Business.Domain/StructuredDB/Production/StandardItemModelSet.cs
#	MicroServices/Business/Business.EntityFrameworkCore/EntityFrameworkCore/DOP/BusinessDbContext.cs
heteng 3 years ago
parent
commit
655a5ab6b9
100 changed files with 1215 additions and 2626 deletions
  1. 0 1
      MicroServices/Business/Buissness.UnitTest/Business.TestBase.csproj
  2. 1 2
      MicroServices/Business/Business.Application.Contracts/Business.Application.Contracts.csproj
  3. 11 3
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/BomChildExamineDto.cs
  4. 1 3
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/GenerateMorderDto.cs
  5. 1 2
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/Mes_MorderDto.cs
  6. 2 2
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/POGroupDto.cs
  7. 1 3
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PoActionListDto.cs
  8. 1 4
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PschedDto.cs
  9. 1 2
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/SRMPRDto.cs
  10. 1 2
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/TechProcDto.cs
  11. 1 1
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/IResourceExamineAppService.cs
  12. 1 1
      MicroServices/Business/Business.Application.Contracts/SystemJob/ISystemJobAppService.cs
  13. 0 2
      MicroServices/Business/Business.Application/Business.Application.csproj
  14. 2 9
      MicroServices/Business/Business.Application/BusinessApplicationAutoMapperProfile.cs
  15. 11 14
      MicroServices/Business/Business.Application/DOP/SyncDOPAppService.cs
  16. 2 7
      MicroServices/Business/Business.Application/PriorityManagement/PriorityAppService.cs
  17. 49 32
      MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs
  18. 4 9
      MicroServices/Business/Business.Application/ResourceExamineManagement/MorderAppService.cs
  19. 1 1
      MicroServices/Business/Business.Application/ResourceExamineManagement/PretreatmentAppService.cs
  20. 3 12
      MicroServices/Business/Business.Application/ResourceExamineManagement/ProductExamineAppService.cs
  21. 18 7
      MicroServices/Business/Business.Application/ResourceExamineManagement/ProductionScheduleAppService.cs
  22. 5 15
      MicroServices/Business/Business.Application/ResourceExamineManagement/PurchaseOrderAppService.cs
  23. 202 184
      MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs
  24. 3 13
      MicroServices/Business/Business.Application/SaleForecastManagement/MonthlyCapacityLoadAppService.cs
  25. 0 330
      MicroServices/Business/Business.Application/SyncDataManagement/SyncMySQLDataAppService.cs
  26. 0 666
      MicroServices/Business/Business.Application/SyncDataManagement/SyncWMSDataAppService.cs
  27. 204 196
      MicroServices/Business/Business.Application/SystemJobManagement/SystemJobAppService.cs
  28. 1 2
      MicroServices/Business/Business.Application/WMS/SyncKingdeeAppService.cs
  29. 0 24
      MicroServices/Business/Business.Core/MongoDBHelper/Config.cs
  30. 0 93
      MicroServices/Business/Business.Core/MongoDBHelper/IMongoDB.cs
  31. 0 195
      MicroServices/Business/Business.Core/MongoDBHelper/MongoDBTools.cs
  32. 45 0
      MicroServices/Business/Business.Core/Utilities/MongoHelper.cs
  33. 3 1
      MicroServices/Business/Business.Domain/Business.Domain.csproj
  34. 11 15
      MicroServices/Business/Business.Domain/MongoDB/Base/MoBaseEntity.cs
  35. 5 2
      MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_bom.cs
  36. 2 4
      MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_bom_child.cs
  37. 1 1
      MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_item.cs
  38. 1 4
      MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_item_stock.cs
  39. 3 11
      MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_item_stockoccupy.cs
  40. 1 9
      MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_substitute.cs
  41. 1 8
      MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_substitute_group.cs
  42. 1 8
      MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_substitute_group_detail.cs
  43. 1 9
      MicroServices/Business/Business.Domain/MongoDB/Production/mo_mes_moentry.cs
  44. 1 7
      MicroServices/Business/Business.Domain/MongoDB/Production/mo_mes_mooccupy.cs
  45. 1 9
      MicroServices/Business/Business.Domain/MongoDB/Production/mo_mes_morder.cs
  46. 1 8
      MicroServices/Business/Business.Domain/MongoDB/Production/mo_mes_oorder.cs
  47. 2 4
      MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_po_list.cs
  48. 2 4
      MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_po_main.cs
  49. 2 4
      MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_po_occupy.cs
  50. 9 3
      MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_pr_main.cs
  51. 33 15
      MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_purchase.cs
  52. 2 1
      MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_supplier.cs
  53. 4 13
      MicroServices/Business/Business.Domain/MongoDB/Tech/mo_mes_process.cs
  54. 1 3
      MicroServices/Business/Business.Domain/MongoDB/Tech/mo_mes_tech_proc_workshop.cs
  55. 1 3
      MicroServices/Business/Business.Domain/MongoDB/Tech/mo_mes_tech_process.cs
  56. 1 3
      MicroServices/Business/Business.Domain/MongoDB/Tech/mo_mes_technique.cs
  57. 24 17
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_bom_child_examine.cs
  58. 10 16
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_bom_pretreatment.cs
  59. 5 12
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_day_bulletin_board.cs
  60. 6 12
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_examine_result.cs
  61. 3 8
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_mo_occupy.cs
  62. 5 10
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_mo_order.cs
  63. 6 11
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_ooder.cs
  64. 7 12
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_order_detail.cs
  65. 4 9
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_order_examine_result.cs
  66. 5 10
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_purchase.cs
  67. 4 9
      MicroServices/Business/Business.Domain/StructuredDB/Bang/b_purchase_occupy.cs
  68. 7 14
      MicroServices/Business/Business.Domain/StructuredDB/Base/BaseEntity.cs
  69. 27 27
      MicroServices/Business/Business.Domain/StructuredDB/Ext/ext_xref.cs
  70. 25 25
      MicroServices/Business/Business.Domain/StructuredDB/Ext/in_kd_bom.cs
  71. 153 152
      MicroServices/Business/Business.Domain/StructuredDB/Ext/in_kd_material.cs
  72. 14 14
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ConsigneeAddressMaster.cs
  73. 9 10
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/CustMaster.cs
  74. 11 12
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/GeneralizedCodeMaster.cs
  75. 6 7
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/InvMaster.cs
  76. 17 18
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ItemMaster.cs
  77. 5 6
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ItemPackMaster.cs
  78. 6 7
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/LocationDetail.cs
  79. 13 14
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/NbrDetail.cs
  80. 16 17
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/NbrMaster.cs
  81. 6 6
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ProductStructureMaster.cs
  82. 12 13
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/PurOrdDetail.cs
  83. 14 15
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/PurOrdMaster.cs
  84. 9 10
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/SuppMaster.cs
  85. 14 13
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_bom.cs
  86. 11 10
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_bom_child.cs
  87. 21 21
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_item.cs
  88. 4 4
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_item_stock.cs
  89. 5 5
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_item_stockoccupy.cs
  90. 2 10
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_substitute.cs
  91. 7 14
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_substitute_group.cs
  92. 4 11
      MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_substitute_group_detail.cs
  93. 4 4
      MicroServices/Business/Business.Domain/StructuredDB/Production/HolidayMaster.cs
  94. 12 13
      MicroServices/Business/Business.Domain/StructuredDB/Production/LineMaster.cs
  95. 4 4
      MicroServices/Business/Business.Domain/StructuredDB/Production/MonthlyProdCapacityDtl.cs
  96. 6 6
      MicroServices/Business/Business.Domain/StructuredDB/Production/MonthlyProdCapacityMain.cs
  97. 9 9
      MicroServices/Business/Business.Domain/StructuredDB/Production/OverallDemandPlanDtl.cs
  98. 6 6
      MicroServices/Business/Business.Domain/StructuredDB/Production/OverallDemandPlanMain.cs
  99. 9 10
      MicroServices/Business/Business.Domain/StructuredDB/Production/PeriodSequenceDet.cs
  100. 6 7
      MicroServices/Business/Business.Domain/StructuredDB/Production/ProdLineDetail.cs

+ 0 - 1
MicroServices/Business/Buissness.UnitTest/Business.TestBase.csproj

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

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

@@ -44,8 +44,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\Bussiness.Model\Business.Model.csproj" />
-    <ProjectReference Include="..\Bussiness.MongoModel\Business.MongoModel.csproj" />
+    <ProjectReference Include="..\Business.Domain\Business.Domain.csproj" />
   </ItemGroup>
 
 </Project>

+ 11 - 3
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/BomChildExamineDto.cs

@@ -1,6 +1,4 @@
-using Business.MongoModel.Production;
-using Business.MongoModel.SRM;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
@@ -198,6 +196,16 @@ namespace Business.ResourceExamineManagement.Dto
         /// </summary>
         public DateTime? satisfy_time { get; set; }
 
+        /// <summary>
+        /// 自制时长(天)
+        /// </summary>
+        public int? make_time { get; set; }
+
+        /// <summary>
+        /// 采购前置(需加上自制)
+        /// </summary>
+        public int? pre_time { get; set; }
+
         /// <summary>
         /// 是否BOM
         /// </summary>

+ 1 - 3
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/GenerateMorderDto.cs

@@ -1,6 +1,4 @@
-using Business.Model.MES.IC;
-using Business.Model.Sale;
-using Business.MongoModel.MES.IC;
+using Business.Domain;
 using System;
 using System.Collections.Generic;
 using System.Linq;

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

@@ -1,5 +1,4 @@
-using Business.Model.Production;
-using Business.MongoModel.Production;
+using Business.Domain;
 using System;
 using System.Collections.Generic;
 using System.Linq;

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

@@ -1,4 +1,4 @@
-using Business.Model.SRM;
+using Business.Domain;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -23,5 +23,5 @@ namespace Business.ResourceExamineManagement.Dto
         /// polist集合
         /// </summary>
         public List<srm_po_list> polist { get; set; }
-}
+    }
 }

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

@@ -1,6 +1,4 @@
-using Business.Model.MES.IC;
-using Business.Model.SRM;
-using Business.MongoModel.SRM;
+using Business.Domain;
 using System;
 using System.Collections.Generic;
 using System.Linq;

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

@@ -2,11 +2,8 @@ using System;
 using System.Collections.Generic;
 using Volo.Abp.Application.Dtos;
 using System.ComponentModel.DataAnnotations;
-using Business.Model.MES.IC;
-using Business.Model.Production;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.Production;
 using Microsoft.EntityFrameworkCore;
+using Business.Domain;
 
 namespace Business.ResourceExamineManagement.Dto
 {

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

@@ -1,5 +1,4 @@
-using Business.Model.SRM;
-using Business.MongoModel.SRM;
+using Business.Domain;
 using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;

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

@@ -1,5 +1,4 @@
-using Business.Model.Tech;
-using Business.MongoModel.Tech;
+using Business.Domain;
 using System;
 using System.Collections.Generic;
 using System.Linq;

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

@@ -53,7 +53,7 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="workOrds"></param>
         /// <returns></returns>
-        Task<string> PlanOrderResourceCheck(string workOrd);
+        Task<string> PlanOrderResourceCheck();
 
         /// <summary>
         /// ×ÊÔ´¼ì²é½á¹ûÆÀÉó

+ 1 - 1
MicroServices/Business/Business.Application.Contracts/SystemJob/ISystemJobAppService.cs

@@ -34,7 +34,7 @@ namespace Business.SystemJob
         /// </summary>
         /// <param name="id"></param>
         /// <returns></returns>
-        string SyncBaseDataToMongoDBJob();
+        Task<string> SyncBaseDataToMongoDBJob();
 
         string DoProductShceduleJob();
     }

+ 0 - 2
MicroServices/Business/Business.Application/Business.Application.csproj

@@ -34,8 +34,6 @@
     <ProjectReference Include="..\Business.Application.Contracts\Business.Application.Contracts.csproj" />
     <ProjectReference Include="..\Business.Domain\Business.Domain.csproj" />
     <ProjectReference Include="..\Business.EntityFrameworkCore\Business.EntityFrameworkCore.csproj" />
-    <ProjectReference Include="..\Bussiness.Model\Business.Model.csproj" />
-    <ProjectReference Include="..\Bussiness.MongoModel\Business.MongoModel.csproj" />
   </ItemGroup>
 
 </Project>

+ 2 - 9
MicroServices/Business/Business.Application/BusinessApplicationAutoMapperProfile.cs

@@ -1,14 +1,7 @@
 using AutoMapper;
+using Volo.Abp.AutoMapper;
+using Business.Domain;
 using Business.ResourceExamineManagement.Dto;
-using Business.Model.Bang;
-using Business.Model.MES.IC;
-using Business.Model.Production;
-using Business.Model.SRM;
-using Business.Model.Tech;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.Production;
-using Business.MongoModel.SRM;
-using Business.MongoModel.Tech;
 
 namespace Business
 {

+ 11 - 14
MicroServices/Business/Business.Application/DOP/SyncDOPAppService.cs

@@ -1,12 +1,13 @@
-using Abp.Application.Services;
-using Abp.Dependency;
-using Business.Core.Utilities;
+using Business.Core.Utilities;
 using Business.Dto;
-using Business.Model.WMS;
+using Business.StructuredDB.WMS;
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
 using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Domain.Repositories;
 using Volo.Abp.MultiTenancy;
 using Volo.Abp.Uow;
 using IUnitOfWorkManager = Volo.Abp.Uow.IUnitOfWorkManager;
@@ -17,19 +18,14 @@ namespace Business.DOP
     public class SyncDOPAppService : ApplicationService, ISyncDOPAppService, ITransientDependency
     {
         #region 服务
-        /// <summary>
-        /// 工单
-        /// </summary>
-        //private readonly ISqlRepository<PlatformSpecificationComparison> _PlatformSpecificationComparison;
-
         /// <summary>
         /// 平台规格型号对照表
         /// </summary>
-        private readonly Volo.Abp.Domain.Repositories.IRepository<PlatformSpecificationComparison, long> _PlatformSpecificationComparison;
+        private readonly IRepository<PlatformSpecificationComparison, long> _PlatformSpecificationComparison;
         /// <summary>
         /// 平台库存表
         /// </summary>
-        private readonly Volo.Abp.Domain.Repositories.IRepository<PlatformInventory, long> _PlatformInventory;
+        private readonly IRepository<PlatformInventory, long> _PlatformInventory;
         /// <summary>
         ///  雪花算法
         /// </summary>
@@ -44,8 +40,8 @@ namespace Business.DOP
         /// 构造函数
         /// </summary>
         public SyncDOPAppService(
-            Volo.Abp.Domain.Repositories.IRepository<PlatformSpecificationComparison, long> PlatformSpecificationComparison,
-            Volo.Abp.Domain.Repositories.IRepository<PlatformInventory, long> PlatformInventory,
+            IRepository<PlatformSpecificationComparison, long> PlatformSpecificationComparison,
+            IRepository<PlatformInventory, long> PlatformInventory,
              IUnitOfWorkManager unitOfWorkManager,
         ICurrentTenant currentTenant
             )
@@ -119,6 +115,7 @@ namespace Business.DOP
             {
                 try
                 {
+                    //先删后插
                     await _PlatformInventory.DeleteManyAsync(platformInventoryDel);
                     await _PlatformInventory.InsertManyAsync(platformInventoryInsert);
 
@@ -126,7 +123,7 @@ namespace Business.DOP
                 }
                 catch (Exception e)
                 {
-                    new NLogHelper("SyncDOPAppService").WriteLog("PrMerge", "接口获取失败:" + e.Message);
+                    new NLogHelper("SyncDOPAppService").WriteLog("PlatformFinishedProductMonitoringAsyncMerge", "接口异常:" + e.Message);
                     unitOfWork.Dispose();
                     return JsonConvert.SerializeObject(e.Message);
                 }

+ 2 - 7
MicroServices/Business/Business.Application/PriorityManagement/PriorityAppService.cs

@@ -1,12 +1,7 @@
-using Business.ResourceExamineManagement.Dto;
-using Business.Model.MES.IC;
-using Business.Model.Sale;
-using Business.MongoModel.MES.IC;
-using System;
+using Business.Domain;
+using Business.ResourceExamineManagement.Dto;
 using System.Collections.Generic;
 using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using Volo.Abp.Application.Services;
 
 namespace Business.PriorityManagement

+ 49 - 32
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -1,22 +1,12 @@
 using Business.Core.Enum;
 using Business.Core.Utilities;
-using Business.Model.Production;
-using Business.Model.Sale;
-using Business.Model.SRM;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.Production;
-using Business.MongoModel.SRM;
-using Business.MongoModel.Tech;
+using Business.Domain;
 using Business.ResourceExamineManagement.Dto;
 using MongoDB.Driver.Linq;
 using System;
-using System.Collections;
 using System.Collections.Generic;
-using System.Globalization;
 using System.Linq;
 using Volo.Abp.Application.Services;
-using Volo.Abp.ObjectMapping;
-using static Spire.Pdf.General.Render.Decode.Jpeg2000.j2k.codestream.HeaderInfo;
 
 namespace Business.ResourceExamineManagement
 {
@@ -232,7 +222,7 @@ namespace Business.ResourceExamineManagement
                     mooccupylist.ForEach(s =>
                     {
                         mo_occupy mooc = new mo_occupy();
-                        mooc.id = s.id;
+                        mooc.id = s.Id;
                         mooc.moo_mo = s.moo_mo;
                         mooc.moo_stime = s.moo_ctime;
                         mooc.moo_etime = s.moo_etime;
@@ -291,7 +281,7 @@ namespace Business.ResourceExamineManagement
                             if (level1Dto.lack_qty > 0)
                             {
                                 //采购申请
-                                PackageSRMPR(level1Dto, bangid, plan_date, sentrys);
+                                PackageSRMPR(level1Dto, bangid, sentrys);
                             }
                         }
                         else if (level1Dto.erp_cls == 2)
@@ -311,7 +301,7 @@ namespace Business.ResourceExamineManagement
                                 level1Dto.subcontracting_qty = level1Dto.lack_qty;
                                 level1Dto.subcontracting_list = new List<ooder>();
                                 ooder oo = new ooder();
-                                oo.Id = mesorder.id;
+                                oo.Id = mesorder.Id;
                                 oo.morder_production_number = mesorder.morder_production_number;
                                 oo.production_unit = mesorder.production_unit;
                                 oo.production_unit_code = mesorder.production_unit_code;
@@ -325,7 +315,7 @@ namespace Business.ResourceExamineManagement
                                 orderList.Add(mesorder);
                                 //2.生成采购申请
                                 //采购申请
-                                PackageSRMPR(level1Dto, bangid, plan_date, sentrys);
+                                PackageSRMPR(level1Dto, bangid, sentrys);
                             }
 
                            
@@ -339,6 +329,7 @@ namespace Business.ResourceExamineManagement
                     else {
                         MatterTileDevelop(level1Dto, childList, returnlist, sklist, bangid, plan_date, sentrys, icitemlist);
                     }
+                    CalcLevelMakeTime(returnlist);
                 }
             }
             else
@@ -352,6 +343,23 @@ namespace Business.ResourceExamineManagement
             }
         }
 
+        //计算每层物料倒排时,需要根据半成品的工作时长倒排。
+        public void CalcLevelMakeTime(List<BomChildExamineDto> returnlist)
+        {
+            for (int level = 3; level <= returnlist.Max(s => s.level); level++)
+            {
+                var list = returnlist.Where(s => s.level == level).ToList();
+                list.ForEach(s => {
+                    var parent = returnlist.Find(p => p.fid == s.parent_id);
+                    if (parent != null)
+                    {
+                        s.pre_time = parent.make_time.GetValueOrDefault() + parent.pre_time.GetValueOrDefault();
+                    }
+                });
+            }
+        }
+
+
         /// <summary>
         /// 生成主工单
         /// </summary>
@@ -424,7 +432,7 @@ namespace Business.ResourceExamineManagement
                     mes_MorderDto.mes_Morders.ForEach(me =>
                     {
                         moorder mo = new moorder();
-                        mo.Id = me.id;
+                        mo.Id = me.Id;
                         mo.moentry_stime = me.moentry_stime;
                         mo.moentry_etime = me.moentry_etime;
                         mo.moentry_wrkcname = me.moentry_wrkcname;
@@ -652,9 +660,13 @@ namespace Business.ResourceExamineManagement
                         if (cilList.Count() > 0)
                         {
                             CalcIcitem(cilList, returnlist, bangid, sklist, plan_date, icitemlist, sentrys, childidList);
+                            
                             item.kitting_time = cilList.Max(s => s.kitting_time);
                         }
                         item.make_qty = item.lack_qty;
+                        //默认中间件需要1天的制造周期
+                        item.make_time = 1;
+                        item.kitting_time = item.kitting_time.Value.AddDays(1);
                         /*//走自制
                         ProdExamineParamDto prodExamine = new ProdExamineParamDto()
                         {
@@ -687,7 +699,7 @@ namespace Business.ResourceExamineManagement
                     if (item.lack_qty > 0 && (param.checkflag || (!param.checkflag && param.checkPlan)))
                     {
                         //采购申请
-                        PackageSRMPR(item, bangid, plan_date, sentrys);
+                        PackageSRMPR(item, bangid, sentrys);
                     }
                 }
                 else if (item.erp_cls == 2)
@@ -707,7 +719,7 @@ namespace Business.ResourceExamineManagement
                         item.subcontracting_qty = item.lack_qty;
                         item.subcontracting_list = new List<ooder>();
                         ooder oo = new ooder();
-                        oo.Id = mesorder.id;
+                        oo.Id = mesorder.Id;
                         oo.morder_production_number = mesorder.morder_production_number;
                         oo.production_unit = mesorder.production_unit;
                         oo.production_unit_code = mesorder.production_unit_code;
@@ -721,7 +733,7 @@ namespace Business.ResourceExamineManagement
                         orderList.Add(mesorder);
                         //2.生成采购申请
                         //采购申请
-                        PackageSRMPR(item, bangid, plan_date, sentrys);
+                        PackageSRMPR(item, bangid, sentrys);
                     }
                 }
                 else
@@ -1059,6 +1071,10 @@ namespace Business.ResourceExamineManagement
                                 sct.kitting_time = cilList.Max(s => s.kitting_time);
                             }
                             sct.make_qty = sct.lack_qty;
+                            //默认中间件需要1天的制造周期
+                            sct.make_time = 1;
+                            sct.kitting_time = sct.kitting_time.Value.AddDays(1);
+
                             /*//走自制
                             ProdExamineParamDto prodExamine = new ProdExamineParamDto()
                             {
@@ -1086,7 +1102,7 @@ namespace Business.ResourceExamineManagement
                             if (sct.lack_qty > 0 && (param.checkflag || (!param.checkflag && param.checkPlan)))
                             {
                                 //采购申请
-                                PackageSRMPR(sct, bangid, plan_date, sentrys);
+                                PackageSRMPR(sct, bangid, sentrys);
                             }
                         }
                         else if (sct.erp_cls == 2)
@@ -1106,7 +1122,7 @@ namespace Business.ResourceExamineManagement
                                 sct.subcontracting_qty = sct.lack_qty;
                                 sct.subcontracting_list = new List<ooder>();
                                 ooder oo = new ooder();
-                                oo.Id = mesorder.id;
+                                oo.Id = mesorder.Id;
                                 oo.morder_production_number = mesorder.morder_production_number;
                                 oo.production_unit = mesorder.production_unit;
                                 oo.production_unit_code = mesorder.production_unit_code;
@@ -1119,7 +1135,7 @@ namespace Business.ResourceExamineManagement
                                 sct.kitting_time = mesorder.ooentry_etime;
                                 orderList.Add(mesorder);
                                 //采购申请
-                                PackageSRMPR(sct, bangid, plan_date, sentrys);
+                                PackageSRMPR(sct, bangid, sentrys);
                             }
                         }
                         else
@@ -1162,7 +1178,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="returnlist"></param>
         /// <param name="factoryid"></param>
         /// <param name="orderType">2委外采购申请单,3采购申请单</param>
-        private SRMPRDto CreateSRMPR(BomChildExamineDto returnlist, long tenantId, long factoryid, long bangId, int orderType, List<ICItemLeadTimeDto> iCItemLeadTimes, List<mo_srm_purchase> supplierList, List<mo_ic_item> planList, DateTime deliveryDate, crm_seorderentry sentrys)
+        private SRMPRDto CreateSRMPR(BomChildExamineDto returnlist, long tenantId, long factoryid, long bangId, int orderType, List<ICItemLeadTimeDto> iCItemLeadTimes, List<mo_srm_purchase> supplierList, List<mo_ic_item> planList, crm_seorderentry sentrys)
         {
             SRMPRDto sRMPR = new SRMPRDto();
             var supplier = supplierList.Where(x => x.icitem_id == returnlist.item_id).ToList();//默认取第一个供应商
@@ -1170,7 +1186,7 @@ namespace Business.ResourceExamineManagement
             sRMPR.srm_Pr_Main = new List<mo_srm_pr_main>();
             if (!supplier.Any() || plan == null)
             {
-                sRMPR.lastStartTmie = DateTime.Now.AddDays(7);//减去提前期
+                sRMPR.lastStartTmie = DateTime.Now.AddDays(7);//默认采购提前期
                 return sRMPR;
                 //throw new NotImplementedException("未找到物料ic_factory_details或ic_item_pur或ic_plan信息!");
             }
@@ -1180,7 +1196,7 @@ namespace Business.ResourceExamineManagement
                 x.netpurchase_price = rnd.Next(1, 100);
                 x.taxrate = 0.13m;//固定13%增值税
                 mo_srm_pr_main srm_Pr = new mo_srm_pr_main();
-                srm_Pr.id = help.NextId();
+                srm_Pr.GenerateNewId(help.NextId());
                 srm_Pr.mysql_id = help.NextId();
                 srm_Pr.pr_billno = returnlist.erp_cls == 2 ? getOrderNum("WWPR") : getOrderNum("PR");//pr单号
                 if (mes_morder != null)
@@ -1198,6 +1214,7 @@ namespace Business.ResourceExamineManagement
                 srm_Pr.pr_sqty = returnlist.lack_qty;//建议数量
                 srm_Pr.icitem_id = returnlist.item_id;//物料id
                 srm_Pr.icitem_name = returnlist.item_name;//物料名称
+                srm_Pr.num = returnlist.num;
                 srm_Pr.pr_order_type = 1;//单据类型
                 srm_Pr.pr_ssend_date = DateTime.Now;//系统建议下单日期
                 srm_Pr.pr_sarrive_date = DateTime.Now.AddDays((double)plan.order_leadtime).AddDays((double)plan.transportation_leadtime);//系统建议到达日期(建议到货日期)
@@ -1236,7 +1253,7 @@ namespace Business.ResourceExamineManagement
             }
             sRMPR.item_no = returnlist.num;
             sRMPR.orderentry_id = returnlist.sentry_id;
-            sRMPR.lastStartTmie = DateTime.Now.AddDays((double)sRMPR.srm_Pr_Main.MinBy(x=>x.totalLeadTime).totalLeadTime);//减去提前期
+            sRMPR.lastStartTmie = DateTime.Now.AddDays((double)(sRMPR.srm_Pr_Main.MinBy(x=>x.totalLeadTime).totalLeadTime.GetValueOrDefault()+plan.clean_leadtime.GetValueOrDefault()));//加上提前期和备料期,得到齐套时间
             return sRMPR;
         }
         // 生成订单编号 字母+年月日+8位随机数+时间戳
@@ -1258,7 +1275,7 @@ namespace Business.ResourceExamineManagement
         private mo_mes_oorder CreateMesOOder(BomChildExamineDto returnlist, long tenantId, long factoryid, long bangId, List<ICItemLeadTimeDto> iCItemLeadTimes, List<mo_srm_purchase> supplierList, DateTime deliveryDate)
         {
             mo_mes_oorder oOrder = new mo_mes_oorder();
-            oOrder.id = help.NextId();
+            oOrder.GenerateNewId(help.NextId());
             oOrder.mysql_id=help.NextId();
             oOrder.oorder_no = getOrderNum("WW");//生产工单编号
             oOrder.oorder_type = "委外工单";//生产工单类型
@@ -1330,12 +1347,12 @@ namespace Business.ResourceExamineManagement
                         s.morder_mo = mes_morder.morder_no;
                     }
                     purchase_occupy ocp = new purchase_occupy();
-                    ocp.id = s.id;
+                    ocp.id = s.Id;
                     ocp.stime = s.stime;
                     ocp.etime = s.etime;
                     ocp.qty = s.qty;
                     ocp.type = s.type;
-                    var polist = srm_Po_Lists.Find(f => f.id == s.polist_id);
+                    var polist = srm_Po_Lists.Find(f => f.Id == s.polist_id);
                     if (polist != null)
                     {
                         ocp.po_billno = polist.po_billno;
@@ -1347,17 +1364,17 @@ namespace Business.ResourceExamineManagement
             }
         }
 
-        public void PackageSRMPR(BomChildExamineDto item,long bangid,DateTime? plan_date, crm_seorderentry sentrys)
+        public void PackageSRMPR(BomChildExamineDto item,long bangid, crm_seorderentry sentrys)
         {
             //采购申请
-            var SRMPRDto = CreateSRMPR(item, param.tenantId, param.factoryId, bangid, item.erp_cls, leadTimeList, supplierList, ic_item_List, plan_date.Value, sentrys);
+            var SRMPRDto = CreateSRMPR(item, param.tenantId, param.factoryId, bangid, item.erp_cls, leadTimeList, supplierList, ic_item_List, sentrys);
             item.purchase_list = new List<purchase>();
             if (SRMPRDto.srm_Pr_Main != null)
             {
                 for(int i=0;i< SRMPRDto.srm_Pr_Main.Count;i++)
                 {
                     purchase pur = new purchase();
-                    pur.Id = SRMPRDto.srm_Pr_Main[i].id;
+                    pur.Id = SRMPRDto.srm_Pr_Main[i].Id;
                     pur.pr_billno = SRMPRDto.srm_Pr_Main[i].pr_billno;
                     pur.pr_purchasenumber = SRMPRDto.srm_Pr_Main[i].pr_purchasenumber;
                     pur.pr_purchasename = SRMPRDto.srm_Pr_Main[i].pr_purchasename;

+ 4 - 9
MicroServices/Business/Business.Application/ResourceExamineManagement/MorderAppService.cs

@@ -1,16 +1,11 @@
 using Business.Core.Enum;
 using Business.Core.Utilities;
+using Business.Domain;
 using Business.EntityFrameworkCore.SqlRepositories;
-using Business.Model.Production;
-using Business.Model.Sale;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.Production;
-using Business.MongoModel.Tech;
 using Business.ResourceExamineManagement.Dto;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
-using System.Globalization;
 using System.Linq;
 using Volo.Abp.Application.Services;
 
@@ -146,7 +141,7 @@ namespace Business.ResourceExamineManagement
             //TODO:考虑性能问题 循环调用,后期改造传递数组,批量处理数据后,批量保存。
 
             mo_mes_morder mes_Morder = new mo_mes_morder();
-            mes_Morder.id = snowFlake.NextId();
+            mes_Morder.GenerateNewId(snowFlake.NextId());
             mes_Morder.mysql_id = snowFlake.NextId();
             mes_Morder.bang_id = generateMorderDto.bang_id;
             mes_Morder.morder_type = generateMorderDto.morder_type;
@@ -213,7 +208,7 @@ namespace Business.ResourceExamineManagement
             mes_Morder.create_time=DateTime.Now;
             //生成工单子表数据
             mo_mes_moentry mes_Moentry = new mo_mes_moentry();
-            mes_Moentry.id = snowFlake.NextId();
+            mes_Moentry.GenerateNewId(snowFlake.NextId());
             mes_Moentry.mysql_id = snowFlake.NextId();
             mes_Moentry.bang_id = generateMorderDto.bang_id;
             mes_Moentry.moentry_moid = mes_Morder.mysql_id;
@@ -475,7 +470,7 @@ namespace Business.ResourceExamineManagement
         {
             //生成mes_mooccupy工单占用表数据,代表多个工单被某个销售订单已占用。 
             mo_mes_mooccupy mes_Mooccupy = new mo_mes_mooccupy();
-            mes_Mooccupy.id = snowFlake.NextId();
+            mes_Mooccupy.GenerateNewId(snowFlake.NextId());
             mes_Mooccupy.mysql_id = snowFlake.NextId();
             mes_Mooccupy.bang_id = bang_id;
             mes_Mooccupy.moo_id_type = MorderEnum.Zyjc_Type;

+ 1 - 1
MicroServices/Business/Business.Application/ResourceExamineManagement/PretreatmentAppService.cs

@@ -1,5 +1,5 @@
 using Business.Core.Utilities;
-using Business.MongoModel.MES.IC;
+using Business.Domain;
 using Business.ResourceExamineManagement.Dto;
 using System.Collections.Generic;
 using System.Linq;

+ 3 - 12
MicroServices/Business/Business.Application/ResourceExamineManagement/ProductExamineAppService.cs

@@ -1,20 +1,11 @@
-using Business.Core.MongoDBHelper;
+using Business.Domain;
+using Business.Dto;
 using Business.ResourceExamineManagement.Dto;
-using Business.Model.Production;
-using Business.Model.Tech;
-using Business.MongoModel.Production;
-using Business.MongoModel.Tech;
+using MongoDB.Driver.Linq;
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using Volo.Abp.Application.Services;
-using Volo.Abp.Domain.Repositories;
-using Business.Dto;
-using Business.Model.Sale;
-using Business.MongoModel.MES.IC;
-using MongoDB.Driver.Linq;
 
 namespace Business.ResourceExamineManagement
 {

+ 18 - 7
MicroServices/Business/Business.Application/ResourceExamineManagement/ProductionScheduleAppService.cs

@@ -1,15 +1,11 @@
 using Business.Business.Dto;
 using Business.Core.Utilities;
+using Business.Domain;
 using Business.Dto;
-using Business.EntityFrameworkCore;
 using Business.EntityFrameworkCore.SqlRepositories;
-using Business.Model.MES.IC;
-using Business.Model.Production;
-using EFCore.BulkExtensions;
 using System;
 using System.Collections.Generic;
 using System.Collections.Immutable;
-using System.Globalization;
 using System.Linq;
 using System.Threading.Tasks;
 using System.Transactions;
@@ -163,7 +159,15 @@ namespace Business.ResourceExamineManagement
                 return;
             }
             //获取排产工单的最早计划开工日期
-            DateTime earlist = workOrds.Min(p => p.OrdDate.GetValueOrDefault()).Date;
+            DateTime earlist;
+            if (workOrds.Min(p => p.OrdDate) == null)
+            {
+                earlist = DateTime.Now.Date.AddDays(7);
+            }
+            else {
+                earlist = workOrds.Min(p => p.OrdDate.GetValueOrDefault()).Date;
+            }
+
             //2、获取数据
             //获取工单工艺路径数据
             List<WorkOrdRouting> workOrdRoutings = _workOrdRouting.Select(p => workOrds.Select(m => m.WorkOrd).Contains(p.WorkOrd) && p.Domain == "1001" && p.Status != "C" && p.IsActive);
@@ -237,6 +241,13 @@ namespace Business.ResourceExamineManagement
                 //产线排产
                 LineSchedule(item, routingDtos.OrderBy(p => p.level).ToList(), periodSequenceDtls, scheduleMasters);
 
+                List<ScheduleResultOpMaster> scheduleList = scheduleMasters.Where(s => s.WorkOrd == item.WorkOrd).ToList();
+                if (scheduleList.Any())
+                {
+                    item.OrdDate = scheduleList.Min(s => s.WorkStartTime.Date);
+                    item.DueDate = scheduleList.Max(s => s.WorkEndTime.Date);
+                }
+
                 /*//更新工单表
                 item.Status = "r";*/
             }
@@ -245,7 +256,7 @@ namespace Business.ResourceExamineManagement
                 try
                 {
                     //记录排产数据
-                    /*_workOrdMaster.Update(workOrds);*/
+                    _workOrdMaster.Update(workOrds);
                     _periodSequenceDet.Insert(periodSequenceDtls);
                     _scheduleResultOpMaster.Insert(scheduleMasters);
                     scope.Complete();

+ 5 - 15
MicroServices/Business/Business.Application/ResourceExamineManagement/PurchaseOrderAppService.cs

@@ -1,21 +1,11 @@
 using Business.Core.Enum;
-using Business.Core.MongoDBHelper;
 using Business.Core.Utilities;
+using Business.Domain;
 using Business.ResourceExamineManagement.Dto;
-using Business.Model.MES.IC;
-using Business.Model.Sale;
-using Business.Model.SRM;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.Production;
-using Business.MongoModel.SRM;
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using Volo.Abp.Application.Services;
-using Volo.Abp.Domain.Repositories;
-using ZstdSharp.Unsafe;
 
 namespace Business.ResourceExamineManagement
 {
@@ -89,7 +79,7 @@ namespace Business.ResourceExamineManagement
             //查询出对应物料采购订单明细  --数据未被停用 && 评审通过后
             var poDetailList = mo_Srm_Po_Lists.Where(x => x.icitem_id == icitem_id);
             //采购订单占用数据
-            var poOccupys = srm_Po_Occupies.Where(x => poDetailList.Select(p => p.id).ToList().Contains(x.polist_id));
+            var poOccupys = srm_Po_Occupies.Where(x => poDetailList.Select(p => p.Id).ToList().Contains(x.polist_id));
             //先查询出满足日期,并且数量可满足占用的数据
             var poDetails = poDetailList.Where(x => x.rarrdate.GetValueOrDefault().AddDays(-(int)ic_Plan.self_inspection_date.GetValueOrDefault()) < DeliverDate && x.qty - x.rqty - x.esqty -
                 poOccupys.Where(p => p.polist_id == x.mysql_id)?.Sum(m => m.qty) > Quantity).OrderByDescending(x => x.rarrdate).ToList();
@@ -101,7 +91,7 @@ namespace Business.ResourceExamineManagement
             var QuantityNumber = 0.00m;
             foreach (var item in poDetails)
             {
-                var poOccupy = poOccupys.Where(x => x.polist_id == item.id).ToList();
+                var poOccupy = poOccupys.Where(x => x.polist_id == item.Id).ToList();
                 decimal? Qtys = poOccupy.Count > 0 ? poOccupy.Sum(x => x.qty.GetValueOrDefault()) : 0.00m;
                 //剩余可用数量
                 var PlanQty = item.plan_qty.GetValueOrDefault() - item.rqty.GetValueOrDefault() - item.esqty.GetValueOrDefault() - Qtys;
@@ -141,10 +131,10 @@ namespace Business.ResourceExamineManagement
         {
             //生成mo_srm_po_occupy采购占用表数据。 
             mo_srm_po_occupy srm_Po_Occupy = new mo_srm_po_occupy();
-            srm_Po_Occupy.id = snowFlake.NextId();
+            srm_Po_Occupy.GenerateNewId(snowFlake.NextId());
             srm_Po_Occupy.mysql_id = snowFlake.NextId();
             srm_Po_Occupy.bang_id = bang_id;
-            srm_Po_Occupy.polist_id = srm_po_list.id;
+            srm_Po_Occupy.polist_id = srm_po_list.Id;
             srm_Po_Occupy.polist_row = srm_po_list.polist_row;
             if (seorderentry != null)
             {

+ 202 - 184
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -1,19 +1,9 @@
 using Business.Core.Enum;
-using Business.Core.MongoDBHelper;
 using Business.Core.Utilities;
+using Business.Domain;
 using Business.Dto;
 using Business.EntityFrameworkCore;
 using Business.EntityFrameworkCore.SqlRepositories;
-using Business.Model.Bang;
-using Business.Model.MES.IC;
-using Business.Model.Production;
-using Business.Model.Sale;
-using Business.Model.SRM;
-using Business.Model.Tech;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.Production;
-using Business.MongoModel.SRM;
-using Business.MongoModel.Tech;
 using Business.PriorityManagement;
 using Business.ResourceExamineManagement.Dto;
 using EFCore.BulkExtensions;
@@ -47,94 +37,94 @@ namespace Business.ResourceExamineManagement
         /// <summary>
         /// 工艺路径
         /// </summary>
-        private readonly IMongoDB<mo_mes_technique> _mes_technique;
+        private readonly IRepository<mo_mes_technique,long> _mes_technique;
 
         /// <summary>
         /// 工序
         /// </summary>
-        private readonly IMongoDB<mo_mes_process> _mes_process;
+        private readonly IRepository<mo_mes_process,long> _mes_process;
 
         /// <summary>
         /// 工艺关联工序
         /// </summary>
-        private readonly IMongoDB<mo_mes_tech_process> _mes_tech_process;
+        private readonly IRepository<mo_mes_tech_process,long> _mes_tech_process;
 
 
         /// <summary>
         /// 工艺工序关联工位
         /// </summary>
-        private readonly IMongoDB<mo_mes_tech_proc_workshop> _mes_tech_proc_workshop;
+        private readonly IRepository<mo_mes_tech_proc_workshop,long> _mes_tech_proc_workshop;
 
         /// <summary>
         /// 物料占用记录
         /// </summary>
-        private readonly IMongoDB<mo_ic_item_stockoccupy> _ic_item_stockoccupy;
+        private readonly IRepository<mo_ic_item_stockoccupy,long> _ic_item_stockoccupy;
         private IRepository<ic_item_stockoccupy, long> _mysql_ic_item_stockoccupy;
 
         /// <summary>
         /// 物料详情
         /// </summary>
-        private readonly IMongoDB<mo_ic_item> _ic_item;
+        private readonly IRepository<mo_ic_item,long> _ic_item;
         private IRepository<ic_item, long> _mysql_ic_item;
 
         /// <summary>
         /// 物料BOM
         /// </summary>
-        private readonly IMongoDB<mo_ic_bom> _ic_bom;
+        private readonly IRepository<mo_ic_bom,long> _ic_bom;
         private IRepository<ic_bom, long> _mysql_ic_bom;
         /// <summary>
         /// 物料BOM明细
         /// </summary>
-        private readonly IMongoDB<mo_ic_bom_child> _ic_bom_child;
+        private readonly IRepository<mo_ic_bom_child,long> _ic_bom_child;
         private IRepository<ic_bom_child, long> _mysql_ic_bom_child;
 
         /// <summary>
         /// 物料库存表
         /// </summary>
-        private readonly IMongoDB<mo_ic_item_stock> _ic_item_stock;
+        private readonly IRepository<mo_ic_item_stock,long> _ic_item_stock;
         private IRepository<ic_item_stock, long> _mysql_ic_item_stock;
 
 
         /// <summary>
         /// 物料采购报价单
         /// </summary>
-        private readonly IMongoDB<mo_srm_purchase> _srm_purchase;
+        private readonly IRepository<mo_srm_purchase,long> _srm_purchase;
         private IRepository<srm_purchase, long> _mysql_srm_purchase;
 
         /// <summary>
         /// 采购申请单
         /// </summary>
-        private readonly IMongoDB<mo_srm_pr_main> _srm_pr_main;
+        private readonly IRepository<mo_srm_pr_main,long> _srm_pr_main;
         private IRepository<srm_pr_main, long> _mysql_srm_pr_main;
 
         /// <summary>
         /// 采购订单表
         /// </summary>
-        private readonly IMongoDB<mo_srm_po_main> _srm_po_main;
+        private readonly IRepository<mo_srm_po_main,long> _srm_po_main;
         private IRepository<srm_po_main, long> _mysql_srm_po_main;
 
         /// <summary>
         /// 采购订单明细表
         /// </summary>
-        private readonly IMongoDB<mo_srm_po_list> _srm_po_list;
+        private readonly IRepository<mo_srm_po_list,long> _srm_po_list;
         private IRepository<srm_po_list, long> _mysql_srm_po_list;
 
         /// <summary>
         /// 采购订单占用详情
         /// </summary>
-        private readonly IMongoDB<mo_srm_po_occupy> _srm_po_occupy;
+        private readonly IRepository<mo_srm_po_occupy,long> _srm_po_occupy;
         private IRepository<srm_po_occupy, long> _mysql_srm_po_occupy;
 
         /// <summary>
         /// 供应商
         /// </summary>
-        private readonly IMongoDB<mo_srm_supplier> _srm_supplier;
+        private readonly IRepository<mo_srm_supplier,long> _srm_supplier;
         private IRepository<srm_supplier, long> _mysql_srm_supplier;
 
         /// <summary>
         /// 委外工单
         /// </summary>
-        private readonly IMongoDB<mo_mes_oorder> _mes_oorder;
+        private readonly IRepository<mo_mes_oorder,long> _mes_oorder;
         private IRepository<mes_oorder, long> _mysql_mes_oorder;
 
         private IRepository<b_bom_pretreatment, long> _mysql_b_bom_pretreatment;
@@ -150,29 +140,29 @@ namespace Business.ResourceExamineManagement
         /// <summary>
         /// 替代群组
         /// </summary>
-        private readonly IMongoDB<mo_ic_substitute> _ic_substitute;
+        private readonly IRepository<mo_ic_substitute,long> _ic_substitute;
         /// <summary>
         /// 替代群组
         /// </summary>
-        private readonly IMongoDB<mo_ic_substitute_group> _ic_substitute_group;
+        private readonly IRepository<mo_ic_substitute_group,long> _ic_substitute_group;
         /// <summary>
         /// 替代群组
         /// </summary>
-        private readonly IMongoDB<mo_ic_substitute_group_detail> _ic_substitute_group_detail;
+        private readonly IRepository<mo_ic_substitute_group_detail,long> _ic_substitute_group_detail;
 
         /// <summary>
         /// 生产工单主表
         /// </summary>
-        private readonly IMongoDB<mo_mes_morder> _mes_morder;
+        private readonly IRepository<mo_mes_morder,long> _mes_morder;
         /// <summary>
         /// 生产工单子表
         /// </summary>
-        private readonly IMongoDB<mo_mes_moentry> _mes_moentry;
+        private readonly IRepository<mo_mes_moentry,long> _mes_moentry;
 
         /// <summary>
         /// 在制工单占用记录表
         /// </summary>
-        private readonly IMongoDB<mo_mes_mooccupy> _mes_mooccupy;
+        private readonly IRepository<mo_mes_mooccupy,long> _mes_mooccupy;
         /// <summary>
         /// mysql在制工单占用表
         /// </summary>
@@ -210,6 +200,11 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         private readonly ISqlRepository<PeriodSequenceDet> _periodSequenceDet;
 
+        /// <summary>
+        /// 排产结果明细
+        /// </summary>
+        private ISqlRepository<ScheduleResultOpMaster> _scheduleResultOpMaster;
+
         /// <summary>
         /// 工作日历
         /// </summary>
@@ -343,28 +338,28 @@ namespace Business.ResourceExamineManagement
         /// <param name="icitem"></param>
         /// <param name="icbom"></param>
         public ResourceExamineAppService(
-            IMongoDB<mo_mes_technique> mes_technique,
-            IMongoDB<mo_mes_process> mes_process,
-            IMongoDB<mo_mes_tech_process> mes_tech_process,
-            IMongoDB<mo_mes_tech_proc_workshop> mes_tech_proc_workshop,
-            IMongoDB<mo_ic_item> ic_item,
-            IMongoDB<mo_ic_bom> ic_bom,
-            IMongoDB<mo_ic_bom_child> ic_bom_child,
-            IMongoDB<mo_ic_item_stock> ic_item_stock,
-            IMongoDB<mo_mes_oorder> mes_oorder,
-            IMongoDB<mo_srm_pr_main> srm_pr_main,
-            IMongoDB<mo_srm_po_main> srm_po_main,
-            IMongoDB<mo_srm_po_list> srm_po_list,
-            IMongoDB<mo_srm_po_occupy> srm_po_occupy,
-            IMongoDB<mo_srm_purchase> srm_purchase,
-            IMongoDB<mo_ic_substitute> ic_substitute,
-            IMongoDB<mo_ic_substitute_group> ic_substitute_group,
-            IMongoDB<mo_ic_substitute_group_detail> ic_substitute_group_detail,
-            IMongoDB<mo_mes_morder> mes_morder,
-            IMongoDB<mo_mes_moentry> mes_moentry,
-            IMongoDB<mo_mes_mooccupy> mes_mooccupy,
-            IMongoDB<mo_ic_item_stockoccupy> ic_item_stockoccupy,
-            IMongoDB<mo_srm_supplier> srm_supplier,
+            IRepository<mo_mes_technique,long> mes_technique,
+            IRepository<mo_mes_process,long> mes_process,
+            IRepository<mo_mes_tech_process,long> mes_tech_process,
+            IRepository<mo_mes_tech_proc_workshop,long> mes_tech_proc_workshop,
+            IRepository<mo_ic_item,long> ic_item,
+            IRepository<mo_ic_bom,long> ic_bom,
+            IRepository<mo_ic_bom_child,long> ic_bom_child,
+            IRepository<mo_ic_item_stock,long> ic_item_stock,
+            IRepository<mo_mes_oorder,long> mes_oorder,
+            IRepository<mo_srm_pr_main,long> srm_pr_main,
+            IRepository<mo_srm_po_main,long> srm_po_main,
+            IRepository<mo_srm_po_list,long> srm_po_list,
+            IRepository<mo_srm_po_occupy,long> srm_po_occupy,
+            IRepository<mo_srm_purchase,long> srm_purchase,
+            IRepository<mo_ic_substitute,long> ic_substitute,
+            IRepository<mo_ic_substitute_group,long> ic_substitute_group,
+            IRepository<mo_ic_substitute_group_detail,long> ic_substitute_group_detail,
+            IRepository<mo_mes_morder,long> mes_morder,
+            IRepository<mo_mes_moentry,long> mes_moentry,
+            IRepository<mo_mes_mooccupy,long> mes_mooccupy,
+            IRepository<mo_ic_item_stockoccupy,long> ic_item_stockoccupy,
+            IRepository<mo_srm_supplier,long> srm_supplier,
             IRepository<ic_item, long> mysql_ic_item,
             IRepository<ic_bom, long> mysql_ic_bom,
             IRepository<ic_bom_child, long> mysql_ic_bom_child,
@@ -424,6 +419,7 @@ namespace Business.ResourceExamineManagement
             ISqlRepository<LocationDetail> locationDetail,
             ISqlRepository<ItemPackMaster> itemPackMaster,
             ISqlRepository<GeneralizedCodeMaster> generalizedCodeMaster,
+            ISqlRepository<ScheduleResultOpMaster> scheduleResultOpMaster,
             IUnitOfWorkManager unitOfWorkManager
             )
         {
@@ -506,6 +502,7 @@ namespace Business.ResourceExamineManagement
             _itemPackMaster = itemPackMaster;
             _generalizedCodeMaster = generalizedCodeMaster;
             _unitOfWorkManager = unitOfWorkManager;
+            _scheduleResultOpMaster = scheduleResultOpMaster;
         }
         #endregion
 
@@ -591,7 +588,7 @@ namespace Business.ResourceExamineManagement
             await DeleteMySqlOldData(sentrys);
 
             //通过订单行的产品代码获取物料BOM数据
-            List<mo_ic_bom> boms = _ic_bom.Find(p => sentrys.Select(m => m.item_number).Contains(p.item_number) && p.factory_id == input.factoryId && p.tenant_id == input.tenantId && !p.IsDeleted).Result.ToList();
+            List<mo_ic_bom> boms = _ic_bom.GetListAsync(p => sentrys.Select(m => m.item_number).Contains(p.item_number) && p.factory_id == input.factoryId && p.tenant_id == input.tenantId && !p.IsDeleted).Result.ToList();
             //物料信息
             List<mo_ic_item> icitemlist = new List<mo_ic_item>();
             //物料库存表
@@ -739,16 +736,16 @@ namespace Business.ResourceExamineManagement
                     }*/
                     if (_CalcBomViewAppService.mordersInsertList.Any())
                     {
-                        await _mes_morder.InsertMany(_CalcBomViewAppService.mordersInsertList);
+                        await _mes_morder.InsertManyAsync(_CalcBomViewAppService.mordersInsertList);
                     }  
                     if (prmainlist.Any())
                     {
-                        await _srm_pr_main.InsertMany(prmainlist);
+                        await _srm_pr_main.InsertManyAsync(prmainlist);
                     }
                     if (_CalcBomViewAppService.mooccupyAllInsertList.Any())
                     {
                         _CalcBomViewAppService.mooccupyAllInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-                        await _mes_mooccupy.InsertMany(_CalcBomViewAppService.mooccupyAllInsertList);
+                        await _mes_mooccupy.InsertManyAsync(_CalcBomViewAppService.mooccupyAllInsertList);
                         /*var moOccupy = ObjectMapper.Map<List<mo_mes_mooccupy>, List<mes_mooccupy>>(_CalcBomViewAppService.mooccupyAllInsertList);
                         _businessDbContext.BulkInsert(moOccupy);*/
                         rtn.mooccupyAllList = _CalcBomViewAppService.mooccupyAllInsertList;
@@ -756,27 +753,27 @@ namespace Business.ResourceExamineManagement
                     if (_CalcBomViewAppService.moentriesInsertList.Any())
                     {
                         _CalcBomViewAppService.moentriesInsertList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-                        await _mes_moentry.InsertMany(_CalcBomViewAppService.moentriesInsertList);
+                        await _mes_moentry.InsertManyAsync(_CalcBomViewAppService.moentriesInsertList);
                         /*var mesmoentrys = ObjectMapper.Map<List<mo_mes_moentry>, List<mes_moentry>>(_CalcBomViewAppService.moentriesInsertList);
                         _businessDbContext.BulkInsert(mesmoentrys);*/
                     }
                     if (_CalcBomViewAppService.orderList.Any())
                     {
                         _CalcBomViewAppService.orderList.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-                        await _mes_oorder.InsertMany(_CalcBomViewAppService.orderList);
+                        await _mes_oorder.InsertManyAsync(_CalcBomViewAppService.orderList);
                         /*var ooders = ObjectMapper.Map<List<mo_mes_oorder>, List<mes_oorder>>(_CalcBomViewAppService.orderList);
                         _businessDbContext.BulkInsert(ooders);*/
                         rtn.order_list = _CalcBomViewAppService.orderList;
                     }
                     if (_CalcBomViewAppService.newStockOccList.Any())
                     {
-                        _CalcBomViewAppService.newStockOccList.ForEach(s => { s.id = help.NextId(); s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-                        await _ic_item_stockoccupy.InsertMany(_CalcBomViewAppService.newStockOccList);
+                        _CalcBomViewAppService.newStockOccList.ForEach(s => {s.GenerateNewId(help.NextId()); s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
+                        await _ic_item_stockoccupy.InsertManyAsync(_CalcBomViewAppService.newStockOccList);
                     }
                     if (_CalcBomViewAppService.srm_Po_OccupiesInsert.Any())
                     {
                         _CalcBomViewAppService.srm_Po_OccupiesInsert.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
-                        await _srm_po_occupy.InsertMany(_CalcBomViewAppService.srm_Po_OccupiesInsert);
+                        await _srm_po_occupy.InsertManyAsync(_CalcBomViewAppService.srm_Po_OccupiesInsert);
                         /*var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(_CalcBomViewAppService.srm_Po_OccupiesInsert);
                         _businessDbContext.BulkInsert(poOccupies);*/
                     }
@@ -979,6 +976,7 @@ namespace Business.ResourceExamineManagement
             srm_Pr.pr_rqty = prlist.Sum(s => s.pr_rqty);//需求数量
             srm_Pr.pr_aqty = prlist.Sum(s => s.pr_aqty);//申请数量
             srm_Pr.pr_sqty = prlist.Sum(s => s.pr_sqty);//建议数量
+            srm_Pr.pr_ssend_date= prlist.Min(s => s.pr_ssend_date);//系统建议下单日期
             srm_Pr.pr_sarrive_date = prlist.Min(s => s.pr_sarrive_date);//系统建议到达日期(建议到货日期)
             srm_Pr.pr_psend_date = prlist.Min(s => s.pr_psend_date);//计划下单日期
             srm_Pr.pr_parrive_date = prlist.Min(s => s.pr_parrive_date);//计划到达日期
@@ -1027,8 +1025,8 @@ namespace Business.ResourceExamineManagement
             //List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.state == 1 || s.state == 2).Result;
             //直接按间隔多少天一次来处理数据,定时任务按周四来考虑。
             DateTime toTime = new DateTime(2023, 7, 6);
-            DateTime starttime = toTime.AddDays(1);
-            DateTime endtime = toTime.AddDays(8);
+            DateTime starttime = toTime.Date.AddDays(8);
+            DateTime endtime = toTime.Date.AddDays(14);
             List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.pr_rarrive_date >= starttime && s.pr_rarrive_date <= endtime && (s.state == 1 || s.state == 3)).Result;
             //List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.icitem_id == 1949).Result;
             //List<srm_purchase> purchaselist = _mysql_srm_purchase.GetListAsync(s => prlist.Select(c => c.icitem_id).Contains(s.icitem_id) && prlist.Select(c => c.pr_purchaseid).Contains(s.supplier_id)).Result;
@@ -1456,8 +1454,8 @@ namespace Business.ResourceExamineManagement
             List<long> seIds = sentrys.Select(s => s.Id).ToList();
 
             //找到当前计算周期里工单
-            List<mo_mes_moentry> moentry = _mes_moentry.GetManyByCondition(x => seIds.Contains(x.soentry_id.Value)).Result;
-            List<mo_mes_morder> mordersList = _mes_morder.GetManyByCondition(x => moentry.Select(p => p.moentry_moid).ToList().Contains(x.mysql_id)).Result;
+            List<mo_mes_moentry> moentry = _mes_moentry.GetListAsync(x => seIds.Contains(x.soentry_id.Value)).Result;
+            List<mo_mes_morder> mordersList = _mes_morder.GetListAsync(x => moentry.Select(p => p.moentry_moid).ToList().Contains(x.mysql_id)).Result;
 
             List<mo_mes_moentry> WriteMoentry = new List<mo_mes_moentry>();
             List<mo_mes_morder> WriteMorder = new List<mo_mes_morder>();
@@ -1517,12 +1515,12 @@ namespace Business.ResourceExamineManagement
                 CreateWorkOrdDates(moderlist, allRoutings, workOrds, workOrdRoutings, workOrdDetails);
             }
             //当前订单号所关联的最新计算结果里的占用记录
-            List<mo_mes_mooccupy> mooccupyList = await _mes_mooccupy.GetManyByCondition(s => seIds.Contains(s.moo_id_billid.Value) && bangidList.Contains(s.bang_id.Value));
+            List<mo_mes_mooccupy> mooccupyList = await _mes_mooccupy.GetListAsync(s => seIds.Contains(s.moo_id_billid.Value) && bangidList.Contains(s.bang_id.Value));
             //委外工单计算记录
-            List<mo_mes_oorder> oorderList = await _mes_oorder.GetManyByCondition(s => seIds.Contains(s.sentry_id.Value) && bangidList.Contains(s.bang_id.Value));
+            List<mo_mes_oorder> oorderList = await _mes_oorder.GetListAsync(s => seIds.Contains(s.sentry_id.Value) && bangidList.Contains(s.bang_id.Value));
             //PO占用记录
-            List<mo_srm_po_occupy> po_occupy = await _srm_po_occupy.GetManyByCondition(s => seIds.Contains(s.eid.Value) && bangidList.Contains(s.bang_id.Value));
-            List<mo_srm_pr_main> prmainlist = await _srm_pr_main.GetManyByCondition(s => seIds.Contains(s.sentry_id.Value) && bangidList.Contains(s.bang_id.Value));
+            List<mo_srm_po_occupy> po_occupy = await _srm_po_occupy.GetListAsync(s => seIds.Contains(s.eid.Value) && bangidList.Contains(s.bang_id.Value));
+            List<mo_srm_pr_main> prmainlist = await _srm_pr_main.GetListAsync(s => seIds.Contains(s.sentry_id.Value) && bangidList.Contains(s.bang_id.Value));
 
             using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
             {
@@ -1593,28 +1591,28 @@ namespace Business.ResourceExamineManagement
             return "ok";
         }
 
-        /// <summary>
-        /// 通过ic_bom获取工艺路径数据
-        /// </summary>
-        /// <param name="ic_Boms"></param>
-        /// <returns></returns>
-        public List<mo_mes_technique> GetMesTechniques(List<mo_ic_bom> ic_Boms)
-        {
-            List<mo_mes_technique> techniques = new List<mo_mes_technique>();
-            var builder = Builders<mo_mes_technique>.Filter;
-            var filters = new List<FilterDefinition<mo_mes_technique>>();
-            ic_Boms?.ForEach(item =>
-            {
-                var filter = builder.Eq(x => x.bom, item.bom_number)
-                & builder.Eq(x => x.bomver, item.version)
-                & builder.Eq(x => x.tenant_id, param.tenantId)
-                & builder.Eq(x => x.factory_id, param.factoryId)
-                & builder.Eq(x => x.IsDeleted, false);
-                filters.Add(filter);
-            });
-            techniques = _mes_technique.Find(builder.Or(filters)).Result;
-            return techniques;
-        }
+        ///// <summary>
+        ///// 通过ic_bom获取工艺路径数据
+        ///// </summary>
+        ///// <param name="ic_Boms"></param>
+        ///// <returns></returns>
+        //public List<mo_mes_technique> GetMesTechniques(List<mo_ic_bom> ic_Boms)
+        //{
+        //    List<mo_mes_technique> techniques = new List<mo_mes_technique>();
+        //    var builder = Builders<mo_mes_technique>.Filter;
+        //    var filters = new List<FilterDefinition<mo_mes_technique>>();
+        //    ic_Boms?.ForEach(item =>
+        //    {
+        //        var filter = builder.Eq(x => x.bom, item.bom_number)
+        //        & builder.Eq(x => x.bomver, item.version)
+        //        & builder.Eq(x => x.tenant_id, param.tenantId)
+        //        & builder.Eq(x => x.factory_id, param.factoryId)
+        //        & builder.Eq(x => x.IsDeleted, false);
+        //        filters.Add(filter);
+        //    });
+        //    techniques = _mes_technique.Find(builder.Or(filters)).Result;
+        //    return techniques;
+        //}
 
         /// <summary>
         /// 递归:获取icbom,icbomchild数据
@@ -1638,7 +1636,7 @@ namespace Business.ResourceExamineManagement
             }
             //获取物料bom明细数据
             //List<mo_ic_bom_child> childList = _ic_bom_child.GetManyByCondition(p => icBoms.Select(m => m.mysql_id).Contains(p.bom_id) && p.use_status == 1 && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
-            List<mo_ic_bom_child> childList = _ic_bom_child.GetManyByCondition(p => icBoms.Select(m => m.mysql_id).Contains(p.bom_id) && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
+            List<mo_ic_bom_child> childList = _ic_bom_child.GetListAsync(p => icBoms.Select(m => m.mysql_id).Contains(p.bom_id) && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
             //没有明细数据,终止
             if (childList.Count == 0)
             {
@@ -1652,7 +1650,7 @@ namespace Business.ResourceExamineManagement
                 }
             }
             //通过物料bom明细数据反查物料bom数据
-            var boms = _ic_bom.GetManyByCondition(p => childList.Select(m => m.icitem_id).ToList().Contains(p.icitem_id) && p.use_status == 1 && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
+            var boms = _ic_bom.GetListAsync(p => childList.Select(m => m.icitem_id).ToList().Contains(p.icitem_id) && p.use_status == 1 && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
             foreach (var chd in childList)
             {
                 var curBoms = boms.Where(p => p.icitem_id == chd.icitem_id).ToList();
@@ -1723,9 +1721,9 @@ namespace Business.ResourceExamineManagement
                     }
                 });
                 var moIcitemStokc = ObjectMapper.Map<List<ic_item_stock>, List<mo_ic_item_stock>>(icitemStokc);
-                moIcitemStokc.ForEach(item => { item.id = help.NextId(); });
+                moIcitemStokc.ForEach(item => { item.GenerateNewId(help.NextId()); });
                 //插入数据
-                await _ic_item_stock.InsertMany(moIcitemStokc);
+                await _ic_item_stock.InsertManyAsync(moIcitemStokc);
             }
             //在制工单占用记录表
             var mes_mooccupy = _mysql_mes_mooccupy.GetListAsync(x => x.tenant_id == tenantId && x.factory_id == factoryId).Result;
@@ -1733,8 +1731,8 @@ namespace Business.ResourceExamineManagement
             {
                 mes_mooccupy.ForEach(item => { item.bang_id = bangid; });
                 var moMes_mooccupy = ObjectMapper.Map<List<mes_mooccupy>, List<mo_mes_mooccupy>>(mes_mooccupy);
-                moMes_mooccupy.ForEach(item => { item.id = help.NextId(); });
-                await _mes_mooccupy.InsertMany(moMes_mooccupy);
+                moMes_mooccupy.ForEach(item => { item.GenerateNewId(help.NextId()); });
+                await _mes_mooccupy.InsertManyAsync(moMes_mooccupy);
             }
             //工单主表
             var mes_morder = _mysql_mes_morder.GetListAsync(x => x.tenant_id == tenantId && x.factory_id == factoryId).Result;
@@ -1742,8 +1740,8 @@ namespace Business.ResourceExamineManagement
             {
                 mes_morder.ForEach(item => { item.bang_id = bangid; });
                 var moMes_morder = ObjectMapper.Map<List<mes_morder>, List<mo_mes_morder>>(mes_morder);
-                moMes_morder.ForEach(item => { item.id = help.NextId(); });
-                await _mes_morder.InsertMany(moMes_morder);
+                moMes_morder.ForEach(item => { item.GenerateNewId(help.NextId()); });
+                await _mes_morder.InsertManyAsync(moMes_morder);
             }
             //工单子表
             var mes_moentry = _mysql_mes_moentry.GetListAsync(x => x.tenant_id == tenantId && x.factory_id == factoryId).Result;
@@ -1751,8 +1749,8 @@ namespace Business.ResourceExamineManagement
             {
                 mes_moentry.ForEach(item => { item.bang_id = bangid; });
                 var moMes_moentry = ObjectMapper.Map<List<mes_moentry>, List<mo_mes_moentry>>(mes_moentry);
-                moMes_moentry.ForEach(item => { item.id = help.NextId(); });
-                await _mes_moentry.InsertMany(moMes_moentry);
+                moMes_moentry.ForEach(item => { item.GenerateNewId(help.NextId()); });
+                await _mes_moentry.InsertManyAsync(moMes_moentry);
             }
 
             //TODO:要不要根据某些条件只同步有效的数据
@@ -1762,8 +1760,8 @@ namespace Business.ResourceExamineManagement
             {
                 srm_po_main.ForEach(item => { item.bang_id = bangid; });
                 var moSrm_po_main = ObjectMapper.Map<List<srm_po_main>, List<mo_srm_po_main>>(srm_po_main);
-                moSrm_po_main.ForEach(item => { item.id = help.NextId(); });
-                await _srm_po_main.InsertMany(moSrm_po_main);
+                moSrm_po_main.ForEach(item => { item.GenerateNewId(help.NextId()); });
+                await _srm_po_main.InsertManyAsync(moSrm_po_main);
             }
 
             //采购订单明细
@@ -1772,8 +1770,8 @@ namespace Business.ResourceExamineManagement
             {
                 srm_po_list.ForEach(item => { item.bang_id = bangid; });
                 var moSrm_po_list = ObjectMapper.Map<List<srm_po_list>, List<mo_srm_po_list>>(srm_po_list);
-                moSrm_po_list.ForEach(item => { item.id = help.NextId(); });
-                await _srm_po_list.InsertMany(moSrm_po_list);
+                moSrm_po_list.ForEach(item => { item.GenerateNewId(help.NextId()); });
+                await _srm_po_list.InsertManyAsync(moSrm_po_list);
             }
 
             //采购订单占用详情
@@ -1782,8 +1780,8 @@ namespace Business.ResourceExamineManagement
             {
                 srm_po_occupy.ForEach(item => { item.bang_id = bangid; });
                 var moSrm_po_occupy = ObjectMapper.Map<List<srm_po_occupy>, List<mo_srm_po_occupy>>(srm_po_occupy);
-                moSrm_po_occupy.ForEach(item => { item.id = help.NextId(); });
-                await _srm_po_occupy.InsertMany(moSrm_po_occupy);
+                moSrm_po_occupy.ForEach(item => { item.GenerateNewId(help.NextId()); });
+                await _srm_po_occupy.InsertManyAsync(moSrm_po_occupy);
             }
         }
 
@@ -1794,10 +1792,10 @@ namespace Business.ResourceExamineManagement
         public async Task ClearSnapShot(long bangid)
         {
             //清除物料库存数据
-            await _ic_item_stock.Delete(p => p.bang_id == bangid);
+            await _ic_item_stock.DeleteAsync(p => p.bang_id == bangid);
 
             //清除工单占用记录表
-            await _mes_mooccupy.Delete(p => p.bang_id == bangid);
+            await _mes_mooccupy.DeleteAsync(p => p.bang_id == bangid);
 
             //清除工单主表
             //await _mes_morder.Delete(p => p.bang_id == bangid);
@@ -1806,13 +1804,13 @@ namespace Business.ResourceExamineManagement
             //await _mes_moentry.Delete(p => p.bang_id == bangid);
 
             //清除采购订单
-            await _srm_po_main.Delete(p => p.bang_id == bangid);
+            await _srm_po_main.DeleteAsync(p => p.bang_id == bangid);
 
             //清除采购订单明细
-            await _srm_po_list.Delete(p => p.bang_id == bangid);
+            await _srm_po_list.DeleteAsync(p => p.bang_id == bangid);
 
             //清除采购订单占用详情
-            await _srm_po_occupy.Delete(p => p.bang_id == bangid);
+            await _srm_po_occupy.DeleteAsync(p => p.bang_id == bangid);
         }
 
         /// <summary>
@@ -1842,7 +1840,7 @@ namespace Business.ResourceExamineManagement
         //根据物料id获取物料供应商
         private List<mo_srm_purchase> GetSupplier(List<long> icItemIds, long tenantId, long factoryid)
         {
-            return _srm_purchase.Find(p => icItemIds.Contains(p.icitem_id) && p.tenant_id == tenantId && p.factory_id == factoryid && !p.IsDeleted).Result;
+            return _srm_purchase.GetListAsync(p => icItemIds.Contains(p.icitem_id) && p.tenant_id == tenantId && p.factory_id == factoryid && !p.IsDeleted).Result;
         }
 
         /// <summary>
@@ -2149,21 +2147,33 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public async Task<string> PlanOrderResourceCheck(string workOrd)
+        public async Task<string> PlanOrderResourceCheck()
         {
-            List<string> workOrds = workOrd.Split(",").ToList();
+            /*List<string> workOrds = workOrd.Split(",").ToList();
             if (workOrds.Count == 0)
             {
                 return "";
-            }
-            List<mes_morder> mo_Mes_Morders = _mysql_mes_morder.GetListAsync(x => workOrds.Contains(x.morder_no)).Result;
-            if (mo_Mes_Morders.Any())
+            }*/
+            List<mes_morder> Mes_Morders = _mysql_mes_morder.GetListAsync(x => x.morder_type == "计划工单").Result;
+            //先排除锁定期内的工单 //优先级排序
+            DateTime lookTime = DateTime.Now.Date.AddDays((double)8);
+            Mes_Morders = Mes_Morders.Where(s => s.moentry_sys_stime > lookTime).OrderBy(s => s.moentry_sys_stime).ToList();
+
+            if (Mes_Morders.Any())
             {
+                List<string> monolist = Mes_Morders.Select(c => c.morder_no).ToList();
+                //清理PR的占用。
+                List<srm_po_occupy> occupy = await _mysql_srm_po_occupy.GetListAsync(s => monolist.Contains(s.morder_mo));
+                _businessDbContext.BulkDelete(occupy);
+
+                //清理锁定期外的排程数据
+                _periodSequenceDet.Delete(s => monolist.Contains(s.WorkOrds));
+                _scheduleResultOpMaster.Delete(s => monolist.Contains(s.WorkOrd));
                 //只走计划工单
-                await OrderKittingCheck(mo_Mes_Morders, true);
+                await OrderKittingCheck(Mes_Morders, true);
             }
             else {
-                JsonConvert.SerializeObject("未查找到对应的计划工单,请联系管理员。");
+                return JsonConvert.SerializeObject("未查找到对应的计划工单,请联系管理员。");
             }
             return JsonConvert.SerializeObject("ok");
         }
@@ -2187,7 +2197,7 @@ namespace Business.ResourceExamineManagement
             }
             else
             {
-                mo_Mes_Morders = _mysql_mes_morder.GetListAsync(x => x.start_time > DateTime.Now.Date.AddDays(1) && x.start_time < DateTime.Now.Date.AddDays(day) && x.morder_state != MorderEnum.Accomplish_state && !x.IsDeleted).Result;
+                mo_Mes_Morders = _mysql_mes_morder.GetListAsync(x => x.start_time > DateTime.Now.Date.AddDays(1) && x.start_time < DateTime.Now.Date.AddDays(day) && x.morder_state == MorderEnum.Xd_state && !x.IsDeleted).Result;
             }
             //只做库存是否齐套检查
             if (mo_Mes_Morders.Any())
@@ -2422,7 +2432,7 @@ namespace Business.ResourceExamineManagement
             //删除同步Mysql后旧数据
             await DeleteMySqlOldData(sentrys);
             
-            List<mo_ic_bom> boms = _ic_bom.Find(p => mo_Mes_Morders.Select(m => m.bom_number).Contains(p.bom_number) && p.factory_id == input.factoryId && p.tenant_id == input.tenantId && !p.IsDeleted).Result.ToList();
+            List<mo_ic_bom> boms = _ic_bom.GetListAsync(p => mo_Mes_Morders.Select(m => m.bom_number).Contains(p.bom_number) && p.factory_id == input.factoryId && p.tenant_id == input.tenantId && !p.IsDeleted).Result.ToList();
 
             //物料bom
             List<mo_ic_bom> bomlist = new List<mo_ic_bom>();
@@ -2503,7 +2513,7 @@ namespace Business.ResourceExamineManagement
 
                 //计算
                 _CalcBomViewAppService.CalcView(getBomList, bangid, item.need_number.GetValueOrDefault(), item.start_time, sklist, sentry, item.urgent, icitemlist);
-
+                
                 //TODO:最晚开始时间
                 var curFacDtl = leadTimeList.FirstOrDefault(p => p.item_id == childBom.icitem_id);
                 //物料齐套时间
@@ -2534,63 +2544,71 @@ namespace Business.ResourceExamineManagement
                     if (list.Any())
                         rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
                 }
-                var itemsupplierList = _srm_supplier.Find(a => prmainlist.Select(i => i.pr_purchaseid).Contains(a.mysql_id) && a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
-                if (prmainlist.Any())
+
+
+                //获取工单数据
+                var workOrdMasters = _workOrdMaster.Select(p => mo_Mes_Morders.Select(c=>c.morder_no).Contains(p.WorkOrd));
+                workOrdMasters.ForEach(s => {
+                    s.OrdDate = DateTime.Now.Date.AddDays(7);//锁定期
+                    s.DueDate = DateTime.Now.Date.AddDays(7);
+                });
+                //优先级排序
+                workOrdMasters = workOrdMasters.OrderBy(s => s.OrdDate).ToList();
+                //排产
+                await _productionScheduleAppService.DoProductShcedule(workOrdMasters);
+                
+                foreach (var wod in workOrdMasters)
                 {
-                    var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(prmainlist);
-                    PoActionListDto poaction = new PoActionListDto();
-                    //TODO:工单齐套检查需要调整
-                    //AutoCreatePOFromPR(prmainlist, bangid, icitemlist, itemsupplierList, poaction);
-                    using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
+                    var morder = mo_Mes_Morders.Find(s => s.morder_no == wod.WorkOrd);
+                    morder.moentry_sys_stime = wod.OrdDate;
+                    morder.moentry_sys_etime = wod.DueDate;
+
+                    var exa = rtn.examines.Find(s => s.morder_no == wod.WorkOrd);
+                    //根据排产后得日期,反推PR。
+                    var wkordPrList = prmainlist.Where(s => s.pr_mono == wod.WorkOrd).ToList();
+
+                    //反算所有的PR,根据时间减去提前期
+                    wkordPrList.ForEach(pr =>
                     {
-                        try
+                        var ts = pr.pr_parrive_date - pr.pr_psend_date;
+                        var icitem = icitemlist.Find(s => s.mysql_id == pr.icitem_id);
+                        if (icitem != null)
                         {
-                            await _srm_pr_main.InsertMany(prmainlist);
-                            _businessDbContext.BulkInsert(pr_mainlist);
-                            if (poaction.mopoMain.Any())
-                            {
-                                await _srm_po_main.InsertMany(poaction.mopoMain);
-                            }
-                            if (poaction.mopolist.Any())
-                            {
-                                await _srm_po_list.InsertMany(poaction.mopolist);
-                            }
-                            if (poaction.poMain.Any())
-                            {
-                                _businessDbContext.BulkInsert(poaction.poMain);
-                            }
-                            if (poaction.polist.Any())
+                            var bce = exa.BomChildExamineList.Find(s => s.item_id == pr.icitem_id && s.num == pr.num);
+                            pr.pr_sarrive_date = morder.moentry_sys_stime.Value.AddDays((double)(0 - bce.pre_time.GetValueOrDefault() - 1 - icitem.clean_leadtime.GetValueOrDefault()));//到货还需要向前推 物料的预处理时间。到货日期必须提前一天到
+                            pr.pr_ssend_date = pr.pr_sarrive_date.GetValueOrDefault().AddDays(0 - ts.Value.Days);
+                            if (pr.pr_ssend_date > DateTime.Now)
                             {
-                                _businessDbContext.BulkInsert(poaction.polist);
-                            }
-                            if (poaction.mopoOccupiesList.Any())
-                            {
-                                var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(poaction.mopoOccupiesList);
-                                _businessDbContext.BulkInsert(poOccupies);
+                                pr.pr_ssend_date = DateTime.Now;
                             }
+                        }
+                    });
+                }
 
-                            if (poaction.poMasterList.Any())
-                            {
-                                _purOrdMaster.Insert(poaction.poMasterList);
-                                //快开平台用自增列RecId关联,所以需要插入后再查给明细表赋相应的值
-                                List<string> nbrs = poaction.poMasterList.Select(a => a.PurOrd).ToList();
-                                var nbrList = _purOrdMaster.Select(a => a.Domain == "1001" && nbrs.Contains(a.PurOrd));
-                                poaction.poDetailList.ForEach(c =>
-                                {
-                                    c.PurOrdRecID = nbrList.Where(a => a.PurOrd == c.PurOrd).First().RecID;
-                                });
-                                _purOrdDetail.Insert(poaction.poDetailList);
-                            }
-                            await unitOfWork.CompleteAsync();
+                using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
+                {
+                    try
+                    {
+                        _businessDbContext.BulkUpdate(mo_Mes_Morders);
+                        if (prmainlist.Any())
+                        {
+                            var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(prmainlist);
+                            _businessDbContext.BulkInsert(pr_mainlist);
                         }
-                        catch (Exception e)
+                        if (_CalcBomViewAppService.srm_Po_OccupiesInsert.Any())
                         {
-                            unitOfWork.Dispose();
-                            new NLogHelper("ResourceExamineAppService").WriteLog("OrderKittingCheck", "工单检查数据更新失败:" + e.Message, _currentTenant.Id.ToString());
+                            _CalcBomViewAppService.srm_Po_OccupiesInsert.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
+                            await _srm_po_occupy.InsertManyAsync(_CalcBomViewAppService.srm_Po_OccupiesInsert);
                         }
+                        await unitOfWork.CompleteAsync();
+                    }
+                    catch (Exception e)
+                    {
+                        unitOfWork.Dispose();
+                        new NLogHelper("ResourceExamineAppService").WriteLog("OrderKittingCheck", "工单检查数据更新失败:" + e.Message, _currentTenant.Id.ToString());
                     }
                 }
-
+                
                 //检查结果写入数据库
                 var b_Examine_Results = ObjectMapper.Map<List<ExamineResult>, List<b_examine_result>>(rtn.examines);
                 List<b_examine_result> examineList = new List<b_examine_result>();
@@ -2749,7 +2767,7 @@ namespace Business.ResourceExamineManagement
         public void DataInitialization(List<mo_ic_bom> boms, long bangid, List<mo_ic_item> icitemlist, List<mo_ic_item_stock> stocklist, List<b_bom_pretreatment> pretreatments)
         {
             List<long> itemIds = pretreatments.Select(p => p.item_id.GetValueOrDefault()).ToList();
-            icitemlist.AddRange(_ic_item.GetManyByCondition(p => itemIds.Contains(p.mysql_id) && !p.IsDeleted).Result);
+            icitemlist.AddRange(_ic_item.GetListAsync(p => itemIds.Contains(p.mysql_id) && !p.IsDeleted).Result);
             #region 1、数据准备
             //1.1、获取产能检查相关数据
             //产品物料编码
@@ -2767,24 +2785,24 @@ namespace Business.ResourceExamineManagement
             holidays = _holidayMaster.Select(p => p.Dated >= DateTime.Now.Date);
 
             //主工单
-            List<mo_mes_morder> mo_Mes_Morders = _mes_morder.GetManyByCondition(x => boms.Select(p => p.bom_number).Contains(x.bom_number) && (x.morder_state != MorderEnum.Accomplish_state || x.morder_state != MorderEnum.Close_state
+            List<mo_mes_morder> mo_Mes_Morders = _mes_morder.GetListAsync(x => boms.Select(p => p.bom_number).Contains(x.bom_number) && (x.morder_state != MorderEnum.Accomplish_state || x.morder_state != MorderEnum.Close_state
           && x.morder_icitem_type != MorderEnum.XgwyMorder) && x.tenant_id == param.tenantId && x.bang_id == bangid).Result;
             List<long> moids = mo_Mes_Morders.Select(p => p.mysql_id).ToList();
-            List<mo_mes_moentry> mo_Mes_Moentry = _mes_moentry.GetManyByCondition(x => moids.Contains(x.moentry_moid)).Result;
+            List<mo_mes_moentry> mo_Mes_Moentry = _mes_moentry.GetListAsync(x => moids.Contains(x.moentry_moid)).Result;
             //工单占用表
-            List<mo_mes_mooccupy> mes_mooccupyList = _mes_mooccupy.GetManyByCondition(x => x.moo_state == 1 && !x.IsDeleted && x.tenant_id == param.tenantId
+            List<mo_mes_mooccupy> mes_mooccupyList = _mes_mooccupy.GetListAsync(x => x.moo_state == 1 && !x.IsDeleted && x.tenant_id == param.tenantId
           && boms.Select(p => p.item_number).Contains(x.fitem_number) && x.bang_id == bangid).Result;
 
             //物料采购订单明细
-            var poDetailList = _srm_po_list.GetManyByCondition(x => icitemlist.Select(p => p.mysql_id).ToList().Contains(x.icitem_id.Value) && x.bang_id == bangid && x.state == 1 && x.rstate == 1 && !x.IsDeleted).Result;
+            var poDetailList = _srm_po_list.GetListAsync(x => icitemlist.Select(p => p.mysql_id).ToList().Contains(x.icitem_id.Value) && x.bang_id == bangid && x.state == 1 && x.rstate == 1 && !x.IsDeleted).Result;
             //采购订单占用数据
-            var poOccupys = _srm_po_occupy.GetManyByCondition(x => poDetailList.Select(p => p.id).ToList().Contains(x.polist_id) && x.bang_id == bangid && !x.IsDeleted).Result;
+            var poOccupys = _srm_po_occupy.GetListAsync(x => poDetailList.Select(p => p.Id).ToList().Contains(x.polist_id) && x.bang_id == bangid && !x.IsDeleted).Result;
             #endregion
 
             //处理一下已经插入得占用记录
             
             //物料库存
-            stocklist.AddRange(_ic_item_stock.GetManyByCondition(p => p.factory_id == param.factoryId && p.bang_id == bangid && itemIds.Contains(p.icitem_id)).Result);
+            stocklist.AddRange(_ic_item_stock.GetListAsync(p => p.factory_id == param.factoryId && p.bang_id == bangid && itemIds.Contains(p.icitem_id)).Result);
 
             //物料提前期
             leadTimeList = GetLeadTime(icitemlist, param.tenantId, param.factoryId);//提前期列表
@@ -2839,19 +2857,19 @@ namespace Business.ResourceExamineManagement
 
             //根据明细集合查出所有得替代关系表数据集合
             List<string> codeList = bomchildlist.Select(c => c.substitute_code).ToList();
-            sublist.AddRange(_ic_substitute.GetManyByCondition(p => codeList.Contains(p.substitute_code) && !p.IsDeleted).Result);
+            sublist.AddRange(_ic_substitute.GetListAsync(p => codeList.Contains(p.substitute_code) && !p.IsDeleted).Result);
 
             List<long> subidlist = sublist.Select(c => c.mysql_id).ToList();
-            suballlist.AddRange(_ic_substitute_group.GetManyByCondition(p => subidlist.Contains(p.substitute_group_id) && !p.IsDeleted).Result);
+            suballlist.AddRange(_ic_substitute_group.GetListAsync(p => subidlist.Contains(p.substitute_group_id) && !p.IsDeleted).Result);
 
             List<long> suballidlist = suballlist.Select(c => c.mysql_id).ToList();
-            subdtllist.AddRange(_ic_substitute_group_detail.GetManyByCondition(p => suballidlist.Contains(p.substitute_group_id) && !p.IsDeleted).Result);
+            subdtllist.AddRange(_ic_substitute_group_detail.GetListAsync(p => suballidlist.Contains(p.substitute_group_id) && !p.IsDeleted).Result);
 
             //获取物料数据
             List<long> itemIds = bomlist.Select(p => p.icitem_id).ToList();
             itemIds.AddRange(bomchildlist.Select(p => p.icitem_id).ToList());
             itemIds.AddRange(subdtllist.Select(p => p.icitem_id).ToList());
-            icitemlist.AddRange(_ic_item.GetManyByCondition(p => itemIds.Contains(p.mysql_id) && !p.IsDeleted).Result);
+            icitemlist.AddRange(_ic_item.GetListAsync(p => itemIds.Contains(p.mysql_id) && !p.IsDeleted).Result);
         }
 
         /// <summary>
@@ -2859,7 +2877,7 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         public void AutoCreateBomBill(List<mo_ic_bom> ic_Boms = null)
         {
-            ic_Boms ??= _ic_bom.Find(p => p.factory_id == 10101 && p.tenant_id == 101 && !p.IsDeleted).Result.ToList();
+            ic_Boms ??= _ic_bom.GetListAsync(p => p.factory_id == 10101 && p.tenant_id == 101 && !p.IsDeleted).Result.ToList();
             var pretreatment = _mysql_b_bom_pretreatment.GetListAsync(s => ic_Boms.Select(c => c.mysql_id).ToList().Contains(s.sourceid)).Result;
 
             //物料bom

+ 3 - 13
MicroServices/Business/Business.Application/SaleForecastManagement/MonthlyCapacityLoadAppService.cs

@@ -1,23 +1,13 @@
-using Abp.Application.Services;
-using Business.Core.Utilities;
+using Business.Core.Utilities;
+using Business.Domain;
 using Business.Dto;
-using Business.EntityFrameworkCore;
 using Business.EntityFrameworkCore.SqlRepositories;
-using Business.Model.MES.IC;
-using Business.Model.Production;
-using Business.Model.SRM;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.Production;
-using Business.MongoModel.SRM;
-using Business.ResourceExamineManagement;
 using Business.SaleForecast;
-using Microsoft.CodeAnalysis.CSharp.Syntax;
-using Microsoft.EntityFrameworkCore.Migrations;
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Text;
 using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
 using Volo.Abp.DependencyInjection;
 using Volo.Abp.Domain.Repositories;
 using Volo.Abp.MultiTenancy;

+ 0 - 330
MicroServices/Business/Business.Application/SyncDataManagement/SyncMySQLDataAppService.cs

@@ -1,330 +0,0 @@
-using Business.Core.MongoDBHelper;
-using Business.Core.Utilities;
-using Business.Model.MES.IC;
-using Business.Model.SRM;
-using Business.Model.Tech;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.SRM;
-using Business.MongoModel.Tech;
-using System;
-using System.Collections.Generic;
-using Volo.Abp.Application.Services;
-using Volo.Abp.Domain.Repositories;
-
-namespace Business.SyncDataManagement
-{
-    /// <summary>
-    /// 同步mysql数据到mongodb
-    /// </summary>
-    public class SyncMySQLDataAppService : ApplicationService
-    {
-        #region 服务
-        /// <summary>
-        /// 物料bom
-        /// </summary>
-        private readonly IMongoDB<mo_ic_bom> _ic_bom;
-        private IRepository<ic_bom, long> _mysql_ic_bom;
-
-        /// <summary>
-        /// 物料bom子表
-        /// </summary>
-        private readonly IMongoDB<mo_ic_bom_child> _ic_bom_child;
-        private IRepository<ic_bom_child, long> _mysql_ic_bom_child;
-
-        /// <summary>
-        /// 物料
-        /// </summary>
-        private readonly IMongoDB<mo_ic_item> _ic_item;
-        private IRepository<ic_item, long> _mysql_ic_item;
-
-        /// <summary>
-        /// 替代群组
-        /// </summary>
-        private readonly IMongoDB<mo_ic_substitute> _ic_substitute;
-        private IRepository<ic_substitute, long> _mysql_ic_substitute;
-
-        /// <summary>
-        /// 物料替代多群组
-        /// </summary>
-        private readonly IMongoDB<mo_ic_substitute_group> _ic_substitute_group;
-        private IRepository<ic_substitute_group, long> _mysql_ic_substitute_group;
-
-        /// <summary>
-        /// 物料替代多群组明细
-        /// </summary>
-        private readonly IMongoDB<mo_ic_substitute_group_detail> _ic_substitute_group_detail;
-        private IRepository<ic_substitute_group_detail, long> _mysql_ic_substitute_group_detail;
-
-        /// <summary>
-        /// 供应商
-        /// </summary>
-        private readonly IMongoDB<mo_srm_supplier> _srm_supplier;
-        private IRepository<srm_supplier, long> _mysql_srm_supplier;
-
-        /// <summary>
-        /// 工艺路径
-        /// </summary>
-        private readonly IMongoDB<mo_mes_technique> _mes_technique;
-        private IRepository<mes_technique, long> _mysql_mes_technique;
-
-        /// <summary>
-        /// 工序
-        /// </summary>
-        private readonly IMongoDB<mo_mes_process> _mes_process;
-        private IRepository<mes_process, long> _mysql_mes_process;
-
-        /// <summary>
-        /// 工艺路径关联工序
-        /// </summary>
-        private readonly IMongoDB<mo_mes_tech_process> _mes_tech_process;
-        private IRepository<mes_tech_process, long> _mysql_mes_tech_process;
-
-        /// <summary>
-        /// 物料采购报价单
-        /// </summary>
-        private readonly IMongoDB<mo_srm_purchase> _srm_purchase;
-        private IRepository<srm_purchase, long> _mysql_srm_purchase;
-
-        /// <summary>
-        /// 雪花算法
-        /// </summary>
-        SnowFlake help = new SnowFlake();
-        #endregion
-
-        /// <summary>
-        /// 构造函数
-        /// </summary>
-        public SyncMySQLDataAppService(
-            IMongoDB<mo_ic_bom> ic_bom,
-            IMongoDB<mo_ic_bom_child> ic_bom_child,
-            IMongoDB<mo_ic_item> ic_item,
-            IMongoDB<mo_ic_substitute> ic_substitute,
-            IMongoDB<mo_ic_substitute_group> ic_substitute_group,
-            IMongoDB<mo_ic_substitute_group_detail> ic_substitute_group_detail,
-            IMongoDB<mo_srm_supplier> srm_supplier,
-            IMongoDB<mo_mes_technique> mes_technique,
-            IMongoDB<mo_mes_process> mes_process,
-            IMongoDB<mo_mes_tech_process> mes_tech_process,
-            IMongoDB<mo_srm_purchase> srm_purchase,
-            IRepository<ic_bom, long> mysql_ic_bom,
-            IRepository<ic_bom_child, long> mysql_ic_bom_child,
-            IRepository<ic_item, long> mysql_ic_item,
-            IRepository<ic_substitute, long> mysql_ic_substitute,
-            IRepository<ic_substitute_group, long> mysql_ic_substitute_group,
-            IRepository<ic_substitute_group_detail, long> mysql_ic_substitute_group_detail,
-            IRepository<srm_supplier, long> mysql_srm_supplier,
-            IRepository<mes_technique, long> mysql_mes_technique,
-            IRepository<mes_process, long> mysql_mes_process,
-            IRepository<mes_tech_process, long> mysql_mes_tech_process,
-            IRepository<srm_purchase, long> mysql_srm_purchase
-            )
-        {
-            _ic_bom= ic_bom;
-            _ic_bom_child= ic_bom_child;
-            _ic_item= ic_item;
-            _ic_substitute= ic_substitute;
-            _ic_substitute_group= ic_substitute_group;
-            _ic_substitute_group_detail = ic_substitute_group_detail;
-            _srm_supplier= srm_supplier;
-            _mes_technique = mes_technique;
-            _mes_process= mes_process;
-            _mes_tech_process = mes_tech_process;
-            _srm_purchase = srm_purchase;
-            _mysql_ic_bom = mysql_ic_bom;
-            _mysql_ic_bom_child= mysql_ic_bom_child;
-            _mysql_ic_item= mysql_ic_item;
-            _mysql_ic_substitute= mysql_ic_substitute;
-            _mysql_ic_substitute_group= mysql_ic_substitute_group;
-            _mysql_ic_substitute_group_detail= mysql_ic_substitute_group_detail;
-            _mysql_srm_supplier= mysql_srm_supplier;
-            _mysql_mes_technique= mysql_mes_technique;
-            _mysql_mes_process= mysql_mes_process;
-            _mysql_mes_tech_process= mysql_mes_tech_process;
-            _mysql_srm_purchase = mysql_srm_purchase;
-        }
-
-        /// <summary>
-        /// 同步基础数据到mongodb
-        /// </summary>
-        /// <returns></returns>
-        /// <exception cref="NotImplementedException"></exception>
-        public async void SyncBaseDataToMongoDB()
-        {
-            //物料采购报价单
-            var srm_purchase = _mysql_srm_purchase.GetListAsync().Result;
-            if (srm_purchase.Count > 0)
-            {
-                //先清空表数据
-                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;
-            if (icbom_childs.Count > 0)
-            {
-                //先清空表数据
-                await _ic_bom_child.Delete(p => p.mysql_id != -1);
-                var moIcbom_childs = ObjectMapper.Map<List<ic_bom_child>, List<mo_ic_bom_child>>(icbom_childs);
-                moIcbom_childs.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _ic_bom_child.InsertMany(moIcbom_childs);
-            }*/
-
-            /*//同步物料Bom数据
-            var icBoms = _mysql_ic_bom.GetListAsync().Result;
-            if (icBoms.Count > 0)
-            {
-                //先清空表数据
-                await _ic_bom.Delete(p => p.mysql_id != -1);
-                var moIcBoms = ObjectMapper.Map<List<ic_bom>, List<mo_ic_bom>>(icBoms);
-                moIcBoms.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _ic_bom.InsertMany(moIcBoms);
-            }
-
-            //同步物料BOM明细数据
-            var icbom_childs = _mysql_ic_bom_child.GetListAsync().Result;
-            if (icbom_childs.Count > 0)
-            {
-                //先清空表数据
-                await _ic_bom_child.Delete(p => p.mysql_id != -1);
-                var moIcbom_childs = ObjectMapper.Map<List<ic_bom_child>, List<mo_ic_bom_child>>(icbom_childs);
-                moIcbom_childs.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _ic_bom_child.InsertMany(moIcbom_childs);
-            }
-
-            ////工厂物料明细表
-            //var ic_factory_details = _mysql_ic_factory_details.GetListAsync().Result;
-            //if (ic_factory_details.Count > 0)
-            //{
-            //    //先清空表数据
-            //    await _ic_factory_details.Delete(p => p.mysql_id != -1);
-            //    var moIc_factory_details = ObjectMapper.Map<List<ic_factory_details>, List<mo_ic_factory_details>>(ic_factory_details);
-            //    moIc_factory_details.ForEach(s => s.id = help.NextId());
-            //    await _ic_factory_details.InsertMany(moIc_factory_details);
-            //}
-
-            //同步物料数据
-            var icItems = _mysql_ic_item.GetListAsync().Result;
-            if (icItems.Count > 0)
-            {
-                //先清空表数据
-                await _ic_item.Delete(p => p.mysql_id != -1);
-                var moIcItems = ObjectMapper.Map<List<ic_item>, List<mo_ic_item>>(icItems);
-                moIcItems.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _ic_item.InsertMany(moIcItems);
-            }
-
-            //同步替代群组数据
-            var subtitutes = _mysql_ic_substitute.GetListAsync().Result;
-            if (subtitutes.Count > 0)
-            {
-                //先清空表数据
-                await _ic_substitute.Delete(p => p.mysql_id != -1);
-                var moSubtitutes = ObjectMapper.Map<List<ic_substitute>, List<mo_ic_substitute>>(subtitutes);
-                moSubtitutes.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _ic_substitute.InsertMany(moSubtitutes);
-            }
-
-            //同步物料替代多群组数据
-            var subAlls = _mysql_ic_substitute_group.GetListAsync().Result;
-            if (subAlls.Count > 0)
-            {
-                //先清空表数据
-                await _ic_substitute_group.Delete(p => p.mysql_id != -1);
-                var moSubAlls = ObjectMapper.Map<List<ic_substitute_group>, List<mo_ic_substitute_group>>(subAlls);
-                moSubAlls.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _ic_substitute_group.InsertMany(moSubAlls);
-            }
-
-            //同步物料替代多群组明细数据
-            var subAllDtls = _mysql_ic_substitute_group_detail.GetListAsync().Result;
-            if (subAllDtls.Count > 0)
-            {
-                //先清空表数据
-                await _ic_substitute_group_detail.Delete(p => p.mysql_id != -1);
-                var moSubAllDtls = ObjectMapper.Map<List<ic_substitute_group_detail>, List<mo_ic_substitute_group_detail>>(subAllDtls);
-                moSubAllDtls.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _ic_substitute_group_detail.InsertMany(moSubAllDtls);
-            }
-
-            //同步供应商数据
-            var suppliers = _mysql_srm_supplier.GetListAsync().Result;
-            if (suppliers.Count > 0)
-            {
-                //先清空表数据
-                await _srm_supplier.Delete(p => p.mysql_id != -1);
-                var moSuppliers = ObjectMapper.Map<List<srm_supplier>, List<mo_srm_supplier>>(suppliers);
-                moSuppliers.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _srm_supplier.InsertMany(moSuppliers);
-            }
-
-            //同步工艺路径数据
-            var techs = _mysql_mes_technique.GetListAsync().Result;
-            if (techs.Count > 0)
-            {
-                //先清空表数据
-                await _mes_technique.Delete(p => p.mysql_id != -1);
-                var moTechs = ObjectMapper.Map<List<mes_technique>, List<mo_mes_technique>>(techs);
-                moTechs.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _mes_technique.InsertMany(moTechs);
-            }
-
-            //同步工序数据
-            var processes = _mysql_mes_process.GetListAsync().Result;
-            if (suppliers.Count > 0)
-            {
-                //先清空表数据
-                await _mes_process.Delete(p => p.mysql_id != -1);
-                var moProcesses = ObjectMapper.Map<List<mes_process>, List<mo_mes_process>>(processes);
-                moProcesses.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _mes_process.InsertMany(moProcesses);
-            }
-
-            //同步工艺关联工序数据
-            var tech_procs = _mysql_mes_tech_process.GetListAsync().Result;
-            if (tech_procs.Count > 0)
-            {
-                //先清空表数据
-                await _mes_tech_process.Delete(p => p.mysql_id != -1);
-                var moTech_procs = ObjectMapper.Map<List<mes_tech_process>, List<mo_mes_tech_process>>(tech_procs);
-                moTech_procs.ForEach(s => s.id = help.NextId());
-                //插入数据
-                await _mes_tech_process.InsertMany(moTech_procs);
-            }
-
-
-            ////物料采购计划表
-            //var ic_plan = _mysql_ic_plan.GetListAsync().Result;
-            //if (ic_plan.Count > 0)
-            //{
-            //    //先清空表数据
-            //    await _ic_plan.Delete(p => p.mysql_id != -1);
-            //    var moIc_plan = ObjectMapper.Map<List<ic_plan>, List<mo_ic_plan>>(ic_plan);
-            //    moIc_plan.ForEach(s => s.id = help.NextId());
-            //    await _ic_plan.InsertMany(moIc_plan);
-            //}
-
-            //物料采购报价单
-            var srm_purchase = _mysql_srm_purchase.GetListAsync().Result;
-            if (srm_purchase.Count > 0)
-            {
-                //先清空表数据
-                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);
-            }*/
-        }
-    }
-}

+ 0 - 666
MicroServices/Business/Business.Application/SyncDataManagement/SyncWMSDataAppService.cs

@@ -1,666 +0,0 @@
-using Business.Core.Utilities;
-using Business.EntityFrameworkCore;
-using Business.EntityFrameworkCore.SqlRepositories;
-using Business.Model.MES.IC;
-using Business.Model.Sale;
-using Business.Model.SRM;
-using EFCore.BulkExtensions;
-using Microsoft.EntityFrameworkCore;
-using NetTopologySuite.Algorithm;
-using Newtonsoft.Json;
-using SixLabors.ImageSharp;
-using Spire.Pdf;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using Volo.Abp.Application.Services;
-using Volo.Abp.Domain.Repositories;
-using WkHtmlToPdfDotNet;
-
-namespace Business.SyncDataManagement
-{
-    /// <summary>
-    /// 同步mysql数据到mongodb
-    /// </summary>
-    public class SyncWMSDataAppService : ApplicationService
-    {
-        #region 服务
-        /// <summary>
-        /// 物料bom
-        /// </summary>
-        private IRepository<ic_bom, long> _mysql_ic_bom;
-
-        /// <summary>
-        /// 物料bom子表
-        /// </summary>
-        private IRepository<ic_bom_child, long> _mysql_ic_bom_child;
-
-        /// <summary>
-        /// 物料
-        /// </summary>
-        private IRepository<ic_item, long> _mysql_ic_item;
-
-        /// <summary>
-        /// 供应商
-        /// </summary>
-        private IRepository<srm_supplier, long> _mysql_srm_supplier;
-
-        /// <summary>
-        /// 物料采购报价单
-        /// </summary>
-        private IRepository<srm_purchase, long> _mysql_srm_purchase;
-
-        /// <summary>
-        /// 物料采购报价单
-        /// </summary>
-        private IRepository<crm_customer, long> _mysql_crm_customer;
-
-        /// <summary>
-        /// 销售订单
-        /// </summary>
-        private IRepository<crm_seorder, long> _mysql_crm_seorder;
-
-        /// <summary>
-        /// 销售订单明细
-        /// </summary>
-        private IRepository<crm_seorderentry, long> _mysql_crm_seorderentry;
-
-        /// <summary>
-        /// 雪花算法
-        /// </summary>
-        SnowFlake help = new SnowFlake();
-        private readonly BusinessDbContext _businessDbContext;
-        private readonly ISqlRepository<CustMaster> _custMaster;
-        private readonly ISqlRepository<SuppMaster> _suppMaster;
-        private readonly ISqlRepository<ConsigneeAddressMaster> _consigneeAddressMaster;
-        private readonly ISqlRepository<ItemMaster> _itemMaster;
-        private readonly ISqlRepository<ProductStructureMaster> _productStructureMaster;
-        #endregion
-
-        /// <summary>
-        /// 构造函数
-        /// </summary>
-        public SyncWMSDataAppService(
-            IRepository<ic_bom, long> mysql_ic_bom,
-            IRepository<ic_bom_child, long> mysql_ic_bom_child,
-            IRepository<ic_item, long> mysql_ic_item,
-            IRepository<srm_supplier, long> mysql_srm_supplier,
-            IRepository<srm_purchase, long> mysql_srm_purchase,
-            IRepository<crm_customer, long> mysql_crm_customer,
-            IRepository<crm_seorder, long> mysql_crm_seorder,
-            IRepository<crm_seorderentry, long> mysql_crm_seorderentry,
-            ISqlRepository<CustMaster> custMaster,
-            ISqlRepository<SuppMaster> suppMaster,
-            ISqlRepository<ConsigneeAddressMaster> consigneeAddressMaster,
-            ISqlRepository<ItemMaster> itemMaster,
-            ISqlRepository<ProductStructureMaster> productStructureMaster,
-            BusinessDbContext businessDbContext
-         )
-        {
-            _mysql_ic_bom = mysql_ic_bom;
-            _mysql_ic_bom_child = mysql_ic_bom_child;
-            _mysql_ic_item = mysql_ic_item;
-            _mysql_srm_supplier = mysql_srm_supplier;
-            _mysql_srm_purchase = mysql_srm_purchase;
-            _mysql_crm_customer = mysql_crm_customer;
-            _mysql_crm_seorder = mysql_crm_seorder;
-            _mysql_crm_seorderentry = mysql_crm_seorderentry;
-            _custMaster = custMaster;
-            _suppMaster = suppMaster;
-            _consigneeAddressMaster = consigneeAddressMaster;
-            _itemMaster = itemMaster;
-            _productStructureMaster = productStructureMaster;
-            _businessDbContext = businessDbContext;
-        }
-
-        /// <summary>
-        /// 同步WMS基础数据到MySQL
-        /// </summary>
-        /// <returns></returns>
-        /// <exception cref="NotImplementedException"></exception>
-        public void SyncWMSDataToMySQL()
-        {
-            //SyncCustMaster();
-            //SyncSuppMaster();
-            //SyncSalesOrdMaster();
-            //SyncSalesOrdMasterEntry();
-            //SyncItemMaster();
-            //SyncBom();
-        }
-        //同步客户
-        public void SyncCustMaster()
-        {
-            var customerList = _mysql_crm_customer.GetListAsync().Result;
-            List<CustMaster> custList = _custMaster.Select(a => a.Domain == "1001" && a.IsActive);
-            var addressList = _consigneeAddressMaster.Select(a => a.Domain == "1001" && a.Typed == "Cust" && a.IsActive);
-            List<crm_customer> ItemsAdd = new List<crm_customer>();
-            if (custList != null && custList.Count > 0)
-            {
-                for (int i = 0; i < custList.Count; i++)
-                {
-                    long domain = Convert.ToInt64(custList[i].Domain);
-                    long factory_id = domain % 1000;
-                    long tenant_id = domain - factory_id;
-                    var cust = customerList.Find(x => x.customer_no == custList[i].Cust && x.tenant_id == 1000 && x.factory_id == 1001);
-                    if (cust is null)
-                    {
-                        ConsigneeAddressMaster address = addressList.Find(a => a.Address == custList[i].Cust);
-                        var customer = new crm_customer
-                        {
-                            customer_no = custList[i].Cust,
-                            customer_name = address is null ? address.Name : "",
-                            telephone = address is null ? address.Telephone : "",
-                            email = address is null ? address.AttentionEmail : "",
-                            contact = address is null ? address.Attention1 : "",
-                            post_code = address is null ? address.Post : "",
-                            country = address is null ? address.Country : "",
-                            province = address is null ? address.State : "",
-                            city = address is null ? address.City : "",
-                            region = address is null ? address.State : "",
-                            address = address is null ? address.Address1 : "",
-                            short_name = custList[i].SortName,
-                            carrying_aos = Convert.ToInt32(custList[i].CustShippingLT),
-                            currency = custList[i].Curr,
-                            employee_name = custList[i].Salesperson1,
-                            factory_id = 1001,
-                            tenant_id = 1000
-                        };
-                        customer.GenerateNewId(help.NextId());
-                        ItemsAdd.Add(customer);
-                    }
-                }
-                _businessDbContext.BulkInsert(ItemsAdd);
-            }
-        }
-
-        //同步供应商
-        public void SyncSuppMaster()
-        {
-            var suppList = _mysql_srm_supplier.GetListAsync().Result;
-            List<SuppMaster> custList = _suppMaster.Select(a => a.Domain == "1001" && a.IsActive);
-            var addressList = _consigneeAddressMaster.Select(a => a.Domain == "1001" && a.Typed == "Supp" && a.IsActive);
-            List<srm_supplier> ItemsAdd = new List<srm_supplier>();
-            if (custList != null && custList.Count > 0)
-            {
-                for (int i = 0; i < custList.Count; i++)
-                {
-                    long domain = Convert.ToInt64(custList[i].Domain.ToString());
-                    long factory_id = domain % 1000;
-                    long tenant_id = domain - factory_id;
-                    var supp = suppList.Find(x => x.supplier_no == custList[i].Supp.ToString() && x.tenant_id == factory_id && x.factory_id == tenant_id);
-                    if (supp is null)
-                    {
-                        ConsigneeAddressMaster address = addressList.Find(a => a.Address == custList[i].Supp);
-                        var supplier = new srm_supplier
-                        {
-                            supplier_no = custList[i].Supp,
-                            supplier_name = address is null ? address.Name : "",
-                            supplier_short_name = custList[i].SortName,
-                            country = address is null ? address.Country : "",
-                            state = address is null ? address.State : "",
-                            region = address is null ? address.City : "",
-                            contact = address is null ? address.Attention1 : "",
-                            telephone = address is null ? address.Telephone : "",
-                            post_code = address is null ? address.Post : "",
-                            email = address is null ? address.AttentionEmail : "",
-                            currency = custList[i].Curr,
-                            supply_type = custList[i].Type,
-                            settlement = custList[i].CrTerms,
-                            factory_id = factory_id,
-                            tenant_id = tenant_id
-                        };
-                        supplier.GenerateNewId(help.NextId());
-                        ItemsAdd.Add(supplier);
-                    }
-                }
-                _businessDbContext.BulkInsert(ItemsAdd);
-            }
-        }
-        ////同步销售订单
-        //public void SyncSalesOrdMaster()
-        //{
-        //    var customerList = _mysql_crm_customer.GetListAsync().Result;
-        //    var saleOrderList = _mysql_crm_seorder.GetListAsync().Result;
-        //    var ItemMasterDS = _repository.SelectDataBaseBySql("SELECT A.SalesOrd,C.SortName AS CustomName,A.SoldTo AS Cust,A.OrdDate,A.RequiredDate,A.Sequence,A.Curr,A.ExchRate,A.Salesperson1,A.Project,B.Descr AS ProjectName,A.[Domain] from SalesOrdMaster A INNER JOIN CustMaster C ON A.SoldTo=C.Cust and A.[Domain]=C.[Domain]\r\nLEFT JOIN ProjectMaster B On A.Project=B.Project AND A.[Domain]=B.[Domain] ", "SalesOrdMaster");
-        //    List<crm_seorder> ItemsAdd = new List<crm_seorder>();
-        //    List<crm_seorder> ItemsUpdate = new List<crm_seorder>();
-        //    if (ItemMasterDS != null && ItemMasterDS.Tables.Count > 0 && ItemMasterDS.Tables[0].Rows.Count > 0)
-        //    {
-        //        for (int i = 0; i < ItemMasterDS.Tables[0].Rows.Count; i++)
-        //        {
-        //            long domain = Convert.ToInt64(ItemMasterDS.Tables[0].Rows[i]["Domain"].ToString());
-        //            long factory_id = domain % 1000;
-        //            long tenant_id = domain - factory_id;
-        //            var custno = ItemMasterDS.Tables[0].Rows[i]["Cust"].ToString();
-        //            var cust = customerList.Find(a => a.customer_no == custno && a.factory_id == factory_id && a.tenant_id == tenant_id);
-        //            long? custom_id = cust is null ? cust.Id : null;
-        //            var saleorder = saleOrderList.Find(x => x.bill_no == ItemMasterDS.Tables[0].Rows[i]["SalesOrd"].ToString() && x.tenant_id == factory_id && x.factory_id == tenant_id);
-        //            if (saleorder is null)
-        //            {
-        //                var order = new crm_seorder
-        //                {
-        //                    bill_no = ItemMasterDS.Tables[0].Rows[i]["SalesOrd"].ToString(),
-        //                    custom_id = custom_id,
-        //                    custom_name = ItemMasterDS.Tables[0].Rows[i]["CustomName"].ToString(),
-        //                    custom_no = ItemMasterDS.Tables[0].Rows[i]["Cust"].ToString(),
-        //                    //custom_level = ItemMasterDS.Tables[0].Rows[i]["PurMfg"].ToString() == "P" ? "外购" : "自制",
-        //                    date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["OrdDate"],
-        //                    rdate = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["RequiredDate"],
-        //                    //urgent = "",
-        //                    currency = ItemMasterDS.Tables[0].Rows[i]["Curr"].ToString() == "RMB" ? 1 : 0,
-        //                    exchange_rate = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                    //biller = ItemMasterDS.Tables[0].Rows[i]["NetWeightUM"].ToString(),
-        //                    //emp_no = (decimal)ItemMasterDS.Tables[0].Rows[i]["Length"],
-        //                    emp_name = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                    //auditor = (decimal)ItemMasterDS.Tables[0].Rows[i]["Height"],
-        //                    //audit_date = ItemMasterDS.Tables[0].Rows[i]["PurMfg"].ToString() == "P" ? 1 : 0,
-        //                    //status = 1,
-        //                    //closed = "",
-        //                    //op_time = 1,
-        //                    bill_from = "",
-        //                    //project_name = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["LotSerialControl"]) == true ? 1 : 0,
-        //                    //project_code = "",
-        //                    out_stock_type = 1,//TODO
-        //                    //sale_dept_id = "",
-        //                    //sale_dept_name = 1,
-        //                    //sale_dept_code = 1,
-        //                    //create_dept = 1
-        //                    factory_id = factory_id,
-        //                    tenant_id = tenant_id
-        //                };
-        //                order.GenerateNewId();
-        //                ItemsAdd.Add(order);
-        //            }
-        //            else
-        //            {
-        //                saleorder.bill_no = ItemMasterDS.Tables[0].Rows[i]["SalesOrd"].ToString();
-        //                saleorder.custom_id = custom_id;
-        //                saleorder.custom_name = ItemMasterDS.Tables[0].Rows[i]["CustomName"].ToString();
-        //                saleorder.custom_no = ItemMasterDS.Tables[0].Rows[i]["Cust"].ToString();
-        //                //custom_level = ItemMasterDS.Tables[0].Rows[i]["PurMfg"].ToString() == "P" ? "外购" : "自制",
-        //                saleorder.date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["OrdDate"];
-        //                saleorder.rdate = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["RequiredDate"];
-        //                saleorder.urgent = (int?)ItemMasterDS.Tables[0].Rows[i]["Sequence"];
-        //                saleorder.currency = ItemMasterDS.Tables[0].Rows[i]["Curr"].ToString() == "RMB" ? 1 : 0;
-        //                saleorder.exchange_rate = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"];
-        //                //biller = ItemMasterDS.Tables[0].Rows[i]["NetWeightUM"].ToString(),
-        //                //emp_no = (decimal)ItemMasterDS.Tables[0].Rows[i]["Length"],
-        //                saleorder.emp_name = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString();
-        //                //auditor = (decimal)ItemMasterDS.Tables[0].Rows[i]["Height"],
-        //                //audit_date = ItemMasterDS.Tables[0].Rows[i]["PurMfg"].ToString() == "P" ? 1 : 0,
-        //                //status = 1,
-        //                //closed = "",
-        //                //op_time = 1,
-        //                saleorder.bill_from = "";
-        //                saleorder.project_name = ItemMasterDS.Tables[0].Rows[i]["ProjectName"].ToString();
-        //                saleorder.project_code = ItemMasterDS.Tables[0].Rows[i]["Project"].ToString();
-        //                saleorder.out_stock_type = 1;//TODO
-        //                //sale_dept_id = "",
-        //                //sale_dept_name = 1,
-        //                //sale_dept_code = 1,
-        //                //create_dept = 1
-        //                ItemsUpdate.Add(saleorder);
-        //            }
-        //        }
-        //        //_businessDbContext.crm_seorder.Delete();
-        //        _businessDbContext.crm_seorder.BulkInsert(ItemsAdd);
-        //        _businessDbContext.crm_seorder.BulkUpdate(ItemsUpdate);
-        //    }
-        //}
-
-        ////同步销售订单明细
-        //public void SyncSalesOrdMasterEntry()
-        //{
-        //    var saleOrderEntryList = _mysql_crm_seorderentry.GetListAsync().Result;
-        //    var saleOrderList = _mysql_crm_seorder.GetListAsync().Result;
-        //    var ItemMasterDS = _repository.SelectDataBaseBySql("SELECT A.SalesOrd,A.Line,C.Descr,C.Descr1,A.ItemNum,A.UM,A.QtyOrded,A.Price,A.Disc,A.RequiredDate,A.Remark,B.CustPO,A.CustItem,A.Status,A.QtyShipped,A.QtyReturned,B.Contract,A.Domain from SalesOrdDetail A INNER JOIN SalesOrdMaster B On A.SalesOrd=B.SalesOrd and A.[Domain]=B.[Domain] INNER JOIN ItemMaster C on A.ItemNum=C.ItemNum and A.[Domain]=C.[Domain]", "SalesOrdDetail");
-        //    List<crm_seorderentry> ItemsAdd = new List<crm_seorderentry>();
-        //    List<crm_seorderentry> ItemsUpdate = new List<crm_seorderentry>();
-        //    if (ItemMasterDS != null && ItemMasterDS.Tables.Count > 0 && ItemMasterDS.Tables[0].Rows.Count > 0)
-        //    {
-        //        for (int i = 0; i < ItemMasterDS.Tables[0].Rows.Count; i++)
-        //        {
-        //            long domain = Convert.ToInt64(ItemMasterDS.Tables[0].Rows[i]["Domain"].ToString());
-        //            long factory_id = domain % 1000;
-        //            long tenant_id = domain - factory_id;
-        //            var bill_no = ItemMasterDS.Tables[0].Rows[i]["SalesOrd"].ToString();
-        //            var seorder = saleOrderList.Find(a => a.bill_no == bill_no && a.factory_id == factory_id && a.tenant_id == tenant_id);
-        //            long? seorder_id = seorder is null ? seorder.Id : null;
-        //            var saleorderentry = saleOrderEntryList.Find(x => x.bill_no == bill_no && x.tenant_id == factory_id && x.factory_id == tenant_id);
-        //            if (saleorderentry is null)
-        //            {
-        //                var entry = new crm_seorderentry
-        //                {
-        //                    seorder_id = seorder_id,
-        //                    bill_no = ItemMasterDS.Tables[0].Rows[i]["SalesOrd"].ToString(),
-        //                    entry_seq = (int?)ItemMasterDS.Tables[0].Rows[i]["Line"],
-        //                    item_number = ItemMasterDS.Tables[0].Rows[i]["ItemNum"].ToString(),
-        //                    item_name = ItemMasterDS.Tables[0].Rows[i]["Descr"].ToString(),
-        //                    specification = ItemMasterDS.Tables[0].Rows[i]["Descr1"].ToString(),
-        //                    //urgent = (int?)ItemMasterDS.Tables[0].Rows[i]["PLPriority"],
-        //                    bom_number = ItemMasterDS.Tables[0].Rows[i]["ItemNum"].ToString(),
-        //                    unit = ItemMasterDS.Tables[0].Rows[i]["UM"].ToString(),
-        //                    qty = (decimal?)ItemMasterDS.Tables[0].Rows[i]["QtyOrded"],
-        //                    //price = (decimal?)ItemMasterDS.Tables[0].Rows[i]["Price"],
-        //                    //tax_price = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                    //tax_rate = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                    amount = (decimal?)ItemMasterDS.Tables[0].Rows[i]["Price"],
-        //                    //discount_rate = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                    discount_amount = (decimal?)ItemMasterDS.Tables[0].Rows[i]["Disc"],
-        //                    //total_amount = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                    plan_date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["RequiredDate"],
-        //                    //date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["OrdDate"],
-        //                    //planner_name = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                    //planner_no = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                    remark = ItemMasterDS.Tables[0].Rows[i]["Remark"].ToString(),
-        //                    //soure_bill_no = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                    custom_order_bill_no = ItemMasterDS.Tables[0].Rows[i]["CustPO"].ToString(),
-        //                    //custom_order_entryid = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                    //sys_capacity_date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["OrdDate"],
-        //                    //adjust_date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["OrdDate"],
-        //                    //mrp_closed = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"]),
-        //                    custom_order_itemno = ItemMasterDS.Tables[0].Rows[i]["CustItem"].ToString(),
-        //                    state = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["Status"]),//TODO
-        //                    deliver_count = (decimal?)ItemMasterDS.Tables[0].Rows[i]["QtyShipped"],
-        //                    returned_count = (decimal?)ItemMasterDS.Tables[0].Rows[i]["QtyReturned"],
-        //                    //se_reject_reason = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                    //out_stock_type = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                    //is_checked = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"]),
-        //                    //sys_material_date = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"]),
-        //                    contract_no = ItemMasterDS.Tables[0].Rows[i]["Contract"].ToString(),
-        //                    //create_dept = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"])
-        //                    factory_id = factory_id,
-        //                    tenant_id = tenant_id
-        //                };
-        //                entry.GenerateNewId();
-        //                ItemsAdd.Add(entry);
-        //            }
-        //            else
-        //            {
-        //                saleorderentry.seorder_id = seorder_id;
-        //                saleorderentry.bill_no = ItemMasterDS.Tables[0].Rows[i]["SalesOrd"].ToString();
-        //                saleorderentry.entry_seq = (int?)ItemMasterDS.Tables[0].Rows[i]["Line"];
-        //                saleorderentry.item_number = ItemMasterDS.Tables[0].Rows[i]["ItemNum"].ToString();
-        //                saleorderentry.item_name = ItemMasterDS.Tables[0].Rows[i]["Descr"].ToString();
-        //                saleorderentry.specification = ItemMasterDS.Tables[0].Rows[i]["Descr1"].ToString();
-        //                //urgent = (int?)ItemMasterDS.Tables[0].Rows[i]["PLPriority"],
-        //                saleorderentry.bom_number = ItemMasterDS.Tables[0].Rows[i]["ItemNum"].ToString();
-        //                saleorderentry.unit = ItemMasterDS.Tables[0].Rows[i]["UM"].ToString();
-        //                saleorderentry.qty = (decimal?)ItemMasterDS.Tables[0].Rows[i]["QtyOrded"];
-        //                //price = (decimal?)ItemMasterDS.Tables[0].Rows[i]["Price"],
-        //                //tax_price = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                //tax_rate = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                saleorderentry.amount = (decimal?)ItemMasterDS.Tables[0].Rows[i]["Price"];
-        //                //discount_rate = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                saleorderentry.discount_amount = (decimal?)ItemMasterDS.Tables[0].Rows[i]["Disc"];
-        //                //total_amount = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                saleorderentry.plan_date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["RequiredDate"];
-        //                //date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["OrdDate"],
-        //                //planner_name = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                //planner_no = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                saleorderentry.remark = ItemMasterDS.Tables[0].Rows[i]["Remark"].ToString();
-        //                //soure_bill_no = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                saleorderentry.custom_order_bill_no = ItemMasterDS.Tables[0].Rows[i]["CustPO"].ToString();
-        //                //custom_order_entryid = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                //sys_capacity_date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["OrdDate"],
-        //                //adjust_date = (DateTime?)ItemMasterDS.Tables[0].Rows[i]["OrdDate"],
-        //                //mrp_closed = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"]),
-        //                saleorderentry.custom_order_itemno = ItemMasterDS.Tables[0].Rows[i]["CustItem"].ToString();
-        //                saleorderentry.state = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["Status"]);//TODO
-        //                //rnumber = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"]),
-        //                //deliver_notice_count = (decimal?)ItemMasterDS.Tables[0].Rows[i]["ExchRate"],
-        //                saleorderentry.deliver_count = (decimal?)ItemMasterDS.Tables[0].Rows[i]["QtyShipped"];
-        //                saleorderentry.returned_count = (decimal?)ItemMasterDS.Tables[0].Rows[i]["QtyReturned"];
-        //                //se_reject_reason = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                //out_stock_type = ItemMasterDS.Tables[0].Rows[i]["Salesperson1"].ToString(),
-        //                //is_checked = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"]),
-        //                //sys_material_date = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"]),
-        //                saleorderentry.contract_no = ItemMasterDS.Tables[0].Rows[i]["Contract"].ToString();
-        //                //create_dept = Convert.ToBoolean(ItemMasterDS.Tables[0].Rows[i]["OrdDate"])
-        //                ItemsUpdate.Add(saleorderentry);
-        //            }
-        //        }
-        //        //_businessDbContext.crm_seorder.Delete();
-        //        _businessDbContext.crm_seorderentry.BulkInsert(ItemsAdd);
-        //        _businessDbContext.crm_seorderentry.BulkUpdate(ItemsUpdate);
-
-        //    }
-        //}
-
-        //同步物料
-        public void SyncItemMaster()
-        {
-            bool isAll = true;//是否同步所有物料
-            var ic_itemList = _mysql_ic_item.GetListAsync(a => a.tenant_id == 1000 && a.factory_id == 1001).Result;
-            List<ItemMaster> custList = new List<ItemMaster>();
-            if(isAll)
-            {
-                custList = _itemMaster.Select(a => a.IsActive && a.Domain=="1001");
-            }else
-            {
-                //格努产品编码同步子级物料
-                List<string> childItems = GetChildItemNumber("", new List<string>());
-                custList= _itemMaster.Select(a => a.IsActive && a.Domain == "1001" && childItems.Distinct().Contains(a.ItemNum));
-            }
-            List<ic_item> ItemsAdd = new List<ic_item>();
-            List<srm_purchase> srm_purchaseAdd = new List<srm_purchase>();
-            if (custList != null && custList.Count > 0)
-            {
-                for (int i = 0; i < custList.Count; i++)
-                {
-                    var ic_item = ic_itemList.Find(x => x.number == custList[i].ItemNum && x.tenant_id == 1000 && x.factory_id == 1001);
-                    if (ic_item == null)
-                    {
-                        long itemId = help.NextId();
-                        ItemsAdd.Add(new ic_item(itemId)
-                        {
-                            number = custList[i].ItemNum, //物料编码
-                            name = custList[i].Descr, //物料名称
-                            model = custList[i].Descr1,//规格型号
-                            fversion = "",//版本号
-                            //ext.FErpClsID == "配置类" ? 0 : ext.FErpClsID == "自制" ? 1 : ext.FErpClsID == "委外" ? 2 : ext.FErpClsID == "外购" ? 3 : ext.FErpClsID == "虚拟" ? 4 : ext.FErpClsID == "费用" ? 5 : ext.FErpClsID == "服务" ? 6 : -1;
-                            //erp_cls = custList[i].PurMfg == "P" ? 3 : 1,//物料属性
-                            erp_cls = custList[i].ItemNum == "1.SD1.D.0056-F" || custList[i].ItemNum == "1.ZC1.D.0001" || custList[i].ItemNum == "1.BW1.D.0030" ? 1 : 3,
-                            //erp_cls_name = custList[i].PurMfg == "P" ? "外购" : "自制",//物料属性名称
-                            erp_cls_name = custList[i].ItemNum == "1.SD1.D.0056-F" || custList[i].ItemNum == "1.ZC1.D.0001" || custList[i].ItemNum == "1.BW1.D.0030" ? "自制" : "外购",
-                            unit = custList[i].UM,//单位
-                            item_level = 0,//物料等级
-                            source = "",//来源
-                            iskeyitem = custList[i].IsMainMas ? 1 : 0,//是否关键件
-                            net_weight = (decimal)custList[i].NetWeight,//净重
-                            maund = custList[i].NetWeightUM,//重量单位
-                            length = (decimal)custList[i].Length,//长度
-                            width = (decimal)custList[i].Width,//宽度
-                            height = (decimal)custList[i].Height,//高度
-                            allowpur = custList[i].PurMfg == "P" ? 1 : 0,//允许采购
-                            allowsale = 1,//允许销售
-                            allowmanu = custList[i].PurMfg == "L" ? 1 : 0,//允许生产
-                            allowout = 1,//允许委外
-                            allowbatch = custList[i].LotSerialControl ? 1 : 0,//批号管理
-                            allowserial = custList[i].LotSerialControl ? 1 : 0,//序列号管理
-                            photo = "",//图片
-                            enable_warning = 1,//启用预警
-                            factory_id = 1001,
-                            tenant_id = 1000,
-                            IsDeleted = false,
-
-
-                            batch_manager = custList[i].LotSerialControl ? 1 : 0,
-                            minorderqty = custList[i].MinOrd,
-                            minpackqty = 1,
-                            ordissu_days = 1,
-                            transportation_leadtime = 3,
-                            stock_leadtime = 1,
-                            production_leadtime = 4,
-                            order_leadtime = 4,
-
-                            fix_leadtime = 1,
-                            order_inter_val = 1,
-                            lead_time = 1,
-                            bat_change_economy = 1,
-                            total_tqq = 1,
-                            order_point = 1,
-                            secinv = 1,
-                            secinv_ratio = 1,
-                            self_inspection_date = 1,
-                            Warehousing_date = 1,
-                            Shipping_date = 3,
-                        });
-                        srm_purchaseAdd.Add(new srm_purchase(help.NextId())
-                        {
-                            icitem_id = itemId,
-                            icitem_name = custList[i].Descr,
-                            sourcelist_number = "HYQD12064",
-                            supplier_id = 10101000051,
-                            supplier_number = "",
-                            supplier_name = "广州市伟正金属构件有限公司",
-                            purchgroup = "",
-                            purcher = "",
-                            purchase_unit = "",
-                            netpurchase_price = 1,
-                            taxrate = 0.13m,
-                            currency_type = 1,
-                            order_rector_name = "",
-                            order_rector_num = "",
-                            factory_code = "",
-                            order_dept = "",
-                            order_price = 13,
-                            sale_price = 130,
-                            qty_min = 10,
-                            batch_append_qty = 10,
-                            factory_id = 1001,
-                            tenant_id = 1000,
-                            IsDeleted = false
-                        });
-                    }
-                }
-            }
-            _businessDbContext.BulkInsert(ItemsAdd);
-            _businessDbContext.BulkInsert(srm_purchaseAdd);
-        }
-
-        public void SyncBom()
-        {
-            var ic_bomList = _mysql_ic_bom.GetListAsync(a => a.tenant_id == 1000 && a.factory_id == 1001).Result;
-            var ic_itemList = _mysql_ic_item.GetListAsync(a => a.tenant_id == 1000 && a.factory_id == 1001).Result;
-            var ic_bomchildList = _mysql_ic_bom_child.GetListAsync(a => a.tenant_id == 1000 && a.factory_id == 1001 && (a.bom_number == "1.SD1.D.0056-F" || a.bom_number == "1.ZC1.D.0001" || a.bom_number == "1.BW1.D.0030")).Result;
-            List<ProductStructureMaster> wmsBomList = _productStructureMaster.Select(a => a.Domain == "1001" && (a.ParentItem == "1.SD1.D.0056-F" || a.ParentItem == "1.ZC1.D.0001" || a.ParentItem == "1.BW1.D.0030") && a.IsActive);
-            List<ic_bom> ItemsAdd = new List<ic_bom>();
-            List<ic_bom_child> childItemsAdd = new List<ic_bom_child>();
-            if (wmsBomList != null && wmsBomList.Count > 0)
-            {
-                var ItemMasterDS = wmsBomList.Select(a => a.ParentItem).Distinct().ToList();
-                foreach (var c in ItemMasterDS)
-                {
-                    var icbom = ic_bomList.Find(x => x.item_number == c && x.tenant_id == 1000 && x.factory_id == 1001);
-                    var ItemList = wmsBomList.Where(a => a.ParentItem == c);
-                    var item = ic_itemList.Find(a => a.number == c);
-                    if (item == null)
-                    {
-                        continue;
-                    }
-                    if (icbom == null)
-                    {
-                        long domain = Convert.ToInt64(ItemList.First().Domain);
-                        long factory_id = domain % 1000;
-                        long tenant_id = domain - factory_id;
-                        var bom = new ic_bom(help.NextId())
-                        {
-                            bom_number = c,
-                            icitem_id = item.Id,
-                            item_name = item.name,
-                            item_number = c,
-                            version = ItemList.First().Refs,
-                            factory_id = 1001,
-                            tenant_id = 1000,
-                            IsDeleted = false,
-                            use_status = 1
-                        };
-                        ItemsAdd.Add(bom);
-                        foreach (var child in ItemList)
-                        {
-                            var itemchild = ic_itemList.Find(a => a.number == child.ComponentItem);
-                            if (itemchild == null) { continue; }
-                            var bomchild = new ic_bom_child(help.NextId())
-                            {
-                                bom_id = bom.Id,
-                                bom_number = bom.bom_number,
-                                icitem_id = itemchild == null ? long.MinValue : itemchild.Id,
-                                item_number = child.ComponentItem,
-                                item_name = itemchild == null ? "" : itemchild.name,
-                                unit = child.UM,
-                                qty = child.Qty,
-                                entryid = child.SequenceNum,
-                                erp_cls = itemchild == null ? 2 : itemchild.erp_cls,
-                                begin_day = child.StartEff,
-                                end_day = child.EndEff,
-                                child_num = child.SequenceNum,
-                                version = child.Refs,
-                                factory_id = 1001,
-                                tenant_id = 1000,
-                                IsDeleted = false,
-                                use_status = 1
-                            };
-                            childItemsAdd.Add(bomchild);
-                        }
-                    }
-                    else {
-                        foreach (var child in ItemList)
-                        {
-                            var itemchild = ic_itemList.Find(a => a.number == child.ComponentItem);
-                            if (itemchild == null) { continue; }
-                            var icbomchild = ic_bomchildList.Find(s => s.bom_number == c && s.item_number == child.ComponentItem);
-                            if (icbomchild == null)
-                            {
-                                var bomchild = new ic_bom_child(help.NextId())
-                                {
-                                    bom_id = icbom.Id,
-                                    bom_number = icbom.bom_number,
-                                    icitem_id = itemchild == null ? long.MinValue : itemchild.Id,
-                                    item_number = child.ComponentItem,
-                                    item_name = itemchild == null ? "" : itemchild.name,
-                                    unit = child.UM,
-                                    qty = child.Qty,
-                                    entryid = child.SequenceNum,
-                                    erp_cls = itemchild == null ? 2 : itemchild.erp_cls,
-                                    begin_day = child.StartEff,
-                                    end_day = child.EndEff,
-                                    child_num = child.SequenceNum,
-                                    version = child.Refs,
-                                    factory_id = 1001,
-                                    tenant_id = 1000,
-                                    IsDeleted = false,
-                                    use_status = 1
-                                };
-                                childItemsAdd.Add(bomchild);
-                            }
-                        }
-                    }
-
-                    
-                }
-                _businessDbContext.BulkInsert(ItemsAdd);
-                _businessDbContext.BulkInsert(childItemsAdd);
-            }
-        }
-
-        //循环获取子级物料编码,包括产品本身,有重复的结果去重即可
-        public List<string> GetChildItemNumber(string itemNum, List<string> list)
-        {
-            list.Add(itemNum);
-            var productStructures = _productStructureMaster.Select(p => p.ParentItem == itemNum && p.Domain == "1001" && p.IsActive);
-            list.AddRange(productStructures.Select(a => a.ComponentItem));
-            foreach (var item in productStructures)
-            {
-                if (item.StructureType.ToUpper() == "X")
-                {
-                    GetChildItemNumber(item.ComponentItem, list);
-                }
-            }
-            return list;
-        }
-    }
-}

+ 204 - 196
MicroServices/Business/Business.Application/SystemJobManagement/SystemJobAppService.cs

@@ -1,28 +1,20 @@
-using Abp.Application.Services;
-using Abp.Dependency;
-using Business.Business.Dto;
-using Business.Core.MongoDBHelper;
+using Business.Core.Attributes;
+using Business.Core.Configuration;
 using Business.Core.Utilities;
-using Business.Dto;
+using Business.Core.Web;
+using Business.Domain;
 using Business.EntityFrameworkCore;
 using Business.EntityFrameworkCore.SqlRepositories;
-using Business.Model.MES.IC;
-using Business.Model.Production;
-using Business.Model.Sale;
-using Business.Model.SRM;
-using Business.Model.Tech;
-using Business.MongoModel.MES.IC;
-using Business.MongoModel.SRM;
-using Business.MongoModel.Tech;
 using Business.ResourceExamineManagement;
 using Business.SystemJob;
-using EFCore.BulkExtensions;
+using MongoDB.Driver;
 using NLog;
 using System;
 using System.Collections.Generic;
+using System.Configuration;
 using System.Linq;
 using System.Threading.Tasks;
-using System.Transactions;
+using Volo.Abp.Application.Services;
 using Volo.Abp.Domain.Repositories;
 using Volo.Abp.MultiTenancy;
 
@@ -34,31 +26,31 @@ namespace Business.SystemJobManagement
         /// 物料bom
         /// </summary>
         private IRepository<ic_bom, long> _mysql_ic_bom;
-        private readonly IMongoDB<mo_ic_bom> _ic_bom;
+        private readonly IRepository<mo_ic_bom, long> _ic_bom;
 
         /// <summary>
         /// 物料bom子表
         /// </summary>
         private IRepository<ic_bom_child, long> _mysql_ic_bom_child;
-        private readonly IMongoDB<mo_ic_bom_child> _ic_bom_child;
+        private readonly IRepository<mo_ic_bom_child, long> _ic_bom_child;
 
         /// <summary>
         /// 物料
         /// </summary>
         private IRepository<ic_item, long> _mysql_ic_item;
-        private readonly IMongoDB<mo_ic_item> _ic_item;
+        private readonly IRepository<mo_ic_item, long> _ic_item;
 
         /// <summary>
         /// 供应商
         /// </summary>
         private IRepository<srm_supplier, long> _mysql_srm_supplier;
-        private readonly IMongoDB<mo_srm_supplier> _srm_supplier;
+        private readonly IRepository<mo_srm_supplier, long> _srm_supplier;
 
         /// <summary>
         /// 物料采购报价单
         /// </summary>
         private IRepository<srm_purchase, long> _mysql_srm_purchase;
-        private readonly IMongoDB<mo_srm_purchase> _srm_purchase;
+        private readonly IRepository<mo_srm_purchase, long> _srm_purchase;
 
         /// <summary>
         /// 物料采购报价单
@@ -89,37 +81,37 @@ namespace Business.SystemJobManagement
         /// <summary>
         /// 替代群组
         /// </summary>
-        private readonly IMongoDB<mo_ic_substitute> _ic_substitute;
+        private readonly IRepository<mo_ic_substitute, long> _ic_substitute;
         private IRepository<ic_substitute, long> _mysql_ic_substitute;
 
         /// <summary>
         /// 物料替代多群组
         /// </summary>
-        private readonly IMongoDB<mo_ic_substitute_group> _ic_substitute_group;
+        private readonly IRepository<mo_ic_substitute_group, long> _ic_substitute_group;
         private IRepository<ic_substitute_group, long> _mysql_ic_substitute_group;
 
         /// <summary>
         /// 物料替代多群组明细
         /// </summary>
-        private readonly IMongoDB<mo_ic_substitute_group_detail> _ic_substitute_group_detail;
+        private readonly IRepository<mo_ic_substitute_group_detail, long> _ic_substitute_group_detail;
         private IRepository<ic_substitute_group_detail, long> _mysql_ic_substitute_group_detail;
 
         /// <summary>
         /// 工艺路径
         /// </summary>
-        private readonly IMongoDB<mo_mes_technique> _mes_technique;
+        private readonly IRepository<mo_mes_technique, long> _mes_technique;
         private IRepository<mes_technique, long> _mysql_mes_technique;
 
         /// <summary>
         /// 工序
         /// </summary>
-        private readonly IMongoDB<mo_mes_process> _mes_process;
+        private readonly IRepository<mo_mes_process, long> _mes_process;
         private IRepository<mes_process, long> _mysql_mes_process;
 
         /// <summary>
         /// 工艺路径关联工序
         /// </summary>
-        private readonly IMongoDB<mo_mes_tech_process> _mes_tech_process;
+        private readonly IRepository<mo_mes_tech_process, long> _mes_tech_process;
         private IRepository<mes_tech_process, long> _mysql_mes_tech_process;
 
 
@@ -196,6 +188,14 @@ namespace Business.SystemJobManagement
         /// 生产排产
         /// </summary>
         private readonly ProductionScheduleAppService _productionScheduleAppService;
+        private readonly IRepository<mo_srm_pr_main, long> _srm_pr_main;
+        private IRepository<srm_pr_main, long> _mysql_srm_pr_main;
+        private readonly IRepository<mo_srm_po_main, long> _srm_po_main;
+        private IRepository<srm_po_main, long> _mysql_srm_po_main;
+        private readonly IRepository<mo_srm_po_list, long> _srm_po_list;
+        private IRepository<srm_po_list, long> _mysql_srm_po_list;
+
+        private IRepository<b_mo_order, long> _mysql_b_mo_order;
 
         public SystemJobAppService(
          IRepository<ic_bom, long> mysql_ic_bom,
@@ -219,27 +219,34 @@ namespace Business.SystemJobManagement
          ISqlRepository<ProductStructureMaster> productStructureMaster,
          ISqlRepository<WorkOrdMaster> workOrdMaster,
          ISqlRepository<WorkOrdDetail> workOrdDetail,
-        ISqlRepository<WorkOrdRouting> workOrdRouting,
-        ISqlRepository<ProdLineDetail> prodLineDetail,
-        ISqlRepository<PeriodSequenceDet> periodSequenceDet,
-        ISqlRepository<ScheduleResultOpMaster> scheduleResultOpMaster,
-        ISqlRepository<InvMaster> invMaster,
-        ISqlRepository<ShopCalendarWorkCtr> shopCalendarWorkCtr,
-        ISqlRepository<QualityLineWorkDetail> qualityLineWorkDetail,
-        ISqlRepository<HolidayMaster> holidayMaster,
-        ICurrentTenant currentTenant,
-         IMongoDB<mo_ic_bom> ic_bom,
-         IMongoDB<mo_ic_bom_child> ic_bom_child,
-         IMongoDB<mo_ic_item> ic_item,
-         IMongoDB<mo_ic_substitute> ic_substitute,
-         IMongoDB<mo_ic_substitute_group> ic_substitute_group,
-         IMongoDB<mo_ic_substitute_group_detail> ic_substitute_group_detail,
-         IMongoDB<mo_srm_supplier> srm_supplier,
-         IMongoDB<mo_mes_technique> mes_technique,
-         IMongoDB<mo_mes_process> mes_process,
-         IMongoDB<mo_mes_tech_process> mes_tech_process,
-         IMongoDB<mo_srm_purchase> srm_purchase,
+         ISqlRepository<WorkOrdRouting> workOrdRouting,
+         ISqlRepository<ProdLineDetail> prodLineDetail,
+         ISqlRepository<PeriodSequenceDet> periodSequenceDet,
+         ISqlRepository<ScheduleResultOpMaster> scheduleResultOpMaster,
+         ISqlRepository<InvMaster> invMaster,
+         ISqlRepository<ShopCalendarWorkCtr> shopCalendarWorkCtr,
+         ISqlRepository<QualityLineWorkDetail> qualityLineWorkDetail,
+         ISqlRepository<HolidayMaster> holidayMaster,
+         ICurrentTenant currentTenant,
+         IRepository<mo_ic_bom,long> ic_bom,
+         IRepository<mo_ic_bom_child,long> ic_bom_child,
+         IRepository<mo_ic_item, long> ic_item,
+         IRepository<mo_ic_substitute, long> ic_substitute,
+         IRepository<mo_ic_substitute_group, long> ic_substitute_group,
+         IRepository<mo_ic_substitute_group_detail, long> ic_substitute_group_detail,
+         IRepository<mo_srm_supplier, long> srm_supplier,
+         IRepository<mo_mes_technique, long> mes_technique,
+         IRepository<mo_mes_process, long> mes_process,
+         IRepository<mo_mes_tech_process, long> mes_tech_process,
+         IRepository<mo_srm_purchase, long> srm_purchase,
          ProductionScheduleAppService productionScheduleAppService,
+         IRepository<b_mo_order, long> mysql_b_mo_order,
+         IRepository<mo_srm_pr_main, long> srm_pr_main,
+         IRepository<srm_pr_main, long> mysql_srm_pr_main,
+         IRepository<mo_srm_po_list, long> srm_po_list,
+         IRepository<srm_po_list, long> mysql_srm_po_list,
+         IRepository<mo_srm_po_main, long> srm_po_main,
+         IRepository<srm_po_main, long> mysql_srm_po_main,
          BusinessDbContext businessDbContext
          )
         {
@@ -286,6 +293,13 @@ namespace Business.SystemJobManagement
             _qualityLineWorkDetail = qualityLineWorkDetail;
             _holidayMaster = holidayMaster;
             _currentTenant = currentTenant;
+            _mysql_b_mo_order = mysql_b_mo_order;
+            _mysql_srm_po_list = mysql_srm_po_list;
+            _srm_po_list = srm_po_list;
+            _mysql_srm_po_main = mysql_srm_po_main;
+            _srm_po_main = srm_po_main;
+            _mysql_srm_pr_main = mysql_srm_pr_main;
+            _srm_pr_main = srm_pr_main;
             _productionScheduleAppService = productionScheduleAppService;
         }
 
@@ -321,186 +335,180 @@ namespace Business.SystemJobManagement
 
         }
 
-        public string SyncBaseDataToMongoDBJob()
+        public async Task<string> SyncBaseDataToMongoDBJob()
         {
             try
             {
-                //物料采购报价单
-                //var srm_purchase = _mysql_srm_purchase.GetListAsync().Result;
-                //if (srm_purchase.Count > 0)
+                //var srm_purchase1 = _mysql_srm_pr_main.GetListAsync().Result;
+                //if (srm_purchase1.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await MongoHelper<mo_srm_pr_main>.DeleteManyAsync(p => p.mysql_id != -1);
+                //    var mosrm_purchase = ObjectMapper.Map<List<srm_pr_main>, List<mo_srm_pr_main>>(srm_purchase1);
+                //    mosrm_purchase.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    await MongoHelper<mo_srm_pr_main>.InsertManyAsync(mosrm_purchase);
+                //}
+
+                //var srm_purchase2 = _mysql_srm_po_main.GetListAsync().Result;
+                //if (srm_purchase2.Count > 0)
                 //{
                 //    //先清空表数据
-                //    _srm_purchase.Delete(p => p.mysql_id != -1);
-                //    List<mo_srm_purchase> mosrm_purchase = ObjectMapper.Map<List<srm_purchase>, List<mo_srm_purchase>>(srm_purchase);
-                //    mosrm_purchase.ForEach(s => s.id = help.NextId());
-                //    _srm_purchase.InsertMany(mosrm_purchase);
+                //    await MongoHelper<mo_srm_po_main>.DeleteManyAsync(p => p.mysql_id != -1);
+                //    var mosrm_purchase = ObjectMapper.Map<List<srm_po_main>, List<mo_srm_po_main>>(srm_purchase2);
+                //    mosrm_purchase.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    await MongoHelper<mo_srm_po_main>.InsertManyAsync(mosrm_purchase);
                 //}
-                /*//同步物料BOM明细数据
-                var icbom_childs = _mysql_ic_bom_child.GetListAsync().Result;
-                if (icbom_childs.Count > 0)
-                {
-                    //先清空表数据
-                    await _ic_bom_child.Delete(p => p.mysql_id != -1);
-                    var moIcbom_childs = ObjectMapper.Map<List<ic_bom_child>, List<mo_ic_bom_child>>(icbom_childs);
-                    moIcbom_childs.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _ic_bom_child.InsertMany(moIcbom_childs);
-                }*/
-
-                /*//同步物料Bom数据
-                var icBoms = _mysql_ic_bom.GetListAsync().Result;
-                if (icBoms.Count > 0)
-                {
-                    //先清空表数据
-                    await _ic_bom.Delete(p => p.mysql_id != -1);
-                    var moIcBoms = ObjectMapper.Map<List<ic_bom>, List<mo_ic_bom>>(icBoms);
-                    moIcBoms.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _ic_bom.InsertMany(moIcBoms);
-                }
 
+                //var srm_purchase3 = _mysql_srm_po_list.GetListAsync().Result;
+                //if (srm_purchase3.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await MongoHelper<mo_srm_po_list>.DeleteManyAsync(p => p.mysql_id != -1);
+                //    var mosrm_purchase = ObjectMapper.Map<List<srm_po_list>, List<mo_srm_po_list>>(srm_purchase3);
+                //    mosrm_purchase.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    await MongoHelper<mo_srm_po_list>.InsertManyAsync(mosrm_purchase);
+                //}
+                //物料采购报价单
+                //List<srm_purchase> srm_purchases = _mysql_srm_purchase.GetListAsync().Result;
+                //if (srm_purchases.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await _srm_purchase.DeleteAsync(p => p.mysql_id != -1);
+                //    var mosrm_purchase = ObjectMapper.Map<List<srm_purchase>, List<mo_srm_purchase>>(srm_purchases);
+                //    mosrm_purchase.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //_srm_purchase.InsertManyAsync(mosrm_purchase);
+                //    await MongoHelper<mo_srm_purchase>.InsertManyAsync(mosrm_purchase);
+                //}
                 //同步物料BOM明细数据
-                var icbom_childs = _mysql_ic_bom_child.GetListAsync().Result;
-                if (icbom_childs.Count > 0)
-                {
-                    //先清空表数据
-                    await _ic_bom_child.Delete(p => p.mysql_id != -1);
-                    var moIcbom_childs = ObjectMapper.Map<List<ic_bom_child>, List<mo_ic_bom_child>>(icbom_childs);
-                    moIcbom_childs.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _ic_bom_child.InsertMany(moIcbom_childs);
-                }
-
-                ////工厂物料明细表
-                //var ic_factory_details = _mysql_ic_factory_details.GetListAsync().Result;
-                //if (ic_factory_details.Count > 0)
+                //var icbom_childs = _mysql_ic_bom_child.GetListAsync().Result;
+                //if (icbom_childs.Count > 0)
+                //{
+                //    //先清空表数据
+                //    //await _ic_bom_child.DeleteAsync(p => p.mysql_id != -1);
+                //    await MongoHelper<mo_ic_bom_child>.DeleteManyAsync(p => p.mysql_id != -1);
+                //    var moIcbom_childs = ObjectMapper.Map<List<ic_bom_child>, List<mo_ic_bom_child>>(icbom_childs);
+                //    moIcbom_childs.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_ic_bom_child.InsertManyAsync(moIcbom_childs);
+                //    await MongoHelper<mo_ic_bom_child>.InsertManyAsync(moIcbom_childs);
+                //}
+
+                ////同步物料Bom数据
+                //var icBoms = _mysql_ic_bom.GetListAsync().Result;
+                //if (icBoms.Count > 0)
                 //{
                 //    //先清空表数据
-                //    await _ic_factory_details.Delete(p => p.mysql_id != -1);
-                //    var moIc_factory_details = ObjectMapper.Map<List<ic_factory_details>, List<mo_ic_factory_details>>(ic_factory_details);
-                //    moIc_factory_details.ForEach(s => s.id = help.NextId());
-                //    await _ic_factory_details.InsertMany(moIc_factory_details);
+                //    await _ic_bom.DeleteAsync(p => p.mysql_id != -1);
+                //    var moIcBoms = ObjectMapper.Map<List<ic_bom>, List<mo_ic_bom>>(icBoms);
+                //    moIcBoms.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_ic_bom.InsertManyAsync(moIcBoms);
+                //    await MongoHelper<mo_ic_bom>.InsertManyAsync(moIcBoms);
                 //}
 
                 //同步物料数据
-                var icItems = _mysql_ic_item.GetListAsync().Result;
-                if (icItems.Count > 0)
-                {
-                    //先清空表数据
-                    await _ic_item.Delete(p => p.mysql_id != -1);
-                    var moIcItems = ObjectMapper.Map<List<ic_item>, List<mo_ic_item>>(icItems);
-                    moIcItems.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _ic_item.InsertMany(moIcItems);
-                }
+                //var icItems = _mysql_ic_item.GetListAsync().Result;
+                //if (icItems.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await MongoHelper<mo_ic_item>.DeleteManyAsync(p => p.mysql_id != -1);
+                //    var moIcItems = ObjectMapper.Map<List<ic_item>, List<mo_ic_item>>(icItems);
+                //    moIcItems.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_ic_item.InsertManyAsync(moIcItems);
+                //    await MongoHelper<mo_ic_item>.InsertManyAsync(moIcItems);
+                //}
 
                 //同步替代群组数据
-                var subtitutes = _mysql_ic_substitute.GetListAsync().Result;
-                if (subtitutes.Count > 0)
-                {
-                    //先清空表数据
-                    await _ic_substitute.Delete(p => p.mysql_id != -1);
-                    var moSubtitutes = ObjectMapper.Map<List<ic_substitute>, List<mo_ic_substitute>>(subtitutes);
-                    moSubtitutes.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _ic_substitute.InsertMany(moSubtitutes);
-                }
+                //var subtitutes = _mysql_ic_substitute.GetListAsync().Result;
+                //if (subtitutes.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await _ic_substitute.DeleteAsync(p => p.mysql_id != -1);
+                //    var moSubtitutes = ObjectMapper.Map<List<ic_substitute>, List<mo_ic_substitute>>(subtitutes);
+                //    moSubtitutes.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_ic_substitute.InsertManyAsync(moSubtitutes);
+                //    await MongoHelper<mo_ic_substitute>.InsertManyAsync(moSubtitutes);
+                //}
 
                 //同步物料替代多群组数据
-                var subAlls = _mysql_ic_substitute_group.GetListAsync().Result;
-                if (subAlls.Count > 0)
-                {
-                    //先清空表数据
-                    await _ic_substitute_group.Delete(p => p.mysql_id != -1);
-                    var moSubAlls = ObjectMapper.Map<List<ic_substitute_group>, List<mo_ic_substitute_group>>(subAlls);
-                    moSubAlls.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _ic_substitute_group.InsertMany(moSubAlls);
-                }
+                //var subAlls = _mysql_ic_substitute_group.GetListAsync().Result;
+                //if (subAlls.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await _ic_substitute_group.DeleteAsync(p => p.mysql_id != -1);
+                //    var moSubAlls = ObjectMapper.Map<List<ic_substitute_group>, List<mo_ic_substitute_group>>(subAlls);
+                //    moSubAlls.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_ic_substitute_group.InsertManyAsync(moSubAlls);
+                //    await MongoHelper<mo_ic_substitute_group>.InsertManyAsync(moSubAlls);
+                //}
 
                 //同步物料替代多群组明细数据
-                var subAllDtls = _mysql_ic_substitute_group_detail.GetListAsync().Result;
-                if (subAllDtls.Count > 0)
-                {
-                    //先清空表数据
-                    await _ic_substitute_group_detail.Delete(p => p.mysql_id != -1);
-                    var moSubAllDtls = ObjectMapper.Map<List<ic_substitute_group_detail>, List<mo_ic_substitute_group_detail>>(subAllDtls);
-                    moSubAllDtls.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _ic_substitute_group_detail.InsertMany(moSubAllDtls);
-                }
+                //var subAllDtls = _mysql_ic_substitute_group_detail.GetListAsync().Result;
+                //if (subAllDtls.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await _ic_substitute_group_detail.DeleteAsync(p => p.mysql_id != -1);
+                //    var moSubAllDtls = ObjectMapper.Map<List<ic_substitute_group_detail>, List<mo_ic_substitute_group_detail>>(subAllDtls);
+                //    moSubAllDtls.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_ic_substitute_group_detail.InsertManyAsync(moSubAllDtls);
+                //    await MongoHelper<mo_ic_substitute_group_detail>.InsertManyAsync(moSubAllDtls);
+                //}
 
                 //同步供应商数据
-                var suppliers = _mysql_srm_supplier.GetListAsync().Result;
-                if (suppliers.Count > 0)
-                {
-                    //先清空表数据
-                    await _srm_supplier.Delete(p => p.mysql_id != -1);
-                    var moSuppliers = ObjectMapper.Map<List<srm_supplier>, List<mo_srm_supplier>>(suppliers);
-                    moSuppliers.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _srm_supplier.InsertMany(moSuppliers);
-                }
+                //var suppliers = _mysql_srm_supplier.GetListAsync().Result;
+                //if (suppliers.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await _srm_supplier.DeleteAsync(p => p.mysql_id != -1);
+                //    var moSuppliers = ObjectMapper.Map<List<srm_supplier>, List<mo_srm_supplier>>(suppliers);
+                //    moSuppliers.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_srm_supplier.InsertManyAsync(moSuppliers);
+                //    await MongoHelper<mo_srm_supplier>.InsertManyAsync(moSuppliers);
+                //}
 
                 //同步工艺路径数据
-                var techs = _mysql_mes_technique.GetListAsync().Result;
-                if (techs.Count > 0)
-                {
-                    //先清空表数据
-                    await _mes_technique.Delete(p => p.mysql_id != -1);
-                    var moTechs = ObjectMapper.Map<List<mes_technique>, List<mo_mes_technique>>(techs);
-                    moTechs.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _mes_technique.InsertMany(moTechs);
-                }
+                //var techs = _mysql_mes_technique.GetListAsync().Result;
+                //if (techs.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await _mes_technique.DeleteAsync(p => p.mysql_id != -1);
+                //    var moTechs = ObjectMapper.Map<List<mes_technique>, List<mo_mes_technique>>(techs);
+                //    moTechs.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_mes_technique.InsertManyAsync(moTechs);
+                //    await MongoHelper<mo_mes_technique>.InsertManyAsync(moTechs);
+                //}
 
                 //同步工序数据
-                var processes = _mysql_mes_process.GetListAsync().Result;
-                if (suppliers.Count > 0)
-                {
-                    //先清空表数据
-                    await _mes_process.Delete(p => p.mysql_id != -1);
-                    var moProcesses = ObjectMapper.Map<List<mes_process>, List<mo_mes_process>>(processes);
-                    moProcesses.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _mes_process.InsertMany(moProcesses);
-                }
+                //var processes = _mysql_mes_process.GetListAsync().Result;
+                //if (processes.Count > 0)
+                //{
+                //    //先清空表数据
+                //    await _mes_process.DeleteAsync(p => p.mysql_id != -1);
+                //    var moProcesses = ObjectMapper.Map<List<mes_process>, List<mo_mes_process>>(processes);
+                //    moProcesses.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_mes_process.InsertManyAsync(moProcesses);
+                //    await MongoHelper<mo_mes_process>.InsertManyAsync(moProcesses);
+                //}
 
                 //同步工艺关联工序数据
-                var tech_procs = _mysql_mes_tech_process.GetListAsync().Result;
-                if (tech_procs.Count > 0)
-                {
-                    //先清空表数据
-                    await _mes_tech_process.Delete(p => p.mysql_id != -1);
-                    var moTech_procs = ObjectMapper.Map<List<mes_tech_process>, List<mo_mes_tech_process>>(tech_procs);
-                    moTech_procs.ForEach(s => s.id = help.NextId());
-                    //插入数据
-                    await _mes_tech_process.InsertMany(moTech_procs);
-                }
-
-
-                ////物料采购计划表
-                //var ic_plan = _mysql_ic_plan.GetListAsync().Result;
-                //if (ic_plan.Count > 0)
+                //var tech_procs = _mysql_mes_tech_process.GetListAsync().Result;
+                //if (tech_procs.Count > 0)
                 //{
                 //    //先清空表数据
-                //    await _ic_plan.Delete(p => p.mysql_id != -1);
-                //    var moIc_plan = ObjectMapper.Map<List<ic_plan>, List<mo_ic_plan>>(ic_plan);
-                //    moIc_plan.ForEach(s => s.id = help.NextId());
-                //    await _ic_plan.InsertMany(moIc_plan);
+                //    await _mes_tech_process.DeleteAsync(p => p.mysql_id != -1);
+                //    var moTech_procs = ObjectMapper.Map<List<mes_tech_process>, List<mo_mes_tech_process>>(tech_procs);
+                //    moTech_procs.ForEach(s => s.GenerateNewId(help.NextId()));
+                //    //插入数据
+                //    //_mes_tech_process.InsertManyAsync(moTech_procs);
+                //    await MongoHelper<mo_mes_tech_process>.InsertManyAsync(moTech_procs);
                 //}
-
-                //物料采购报价单
-                var srm_purchase = _mysql_srm_purchase.GetListAsync().Result;
-                if (srm_purchase.Count > 0)
-                {
-                    //先清空表数据
-                    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);
-                }*/
-
             }
             catch (Exception ex)
             {

+ 1 - 2
MicroServices/Business/Business.Application/WMS/SyncKingdeeAppService.cs

@@ -1,5 +1,4 @@
-using Business.Model.Ext;
-using Business.Model.Tech;
+using Business.Domain;
 using Microsoft.Extensions.Configuration;
 using System;
 using System.Collections.Generic;

+ 0 - 24
MicroServices/Business/Business.Core/MongoDBHelper/Config.cs

@@ -1,24 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Business.Core.MongoDBHelper
-{
-    /// <summary>
-    /// MongoDB链接配置类
-    /// </summary>
-    public class Config
-    {
-        /// <summary>
-        /// 链接字符串
-        /// </summary>
-        public string? connectstring { get; set; }
-
-        /// <summary>
-        /// 数据库
-        /// </summary>
-        public string? database { get; set; }
-    }
-}

+ 0 - 93
MicroServices/Business/Business.Core/MongoDBHelper/IMongoDB.cs

@@ -1,93 +0,0 @@
-using Amazon.Runtime.Documents;
-using MongoDB.Driver;
-using MongoDB.Driver.Linq;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Reflection.Metadata;
-using System.Text;
-using System.Threading.Tasks;
-using Volo.Abp.Domain.Entities;
-
-namespace Business.Core.MongoDBHelper
-{
-    /// <summary>
-    /// MongoDB接口
-    /// </summary>
-    /// <typeparam name="T"></typeparam>
-    public interface IMongoDB<T>
-    {
-        /// <summary>
-        /// 插入一条数据
-        /// </summary>
-        /// <param name="document"></param>
-        /// <returns></returns>
-        Task InsertOne(T document);
-
-        /// <summary>
-        /// 插入多条数据
-        /// </summary>
-        /// <param name="documents"></param>
-        /// <returns></returns>
-        Task InsertMany(List<T> documents);
-
-        /// <summary>
-        /// 获取所有数据
-        /// </summary>
-        /// <returns></returns>
-        Task<List<T>> GetAll();
-
-        /// <summary>
-        /// 根据条件获取数据
-        /// </summary>
-        /// <returns></returns>
-        Task<List<T>> GetManyByCondition(Expression<Func<T, bool>> filter);
-
-        /// <summary>
-        /// 根据条件获取数据
-        /// </summary>
-        /// <returns></returns>
-        Task<List<T>> GetManyByIds(FilterDefinition<T> filter);
-
-        /// <summary>
-        /// 删除数据
-        /// </summary>
-        /// <param name="expression"></param>
-        /// <param name="isOne"></param>
-        /// <returns></returns>
-        Task<DeleteResult> Delete(Expression<Func<T, bool>> expression, bool isOne = false);
-
-        /// <summary>
-        /// 删除数据
-        /// </summary>
-        /// <param name="filter"></param>
-        /// <param name="isOne"></param>
-        /// <returns></returns>
-        Task<DeleteResult> Delete(FilterDefinition<T> filter, bool isOne = false);
-
-        /// <summary>
-        /// 根据条件获取结果列表
-        /// </summary>
-        /// <param name="expression">条件Expression</param>
-        /// <returns>结果列表</returns>
-        Task<List<T>> Find(Expression<Func<T, bool>> expression, ProjectionDefinition<T, T> projecter = null, SortDefinition<T> sorter = null);
-
-        /// <summary>
-        /// 批量更新
-        /// </summary>
-        /// <param name="updates"></param>
-        /// <param name="options"></param>
-        /// <returns></returns>
-        Task<BulkWriteResult<T>> BulkWrite(List<WriteModel<T>> updates, BulkWriteOptions options = null);
-
-        /// <summary>
-        /// 根据条件获取结果列表
-        /// </summary>
-        /// <param name="filter">条件FilterDefinition</param>
-        /// <param name="sorter">排序规则定义</param>
-        /// <param name="projecter">查询字段定义</param>
-        /// <returns>结果列表</returns>
-       Task<List<T>> Find(FilterDefinition<T> filter, ProjectionDefinition<T, T> projecter = null, SortDefinition<T> sorter = null);
-    }
-}

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

@@ -1,195 +0,0 @@
-using Amazon.Runtime.Internal;
-using Business.Core.Attributes;
-using Microsoft.Extensions.Options;
-using MongoDB.Bson;
-using MongoDB.Bson.Serialization.Attributes;
-using MongoDB.Driver;
-using MongoDB.Driver.Linq;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-using Volo.Abp.Domain.Entities;
-using Volo.Abp.Domain.Repositories;
-
-namespace Business.Core.MongoDBHelper
-{
-    /// <summary>
-    /// MongoDB帮助类
-    /// </summary>
-    public class MongoDBTools<T> : IMongoDB<T> 
-    {
-        public readonly IMongoCollection<T> mongoCollection;
-        public readonly IMongoDatabase dataBase;
-        public IOptionsSnapshot<Config> _config;
-        public CollectionNameAttribute collectonName;
-
-        /// <summary>
-        /// MongoDB链接
-        /// </summary>
-        /// <param name="config"></param>
-        /// <exception cref="NotImplementedException"></exception>
-        public MongoDBTools(IOptionsSnapshot<Config> config)
-        {
-            _config = config;
-            
-            collectonName = typeof(T).GetCustomAttributes(typeof(CollectionNameAttribute), true).FirstOrDefault() as CollectionNameAttribute;
-            if (collectonName == null)
-            {
-                throw new NotImplementedException("请配置Attribute属性!");
-            }
-            //数据库链接
-            MongoClient client = new MongoClient(config.Value.connectstring + collectonName.DatabaseName);
-            //数据库
-            dataBase = client.GetDatabase(collectonName.DatabaseName);
-            //表名
-            mongoCollection = dataBase.GetCollection<T>(collectonName.CollectionName);
-        }
-
-        /// <summary>
-        /// 插入一条数据
-        /// </summary>
-        /// <param name="document"></param>
-        /// <returns></returns>
-        public Task InsertOne(T document)
-        {
-            return mongoCollection.InsertOneAsync(document);
-        }
-
-        /// <summary>
-        /// 插入多条数据
-        /// </summary>
-        /// <param name="documents"></param>
-        /// <returns></returns>
-        /// <exception cref="NotImplementedException"></exception>
-        public Task InsertMany(List<T> documents)
-        {
-           return mongoCollection.InsertManyAsync(documents,new InsertManyOptions() { IsOrdered = false});
-        }
-
-        /// <summary>
-        /// 获取所有数据
-        /// </summary>
-        /// <returns></returns>
-        /// <exception cref="NotImplementedException"></exception>
-        public Task<List<T>> GetAll()
-        {
-            return mongoCollection.AsQueryable<T>().ToListAsync();
-        }
-
-        /// <summary>
-        /// 根据条件获取数据
-        /// </summary>
-        /// <returns></returns>
-        public Task<List<T>> GetManyByCondition(Expression<Func<T, bool>> filter) 
-        {
-            return mongoCollection.Find(filter).ToListAsync();
-        }
-
-        /// <summary>
-        /// 根据条件获取数据
-        /// </summary>
-        /// <returns></returns>
-        public Task<List<T>> GetManyByIds(FilterDefinition<T> filter)
-        {
-            return mongoCollection.Find(filter).ToListAsync();
-        }
-
-        /// <summary>
-        /// 删除数据
-        /// </summary>
-        /// <param name="expression"></param>
-        /// <param name="isOne"></param>
-        /// <returns></returns>
-        public Task<DeleteResult> Delete(Expression<Func<T, bool>> expression, bool isOne = false)
-        {
-            if (isOne)
-                return mongoCollection.DeleteOneAsync(expression);
-            else
-                return mongoCollection.DeleteManyAsync(expression);
-        }
-
-        /// <summary>
-        /// 删除数据
-        /// </summary>
-        /// <param name="filter"></param>
-        /// <param name="isOne"></param>
-        /// <returns></returns>
-        public Task<DeleteResult> Delete(FilterDefinition<T> filter, bool isOne = false)
-        {
-            if (isOne)
-                return mongoCollection.DeleteOneAsync(filter);
-            else
-                return mongoCollection.DeleteManyAsync(filter);
-        }
-
-        /// <summary>
-        /// 根据条件获取结果列表
-        /// </summary>
-        /// <param name="expression">条件Expression</param>
-        /// <returns>结果列表</returns>
-        public Task<List<T>> Find(Expression<Func<T,bool>> expression, ProjectionDefinition<T, T> projecter = null, SortDefinition<T> sorter = null)
-        {
-            //Include表示包含那些字段
-            //ProjectionDefinitionBuilder<VoucherTemplate> project = new ProjectionDefinitionBuilder<VoucherTemplate>();
-            //var templates = voucherRepository.Find(x => x.AppId == this.AppId, project.Include(x => x.FContentId).
-            //    Include(x => x.TemplateName)).Select(x => new Template { TemplateId = x.FContentId, TemplateName = x.TemplateName }).AsQueryable<Template>();
-            //Exclude表示包含那些字段
-            //List<ExchangeRate> exchangeRates = exchangeRateRepository.Find(x => x.AppId == this.AppId, project.Exclude(x => x.CurrencyXRates).Exclude(y => y.ExchangeRateId));
-
-            return mongoCollection.Find(expression).Project(projecter).Sort(sorter).ToListAsync();
-        }
-
-        /// <summary>
-        ///  批处理操作,操作的数据条数需要大于0
-        /// </summary>
-        /// <param name="updates"></param>
-        /// <returns></returns>
-        public Task<BulkWriteResult<T>> BulkWrite(List<WriteModel<T>> updates, BulkWriteOptions options = null)
-        {
-            //eg:使用示例
-            //List<WriteModel<BusinessDataLockRule>> rules = new List<WriteModel<BusinessDataLockRule>>();
-            //foreach (var ruleName in ruleNames)
-            //{
-            //    var lockRule = lockRules.FirstOrDefault(x => x.RuleName == ruleName);
-            //    var dimDLMember = string.Join("-", ruleName.Split("-").Skip(3));
-            //    if (lockRule == null)
-            //    {
-            //        lockRule = new BusinessDataLockRule();
-            //        lockRule.RuleName = ruleName;
-            //        lockRule.Locked = true;
-            //        var insertOneModel = new InsertOneModel<BusinessDataLockRule>(lockRule);
-            //        rules.Add(insertOneModel);
-            //    }
-            //    else
-            //    {
-            //        var filterDefinition = Builders<BusinessDataLockRule>.Filter.Eq(x => x.Id, lockRule.Id);
-            //        var updateDefinition = Builders<BusinessDataLockRule>.Update.Set(x => x.Locked, lockRule.Locked)
-            //                                                                    .Set(x => x.LockDimensions, lockRule.LockDimensions)
-            //                                                                    .Set(x => x.LockTime, DateTime.Now);
-            //        var updateOneModel = new UpdateOneModel<BusinessDataLockRule>(filterDefinition, updateDefinition);
-            //        rules.Add(updateOneModel);
-            //    }
-            //}
-            //if (!rules.IsNullOrEmpty())
-            //{
-            //    mongoCollection.BulkWriteAsync(rules, new BulkWriteOptions { IsOrdered = false });
-            //}
-            return mongoCollection.BulkWriteAsync(updates,options);
-        }
-
-        /// <summary>
-        /// 根据条件获取结果列表
-        /// </summary>
-        /// <param name="filter">条件FilterDefinition</param>
-        /// <returns>结果列表</returns>
-        public Task<List<T>> Find(FilterDefinition<T> filter, ProjectionDefinition<T, T> projecter = null, SortDefinition<T> sorter = null)
-        {
-            return mongoCollection.Find(filter).Project(projecter).Sort(sorter).ToListAsync();
-        }
-    }
-}

+ 45 - 0
MicroServices/Business/Business.Core/Utilities/MongoHelper.cs

@@ -0,0 +1,45 @@
+using Business.Core.Attributes;
+using Business.Core.Configuration;
+using Business.Core.Web;
+using MongoDB.Driver;
+using System.Linq.Expressions;
+
+namespace Business.Core.Utilities
+{
+    public class MongoHelper<T> where T:class
+    {
+        private static IMongoCollection<T> GetMongoCollection()
+        {
+            var configuration = AppConfigurations.Get(WebContentDirectoryFinder.CalculateContentRootFolder());
+            string mongodbUrl = configuration["ConnectionStrings:MongoDB"];
+            MongoClient client = new MongoClient(mongodbUrl);
+            CollectionNameAttribute collectonName_T = typeof(T).GetCustomAttributes(typeof(CollectionNameAttribute), true).FirstOrDefault() as CollectionNameAttribute;
+            IMongoDatabase dataBase_T = client.GetDatabase(collectonName_T.DatabaseName);
+            IMongoCollection<T> mongoCollection_T = dataBase_T.GetCollection<T>(collectonName_T.CollectionName);
+            return mongoCollection_T;
+        }
+        public static async Task InsertManyAsync(IEnumerable<T> documents, CancellationToken cancellationToken = default(CancellationToken))
+        {
+            await GetMongoCollection().InsertManyAsync(documents, new InsertManyOptions() { IsOrdered = false });
+        }
+        public static async Task DeleteManyAsync(Expression<Func<T, bool>> expression)
+        {
+            await GetMongoCollection().DeleteManyAsync(expression);
+        }
+
+        public static async Task InsertAsync(T documents, CancellationToken cancellationToken = default(CancellationToken))
+        {
+            await GetMongoCollection().InsertOneAsync(documents);
+        }
+
+        public static async Task FindAsync(Expression<Func<T, bool>> filter)
+        {
+            await GetMongoCollection().Find(filter).ToListAsync();
+        }
+
+        public static void CreatIndexAsync(CreateIndexModel<T> createIndexModel)
+        {
+            GetMongoCollection().Indexes.CreateOne(createIndexModel);
+        }
+    }
+}

+ 3 - 1
MicroServices/Business/Business.Domain/Business.Domain.csproj

@@ -22,14 +22,16 @@
   </ItemGroup>
 
   <ItemGroup>
+    <PackageReference Include="MongoDB.Driver.Core" Version="2.20.0" />
     <PackageReference Include="Volo.Abp.AuditLogging.Domain" Version="6.0.3" />
+    <PackageReference Include="Volo.Abp.EntityFrameworkCore" 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>
-    <ProjectReference Include="..\Bussiness.Model\Business.Model.csproj" />
+    <ProjectReference Include="..\Business.Core\Business.Core.csproj" />
   </ItemGroup>
 
 </Project>

+ 11 - 15
MicroServices/Business/Business.Domain/MoBaseEntity.cs → MicroServices/Business/Business.Domain/MongoDB/Base/MoBaseEntity.cs

@@ -1,19 +1,9 @@
-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 Microsoft.EntityFrameworkCore;
+using MongoDB.Bson.Serialization.Attributes;
+using System;
 using System.ComponentModel;
-using Volo.Abp.Domain.Entities.Auditing;
+using System.ComponentModel.DataAnnotations;
 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
 {
@@ -26,11 +16,17 @@ namespace Business.Domain
         {
             Id = id;
         }
+        ///// <summary>
+        ///// id
+        ///// </summary>
+        //[Comment("id")]
+        //[BsonRepresentation(MongoDB.Bson.BsonType.Int64)]
+        //public virtual long id { get; set; }
+
         /// <summary>
         /// mysql表id
         /// </summary>
         [Comment("mysql表id")]
-        [NotMapped]
         public virtual long mysql_id { get; set; }
 
         /// <summary>

+ 5 - 2
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_bom.cs → MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_bom.cs

@@ -1,5 +1,8 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.ComponentModel.DataAnnotations;
+using Business.Core.Attributes;
 using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
@@ -11,7 +14,7 @@ using System.Text;
 using System.Threading.Tasks;
 using Volo.Abp;
 
-namespace Business.MongoModel.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料BOM

+ 2 - 4
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_bom_child.cs → MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_bom_child.cs

@@ -1,11 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using MongoDB.Bson.Serialization.Attributes;
-using System.ComponentModel;
+using System;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.MongoModel.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料BOM明细

+ 1 - 1
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_item.cs → MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_item.cs

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore;
 using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.MongoModel.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料详情

+ 1 - 4
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_item_stock.cs → MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_item_stock.cs

@@ -1,12 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using MongoDB.Bson.Serialization.Attributes;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 using System.ComponentModel.DataAnnotations.Schema;
 
-namespace Business.MongoModel.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料库存表

+ 3 - 11
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_item_stockoccupy.cs → MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_item_stockoccupy.cs

@@ -1,16 +1,8 @@
-using Business.MongoModel;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Business.Core.Attributes;
+using Business.Core.Attributes;
 using Microsoft.EntityFrameworkCore;
-using System.ComponentModel.DataAnnotations.Schema;
+using System.ComponentModel.DataAnnotations;
 
-namespace Business.MongoModel.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 资源检查物料占用明细表

+ 1 - 9
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_substitute.cs → MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_substitute.cs

@@ -1,16 +1,8 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Security.AccessControl;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.MongoModel.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 替代群组

+ 1 - 8
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_substitute_group.cs → MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_substitute_group.cs

@@ -1,15 +1,8 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.MongoModel.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料替代多群组

+ 1 - 8
MicroServices/Business/Bussiness.MongoModel/MES/IC/mo_ic_substitute_group_detail.cs → MicroServices/Business/Business.Domain/MongoDB/MES/IC/mo_ic_substitute_group_detail.cs

@@ -1,16 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
 using MongoDB.Bson.Serialization.Attributes;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.MongoModel.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料替代多群组明细

+ 1 - 9
MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_moentry.cs → MicroServices/Business/Business.Domain/MongoDB/Production/mo_mes_moentry.cs

@@ -1,16 +1,8 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.MongoModel.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 生成工单子表

+ 1 - 7
MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_mooccupy.cs → MicroServices/Business/Business.Domain/MongoDB/Production/mo_mes_mooccupy.cs

@@ -1,16 +1,10 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
 using System;
-using System.Collections.Generic;
 using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.MongoModel.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 在制工单占用记录表

+ 1 - 9
MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_morder.cs → MicroServices/Business/Business.Domain/MongoDB/Production/mo_mes_morder.cs

@@ -1,17 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
 using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Volo.Abp;
 
-namespace Business.MongoModel.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 工单主表

+ 1 - 8
MicroServices/Business/Bussiness.MongoModel/Production/mo_mes_oorder.cs → MicroServices/Business/Business.Domain/MongoDB/Production/mo_mes_oorder.cs

@@ -1,16 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
 using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.MongoModel.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 委外订单表

+ 2 - 4
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_list.cs → MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_po_list.cs

@@ -1,11 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System.ComponentModel;
+using System;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
 
-namespace Business.MongoModel.SRM
+namespace Business.Domain
 {
     /// <summary>
     /// 采购订单明细详情

+ 2 - 4
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_main.cs → MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_po_main.cs

@@ -1,11 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System.ComponentModel;
+using System;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
 
-namespace Business.MongoModel.SRM
+namespace Business.Domain
 {
     /// <summary>
     /// 采购订单

+ 2 - 4
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_po_occupy.cs → MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_po_occupy.cs

@@ -1,11 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System.ComponentModel;
+using System;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
 
-namespace Business.MongoModel.SRM
+namespace Business.Domain
 {
     /// <summary>
     /// 采购订单占用详情

+ 9 - 3
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_pr_main.cs → MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_pr_main.cs

@@ -1,12 +1,11 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
 using MongoDB.Bson.Serialization.Attributes;
-using System.ComponentModel;
+using System;
 using System.ComponentModel.DataAnnotations;
 using System.ComponentModel.DataAnnotations.Schema;
 
-namespace Business.MongoModel.SRM
+namespace Business.Domain
 {
     /// <summary>
     /// 采购申请单
@@ -240,5 +239,12 @@ namespace Business.MongoModel.SRM
         [BsonIgnore]
         [NotMapped]
         public decimal? totalLeadTime { get; set; }
+
+        /// <summary>
+        /// 项次号
+        /// </summary>
+        [StringLength(50)]
+        [Comment("项次号")]
+        public string? num { get; set; }
     }
 }

+ 33 - 15
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_purchase.cs → MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_purchase.cs

@@ -1,11 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 using System.ComponentModel.DataAnnotations.Schema;
 
-namespace Business.Model.SRM
+namespace Business.Domain
 {
     /// <summary>
     /// 物料采购报价单
@@ -26,20 +24,20 @@ namespace Business.Model.SRM
         /// </summary>]
         [StringLength(20)]
         [Comment("物料编码")]
-        public string? number { get; set; }
+        public string number { get; set; }
 
         /// <summary>
         /// 物料名称
         /// </summary>
         [StringLength(80)]
         [Comment("物料名称")]
-        public string? icitem_name { get; set; }
+        public string icitem_name { get; set; }
         /// <summary>
         /// 货源清单编号
         /// </summary>
         [Comment("货源清单编号")]
         [StringLength(80)]
-        public string? sourcelist_number { get; set; }
+        public string sourcelist_number { get; set; }
 
         /// <summary>
         /// 供应商id
@@ -51,31 +49,31 @@ namespace Business.Model.SRM
         /// </summary>
         [StringLength(80)]
         [Comment("供应商编码")]
-        public string? supplier_number { get; set; }
+        public string supplier_number { get; set; }
         /// <summary>
         /// 供应商名称
         /// </summary>
         [StringLength(80)]
         [Comment("供应商名称")]
-        public string? supplier_name { get; set; }
+        public string supplier_name { get; set; }
         /// <summary>
         /// 采购组
         /// </summary>
         [StringLength(80)]
         [Comment("采购组")]
-        public string? purchgroup { get; set; }
+        public string purchgroup { get; set; }
         /// <summary>
         /// 采购员
         /// </summary>
         [StringLength(80)]
         [Comment("采购员")]
-        public string? purcher { get; set; }
+        public string purcher { get; set; }
         /// <summary>
         /// 采购计量单位
         /// </summary>
         [StringLength(80)]
         [Comment("采购计量单位")]
-        public string? purchase_unit { get; set; }
+        public string purchase_unit { get; set; }
         /// <summary>
         /// 采购净价(不含税)
         /// </summary>
@@ -99,25 +97,25 @@ namespace Business.Model.SRM
         /// </summary>
         [StringLength(80)]
         [Comment("采购负责人")]
-        public string? order_rector_name { get; set; }
+        public string order_rector_name { get; set; }
         /// <summary>
         /// 采购负责人_工号
         /// </summary>
         [StringLength(80)]
         [Comment("采购负责人_工号")]
-        public string? order_rector_num { get; set; }
+        public string order_rector_num { get; set; }
         /// <summary>
         /// 工厂编码
         /// </summary>
         [StringLength(80)]
         [Comment("工厂编码")]
-        public string? factory_code { get; set; }
+        public string factory_code { get; set; }
         /// <summary>
         /// 采购部门
         /// </summary>
         [StringLength(80)]
         [Comment("采购部门")]
-        public string? order_dept { get; set; }
+        public string order_dept { get; set; }
         /// <summary>
         /// 采购单价
         /// </summary>
@@ -143,6 +141,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>
@@ -150,5 +161,12 @@ namespace Business.Model.SRM
         [NotMapped]
         public long? bang_id { get; set; }
 
+        /// <summary>
+        /// 供应类别
+        /// </summary>
+        [StringLength(80)]
+        [Comment("供应类别")]
+        public string supplier_type { get; set; }
+
     }
 }

+ 2 - 1
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_supplier.cs → MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_supplier.cs

@@ -1,9 +1,10 @@
 using Business.Core.Attributes;
 using Microsoft.EntityFrameworkCore;
+using System;
 using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.MongoModel.SRM
+namespace Business.Domain
 {
     /// <summary>
     /// 供应商

+ 4 - 13
MicroServices/Business/Bussiness.MongoModel/Tech/mo_mes_process.cs → MicroServices/Business/Business.Domain/MongoDB/Tech/mo_mes_process.cs

@@ -1,18 +1,9 @@
-using Business.MongoModel;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.ComponentModel.DataAnnotations;
-using System.Globalization;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using MongoDB.Driver.Core;
-using Business.Core.Attributes;
-using MongoDB.Bson.Serialization.Attributes;
+using Business.Core.Attributes;
 using Microsoft.EntityFrameworkCore;
+using MongoDB.Bson.Serialization.Attributes;
+using System.ComponentModel.DataAnnotations;
 
-namespace Business.MongoModel.Tech
+namespace Business.Domain
 {
     /// <summary>
     /// 工序表

+ 1 - 3
MicroServices/Business/Bussiness.MongoModel/Tech/mo_mes_tech_proc_workshop.cs → MicroServices/Business/Business.Domain/MongoDB/Tech/mo_mes_tech_proc_workshop.cs

@@ -1,10 +1,8 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.MongoModel.Tech
+namespace Business.Domain
 {
     /// <summary>
     /// 工艺路径关联工位表

+ 1 - 3
MicroServices/Business/Bussiness.MongoModel/Tech/mo_mes_tech_process.cs → MicroServices/Business/Business.Domain/MongoDB/Tech/mo_mes_tech_process.cs

@@ -1,10 +1,8 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.MongoModel.Tech
+namespace Business.Domain
 {
     /// <summary>
     /// 工艺关联工序表

+ 1 - 3
MicroServices/Business/Bussiness.MongoModel/Tech/mo_mes_technique.cs → MicroServices/Business/Business.Domain/MongoDB/Tech/mo_mes_technique.cs

@@ -1,11 +1,9 @@
 using Business.Core.Attributes;
-using Business.MongoModel;
 using Microsoft.EntityFrameworkCore;
 using MongoDB.Bson.Serialization.Attributes;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.MongoModel.Tech
+namespace Business.Domain
 {
     /// <summary>
     /// 工艺路径表

+ 24 - 17
MicroServices/Business/Bussiness.Model/Bang/b_bom_child_examine.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_bom_child_examine.cs

@@ -1,19 +1,14 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// Bom明细检查结果
     /// </summary>
-    [CollectionName("dopbang", "b_bom_child_examine")]
+    [CollectionName("dopbase", "b_bom_child_examine")]
     [Comment("Bom明细检查结果")]
     public class b_bom_child_examine : BaseEntity
     {
@@ -46,21 +41,21 @@ namespace Business.Model.Bang
         /// </summary>
         [StringLength(80)]
         [Comment("版本")]
-        public string? version { get; set; }
+        public string version { get; set; }
 
         /// <summary>
         /// bom编号
         /// </summary>
         [Comment("bom编号")]
         [StringLength(20)]
-        public string? bom_number { get; set; }
+        public string bom_number { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
         [StringLength(80)]
-        public string? item_number { get; set; }
+        public string item_number { get; set; }
 
         /// <summary>
         /// level
@@ -85,7 +80,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("项次号")]
         [StringLength(50)]
-        public string? num { get; set; }
+        public string num { get; set; }
 
         /// <summary>
         /// 排序使用
@@ -110,21 +105,21 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("物料名称")]
         [StringLength(200)]
-        public string? item_name { get; set; }
+        public string item_name { get; set; }
 
         /// <summary>
         /// 规格型号
         /// </summary>
         [Comment("规格型号")]
         [StringLength(200)]
-        public string? model { get; set; }
+        public string model { get; set; }
 
         /// <summary>
         /// 单位
         /// </summary>
         [Comment("单位")]
         [StringLength(80)]
-        public string? unit { get; set; }
+        public string unit { get; set; }
 
         /// <summary>
         /// 物料属性 0.配置类 1.自制 2.委外加工 3.外购 4.虚拟件
@@ -137,7 +132,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("物料属性名称")]
         [StringLength(80)]
-        public string? erp_cls_name { get; set; }
+        public string erp_cls_name { get; set; }
 
         /// <summary>
         /// 是否倒冲
@@ -149,7 +144,7 @@ namespace Business.Model.Bang
         /// 单位用量
         /// </summary>
         [Comment("单位用量")]
-        [Precision(23,10)]
+        [Precision(23, 10)]
         public decimal? qty { get; set; }
 
         /// <summary>
@@ -221,6 +216,18 @@ namespace Business.Model.Bang
         [Comment("齐套时间")]
         public DateTime? kitting_time { get; set; }
 
+        /// <summary>
+        /// 自制时长(天)
+        /// </summary>
+        [Comment("自制时长(天)")]
+        public int? make_time { get; set; }
+
+        /// <summary>
+        /// 采购前置(需加上自制)
+        /// </summary>
+        [Comment("采购前置时间")]
+        public int? pre_time { get; set; }
+
         /// <summary>
         /// 满足时间
         /// </summary>
@@ -244,7 +251,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("群组代码")]
         [StringLength(20)]
-        public string? substitute_code { get; set; }
+        public string substitute_code { get; set; }
 
         /// <summary>
         /// 群组优先级

+ 10 - 16
MicroServices/Business/Bussiness.Model/Bang/b_bom_pretreatment.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_bom_pretreatment.cs

@@ -1,14 +1,8 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// Bom预处理
@@ -46,7 +40,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("bom编号")]
         [StringLength(20)]
-        public string? bom_number { get; set; }
+        public string bom_number { get; set; }
 
         /// <summary>
         /// 物料id
@@ -59,21 +53,21 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("物料名称")]
         [StringLength(80)]
-        public string? item_name { get; set; }
+        public string item_name { get; set; }
 
         /// <summary>
         /// 规格型号
         /// </summary>
         [Comment("规格型号")]
         [StringLength(200)]
-        public string? model { get; set; }
+        public string model { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
         [StringLength(80)]
-        public string? item_number { get; set; }
+        public string item_number { get; set; }
 
         /// <summary>
         /// level
@@ -92,7 +86,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("项次号")]
         [StringLength(20)]
-        public string? num { get; set; }
+        public string num { get; set; }
 
         /// <summary>
         /// 供排序使用
@@ -118,7 +112,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("单位")]
         [StringLength(80)]
-        public string? unit { get; set; }
+        public string unit { get; set; }
 
         /// <summary>
         /// 物料属性 0.配置类 1.自制 2.委外加工 3.外购 4.虚拟件
@@ -131,7 +125,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("物料属性名称")]
         [StringLength(80)]
-        public string? erp_cls_name { get; set; }
+        public string erp_cls_name { get; set; }
 
         /// <summary>
         /// 是否倒冲
@@ -150,7 +144,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("群组代码")]
         [StringLength(20)]
-        public string? substitute_code { get; set; }
+        public string substitute_code { get; set; }
 
         /// <summary>
         /// 替代策略
@@ -169,6 +163,6 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("版本")]
         [StringLength(80)]
-        public string? version { get; set; }
+        public string version { get; set; }
     }
 }

+ 5 - 12
MicroServices/Business/Bussiness.Model/Bang/b_day_bulletin_board.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_day_bulletin_board.cs

@@ -1,19 +1,12 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 每天消耗物料明细
     /// </summary>
-    [CollectionName("dopbang", "b_day_bulletin_board")]
+    [CollectionName("dopbase", "b_day_bulletin_board")]
     [Comment("物料齐套明细")]
     public class b_day_bulletin_board : BaseEntity
     {
@@ -21,7 +14,7 @@ namespace Business.Model.Bang
         /// 日期
         /// </summary>
         [Comment("日期")]
-        public string? day { get; set; }
+        public string day { get; set; }
 
         /// <summary>
         /// 类别:1-工单齐套检查;2-替代料齐套检查
@@ -33,13 +26,13 @@ namespace Business.Model.Bang
         /// 物料名称
         /// </summary>
         [Comment("物料名称")]
-        public string? item_name { get; set; }
+        public string item_name { get; set; }
 
         /// <summary>
         /// 物料编码
         /// </summary>
         [Comment("物料编码")]
-        public string? item_number { get; set; }
+        public string item_number { get; set; }
 
         /// <summary>
         /// 库存占用数量

+ 6 - 12
MicroServices/Business/Bussiness.Model/Bang/b_examine_result.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_examine_result.cs

@@ -1,22 +1,16 @@
 using Business.Core.Attributes;
-using Business.Model;
 using Microsoft.EntityFrameworkCore;
 using System;
-using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.Model.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 资源检查
     /// </summary>
-    [CollectionName("dopbang", "b_examine_result")]
+    [CollectionName("dopbase", "b_examine_result")]
     [Comment("资源检查")]
-    public class b_examine_result: BaseEntity
+    public class b_examine_result : BaseEntity
     {
         /// <summary>
         /// 订单id
@@ -29,7 +23,7 @@ namespace Business.Model.Bang
         /// </summary>
         [StringLength(50)]
         [Comment("订单编号")]
-        public string? bill_no { get; set; }
+        public string bill_no { get; set; }
 
         /// <summary>
         /// 订单行id
@@ -54,14 +48,14 @@ namespace Business.Model.Bang
         /// </summary>
         [StringLength(50)]
         [Comment("工单号")]
-        public string? morder_no { get; set; }
+        public string morder_no { get; set; }
 
         /// <summary>
         /// BOM编码
         /// </summary>
         [StringLength(20)]
         [Comment("BOM编码")]
-        public string? bom_number { get; set; }
+        public string bom_number { get; set; }
 
         /// <summary>
         /// 需要数量

+ 3 - 8
MicroServices/Business/Bussiness.Model/Bang/b_mo_occupy.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_mo_occupy.cs

@@ -1,19 +1,14 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 在制占用明细
     /// </summary>
-    [CollectionName("dopbang", "b_mo_occupy")]
+    [CollectionName("dopbase", "b_mo_occupy")]
     [Comment("在制占用明细")]
     public class b_mo_occupy : BaseEntity
     {
@@ -28,7 +23,7 @@ namespace Business.Model.Bang
         /// </summary>
         [StringLength(50)]
         [Comment("工单号")]
-        public string? moo_mo { get; set; }
+        public string moo_mo { get; set; }
 
         /// <summary>
         /// 占用量

+ 5 - 10
MicroServices/Business/Bussiness.Model/Bang/b_mo_order.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_mo_order.cs

@@ -1,19 +1,14 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 生产工单信息
     /// </summary>
-    [CollectionName("dopbang", "b_mo_order")]
+    [CollectionName("dopbase", "b_mo_order")]
     [Comment("生产工单明细")]
     public class b_mo_order : BaseEntity
     {
@@ -28,19 +23,19 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("生产工单编号")]
         [StringLength(50)]
-        public string? morder_no { get; set; }
+        public string morder_no { get; set; }
         /// <summary>
         /// 生产组织名称
         /// </summary>
         [Comment("生产组织名称")]
         [StringLength(50)]
-        public string? moentry_prdname { get; set; }
+        public string moentry_prdname { get; set; }
         /// <summary>
         /// 工作中心名称
         /// </summary>
         [Comment("工作中心名称")]
         [StringLength(50)]
-        public string? moentry_wrkcname { get; set; }
+        public string moentry_wrkcname { get; set; }
         /// <summary>
         /// 生产工单开始日期
         /// </summary>

+ 6 - 11
MicroServices/Business/Bussiness.Model/Bang/b_ooder.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_ooder.cs

@@ -1,19 +1,14 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 委外工单明细
     /// </summary>
-    [CollectionName("dopbang", "b_ooder")]
+    [CollectionName("dopbase", "b_ooder")]
     [Comment("采购占用明细")]
     public class b_ooder : BaseEntity
     {
@@ -28,7 +23,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("工单编号")]
         [StringLength(50)]
-        public string? oorder_no { get; set; }
+        public string oorder_no { get; set; }
         /// <summary>
         /// 委外订单日期
         /// </summary>
@@ -39,7 +34,7 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("生产组织名称")]
         [StringLength(50)]
-        public string? ooentry_prdname { get; set; }
+        public string ooentry_prdname { get; set; }
         /// <summary>
         /// 计划开工日期
         /// </summary>
@@ -61,12 +56,12 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("加工单位")]
         [StringLength(100)]
-        public string? production_unit { get; set; }
+        public string production_unit { get; set; }
         /// <summary>
         /// 加工单位编码
         /// </summary>
         [Comment("加工单位编码")]
         [StringLength(20)]
-        public string? production_unit_code { get; set; }
+        public string production_unit_code { get; set; }
     }
 }

+ 7 - 12
MicroServices/Business/Bussiness.Model/Bang/b_order_detail.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_order_detail.cs

@@ -1,19 +1,14 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 物料齐套明细
     /// </summary>
-    [CollectionName("dopbang", "b_order_detail")]
+    [CollectionName("dopbase", "b_order_detail")]
     [Comment("物料齐套明细")]
     public class b_order_detail : BaseEntity
     {
@@ -45,26 +40,26 @@ namespace Business.Model.Bang
         /// bom编号
         /// </summary>
         [Comment("bom编号")]
-        public string? bom_number { get; set; }
+        public string bom_number { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
-        public string? item_number { get; set; }
+        public string item_number { get; set; }
 
         /// <summary>
         /// 物料名称
         /// </summary>
         [Comment("物料名称")]
-        public string? item_name { get; set; }
+        public string item_name { get; set; }
 
         /// <summary>
         /// 项次号
         /// </summary>
         [Comment("项次号")]
         [StringLength(50)]
-        public string? num { get; set; }
+        public string num { get; set; }
 
         /// <summary>
         /// 排序使用
@@ -145,7 +140,7 @@ namespace Business.Model.Bang
         /// 群组代码
         /// </summary>
         [Comment("群组代码")]
-        public string? substitute_code { get; set; }
+        public string substitute_code { get; set; }
 
         /// <summary>
         /// 替代策略

+ 4 - 9
MicroServices/Business/Bussiness.Model/Bang/b_order_examine_result.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_order_examine_result.cs

@@ -1,19 +1,14 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 工单齐套检查
     /// </summary>
-    [CollectionName("dopbang", "b_order_examine_result")]
+    [CollectionName("dopbase", "b_order_examine_result")]
     [Comment("工单齐套检查")]
     public class b_order_examine_result : BaseEntity
     {
@@ -28,7 +23,7 @@ namespace Business.Model.Bang
         /// </summary>
         [StringLength(50)]
         [Comment("生产工单编号")]
-        public string? order_no { get; set; }
+        public string order_no { get; set; }
 
         /// <summary>
         /// 类别:1-工单齐套检查;2-替代料齐套检查
@@ -52,7 +47,7 @@ namespace Business.Model.Bang
         /// BOM编码
         /// </summary>
         [Comment("BOM编码")]
-        public string? bom_number { get; set; }
+        public string bom_number { get; set; }
 
         /// <summary>
         /// 需要数量

+ 5 - 10
MicroServices/Business/Bussiness.Model/Bang/b_purchase.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_purchase.cs

@@ -1,19 +1,14 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 采购明细信息
     /// </summary>
-    [CollectionName("dopbang", "b_purchase")]
+    [CollectionName("dopbase", "b_purchase")]
     [Comment("采购明细信息")]
     public class b_purchase : BaseEntity
     {
@@ -28,20 +23,20 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("pr单号")]
         [StringLength(50)]
-        public string? pr_billno { get; set; }
+        public string pr_billno { get; set; }
 
         /// <summary>
         /// 供应商编码
         /// </summary
         [Comment("供应商编码")]
         [StringLength(80)]
-        public string? pr_purchasenumber { get; set; }
+        public string pr_purchasenumber { get; set; }
         /// <summary>
         /// 供应商名称
         /// </summary>
         [Comment("供应商名称")]
         [StringLength(80)]
-        public string? pr_purchasename { get; set; }
+        public string pr_purchasename { get; set; }
         /// <summary>
         /// 需求数量
         /// </summary>

+ 4 - 9
MicroServices/Business/Bussiness.Model/Bang/b_purchase_occupy.cs → MicroServices/Business/Business.Domain/StructuredDB/Bang/b_purchase_occupy.cs

@@ -1,19 +1,14 @@
 using Business.Core.Attributes;
-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.Bang
+namespace Business.Domain
 {
     /// <summary>
     /// 采购占用明细
     /// </summary>
-    [CollectionName("dopbang", "b_purchase_occupy")]
+    [CollectionName("dopbase", "b_purchase_occupy")]
     [Comment("采购占用明细")]
     public class b_purchase_occupy : BaseEntity
     {
@@ -28,13 +23,13 @@ namespace Business.Model.Bang
         /// </summary>
         [Comment("采购订单单号")]
         [StringLength(80)]
-        public string? po_billno { get; set; }
+        public string po_billno { get; set; }
         /// <summary>
         /// 类型
         /// </summary>
         [Comment("类型")]
         [StringLength(80)]
-        public string? type { get; set; }
+        public string type { get; set; }
         /// <summary>
         /// 占用量
         /// </summary>

+ 7 - 14
MicroServices/Business/Bussiness.Model/Base/BaseEntity.cs → MicroServices/Business/Business.Domain/StructuredDB/Base/BaseEntity.cs

@@ -1,18 +1,11 @@
-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 Microsoft.EntityFrameworkCore;
+using System;
 using System.ComponentModel;
-using Volo.Abp.Domain.Entities.Auditing;
+using System.ComponentModel.DataAnnotations;
+using Volo.Abp;
 using Volo.Abp.Domain.Entities;
-using Business.Core.Utilities;
-using Microsoft.EntityFrameworkCore;
 
-namespace Business.Model
+namespace Business.Domain
 {
     public abstract class BaseEntity : Entity<long>, ISoftDelete
     {
@@ -42,7 +35,7 @@ namespace Business.Model
         /// </summary>
         [StringLength(50)]
         [Comment("创建人名称")]
-        public virtual string? create_by_name { get; set; }
+        public virtual string create_by_name { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -61,7 +54,7 @@ namespace Business.Model
         /// </summary>
         [StringLength(50)]
         [Comment("修改人名称")]
-        public virtual string? update_by_name { get; set; }
+        public virtual string update_by_name { get; set; }
 
         /// <summary>
         /// 修改时间

+ 27 - 27
MicroServices/Business/Bussiness.Model/Ext/ext_xref.cs → MicroServices/Business/Business.Domain/StructuredDB/Ext/ext_xref.cs

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore;
 using System.ComponentModel.DataAnnotations;
 using Volo.Abp.Domain.Entities;
 
-namespace Business.Model.Ext
+namespace Business.Domain
 {
     /// <summary>
     /// ext_xref
@@ -16,7 +16,7 @@ namespace Business.Model.Ext
         {
         }
 
-        public ext_xref(long Id):base(Id)
+        public ext_xref(long Id) : base(Id)
         {
         }
         /// <summary>
@@ -24,7 +24,7 @@ namespace Business.Model.Ext
         /// </summary>
         [StringLength(32)]
         [Comment("DOP表名")]
-        public string? dop_table_name { get; set; }
+        public string dop_table_name { get; set; }
         /// <summary>
         /// DOP表ID
         /// </summary>
@@ -36,65 +36,65 @@ namespace Business.Model.Ext
         /// </summary>
         [StringLength(32)]
         [Comment("表列1名")]
-        public string? dop_col1_name { get; set; }
+        public string dop_col1_name { get; set; }
         /// <summary>
         /// 表列1值
         /// </summary>
         [StringLength(80)]
         [Comment("表列1值")]
-        public string? dop_col1_value { get; set; }
+        public string dop_col1_value { get; set; }
 
         /// <summary>
         /// 表列2名
         /// </summary>
         [StringLength(32)]
         [Comment("表列2名")]
-        public string? dop_col2_name { get; set; }
+        public string dop_col2_name { get; set; }
         /// <summary>
         /// 表列2值
         /// </summary>
         [StringLength(80)]
         [Comment("表列2值")]
-        public string? dop_col2_value { get; set; }
+        public string dop_col2_value { get; set; }
 
         /// <summary>
         /// 表列3名
         /// </summary>
         [StringLength(32)]
         [Comment("表列3名")]
-        public string? dop_col3_name { get; set; }
+        public string dop_col3_name { get; set; }
         /// <summary>
         /// 表列3值
         /// </summary>
         [StringLength(80)]
         [Comment("表列3值")]
-        public string? dop_col3_value { get; set; }
+        public string dop_col3_value { get; set; }
 
         /// <summary>
         /// 表列4名
         /// </summary>
         [StringLength(32)]
         [Comment("表列4名")]
-        public string? dop_col4_name { get; set; }
+        public string dop_col4_name { get; set; }
         /// <summary>
         /// 表列4值
         /// </summary>
         [StringLength(80)]
         [Comment("表列4值")]
-        public string? dop_col4_value { get; set; }
+        public string dop_col4_value { get; set; }
 
         /// <summary>
         /// 表列5名
         /// </summary>
         [StringLength(32)]
         [Comment("表列5名")]
-        public string? dop_col5_name { get; set; }
+        public string dop_col5_name { get; set; }
         /// <summary>
         /// 表列5值
         /// </summary>
         [StringLength(80)]
         [Comment("表列5值")]
-        public string? dop_col5_value { get; set; }
+        public string dop_col5_value { get; set; }
 
 
         /// <summary>
@@ -102,14 +102,14 @@ namespace Business.Model.Ext
         /// </summary>
         [StringLength(32)]
         [Comment("其它系统名")]
-        public string? other_sys_name { get; set; }
+        public string other_sys_name { get; set; }
 
         /// <summary>
         /// 其它表名
         /// </summary>
         [StringLength(32)]
         [Comment("其它表名")]
-        public string? other_table_name { get; set; }
+        public string other_table_name { get; set; }
 
         /// <summary>
         /// 它表ID
@@ -123,39 +123,39 @@ namespace Business.Model.Ext
         /// </summary>
         [StringLength(32)]
         [Comment("它列1名")]
-        public string? other_col1_name { get; set; }
+        public string other_col1_name { get; set; }
         /// <summary>
         /// 它列1名
         /// </summary>
         [StringLength(80)]
         [Comment("它列1名")]
-        public string? other_col1_value { get; set; }
+        public string other_col1_value { get; set; }
 
         /// <summary>
         /// 它列2名
         /// </summary>
         [StringLength(32)]
         [Comment("它列2名")]
-        public string? other_col2_name { get; set; }
+        public string other_col2_name { get; set; }
         /// <summary>
         /// 它列2名
         /// </summary>
         [StringLength(80)]
         [Comment("它列2名")]
-        public string? other_col2_value { get; set; }
+        public string other_col2_value { get; set; }
 
         /// <summary>
         /// 它列3名
         /// </summary>
         [StringLength(32)]
         [Comment("它列3名")]
-        public string? other_col3_name { get; set; }
+        public string other_col3_name { get; set; }
         /// <summary>
         /// 它列3名
         /// </summary>
         [StringLength(80)]
         [Comment("它列3名")]
-        public string? other_col3_value { get; set; }
+        public string other_col3_value { get; set; }
 
 
         /// <summary>
@@ -163,13 +163,13 @@ namespace Business.Model.Ext
         /// </summary>
         [StringLength(32)]
         [Comment("它列4名")]
-        public string? other_col4_name { get; set; }
+        public string other_col4_name { get; set; }
         /// <summary>
         /// 它列4名
         /// </summary>
         [StringLength(80)]
         [Comment("它列4名")]
-        public string? other_col4_value { get; set; }
+        public string other_col4_value { get; set; }
 
 
         /// <summary>
@@ -177,26 +177,26 @@ namespace Business.Model.Ext
         /// </summary>
         [StringLength(32)]
         [Comment("它列5名")]
-        public string? other_col5_name { get; set; }
+        public string other_col5_name { get; set; }
         /// <summary>
         /// 它列5名
         /// </summary>
         [StringLength(80)]
         [Comment("它列5名")]
-        public string? other_col5_value { get; set; }
+        public string other_col5_value { get; set; }
 
         /// <summary>
         /// 备注信息
         /// </summary>
         [Comment("备注信息")]
         [StringLength(255)]
-        public string? note { get; set; }
+        public string note { get; set; }
 
         /// <summary>
         /// DOP系统名
         /// </summary>
         [Comment("DOP系统名")]
         [StringLength(32)]
-        public string? dop_sys_name { get; set; }
+        public string dop_sys_name { get; set; }
     }
 }

+ 25 - 25
MicroServices/Business/Bussiness.Model/Ext/in_kd_bom.cs → MicroServices/Business/Business.Domain/StructuredDB/Ext/in_kd_bom.cs

@@ -4,7 +4,7 @@ using Microsoft.EntityFrameworkCore;
 using System.ComponentModel.DataAnnotations;
 using Volo.Abp.Domain.Entities;
 
-namespace Business.Model.Ext
+namespace Business.Domain
 {
     /// <summary>
     /// 物料清单
@@ -28,55 +28,55 @@ namespace Business.Model.Ext
         /// </summary>
         [StringLength(80)]
         [Comment("使用组织")]
-        public string? FUseOrgId_Name { get; set; }
+        public string FUseOrgId_Name { get; set; }
 
         /// <summary>
         /// BOM版本
         /// </summary>
         [StringLength(80)]
         [Comment("BOM版本")]
-        public string? FNumber { get; set; }
+        public string FNumber { get; set; }
         /// <summary>
         /// BOM简称
         /// </summary>
         [StringLength(10)]
         [Comment("BOM简称")]
-        public string? FName_2052 { get; set; }
+        public string FName_2052 { get; set; }
 
         /// <summary>
         /// BOM分类
         /// </summary>
         [StringLength(80)]
         [Comment("BOM分类")]
-        public string? FBOMCATEGORY { get; set; }
+        public string FBOMCATEGORY { get; set; }
 
         /// <summary>
         /// 父项物料编码
         /// </summary>
         [StringLength(80)]
         [Comment("父项物料编码")]
-        public string? FMATERIALID_Name { get; set; }
+        public string FMATERIALID_Name { get; set; }
 
         /// <summary>
         /// 物料名称
         /// </summary>
         [StringLength(80)]
         [Comment("物料名称")]
-        public string? FITEMNAME { get; set; }
+        public string FITEMNAME { get; set; }
 
         /// <summary>
         /// 规格型号
         /// </summary>
         [StringLength(80)]
         [Comment("规格型号")]
-        public string? FITEMMODEL { get; set; }
+        public string FITEMMODEL { get; set; }
 
         /// <summary>
         /// 数据状态
         /// </summary>
         [StringLength(10)]
         [Comment("数据状态")]
-        public string? FITEMPPROPERTY { get; set; }
+        public string FITEMPPROPERTY { get; set; }
 
         /// <summary>
         /// 项次
@@ -96,42 +96,42 @@ namespace Business.Model.Ext
         /// </summary>
         [Comment("80")]
         [StringLength(255)]
-        public string? FSubstitutionId_Name { get; set; }
+        public string FSubstitutionId_Name { get; set; }
 
         /// <summary>
         /// 子项物料编码
         /// </summary>
         [Comment("子项物料编码")]
         [StringLength(80)]
-        public string? FMATERIALIDCHILD_Name { get; set; }
+        public string FMATERIALIDCHILD_Name { get; set; }
 
         /// <summary>
         /// 子项物料名称
         /// </summary>
         [StringLength(80)]
         [Comment("子项物料名称")]
-        public string? FCHILDITEMNAME { get; set; }
+        public string FCHILDITEMNAME { get; set; }
 
         /// <summary>
         /// 子项规格型号
         /// </summary>
         [Comment("子项规格型号")]
         [StringLength(80)]
-        public string? FCHILDITEMMODEL { get; set; }
+        public string FCHILDITEMMODEL { get; set; }
 
         /// <summary>
         /// 供应类型
         /// </summary>
         [Comment("供应类型")]
         [StringLength(1)]
-        public string? FSupplyType { get; set; }
+        public string FSupplyType { get; set; }
 
         /// <summary>
         /// 子项单位
         /// </summary>
         [Comment("子项单位")]
         [StringLength(10)]
-        public string? FCHILDUNITID_Name { get; set; }
+        public string FCHILDUNITID_Name { get; set; }
 
 
         /// <summary>
@@ -139,7 +139,7 @@ namespace Business.Model.Ext
         /// </summary>
         [StringLength(80)]
         [Comment("供应组织")]
-        public string? FChildSupplyOrgId_Name { get; set; }
+        public string FChildSupplyOrgId_Name { get; set; }
 
         /// <summary>
         /// 用量:分子
@@ -159,14 +159,14 @@ namespace Business.Model.Ext
         /// </summary>
         [Comment("作业")]
         [StringLength(80)]
-        public string? FPROCESSID_Name { get; set; }
+        public string FPROCESSID_Name { get; set; }
 
         /// <summary>
         /// 替代策略
         /// </summary>
         [StringLength(80)]
         [Comment("替代策略")]
-        public string? FReplacePolicy { get; set; }
+        public string FReplacePolicy { get; set; }
 
 
         /// <summary>
@@ -174,33 +174,33 @@ namespace Business.Model.Ext
         /// </summary>
         [Comment("替代方式")]
         [StringLength(80)]
-        public string? FReplaceType { get; set; }
+        public string FReplaceType { get; set; }
 
         /// <summary>
         /// 替代主料
         /// </summary>
         [Comment("替代主料")]
         [StringLength(1)]
-        public string? FIskeyItem { get; set; }
+        public string FIskeyItem { get; set; }
 
         /// <summary>
         /// 替代方案名称
         /// </summary>
         [Comment("替代方案名称")]
         [StringLength(80)]
-        public string? FSubstitutionName { get; set; }
+        public string FSubstitutionName { get; set; }
 
         /// <summary>
         /// 子项物料描述
         /// </summary>
-         [StringLength(255)]
+        [StringLength(255)]
         [Comment("子项物料描述")]
-        public string? F_ZXWLMS { get; set; }
+        public string F_ZXWLMS { get; set; }
         /// <summary>
         /// 子项物料品牌
         /// </summary>
         [Comment("子项物料品牌")]
-         [StringLength(255)]
-        public string? F_ZXWLPP { get; set; }
+        [StringLength(255)]
+        public string F_ZXWLPP { get; set; }
     }
 }

File diff suppressed because it is too large
+ 153 - 152
MicroServices/Business/Business.Domain/StructuredDB/Ext/in_kd_material.cs


+ 14 - 14
MicroServices/Business/Bussiness.Model/MES/IC/ConsigneeAddressMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ConsigneeAddressMaster.cs

@@ -5,7 +5,7 @@ using System.ComponentModel.DataAnnotations;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 供应商客户地址表
@@ -24,78 +24,78 @@ namespace Business.Model.MES.IC
         /// 地址编码
         /// </summary>
         [Comment("地址编码")]
-        public string? Address { get; set; }
+        public string Address { get; set; }
 
         /// <summary>
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 类型:区分客户(Cust)和供应商(Supp)
         /// </summary>
         [Comment("类型:区分客户(Cust)和供应商(Supp)")]
-        public string? Typed { get; set; }
+        public string Typed { get; set; }
 
         /// <summary>
         /// 名称
         /// </summary>
         [Comment("名称")]
-        public string? Name { get; set; }
+        public string Name { get; set; }
 
         /// <summary>
         /// 联系电话
         /// </summary>
         [Comment("联系电话")]
-        public string? Telephone { get; set; }
+        public string Telephone { get; set; }
 
         /// <summary>
         /// 邮箱
         /// </summary>
         [Comment("邮箱")]
-        public string? AttentionEmail { get; set; }
+        public string AttentionEmail { get; set; }
 
         /// <summary>
         /// 邮政编码
         /// </summary>
         [Comment("邮政编码")]
-        public string? Post { get; set; }
+        public string Post { get; set; }
 
         /// <summary>
         /// 国家
         /// </summary>
         [Comment("国家")]
-        public string? Country { get; set; }
+        public string Country { get; set; }
 
         /// <summary>
         /// 城市
         /// </summary>
         [Comment("城市")]
-        public string? City { get; set; }
+        public string City { get; set; }
 
         /// <summary>
         /// 区
         /// </summary>
         [Comment("区")]
-        public string? State { get; set; }
+        public string State { get; set; }
 
         /// <summary>
         /// 地址
         /// </summary>
         [Comment("地址")]
-        public string? Address1 { get; set; }
+        public string Address1 { get; set; }
 
         /// <summary>
         /// 联系人
         /// </summary>
         [Comment("联系人")]
-        public string? Attention1 { get; set; }
+        public string Attention1 { get; set; }
 
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
     }
 }

+ 9 - 10
MicroServices/Business/Bussiness.Model/MES/IC/CustMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/CustMaster.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 客户主表
@@ -26,42 +25,42 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 客户代码
         /// </summary>
         [Comment("客户代码")]
-        public string? Cust { get; set; }
+        public string Cust { get; set; }
 
         /// <summary>
         /// 简称
         /// </summary>
         [Comment("简称")]
-        public string? SortName { get; set; }
+        public string SortName { get; set; }
 
         /// <summary>
         /// 币别
         /// </summary>
         [Comment("币别")]
-        public string? Curr { get; set; }
+        public string Curr { get; set; }
 
         /// <summary>
         /// 销售人员
         /// </summary>
         [Comment("销售人员")]
-        public string? Salesperson1 { get; set; }
+        public string Salesperson1 { get; set; }
 
         /// <summary>
         /// 发货提前期
         /// </summary>
         [Comment("发货提前期")]
-        public string? CustShippingLT { get; set; }
+        public string CustShippingLT { get; set; }
 
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
     }
 }

+ 11 - 12
MicroServices/Business/Bussiness.Model/MES/IC/GeneralizedCodeMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/GeneralizedCodeMaster.cs

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

+ 6 - 7
MicroServices/Business/Bussiness.Model/MES/IC/InvMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/InvMaster.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 库存主数据表
@@ -26,19 +25,19 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 库位
         /// </summary>
         [Comment("库位")]
-        public string? Location { get; set; }
+        public string Location { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
-        public string? ItemNum { get; set; }
+        public string ItemNum { get; set; }
 
         /// <summary>
         /// 库存数量
@@ -50,6 +49,6 @@ namespace Business.Model.MES.IC
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
     }
 }

+ 17 - 18
MicroServices/Business/Bussiness.Model/MES/IC/ItemMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ItemMaster.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料主表
@@ -26,19 +25,19 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
-        public string? ItemNum { get; set; }
+        public string ItemNum { get; set; }
 
         /// <summary>
         /// 单位
         /// </summary>
         [Comment("单位")]
-        public string? UM { get; set; }
+        public string UM { get; set; }
 
         /// <summary>
         /// 安全库存
@@ -50,26 +49,26 @@ namespace Business.Model.MES.IC
         /// 状态:C为不可用状态
         /// </summary>
         [Comment("状态")]
-        public string? Status { get; set; }
+        public string Status { get; set; }
 
         /// <summary>
         /// 状态:C为不可用状态
         /// </summary>
         [Comment("状态")]
-        public string? Location { get; set; }
+        public string Location { get; set; }
 
-        public string? Descr { get; set; }
-        public string? Descr1 { get; set; }
-        public string? PurMfg { get; set; }
-        public Boolean IsMainMas { get; set; }
+        public string Descr { get; set; }
+        public string Descr1 { get; set; }
+        public string PurMfg { get; set; }
+        public bool IsMainMas { get; set; }
 
         public decimal? NetWeight { get; set; }
-        public string? NetWeightUM { get; set; }
+        public string NetWeightUM { get; set; }
         public decimal? Length { get; set; }
         public decimal? Width { get; set; }
         public decimal? Height { get; set; }
-        public Boolean LotSerialControl { get; set; }
-        public string? DefaultShelf { get; set; }
+        public bool LotSerialControl { get; set; }
+        public string DefaultShelf { get; set; }
         public decimal? MaxOrd { get; set; }
         public decimal? MinOrd { get; set; }
         public decimal MFGMTTR { get; set; }
@@ -77,13 +76,13 @@ namespace Business.Model.MES.IC
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
 
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否整包发料")]
-        public Boolean TraceDetail { get; set; }
-        
+        public bool TraceDetail { get; set; }
+
     }
 }

+ 5 - 6
MicroServices/Business/Bussiness.Model/MES/IC/ItemPackMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ItemPackMaster.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料包装表
@@ -26,13 +25,13 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
-        public string? ItemNum { get; set; }
+        public string ItemNum { get; set; }
 
         /// <summary>
         /// 包装数量
@@ -44,6 +43,6 @@ namespace Business.Model.MES.IC
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
     }
 }

+ 6 - 7
MicroServices/Business/Bussiness.Model/MES/IC/LocationDetail.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/LocationDetail.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 库存明细表
@@ -26,19 +25,19 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 库位
         /// </summary>
         [Comment("库位")]
-        public string? Location { get; set; }
+        public string Location { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
-        public string? ItemNum { get; set; }
+        public string ItemNum { get; set; }
 
         /// <summary>
         /// 库存数量
@@ -50,6 +49,6 @@ namespace Business.Model.MES.IC
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
     }
 }

+ 13 - 14
MicroServices/Business/Bussiness.Model/MES/IC/NbrDetail.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/NbrDetail.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料单据明细表
@@ -26,25 +25,25 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 类型
         /// </summary>
         [Comment("类型")]
-        public string? Type { get; set; }
+        public string Type { get; set; }
 
         /// <summary>
         /// 单据编号
         /// </summary>
         [Comment("单据编号")]
-        public string? Nbr { get; set; }
+        public string Nbr { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
-        public string? ItemNum { get; set; }
+        public string ItemNum { get; set; }
 
         /// <summary>
         /// 转出数量
@@ -62,18 +61,18 @@ namespace Business.Model.MES.IC
         /// 工单
         /// </summary>
         [Comment("工单")]
-        public string? WorkOrd { get; set; }
+        public string WorkOrd { get; set; }
 
         /// <summary>
         /// 原始库位
         /// </summary>
         [Comment("原始库位")]
-        public string? LocationFrom { get; set; }
+        public string LocationFrom { get; set; }
         /// <summary>
         /// 目标库位
         /// </summary>
         [Comment("目标库位")]
-        public string? LocationTo { get; set; }
+        public string LocationTo { get; set; }
 
         /// <summary>
         /// 订单数量
@@ -102,13 +101,13 @@ namespace Business.Model.MES.IC
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
 
         /// <summary>
         /// 单位
         /// </summary>
         [Comment("单位")]
-        public string? UM { get; set; }
+        public string UM { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -120,7 +119,7 @@ namespace Business.Model.MES.IC
         /// 创建人
         /// </summary>
         [Comment("创建人")]
-        public string? CreateUser { get; set; }
+        public string CreateUser { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -132,7 +131,7 @@ namespace Business.Model.MES.IC
         /// 修改人
         /// </summary>
         [Comment("修改人")]
-        public string? UpdateUser { get; set; }
+        public string UpdateUser { get; set; }
 
     }
 }

+ 16 - 17
MicroServices/Business/Bussiness.Model/MES/IC/NbrMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/NbrMaster.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 领料单据表
@@ -26,25 +25,25 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 类型
         /// </summary>
         [Comment("类型")]
-        public string? Type { get; set; }
+        public string Type { get; set; }
 
         /// <summary>
         /// 单据编号
         /// </summary>
         [Comment("单据编号")]
-        public string? Nbr { get; set; }
+        public string Nbr { get; set; }
 
         /// <summary>
         /// 备注
         /// </summary>
         [Comment("备注")]
-        public string? Remark { get; set; }
+        public string Remark { get; set; }
 
         /// <summary>
         /// 日期
@@ -56,13 +55,13 @@ namespace Business.Model.MES.IC
         /// 状态:C为不可用状态
         /// </summary>
         [Comment("状态")]
-        public string? Status { get; set; }
+        public string Status { get; set; }
 
         /// <summary>
         /// 工单
         /// </summary>
         [Comment("工单")]
-        public string? WorkOrd { get; set; }
+        public string WorkOrd { get; set; }
 
         /// <summary>
         /// 订单数量
@@ -74,38 +73,38 @@ namespace Business.Model.MES.IC
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
 
         /// <summary>
         /// 产线
         /// </summary>
         [Comment("产线")]
-        public string? ProdLine { get; set; }
+        public string ProdLine { get; set; }
 
         /// <summary>
         /// 是否编辑
         /// </summary>
         [Comment("是否编辑")]
-        public Boolean IsChanged { get; set; }
+        public bool IsChanged { get; set; }
 
         /// <summary>
         /// 部门
         /// </summary>
         [Comment("部门")]
-        public string? Department { get; set; }
+        public string Department { get; set; }
 
 
         /// <summary>
         /// 领料人姓名
         /// </summary>
         [Comment("领料人姓名")]
-        public string? Name { get; set; }
+        public string Name { get; set; }
 
         /// <summary>
         /// 备料人
         /// </summary>
         [Comment("备料人")]
-        public string? User1 { get; set; }
+        public string User1 { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -117,7 +116,7 @@ namespace Business.Model.MES.IC
         /// 创建人
         /// </summary>
         [Comment("创建人")]
-        public string? CreateUser { get; set; }
+        public string CreateUser { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -129,6 +128,6 @@ namespace Business.Model.MES.IC
         /// 修改人
         /// </summary>
         [Comment("修改人")]
-        public string? UpdateUser { get; set; }
+        public string UpdateUser { get; set; }
     }
 }

+ 6 - 6
MicroServices/Business/Bussiness.Model/MES/IC/ProductStructureMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ProductStructureMaster.cs

@@ -6,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 标准BOM表
@@ -24,7 +24,7 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 父零件
@@ -42,7 +42,7 @@ namespace Business.Model.MES.IC
         /// 结构类型:X-虚拟件,需要通过ComponentItem查询其子级
         /// </summary>
         [Comment("结构类型")]
-        public string? StructureType { get; set; }
+        public string StructureType { get; set; }
 
         /// <summary>
         /// 工序
@@ -80,18 +80,18 @@ namespace Business.Model.MES.IC
         /// 版本
         /// </summary>
         [Comment("版本")]
-        public string? Refs { get; set; }
+        public string Refs { get; set; }
 
         /// <summary>
         /// 单位
         /// </summary>
         [Comment("单位")]
-        public string? UM { get; set; }
+        public string UM { get; set; }
 
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
     }
 }

+ 12 - 13
MicroServices/Business/Bussiness.Model/MES/IC/PurOrdDetail.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/PurOrdDetail.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 采购订单明细表
@@ -23,25 +22,25 @@ namespace Business.Model.MES.IC
         public int RecID { get; set; }
 
         public int PurOrdRecID { get; set; }
-        
+
 
         /// <summary>
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 类型
         /// </summary>
         [Comment("类型")]
-        public string? Potype { get; set; }
+        public string Potype { get; set; }
 
         /// <summary>
         /// PO单号
         /// </summary>
         [Comment("PO单号")]
-        public string? PurOrd { get; set; }
+        public string PurOrd { get; set; }
 
 
         /// <summary>
@@ -56,7 +55,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(100)]
         [Comment("物料编码")]
-        public string? ItemNum { get; set; }
+        public string ItemNum { get; set; }
 
         /// <summary>
         /// 订单数量
@@ -85,7 +84,7 @@ namespace Business.Model.MES.IC
         [Precision(23, 10)]
         [Comment("不含税单价")]
         public decimal? StdCost { get; set; }
-        
+
 
         /// <summary>
         /// 税率
@@ -107,13 +106,13 @@ namespace Business.Model.MES.IC
         /// 单位
         /// </summary>
         [Comment("单位")]
-        public string? UM { get; set; }
+        public string UM { get; set; }
 
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -125,7 +124,7 @@ namespace Business.Model.MES.IC
         /// 创建人
         /// </summary>
         [Comment("创建人")]
-        public string? CreateUser { get; set; }
+        public string CreateUser { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -137,6 +136,6 @@ namespace Business.Model.MES.IC
         /// 修改人
         /// </summary>
         [Comment("修改人")]
-        public string? UpdateUser { get; set; }
+        public string UpdateUser { get; set; }
     }
 }

+ 14 - 15
MicroServices/Business/Bussiness.Model/MES/IC/PurOrdMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/PurOrdMaster.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 采购订单主表
@@ -26,25 +25,25 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 类型
         /// </summary>
         [Comment("类型")]
-        public string? Potype { get; set; }
+        public string Potype { get; set; }
 
         /// <summary>
         /// PO单号
         /// </summary>
         [Comment("PO单号")]
-        public string? PurOrd { get; set; }
+        public string PurOrd { get; set; }
 
         /// <summary>
         /// 采购员工号
         /// </summary>
         [Comment("采购员工号")]
-        public string? Buyer { get; set; }
+        public string Buyer { get; set; }
 
 
         /// <summary>
@@ -58,14 +57,14 @@ namespace Business.Model.MES.IC
         /// </summary>
         [Required]
         [Comment("币别")]
-        public string? Curr { get; set; }
+        public string Curr { get; set; }
 
         /// <summary>
         /// 供应商编号
         /// </summary>
         [StringLength(80)]
         [Comment("供应商编号")]
-        public string? Supp { get; set; }
+        public string Supp { get; set; }
 
         /// <summary>
         /// 税率
@@ -78,28 +77,28 @@ namespace Business.Model.MES.IC
         /// 部门
         /// </summary>
         [Comment("部门")]
-        public string? Department { get; set; }
+        public string Department { get; set; }
 
         /// <summary>
         /// 供应商联系人电话
         /// </summary>
         [StringLength(80)]
         [Comment("供应商联系人电话")]
-        public string? CustPhone { get; set; }
+        public string CustPhone { get; set; }
 
         /// <summary>
         /// 供应地址
         /// </summary>
         [StringLength(200)]
         [Comment("供应地址")]
-        public string? CustAddress { get; set; }
+        public string CustAddress { get; set; }
 
 
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -111,7 +110,7 @@ namespace Business.Model.MES.IC
         /// 创建人
         /// </summary>
         [Comment("创建人")]
-        public string? CreateUser { get; set; }
+        public string CreateUser { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -123,6 +122,6 @@ namespace Business.Model.MES.IC
         /// 修改人
         /// </summary>
         [Comment("修改人")]
-        public string? UpdateUser { get; set; }
+        public string UpdateUser { get; set; }
     }
 }

+ 9 - 10
MicroServices/Business/Bussiness.Model/MES/IC/SuppMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/SuppMaster.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 供应商主表
@@ -26,42 +25,42 @@ namespace Business.Model.MES.IC
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 供应商代码
         /// </summary>
         [Comment("供应商代码")]
-        public string? Supp { get; set; }
+        public string Supp { get; set; }
 
         /// <summary>
         /// 简称
         /// </summary>
         [Comment("简称")]
-        public string? SortName { get; set; }
+        public string SortName { get; set; }
 
         /// <summary>
         /// 币别
         /// </summary>
         [Comment("币别")]
-        public string? Curr { get; set; }
+        public string Curr { get; set; }
 
         /// <summary>
         /// 类型
         /// </summary>
         [Comment("类型")]
-        public string? Type { get; set; }
+        public string Type { get; set; }
 
         /// <summary>
         /// 支付方式
         /// </summary>
         [Comment("支付方式")]
-        public string? CrTerms { get; set; }
+        public string CrTerms { get; set; }
 
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
     }
 }

+ 14 - 13
MicroServices/Business/Bussiness.Model/MES/IC/ic_bom.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_bom.cs

@@ -1,15 +1,16 @@
 using Business.Core.Attributes;
 using Microsoft.EntityFrameworkCore;
+using System;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料BOM
     /// </summary>
     [CollectionName("dopbase", "ic_bom")]
     [Comment("物料BOM")]
-    [Index(nameof(bom_number), nameof(item_number), nameof(version), nameof(tenant_id),nameof(factory_id),IsUnique =true)]
+    [Index(nameof(bom_number), nameof(item_number), nameof(version), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
     public class ic_bom : BaseEntity
     {
         public ic_bom(long Id) : base(Id)
@@ -20,7 +21,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(20)]
         [Comment("bom单编号")]
-        public string? bom_number { get; set; }
+        public string bom_number { get; set; }
         /// <summary>
         /// 物料id
         /// </summary>
@@ -32,13 +33,13 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("物料代码")]
-        public string? item_number { get; set; }
+        public string item_number { get; set; }
         /// <summary>
         /// 物料名称
         /// </summary>
         [StringLength(200)]
         [Comment("物料名称")]
-        public string? item_name { get; set; }
+        public string item_name { get; set; }
         /// <summary>
         /// 序号
         /// </summary>
@@ -77,37 +78,37 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("生产负责人")]
-        public string? product_principal { get; set; }
+        public string product_principal { get; set; }
         /// <summary>
         /// 产品设计员
         /// </summary>
         [StringLength(80)]
         [Comment("产品设计员")]
-        public string? product_designer { get; set; }
+        public string product_designer { get; set; }
         /// <summary>
         /// 版本
         /// </summary>
         [StringLength(80)]
         [Comment("版本")]
-        public string? version { get; set; }
+        public string version { get; set; }
         /// <summary>
         /// 图表编号
         /// </summary>
         [StringLength(80)]
         [Comment("图表编号")]
-        public string? chartnumber { get; set; }
+        public string chartnumber { get; set; }
         /// <summary>
         /// 图片
         /// </summary>
         [StringLength(80)]
         [Comment("图片")]
-        public string? biller { get; set; }
+        public string biller { get; set; }
         /// <summary>
         /// 检验人
         /// </summary>
         [StringLength(80)]
         [Comment("检验人")]
-        public string? checker { get; set; }
+        public string checker { get; set; }
         /// <summary>
         /// 检验时间
         /// </summary>
@@ -118,7 +119,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(20)]
         [Comment("bom创建人")]
-        public string? user { get; set; }
+        public string user { get; set; }
         /// <summary>
         /// bom创建时间
         /// </summary>
@@ -129,6 +130,6 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(20)]
         [Comment("单位")]
-        public string? unit { get; set; }
+        public string unit { get; set; }
     }
 }

+ 11 - 10
MicroServices/Business/Bussiness.Model/MES/IC/ic_bom_child.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_bom_child.cs

@@ -1,15 +1,16 @@
 using Business.Core.Attributes;
 using Microsoft.EntityFrameworkCore;
+using System;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料BOM明细
     /// </summary>
     [CollectionName("dopbase", "ic_bom_child")]
     [Comment("物料BOM明细")]
-    [Index(nameof(bom_number),nameof(item_number), nameof(version), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
+    [Index(nameof(bom_number), nameof(item_number), nameof(version), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
     public class ic_bom_child : BaseEntity
     {
         public ic_bom_child(long Id) : base(Id)
@@ -26,7 +27,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(20)]
         [Comment("bom单编号")]
-        public string? bom_number { get; set; }
+        public string bom_number { get; set; }
         /// <summary>
         /// 是否是BOM
         /// </summary>
@@ -43,19 +44,19 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("物料代码")]
-        public string? item_number { get; set; }
+        public string item_number { get; set; }
         /// <summary>
         /// 物料名称
         /// </summary>
         [StringLength(200)]
         [Comment("物料名称")]
-        public string? item_name { get; set; }
+        public string item_name { get; set; }
         /// <summary>
         /// 单位
         /// </summary>
         [StringLength(20)]
         [Comment("单位")]
-        public string? unit { get; set; }
+        public string unit { get; set; }
         /// <summary>
         /// 用量
         /// </summary>
@@ -88,7 +89,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(20)]
         [Comment("群组代码")]
-        public string? substitute_code { get; set; }
+        public string substitute_code { get; set; }
         /// <summary>
         /// 是否群组替代
         /// </summary>
@@ -99,13 +100,13 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(2000)]
         [Comment("组合模式")]
-        public string? icitem_ids { get; set; }
+        public string icitem_ids { get; set; }
         /// <summary>
         /// 备注
         /// </summary>
         [StringLength(1000)]
         [Comment("备注")]
-        public string? note { get; set; }
+        public string note { get; set; }
         /// <summary>
         /// 顺序号
         /// </summary>
@@ -152,7 +153,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("版本")]
-        public string? version { get; set; }
+        public string version { get; set; }
 
         //[ForeignKey("Id")]
         //public virtual ic_bom Bom { get; set; }

+ 21 - 21
MicroServices/Business/Bussiness.Model/MES/IC/ic_item.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_item.cs

@@ -3,14 +3,14 @@ using Microsoft.EntityFrameworkCore;
 using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料详情
     /// </summary>
     [CollectionName("dopbase", "ic_item")]
     [Comment("物料详情")]
-    [Index(nameof(number), nameof(fversion),nameof(tenant_id), nameof(factory_id), IsUnique = true)]
+    [Index(nameof(number), nameof(fversion), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
     public class ic_item : BaseEntity
     {
         public ic_item(long Id) : base(Id)
@@ -21,55 +21,55 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("物料编码")]
-        public string? number { get; set; }
+        public string number { get; set; }
         /// <summary>
         /// 物料名称
         /// </summary>
         [StringLength(80)]
         [Comment("物料名称")]
-        public string? name { get; set; }
+        public string name { get; set; }
         /// <summary>
         /// 规格型号
         /// </summary>
         [StringLength(200)]
         [Comment("规格型号")]
-        public string? model { get; set; }
+        public string model { get; set; }
         /// <summary>
         /// 全名
         /// </summary>
         [StringLength(255)]
         [Comment("全名")]
-        public string? full_name { get; set; }
+        public string full_name { get; set; }
         /// <summary>
         /// fms旧料号
         /// </summary>
         [StringLength(80)]
         [Comment("fms旧料号")]
-        public string? fms_number { get; set; }
+        public string fms_number { get; set; }
         /// <summary>
         /// erp旧料号
         /// </summary>
         [StringLength(80)]
         [Comment("erp旧料号")]
-        public string? erp_oldnumber { get; set; }
+        public string erp_oldnumber { get; set; }
         /// <summary>
         /// 图号
         /// </summary>
         [StringLength(80)]
         [Comment("图号")]
-        public string? chart_number { get; set; }
+        public string chart_number { get; set; }
         /// <summary>
         /// 版本号
         /// </summary>
         [StringLength(80)]
         [Comment("版本号")]
-        public string? fversion { get; set; }
+        public string fversion { get; set; }
         /// <summary>
         /// 盒贴规格
         /// </summary>
         [StringLength(200)]
         [Comment("盒贴规格")]
-        public string? box_model { get; set; }
+        public string box_model { get; set; }
         /// <summary>
         /// 物料属性
         /// </summary>
@@ -80,13 +80,13 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("物料属性")]
-        public string? erp_cls_name { get; set; }
+        public string erp_cls_name { get; set; }
         /// <summary>
         /// 单位
         /// </summary>
         [StringLength(80)]
         [Comment("单位")]
-        public string? unit { get; set; }
+        public string unit { get; set; }
         /// <summary>
         /// 物料等级
         /// </summary>
@@ -110,7 +110,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(200)]
         [Comment("来源")]
-        public string? source { get; set; }
+        public string source { get; set; }
         /// <summary>
         /// 是否为设备
         /// </summary>
@@ -145,7 +145,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("重量单位")]
-        public string? maund { get; set; }
+        public string maund { get; set; }
         /// <summary>
         /// 长度
         /// </summary>
@@ -157,7 +157,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("长度单位")]
-        public string? cubic_measure { get; set; }
+        public string cubic_measure { get; set; }
         /// <summary>
         /// 宽度
         /// </summary>
@@ -212,7 +212,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("图片")]
-        public string? photo { get; set; }
+        public string photo { get; set; }
         /// <summary>
         /// 领料类型
         /// </summary>
@@ -247,7 +247,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [Comment("最大生产批量")]
         [Precision(23, 10)]
-        public decimal? maq{ get; set; }
+        public decimal? maq { get; set; }
 
         /// <summary>
         /// 是否备料前预处理
@@ -287,13 +287,13 @@ namespace Business.Model.MES.IC
         /// FMR分类:F-F类,M-M类,R-R类
         /// </summary>
         [Comment("FMR分类")]
-        public string? fmr { get; set; }
+        public string fmr { get; set; }
 
         /// <summary>
         /// ABC分类:A-A类,B-B类,C-C类
         /// </summary>
         [Comment("ABC分类")]
-        public string? abc { get; set; }
+        public string abc { get; set; }
 
 
         //ic_plan
@@ -462,7 +462,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("产品线")]
-        public string? product_line { get; set; }
+        public string product_line { get; set; }
         /// <summary>
         /// 领料类型
         /// </summary>

+ 4 - 4
MicroServices/Business/Bussiness.Model/MES/IC/ic_item_stock.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_item_stock.cs

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore;
 using System.ComponentModel.DataAnnotations;
 using System.ComponentModel.DataAnnotations.Schema;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料库存表
@@ -26,7 +26,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("物料编码")]
-        public string? icitem_number { get; set; }
+        public string icitem_number { get; set; }
 
 
         /// <summary>
@@ -34,14 +34,14 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("物料名称")]
-        public string? icitem_name { get; set; }
+        public string icitem_name { get; set; }
 
         /// <summary>
         /// 版本号
         /// </summary>
         [StringLength(80)]
         [Comment("版本号")]
-        public string? fversion { get; set; }
+        public string fversion { get; set; }
 
 
         /// <summary>

+ 5 - 5
MicroServices/Business/Bussiness.Model/MES/IC/ic_item_stockoccupy.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_item_stockoccupy.cs

@@ -3,15 +3,15 @@ using Microsoft.EntityFrameworkCore;
 using System.ComponentModel.DataAnnotations;
 using System.ComponentModel.DataAnnotations.Schema;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 资源检查物料占用明细表
     /// </summary>
     [CollectionName("dopbase", "ic_item_stockoccupy")]
     [Comment("资源检查物料占用明细表")]
-    [Index(nameof(orderentry_id),nameof(icitem_number), nameof(fversion), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
-    public class ic_item_stockoccupy:BaseEntity
+    [Index(nameof(orderentry_id), nameof(icitem_number), nameof(fversion), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
+    public class ic_item_stockoccupy : BaseEntity
     {
         /// <summary>
         /// bangid
@@ -56,14 +56,14 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(80)]
         [Comment("物料编码")]
-        public string? icitem_number { get; set; }
+        public string icitem_number { get; set; }
 
         /// <summary>
         /// 版本号
         /// </summary>
         [StringLength(80)]
         [Comment("版本号")]
-        public string? fversion { get; set; }
+        public string fversion { get; set; }
 
         /// <summary>
         /// 占用数量

+ 2 - 10
MicroServices/Business/Bussiness.Model/MES/IC/ic_substitute.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_substitute.cs

@@ -1,16 +1,8 @@
 using Business.Core.Attributes;
-using Business.Model;
 using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Security.AccessControl;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 替代群组
@@ -24,7 +16,7 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(20)]
         [Comment("群组代码")]
-        public string? substitute_code { get; set; }
+        public string substitute_code { get; set; }
         /// <summary>
         /// 替代类型
         /// </summary>

+ 7 - 14
MicroServices/Business/Bussiness.Model/MES/IC/ic_substitute_group.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_substitute_group.cs

@@ -1,15 +1,8 @@
 using Business.Core.Attributes;
-using Business.Model;
 using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料替代多群组
@@ -29,37 +22,37 @@ namespace Business.Model.MES.IC
         /// </summary>
         [StringLength(20)]
         [Comment("群组代码")]
-        public string? substitute_code { get; set; }
+        public string substitute_code { get; set; }
         /// <summary>
         /// 替代关系
         /// </summary>
         [StringLength(2000)]
         [Comment("替代关系")]
-        public string? replace_relation { get; set; }
+        public string replace_relation { get; set; }
         /// <summary>
         /// 替代名称
         /// </summary>
         [StringLength(50)]
         [Comment("替代名称")]
-        public string? replace_name { get; set; }
+        public string replace_name { get; set; }
         /// <summary>
         /// 替代方式
         /// </summary>
         [StringLength(50)]
         [Comment("替代方式")]
-        public string? replace_way { get; set; }
+        public string replace_way { get; set; }
         /// <summary>
         /// 产品线
         /// </summary>
         [StringLength(50)]
         [Comment("产品线")]
-        public string? product_line { get; set; }
+        public string product_line { get; set; }
         /// <summary>
         /// 使用机型
         /// </summary>
         [StringLength(5000)]
         [Comment("使用机型")]
-        public string? use_model { get; set; }
+        public string use_model { get; set; }
         /// <summary>
         /// 群组优先级
         /// </summary>

+ 4 - 11
MicroServices/Business/Bussiness.Model/MES/IC/ic_substitute_group_detail.cs → MicroServices/Business/Business.Domain/StructuredDB/MES/IC/ic_substitute_group_detail.cs

@@ -1,16 +1,9 @@
 using Business.Core.Attributes;
-using Business.Model;
 using Microsoft.EntityFrameworkCore;
 using MongoDB.Bson.Serialization.Attributes;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
-namespace Business.Model.MES.IC
+namespace Business.Domain
 {
     /// <summary>
     /// 物料替代多群组明细
@@ -31,7 +24,7 @@ namespace Business.Model.MES.IC
         [StringLength(20)]
         [Comment("群组代码")]
         [BsonRepresentation(MongoDB.Bson.BsonType.String)]
-        public string? substitute_code { get; set; }
+        public string substitute_code { get; set; }
         /// <summary>
         /// 物料主键
         /// </summary>
@@ -44,14 +37,14 @@ namespace Business.Model.MES.IC
         /// </summary>]
         [StringLength(20)]
         [Comment("物料编码")]
-        public string? icitem_number { get; set; }
+        public string icitem_number { get; set; }
 
         /// <summary>
         /// 版本号
         /// </summary>
         [StringLength(80)]
         [Comment("版本号")]
-        public string? fversion { get; set; }
+        public string fversion { get; set; }
 
         /// <summary>
         /// 主/替

+ 4 - 4
MicroServices/Business/Bussiness.Model/Production/HolidayMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/Production/HolidayMaster.cs

@@ -6,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 节假日记录表
@@ -37,18 +37,18 @@ namespace Business.Model.Production
         /// 节假日描述
         /// </summary>
         [Comment("节假日描述")]
-        public string? Holiday { get; set; }
+        public string Holiday { get; set; }
 
         /// <summary>
         /// 节假日类型:休假(不计算产能);调班(计算产能)
         /// </summary>
         [Comment("节假日类型")]
-        public string? Ufld1 { get; set; }
+        public string Ufld1 { get; set; }
 
         /// <summary>
         /// 是否有效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
     }
 }

+ 12 - 13
MicroServices/Business/Bussiness.Model/Production/LineMaster.cs → MicroServices/Business/Business.Domain/StructuredDB/Production/LineMaster.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 生产线维护表
@@ -26,57 +25,57 @@ namespace Business.Model.Production
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 生产线
         /// </summary>
         [Comment("生产线")]
-        public string? Line { get; set; }
+        public string Line { get; set; }
 
         /// <summary>
         /// 库位
         /// </summary>
         [Comment("库位")]
-        public string? Location { get; set; }
+        public string Location { get; set; }
 
         /// <summary>
         /// 生产线类型:区分生产线和生产线组
         /// </summary>
         [Comment("生产线类型:区分生产线和生产线组")]
-        public string? LineType { get; set; }
+        public string LineType { get; set; }
 
         /// <summary>
         /// 线边库
         /// </summary>
         [Comment("线边库")]
-        public string? VLocation { get; set; }
+        public string VLocation { get; set; }
 
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
 
         /// <summary>
         /// 库位
         /// </summary>
         [Comment("库位")]
-        public string? location2 { get; set; }
+        public string location2 { get; set; }
         /// <summary>
         /// 不良库位
         /// </summary>
         [Comment("不良库位")]
-        public string? location3 { get; set; }
+        public string location3 { get; set; }
         /// <summary>
         /// 可领料库位
         /// </summary>
         [Comment("可领料库位")]
-        public string? PickingLocation { get; set; }
+        public string PickingLocation { get; set; }
         /// <summary>
         /// 中间库位
         /// </summary>
         [Comment("中间库位")]
-        public string? MidLocation { get; set; }
+        public string MidLocation { get; set; }
     }
 }

+ 4 - 4
MicroServices/Business/Bussiness.Model/Production/MonthlyProdCapacityDtl.cs → MicroServices/Business/Business.Domain/StructuredDB/Production/MonthlyProdCapacityDtl.cs

@@ -7,7 +7,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 月度产能共识明细表
@@ -45,7 +45,7 @@ namespace Business.Model.Production
         /// 生产线
         /// </summary>
         [Comment("生产线")]
-        public string? ProdLine { get; set; }
+        public string ProdLine { get; set; }
 
         /// <summary>
         /// 日工作时间(小时)
@@ -93,7 +93,7 @@ namespace Business.Model.Production
         /// 是否加班:是,否
         /// </summary>
         [Comment("是否加班")]
-        public string? IsOverTime { get; set; }
+        public string IsOverTime { get; set; }
 
         /// <summary>
         /// 加班工时
@@ -117,6 +117,6 @@ namespace Business.Model.Production
         /// 整体需求计划版本号
         /// </summary>
         [Comment("整体需求计划版本号")]
-        public string? Version { get; set; }
+        public string Version { get; set; }
     }
 }

+ 6 - 6
MicroServices/Business/Bussiness.Model/Production/MonthlyProdCapacityMain.cs → MicroServices/Business/Business.Domain/StructuredDB/Production/MonthlyProdCapacityMain.cs

@@ -7,13 +7,13 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 月度产能共识主表
     /// </summary>
     [Comment("月度产能共识主表")]
-    [Index(nameof(Year), nameof(Month), nameof(ProdRange), nameof(Model),nameof(ProdLine),nameof(tenant_id), nameof(factory_id), IsUnique = true)]
+    [Index(nameof(Year), nameof(Month), nameof(ProdRange), nameof(Model), nameof(ProdLine), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
     public class MonthlyProdCapacityMain
     {
         /// <summary>
@@ -39,13 +39,13 @@ namespace Business.Model.Production
         /// 产品系列
         /// </summary>
         [Comment("产品系列")]
-        public string? ProdRange { get; set; }
+        public string ProdRange { get; set; }
 
         /// <summary>
         /// 规格型号
         /// </summary>
         [Comment("规格型号")]
-        public string? Model { get; set; }
+        public string Model { get; set; }
 
         /// <summary>
         /// 产品数量
@@ -57,7 +57,7 @@ namespace Business.Model.Production
         /// 生产线
         /// </summary>
         [Comment("生产线")]
-        public string? ProdLine { get; set; }
+        public string ProdLine { get; set; }
 
         /// <summary>
         /// 产线生产数量
@@ -87,6 +87,6 @@ namespace Business.Model.Production
         /// 整体需求计划版本号
         /// </summary>
         [Comment("整体需求计划版本号")]
-        public string? Version { get; set; }
+        public string Version { get; set; }
     }
 }

+ 9 - 9
MicroServices/Business/Bussiness.Model/Production/OverallDemandPlanDtl.cs → MicroServices/Business/Business.Domain/StructuredDB/Production/OverallDemandPlanDtl.cs

@@ -7,13 +7,13 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 整体需求计划明细表
     /// </summary>
     [Comment("整体需求计划明细表")]
-    [Index(nameof(Version),nameof(ProdRange),nameof(Model),nameof(PlanDate), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
+    [Index(nameof(Version), nameof(ProdRange), nameof(Model), nameof(PlanDate), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
     public class OverallDemandPlanDtl
     {
         /// <summary>
@@ -40,43 +40,43 @@ namespace Business.Model.Production
         /// 版本号
         /// </summary>
         [Comment("版本号")]
-        public string? Version { get; set; }
+        public string Version { get; set; }
 
         /// <summary>
         /// 产品线
         /// </summary>
         [Comment("产品线")]
-        public string? ProdLine { get; set; }
+        public string ProdLine { get; set; }
 
         /// <summary>
         /// 产品系列
         /// </summary>
         [Comment("产品系列")]
-        public string? ProdRange { get; set; }
+        public string ProdRange { get; set; }
 
         /// <summary>
         /// 规格型号
         /// </summary>
         [Comment("规格型号")]
-        public string? Model { get; set; }
+        public string Model { get; set; }
 
         /// <summary>
         /// 计划月份
         /// </summary>
         [Comment("计划月份")]
-        public string? PlanDate { get; set; }
+        public string PlanDate { get; set; }
 
         /// <summary>
         /// 月份计数:M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11
         /// </summary>
         [Comment("月份计数")]
-        public string? MonthTimes { get; set; }
+        public string MonthTimes { get; set; }
 
         /// <summary>
         /// 计划数量
         /// </summary>
         [Comment("计划数量")]
-        public decimal? Qty{ get; set; }
+        public decimal? Qty { get; set; }
 
         /// <summary>
         /// 集团id

+ 6 - 6
MicroServices/Business/Bussiness.Model/Production/OverallDemandPlanMain.cs → MicroServices/Business/Business.Domain/StructuredDB/Production/OverallDemandPlanMain.cs

@@ -7,13 +7,13 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 整体需求计划主表
     /// </summary>
     [Comment("整体需求计划主表")]
-    [Index(nameof(Version),nameof(tenant_id),nameof(factory_id),IsUnique = true)]
+    [Index(nameof(Version), nameof(tenant_id), nameof(factory_id), IsUnique = true)]
     public class OverallDemandPlanMain
     {
         /// <summary>
@@ -40,19 +40,19 @@ namespace Business.Model.Production
         /// 版本号
         /// </summary>
         [Comment("版本号")]
-        public string? Version { get; set; }
+        public string Version { get; set; }
 
         /// <summary>
         /// 操作人
         /// </summary>
         [Comment("操作人")]
-        public string? UserName { get; set; }
+        public string UserName { get; set; }
 
         /// <summary>
         /// 操作人工号
         /// </summary>
         [Comment("操作人工号")]
-        public string? Account { get; set; }
+        public string Account { get; set; }
 
         /// <summary>
         /// 操作时间
@@ -64,7 +64,7 @@ namespace Business.Model.Production
         /// 流水号
         /// </summary>
         [Comment("流水号")]
-        public int? SerialNum{ get; set; }
+        public int? SerialNum { get; set; }
 
         /// <summary>
         /// 集团id

+ 9 - 10
MicroServices/Business/Bussiness.Model/Production/PeriodSequenceDet.cs → MicroServices/Business/Business.Domain/StructuredDB/Production/PeriodSequenceDet.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 生产周期表
@@ -26,19 +25,19 @@ namespace Business.Model.Production
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 生产线
         /// </summary>
         [Comment("生产线")]
-        public string? Line { get; set; }
+        public string Line { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
-        public string? ItemNum { get; set; }
+        public string ItemNum { get; set; }
 
         /// <summary>
         /// 计划日期
@@ -50,7 +49,7 @@ namespace Business.Model.Production
         /// 班次
         /// </summary>
         [Comment("班次")]
-        public Int16 Period { get; set; }
+        public short Period { get; set; }
 
         /// <summary>
         /// 订单数量
@@ -62,7 +61,7 @@ namespace Business.Model.Production
         /// 工单
         /// </summary>
         [Comment("工单")]
-        public string? WorkOrds { get; set; }
+        public string WorkOrds { get; set; }
 
         /// <summary>
         /// 工序
@@ -74,13 +73,13 @@ namespace Business.Model.Production
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
 
         /// <summary>
         /// 状态
         /// </summary>
         [Comment("状态")]
-        public string? Status { get; set; }
+        public string Status { get; set; }
 
         /// <summary>
         /// 创建时间

+ 6 - 7
MicroServices/Business/Bussiness.Model/Production/ProdLineDetail.cs → MicroServices/Business/Business.Domain/StructuredDB/Production/ProdLineDetail.cs

@@ -1,5 +1,4 @@
-using Business.Model;
-using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
@@ -7,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace Business.Model.Production
+namespace Business.Domain
 {
     /// <summary>
     /// 生产线明细表
@@ -26,19 +25,19 @@ namespace Business.Model.Production
         /// 域名
         /// </summary>
         [Comment("域名")]
-        public string? Domain { get; set; }
+        public string Domain { get; set; }
 
         /// <summary>
         /// 生产线
         /// </summary>
         [Comment("生产线")]
-        public string? Line { get; set; }
+        public string Line { get; set; }
 
         /// <summary>
         /// 物料编号
         /// </summary>
         [Comment("物料编号")]
-        public string? Part { get; set; }
+        public string Part { get; set; }
 
         /// <summary>
         /// 单位标准产能=Uph
@@ -56,7 +55,7 @@ namespace Business.Model.Production
         /// 是否有效:1-有效;0-无效
         /// </summary>
         [Comment("是否有效")]
-        public Boolean IsActive { get; set; }
+        public bool IsActive { get; set; }
 
         /// <summary>
         /// 当前产线提前期(小时)

Some files were not shown because too many files changed in this diff