Selaa lähdekoodia

Merge branch 'master' of http://123.60.180.165:4647/ZZYDOP/DOPCore

Murphy 3 vuotta sitten
vanhempi
commit
6638ccdfb4

+ 29 - 8
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PschedDto.cs

@@ -10,24 +10,45 @@ namespace Business.ResourceExamineManagement.Dto
     public class PschedDto
     {
         /// <summary>
-        /// 最早开工时间
+        /// 订单id
         /// </summary>
-        public DateTime EarliestTimes { get; set; }
+        public long? sorderid { get; set; }
 
         /// <summary>
-        /// 最晚开工时间
+        /// 订单行开工详细信息
         /// </summary>
-        public DateTime LatestTimes { get; set; }
+        public List<entryDtl> entryDtls { get; set; }
 
         /// <summary>
-        /// 物料齐套时间
+        /// 替代关系展开
         /// </summary>
-        public DateTime KittingTimes { get; set; }
+        public List<BomChildExamineDto> substitutes  { get; set; }
+
+    }
 
+    /// <summary>
+    /// 订单行开工详细信息
+    /// </summary>
+    public class entryDtl
+    {
         /// <summary>
-        /// 替代关系展开
+        /// 订单行id
         /// </summary>
-        public List<BomChildExamineDto> substitutes  { get; set; }
+        public long? sentry_id { get; set; }
 
+        /// <summary>
+        /// 最早开工时间
+        /// </summary>
+        public DateTime earliest_times { get; set; }
+
+        /// <summary>
+        /// 最晚开工时间
+        /// </summary>
+        public DateTime latest_times { get; set; }
+
+        /// <summary>
+        /// 物料齐套时间
+        /// </summary>
+        public DateTime kitting_times { get; set; }
     }
 }

+ 34 - 18
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -392,24 +392,27 @@ namespace Business.ResourceExamineManagement
         /// <exception cref="NotImplementedException"></exception>
         public async Task<PschedDto> ReceiveResult(SeorderentryDto input)
         {
+            //资源检查结果
+            PschedDto rtn = new PschedDto();
+            rtn.sorderid = input.sorderId; 
+
             //生成当前计算bangid
             SnowFlake snow = new SnowFlake();
             long bangid = snow.NextId();
 
             //获取订单数据
-            crm_seorder sorder = _mysql_crm_seorder.GetListAsync(p => p.Id == input.sorderId && p.IsDeleted == false).Result.FirstOrDefault();
+            crm_seorder sorder = _mysql_crm_seorder.GetListAsync(p=>p.tenant_id == input.tenantId && p.factory_id == input.factoryId && p.Id == input.sorderId && p.IsDeleted ==false).Result.FirstOrDefault();
             if (sorder == null)
             {
                 throw new NotImplementedException("订单数据不存在!");
             }
             //获取订单行数据
-            List<crm_seorderentry> sentrys = _mysql_crm_seorderentry.GetListAsync(p => p.seorder_id == input.sorderId && p.IsDeleted == false).Result;
-
-            string bom_number = "BOM00042070";
-            int packages = 1000;
+            List<crm_seorderentry> sentrys = _mysql_crm_seorderentry.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && p.seorder_id == input.sorderId && p.IsDeleted == false).Result;
+            
+            //数据库快照-同步mysql库数据到mongoDB中
+            await SyncData(input.tenantId, input.factoryId, bangid);
 
-            input.tenantId = 102;
-            input.factoryId = 10201;
+            List<entryDtl> entryDtls = new List<entryDtl>();
 
             #region 
             //var bomlist = _ic_bom.GetAll().Result;
@@ -427,13 +430,14 @@ namespace Business.ResourceExamineManagement
             //    calcTest(getBomList, bangid, o.Id, o.qty.Value);
             //}
             #endregion
+            rtn.entryDtls = entryDtls;
+            rtn.substitutes = null;
 
 
             //数据准备
             //await SaveChangesCompletedEventData()
 
-            //数据库快照-同步mysql库数据到mongoDB中
-            await SyncData(input.tenantId, input.factoryId, bangid);
+
 
             List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
             BomChildExamineDto bomChild = new BomChildExamineDto();
@@ -458,7 +462,7 @@ namespace Business.ResourceExamineManagement
             CheckOnOrder(returnlist, 102, 10201, dateTime, bangid);
 
             //产能检查
-            await ProductiveExamine(bom_number, packages);
+            //await ProductiveExamine(bom_number, packages);
             //var id = Save(input.tenantId, input.factoryId);
             //await GenerateMorder(1736470478942093312);
             //var dateTime = DateTime.Parse("2021-09-03");
@@ -1007,12 +1011,17 @@ namespace Business.ResourceExamineManagement
             {
                 //throw new bu
             }
-
+            List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
             //var query = (await _ic_bom.GetQueryableAsync()).WhereIf(true, a => a.bom_id == BomId).ToList();
             var help = new SnowFlake();
+            var bom = bomlist.Find(s => s.Id == BomId);
+            if (bom == null)
+            {
+                return returnlist;
+            }
             
-            List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
             var dto = new BomChildExamineDto();
+            dto.item_id = bom.icitem_id;
             dto.bom_id = BomId.Value;
             dto.level = 1;
             dto.id = help.NextId();
@@ -1039,16 +1048,23 @@ namespace Business.ResourceExamineManagement
         /// <param name="returnlist"></param>
         public void GetBomList(List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, List<ic_item> icitemlist, BomChildExamineDto dto, List<BomChildExamineDto> returnlist, int type)
         {
-            int level = dto.level++;//初始化定义level层级
+            int level = dto.level + 1;//初始化定义level层级
             var help = new SnowFlake();
 
-            var bom = bomlist.WhereIf(true, s => s.Id == dto.bom_id).FirstOrDefault();
-            var item = icitemlist.WhereIf(true, a => a.Id == bom.icitem_id).FirstOrDefault();
-            if (bom == null || item == null)
+            var bom = bomlist.Where(s => s.Id == dto.bom_id).FirstOrDefault();
+            ic_item item = new ic_item();
+            if (bom != null)
             {
-
+                item = icitemlist.Where(a => a.Id == bom.icitem_id).FirstOrDefault();
             }
-            dto.item_id = bom.icitem_id;
+            else {
+                item = icitemlist.Where(a => a.Id == dto.item_id).FirstOrDefault();
+            }
+            if (item == null)
+            {
+                return;
+            }
+            dto.item_id = item.Id;
             dto.item_name = bom.item_name;
             dto.item_code = bom.item_number;
             dto.model = item.model;