heteng 3 роки тому
батько
коміт
96e4e7232f

+ 51 - 9
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -36,14 +36,42 @@ namespace Business.ResourceExamineManagement
         /// 工艺路径
         /// </summary>
         private readonly IMongoDB<mes_technique> _mes_technique;
+
+        /// <summary>
+        /// 工艺关联工序
+        /// </summary>
+        private readonly IMongoDB<mes_tech_process> _mes_tech_process;
+
+        /// <summary>
+        /// 工作日历
+        /// </summary>
+        private readonly IMongoDB<mes_work_calendar> _mes_work_calendar;
+
+        /// <summary>
+        /// 工作日历明细
+        /// </summary>
+        private readonly IMongoDB<mes_work_calendar_list> _mes_work_calendar_list;
+
+        /// <summary>
+        /// 工艺工序关联工位
+        /// </summary>
+        private readonly IMongoDB<mes_tech_proc_workshop> _mes_tech_proc_workshop;
+
+        /// <summary>
+        /// 排程占用记录
+        /// </summary>
+        private readonly IMongoDB<mes_schedule_occupy> _mes_schedule_occupy;
+
         /// <summary>
         /// 物料详情
         /// </summary>
         private readonly IMongoDB<ic_item> _ic_item;
+
         /// <summary>
         /// 物料BOM
         /// </summary>
         private readonly IMongoDB<ic_bom> _ic_bom;
+
         /// <summary>
         /// 物料BOM明细
         /// </summary>
@@ -76,12 +104,26 @@ namespace Business.ResourceExamineManagement
         /// <exception cref="NotImplementedException"></exception>
         public async Task<PschedDto> ReceiveResult(SeorderentryDto input)
         {
-            mes_technique info = new mes_technique() { };
-            SnowFlake snow = new SnowFlake();
-            info.Id = snow.NextId();
-            info.tech_name = "ceshi4444";
-            info.level = 4;
-            await _mes_technique.InsertOne(info);
+            ////多条插入
+            //List<mes_technique> infos = new List<mes_technique>();
+            //mes_technique info;
+            //for (int i = 0; i < 3; i++)
+            //{
+            //    info = new mes_technique();
+            //    info.GenerateNewId();
+            //    info.tech_name = "多条"+i;
+            //    info.level = i;
+            //    infos.Add(info);
+            //}
+            //await _mes_technique.InsertMany(infos);
+
+            ////获取数据
+            //var info1 = await _mes_technique.GetOneByID((long)1732029975067480064);
+
+            ////更新数据
+            //info1.tech_name = "更新777";
+            //await _mes_technique.UpdateOne(info1, info1.Id);
+
             throw new NotImplementedException();
 
         }
@@ -130,9 +172,9 @@ namespace Business.ResourceExamineManagement
             //var help = new SnowFlake();
             //var id = help.NextId();
             var level = 0;
-            var bomlist = _ic_bom.GetAll().Result;
-            var bomchildlist = _ic_bom_child.GetAll().Result;
-            var icitemlist = _ic_item.GetAll().Result;
+            var bomlist = _ic_bom.GetAll();
+            var bomchildlist = _ic_bom_child.GetAll();
+            var icitemlist = _ic_item.GetAll();
             //GetBomListAsync();
         }
 

+ 1 - 0
MicroServices/Business/Business.Core/Business.Core.csproj

@@ -11,6 +11,7 @@
     <PackageReference Include="MongoDB.Driver" Version="2.19.0" />
     <PackageReference Include="MongoDB.Driver.Core" Version="2.19.0" />
     <PackageReference Include="Newtonsoft.Json.Bson" Version="1.0.2" />
+    <PackageReference Include="Volo.Abp.Ddd.Domain" Version="6.0.2" />
   </ItemGroup>
 
 </Project>

+ 9 - 29
MicroServices/Business/Business.Core/MongoDBHelper/IMongoDB.cs

@@ -2,8 +2,10 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Reflection.Metadata;
 using System.Text;
 using System.Threading.Tasks;
+using Volo.Abp.Domain.Entities;
 
 namespace Business.Core.MongoDBHelper
 {
@@ -11,63 +13,41 @@ namespace Business.Core.MongoDBHelper
     /// MongoDB接口
     /// </summary>
     /// <typeparam name="T"></typeparam>
-    public interface IMongoDB<T> where T : class
+    public interface IMongoDB<T> where T : Entity<long>
     {
         /// <summary>
         /// 插入一条数据
         /// </summary>
         /// <param name="document"></param>
         /// <returns></returns>
-        Task InsertOne(T document);
+        void InsertOne(T document);
 
         /// <summary>
         /// 插入多条数据
         /// </summary>
         /// <param name="documents"></param>
         /// <returns></returns>
-        Task InsertMany(List<T> documents);
-
-        /// <summary>
-        /// 批量插入数据
-        /// </summary>
-        /// <param name="documents"></param>
-        /// <returns></returns>
-        Task<long> BulkInsert(List<T> documents);
+        void InsertMany(List<T> documents);
 
         /// <summary>
         /// 更新一条数据
         /// </summary>
-        /// <param name="name"></param>
-        /// <param name="id"></param>
-        /// <returns></returns>
-        Task<UpdateResult> UpdateOne(string name, long id);
-
-        /// <summary>
-        /// 更新多个字段
-        /// </summary>
-        /// <param name="document"></param>
-        /// <param name="id"></param>
-        /// <returns></returns>
-        Task<UpdateResult> UpdateMultiFields(T document, long id);
-
-        /// <summary>
-        /// 
-        /// </summary>
+        /// <param name="documents"></param>
         /// <param name="id"></param>
         /// <returns></returns>
-        Task Inc(long id);
+        ReplaceOneResult UpdateOne(T documents,long id);
 
         /// <summary>
         /// 获取所有数据
         /// </summary>
         /// <returns></returns>
-        Task<List<T>> GetAll();
+        List<T> GetAll();
 
         /// <summary>
         /// 根据ID获取数据
         /// </summary>
         /// <param name="id"></param>
         /// <returns></returns>
-        Task<T> GetOneByID(long id);
+        T GetOneByID(long id);
     }
 }

+ 42 - 27
MicroServices/Business/Business.Core/MongoDBHelper/MongoDBTools.cs

@@ -7,19 +7,20 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Volo.Abp.Domain.Entities;
 
 namespace Business.Core.MongoDBHelper
 {
     /// <summary>
-    /// MongoDB实现
+    /// MongoDB帮助类
     /// </summary>
-    public class MongoDBTools<T> : IMongoDB<T> where T : class
+    public class MongoDBTools<T> : IMongoDB<T> where T : Entity<long>
     {
         public readonly IMongoCollection<T> mongoCollection;
         public IOptionsSnapshot<Config> _config;
 
         /// <summary>
-        /// MongoDB帮助类
+        /// MongoDB链接
         /// </summary>
         /// <param name="config"></param>
         /// <exception cref="NotImplementedException"></exception>
@@ -40,44 +41,58 @@ namespace Business.Core.MongoDBHelper
             mongoCollection = database.GetCollection<T>(collectonName.CollectionName);
         }
 
-        public Task<long> BulkInsert(List<T> documents)
-        {
-            throw new NotImplementedException();
-        }
-
-        public Task<List<T>> GetAll()
-        {
-            throw new NotImplementedException();
-        }
-
-        public Task<T> GetOneByID(long id)
+        /// <summary>
+        /// 插入一条数据
+        /// </summary>
+        /// <param name="document"></param>
+        /// <returns></returns>
+        public void InsertOne(T document)
         {
-            throw new NotImplementedException();
+             mongoCollection.InsertOne(document);
         }
 
-        public Task Inc(long id)
+        /// <summary>
+        /// 插入多条数据
+        /// </summary>
+        /// <param name="documents"></param>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public void InsertMany(List<T> documents)
         {
-            throw new NotImplementedException();
+            mongoCollection.InsertMany(documents,new InsertManyOptions() { IsOrdered = false});
         }
 
-        public Task InsertMany(List<T> documents)
+        /// <summary>
+        /// 更新一条数据
+        /// </summary>
+        /// <param name="documents"></param>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public ReplaceOneResult UpdateOne(T documents,long id)
         {
-            throw new NotImplementedException();
+            return mongoCollection.ReplaceOne(Builders<T>.Filter.Eq(p=>p.Id, id), documents);
         }
 
-        public Task InsertOne(T document)
+        /// <summary>
+        /// 获取所有数据
+        /// </summary>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public List<T> GetAll()
         {
-            return mongoCollection.InsertOneAsync(document);
+            return mongoCollection.AsQueryable().ToList();
         }
 
-        public Task<UpdateResult> UpdateMultiFields(T document, long id)
+        /// <summary>
+        /// 跟据Id获取数据
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public T GetOneByID(long id)
         {
-            throw new NotImplementedException();
+            return mongoCollection.Find(p => p.Id == id).FirstOrDefault();
         }
 
-        public Task<UpdateResult> UpdateOne(string name, long id)
-        {
-            throw new NotImplementedException();
-        }
     }
 }

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

@@ -9,12 +9,22 @@ using System.ComponentModel.DataAnnotations;
 using System.ComponentModel;
 using Volo.Abp.Domain.Entities.Auditing;
 using Volo.Abp.Domain.Entities;
+using Business.Core.Utilities;
 
 namespace Business.Model
 {
     public abstract class BaseEntity: Entity<long>,ISoftDelete
     {
         /// <summary>
+        /// 生成新的Id
+        /// </summary>
+        public void GenerateNewId()
+        { 
+            SnowFlake snow = new SnowFlake();
+            Id = snow.NextId();
+        }
+
+        /// <summary>
         /// 创建人
         /// </summary>
         [Description("创建人id")]