Selaa lähdekoodia

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

fayimi 2 vuotta sitten
vanhempi
commit
5fadb1c197

+ 4 - 4
MicroServices/Business/Business.Application/PriorityManagement/PriorityAppService.cs

@@ -31,13 +31,13 @@ namespace Business.PriorityManagement
                 level = p.custom_level.GetValueOrDefault()
             }).AsQueryable<PriorityDto>().ToList(); 
             
-            //子表数据处理:根据订单id分组取出客户要求交期交期最的数据
+            //子表数据处理:根据订单id分组取出客户要求交期交期最的数据
             var entrys = from t in sentrys
                          group t by t.seorder_id into temp
                          select new
                          {
                              id = temp.Key,
-                             plan_date = temp.Max(x => x.plan_date.GetValueOrDefault())
+                             plan_date = temp.Min(x => x.plan_date.GetValueOrDefault())
                          };
             foreach (var item in dtos)
             {
@@ -75,13 +75,13 @@ namespace Business.PriorityManagement
                 level = p.custom_level.GetValueOrDefault()
             }).AsQueryable<PriorityDto>().ToList();
 
-            //子表数据处理:根据订单id分组取出客户要求交期交期最的数据
+            //子表数据处理:根据订单id分组取出客户要求交期交期最的数据
             var entrys = from t in sentrys
                          group t by t.seorder_id into temp
                          select new
                          {
                              id = temp.Key,
-                             plan_date = temp.Max(x => x.plan_date.GetValueOrDefault())
+                             plan_date = temp.Min(x => x.plan_date.GetValueOrDefault())
                          };
             foreach (var item in dtos)
             {

+ 4 - 0
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -379,6 +379,10 @@ namespace Business.ResourceExamineManagement
                         mes_Morders.morder_need_time = ProductiveDate;
                         //满足资源检查的时间需加上提前期
                         level1Dto.satisfy_time = mes_Morders.moentry_sys_stime.Value.AddDays((double)LeadTime);
+                        if (sentrys != null)
+                        {
+                            sentrys.sys_capacity_date = level1Dto.satisfy_time;
+                        }
                     }
                     level1Dto.make_list = new List<moorder>();
                     mes_MorderDto.mes_Morders.ForEach(me =>

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

@@ -479,6 +479,9 @@ namespace Business.ResourceExamineManagement
             //获取订单行数据
             List<crm_seorderentry> sentrys = await _mysql_crm_seorderentry.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && input.sorderId.Contains(p.seorder_id.GetValueOrDefault()) && !p.IsDeleted);
 
+            //处理订单行优先级
+            sentrys = _priorityAppService.CalcOrderEntryPriority(sorders, sentrys);
+
             //删除同步Mysql后旧数据
             await DeleteMySqlOldData(sentrys);
 
@@ -521,7 +524,8 @@ namespace Business.ResourceExamineManagement
                 _purchaseOrderAppService.param = param;
                 _CalcBomViewAppService.param = param;
                 _CalcBomViewAppService.seorder = sorder;//销售订单
-                foreach (var item in sentrys)
+                var orderSentrys = sentrys.Where(s => s.seorder_id == sorder.Id).ToList();
+                foreach (var item in orderSentrys)
                 {
                     //获取销售订单“是否加急”字段
                     int urgent = sorder.urgent;
@@ -560,14 +564,16 @@ namespace Business.ResourceExamineManagement
                     dtl.kitting_times = getBomList.Where(p => p.is_use).OrderByDescending(m => m.kitting_time).First().kitting_time.GetValueOrDefault();
                     //TODO:最早开始时间默认3天后(后期调整,因为要计算排产,计算产能这一类,才能得到开工时间)
                     dtl.earliest_times = dtl.kitting_times.AddDays(1);
-
+                    item.progress = "2";
                     //替代关系展开list
                     dtl.BomChildExamineList = getBomList;
                     //添加订单行开工信息
                     examines.Add(dtl);
                 }
             }
-            
+
+            await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
+
             //批量保存 后期考虑子工单
             if (_CalcBomViewAppService.mordersInsertList.Any())
             {
@@ -2047,7 +2053,7 @@ namespace Business.ResourceExamineManagement
                 workOrd.Status = "r";
                 workOrd.IsActive = true;
                 workOrd.ProdLine = "组装线";
-
+                workOrd.IsConfirm = true;
                 workOrds.Add(workOrd);
 
                 //添加工单工艺路线数据
@@ -2190,6 +2196,7 @@ namespace Business.ResourceExamineManagement
                         IsActive = true,
                         IsChanged = false
                     });
+                    int i = 1;
                     itemList.Where(a => a.ParentItem == item.ItemNum).ToList()?.ForEach(a =>
                     {
                         string LocationTo = "";
@@ -2202,18 +2209,27 @@ namespace Business.ResourceExamineManagement
                             Domain = "1001",
                             Type = "SM",
                             Nbr = Nbr,
-                            ItemNum =a.ComponentItem,
+                            ItemNum = a.ComponentItem,
                             QtyFrom = 0,
                             QtyTo = 0,
-                            LocationFrom= LocationTo,
-                            LocationTo="",
+                            LocationFrom = LocationTo,
+                            LocationTo = "",
                             WorkOrd = item.WorkOrds,
-                            QtyOrd = item.OrdQty*a.Qty,
-                            IsActive = true
+                            QtyOrd = item.OrdQty * a.Qty,
+                            Line = i,
+                            IsActive = true,
                         });
+                        i++;
                     });
                 }
                 _nbrMaster.Insert(nbrMasterList);
+                //快开平台用自增列RecId关联,所以需要插入后再查给明细表赋相应的值
+                List<string> nbrs= nbrMasterList.Select(a=>a.Nbr).ToList();
+                var nbrList= _nbrMaster.Select(a => a.Domain == "1001" && a.Type == "SM" && nbrs.Contains(a.Nbr));
+                nbrDetailList.ForEach(c =>
+                {
+                    c.NbrRecID= nbrList.Where(a=>a.Nbr==c.Nbr).First().RecID;
+                });
                 _nbrDetail.Insert(nbrDetailList);
             }
         }

+ 4 - 2
MicroServices/Business/Business.Application/SyncDataManagement/SyncWMSDataAppService.cs

@@ -494,7 +494,7 @@ namespace Business.SyncDataManagement
         {
             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 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<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)
@@ -517,6 +517,7 @@ namespace Business.SyncDataManagement
                         factory_id = 1001,
                         tenant_id = 1000,
                         IsDeleted=false,
+                        use_status=1
                     };
                     ItemsAdd.Add(bom);
 
@@ -540,7 +541,8 @@ namespace Business.SyncDataManagement
                             version=child.Refs,
                             factory_id = 1001,
                             tenant_id = 1000,
-                            IsDeleted=false
+                            IsDeleted=false,
+                            use_status=1
                         };
                         childItemsAdd.Add(bomchild);
                     }

+ 1 - 1
MicroServices/Business/Business.Host/BusinessHostModule.cs

@@ -140,7 +140,7 @@ namespace Business
                 q.AddTrigger(opts => opts
                     .ForJob(WMSJobKey)
                     .WithIdentity("WMSJob-trigger")
-                    .WithCronSchedule("0 02 15 * * ?")
+                    .WithCronSchedule("0 15 18 * * ?")
                     .WithDescription("定时同步WMS物料订单等基础数据到MySQL"));
 
                 //var ProductionScheduleJobKey = new JobKey("ProductionScheduleJob");

+ 11 - 0
MicroServices/Business/Bussiness.Model/MES/IC/NbrDetail.cs

@@ -81,6 +81,17 @@ namespace Business.Model.MES.IC
         [Comment("订单数量")]
         public decimal? QtyOrd { get; set; }
 
+        /// <summary>
+        /// 行号
+        /// </summary>
+        [Comment("行号")]
+        public int Line { get; set; }
+
+        /// <summary>
+        /// 主表主键
+        /// </summary>
+        [Comment("主表主键")]
+        public int NbrRecID { get; set; }
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>

+ 6 - 0
MicroServices/Business/Bussiness.Model/Production/WorkOrdMaster.cs

@@ -93,5 +93,11 @@ namespace Business.Model.Production
         /// </summary>
         [Comment("状态")]
         public string? ProdLine { get; set; }
+
+        /// <summary>
+        /// 确认
+        /// </summary>
+        [Comment("确认")]
+        public Boolean IsConfirm { get; set; }
     }
 }