林豪 左 1 년 전
부모
커밋
fe11723d82

+ 3 - 0
wms.api/Controllers/DBInitController.cs

@@ -5,6 +5,9 @@ using wms.service.IService;
 
 namespace wms.api.Controllers
 {
+    /// <summary>
+    ///  数据库初始化控制器
+    /// </summary>
     [Route("api/[controller]/[action]")]
     [ApiController]
     public class DBInitController : ControllerBase

+ 100 - 26
wms.api/Controllers/FjController.cs

@@ -1,7 +1,7 @@
 using AutoMapper;
-using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using Newtonsoft.Json;
+using SqlSugar;
 using wms.dto;
 using wms.dto.request;
 using wms.dto.request.fj;
@@ -21,22 +21,52 @@ namespace wms.api.Controllers
     [ApiController]
     public class FjController : BaseController
     {
+        /// <summary>
+        ///  分拣服务 逻辑类
+        /// </summary>
         private readonly IFJService _fjService;
+
+        /// <summary>
+        ///  日志
+        /// </summary>
         private readonly ILogger<FjController> _logger;
+
+        /// <summary>
+        ///  映射器
+        /// </summary>
         private readonly IMapper _mapper;
-        static object lockerCurtainProductionOrder = new object();
-        static object lockerCurtainOrderStartCheck = new object();
-        static object lockerSpoolMaterialInfoTrans = new object();
-        static object lockerCurtainProductionStockOut = new object();
-        static object lockerProductionBack = new object();
-        static object lockerErrorMaterialStockOut = new object();
-        static object lockerBGradeMaterialStockOut = new object();
-        static object lockerlockerStockChange = new object();
-        static object lockerManualBuildStockTrans = new object();
-        static object lockerBomInfoTrans = new object();
 
+        #region 锁
+
+        private static object lockerCurtainProductionOrder = new object();
+        private static object lockerCurtainOrderStartCheck = new object();
+        private static object lockerSpoolMaterialInfoTrans = new object();
+        private static object lockerCurtainProductionStockOut = new object();
+        private static object lockerProductionBack = new object();
+        private static object lockerErrorMaterialStockOut = new object();
+        private static object lockerBGradeMaterialStockOut = new object();
+        private static object lockerlockerStockChange = new object();
+
+        /// <summary>
+        ///  人工组盘传输接口
+        /// </summary>
+        private static object lockerManualBuildStockTrans = new object();
+
+        /// <summary>
+        ///  一层工人创建创建空托盘库存
+        /// </summary>
+        private static object lockOneFloorWorkerBuildEmptyPalletsStock = new object();
+
+        private static object lockerBomInfoTrans = new object();
 
+        #endregion 锁
 
+        /// <summary>
+        ///  分拣控制器构造函数
+        /// </summary>
+        /// <param name="fjService">分拣服务 逻辑类</param>
+        /// <param name="logger">日志</param>
+        /// <param name="mapper">映射器</param>
         public FjController(IFJService fjService, ILogger<FjController> logger, IMapper mapper) : base(fjService)
         {
             _fjService = fjService;
@@ -45,7 +75,7 @@ namespace wms.api.Controllers
         }
 
         /// <summary>
-        /// 同步物料基础信息
+        ///  同步物料基础信息
         /// </summary>
         /// <param name="reqDto"></param>
         /// <returns></returns>
@@ -58,7 +88,7 @@ namespace wms.api.Controllers
             if (reqBody.SyncType == 1)
             {
                 reqBody.PageIndex = 1;
-                while (resbody.ResData !=null && resbody.ResData.Any())
+                while (resbody.ResData != null && resbody.ResData.Any())
                 {
                     _fjService.SyncMaterInfo(resbody.ResData);
                     reqBody.PageIndex++;
@@ -107,7 +137,6 @@ namespace wms.api.Controllers
                     {
                         if (_fjService.SyncMaterInfo(resbody.ResData))
                         {
-
                         }
                     }
                 }
@@ -133,6 +162,7 @@ namespace wms.api.Controllers
             _fjService.SyncMaterInfo(_mapper.Map<List<FJSyncMaterInfoResponseItem>>(reqBody.ListInfo));
             return res;
         }
+
         /// <summary>
         /// 机台信息同步接口
         /// </summary>
@@ -149,6 +179,7 @@ namespace wms.api.Controllers
 
             return resbody;
         }
+
         /// <summary>
         /// 帘线生产工单信息传输接口
         /// </summary>
@@ -181,6 +212,7 @@ namespace wms.api.Controllers
         {
             return ConcurrencyReqControl<SpoolMaterialInfoTransRequest, SRes>(lockerSpoolMaterialInfoTrans, "SpoolMaterialInfoTrans" + reqDto.SpoolCode, reqDto.SpoolCode, reqDto, _fjService.SpoolMaterialInfoTrans);
         }
+
         /// <summary>
         /// 湿拉工字轮入库反馈接口
         /// </summary>
@@ -191,7 +223,7 @@ namespace wms.api.Controllers
         {
             var list = _fjService.GetBillFeedbackList(p => p.BillCode == doccode);
             var dtolist = _mapper.Map<List<WetProductStockInFeedBackRequestItem>>(list);
-            var dto = new WetProductStockInFeedBackRequest() { ListInfo = dtolist};
+            var dto = new WetProductStockInFeedBackRequest() { ListInfo = dtolist };
             SRes resbody = JsonConvert.DeserializeObject<SRes>(WmsServiceExportApi(dto));
             List<long> ids = list.Select(p => p.Id).ToList();
             List<string> doccodelist = list.Select(p => p.BillCode).ToList();
@@ -217,6 +249,7 @@ namespace wms.api.Controllers
             }
             return resbody;
         }
+
         /// <summary>
         /// 帘线叫料接口
         /// </summary>
@@ -227,6 +260,7 @@ namespace wms.api.Controllers
         {
             return ConcurrencyReqControl<CurtainProductionStockOutRequest, SRes>(lockerCurtainProductionStockOut, "CurtainProductionStockOut" + reqDto.BillCode, reqDto.BillCode, reqDto, _fjService.CurtainProductionStockOut);
         }
+
         /// <summary>
         /// 叫料信息反馈接口
         /// </summary>
@@ -235,7 +269,7 @@ namespace wms.api.Controllers
         [HttpPost(Name = "CurtainProductionStockOutFeedBack")]
         public SRes CurtainProductionStockOutFeedBack(string doccode)
         {
-            var list = _fjService.GetBillFeedbackList(p => p.BillCode == doccode &&  p.ApiCode == "CurtainProductionStockOutFeedBack" && p.PostResult == 0 || (p.PostResult == 2 && p.PostNum < 5));
+            var list = _fjService.GetBillFeedbackList(p => p.BillCode == doccode && p.ApiCode == "CurtainProductionStockOutFeedBack" && p.PostResult == 0 || (p.PostResult == 2 && p.PostNum < 5));
             var dtolist = _mapper.Map<List<CurtainProductionStockOutFeedBackRequestItem>>(list);
             var dto = new CurtainProductionStockOutFeedBackRequest() { ListInfo = dtolist };
             SRes resbody = JsonConvert.DeserializeObject<SRes>(WmsServiceExportApi(dto));
@@ -263,6 +297,7 @@ namespace wms.api.Controllers
             }
             return resbody;
         }
+
         /// <summary>
         /// 生产退料/余料接口
         /// </summary>
@@ -273,6 +308,7 @@ namespace wms.api.Controllers
         {
             return ConcurrencyReqControl<FjProductionBackRequest, SRes>(lockerProductionBack, "ProductionBack" + reqDto.BillCode, reqDto.BillCode, reqDto, _fjService.ProductionBack);
         }
+
         /// <summary>
         /// 余料反馈接口
         /// </summary>
@@ -287,6 +323,7 @@ namespace wms.api.Controllers
             SRes resbody = JsonConvert.DeserializeObject<SRes>(WmsServiceExportApi(dto));
             return resbody;
         }
+
         /// <summary>
         /// 异常料出库单传输接口
         /// </summary>
@@ -297,6 +334,7 @@ namespace wms.api.Controllers
         {
             return ConcurrencyReqControl<FjErrorMaterialStockOutRequest, SRes>(lockerErrorMaterialStockOut, "ErrorMaterialStockOut" + reqDto.BillCode, reqDto.BillCode, reqDto, _fjService.ErrorMaterialStockOut);
         }
+
         /// <summary>
         /// 异常料出库反馈接口
         /// </summary>
@@ -311,6 +349,7 @@ namespace wms.api.Controllers
             SRes resbody = JsonConvert.DeserializeObject<SRes>(WmsServiceExportApi(dto));
             return resbody;
         }
+
         /// <summary>
         /// B站叫料单传输接口
         /// </summary>
@@ -321,6 +360,7 @@ namespace wms.api.Controllers
         {
             return ConcurrencyReqControl<BGradeMaterialStockOutRequest, SRes>(lockerBGradeMaterialStockOut, "BGradeMaterialStockOut" + reqDto.BillCode, reqDto.BillCode, reqDto, _fjService.BGradeMaterialStockOut);
         }
+
         /// <summary>
         /// B站出库反馈接口
         /// </summary>
@@ -346,6 +386,7 @@ namespace wms.api.Controllers
         {
             return ConcurrencyReqControl<FjStockChangeRequest, SRes>(lockerlockerStockChange, "StockChange" + reqDto.BillCode, reqDto.BillCode, reqDto, _fjService.StockChange);
         }
+
         /// <summary>
         /// 改判反馈接口
         /// </summary>
@@ -360,6 +401,7 @@ namespace wms.api.Controllers
             SRes resbody = JsonConvert.DeserializeObject<SRes>(WmsServiceExportApi(dto));
             return resbody;
         }
+
         /// <summary>
         /// 实时库存查询接口
         /// </summary>
@@ -385,16 +427,18 @@ namespace wms.api.Controllers
             SRes resbody = JsonConvert.DeserializeObject<SRes>(WmsServiceExportApi(dto));
             return resbody;
         }
-        /// <summary>
-        /// 人工组盘传输接口
-        /// </summary>
-        /// <param name="reqDto"></param>
-        /// <returns></returns>
-        [HttpPost]
-        public SRes ManualBuildStockTrans(ManualBuildStockTransRequest reqDto)
-        {
-            return ConcurrencyReqControl<ManualBuildStockTransRequest, SRes>(lockerManualBuildStockTrans, "ManualBuildStockTrans" + reqDto.PalletCode, reqDto.PalletCode, reqDto, _fjService.ManualBuildStockTrans);
-        }
+
+        ///// <summary>
+        ///// 人工组盘传输接口
+        ///// </summary>
+        ///// <param name="reqDto"></param>
+        ///// <returns></returns>
+        //[HttpPost]
+        //public SRes ManualBuildStockTrans(BuildStockTransRequest reqDto)
+        //{
+        //    return ConcurrencyReqControl<BuildStockTransRequest, SRes>(lockerManualBuildStockTrans, "ManualBuildStockTrans" + reqDto.PalletCode, reqDto.PalletCode, reqDto, _fjService.ManualBuildStockTrans);
+        //}
+
         /// <summary>
         /// 条码信息查询接口
         /// </summary>
@@ -405,6 +449,7 @@ namespace wms.api.Controllers
         {
             return "";
         }
+
         /// <summary>
         /// BOM信息传输接口
         /// </summary>
@@ -415,5 +460,34 @@ namespace wms.api.Controllers
         {
             return ConcurrencyReqControl<BomInfoTransRequest, SRes>(lockerBomInfoTrans, "BomInfoTrans" + reqDto.BomCode, reqDto.BomCode, reqDto, _fjService.BomInfoTrans);
         }
+
+        #region 一楼入库任务生成接口
+
+        /// <summary>
+        ///   一楼空托盘人工入库任务创建
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public SRes OneFloorWorkerBuildEmptyPalletsStock(FJBuildEmptyPalletsStockRequest reqDto)
+        {
+            return ConcurrencyReqControl<FJBuildEmptyPalletsStockRequest, SRes>(lockOneFloorWorkerBuildEmptyPalletsStock, "OneFloorWorkerBuildEmptyPalletsStock" + reqDto.PalletCode, reqDto.PalletCode, reqDto, _fjService.OneFloorWorkerBuildEmptyPalletsStock);
+        }
+
+        #endregion 一楼入库任务生成接口
+
+        #region 生成货位基础配置
+
+        /// <summary>
+        ///  分拣自动生成货位信息
+        /// </summary>
+        [HttpPost]
+        public void FJAutoGenerateLocation()
+        {
+            _fjService.FJ1NorthAutoGenerateLocation();
+            _fjService.FJSouthAutoGenerateLocation();
+        }
+
+        #endregion 生成货位基础配置
     }
 }

+ 2 - 2
wms.api/appsettings.json

@@ -21,7 +21,7 @@
       "IsAutoCloseConnection": true
     },
     {
-      "ConnectionString": "Data Source=.;User ID=sa;Password=Aa123456;Initial Catalog=fjwms",
+      "ConnectionString": "Data Source=LAPTOP-D9OEIS1K\\SQLEXPRESS;User ID=sa;Password=7166766;Initial Catalog=fjwms",
       "DbType": 1,
       "ConfigId": "fj",
       "IsAutoCloseConnection": true
@@ -39,7 +39,7 @@
       "IsAutoCloseConnection": true
     }
   ],
-  "CSRedisConnectString": "127.0.0.1[:6379],password=123456,defaultDatabase=0",
+  "CSRedisConnectString": "127.0.0.1[:6379],defaultDatabase=0",
   "Serilog": {
     "MinimumLevel": {
       "Default": "Debug", //最小记录日志级别

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

@@ -22,4 +22,8 @@
     <ProjectReference Include="..\wms.util\wms.util.csproj" />
   </ItemGroup>
 
+  <ItemGroup>
+    <Folder Include="Job\FJ\" />
+  </ItemGroup>
+
 </Project>

+ 101 - 15
wms.dto/const/EnumClass.cs

@@ -1,15 +1,11 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Text;
+using System.ComponentModel;
 
 namespace wms.dto
 {
     public class EnumClass
-    { 
-
-    
+    {
     }
+
     /// <summary>
     /// 货位类型
     /// </summary>
@@ -19,15 +15,18 @@ namespace wms.dto
         /// 立库货位
         /// </summary>
         LocationType_StorageLocation = 1,
+
         /// <summary>
         /// 平库货位
         /// </summary>
         LocationType_GroudLocation = 2,
+
         /// <summary>
         /// 虚拟货位
         /// </summary>
         LocationType_VirtualLocation1 = 3,
     }
+
     /// <summary>
     /// 货位是否启用
     /// </summary>
@@ -37,11 +36,13 @@ namespace wms.dto
         /// 启用
         /// </summary>
         LocationInvoke = 0,
+
         /// <summary>
         /// 停用
         /// </summary>
         LocationStopped = 1
     }
+
     /// <summary>
     /// 货位状态
     /// </summary>
@@ -51,25 +52,28 @@ namespace wms.dto
         /// 货位空
         /// </summary>
         LocationState_Empty = 1,
+
         /// <summary>
         /// 货位有货
         /// </summary>
         LocationState_Full = 2,
+
         /// <summary>
         /// 入库锁
         /// </summary>
         LocationState_StockIn = 3,
+
         /// <summary>
         /// 出库锁
         /// </summary>
         LocationState_StockOut = 4,
+
         /// <summary>
         /// 移库锁
         /// </summary>
         LocationState_StockMove = 5,
     }
 
-
     public enum ResponseStatusCodeEnum
     {
         /// <summary>
@@ -95,6 +99,7 @@ namespace wms.dto
         /// </summary>
         [Description("参数错误")]
         ErrParam = 203,
+
         /// <summary>
         /// 语法异常
         /// </summary>
@@ -112,6 +117,7 @@ namespace wms.dto
         /// </summary>
         [Description("失败")]
         Fail = 206,
+
         /// <summary>
         /// 账号密码错误或账号不存在
         /// </summary>
@@ -130,133 +136,156 @@ namespace wms.dto
         [Description("没有传过账凭证号")]
         NotReqId = 1003,
 
-
         /// <summary>
         /// 仓库编码不存在
         /// </summary>
         [Description("仓库编码不存在")]
         WarehouseCodeNotExist = 2001,
+
         /// <summary>
         /// 容器码不能为空
         /// </summary>
         [Description("容器码不能为空")]
         ContainerCodeNotEmpty = 2002,
+
         /// <summary>
         /// 该托盘号已在库中,请检查托盘号是否贴重复
         /// </summary>
         [Description("该托盘号已在库中,请检查托盘号是否贴重复")]
         BarcodeContainerRepeat = 2003,
+
         /// <summary>
         /// 物料条码重复组盘
         /// </summary>
         [Description("物料条码重复组盘")]
         GroupStockDetailMaterialBarCodeExist = 2004,
+
         /// <summary>
         /// 物料编码信息不存在
         /// </summary>
         [Description("物料编码信息不存在")]
         MaterInfoNotExist = 2005,
+
         /// <summary>
         /// 不存在该任务
         /// </summary>
         [Description("不存在该任务")]
         WcsTaskNotExist = 2006,
+
         /// <summary>
         /// 组盘信息不存在
         /// </summary>
         [Description("组盘信息不存在")]
         StockNotExist = 2007,
+
         /// <summary>
         /// 没有可用库位
         /// </summary>
         [Description("没有可用库位")]
         NotEnoughLocation = 2008,
+
         /// <summary>
         /// 库区编码不存在
         /// </summary>
         [Description("库区编码不存在")]
         WareZoneCodeNotExist = 2009,
+
         /// <summary>
         /// 货位编码不存在
         /// </summary>
         [Description("货位编码不存在")]
         WareLocationCodeNotExist = 2010,
+
         /// <summary>
         /// 物料编码不存在
         /// </summary>
         [Description("物料编码不存在")]
         BaseMaterCodeNotExist = 2011,
+
         /// <summary>
         /// 单位编码不存在
         /// </summary>
         [Description("单位编码不存在")]
         BaseUnitCodeNotExist = 2012,
+
         /// <summary>
         /// 条码不存在
         /// </summary>
         [Description("条码不存在")]
         BaseBarcodeNotExist = 2013,
+
         /// <summary>
         /// 明细数据必须传参
         /// </summary>
         [Description("明细数据必须传参")]
         DocDetailNotExist = 2014,
-     
+
         /// <summary>
         /// 当前组盘状态不是已组盘,不允许取消
         /// </summary>
         [Description("当前组盘状态不是已组盘,不允许取消")]
         StockStateNotBuildUp = 2015,
+
         /// <summary>
         /// 当前任务是已完成或已取消状态
         /// </summary>
         [Description("当前任务是已完成或已取消状态")]
         WcsTaskStateIsComplete = 2016,
+
         /// <summary>
         /// 组盘状态是已出库或已入库
         /// </summary>
         [Description("组盘状态是已出库或已入库")]
         StockStateFail = 2017,
+
         /// <summary>
         /// 当前入库任务还未分配货位,不允许完成
         /// </summary>
         [Description("当前入库任务还未分配货位,不允许完成")]
         InTaskNotLocation = 2018,
+
         /// <summary>
         /// 当前任务不是新建状态,只能取消新建状态的任务
         /// </summary>
         [Description("当前任务不是新建状态,只能取消新建状态的任务")]
         WcsTaskStateNotCreate = 2019,
+
         /// <summary>
         /// 单据不存在
         /// </summary>
         [Description("单据不存在")]
         DocNoCodeNotExist = 2019,
+
         /// <summary>
         /// 单据状态不是新增或执行,不允许结单
         /// </summary>
         [Description("单据状态不是新增或执行,不允许结单")]
         DocumentStateNotFinish = 2020,
+
         /// <summary>
         /// 单据存在新建或执行中的任务,不允许结单
         /// </summary>
         [Description("单据存在新建或执行中的任务,不允许结单")]
         IsTaskNotFinish = 2021,
+
         /// <summary>
         /// 存在进行中任务,不允许解绑
         /// </summary>
         [Description("存在进行中任务,不允许解绑")]
         IsTaskNotUnbounding = 2022,
+
         /// <summary>
         /// 没有当前设备信息,请进行维护
         /// </summary>
         [Description("没有当前设备信息,请进行维护")]
         EquipInfoNotExist = 2023,
+
         /// <summary>
         /// 存在当前任务
         /// </summary>
         [Description("存在当前任务")]
         WcsTaskExist = 2024,
+
         /// <summary>
         /// 组盘状态不对,请检查当前的组盘状态
         /// </summary>
@@ -268,22 +297,26 @@ namespace wms.dto
         /// </summary>
         [Description("该接口只允许出库任务调用")]
         OnlyStockOutAvil = 2026,
+
         /// <summary>
         /// 当前单据状态不支持修改
         /// </summary>
         [Description("当前状态不支持修改")]
         StateNotUpdate = 2027,
+
         /// <summary>
         /// 库存不足
         /// </summary>
         [Description("库存不足")]
         NotEnoughStock = 2028,
+
         /// <summary>
         /// 没有传巷道号
         /// </summary>
         [Description("没有传巷道号")]
         NotTunnelNum = 2029,
     }
+
     /// <summary>
     /// 单据类型
     /// </summary>
@@ -294,26 +327,31 @@ namespace wms.dto
         /// </summary>
         [Description("合金镀铜满轮入库单")]
         DocType_HJ_CopperProductStockIn = 1,
+
         /// <summary>
         /// 湿拉产线领料
         /// </summary>
         [Description("湿拉产线领料")]
-        DocType_HJ_WetLinePickMaterApply= 2,
+        DocType_HJ_WetLinePickMaterApply = 2,
+
         /// <summary>
         /// 湿拉产线退料
         /// </summary>
         [Description("湿拉产线退料单")]
         DocType_HJ_WetLineBack = 3,
+
         /// <summary>
         /// 湿拉产线余料
         /// </summary>
         [Description("湿拉产线余料单")]
         DocType_HJ_WetLineLeft = 4,
+
         /// <summary>
         /// 合金库库存改判
         /// </summary>
         [Description("合金库库存改判")]
         DocType_HJ_WetLineStockChange = 5,
+
         /// <summary>
         /// 特殊出库领料
         /// </summary>
@@ -325,25 +363,26 @@ namespace wms.dto
         /// </summary>
         [Description("湿拉入库单")]
         DocType_FJ_WetStockIn = 7,
+
         /// <summary>
         /// 合金空轮初始化入库单
         /// </summary>
         [Description("合金空轮初始化入库单")]
         DocType_HJ_EmptyContStockIn = 8,
 
-
         /// <summary>
         /// 帘线领料单
         /// </summary>
         [Description("帘线领料单")]
         DocType_FJ_CurtainProductionStockOut = 11,
+
         /// <summary>
         /// 帘线工序工单
         /// </summary>
         [Description("帘线工序工单")]
         DocType_FJ_CurtainProduction = 12,
-
     }
+
     /// <summary>
     /// 盘条单据类型
     /// </summary>
@@ -354,22 +393,26 @@ namespace wms.dto
         /// </summary>
         [Description("采购到货单")]
         Purchase = 1,
+
         /// <summary>
         /// 采购退货单
         /// </summary>
         [Description("采购退货单")]
         PurReturn = 2,
+
         /// <summary>
         /// 到货重挂清单
         /// </summary>
         [Description("到货重挂清单")]
         PurError = 3,
+
         /// <summary>
         /// 生产领料单
         /// </summary>
         [Description("生产领料单")]
         DocType_PT_ProductionStockOut = 4,
     }
+
     /// <summary>
     /// 单据状态
     /// </summary>
@@ -380,22 +423,26 @@ namespace wms.dto
         /// </summary>
         [Description("新增")]
         DocState_Create = 1,
+
         /// <summary>
         /// 执行中
         /// </summary>
         [Description("执行中")]
         DocState_Execute = 2,
+
         /// <summary>
         /// 完成
         /// </summary>
         [Description("完成")]
         DocState_Complete = 3,
+
         /// <summary>
         /// 停止
         /// </summary>
         [Description("停止")]
         DocState_Stop = 4,
     }
+
     /// <summary>
     /// 容器类型
     /// </summary>
@@ -406,11 +453,13 @@ namespace wms.dto
         /// </summary>
         [Description("RFID")]
         ContainerType_RFID = 1,
+
         /// <summary>
         /// 工字轮条码
         /// </summary>
         [Description("Spool")]
         ContainerType_Spool = 2,
+
         /// <summary>
         /// 工字轮条码
         /// </summary>
@@ -418,7 +467,6 @@ namespace wms.dto
         ContainerType_Pallet = 3,
     }
 
-
     /// <summary>
     /// 任务类型
     /// </summary>
@@ -448,12 +496,12 @@ namespace wms.dto
         [Description("移库")]
         TransferDepot = 3,
 
-     
         /// <summary>
         /// 输送
         /// </summary>
         [Description("输送")]
         Delivery = 5,
+
         /// <summary>
         ///  空轮初始化
         /// </summary>
@@ -514,6 +562,7 @@ namespace wms.dto
         [Description("已取消")]
         Cancel = 106
     }
+
     ///// <summary>
     ///// 任务类型
     ///// </summary>
@@ -577,6 +626,7 @@ namespace wms.dto
         /// </summary>
         [Description("已组盘")]
         InvEcecState_BuildUp = 1,
+
         ///// <summary>
         ///// 入库中
         ///// </summary>
@@ -587,17 +637,20 @@ namespace wms.dto
         /// </summary>
         [Description("已入库")]
         InvEcecState_In = 3,
+
         /// <summary>
         /// 出库中
         /// </summary>
         [Description("出库中")]
         InvEcecState_OutGoing = 4,
+
         /// <summary>
         /// 已出库
         /// </summary>
         [Description("已出库")]
         InvEcecState_Out = 5,
     }
+
     /// <summary>
     ///  出库任务类型
     /// </summary>
@@ -618,6 +671,7 @@ namespace wms.dto
         /// </summary>
         半自动手动出库任务 = 2
     }
+
     /// <summary>
     /// 库存锁定状态
     /// </summary>
@@ -628,6 +682,7 @@ namespace wms.dto
         /// </summary>
         [Description("正常")]
         InvState_Normal,
+
         /// <summary>
         /// 锁定
         /// </summary>
@@ -645,41 +700,49 @@ namespace wms.dto
         /// </summary>
         [Description("默认")]
         TaskBusType_HJ_Def = 0,
+
         /// <summary>
         /// 镀铜一楼取满
         /// </summary>
         [Description("镀铜一楼取满")]
         TaskBusType_HJ_OneFloorLineStockIn = 1,
+
         /// <summary>
         /// 一楼立库出空轮
         /// </summary>
         [Description("一楼立库出空轮")]
         TaskBusType_HJ_OneFloorEmptySpoolOut = 2,
+
         /// <summary>
         /// 镀铜线补空轮
         /// </summary>
         [Description("镀铜线补空轮")]
         TaskBusType_HJ_OneFloorEmptySpoolToLine = 3,
+
         /// <summary>
         /// 手动出库
         /// </summary>
         [Description("手动出库")]
         TaskBusType_HJ_ManualOut = 4,
+
         /// <summary>
         /// 二楼空轮初始化入库
         /// </summary>
         [Description("二楼空轮初始化入库")]
         TaskBusType_HJ_EmptySpoolStockIn = 5,
+
         /// <summary>
         /// 二楼湿拉线退料回立库
         /// </summary>
         [Description("二楼湿拉线退料回立库")]
         TaskBusType_HJ_WetBack = 6,
+
         /// <summary>
         /// 二楼湿拉线余料回立库
         /// </summary>
         [Description("二楼湿拉线余料回立库")]
         TaskBusType_HJ_WetLeft = 7,
+
         /// <summary>
         /// 二楼湿拉空轮回立库
         /// </summary>
@@ -697,36 +760,43 @@ namespace wms.dto
         /// </summary>
         [Description("质检回库")]
         TaskBusType_HJ_QualityStockIn = 10,
+
         /// <summary>
         /// 其他入库
         /// </summary>
         [Description("其他入库")]
         TaskBusType_HJ_OtherStockIn = 11,
+
         /// <summary>
         /// 采购550工字轮入库
         /// </summary>
         [Description("采购550工字轮入库")]
         TaskBusType_HJ_PurchaseSpoolStockIn = 11,
+
         /// <summary>
         /// 重挂入库
         /// </summary>
         [Description("重挂入库")]
         TaskBusType_HJ_AnewStockIn = 12,
+
         /// <summary>
         /// 质检领料
         /// </summary>
         [Description("质检领料")]
         TaskBusType_HJ_QualityOut = 13,
+
         /// <summary>
         /// 呆滞料出库
         /// </summary>
         [Description("呆滞料出库")]
         TaskBusType_HJ_DullMaterOut = 14,
+
         /// <summary>
         /// 重挂出库
         /// </summary>
         [Description("重挂出库")]
         TaskBusType_HJ_AnewOut = 15,
+
         /// <summary>
         /// PDA指定出库
         /// </summary>
@@ -745,6 +815,7 @@ namespace wms.dto
         [Description("移库")]
         TaskBusType_HJ_Move = 100,
     }
+
     public enum PtTaskBusType
     {
         /// <summary>
@@ -752,27 +823,32 @@ namespace wms.dto
         /// </summary>
         [Description("质检回库")]
         TaskBusType_PT_QualityStockIn = 1,
+
         /// <summary>
         /// 其他入库
         /// </summary>
         [Description("其他入库")]
         TaskBusType_PT_OtherStockIn = 2,
+
         /// <summary>
         /// 采购入库单
         /// </summary>
         [Description("采购入库单")]
         TaskBusType_PT_PurchaseStockIn = 3,
+
         /// <summary>
         /// 重挂入库
         /// </summary>
         [Description("重挂入库")]
         TaskBusType_PT_AnewStockIn = 4,
+
         /// <summary>
         /// 生产领料
         /// </summary>
         [Description("生产领料")]
         TaskBusType_PT_ProductionStockOut = 5,
     }
+
     public enum FackbeekType
     {
         /// <summary>
@@ -780,16 +856,19 @@ namespace wms.dto
         /// </summary>
         [Description("合金一楼满轮入库反馈")]
         InterfaceType_HJ_1F_StockIn,
+
         /// <summary>
         /// 合金二楼退料入库反馈
         /// </summary>
         [Description("合金二楼退料入库反馈")]
         InterfaceType_HJ_2F_BackStockIn,
+
         /// <summary>
         /// 合金二楼余料入库反馈
         /// </summary>
         [Description("合金二楼余料入库反馈")]
         InterfaceType_HJ_2F_LeftStockIn,
+
         /// <summary>
         /// 改判反馈
         /// </summary>
@@ -804,16 +883,19 @@ namespace wms.dto
         /// </summary>
         [Description("采购到货单入库反馈")]
         InterfaceType_PT_PurchaseStockIn,
+
         /// <summary>
         /// 采购退货出库反馈
         /// </summary>
         [Description("采购退货出库反馈")]
         InterfaceType_PT_PurchaseBack,
+
         /// <summary>
         /// 重挂反馈接口
         /// </summary>
         [Description("重挂反馈接口")]
         InterfaceType_PT_AnewStockIn,
+
         /// <summary>
         /// 改判反馈
         /// </summary>
@@ -835,6 +917,7 @@ namespace wms.dto
         [Description("出库")]
         Out = 2,
     }
+
     public enum ContGrpType
     {
         /// <summary>
@@ -849,6 +932,7 @@ namespace wms.dto
         [Description("出库")]
         EmptyCon = 2,
     }
+
     /// <summary>
     /// 移库返回
     /// </summary>
@@ -859,11 +943,13 @@ namespace wms.dto
         /// </summary>
         [Description("失败")]
         失败 = 0,
+
         /// <summary>
         /// 允许2升位执行
         /// </summary>
         [Description("允许2升位执行")]
         允许2升位执行 = 1,
+
         /// <summary>
         /// 执行移库任务
         /// </summary>

+ 196 - 0
wms.dto/const/FJEnumClass.cs

@@ -0,0 +1,196 @@
+using System.ComponentModel;
+
+namespace wms.dto
+{
+    /// <summary>
+    ///  分拣业务类型
+    /// </summary>
+    public enum FJTaskBusType
+    {
+        /// <summary>
+        ///  默认
+        /// </summary>
+        [Description("默认")]
+        def = 0,
+
+        /// <summary>
+        ///  一楼人工入空托盘
+        /// </summary>
+        [Description("一楼人工入空托盘")]
+        OneLayerManualPallets = 1,
+
+        /// <summary>
+        ///  一楼自动入空托盘
+        /// </summary>
+        [Description("一楼自动入空托盘")]
+        OneLayerAutoPallets = 2
+    }
+
+    /// <summary>
+    ///  托盘类型
+    /// </summary>
+    public enum PalletType
+    {
+        /// <summary>
+        ///  09使用的托盘
+        /// </summary>
+        [Description("09使用的托盘")]
+        Pallet09 = 1,
+
+        /// <summary>
+        ///  非09使用的托盘
+        /// </summary>
+        [Description("非09使用的托盘")]
+        PalletNo09 = 2,
+    }
+
+    /// <summary>
+    /// 货位状态
+    /// </summary>
+    public enum FJLocationState
+    {
+        /// <summary>
+        ///  货位空
+        /// </summary>
+        [Description("货位空")]
+        LocationState_Empty = 1,
+
+        /// <summary>
+        ///  货位有货
+        /// </summary>
+        [Description("货位有货")]
+        LocationState_Full = 2,
+
+        /// <summary>
+        ///  入库锁
+        /// </summary>
+        [Description("入库锁")]
+        LocationState_StockIn = 3,
+
+        /// <summary>
+        ///  出库锁
+        /// </summary>
+        [Description("出库锁")]
+        LocationState_StockOut = 4,
+
+        /// <summary>
+        ///  移库锁
+        /// </summary>
+        [Description("移库锁")]
+        LocationState_StockMove = 5,
+    }
+
+    /// <summary>
+    /// 容器类型
+    /// </summary>
+    public enum FJContainerType
+    {
+        /// <summary>
+        ///  工字轮
+        /// </summary>
+        [Description("工字轮")]
+        ContainerType_IShapedWheel = 1,
+
+        /// <summary>
+        ///  托盘
+        /// </summary>
+        [Description("托盘")]
+        ContainerType_Pallet = 2,
+    }
+
+    /// <summary>
+    /// 库存状态
+    /// </summary>
+    public enum FJInvState
+    {
+        /// <summary>
+        /// 已组盘
+        /// </summary>
+        [Description("已组盘")]
+        InvEcecState_BuildUp = 1,
+
+        /// <summary>
+        /// 已入库
+        /// </summary>
+        [Description("已入库")]
+        InvEcecState_In = 2,
+
+        /// <summary>
+        /// 出库中
+        /// </summary>
+        [Description("出库中")]
+        InvEcecState_OutGoing = 3,
+
+        /// <summary>
+        /// 已出库
+        /// </summary>
+        [Description("已出库")]
+        InvEcecState_Out = 4,
+    }
+
+    /// <summary>
+    ///  组盘类型
+    /// </summary>
+    public enum FJContGrpType
+    {
+        /// <summary>
+        ///  物料盘
+        /// </summary>
+        [Description("入库")]
+        Material = 1,
+
+        /// <summary>
+        ///  空盘
+        /// </summary>
+        [Description("出库")]
+        EmptyCon = 2,
+    }
+
+    /// <summary>
+    /// 库存锁定状态
+    /// </summary>
+    public enum FJInvLockState
+    {
+        /// <summary>
+        /// 正常
+        /// </summary>
+        [Description("正常")]
+        InvState_Normal,
+
+        /// <summary>
+        /// 锁定
+        /// </summary>
+        [Description("锁定")]
+        InvState_Lock,
+    }
+
+    /// <summary>
+    /// 单据类型
+    /// </summary>
+    public enum FJDocType
+    {
+        /// <summary>
+        ///  空托盘入库
+        /// </summary>
+        [Description("空托盘入库")]
+        DocType_FJ_EmptyPalletsStockIn = 1,
+    }
+
+    /// <summary>
+    ///  出入库类型
+    /// </summary>
+    public enum FJInvInOutType
+    {
+        /// <summary>
+        /// 入库
+        /// </summary>
+        [Description("入库")]
+        In = 1,
+
+        /// <summary>
+        /// 出库
+        /// </summary>
+        [Description("出库")]
+        Out = 2,
+    }
+}

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

@@ -0,0 +1,90 @@
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+
+namespace wms.dto.request.fj
+{
+    /// <summary>
+    ///  创建空托盘库存 请求体
+    /// </summary>
+    public class FJBuildEmptyPalletsStockRequest : BaseRequest
+    {
+        /// <summary>
+        ///  托盘编码
+        /// </summary>
+        [Required(ErrorMessage = "{0} 不可为空")]
+        public string PalletCode { get; set; }
+
+        /// <summary>
+        ///  托盘类型
+        /// </summary>
+        public PalletType PalletType { get; set; }
+
+        /// <summary>
+        ///  入库起始地址
+        /// </summary>
+        [Required(ErrorMessage = "{0} 不可为空")]
+        public string StartLoc { get; set; }
+
+        /// <summary>
+        ///  仓库编码
+        /// </summary>
+        [Required(ErrorMessage = "{0} 不可为空")]
+        public string WareCode { get; set; }
+
+        /// <summary>
+        ///  托盘数量
+        /// </summary>
+        [Description("托盘数量")]
+        public string PalletNum { get; set; }
+    }
+
+    /// <summary>
+    ///  FJ构建空托库存
+    /// </summary>
+    public class FJBuildEmptyPalletsStockDto
+    {
+        /// <summary>
+        ///  托盘编码
+        /// </summary>
+        [Required(ErrorMessage = "{0} 不可为空")]
+        public string PalletCode { get; set; }
+
+        /// <summary>
+        ///  托盘类型
+        /// </summary>
+        public PalletType PalletType { get; set; }
+
+        /// <summary>
+        ///  托盘数量
+        /// </summary>
+        [Description("托盘数量")]
+        public string PalletNum { get; set; }
+
+        /// <summary>
+        ///  入库起始地址
+        /// </summary>
+        [Required(ErrorMessage = "{0} 不可为空")]
+        public string StartLoc { get; set; }
+
+        /// <summary>
+        ///  仓库编码
+        /// </summary>
+        [Required(ErrorMessage = "{0} 不可为空")]
+        public string WareCode { get; set; }
+
+        /// <summary>
+        /// 楼层
+        /// </summary>
+        public int Floor { get; set; }
+
+        /// <summary>
+        ///  业务类型
+        /// </summary>
+        public FJTaskBusType BusType { get; set; }
+
+        /// <summary>
+        /// 更新时间
+        /// </summary>
+        public string? UpdatedTime { get; set; }
+    }
+}

+ 68 - 0
wms.dto/request/fj/CreateStockInWcsTaskRequest.cs

@@ -0,0 +1,68 @@
+namespace wms.dto.request
+{
+    /// <summary>
+    ///  创建WCS入库任务
+    /// </summary>
+    public class FJCreateStockInWcsTaskRequest
+    {
+        /// <summary>
+        /// 容器条码
+        /// </summary>
+        public string ContGrpBarCode { get; set; }
+
+        /// <summary>
+        /// 组盘主表ID
+        /// </summary>
+        public long ContGrpId { get; set; }
+
+        /// <summary>
+        /// 仓库编码
+        /// </summary>
+        public string WarehouseCode { get; set; }
+
+        /// <summary>
+        ///  数量
+        /// </summary>
+        public decimal Qty { get; set; }
+
+        /// <summary>
+        /// 单据号
+        /// </summary>
+        public string DocCode { get; set; }
+
+        /// <summary>
+        ///  单据订单
+        /// </summary>
+        public long DocId { get; set; }
+
+        /// <summary>
+        /// 设备编号
+        /// </summary>
+        public string EquCode { get; set; }
+
+        /// <summary>
+        /// 业务类型
+        /// </summary>
+        public string BusType { get; set; }
+
+        /// <summary>
+        ///  楼层
+        /// </summary>
+        public int Floor { get; set; }
+
+        /// <summary>
+        ///  产线
+        /// </summary>
+        public string ProLine { get; set; }
+
+        /// <summary>
+        ///  物料号
+        /// </summary>
+        public string MatCode { get; set; }
+
+        /// <summary>
+        ///  材料号
+        /// </summary>
+        public string MaterialCode { get; set; }
+    }
+}

+ 15 - 0
wms.dto/request/fj/FJEnteMainLineRequest.cs

@@ -0,0 +1,15 @@
+using System.Collections.Generic;
+
+namespace wms.dto.request.fj
+{
+    /// <summary>
+    ///  工字轮/芯股进入主线扫码
+    /// </summary>
+    public class FJEnteMainLineRequest
+    {
+        /// <summary>
+        ///  工字轮条码集合
+        /// </summary>
+        public List<string> IShapedWheelCodes { get; set; }
+    }
+}

+ 0 - 75
wms.dto/request/fj/ManualBuildStockTransRequest.cs

@@ -1,75 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace wms.dto.request.fj
-{
-    public class ManualBuildStockTransRequest:BaseRequest
-    {
-        /// <summary>
-        /// 托盘号
-        /// </summary>
-        public string PalletCode { get; set; }
-        /// <summary>
-        /// 货位
-        /// </summary>
-        public string LocCode { get; set; }
-        public List<ManualBuildStockTransRequestItem> ListInfo { get; set; }
-    }
-    public class ManualBuildStockTransRequestItem
-    { 
-        /// <summary>
-        /// 工字轮条码
-        /// </summary>
-        public string SpoolCode { get; set; }
-        /// <summary>
-        /// 材料号
-        /// </summary>
-        public string MatBarCode { get; set; }
-        /// <summary>
-        /// 物料编码
-        /// </summary>
-        public string MatCode { get; set; }
-        /// <summary>
-        /// 类型
-        /// </summary>
-        public string BusType { get; set; }
-        /// <summary>
-        /// 工字轮型号
-        /// </summary>
-        public string SpoolType { get; set; }
-        /// <summary>
-        /// 生产日期
-        /// </summary>
-        public DateTime ProductDate { get; set; }
-        /// <summary>
-        /// 时效期
-        /// </summary>
-        public decimal HoldDuration { get; set; }
-        /// <summary>
-        /// 等级
-        /// </summary>
-        public string Grade { get; set; }
-        /// <summary>
-        /// 长度
-        /// </summary>
-        public decimal Length { get; set; }
-        /// <summary>
-        /// 重量
-        /// </summary>
-        public decimal Weight { get; set; }
-        /// <summary>
-        /// 高度
-        /// </summary>
-        public decimal Height { get; set; }
-        /// <summary>
-        /// 是否快投
-        /// </summary>
-        public bool IsFast { get; set; }
-        /// <summary>
-        /// 单/双丝
-        /// </summary>
-        public string SilkType { get; set; }
-
-    }
-}

+ 13 - 0
wms.dto/response/fj/FJBuildEmptyPalletsStockResponse.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace wms.dto.response.fj
+{
+    /// <summary>
+    ///  
+    /// </summary>
+    public class FJBuildEmptyPalletsStockResponse:SRes
+    {
+    }
+}

+ 41 - 2
wms.service/IService/IFJService.cs

@@ -1,7 +1,6 @@
 using System;
 using System.Collections.Generic;
 using System.Linq.Expressions;
-using System.Text;
 using wms.dto.request.fj;
 using wms.dto.response;
 using wms.dto.response.fj;
@@ -10,35 +9,75 @@ using wms.sqlsugar.model.fj;
 
 namespace wms.service.IService
 {
+    /// <summary>
+    ///  分拣服务接口
+    /// </summary>
     public interface IFJService
     {
         public string GetSysConfigContentByCode(string code);
+
         public bool SyncMaterInfo(List<FJSyncMaterInfoResponseItem> ResData);
+
         public bool SyncMachineInfo(List<SyncMachineInfoResponseItem> ResData);
+
         public fjSysConfig GetSysConfigByCode(string code);
+
         public fjSysConfig GetSysConfigByExpression(Expression<Func<fjSysConfig, bool>> WhereExpression);
+
         public fjBaseMater GetBaseMaterByExpression(Expression<Func<fjBaseMater, bool>> WhereExpression);
+
         /// <summary>
         /// 获取反馈信息列表
         /// </summary>
         /// <param name="WhereExpression"></param>
         /// <returns></returns>
         public List<fjBillFeedbackPush> GetBillFeedbackList(Expression<Func<fjBillFeedbackPush, bool>> WhereExpression);
+
         public bool UpdateSysConfigModelColumns(UpdateModelColumns<fjSysConfig> updateModel);
+
         public bool UpdateBillFeedbackPushModelColumns(UpdateModelColumns<fjBillFeedbackPush> updateModel);
+
         public SRes<bool> DeleteDoc(Expression<Func<fjBillDocument, bool>> whereExpression);
+
         public SRes CurtainProductionOrder(CurtainProductionOrderRequest reqDto);
+
         public SRes SpoolMaterialInfoTrans(SpoolMaterialInfoTransRequest reqDto);
+
         public SRes CurtainProductionStockOut(CurtainProductionStockOutRequest reqDto);
+
         public bool AllocationWarehouseSort(AllocationWarehouseSortRequest reqDto);
+
         public SRes ProductionBack(FjProductionBackRequest reqDto);
+
         public SRes ProductionLeftFeedBack(string doccode);
+
         public SRes ErrorMaterialStockOut(FjErrorMaterialStockOutRequest reqDto);
+
         public SRes BGradeMaterialStockOut(BGradeMaterialStockOutRequest reqDto);
+
         public SRes StockChange(FjStockChangeRequest reqDto);
-        public SRes ManualBuildStockTrans(ManualBuildStockTransRequest reqDto);
+
+        /// <summary>
+        ///  一楼空托盘人工入库任务创建
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
+        public SRes OneFloorWorkerBuildEmptyPalletsStock(FJBuildEmptyPalletsStockRequest reqDto);
+
         public SRes BomInfoTrans(BomInfoTransRequest reqDto);
+
         public SRes CurtainOrderStartCheck(CurtainOrderStartCheckRequest reqDto);
 
+        /// <summary>
+        ///  分拣北自动生成库位
+        /// </summary>
+        /// <returns></returns>
+        public SRes FJ1NorthAutoGenerateLocation();
+
+        /// <summary>
+        ///  分拣南自动生成库位
+        /// </summary>
+        /// <returns></returns>
+        public SRes FJSouthAutoGenerateLocation();
     }
 }

+ 30 - 30
wms.service/Service/DBService.cs

@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using WCS.Entity;
+using WCS.Entity;
 using wms.service.IService;
 using wms.sqlsugar;
 using wms.sqlsugar.model;
@@ -12,7 +9,7 @@ using wms.sqlsugar.model.sx;
 
 namespace wms.service.Service
 {
-    public class DBService: IDBService
+    public class DBService : IDBService
     {
         public void InitPtDB()
         {
@@ -47,8 +44,8 @@ namespace wms.service.Service
             db1.CodeFirst.InitTables<ptSysJobApiRelation>();
             db1.CodeFirst.InitTables<ptBillInvFlow>();
             db1.CodeFirst.InitTables<ptBillMesmiddle>();
-           
         }
+
         public void InitHjDB()
         {
             var db1 = SqlSugarHelper.Db.GetConnectionScopeWithAttr<BillPushinfo>();
@@ -100,33 +97,35 @@ namespace wms.service.Service
             db1.CodeFirst.InitTables<SysJob>();
             db1.CodeFirst.InitTables<SysJobApiRelation>();
         }
+
         public void InitFjDB()
         {
-            //var db1 = SqlSugarHelper.Db.GetConnectionScopeWithAttr<fjBillDocument>();
-            //db1.DbMaintenance.CreateDatabase();
-            //db1.CodeFirst.InitTables<fjBaseMater>();
-            //db1.CodeFirst.InitTables<fjSysConfig>();
-            //db1.CodeFirst.InitTables<fjBaseMaterGroup>();
-            //db1.CodeFirst.InitTables<fjBaseWarehouse>();
-            //db1.CodeFirst.InitTables<fjBaseWareZone>();
-            //db1.CodeFirst.InitTables<fjBaseWareLocation>();
-            //db1.CodeFirst.InitTables<fjBillBarcode>();
-            //db1.CodeFirst.InitTables<fjBillBomInfo>();
-            //db1.CodeFirst.InitTables<fjBillDocument>();
-            //db1.CodeFirst.InitTables<fjBillFeedbackPush>();
-            //db1.CodeFirst.InitTables<fjBillContainer>();
-            //db1.CodeFirst.InitTables<fjBillInventory>();
-            //db1.CodeFirst.InitTables<fjBillMachineInfo>();
-            //db1.CodeFirst.InitTables<fjBillProductPackRule>();
-            //db1.CodeFirst.InitTables<fjBillTask>();
-            //db1.CodeFirst.InitTables<fjBillTaskHistory>();
-            //db1.CodeFirst.InitTables<fjBillWetStack>();
-            //db1.CodeFirst.InitTables<fjBillWetStackDetail>();
-            //db1.CodeFirst.InitTables<fjSysJob>();
-            //db1.CodeFirst.InitTables<fjSysJobApiRelation>();
-            //db1.CodeFirst.InitTables<fjBaseContainer>();
-            //db1.CodeFirst.InitTables<fjBillInvFlow>();
+            var db1 = SqlSugarHelper.Db.GetConnectionScopeWithAttr<sqlsugar.model.fj.BillPushinfo>();
+            db1.DbMaintenance.CreateDatabase();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseContinfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseCustinfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseMatgrp>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseMatinfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseSuppinfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseUnitgrp>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseUnitinfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseUnitrate>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseWarearea>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseWarecell>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseWarehouse>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BaseWarerule>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillBominfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillBomsetgrp>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillBomsetinfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillDocsinfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillInvflow>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillInvinit>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillInvnow>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillLog>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillPushinfo>();
+            db1.CodeFirst.InitTables<sqlsugar.model.fj.BillSpoolTrans>();
         }
+
         public void InitSxDB()
         {
             var db1 = SqlSugarHelper.Db.GetConnectionScopeWithAttr<sxBillDocument>();
@@ -154,6 +153,7 @@ namespace wms.service.Service
             db1.CodeFirst.InitTables<sxBaseContainer>();
             db1.CodeFirst.InitTables<sxBillInvFlow>();
         }
+
         public void InitCpDB()
         {
             var db1 = SqlSugarHelper.Db.GetConnectionScopeWithAttr<cpBillDocument>();

+ 807 - 93
wms.service/Service/FJService.cs

@@ -2,12 +2,15 @@
 using Microsoft.Extensions.Logging;
 using Newtonsoft.Json;
 using SqlSugar;
+using SqlSugar.Extensions;
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using System.Linq.Expressions;
-using System.Text;
+using WCS.Entity.fj;
 using wms.dataservice.IDataSetvice;
 using wms.dto;
+using wms.dto.request;
 using wms.dto.request.fj;
 using wms.dto.response;
 using wms.dto.response.fj;
@@ -15,57 +18,102 @@ using wms.service.IService;
 using wms.sqlsugar;
 using wms.sqlsugar.model;
 using wms.sqlsugar.model.fj;
-using wms.util.Ext;
-using System.Linq;
-using WCS.Entity.fj;
 using wms.util.Check;
+using wms.util.Ext;
 
 namespace wms.service.Service
 {
+    /// <summary>
+    ///  分拣服务
+    /// </summary>
     public class FJService : IFJService
     {
         private readonly IMapper _mapper;
         private readonly ILogger<FJService> _logger;
         private readonly IFJDataService _IFJDataService;
- 
+
         public FJService(IMapper mapper, ILogger<FJService> logger, IFJDataService IFJDataService)
         {
             _mapper = mapper;
             _logger = logger;
             _IFJDataService = IFJDataService;
         }
-        Repository<fjBillDocument> _docrepository => new Repository<fjBillDocument>();
-        Repository<fjSysConfig> _sysconfigrepository => new Repository<fjSysConfig>();
-        Repository<fjBaseMater> _materrepository => new Repository<fjBaseMater>();
-        Repository<fjBillTask> _billTaskrepository => new Repository<fjBillTask>();
-        Repository<fjBaseWarehouse> _baseWareHouserepository => new Repository<fjBaseWarehouse>();
-        Repository<fjBillBarcode> _billBarcoderepository => new Repository<fjBillBarcode>();
-        Repository<fjBillFeedbackPush> _billFbackPushrepository => new Repository<fjBillFeedbackPush>();
-        Repository<fjBillBomInfo> _fjBillBomInfoRepository => new Repository<fjBillBomInfo>();
-        Repository<fjBillWetStack> _fjBillWetStackRepository => new Repository<fjBillWetStack>();
 
-        ITenant _db => SqlSugarHelper.Db;//处理事务
-        Repository<BaseContinfo> _baseContinfo => new Repository<BaseContinfo>();
-        RepositoryTask<WCS_TaskInfo> _taskrepository => new RepositoryTask<WCS_TaskInfo>();
+        private ITenant _db => SqlSugarHelper.Db;//处理事务
+
+        #region 初始化仓储
+
+        private Repository<fjBillDocument> _docrepository => new Repository<fjBillDocument>();
+        private Repository<fjSysConfig> _sysconfigrepository => new Repository<fjSysConfig>();
+        private Repository<fjBaseMater> _materrepository => new Repository<fjBaseMater>();
+        private Repository<fjBillTask> _billTaskrepository => new Repository<fjBillTask>();
+        private Repository<fjBaseWarehouse> _baseWareHouserepository => new Repository<fjBaseWarehouse>();
+        private Repository<fjBillBarcode> _billBarcoderepository => new Repository<fjBillBarcode>();
+        private Repository<fjBillFeedbackPush> _billFbackPushrepository => new Repository<fjBillFeedbackPush>();
+        private Repository<fjBillBomInfo> _fjBillBomInfoRepository => new Repository<fjBillBomInfo>();
+        private Repository<fjBillWetStack> _fjBillWetStackRepository => new Repository<fjBillWetStack>();
+
+        /// <summary>
+        ///  容器表
+        /// </summary>
+        private Repository<BaseContinfo> _baseContinfo => new Repository<BaseContinfo>();
+
+        private RepositoryTask<WCS_TaskInfo> _taskrepository => new RepositoryTask<WCS_TaskInfo>();
+
+        /// <summary>
+        ///  库存表
+        /// </summary>
+        private Repository<BillInvnow> _billInvnowrepository => new Repository<BillInvnow>();
+
+        /// <summary>
+        ///  条码表
+        /// </summary>
+        private Repository<BillInvinit> _billInvinitrepository => new Repository<BillInvinit>();
+
+        /// <summary>
+        ///  物料表
+        /// </summary>
+        private Repository<BaseMatinfo> _basematerrepository => new Repository<BaseMatinfo>();
+
+        /// <summary>
+        ///  码垛工字轮信息
+        /// </summary>
+        private Repository<BillSpoolTrans> _billSpoolTransrepository => new Repository<BillSpoolTrans>();
+
+        private Repository<BillBominfo> _billBominfoRepository => new Repository<BillBominfo>();
+        private Repository<BillBomsetinfo> _billBomsetinfoRepository => new Repository<BillBomsetinfo>();
 
-        Repository<BillInvnow> _billInvnowrepository => new Repository<BillInvnow>();
-        Repository<BillInvinit> _billInvinitrepository => new Repository<BillInvinit>();
-        Repository<BaseMatinfo> _basematerrepository => new Repository<BaseMatinfo>();
-        Repository<BillSpoolTrans> _billSpoolTransrepository => new Repository<BillSpoolTrans>();
-        Repository<BillBominfo> _billBominfoRepository => new Repository<BillBominfo>();
-        Repository<BillBomsetinfo> _billBomsetinfoRepository => new Repository<BillBomsetinfo>();
-  
-        Repository<BillDocsinfo> _billdocrepository => new Repository<BillDocsinfo>();
-        RepositoryTask<WCS_TaskOld> _wcstaskoldrepository => new RepositoryTask<WCS_TaskOld>();
-        Repository<BillInvflow> _billInvflow => new Repository<BillInvflow>();
-        Repository<BillPushinfo> _billPushinforepository => new Repository<BillPushinfo>();
-        Repository<BaseWarecell> _basewarecellrepository => new Repository<BaseWarecell>();
-        Repository<BaseWarehouse> _basewarehouserepository => new Repository<BaseWarehouse>();
-        RepositoryTask<WCS_TaskDtl> _taskdetailrepository => new RepositoryTask<WCS_TaskDtl>();
+        /// <summary>
+        ///  单据表
+        /// </summary>
+        private Repository<BillDocsinfo> _billdocrepository => new Repository<BillDocsinfo>();
 
-        Repository<BillMachinfo> _basemachinforepository => new Repository<BillMachinfo>();
+        /// <summary>
+        ///  任务历史表
+        /// </summary>
+        private RepositoryTask<WCS_TaskOld> _wcstaskoldrepository => new RepositoryTask<WCS_TaskOld>();
 
+        private Repository<BillInvflow> _billInvflow => new Repository<BillInvflow>();
+        private Repository<BillPushinfo> _billPushinforepository => new Repository<BillPushinfo>();
 
+        /// <summary>
+        ///  货位表
+        /// </summary>
+        private Repository<BaseWarecell> _basewarecellrepository => new Repository<BaseWarecell>();
+
+        /// <summary>
+        ///  仓库表
+        /// </summary>
+        private Repository<BaseWarehouse> _basewarehouserepository => new Repository<BaseWarehouse>();
+
+        private RepositoryTask<WCS_TaskDtl> _taskdetailrepository => new RepositoryTask<WCS_TaskDtl>();
+
+        /// <summary>
+        ///  机台表
+        /// </summary>
+        private Repository<BillMachinfo> _basemachinforepository => new Repository<BillMachinfo>();
+
+        #endregion 初始化仓储
 
         /// <summary>
         /// 添加单据
@@ -86,6 +134,7 @@ namespace wms.service.Service
             }
             return true;
         }
+
         /// <summary>
         /// 获取配置内容信息
         /// </summary>
@@ -121,7 +170,6 @@ namespace wms.service.Service
             return _sysconfigrepository.GetSingle(p => p.Code == code);
         }
 
-
         /// <summary>
         /// 获取物料信息
         /// </summary>
@@ -131,6 +179,7 @@ namespace wms.service.Service
         {
             return _materrepository.GetSingle(WhereExpression);
         }
+
         /// <summary>
         /// 获取配置信息
         /// </summary>
@@ -140,6 +189,7 @@ namespace wms.service.Service
         {
             return _sysconfigrepository.GetSingle(WhereExpression);
         }
+
         /// <summary>
         /// 获取单据信息
         /// </summary>
@@ -149,6 +199,7 @@ namespace wms.service.Service
         {
             return _docrepository.GetSingle(WhereExpression);
         }
+
         /// <summary>
         /// 获取反馈信息
         /// </summary>
@@ -158,6 +209,7 @@ namespace wms.service.Service
         {
             return _billFbackPushrepository.GetList(WhereExpression);
         }
+
         ///// <summary>
         ///// 获取单据信息
         ///// </summary>
@@ -179,6 +231,7 @@ namespace wms.service.Service
         {
             return _sysconfigrepository.Update(updateModel.Columns, updateModel.WhereExpression);
         }
+
         /// <summary>
         /// 更新hjBillFeedbackPush表字段
         /// </summary>
@@ -188,12 +241,14 @@ namespace wms.service.Service
         {
             return _billFbackPushrepository.Update(updateModel.Columns, updateModel.WhereExpression);
         }
+
         public SRes<bool> DeleteDoc(Expression<Func<fjBillDocument, bool>> whereExpression)
         {
             var res = new SRes<bool>();
             res.ResData = _docrepository.Delete(whereExpression);
             return res;
         }
+
         public bool SyncMaterInfo(List<FJSyncMaterInfoResponseItem> ResData)
         {
             foreach (var item in ResData)
@@ -211,13 +266,14 @@ namespace wms.service.Service
             }
             return true;
         }
+
         public bool SyncMachineInfo(List<SyncMachineInfoResponseItem> ResData)
         {
             foreach (var item in ResData)
             {
                 if (_basemachinforepository.IsAny(p => p.MachNo == item.MacCode))
                 {
-                    _basemachinforepository.UpdateModelColumns(p => new BillMachinfo() {  GrpCode = item.MacGroup, Direction = item.Direction,Station = item.LocCode,EditTime = DateTime.Now },
+                    _basemachinforepository.UpdateModelColumns(p => new BillMachinfo() { GrpCode = item.MacGroup, Direction = item.Direction, Station = item.LocCode, EditTime = DateTime.Now },
                        p => p.MachNo == item.MacCode);
                 }
                 else
@@ -228,6 +284,7 @@ namespace wms.service.Service
             }
             return true;
         }
+
         /// <summary>
         /// 帘线工单信息传输
         /// </summary>
@@ -259,6 +316,7 @@ namespace wms.service.Service
             _basemachinforepository.UpdateModelColumns(p => new BillMachinfo() { BillCode = reqDto.BillCode, WorkOrder = reqDto.WorkOrder, PlanQty = reqDto.PlanQty, EditTime = DateTime.Now }, p => reqDto.WbList.Contains(p.MachNo));
             return res;
         }
+
         /// <summary>
         /// 工单启动验证
         /// </summary>
@@ -276,9 +334,11 @@ namespace wms.service.Service
             }
             return res;
         }
-        
+
+        #region 湿拉工字轮/帘线芯股信息初始化
+
         /// <summary>
-        /// 湿拉工字轮/芯股信息传输接口
+        ///  湿拉工字轮/帘线芯股信息初始化
         /// </summary>
         /// <param name="reqDto"></param>
         /// <returns></returns>
@@ -384,62 +444,24 @@ namespace wms.service.Service
                     IsBack = reqDto.IsBack,
                     SilkTypeCode = reqDto.SilkType,
                     IsCore = reqDto.BusType == "2",
-                    
                 };
-                 _billInvinitrepository.InsertReturnEntity(barinfo);
-                 _billSpoolTransrepository.InsertReturnEntity(billSpoolTrans);
+                _billInvinitrepository.InsertReturnEntity(barinfo);
+                _billSpoolTransrepository.InsertReturnEntity(billSpoolTrans);
             }
             return res;
         }
 
+        #endregion 湿拉工字轮/帘线芯股信息初始化
+
         /// <summary>
         /// 分配分拣库
         /// </summary>
         /// <returns></returns>
         public bool AllocationWarehouseSort(AllocationWarehouseSortRequest reqDto)
         {
-            var list = _billSpoolTransrepository.AsQueryable().Where(p => p.WarehouseSort == 0).Take(reqDto.TaskCount).ToList();
-            foreach (var item in list)
-            {
-                var maclist = _basemachinforepository.AsQueryable().Where(p => p.WorkOrder == item.WorkOrder);
-                var warelist = maclist.Select(p => p.WarehouseCode).Distinct();
-                if (!warelist.Any())
-                {
-                    _billSpoolTransrepository.UpdateModelColumns(p => new BillSpoolTrans()
-                    {
-                        ErrType = 1,
-                        ErrMsg = "没有配置机台信息",
-                        EditTime = DateTime.Now
-                    }, p => p.ConBarCode == item.ConBarCode);
-                }
-                else if (warelist.Count() == 1)
-                {
-                    int sort = int.Parse(warelist.First().Substring(0, 1));
-                    _billSpoolTransrepository.UpdateModelColumns(p => new BillSpoolTrans()
-                    {
-                        WarehouseSort = sort,
-                        Direct = warelist.First().Substring(1, 1),
-                        EditTime = DateTime.Now
-                    }, p => p.ConBarCode == item.ConBarCode);
-                }
-                else
-                {
-                    var waretemplist = maclist.Select(p => new { p.WarehouseCode,p.WorkOrder,p.BillCode, p.PlanQty }).Distinct();
-                    var warehouselist = _basewarehouserepository.GetList().Select(p => p.Code);
-                    foreach (var warehouse in warehouselist)
-                    {
-                        var stackdetaillist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseCode == warehouse);
-                        getMatProport(item.MatCode, warehouse);
-                    }
-                    //根据垛型及库存比例分配
-                    //找出该物料类型在每个库所要求的所有量
-                   
-
-                    //找出该物料库存在当前库所有
-                }
-            }
             return true;
         }
+
         /// <summary>
         /// 二次扫码分配输送地址
         /// </summary>
@@ -456,28 +478,17 @@ namespace wms.service.Service
                 var matcodelist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseCode == baritem.WarehouseCode);
                 var curmatrate = matcodelist.Where(p => p.MatCode == baritem.MatCode).Count() / matcodelist.Count();
                 //需要的总量
-
             }
             else
             {
-
             }
             var translist = _billSpoolTransrepository.AsQueryable().Where(p => p.WarehouseCode == baritem.WarehouseCode).ToList();
-            foreach (var item in translist.GroupBy(p=>p.ConveyorSort))
+            foreach (var item in translist.GroupBy(p => p.ConveyorSort))
             {
-
             }
             return res;
         }
 
-        public decimal getMatProport(string matcode, string warehousecode)
-        {
-            //计算此仓库所有该物料的量
-            //每的单子(每盘的数量)*预计盘数
-            var stackdetaillist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseCode == warehousecode);
-            return 0;
-        }
-
         /// <summary>
         /// 帘线领料出库
         /// </summary>
@@ -486,7 +497,7 @@ namespace wms.service.Service
         public SRes CurtainProductionStockOut(CurtainProductionStockOutRequest reqDto)
         {
             var res = new SRes();
-            
+
             var warehosue = _baseWareHouserepository.GetSingle(p => p.Code == reqDto.WareCode);
             if (warehosue == null)
             {
@@ -516,40 +527,743 @@ namespace wms.service.Service
             }
             return res;
         }
+
         public SRes ProductionBack(FjProductionBackRequest reqDto)
         {
             var res = new SRes();
             return res;
         }
+
         public SRes ProductionLeftFeedBack(string doccode)
         {
             var res = new SRes();
             return res;
         }
+
         public SRes ErrorMaterialStockOut(FjErrorMaterialStockOutRequest reqDto)
         {
             var res = new SRes();
             return res;
         }
+
         public SRes BGradeMaterialStockOut(BGradeMaterialStockOutRequest reqDto)
         {
             var res = new SRes();
             return res;
         }
+
         public SRes StockChange(FjStockChangeRequest reqDto)
         {
             var res = new SRes();
             return res;
         }
-        public SRes ManualBuildStockTrans(ManualBuildStockTransRequest reqDto)
+
+        #region 空托盘入库
+
+        /// <summary>
+        ///  一楼空托盘人工入库任务创建
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
+        public SRes OneFloorWorkerBuildEmptyPalletsStock(FJBuildEmptyPalletsStockRequest reqDto)
+        {
+            var res = new SRes();
+
+            var req = _mapper.Map<FJBuildEmptyPalletsStockDto>(reqDto);
+            req.Floor = 1;
+            req.BusType = FJTaskBusType.OneLayerManualPallets;
+
+            //TODO:条码长度待定
+            if (reqDto.PalletCode.Length != 12)
+            {
+                res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
+                res.ResMsg = "MES上传的RFID长度不等于12位";
+                return res;
+            }
+            res = FJEmptyPalletsStockIn(req);
+
+            return res;
+        }
+
+        /// <summary>
+        /// 分拣库空托盘入库
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
+        public SRes FJEmptyPalletsStockIn(FJBuildEmptyPalletsStockDto reqDto)
+        {
+            var res = new CopperLineResponse();
+            FJTaskBusType BusType = reqDto.BusType;
+
+            //验证业务类型
+            if (reqDto.BusType <= FJTaskBusType.def || reqDto.BusType > FJTaskBusType.OneLayerAutoPallets)
+            {
+                res.ResCode = ResponseStatusCodeEnum.ErrParam.GetHashCode();
+                res.ResMsg = "指令类型" + reqDto.BusType + ResponseStatusCodeEnum.ErrParam.GetDescription();
+                return res;
+            }
+
+            //验证是否有空余货位
+            res = (CopperLineResponse)IsThereAnySpaceVacancy();
+            if (res.ResCode != ResponseStatusCodeEnum.Sucess.GetHashCode()) return res;
+
+            //检查仓库是否存在
+            res = (CopperLineResponse)CheckWareCode(reqDto.WareCode);
+            if (res.ResCode != ResponseStatusCodeEnum.Sucess.GetHashCode()) return res;
+
+            //验证容器是否存在
+            res = (CopperLineResponse)CheckContinfo(reqDto.PalletCode, FJContainerType.ContainerType_Pallet);
+            if (res.ResCode != ResponseStatusCodeEnum.Sucess.GetHashCode()) return res;
+
+            //验证托盘是否有未结束的任务
+            res = (CopperLineResponse)CheckNoFinishTask(reqDto.PalletCode);
+            if (res.ResCode != ResponseStatusCodeEnum.Sucess.GetHashCode()) return res;
+
+            //验证是否存在库存信息
+            res = (CopperLineResponse)CheckInvnow(reqDto.PalletCode);
+            if (res.ResCode != ResponseStatusCodeEnum.Sucess.GetHashCode()) return res;
+
+            //保存条码信息 空托盘条码即条码表条码
+            var barinfo = _billInvinitrepository.GetSingle(p => p.InvBarCode == reqDto.PalletCode);
+            if (barinfo == null)
+            {
+                var warehosue = _basewarehouserepository.GetSingle(p => p.Code == reqDto.WareCode);
+                barinfo = new BillInvinit()
+                {
+                    InvBarCode = reqDto.PalletCode,
+                    WarehouseId = warehosue.Id,
+                    ContGrpId = IdFactory.NewId(),
+                    ContGrpBarCode = reqDto.PalletCode,
+                    ExecStateCode = FJInvLockState.InvState_Normal.ToString(),
+                    ExecDocsTypeCode = FJDocType.DocType_FJ_EmptyPalletsStockIn.GetHashCode().ToString(),
+                    InvInOut = FJInvInOutType.In.GetHashCode(),
+                    ExecWho = "WCS",
+                    EditTime = DateTime.Now,
+                    InvStateCode = FJInvState.InvEcecState_BuildUp.ToString(),
+                    SuppCode = "",
+                    Size = 1,
+                    AddTime = DateTime.Now,
+                };
+
+                barinfo = _billInvinitrepository.InsertReturnEntity(barinfo);
+            }
+
+            //生成库存信息-分解方法
+            var createStockRes = CreateStock(new List<BillInvinit>() { barinfo }, reqDto.PalletCode, FJContainerType.ContainerType_Pallet);
+            if (createStockRes.ResCode != 200)
+            {
+                res.ResCode = createStockRes.ResCode;
+                res.ResMsg = createStockRes.ResMsg;
+                return res;
+            }
+
+            var createStockInWcsTaskReqest = new FJCreateStockInWcsTaskRequest()
+            {
+                BusType = BusType.GetDescription(),
+                ContGrpBarCode = reqDto.PalletCode,
+                ContGrpId = createStockRes.ResData.ContGrpId,
+                Qty = reqDto.PalletNum.ObjToDecimal(),
+                EquCode = reqDto.StartLoc,
+                WarehouseCode = reqDto.WareCode,
+                Floor = reqDto.Floor,
+            };
+
+            //下发wcs任务 - 分解方法
+            var taskres = CreateStockInWcsTask(createStockInWcsTaskReqest);
+            if (taskres.ResCode != 200)
+            {
+                res.ResCode = taskres.ResCode;
+                res.ResMsg = taskres.ResMsg;
+                return res;
+            }
+            //生成流水数据-分解方法
+            CreateInvFlow(new List<BillInvnow>() { createStockRes.ResData });
+
+            return res;
+        }
+
+        #endregion 空托盘入库
+
+        #region 满轮同WCS交互
+
+        #region 主线
+
+        /// <summary>
+        ///  工字轮/芯股进入主线扫码
+        /// </summary>
+        /// <returns></returns>
+        public SRes EnteMainLine(FJEnteMainLineRequest reqDto)
+        {
+            var res = new SRes();
+
+            try
+            {
+                RedisHelper.LPush(nameof(EnteMainLine), reqDto.IShapedWheelCodes);
+                res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+                res.ResMsg = ResponseStatusCodeEnum.Sucess.GetDescription();
+            }
+            catch (Exception ex)
+            {
+                res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
+                res.ResMsg = ex.Message;
+            }
+            return res;
+        }
+
+        /// <summary>
+        /// 分配分拣库
+        /// </summary>
+        /// <param name="code"></param>
+        /// <returns></returns>
+        public SRes AllocationWarehouseSort(string code)
         {
             var res = new SRes();
+            //找到码垛工字轮信息
+            var spoolTrans = _billSpoolTransrepository.GetSingle(p => p.ConBarCode == code);
+
+            //通过订单找到对应的机台信息
+            var maclist = _basemachinforepository.AsQueryable().Where(p => p.WorkOrder == spoolTrans.WorkOrder);
+            var warelist = maclist.Select(p => p.WarehouseCode).Distinct().OrderBy(v => v); //找到机台对应的仓库信息
+            if (!warelist.Any()) //当前订单没有对应仓库信息
+            {
+                _billSpoolTransrepository.UpdateModelColumns(p => new BillSpoolTrans()
+                {
+                    ErrType = 1,
+                    ErrMsg = "没有配置机台信息",
+                    EditTime = DateTime.Now
+                }, p => p.ConBarCode == spoolTrans.ConBarCode);
+            }
+            else if (warelist.Count() == 1) //当前订单对应一个仓库信息
+            {
+                int sort = int.Parse(warelist.First().Substring(0, 1));
+                _billSpoolTransrepository.UpdateModelColumns(p => new BillSpoolTrans()
+                {
+                    WarehouseSort = sort,
+                    Direct = warelist.First().Substring(1, 1),
+                    EditTime = DateTime.Now
+                }, p => p.ConBarCode == spoolTrans.ConBarCode);
+            }
+            else //当前订单对应多个仓库信息
+            {
+                var waretemplist = maclist.Select(p => new { p.WarehouseCode, p.WorkOrder, p.BillCode, p.PlanQty }).Distinct();
+
+                var warehouselist = _basewarehouserepository.GetList().Select(p => p.Code);
+                foreach (var warehouse in warehouselist)
+                {
+                    var stackdetaillist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseCode == warehouse);
+                    getMatProport(spoolTrans.MatCode, warehouse);
+                }
+                //根据垛型及库存比例分配
+                //找出该物料类型在每个库所要求的所有量
+
+                //找出该物料库存在当前库所有
+            }
+
             return res;
         }
+
+        /// <summary>
+        ///  计算物料在该仓库的比例
+        /// </summary>
+        /// <param name="matcode">物料编号</param>
+        /// <param name="warehousecode">仓库编号</param>
+        /// <returns></returns>
+        public decimal getMatProport(string matcode, string warehousecode)
+        {
+            //计算此仓库所有该物料的量
+
+            //每的单子(每盘的数量)
+            var stackdetaillist = _billBomsetinfoRepository.AsQueryable().Where(p => p.WarehouseCode == warehousecode);
+            return 0;
+        }
+
+        #endregion 主线
+
+        #endregion 满轮同WCS交互
+
         public SRes BomInfoTrans(BomInfoTransRequest reqDto)
         {
             var res = new SRes();
             return res;
         }
+
+        public SRes FJ1NorthAutoGenerateLocation()
+        {
+            SRes res = new SRes();
+            BaseWarehouse BaseWarearea = new BaseWarehouse()
+            {
+                Id = IdFactory.NewId(),
+                IsStop = 0,
+                Code = "fj1northhouse",
+                Name = "分拣库1北",
+                AddTime = DateTime.Now
+,
+                AddWho = "admin",
+                EditTime = DateTime.Now,
+                EditWho = "admin",
+                TypeNum = 1
+            };
+            var baseWareareaEntity = _basewarehouserepository.InsertReturnEntity(BaseWarearea);
+            var dbBaseWarecellLists = _basewarehouserepository.AsQueryable().ToList();
+            var shelfcode = "";
+            var list = new List<BaseWarecell>();
+            var codes = new List<string>();
+            for (int row = 1; row <= 2; row++) //行
+            {
+                //shelfcode = "L";
+                ////1 2 是R, 3 4 是 L
+                //if (row == 1 || row == 2 || row == 5 || row == 6 || row == 9 || row == 10)
+                //{
+                //    shelfcode = "R";
+                //}
+
+                //// 23 深度1 , 1 4   5 8   9  12深度2
+                //int depth = 1;
+                //if (row == 1 || row == 4 || row == 5 || row == 8 || row == 9 || row == 12)
+                //{
+                //    depth = 2;
+                //}
+
+                int tunnel = 1;
+
+                //12行 48列9层
+                for (int layer = 1; layer <= 10; layer++) //层
+                {
+                    for (int col = 1; col <= 10; col++) //列
+                    {
+                        var code = row.ToString().PadLeft(2, '0') + "-" + col.ToString().PadLeft(2, '0') + "-" + layer.ToString().PadLeft(2, '0') + "-" + tunnel;
+                        codes.Add(code);
+                        var name = row.ToString() + "行" + col.ToString() + "列" + layer.ToString() + "层";
+                        list.Add(new BaseWarecell
+                        {
+                            Id = IdFactory.NewId(),
+                            WarehouseId = baseWareareaEntity.Id,
+                            WareAreaId = 1669154208777113600,
+                            IsStop = 0,
+                            Code = code,
+                            Name = name,
+                            StateNum = 1,
+                            TypeNum = 1,
+                            Size = 1,
+                            Shelf = tunnel.ToString() + shelfcode,
+                            WarehouseCode = "fj1northhouse",
+                            Row = row,
+                            Col = col,
+                            Layer = layer,
+                            Depth = 1,
+                            Tunnel = tunnel,
+                            SCRel = "SRM" + tunnel.ToString().PadLeft(2, '0'),
+                            ContGrpId = 0,
+                            ContGrpBarCode = "",
+                            Memo = "",
+                            AddWho = "admin",
+                            AddTime = DateTime.Now,
+                            EditWho = "admin",
+                            EditTime = DateTime.Now,
+                        });
+                    }
+                }
+            }
+
+            _basewarecellrepository.InsertRange(list);
+            return res;
+        }
+
+        public SRes FJSouthAutoGenerateLocation()
+        {
+            SRes res = new SRes();
+
+            BaseWarehouse BaseWarearea = new BaseWarehouse()
+            {
+                Id = IdFactory.NewId(),
+                IsStop = 0,
+                Code = "fj1southhouse",
+                Name = "分拣库1南",
+                AddTime = DateTime.Now
+,
+                AddWho = "admin",
+                EditTime = DateTime.Now,
+                EditWho = "admin",
+                TypeNum = 1
+            };
+
+            var baseWareareaEntity = _basewarehouserepository.InsertReturnEntity(BaseWarearea);
+
+            var dbBaseWarecellLists = _basewarehouserepository.AsQueryable().ToList();
+            var shelfcode = "";
+            var list = new List<BaseWarecell>();
+            var codes = new List<string>();
+            for (int row = 1; row <= 2; row++) //行
+            {
+                //shelfcode = "L";
+                ////1 2 是R, 3 4 是 L
+                //if (row == 1 || row == 2 || row == 5 || row == 6 || row == 9 || row == 10)
+                //{
+                //    shelfcode = "R";
+                //}
+
+                //// 23 深度1 , 1 4   5 8   9  12深度2
+                //int depth = 1;
+                //if (row == 1 || row == 4 || row == 5 || row == 8 || row == 9 || row == 12)
+                //{
+                //    depth = 2;
+                //}
+
+                int tunnel = 1;
+
+                //12行 48列9层
+                for (int layer = 1; layer <= 10; layer++) //层
+                {
+                    for (int col = 11; col <= 20; col++) //列
+                    {
+                        var code = row.ToString().PadLeft(2, '0') + "-" + col.ToString().PadLeft(2, '0') + "-" + layer.ToString().PadLeft(2, '0') + "-" + tunnel;
+                        codes.Add(code);
+                        var name = row.ToString() + "行" + col.ToString() + "列" + layer.ToString() + "层";
+                        list.Add(new BaseWarecell
+                        {
+                            Id = IdFactory.NewId(),
+                            WarehouseId = baseWareareaEntity.Id,
+                            WareAreaId = 1669154208777113600,
+                            IsStop = 0,
+                            Code = code,
+                            Name = name,
+                            StateNum = 1,
+                            TypeNum = 1,
+                            Size = 1,
+                            Shelf = tunnel.ToString() + shelfcode,
+                            WarehouseCode = "fj1southhouse",
+                            Row = row,
+                            Col = col,
+                            Layer = layer,
+                            Depth = 1,
+                            Tunnel = tunnel,
+                            SCRel = "SRM" + tunnel.ToString().PadLeft(2, '0'),
+                            ContGrpId = 0,
+                            ContGrpBarCode = "",
+                            Memo = "",
+                            AddWho = "admin",
+                            AddTime = DateTime.Now,
+                            EditWho = "admin",
+                            EditTime = DateTime.Now,
+                        });
+                    }
+                }
+            }
+
+            _basewarecellrepository.InsertRange(list);
+            return res;
+        }
+
+        #region 容器、物料、条码、库存检测及创建,创建流水信息
+
+        /// <summary>
+        ///  检查容器是否存在,不存在则创建
+        /// </summary>
+        /// <param name="contBarCode">容器条码</param>
+        /// <param name="fjContainerType">容器类型</param>
+        /// <returns></returns>
+        public SRes CheckContinfo(string contBarCode, FJContainerType fjContainerType)
+        {
+            SRes res = new SRes();
+            var container = _baseContinfo.GetSingle(x => x.ContBarCode == contBarCode);
+            if (container == null)
+            {
+                //创建容器信息
+                var cont = new BaseContinfo
+                {
+                    ContBarCode = contBarCode,
+                    Name = contBarCode,
+                    TypeCode = fjContainerType.ToString(),
+                    PrintQty = 1,
+                    IsStop = 0,
+                    WarehouseId = 0,
+                    AddWho = "WMS",
+                    AddTime = DateTime.Now
+                };
+                //加载新的容器信息
+                if (!_baseContinfo.Insert(cont))
+                {
+                    res.ResCode = ResponseStatusCodeEnum.DataSaveErr.GetHashCode();
+                    res.ResMsg = "RFID载具初始化失败";
+                    return res;
+                }
+            }
+            else if (container.IsStop != 0)
+            {
+                res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
+                res.ResMsg = "容器已停用";
+                return res;
+            }
+            res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+            return res;
+        }
+
+        /// <summary>
+        ///  跟据库存信息创建流水信息
+        /// </summary>
+        /// <param name="barlist">库存信息</param>
+        /// <returns></returns>
+        public SRes CreateInvFlow(List<BillInvnow> barlist)
+        {
+            var res = new SRes();
+            var listflow = _mapper.Map<List<BillInvflow>>(barlist);
+            foreach (var item in listflow)
+            {
+                item.AddTime = DateTime.Now;
+                item.Id = IdFactory.NewId();
+            }
+            _billInvflow.InsertRange(listflow);
+            return res;
+        }
+
+        /// <summary>
+        ///  跟据库存信息创建流水信息
+        /// </summary>
+        /// <param name="bar">库存信息</param>
+        /// <returns></returns>
+        public SRes CreateInvFlow(BillInvnow bar)
+        {
+            var res = new SRes();
+            var flow = _mapper.Map<BillInvflow>(bar);
+            flow.AddTime = DateTime.Now;
+            flow.Id = IdFactory.NewId();
+            _billInvflow.Insert(flow);
+            return res;
+        }
+
+        /// <summary>
+        ///  是否有空余货位
+        /// </summary>
+        /// <returns></returns>
+        public SRes IsThereAnySpaceVacancy()
+        {
+            var res = new SRes();
+            //验证有剩余货位
+            if (_basewarecellrepository.GetList(p => p.IsStop == 0 && p.StateNum == FJLocationState.LocationState_Empty.GetHashCode()).Count() < 2)
+            {
+                res.ResCode = ResponseStatusCodeEnum.NotEnoughLocation.GetHashCode();
+                res.ResMsg = ResponseStatusCodeEnum.NotEnoughLocation.GetDescription();
+                return res;
+            }
+            res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+            return res;
+        }
+
+        /// <summary>
+        /// 检查传入的仓库是否存在
+        /// </summary>
+        /// <param name="wareCode">仓库编号</param>
+        /// <returns></returns>
+        public SRes CheckWareCode(string wareCode)
+        {
+            var res = new SRes();
+            //验证是否有对应仓库
+            var warehosue = _basewarehouserepository.GetSingle(p => p.Code == wareCode);
+            if (warehosue == null)
+            {
+                res.ResCode = ResponseStatusCodeEnum.WarehouseCodeNotExist.GetHashCode();
+                res.ResMsg = ResponseStatusCodeEnum.WarehouseCodeNotExist.GetDescription();
+                return res;
+            }
+            res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+            return res;
+        }
+
+        /// <summary>
+        ///  验证空托盘是否有未结束的任务
+        /// </summary>
+        /// <param name="PalletCode"></param>
+        /// <returns></returns>
+        public SRes CheckNoFinishTask(string PalletCode)
+        {
+            SRes res = new SRes();
+            //验证当前托盘是否有未结束的任务
+            var task = _wcstaskoldrepository.AsQueryable().Where(p => p.BarCode == PalletCode && p.Status < TaskStatus.Finish).SplitTable(p => p.Take(2)).First();
+            if (task != null && task.ID > 0)
+            {
+                switch (task.Type)
+                {
+                    case TaskType.SetPlate:
+                        res.ResCode = ResponseStatusCodeEnum.WcsTaskExist.GetHashCode();
+                        res.ResMsg = PalletCode + "该号组盘任务还未完成,请先完成组盘任务";
+                        return res;
+
+                    case TaskType.EnterDepot:
+                        if (task.Status > TaskStatus.WaitingToExecute && task.Status < TaskStatus.Finish)
+                        {
+                            res.ResCode = ResponseStatusCodeEnum.WcsTaskExist.GetHashCode();
+                            res.ResMsg = PalletCode + "已有进行中任务,请检查托盘条码是否重复";
+                            return res;
+                        }
+                        res.ResCode = ResponseStatusCodeEnum.WcsTaskExist.GetHashCode();
+                        res.ResMsg = PalletCode + "任务已创建,请勿重复申请";
+                        return res;
+
+                    case TaskType.OutDepot:
+                        res.ResCode = ResponseStatusCodeEnum.WcsTaskExist.GetHashCode();
+                        res.ResMsg = PalletCode + "该号出库任务还未完成,请先完成出库任务";
+                        return res;
+
+                    case TaskType.TransferDepot:
+                        res.ResCode = ResponseStatusCodeEnum.WcsTaskExist.GetHashCode();
+                        res.ResMsg = PalletCode + "该号移库任务还未完成,请先完成移库任务";
+                        return res;
+
+                    case TaskType.Delivery:
+                        res.ResCode = ResponseStatusCodeEnum.WcsTaskExist.GetHashCode();
+                        res.ResMsg = PalletCode + "该号输送任务还未完成,请先完成输送任务";
+                        return res;
+
+                    case TaskType.EmptyInit:
+                        res.ResCode = ResponseStatusCodeEnum.WcsTaskExist.GetHashCode();
+                        res.ResMsg = PalletCode + "该号空轮初始化任务还未完成,请先完成空轮初始化任务";
+                        return res;
+                }
+            }
+            res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+            return res;
+        }
+
+        /// <summary>
+        ///  检查是否存在库存信息
+        /// </summary>
+        /// <param name="code">编码</param>
+        /// <returns></returns>
+        public SRes CheckInvnow(string code)
+        {
+            SRes res = new SRes();
+
+            //验证是否没有库存信息
+            var stock = _billInvnowrepository.GetSingle(p => p.ContGrpBarCode == code);
+            if (stock != null && stock.InvStateCode == FJInvState.InvEcecState_In.ToString())
+            {
+                res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
+                res.ResMsg = code + "该托盘号已在库中,请检查托盘号是否重复";
+                return res;
+            }
+            else if (stock != null && stock.InvStateCode == InvState.InvEcecState_OutGoing.ToString())
+            {
+                res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
+                res.ResMsg = code + "该托盘号存在出库中任务,请检查上一个任务是否已经完成";
+                return res;
+            }
+            else if (stock != null)
+            {
+                res.ResCode = ResponseStatusCodeEnum.GroupStockDetailMaterialBarCodeExist.GetHashCode();
+                res.ResMsg = ResponseStatusCodeEnum.GroupStockDetailMaterialBarCodeExist.GetDescription();
+                return res;
+            }
+            res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+            return res;
+        }
+
+        /// <summary>
+        ///  创建库存信息
+        ///  不验证容器是否存在
+        ///  不验证容器是否有未结束的任务
+        ///  不验条码信息是否存在
+        /// </summary>
+        /// <param name="barList">条码集合</param>
+        /// <param name="containerBarcode">容器编号</param>
+        /// <param name="containerType">容器类型</param>
+        /// <returns></returns>
+        public SRes<BillInvnow> CreateStock(List<BillInvinit> barList, string containerBarcode, FJContainerType containerType)
+        {
+            var res = new SRes<BillInvnow>();
+            if (string.IsNullOrEmpty(containerBarcode))
+            {
+                res.ResCode = ResponseStatusCodeEnum.ContainerCodeNotEmpty.GetHashCode();
+                res.ResMsg = ResponseStatusCodeEnum.ContainerCodeNotEmpty.GetDescription();
+                return res;
+            }
+
+            //将条码表映射到库存表
+            var stocklist = _mapper.Map<List<BillInvnow>>(barList);
+            foreach (var item in stocklist)
+            {
+                item.AddTime = DateTime.Now;
+                item.Id = IdFactory.NewId();
+            }
+
+            if (!_billInvnowrepository.InsertRange(stocklist))
+            {
+                res.ResCode = ResponseStatusCodeEnum.DataSaveErr.GetHashCode();
+                res.ResMsg = "托盘库存信息存储失败";
+                return res;
+            }
+
+            res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+            res.ResDataList = stocklist;
+            return res;
+        }
+
+        /// <summary>
+        ///  创建WCS任务
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
+        public SRes<WCS_TaskInfo> CreateStockInWcsTask(FJCreateStockInWcsTaskRequest reqDto)
+        {
+            var res = new SRes<WCS_TaskInfo>();
+            var wcstask = new WCS_TaskInfo()
+            {
+                Type = TaskType.EnterDepot,
+                Status = TaskStatus.NewBuild,
+                Priority = 0,
+                Device = "",
+                SrmStation = "",
+                AddrFrom = reqDto.EquCode,
+                AddrTo = "srm",
+                LastInteractionPoint = "",
+                BarCode = reqDto.ContGrpBarCode,
+                Floor = reqDto.Floor,
+                Length = reqDto.Qty,
+                AddTime = DateTime.Now,
+                StartTime = DateTime.Now,
+                DocID = 0,
+                PalletType = 1,
+                ProdLine = 0,
+                AddWho = "wms",
+                WarehouseCode = reqDto.WarehouseCode,
+                Enabled = true,
+                WorkBench = reqDto.EquCode,
+                MaterialCode = reqDto.MaterialCode,
+                MatCode = reqDto.MatCode,
+                BusType = reqDto.BusType
+            };
+            var wcstaskhis = _mapper.Map<WCS_TaskOld>(wcstask);
+
+            try
+            {
+                _db.BeginTran();
+                var task = _taskrepository.InsertReturnEntity(wcstask);
+                wcstaskhis.ID = task.ID;
+                _wcstaskoldrepository.InsertableSplitTable(wcstaskhis);
+                var taskdetail = new WCS_TaskDtl()
+                {
+                    ID = Guid.NewGuid(),
+                    CurPoint = reqDto.EquCode,
+                    AddTime = DateTime.Now,
+                    AddWho = "wms",
+                    Enabled = true,
+                    ParentTaskCode = task.ID,
+                    Desc = reqDto.EquCode + "分拣一楼空托入库",
+                };
+                _taskdetailrepository.InsertableSplitTable(taskdetail);
+                _db.CommitTran();
+                res.ResData = task;
+            }
+            catch (Exception ex)
+            {
+                _db.RollbackTran();
+                res.ResCode = ResponseStatusCodeEnum.DataSaveErr.GetHashCode();
+                res.ResMsg = ResponseStatusCodeEnum.DataSaveErr.GetDescription();
+                _logger.LogInformation("保存任务异常:" + ex.ToString());
+                return res;
+            }
+            return res;
+        }
+
+        #endregion 容器、物料、条码、库存检测及创建,创建流水信息
     }
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 166 - 141
wms.service/Service/HJService.cs


+ 1 - 1
wms.sqlsugar/model/fj/BaseContinfo.cs

@@ -16,7 +16,7 @@ namespace wms.sqlsugar.model.fj
         public long WarehouseId { get; set; }
 
         /// <summary>
-        ///  是否
+        ///  是否停用 0正常 1停
         /// </summary>
         [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int IsStop { get; set; }

+ 93 - 98
wms.sqlsugar/model/fj/BaseWarecell.cs

@@ -1,6 +1,5 @@
-using System; 
-using System.Collections.Generic;
-using SqlSugar;
+using SqlSugar;
+using System;
 
 namespace wms.sqlsugar.model.fj
 {
@@ -9,148 +8,144 @@ namespace wms.sqlsugar.model.fj
     /// </summary>
     [Tenant("fj")]
     [SugarTable("Base_WareCell")]
-    public partial class BaseWarecell:BaseModel
-    { 
-
-        /// <summary> 
-        /// WarehouseId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+    public partial class BaseWarecell : BaseModel
+    {
+        /// <summary>
+        ///  仓库ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long WarehouseId { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// 仓库编码
-        /// </summary> 
+        /// </summary>
         [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
         public string WarehouseCode { get; set; }
 
-        /// <summary> 
-        /// WareAreaId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// <summary>
+        ///  库区ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long WareAreaId { get; set; }
 
-        /// <summary> 
-        /// IsStop
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        ///  是否停用 0正常 1停用
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int IsStop { get; set; }
 
-        /// <summary> 
-        /// Code
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = false )]
+        /// <summary>
+        ///  货位编码
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
         public string Code { get; set; }
 
-        /// <summary> 
-        /// Name
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 100  , IsNullable = false )]
+        /// <summary>
+        ///  货位名称
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 100, IsNullable = false)]
         public string Name { get; set; }
 
-        /// <summary> 
-        /// StateNum
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        ///  货位状态 0空货位 1满货位
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int StateNum { get; set; }
 
-        /// <summary> 
-        /// TypeNum
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        ///  货位类型 0立库货位 1平库货位
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int TypeNum { get; set; }
 
-        /// <summary> 
-        /// 货位大小
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" , IsNullable = false )]
+        /// <summary>
+        ///  货位大小
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public long Size { get; set; }
 
-        /// <summary> 
-        /// Row
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        /// 
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int Row { get; set; }
 
-        /// <summary> 
-        /// Col
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        /// 
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int Col { get; set; }
 
-        /// <summary> 
-        /// Layer
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        /// 
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int Layer { get; set; }
 
-        /// <summary> 
-        /// Depth
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        ///  深度
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int Depth { get; set; }
 
-        /// <summary> 
-        /// Tunnel
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        ///  巷道
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int Tunnel { get; set; }
 
-        /// <summary> 
-        /// SCRel
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = false )]
+        /// <summary>
+        ///  堆垛机
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
         public string SCRel { get; set; }
 
-        /// <summary> 
-        /// ContGrpId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = true )]
+        /// <summary>
+        ///  容器ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = true)]
         public long? ContGrpId { get; set; }
 
-        /// <summary> 
-        /// ContGrpBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  容器编码
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ContGrpBarCode { get; set; }
 
-        /// <summary> 
-        /// Shelf
-        /// </summary> 
+        /// <summary>
+        ///  货架
+        /// </summary>
         [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string Shelf { get; set; }
 
-        /// <summary> 
-        /// Memo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 500  , IsNullable = false )]
+        /// <summary>
+        ///  备注
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 500, IsNullable = false)]
         public string Memo { get; set; }
 
-        /// <summary> 
-        /// AddWho
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = false )]
+        /// <summary>
+        ///  添加用户
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
         public string AddWho { get; set; }
 
-        /// <summary> 
-        /// AddTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// <summary>
+        ///  添加时间
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime AddTime { get; set; }
 
-        /// <summary> 
-        /// EditWho
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = false )]
+        /// <summary>
+        ///  更新用户
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
         public string EditWho { get; set; }
 
-        /// <summary> 
-        /// EditTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// <summary>
+        ///  更新时间
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime EditTime { get; set; }
-
-
     }
 }
-

+ 20 - 25
wms.sqlsugar/model/fj/BaseWarehouse.cs

@@ -1,6 +1,4 @@
-using System;
-using System.Collections.Generic;
-using SqlSugar;
+using SqlSugar;
 
 namespace wms.sqlsugar.model.fj
 {
@@ -9,39 +7,36 @@ namespace wms.sqlsugar.model.fj
     /// </summary>
     [Tenant("fj")]
     [SugarTable("Base_Warehouse")]
-    public partial class BaseWarehouse:BaseModel
+    public partial class BaseWarehouse : BaseModel
     {
-       
-        /// <summary> 
-        /// IsStop
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false)]
+        /// <summary>
+        ///  是否停用
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int IsStop { get; set; }
 
-        /// <summary> 
-        /// Code
-        /// </summary> 
+        /// <summary>
+        ///  编号
+        /// </summary>
         [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = false)]
         public string Code { get; set; }
 
-        /// <summary> 
-        /// Name
-        /// </summary> 
+        /// <summary>
+        ///  名称
+        /// </summary>
         [SugarColumn(ColumnDataType = "nvarchar", Length = 100, IsNullable = false)]
         public string Name { get; set; }
 
-        /// <summary> 
-        /// TypeNum
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false)]
+        /// <summary>
+        ///  类型
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int TypeNum { get; set; }
 
-        /// <summary> 
-        /// ConfigId
-        /// </summary> 
+        /// <summary>
+        ///  短编号
+        /// </summary>
         [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
-        public long ConfigId { get; set; }
-
-      
+        public int ShortNumber { get; set; }
     }
 }

+ 2 - 2
wms.sqlsugar/model/fj/BillDocsinfo.cs

@@ -30,13 +30,13 @@ namespace wms.sqlsugar.model.fj
         public string ReqNo { get; set; }
 
         /// <summary> 
-        /// DocsNo
+        ///  单据编号
         /// </summary> 
         [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = false )]
         public string DocsNo { get; set; }
 
         /// <summary> 
-        /// TypeNum
+        ///  类型编号
         /// </summary> 
         [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
         public int TypeNum { get; set; }

+ 3 - 3
wms.sqlsugar/model/fj/BillInvflow.cs

@@ -12,19 +12,19 @@ namespace wms.sqlsugar.model.fj
     public partial class BillInvflow : BaseModel
     { 
         /// <summary> 
-        /// WarehouseId
+        ///  仓库ID
         /// </summary> 
         [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
         public long WarehouseId { get; set; }
 
         /// <summary> 
-        /// ContGrpId
+        ///  容器ID
         /// </summary> 
         [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
         public long ContGrpId { get; set; }
 
         /// <summary> 
-        /// ContGrpBarCode
+        ///  容器编号
         /// </summary> 
         [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
         public string ContGrpBarCode { get; set; }

+ 282 - 285
wms.sqlsugar/model/fj/BillInvinit.cs

@@ -1,6 +1,5 @@
-using System; 
-using System.Collections.Generic;
-using SqlSugar;
+using SqlSugar;
+using System;
 
 namespace wms.sqlsugar.model.fj
 {
@@ -10,428 +9,426 @@ namespace wms.sqlsugar.model.fj
     [Tenant("fj")]
     [SugarTable("Bill_InvInit")]
     public partial class BillInvinit : BaseModel
-    { 
-
-        /// <summary> 
-        /// WarehouseId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+    {
+        /// <summary>
+        ///  仓库ID 关联仓库表 ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long WarehouseId { get; set; }
 
-        /// <summary> 
-        /// ContGrpId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// <summary>
+        ///  组盘ID
+        ///  创建条码表时生成 同库存表组盘ID ContGrpId
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long ContGrpId { get; set; }
 
-        /// <summary> 
-        /// ContGrpBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  容器条码 同联容器表容器条码 ContBarCode
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ContGrpBarCode { get; set; }
 
-        /// <summary> 
-        /// BoxBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  箱条码
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BoxBarCode { get; set; }
 
-        /// <summary> 
-        /// BomDocsNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  Bom单号 关联投料单 帘线工序工单号 BillCode
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BomDocsNo { get; set; }
 
-        /// <summary> 
-        /// BomMatId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// <summary>
+        ///  Bom物料ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long BomMatId { get; set; }
 
-        /// <summary> 
-        /// BomMatCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  Bom物料编号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BomMatCode { get; set; }
 
-        /// <summary> 
-        /// BomMatName
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 100  , IsNullable = true )]
+        /// <summary>
+        ///  Bom物料
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 100, IsNullable = true)]
         public string BomMatName { get; set; }
 
-        /// <summary> 
-        /// BomSetId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// <summary>
+        ///  垛形主表 ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long BomSetId { get; set; }
 
-        /// <summary> 
-        /// ExecStateCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  库存状态码
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecStateCode { get; set; }
 
-        /// <summary> 
-        /// ExecDocsNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  单据编号 关联单据表单据编号 DocsNo
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecDocsNo { get; set; }
 
-        /// <summary> 
-        /// ExecDocsRowNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  单据行号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecDocsRowNo { get; set; }
 
-        /// <summary> 
-        /// ExecDocsTypeCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  单据类型编号 同单据表TypeNum
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecDocsTypeCode { get; set; }
 
-        /// <summary> 
-        /// InvInOut
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        ///  出入库标识 默认0 出库1 入库2
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int InvInOut { get; set; }
 
-        /// <summary> 
-        /// ExecWho
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  执行人
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecWho { get; set; }
 
-        /// <summary> 
-        /// ExecTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// <summary>
+        ///  执行时间
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime ExecTime { get; set; }
 
-        /// <summary> 
-        /// PutRow
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        /// 
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int PutRow { get; set; }
 
-        /// <summary> 
-        /// PutCol
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        /// 
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int PutCol { get; set; }
 
-        /// <summary> 
-        /// PutLayer
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        /// 
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int PutLayer { get; set; }
 
-        /// <summary> 
-        /// InvBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  入库条码号 FJ材料号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string InvBarCode { get; set; }
 
-        /// <summary> 
-        /// InvStateCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  库存状态
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string InvStateCode { get; set; }
 
-        /// <summary> 
-        /// InDocsNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  入库单号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string InDocsNo { get; set; }
 
-        /// <summary> 
-        /// InDocsRowNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  入库单行号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string InDocsRowNo { get; set; }
 
-        /// <summary> 
-        /// SuppCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  供应编号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string SuppCode { get; set; }
 
-        /// <summary> 
-        /// SuppName
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  供应商名称
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string SuppName { get; set; }
 
-        /// <summary> 
-        /// CustCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  海关编号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string CustCode { get; set; }
 
-        /// <summary> 
-        /// CustName
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  海关名称
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string CustName { get; set; }
 
-        /// <summary> 
-        /// MatId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// <summary>
+        ///  物料ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long MatId { get; set; }
 
-        /// <summary> 
-        /// MatCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  物料编号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string MatCode { get; set; }
 
-        /// <summary> 
-        /// MatName
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 100  , IsNullable = true )]
+        /// <summary>
+        ///  物料名称
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 100, IsNullable = true)]
         public string MatName { get; set; }
 
-        /// <summary> 
-        /// TolWQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// <summary>
+        ///  总重量
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal TolWQty { get; set; }
 
-        /// <summary> 
-        /// NetWQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// <summary>
+        ///  净重
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal NetWQty { get; set; }
 
-        /// <summary> 
-        /// TareWQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// <summary>
+        ///  皮重
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal TareWQty { get; set; }
 
-        /// <summary> 
-        /// LengthQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// <summary>
+        ///  总长
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal LengthQty { get; set; }
 
-        /// <summary> 
-        /// CaQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// <summary>
+        ///  碳当量
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal CaQty { get; set; }
 
-        /// <summary> 
-        /// SolderQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// <summary>
+        ///  销售总量
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal SolderQty { get; set; }
 
-        /// <summary> 
-        /// ContUsageQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        ///  暂定
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int ContUsageQty { get; set; }
 
-        /// <summary> 
-        /// BatchNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  批次号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BatchNo { get; set; }
 
-        /// <summary> 
-        /// ProductTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// <summary>
+        ///  生产时间
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime ProductTime { get; set; }
 
-        /// <summary> 
-        /// OneInTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// <summary>
+        ///  第一次入库时间
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime OneInTime { get; set; }
 
-        /// <summary> 
-        /// RodBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  盘条条码
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string RodBarCode { get; set; }
 
-        /// <summary> 
-        /// HWBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  工字轮条码
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string HWBarCode { get; set; }
 
-        /// <summary> 
-        /// RFIDBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  RFID条码
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string RFIDBarCode { get; set; }
 
-        /// <summary> 
-        /// CLBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        /// 材料号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string CLBarCode { get; set; }
 
-        /// <summary> 
-        /// HWTypeCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  工字轮条码类型
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string HWTypeCode { get; set; }
 
-        /// <summary> 
-        /// BoilerNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  炉号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BoilerNo { get; set; }
 
-        /// <summary> 
-        /// PackNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  包号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string PackNo { get; set; }
 
-        /// <summary> 
-        /// BrandNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  牌号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BrandNo { get; set; }
 
-        /// <summary> 
-        /// ExecStd
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  执行标准
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecStd { get; set; }
 
-        /// <summary> 
-        /// LicenceCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  许可证号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string LicenceCode { get; set; }
 
-        /// <summary> 
-        /// IsSurplus
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// <summary>
+        ///  改手盘标记
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsSurplus { get; set; }
 
-        /// <summary> 
-        /// IsRework
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// <summary>
+        ///  返工标记
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsRework { get; set; }
 
-        /// <summary> 
-        /// IsBlack
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// <summary>
+        ///  是否黑盘
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsBlack { get; set; }
 
-        /// <summary> 
-        /// IsCore
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// <summary>
+        ///  是否芯股
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsCore { get; set; }
 
-        /// <summary> 
-        /// IsFast
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// <summary>
+        ///  快投标记
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsFast { get; set; }
 
-        /// <summary> 
-        /// IsFail
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// <summary>
+        ///  是否异常
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsFail { get; set; }
 
-        /// <summary> 
-        /// FailReason
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 200  , IsNullable = true )]
+        /// <summary>
+        ///  异常原因
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 200, IsNullable = true)]
         public string FailReason { get; set; }
 
-        /// <summary> 
-        /// SilkTypeCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        /// 单/双丝
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string SilkTypeCode { get; set; }
 
-        /// <summary> 
-        /// Grade
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  等级
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string Grade { get; set; }
 
-        /// <summary> 
-        /// IsBack
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// <summary>
+        ///  是否退料
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsBack { get; set; }
 
-        /// <summary> 
-        /// BackReason
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 200  , IsNullable = true )]
+        /// <summary>
+        ///  退料原因
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 200, IsNullable = true)]
         public string BackReason { get; set; }
 
-        /// <summary> 
-        /// IsTorsChk
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// <summary>
+        ///  是否扭转检测
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsTorsChk { get; set; }
 
-        /// <summary> 
-        /// TorsChkQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// <summary>
+        ///  扭转次数
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int TorsChkQty { get; set; }
 
-        /// <summary> 
-        /// TorsChkTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// <summary>
+        ///  扭转检测时间
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime TorsChkTime { get; set; }
 
-        /// <summary> 
-        /// TorsChkValue
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = true )]
+        /// <summary>
+        ///  扭转检测结果值
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = true)]
         public decimal? TorsChkValue { get; set; }
 
-        /// <summary> 
-        /// TorsChkMachCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  扭转检测设备号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string TorsChkMachCode { get; set; }
 
-        /// <summary> 
-        /// ProcessDocsCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  工序订单号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ProcessDocsCode { get; set; }
 
-        /// <summary> 
-        /// ProductMachCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  生产机台号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ProductMachCode { get; set; }
 
-        /// <summary> 
-        /// ProductLineNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  生成产线号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ProductLineNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// 货物大小
-        /// </summary> 
+        /// </summary>
         [SugarColumn(IsNullable = false)]
         public int Size { get; set; }
-
     }
 }
-

+ 225 - 228
wms.sqlsugar/model/fj/BillInvnow.cs

@@ -1,6 +1,5 @@
-using System; 
-using System.Collections.Generic;
-using SqlSugar;
+using SqlSugar;
+using System;
 
 namespace wms.sqlsugar.model.fj
 {
@@ -10,434 +9,432 @@ namespace wms.sqlsugar.model.fj
     [Tenant("fj")]
     [SugarTable("Bill_InvNow")]
     public partial class BillInvnow : BaseModel
-    { 
-
-        /// <summary> 
-        /// WarehouseId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+    {
+        /// <summary>
+        ///  仓库ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long WarehouseId { get; set; }
 
-        /// <summary> 
-        /// ContGrpId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// <summary>
+        ///  组盘ID
+        ///  创建库存的时候 获取条码表ContGrpId
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long ContGrpId { get; set; }
 
-        /// <summary> 
-        /// ContGrpBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  组盘条码
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ContGrpBarCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// 组盘类型(1物料盘 2空盘)
-        /// </summary> 
+        /// </summary>
         [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int ContGrpType { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BoxBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BoxBarCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BomDocsNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BomDocsNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BomMatId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long BomMatId { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BomMatCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BomMatCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BomMatName
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 100  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 100, IsNullable = true)]
         public string BomMatName { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BomSetId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long BomSetId { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ExecStateCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecStateCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ExecDocsNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecDocsNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ExecDocsRowNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecDocsRowNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ExecDocsTypeCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecDocsTypeCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// InvInOut
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int InvInOut { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ExecWho
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecWho { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ExecTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime ExecTime { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// PutRow
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int PutRow { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// PutCol
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int PutCol { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// PutLayer
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int PutLayer { get; set; }
 
-        /// <summary> 
-        /// InvBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  入库条码号 FJ材料号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string InvBarCode { get; set; }
 
-        /// <summary> 
-        /// InvStateCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  库存状态
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string InvStateCode { get; set; }
 
-        /// <summary> 
-        /// InDocsNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  入库单号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string InDocsNo { get; set; }
 
-        /// <summary> 
-        /// InDocsRowNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  入库单行号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string InDocsRowNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// SuppCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string SuppCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// SuppName
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string SuppName { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// CustCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string CustCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// CustName
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string CustName { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// MatId
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bigint" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
         public long MatId { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// MatCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string MatCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// MatName
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 100  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 100, IsNullable = true)]
         public string MatName { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// TolWQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal TolWQty { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// NetWQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal NetWQty { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// TareWQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal TareWQty { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// LengthQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal LengthQty { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// CaQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal CaQty { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// SolderQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = false)]
         public decimal SolderQty { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ContUsageQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int ContUsageQty { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BatchNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BatchNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ProductTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime ProductTime { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// OneInTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime OneInTime { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// RodBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string RodBarCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// HWBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string HWBarCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// RFIDBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string RFIDBarCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// CLBarCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string CLBarCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// HWTypeCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string HWTypeCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BoilerNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BoilerNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// PackNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string PackNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BrandNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string BrandNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// ExecStd
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ExecStd { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// LicenceCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string LicenceCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// IsSurplus
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsSurplus { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// IsRework
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsRework { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// IsBlack
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsBlack { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// IsCore
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsCore { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// IsFast
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsFast { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// IsFail
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsFail { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// FailReason
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 200  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 200, IsNullable = true)]
         public string FailReason { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// SilkTypeCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string SilkTypeCode { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// Grade
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string Grade { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// IsBack
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsBack { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// BackReason
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 200  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 200, IsNullable = true)]
         public string BackReason { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// IsTorsChk
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="bit" , IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bit", IsNullable = false)]
         public bool IsTorsChk { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// TorsChkQty
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="int" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "int", IsNullable = false)]
         public int TorsChkQty { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// TorsChkTime
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="datetime" ,  IsNullable = false )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "datetime", IsNullable = false)]
         public DateTime TorsChkTime { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// TorsChkValue
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="decimal" , Length = 18  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "decimal", Length = 18, IsNullable = true)]
         public decimal? TorsChkValue { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// TorsChkMachCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string TorsChkMachCode { get; set; }
 
-        /// <summary> 
-        /// ProcessDocsCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        /// 单号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ProcessDocsCode { get; set; }
 
-        /// <summary> 
-        /// ProductMachCode
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  成品机台号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ProductMachCode { get; set; }
 
-        /// <summary> 
-        /// ProductLineNo
-        /// </summary> 
-        [SugarColumn(ColumnDataType ="nvarchar" , Length = 50  , IsNullable = true )]
+        /// <summary>
+        ///  分拣机台号
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
         public string ProductLineNo { get; set; }
 
-        /// <summary> 
+        /// <summary>
         /// 货物大小
-        /// </summary> 
+        /// </summary>
         [SugarColumn(IsNullable = false)]
         public int Size { get; set; }
-
     }
 }
-

+ 21 - 3
wms.sqlsugar/model/fj/fjSysConfig.cs

@@ -1,26 +1,44 @@
 using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Text;
 
 namespace wms.sqlsugar.model.fj
 {
+    /// <summary>
+    ///  配置信息表
+    /// </summary>
     [Tenant("fj")]
     [SugarTable("sys_config", "配置信息表")]
     public class fjSysConfig : BaseModel
     {
+        /// <summary>
+        ///  编号
+        /// </summary>
         [SugarColumn(ColumnName = "code", Length = 100)]
         public string Code { get; set; }
+
+        /// <summary>
+        ///  名称
+        /// </summary>
         [SugarColumn(ColumnName = "name", Length = 100)]
         public string Name { get; set; }
+
+        /// <summary>
+        ///  内容
+        /// </summary>
         [SugarColumn(ColumnName = "scontent", Length = 100)]
         public string SContent { get; set; }
+
+        /// <summary>
+        ///  类型
+        /// </summary>
         [SugarColumn(ColumnName = "stype", Length = 50)]
         public string SType { get; set; }
+
         [SugarColumn(ColumnName = "default1", Length = 100, IsNullable = true)]
         public string Default1 { get; set; }
+
         [SugarColumn(ColumnName = "default2", Length = 100, IsNullable = true)]
         public string Default2 { get; set; }
+
         [SugarColumn(ColumnName = "default3", Length = 100, IsNullable = true)]
         public string Default3 { get; set; }
     }

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.