林豪 左 1 سال پیش
والد
کامیت
4153b3816a

+ 11 - 0
wms.api/Controllers/FjController.cs

@@ -74,6 +74,8 @@ namespace wms.api.Controllers
 
         private static object lockerBomInfoTrans = new object();
 
+        private static object lockFJEnteMainLineRequest = new object();
+
         #endregion 锁
 
         /// <summary>
@@ -543,5 +545,14 @@ namespace wms.api.Controllers
         }
 
         #endregion 生成货位基础配置
+
+        /// <summary>
+        ///  分拣自动生成货位信息
+        /// </summary>
+        [HttpPost]
+        public SRes EnteMainLine(FJEnteMainLineRequest reqDto)
+        {
+            return ConcurrencyReqControl<FJEnteMainLineRequest, SRes>(lockFJEnteMainLineRequest, "EnteMainLine" + reqDto.equNo, reqDto.equNo, reqDto, _fjService.EnteMainLine);
+        }
     }
 }

+ 3 - 3
wms.api/Program.cs

@@ -28,7 +28,7 @@ builder.Services.AddSwaggerGen(c =>
     });
     var file = Path.Combine(AppContext.BaseDirectory, "wms.api.xml");  // xml文档绝对路径
     var file1 = Path.Combine(AppContext.BaseDirectory, "wms.dto.xml");
-    var path = Path.Combine(AppContext.BaseDirectory, file); 
+    var path = Path.Combine(AppContext.BaseDirectory, file);
     var path1 = Path.Combine(AppContext.BaseDirectory, file1);
     c.IncludeXmlComments(path, true); // true : 显示控制器层注释
     c.IncludeXmlComments(path1, true); // true : 显示dto注释
@@ -53,14 +53,14 @@ builder.Services.AddControllersWithViews(options =>
 });
 
 builder.Services.AddSingleton(new wms.util.AppSettings(builder.Configuration));
-RedisHelper.Initialization(new CSRedisClient(builder.Configuration.GetConnectionString("CSRedisConnectString")));
+RedisHelper.Initialization(new CSRedisClient(builder.Configuration["CSRedisConnectString"]));
 builder.Services.AddAutoMapper(typeof(WmsPrifile));
 var app = builder.Build();
 
 // Configure the HTTP request pipeline.
 if (app.Environment.IsDevelopment())
 {
-    
+
 }
 app.UseSwagger();
 app.UseSwaggerUI();

+ 7 - 0
wms.api/wms.api.csproj

@@ -7,6 +7,13 @@
     <GenerateDocumentationFile>True</GenerateDocumentationFile>
   </PropertyGroup>
 
+  <ItemGroup>
+    <Compile Remove="Logs\**" />
+    <Content Remove="Logs\**" />
+    <EmbeddedResource Remove="Logs\**" />
+    <None Remove="Logs\**" />
+  </ItemGroup>
+
   <ItemGroup>
     <PackageReference Include="Autofac.Extras.Quartz" Version="8.2.0" />
     <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.0" />

+ 5 - 0
wms.dto/request/fj/BuildEmptyPalletsStockRequest.cs

@@ -36,6 +36,11 @@ namespace wms.dto.request.fj
         /// </summary>
         [Description("托盘数量")]
         public string PalletNum { get; set; }
+
+        /// <summary>
+        ///  大小货 1表示小货 2表示大货
+        /// </summary>
+        public int Height { get; set; }
     }
 
     /// <summary>

+ 5 - 0
wms.dto/request/fj/FJApplyStockInLocRequest.cs

@@ -23,5 +23,10 @@ namespace wms.dto.request.fj
         /// </summary>
         [Required(ErrorMessage = "{0} 不可为空")]
         public string PickUpEquipmentNo { get; set; }
+
+        /// <summary>
+        ///  大小货 1表示小货 2表示大货
+        /// </summary>
+        public int Height { get; set; }
     }
 }

+ 6 - 1
wms.dto/request/fj/FJEnteMainLineRequest.cs

@@ -5,11 +5,16 @@ namespace wms.dto.request.fj
     /// <summary>
     ///  工字轮/芯股进入主线扫码
     /// </summary>
-    public class FJEnteMainLineRequest
+    public class FJEnteMainLineRequest : BaseRequest
     {
         /// <summary>
         ///  工字轮条码集合
         /// </summary>
         public List<string> IShapedWheelCodes { get; set; }
+
+        /// <summary>
+        ///  设备号
+        /// </summary>
+        public string equNo { get; set; }
     }
 }

+ 5 - 0
wms.dto/request/fj/FJManualTaskRequest.cs

@@ -16,5 +16,10 @@ namespace wms.dto.request.fj
         ///  业务类型
         /// </summary>
         public string? BusType { get; set; }
+
+        /// <summary>
+        ///  出库目标地址
+        /// </summary>
+        public string AddTo { get; set; }
     }
 }

+ 1 - 1
wms.dto/response/fj/FJApplyLocRequest.cs

@@ -11,7 +11,7 @@
         public long WarehuoseId { get; set; }
 
         /// <summary>
-        ///  大小
+        ///  大小 1小 2大
         /// </summary>
         public int Size { get; set; }
 

+ 7 - 0
wms.service/IService/IFJService.cs

@@ -101,5 +101,12 @@ namespace wms.service.IService
         /// <param name="reqDto"></param>
         /// <returns></returns>
         public SRes<int> CompleteTask(CompleteTaskRequest reqDto);
+
+        /// <summary>
+        ///  工字轮/芯股进入主线扫码
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns
+        public SRes EnteMainLine(FJEnteMainLineRequest reqDto);
     }
 }

+ 17 - 14
wms.service/Service/FJService.cs

@@ -757,18 +757,17 @@ namespace wms.service.Service
             }
             else //当前订单对应多个仓库信息
             {
-                var waretemplist = maclist.Select(p => new { p.WarehouseCode, p.WorkOrder, p.BillCode, p.PlanQty }).Distinct();
+                
+
+                //TODO:怎么计算当前订单在当前仓库需要码多少托,跟据当前仓库已有订单需要的托盘数量计算各订单在可用码垛工位占比,再计算当前托盘该码什么跺
 
-                var warehouselist = _basewarehouserepository.GetList().Select(p => p.Code);
+                var waretemplist = maclist.Select(p => new { p.WarehouseCode, p.WorkOrder, p.BillCode, p.PlanQty }).Distinct();
+                var warehouselist = _basewarehouserepository.GetList().Select(p => p.Id);
                 foreach (var warehouse in warehouselist)
                 {
-                    var stackdetaillist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseCode == warehouse);
+                    var stackdetaillist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseId == warehouse);
                     getMatProport(spoolTrans.MatCode, warehouse);
                 }
-                //根据垛型及库存比例分配
-                //找出该物料类型在每个库所要求的所有量
-
-                //找出该物料库存在当前库所有
             }
 
             return res;
@@ -780,12 +779,16 @@ namespace wms.service.Service
         /// <param name="matcode">物料编号</param>
         /// <param name="warehousecode">仓库编号</param>
         /// <returns></returns>
-        public decimal getMatProport(string matcode, string warehousecode)
+        public decimal getMatProport(string matcode, long warehouseId)
         {
-            //计算此仓库所有该物料的量
+            //计算此仓库所有该物料的量 已组盘/已入库
+            var stackLisk = _billInvnowrepository.AsQueryable()
+                                                 .Count(v => v.WarehouseId == warehouseId
+                                                          && v.MatCode == matcode
+                                                          && (v.ExecStateCode == FJInvState.InvEcecState_BuildUp.ToString() || v.ExecStateCode == FJInvState.InvEcecState_In.ToString()));
 
             //每的单子(每盘的数量)
-            var stackdetaillist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseCode == warehousecode);
+            var stackdetaillist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseId == warehouseId);
             return 0;
         }
 
@@ -877,8 +880,7 @@ namespace wms.service.Service
                 IsStop = 0,
                 Code = "1S",
                 Name = "分拣库1南",
-                AddTime = DateTime.Now
-,
+                AddTime = DateTime.Now,
                 AddWho = "admin",
                 EditTime = DateTime.Now,
                 EditWho = "admin",
@@ -921,7 +923,7 @@ namespace wms.service.Service
                             Layer = layer,
                             Depth = 1,
                             Tunnel = tunnel,
-                            SCRel = "SRM" + tunnel.ToString().PadLeft(2, '0'),
+                            SCRel = "SRM" + 2,
                             ContGrpId = 0,
                             ContGrpBarCode = "",
                             Memo = "",
@@ -1046,7 +1048,7 @@ namespace wms.service.Service
             {
                 MaterialId = stock.MatId,
                 MaterialCode = stock.MatCode,
-                Size = stock.Size,
+                Size = reqEntity.Height,
                 TunnelNum = reqEntity.TunnelNum,
                 WarehuoseId = warehouse.Id,
                 IsMove = wcstask.Type == TaskType.TransferDepot
@@ -1508,6 +1510,7 @@ namespace wms.service.Service
                     billTask.Priority = 0;
                     billTask.Device = "SRM" + location.Tunnel;
                     billTask.AddrFrom = item;
+                    billTask.AddrTo = request.AddTo;
                     billTask.BarCode = stock.ContGrpBarCode;
                     billTask.StartTime = DateTime.Now;
                     billTask.AddTime = DateTime.Now;

+ 24 - 24
wms.sqlsugar/SqlSugarHelper.cs

@@ -18,36 +18,36 @@ namespace wms.sqlsugar
       db =>
       {
 
-          db.GetConnectionScope("pt").Aop.OnLogExecuting = (sql, pars) =>
-          {
-              Console.WriteLine(db.GetConnectionScope("pt").Ado.Connection.ConnectionString + "\r\n " + sql);
-              Console.WriteLine();
-              Console.WriteLine();
-          };
-          db.GetConnectionScope("hj").Aop.OnLogExecuting = (sql, pars) =>
-          {
-              Console.WriteLine(db.GetConnectionScope("hj").Ado.Connection.ConnectionString + "\r\n " + sql);
-              Console.WriteLine();
-              Console.WriteLine();
-          };
+          //db.GetConnectionScope("pt").Aop.OnLogExecuting = (sql, pars) =>
+          //{
+          //    Console.WriteLine(db.GetConnectionScope("pt").Ado.Connection.ConnectionString + "\r\n " + sql);
+          //    Console.WriteLine();
+          //    Console.WriteLine();
+          //};
+          //db.GetConnectionScope("hj").Aop.OnLogExecuting = (sql, pars) =>
+          //{
+          //    Console.WriteLine(db.GetConnectionScope("hj").Ado.Connection.ConnectionString + "\r\n " + sql);
+          //    Console.WriteLine();
+          //    Console.WriteLine();
+          //};
           db.GetConnectionScope("fj").Aop.OnLogExecuting = (sql, pars) =>
           {
               Console.WriteLine(db.GetConnectionScope("fj").Ado.Connection.ConnectionString + "\r\n " + sql);
               Console.WriteLine();
               Console.WriteLine();
           };
-          db.GetConnectionScope("sx").Aop.OnLogExecuting = (sql, pars) =>
-          {
-              Console.WriteLine(db.GetConnectionScope("sx").Ado.Connection.ConnectionString + "\r\n " + sql);
-              Console.WriteLine();
-              Console.WriteLine();
-          };
-          db.GetConnectionScope("cp").Aop.OnLogExecuting = (sql, pars) =>
-          {
-              Console.WriteLine(db.GetConnectionScope("cp").Ado.Connection.ConnectionString + "\r\n " + sql);
-              Console.WriteLine();
-              Console.WriteLine();
-          };
+          //db.GetConnectionScope("sx").Aop.OnLogExecuting = (sql, pars) =>
+          //{
+          //    Console.WriteLine(db.GetConnectionScope("sx").Ado.Connection.ConnectionString + "\r\n " + sql);
+          //    Console.WriteLine();
+          //    Console.WriteLine();
+          //};
+          //db.GetConnectionScope("cp").Aop.OnLogExecuting = (sql, pars) =>
+          //{
+          //    Console.WriteLine(db.GetConnectionScope("cp").Ado.Connection.ConnectionString + "\r\n " + sql);
+          //    Console.WriteLine();
+          //    Console.WriteLine();
+          //};
       });
     }
 }

+ 0 - 6
wms.sqlsugar/model/fj/BaseWarehouse.cs

@@ -32,11 +32,5 @@ namespace wms.sqlsugar.model.fj
         /// </summary>
         [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int TypeNum { get; set; }
-
-        /// <summary>
-        ///  短编号
-        /// </summary>
-        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
-        public int ShortNumber { get; set; }
     }
 }