浏览代码

补货模型修改

Pengxy 1 年之前
父节点
当前提交
b42fbd8f9e

+ 73 - 8
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -8,6 +8,7 @@ using Business.EntityFrameworkCore.SqlRepositories;
 using Business.ReplenishmentManagement;
 using Business.ResourceExamineManagement;
 using Business.ResourceExamineManagement.Dto;
+using Business.StructuredDB.MES;
 using Business.StructuredDB.MES.IC;
 using Business.StructuredDB.Production;
 using Business.StructuredDB.Replenishment;
@@ -1145,8 +1146,13 @@ namespace Business.Replenishment
             DMSItemListHW.Select(g => g.CfnCode).Contains(a.UPN) && a.ParentDealerCode == "RQ000002" && a.ShipmentDate >= DateOnly.FromDateTime(dateBegin) && a.ShipmentDate <= DateOnly.FromDateTime(dateEnd));//海王
 
             //领料出库记录
-            var pickbilllist = _invTransHist.Select(a => a.Domain == input.factory_id.ToString() && a.TransType == "iss-wo" && a.IsActive
-            && a.CreateTime >= dateBegin && itemList.Contains(a.ItemNum));
+            var pickbilllist = _invTransHist.Select(a => a.Domain == input.factory_id.ToString() && a.TransType == "iss-wo" && a.IsActive && a.CreateTime >= dateBegin && itemList.Contains(a.ItemNum));
+            //出库记录
+            var invTransHists = _invTransHist.Select(a => a.Domain == input.factory_id.ToString() && a.IsActive && a.CreateTime >= dateBegin && itemList.Contains(a.ItemNum) && a.QtyChange<0);
+            //对账单,取对账日期最新的数据
+            string sqldzd = @"SELECT ItemNum,NETPR FROM (SELECT MATNR AS ItemNum,NETPR,ROW_NUMBER() OVER (PARTITION BY MATNR ORDER BY BUDAT DESC) AS rn FROM SupplierStatement ) as SupplierStatement WHERE rn = 1";
+            var supplierStatementDtos = _businessDbContext.SupplierStatementDto.FromSqlRaw(sqldzd).ToList();
+            List<ReplenishmentROPWeekPlanDto> replenishmentROPWeekPlanDtos = GetRopAmount(itemList.Distinct().ToList(), supplierStatementDtos, invTransHists,input); 
 
             var gkCNCCodeList = DMSItemListGK.Select(g => g.CfnCode).ToList();
             var dateOnlyCurrent = DateOnly.FromDateTime(datePreBegin);
@@ -1409,7 +1415,7 @@ namespace Business.Replenishment
                         {
                             rop.stock_turnover = 4;
                         }
-                        CalcFMRAndABC(rop, replenishmentDto, shipList, pickbilllist, input);
+                        CalcFMRAndABC(rop, replenishmentDto, shipList, pickbilllist,replenishmentROPWeekPlanDtos, input);
                         rop.security_stock = Math.Ceiling((decimal)(mathtool.InverseCumulativeDistribution((double)rop.service_level_pct.Value) * (double)rop.monthl_avg_demand_variance));
 
                         rop.eop = Math.Ceiling(rop.monthl_avg_demand.Value * rop.supply_leadtime.Value / DateTime.DaysInMonth(DateTime.Now.AddMonths(j).Year, DateTime.Now.AddMonths(months: j).Month));
@@ -1552,7 +1558,7 @@ namespace Business.Replenishment
                         }
                         if (rop.stock_turnover == 0)
                             rop.stock_turnover = 4;
-                        CalcFMRAndABC(rop, replenishmentDto, shipList, pickbilllist, input);
+                        CalcFMRAndABC(rop, replenishmentDto, shipList, pickbilllist,replenishmentROPWeekPlanDtos, input);
                         rop.security_stock = Math.Ceiling((decimal)(mathtool.InverseCumulativeDistribution((double)rop.service_level_pct.Value) * (double)rop.monthl_avg_demand_variance));
 
                         rop.eop = Math.Ceiling(rop.monthl_avg_demand.Value * rop.supply_leadtime.Value / DateTime.DaysInMonth(DateTime.Now.AddMonths(j).Year, DateTime.Now.AddMonths(j).Month));
@@ -6443,24 +6449,83 @@ namespace Business.Replenishment
             }
             return replenishmentDto;
         }
+        /// <summary>
+        /// 计算ABC分类和FMR分类
+        /// </summary>
+        /// <param name="replenishmentModels"></param>
+        public List<ReplenishmentROPWeekPlanDto> GetRopAmount(List<string> itemList, List<SupplierStatementDto> supplierStatementDtos, List<InvTransHist> invTransHists, InputDto input)
+        {
+            List<ReplenishmentROPWeekPlanDto> replenishmentROPWeekPlanDtos = new List<ReplenishmentROPWeekPlanDto>();
+            var total_outstock_amout = 0m;
+            foreach (var item in itemList)
+            {
+                var entry = supplierStatementDtos.FirstOrDefault(p => p.ItemNum == item);
+                decimal NETPR = 0m;
+                if (entry != null)
+                {
+                    NETPR = entry.NETPR;
+                }
+                else
+                {
+                    NETPR = 1;
+                }
+                //出库总数
+                var OutStockQty = invTransHists.Where(a => a.ItemNum == item).Sum(b => b.QtyChange);
+                ReplenishmentROPWeekPlanDto replenishmentROPWeekPlanDto = new ReplenishmentROPWeekPlanDto();
+                //出库总金额
+                replenishmentROPWeekPlanDto.outstock_amout = Math.Abs(OutStockQty.GetValueOrDefault()) * NETPR;
+                replenishmentROPWeekPlanDto.number = item;
 
+                total_outstock_amout += Math.Abs(OutStockQty.GetValueOrDefault()) * NETPR;
+                replenishmentROPWeekPlanDtos.Add(replenishmentROPWeekPlanDto);
+            }
+            replenishmentROPWeekPlanDtos = replenishmentROPWeekPlanDtos.OrderByDescending(a => a.outstock_amout).ToList();
+            var scale = 0m;
+            if (total_outstock_amout <= 0)
+            {
+                return null;
+            }
+            replenishmentROPWeekPlanDtos.ForEach(a => {
+                a.amout_scale = Math.Ceiling((a.outstock_amout / total_outstock_amout)*100);
+                scale += a.amout_scale;
+                if (scale <= 80)
+                {
+                    a.ABC = "A";
+                }
+                else if (scale >= 90)
+                {
+                    a.ABC = "C";
+                }
+                else
+                {
+                    a.ABC = "B";
+                }
+            });
+
+            return replenishmentROPWeekPlanDtos;
+        }
         /// <summary>
         /// 计算ABC分类和FMR分类
         /// </summary>
         /// <param name="replenishmentModels"></param>
-        public void CalcFMRAndABC(ReplenishmentROPWeekPlan replenishmentModel, ReplenishmentDto replenishmentDto, List<ASNBOLShipperDetail> shipList, List<InvTransHist> pickbilllist, InputDto input)
+        public void CalcFMRAndABC(ReplenishmentROPWeekPlan replenishmentModel, ReplenishmentDto replenishmentDto, List<ASNBOLShipperDetail> shipList, List<InvTransHist> pickbilllist, List<ReplenishmentROPWeekPlanDto> replenishmentROPWeekPlanDtos, InputDto input)
         {
+
             //总的移库次数
             int totalCount = shipList.Count() + pickbilllist.Count();
+            var items = shipList.Select(s => s.ContainerItem).Distinct().ToList();
+            items.AddRange(pickbilllist.Select(s => s.ItemNum).Distinct().ToList());
+            items = items.Distinct().ToList();
             //平均出库次数
-            decimal avgOutStock = totalCount / replenishmentDto.HistoryOutStockMonth;
+            decimal avgOutStock = totalCount / replenishmentDto.HistoryOutStockMonth / items.Count();
             //瑞奇不提供价格敏感信息,ABC类都默认为B,全部当做无出库金额的物料
             //无出库金额的物料 FMR分类  F   96 % M   90 % R   80 %
             //有出库金额的物料 ABC/ FMR分类   AF  96 % AM  90 % AR  80 % BF  96 % BM  90 % BR  80 % CF  96 % CM  90 % CR  80 % 
-            replenishmentModel.abc = "B";//原材料默认为B
+            replenishmentModel.abc = replenishmentROPWeekPlanDtos.Where(a=>a.number== replenishmentModel.number).First().ABC;//原材料默认为B
 
             int itemMoveCount = shipList.Count(a => a.ContainerItem == replenishmentModel.number) + pickbilllist.Count(a => a.ItemNum == replenishmentModel.number);
-            if (itemMoveCount >= avgOutStock)
+
+            if (itemMoveCount > avgOutStock)
             {
                 replenishmentModel.fmr = "F";
             }

+ 0 - 1
MicroServices/Business/Business.Domain/StructuredDB/Replenishment/ReplenishmentROPWeekPlan.cs

@@ -240,6 +240,5 @@ namespace Business.Domain
         [Comment("语种")]
         public string? Languages { get; set; }
 
-
     }
 }

+ 45 - 0
MicroServices/Business/Business.Domain/StructuredDB/Replenishment/ReplenishmentROPWeekPlanDto.cs

@@ -0,0 +1,45 @@
+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.StructuredDB.Replenishment
+{
+    /// <summary>
+    ///补货模型ROP
+    /// </summary>
+    [Comment("补货模型ROP周计划")]
+    [Keyless]
+    public class ReplenishmentROPWeekPlanDto
+    {
+        /// <summary>
+        /// 物料编码
+        /// </summary>
+        [StringLength(80)]
+        [Comment("物料编码")]
+        public string number { get; set; }
+        /// <summary>
+        /// 出库总金额
+        /// </summary>
+        [Precision(20, 8)]
+        [Comment("出库总金额")]
+        public decimal outstock_amout { get; set; }
+
+        /// <summary>
+        /// 金额占比
+        /// </summary>
+        [Precision(20, 8)]
+        [Comment("金额占比")]
+        public decimal amout_scale { get; set; }
+
+        /// <summary>
+        /// ABC
+        /// </summary>
+        [Precision(20, 8)]
+        [Comment("ABC")]
+        public string ABC { get; set; }
+    }
+}

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

@@ -3,9 +3,9 @@
     "CorsOrigins": "https://*.abc.com,http://localhost:9527,http://123.60.181.157:8020,http://123.60.181.157:8022,http://123.60.181.157:8024,http://123.60.180.165:8020,http://123.60.180.165:8022,http://123.60.180.165:8024,http://172.16.8.154:8020"
   },
   "ConnectionStrings": {
-    //"Default": "Server=123.60.180.165;Database=dopdemorq;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
-    //"DOPLog": "Server=123.60.180.165;Database=dopdemorq;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
-    //"DOPBang": "Server=123.60.180.165;Database=dopdemorq;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
+    //"Default": "Server=123.60.180.165;Database=dopbiz;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
+    //"DOPLog": "Server=123.60.180.165;Database=dopbiz;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
+    //"DOPBang": "Server=123.60.180.165;Database=dopbiz;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
     //"DOPExt": "Server=123.60.180.165;Database=DOPEXT;uid=sa;pwd=5h3n9)uN;Trusted_Connection=false;TrustServerCertificate=True",
     //"MongoDB": "mongodb://zzydop:h1Q$us3r@123.60.180.165/dopbase",
 

+ 72 - 0
MicroServices/Business/QuartzSettings/logs/logs.txt

@@ -1874,3 +1874,75 @@
 {"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-01-21T11:06:57.9386647+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
 {"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-01-21T11:06:57.9427349+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
 {"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-01-21T11:06:57.9447197+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T12:21:31.6877156+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T12:21:31.724694+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T12:21:31.7282394+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T12:21:31.7301309+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T12:21:31.734861+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T12:21:31.7369514+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:25:36.1872905+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:25:36.2259559+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:25:36.2293014+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:25:36.2310745+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:25:36.2352866+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T13:25:36.2372065+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时同步WMS物料订单等基础数据到MySQL', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时创建NLog日志按月分表', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时同步MySQL基础数据到MongoDB', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.长周期物料PR', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.TestTimeOut', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'BOM预处理自动任务.BOM预处理自动任务', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:37:39.4517044+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:37:39.4865487+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:37:39.4898968+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:37:39.491551+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:37:39.4957779+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T13:37:39.4979694+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时同步WMS物料订单等基础数据到MySQL', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时创建NLog日志按月分表', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时同步MySQL基础数据到MongoDB', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.长周期物料PR', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.TestTimeOut', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'BOM预处理自动任务.BOM预处理自动任务', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:41:44.4283429+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:41:44.4628852+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:41:44.465828+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:41:44.4670946+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:41:44.4717319+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T13:41:44.4734709+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时同步WMS物料订单等基础数据到MySQL', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时创建NLog日志按月分表', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.定时同步MySQL基础数据到MongoDB', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.长周期物料PR', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'systemquartzjob.TestTimeOut', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":null,"EndDate":null,"Msg":"任务初始化未启动,出现异常,异常信息Unable to store Job: 'BOM预处理自动任务.BOM预处理自动任务', because one already exists with this identification.","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:50:51.0427807+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:50:51.0811478+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:50:51.0855965+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:50:51.0872458+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:50:51.0922811+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T13:50:51.0938886+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:58:35.1255498+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:58:35.1610172+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:58:35.1686144+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:58:35.1705439+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T13:58:35.1747677+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T13:58:35.1765318+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:00:37.4417568+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:00:37.4746145+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:00:37.4774594+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:00:37.4790784+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:00:37.4842208+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T14:00:37.4859458+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:08:48.4053496+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:08:48.4382894+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:08:48.442075+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:08:48.443984+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T14:08:48.4479862+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T14:08:48.4499499+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-05T16:36:13.6883702+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-05T16:36:13.7295267+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-05T16:36:13.732686+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-05T16:36:13.734337+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-05T16:36:13.7397224+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-05T16:36:13.7414942+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}

二进制
MicroServices/QuartzUI/QuartzNetAPI/.vs/ProjectEvaluation/quartznetui.metadata.v8.bin


二进制
MicroServices/QuartzUI/QuartzNetAPI/.vs/ProjectEvaluation/quartznetui.projects.v8.bin


二进制
MicroServices/QuartzUI/QuartzNetAPI/.vs/ProjectEvaluation/quartznetui.strings.v8.bin


二进制
MicroServices/QuartzUI/QuartzNetAPI/.vs/QuartzNetUI/DesignTimeBuild/.dtbcache.v2


二进制
MicroServices/QuartzUI/QuartzNetAPI/.vs/QuartzNetUI/FileContentIndex/e650cf3d-a78a-44f3-af40-cd83540a3a4f.vsidx


二进制
MicroServices/QuartzUI/QuartzNetAPI/.vs/QuartzNetUI/FileContentIndex/e72d6ec6-f00f-4f5f-95a3-a4997a2eeeb6.vsidx


二进制
MicroServices/QuartzUI/QuartzNetAPI/.vs/QuartzNetUI/v17/.futdcache.v2


+ 99 - 0
MicroServices/QuartzUI/QuartzNetAPI/.vs/QuartzNetUI/v17/DocumentLayout.json

@@ -0,0 +1,99 @@
+{
+  "Version": 1,
+  "WorkspaceRootPath": "D:\\RQ\\MicroServices\\QuartzUI\\QuartzNetAPI\\",
+  "Documents": [
+    {
+      "AbsoluteMoniker": "D:0:0:{62C51804-D792-491E-82E6-FF6FBAE2983C}|Host\\Host.csproj|d:\\rq\\microservices\\quartzui\\quartznetapi\\host\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{62C51804-D792-491E-82E6-FF6FBAE2983C}|Host\\Host.csproj|solutionrelative:host\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{62C51804-D792-491E-82E6-FF6FBAE2983C}|Host\\Host.csproj|d:\\rq\\microservices\\quartzui\\quartznetapi\\host\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{62C51804-D792-491E-82E6-FF6FBAE2983C}|Host\\Host.csproj|solutionrelative:host\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{62C51804-D792-491E-82E6-FF6FBAE2983C}|Host\\Host.csproj|d:\\rq\\microservices\\quartzui\\quartznetapi\\host\\filters\\swaggerbasicauthmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{62C51804-D792-491E-82E6-FF6FBAE2983C}|Host\\Host.csproj|solutionrelative:host\\filters\\swaggerbasicauthmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    }
+  ],
+  "DocumentGroupContainers": [
+    {
+      "Orientation": 0,
+      "VerticalTabListWidth": 256,
+      "DocumentGroups": [
+        {
+          "DockedWidth": 200,
+          "SelectedChildIndex": 9,
+          "Children": [
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "Startup.cs",
+              "DocumentMoniker": "D:\\RQ\\MicroServices\\QuartzUI\\QuartzNetAPI\\Host\\Startup.cs",
+              "RelativeDocumentMoniker": "Host\\Startup.cs",
+              "ToolTip": "D:\\RQ\\MicroServices\\QuartzUI\\QuartzNetAPI\\Host\\Startup.cs",
+              "RelativeToolTip": "Host\\Startup.cs",
+              "ViewState": "AQIAAEAAAAAAAAAAAAASwF0AAAAfAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-01-14T09:51:21.083Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:129:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:130:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:131:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:132:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:421934398:0:{81164725-9a96-4ece-a4cb-440d8fd285e5}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:254354193:0:{71f361cc-493f-47c0-923f-f2570b6f8618}"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "SwaggerBasicAuthMiddleware.cs",
+              "DocumentMoniker": "D:\\RQ\\MicroServices\\QuartzUI\\QuartzNetAPI\\Host\\Filters\\SwaggerBasicAuthMiddleware.cs",
+              "RelativeDocumentMoniker": "Host\\Filters\\SwaggerBasicAuthMiddleware.cs",
+              "ToolTip": "D:\\RQ\\MicroServices\\QuartzUI\\QuartzNetAPI\\Host\\Filters\\SwaggerBasicAuthMiddleware.cs",
+              "RelativeToolTip": "Host\\Filters\\SwaggerBasicAuthMiddleware.cs",
+              "ViewState": "AQIAAAAAAAAAAAAAAAAAABMAAABUAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-01-14T09:54:57.565Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "D:\\RQ\\MicroServices\\QuartzUI\\QuartzNetAPI\\Host\\appsettings.json",
+              "RelativeDocumentMoniker": "Host\\appsettings.json",
+              "ToolTip": "D:\\RQ\\MicroServices\\QuartzUI\\QuartzNetAPI\\Host\\appsettings.json",
+              "RelativeToolTip": "Host\\appsettings.json",
+              "ViewState": "AQIAAAAAAAAAAAAAAAAAABYAAAAxAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-01-14T09:51:10.477Z",
+              "EditorCaption": ""
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}