From c05003c73bbe527478bccc55efe25c19068b6f50 Mon Sep 17 00:00:00 2001 From: Huangxiaoqiang-03 <1247017146@qq.com> Date: 星期三, 23 十月 2024 17:30:42 +0800 Subject: [PATCH] 1 --- 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs | 9 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/LocationEnum.cs | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs | 48 ++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoRepository/TaskRepository.cs | 3 代码管理/WMS/WIDESEA_WMSClient/src/views/basic/cachePoint.vue | 206 ++++++++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs | 20 代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue | 396 +++++++-------- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/CachePointController.cs | 17 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ddd95cc1-aa8d-43ca-a1cd-af308e641ed7.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs | 81 +++ 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/882415c3-1a90-4a52-810f-4d72d250cc16.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8cf517ec-1cf8-421f-a81d-060a1c174e1a.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs | 5 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1abe9649-fb25-4398-9e24-b4ac1e6dab06.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs | 2 代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/CachePoint.js | 69 ++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs | 141 +++++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs | 2 代码管理/WMS/WIDESEA_WMSClient/src/router/viewGird.js | 16 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0411b122-4aac-4e05-87bf-b24318b57075.vsidx | 0 代码管理/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue | 7 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/StockEnum.cs | 21 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs | 19 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs | 44 + 代码管理/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue | 69 -- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 39 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs | 40 + 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/18868982-b034-467b-8435-c66e181e1f8b.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/WIDESEA_BasicService.csproj | 1 /dev/null | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs | 12 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/44ea72ad-ffb7-4b5b-85e0-241240f07f30.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs | 44 + 代码管理/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue | 22 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs | 40 + 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_MenuService.cs | 2 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/86da0ee4-06d1-42f2-a5bf-e1a405be4a6d.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/29b80993-5f2f-4105-84fe-f842cfdb3cd5.vsidx | 0 代码管理/WMS/WIDESEA_WMSClient/src/views/basic/areaInfo.vue | 11 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs | 6 代码管理/WCS/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue | 7 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_AreaInfo.cs | 2 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/96826077-2dcc-4819-9493-76e6f8cc4f44.vsidx | 0 44 files changed, 1,086 insertions(+), 325 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue" index 6b86cae..2c1fa51 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue" @@ -94,6 +94,7 @@ deviceCode: "", deviceType: "", deviceStatus: "", + createDate:"", }); const searchFormOptions = ref([ [ @@ -111,7 +112,11 @@ type: "select", dataKey: "deviceStatus", data: [], - }, + },{ + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + }, ], ]); const columns = ref([ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/18868982-b034-467b-8435-c66e181e1f8b.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/18868982-b034-467b-8435-c66e181e1f8b.vsidx" new file mode 100644 index 0000000..5360b09 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/18868982-b034-467b-8435-c66e181e1f8b.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1abe9649-fb25-4398-9e24-b4ac1e6dab06.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1abe9649-fb25-4398-9e24-b4ac1e6dab06.vsidx" new file mode 100644 index 0000000..8724a06 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1abe9649-fb25-4398-9e24-b4ac1e6dab06.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9c6ca323-4d49-485c-9289-6f419648e181.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/29b80993-5f2f-4105-84fe-f842cfdb3cd5.vsidx" similarity index 100% rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9c6ca323-4d49-485c-9289-6f419648e181.vsidx" rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/29b80993-5f2f-4105-84fe-f842cfdb3cd5.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/882415c3-1a90-4a52-810f-4d72d250cc16.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/882415c3-1a90-4a52-810f-4d72d250cc16.vsidx" new file mode 100644 index 0000000..06854c4 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/882415c3-1a90-4a52-810f-4d72d250cc16.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/88a80046-55e1-415d-90b6-d311138ea206.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/88a80046-55e1-415d-90b6-d311138ea206.vsidx" deleted file mode 100644 index c293a55..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/88a80046-55e1-415d-90b6-d311138ea206.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8cf517ec-1cf8-421f-a81d-060a1c174e1a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8cf517ec-1cf8-421f-a81d-060a1c174e1a.vsidx" new file mode 100644 index 0000000..34549a4 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8cf517ec-1cf8-421f-a81d-060a1c174e1a.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9619e111-5f4d-4a9e-be92-1f83ff1f4c3e.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9619e111-5f4d-4a9e-be92-1f83ff1f4c3e.vsidx" deleted file mode 100644 index 5cf9a83..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9619e111-5f4d-4a9e-be92-1f83ff1f4c3e.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b10cf6b0-c2bb-4c3d-ba2c-41b340cd834d.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b10cf6b0-c2bb-4c3d-ba2c-41b340cd834d.vsidx" deleted file mode 100644 index 70aef67..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b10cf6b0-c2bb-4c3d-ba2c-41b340cd834d.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/df097475-a21c-477f-bae8-fdcb85add7c1.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/df097475-a21c-477f-bae8-fdcb85add7c1.vsidx" deleted file mode 100644 index 70aef67..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/df097475-a21c-477f-bae8-fdcb85add7c1.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_MenuService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_MenuService.cs" index 7325119..29e3b58 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_MenuService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_MenuService.cs" @@ -12,6 +12,8 @@ public interface ISys_MenuService : IService<Sys_Menu> { object GetCurrentMenuActionList(); + object GetMenuActionList(int roleId); + List<Sys_Menu> GetUserMenuList(int roleId); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs" index b3cd533..146f10e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs" @@ -20,6 +20,7 @@ using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; using WIDESEAWCS_Core.Enums; using WIDESEAWCS_Core.Caches; +using WIDESEAWCS_QuartzJob.DeviceEnum; namespace WIDESEAWCS_WCSServer.Controllers.System { @@ -106,8 +107,8 @@ { Type type = typeof(IDevice); var basePath = AppContext.BaseDirectory; - string path = Path.Combine(basePath, Assembly.GetExecutingAssembly().GetName().Name); - Assembly assembly = Assembly.LoadFrom(path); + //string path = Path.Combine("", Assembly.GetAssembly(type).GetName()); + Assembly assembly = Assembly.GetAssembly(type); List<Type> types = assembly.GetTypes().Where(x => type.IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface).ToList(); List<object> data = new List<object>(); foreach (var deviceType in types) @@ -146,12 +147,12 @@ case "deviceStatus": { List<object> data = new List<object>(); - Type type = Type.GetType("WIDESEAWCS_QuartzJob.DeviceEnum.DeviceStatusEnum"); + Type type = typeof(DeviceStatusEnum); List<int> enums = Enum.GetValues(type).Cast<int>().ToList(); int index = 0; foreach (var item in enums) { - FieldInfo? fieldInfo = type.GetField((item).ToString()); + FieldInfo? fieldInfo = type.GetField(((DeviceStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); if (description != null) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" index 4f4e913..639eeda 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" @@ -43,7 +43,7 @@ builder.Services.AddAllOptionRegister();//读取配置文件 builder.Services.AddMemoryCacheSetup();//缓存 builder.Services.AddSqlsugarSetup();//SqlSugar 启动服务 -builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入 +//builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入 builder.Services.AddDbSetup();//Db 启动服务 builder.Services.AddScoped<QuartzJobCreateDataTabel>(); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" index 85d5afa..2c740c4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" @@ -10,15 +10,20 @@ using WIDESEAWCS_ISystemRepository; using WIDESEAWCS_Core.BaseRepository; using System.Net; +using WIDESEAWCS_Core.Caches; namespace WIDESEAWCS_SystemServices { public class Sys_UserService : ServiceBase<Sys_User, ISys_UserRepository>, ISys_UserService { private readonly IUnitOfWorkManage _unitOfWorkManage; - public Sys_UserService(ISys_UserRepository repository, IUnitOfWorkManage unitOfWorkManage) : base(repository) + private readonly ICacheService _cacheService; + private readonly ISys_MenuService _menuService; + public Sys_UserService(ISys_UserRepository repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService) : base(repository) { _unitOfWorkManage = unitOfWorkManage; + _cacheService = cacheService; + _menuService = menuService; } public WebResponseContent Login(LoginInfo loginInfo) @@ -44,6 +49,16 @@ UserInfo user = BaseDal.GetUserInfo(loginInfo.UserName, loginInfo.Password); if (user != null) { + object obj = _menuService.GetMenuActionList(user.RoleId); + if (obj is not IEnumerable<object> list) + { + return WebResponseContent.Instance.Error("鏃犵櫥褰曟潈闄�"); + } + if (!list.Any()) + { + return WebResponseContent.Instance.Error("鏃犵櫥褰曟潈闄�"); + } + string token = JwtHelper.IssueJwt(new TokenModelJwt() { UserId = user.UserId, @@ -52,6 +67,8 @@ TenantId = user.TenantId, }); + _cacheService.AddOrUpdate(user.UserId.ToString(), token); + content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl }); } else diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/CachePoint.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/CachePoint.js" new file mode 100644 index 0000000..151c927 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/CachePoint.js" @@ -0,0 +1,69 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + let enableBtn = this.buttons.find(x => x.value == 'Enable'); + if (enableBtn) { + enableBtn.onClick = function () { + this.$message.success('鑷畾涔夋寜閽偣鍑讳簨浠�'); + } + } + let disableBtn = this.buttons.find(x => x.value == 'Disable'); + if (disableBtn) { + disableBtn.onClick = function () { + this.$message.success('鑷畾涔夋寜閽偣鍑讳簨浠�'); + } + } + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } +}; +export default extension; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/router/viewGird.js" index 41b8179..d5007fe 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/router/viewGird.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/router/viewGird.js" @@ -45,7 +45,13 @@ path: '/materielInfo', name: 'materielInfo', component: () => import('@/views/basic/materielInfo.vue') - }, { + }, + { + path: '/cachePoint', + name: 'cachePoint', + component: () => import('@/views/basic/cachePoint.vue') + }, + { path: '/roadwayInfo', name: 'roadwayInfo', component: () => import('@/views/basic/roadwayInfo.vue') @@ -90,6 +96,14 @@ path: '/stockView', name: 'stockView', component: () => import('@/views/stock/stockView.vue') + },{ + path: '/StockQuantityChangeRecord', + name: 'StockQuantityChangeRecord', + component: () => import('@/views/record/stockQuantityChangeRecord.vue') + },{ + path: '/locationStatusChangeRecord', + name: 'locationStatusChangeRecord', + component: () => import('@/views/record/locationStatusChangeRecord.vue') }] export default viewgird diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/areaInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/areaInfo.vue" index 554d7b5..6772d31 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/areaInfo.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/areaInfo.vue" @@ -29,8 +29,7 @@ const editFormFields = ref({ areaCode: "", areaName: "", - areaType: "", - areaStatus: "", + warehouseId: "", areaDes: "", }); @@ -60,6 +59,14 @@ title: "鍖哄煙鎻忚堪", field: "areaDes", type: "textarea", + },{ title: "鍖哄煙鐘舵��", field: "areaStatus" ,type: "select",dataKey: "enableEnum",data: [],}, + ], + [ + { + title: "鍖哄煙绫诲瀷", + required: true, + field: "areaType", + type: "int", }, ], ]); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/cachePoint.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/cachePoint.vue" new file mode 100644 index 0000000..0cf901e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/cachePoint.vue" @@ -0,0 +1,206 @@ + +<template> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> +</template> + <script> +import extend from "@/extension/basic/CachePoint.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "缂撳瓨鐐�", + name: "CachePoint", + url: "/CachePoint/", + sortName: "id", + }); + const editFormFields = ref({ + areaId: "", + pointCode: "", + pointStatus: "", + enableStatus: "", + pointType: "", + row: "", + column: "", + depth: "", + }); + const editFormOptions = ref([ + [ + {title: "鍖哄煙涓婚敭",required: true,field: "areaId",type: "string",}, + {title: "缂撳瓨鐐圭紪鍙�",required: true,field: "pointCode",type: "string",}, + {title: "缂撳瓨鐐圭姸鎬�",field: "pointStatus",type: "select",dataKey: "locationStatusEnum",data: [],}, + {title: "鏄惁绂佺敤",field: "enableStatus",type: "select",dataKey: "enableEnum",data: [],}, + ],[ + { title: "琛�", field: "row", type: "string" }, + { title: "鍒�", field: "column", type: "string" }, + { title: "娣卞害", field: "depth", type: "string" }, + { title: "缂撳瓨鐐圭被鍨�", field: "pointType", type: "string"}, + ], + ]); + const searchFormFields = ref({ + areaId: "", + pointCode: "", + pointStatus: "", + enableStatus: "", + pointType: "", + row: "", + column: "", + depth: "", + }); + const searchFormOptions = ref([ + [ + {title: "鍖哄煙涓婚敭",field: "areaId",type: "string",}, + {title: "缂撳瓨鐐圭紪鍙�",field: "pointCode",type: "string",}, + {title: "缂撳瓨鐐圭姸鎬�",field: "pointStatus",type: "select",dataKey: "locationStatusEnum",data: [],}, + {title: "鏄惁绂佺敤",field: "enableStatus",type: "select",dataKey: "enableEnum",data: [],}, + ],[ + { title: "琛�", field: "row", type: "string" }, + { title: "鍒�", field: "column", type: "string" }, + { title: "娣卞害", field: "depth", type: "string" }, + { title: "缂撳瓨鐐圭被鍨�", field: "pointType", type: "string"}, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "areaId", + title: "鍖哄煙涓婚敭", + type: "int", + width: 90, + align: "left", + }, + { + field: "pointCode", + title: "缂撳瓨鐐圭紪鍙�", + type: "string", + width: 150, + align: "left", + }, + { + field: "pointStatus", + title: "缂撳瓨鐐圭姸鎬�", + type: "string", + width: 90, + align: "left", + bind: { key: "locationStatusEnum", data: [] }, + }, + { + field: "enableStatus", + title: "鏄惁绂佺敤", + type: "decimal", + width: 90, + align: "left", + bind: { key: "enableEnum", data: [] }, + }, + { + field: "row", + title: "琛�", + type: "string", + width: 90, + align: "left", + }, + { + field: "column", + title: "鍒�", + type: "string", + width: 90, + align: "left", + }, + { + field: "depth", + title: "娣卞害", + type: "string", + width: 90, + align: "left", + }, + { + field: "pointType", + title: "缂撳瓨鐐圭被鍨�", + type: "string", + width: 90, + align: "left", + }, + { + field: "Remark", + title: "澶囨敞", + type: "string", + width: 90, + align: "left", + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue" index b2d59d8..4879560 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue" @@ -85,15 +85,15 @@ ], ]); const searchFormFields = ref({ - deviceCode: "", - deviceType: "", - deviceStatus: "", + locationCode: "", + orderNo: "", + taskNum: "", }); const searchFormOptions = ref([ [ - { title: "璁惧缂栧彿", field: "deviceCode" }, - { title: "璁惧绫诲瀷", field: "deviceType" }, - { title: "璁惧鐘舵��", field: "deviceStatus" }, + { title: "璐т綅鍙�", field: "locationCode" }, + { title: "鍗曟嵁缂栧彿", field: "orderNo" }, + { title: "浠诲姟鍙�", field: "taskNum" }, ], ]); const columns = ref([ @@ -127,6 +127,7 @@ type: "string", width: 150, align: "left", + bind: { key: "locationStatusEnum", data: [] }, }, { field: "afterStatus", @@ -134,6 +135,15 @@ type: "decimal", width: 90, align: "left", + bind: { key: "locationStatusEnum", data: [] }, + }, + { + field: "changeType", + title: "鍙樺姩绫诲瀷", + type: "string", + width: 90, + align: "left", + bind: { key: "stockChangeType", data: [] }, }, { field: "orderId", diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue" index 4d7b4f8..87bf86c 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue" @@ -27,73 +27,21 @@ sortName: "id", }); const editFormFields = ref({ - deviceCode: "", - deviceName: "", - deviceType: "", - deviceStatus: "", - deviceIp: "", - devicePort: "", - devicePlcType: "", - deviceRemark: "", + }); const editFormOptions = ref([ - [ - { - title: "璁惧缂栧彿", - required: true, - field: "deviceCode", - type: "string", - }, - { - title: "璁惧鍚嶇О", - required: true, - field: "deviceName", - type: "string", - }, - { - title: "璁惧绫诲瀷", - required: true, - field: "deviceType", - type: "string", - }, - { - title: "璁惧鐘舵��", - required: true, - field: "deviceStatus", - type: "string", - }, - ], - [ - { title: "璁惧IP", required: true, field: "deviceIp", type: "string" }, - { - title: "璁惧绔彛", - required: true, - field: "devicePort", - type: "string", - }, - { - title: "PLC绫诲瀷", - required: true, - field: "devicePlcType", - type: "string", - }, - { - title: "澶囨敞", - field: "deviceRemark", - type: "string", - }, - ], + ]); const searchFormFields = ref({ - deviceCode: "", - deviceType: "", - deviceStatus: "", + palleCode: "", + materielCode: "", + orderNo: "", }); const searchFormOptions = ref([ [ - { title: "璁惧缂栧彿", field: "deviceCode" }, - { title: "璁惧绫诲瀷", field: "deviceType" }, - { title: "璁惧鐘舵��", field: "deviceStatus" }, + { title: "鎵樼洏鍙�", field: "palleCode" }, + { title: "鐗╂枡缂栧彿", field: "materielCode" }, + { title: "鍗曟嵁缂栧彿", field: "orderNo" }, ], ]); const columns = ref([ @@ -183,6 +131,7 @@ type: "int", width: 120, align: "left", + bind: { key: "stockChangeType", data: [] }, }, { field: "changeQuantity", diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue" index e9a039c..fdb2428 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue" @@ -1,228 +1,200 @@ - <template> - <view-grid - ref="grid" - :columns="columns" - :detail="detail" - :editFormFields="editFormFields" - :editFormOptions="editFormOptions" - :searchFormFields="searchFormFields" - :searchFormOptions="searchFormOptions" - :table="table" - :extend="extend" - > - </view-grid> - </template> - <script> - import extend from "@/extension/stock/stockInfoDetail.js"; - import { ref, defineComponent } from "vue"; - export default defineComponent({ - setup() { - const table = ref({ - key: "id", - footer: "Foots", - cnName: "搴撳瓨淇℃伅鏄庣粏", - name: "stockInfoDetail", - url: "/StockInfoDetail/", - sortName: "id", - }); - const editFormFields = ref({ - deviceCode: "", - deviceName: "", - deviceType: "", - deviceStatus: "", - deviceIp: "", - devicePort: "", - devicePlcType: "", - deviceRemark: "", - }); - const editFormOptions = ref([ - [ - { - title: "璁惧缂栧彿", - required: true, - field: "deviceCode", - type: "string", - }, - { - title: "璁惧鍚嶇О", - required: true, - field: "deviceName", - type: "string", - }, - { - title: "璁惧绫诲瀷", - required: true, - field: "deviceType", - type: "string", - }, - { - title: "璁惧鐘舵��", - required: true, - field: "deviceStatus", - type: "string", - }, - ], - [ - { title: "璁惧IP", required: true, field: "deviceIp", type: "string" }, - { - title: "璁惧绔彛", - required: true, - field: "devicePort", - type: "string", - }, - { - title: "PLC绫诲瀷", - required: true, - field: "devicePlcType", - type: "string", - }, - { - title: "澶囨敞", - field: "deviceRemark", - type: "string", - }, - ], - ]); - const searchFormFields = ref({ - deviceCode: "", - deviceType: "", - deviceStatus: "", - }); - const searchFormOptions = ref([ - [ - { title: "璁惧缂栧彿", field: "deviceCode" }, - { title: "璁惧绫诲瀷", field: "deviceType" }, - { title: "璁惧鐘舵��", field: "deviceStatus" }, - ], - ]); - const columns = ref([ + <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields" + :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions" + :table="table" :extend="extend"> + </view-grid> +</template> +<script> +import extend from "@/extension/stock/stockInfoDetail.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "搴撳瓨淇℃伅鏄庣粏", + name: "stockInfoDetail", + url: "/StockInfoDetail/", + sortName: "id", + }); + const editFormFields = ref({ + deviceCode: "", + deviceName: "", + deviceType: "", + deviceStatus: "", + deviceIp: "", + devicePort: "", + devicePlcType: "", + deviceRemark: "", + }); + const editFormOptions = ref([ + [ { - field: "id", - title: "Id", - type: "int", - width: 90, - hidden: true, - readonly: true, - require: true, - align: "left", - }, - { - field: "stockId", - title: "搴撳瓨淇℃伅涓婚敭", - type: "string", - width: 90, - align: "left", - }, - { - field: "materielCode", title: "鐗╂枡缂栧彿", + required: true, + field: "materielCode", type: "string", - width: 150, - align: "left", }, { - field: "materielName", - title: "鐗╂枡鍚嶇О", - type: "string", - width: 150, - align: "left", - }, - { - field: "orderNo", title: "鍗曟嵁缂栧彿", - type: "decimal", - width: 90, - align: "left", + required: true, + field: "materielName", + type: "string", }, { - field: "batchNo", title: "鎵规鍙�", + required: true, + field: "orderNo", type: "string", - width: 90, - align: "left", }, { - field: "serialNumber", title: "搴忓垪鍙�", - type: "int", - width: 120, - align: "left", - }, - { - field: "stockQuantity", - title: "搴撳瓨鏁伴噺", + required: true, + field: "serialNumber", type: "string", - width: 200, - align: "left", }, - { - field: "outboundQuantity", - title: "鍑哄簱鏁伴噺", - type: "string", - width: 180, - align: "left", - }, - { - field: "status", - title: "搴撳瓨鏄庣粏鐘舵��", - type: "string", - width: 120, - align: "left", - }, - { - field: "creater", - title: "鍒涘缓浜�", - type: "string", - width: 90, - align: "left", - }, - { - field: "createDate", - title: "鍒涘缓鏃堕棿", - type: "datetime", - width: 160, - align: "left", - }, - { - field: "modifier", - title: "淇敼浜�", - type: "string", - width: 100, - align: "left", - }, - { - field: "modifyDate", - title: "淇敼鏃堕棿", - type: "datetime", - width: 160, - align: "left", - }, - { - field: "remark", - title: "澶囨敞", - type: "string", - width: 100, - align: "left", - }, - ]); - const detail = ref({ - cnName: "#detailCnName", - table: "", - columns: [], - sortName: "", - }); - return { - table, - extend, - editFormFields, - editFormOptions, - searchFormFields, - searchFormOptions, - columns, - detail, - }; - }, - }); - </script> - \ No newline at end of file + ], + + ]); + const searchFormFields = ref({ + materielCode: "", + materielName: "", + orderNo: "", + }); + const searchFormOptions = ref([ + [ + { title: "鐗╂枡缂栧彿", field: "materielCode" }, + { title: "鐗╂枡鍚嶇О", field: "materielName" }, + { title: "鍗曟嵁缂栧彿", field: "orderNo" }, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "stockId", + title: "搴撳瓨淇℃伅涓婚敭", + type: "string", + width: 90, + align: "left", + }, + { + field: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + align: "left", + }, + { + field: "orderNo", + title: "鍗曟嵁缂栧彿", + type: "decimal", + width: 90, + align: "left", + }, + { + field: "batchNo", + title: "鎵规鍙�", + type: "string", + width: 90, + align: "left", + }, + { + field: "serialNumber", + title: "搴忓垪鍙�", + type: "int", + width: 120, + align: "left", + }, + { + field: "stockQuantity", + title: "搴撳瓨鏁伴噺", + type: "string", + width: 200, + align: "left", + }, + { + field: "outboundQuantity", + title: "鍑哄簱鏁伴噺", + type: "string", + width: 180, + align: "left", + }, + { + field: "status", + title: "搴撳瓨鏄庣粏鐘舵��", + type: "string", + width: 120, + align: "left", + bind: { key: "outStockStatus", data: [] }, + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue" index b4380be..dc39d6a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue" @@ -207,6 +207,13 @@ align: "left", }, { + field: "operateType", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + { field: "remark", title: "澶囨敞", type: "string", diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0411b122-4aac-4e05-87bf-b24318b57075.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0411b122-4aac-4e05-87bf-b24318b57075.vsidx" new file mode 100644 index 0000000..587f941 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0411b122-4aac-4e05-87bf-b24318b57075.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/31942420-eefc-4133-80d7-b56436c46904.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/31942420-eefc-4133-80d7-b56436c46904.vsidx" deleted file mode 100644 index b3861d9..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/31942420-eefc-4133-80d7-b56436c46904.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d90a9b2-baa2-48c6-95e6-a364aa3c89e1.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d90a9b2-baa2-48c6-95e6-a364aa3c89e1.vsidx" deleted file mode 100644 index db3b46e..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d90a9b2-baa2-48c6-95e6-a364aa3c89e1.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/44ea72ad-ffb7-4b5b-85e0-241240f07f30.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/44ea72ad-ffb7-4b5b-85e0-241240f07f30.vsidx" new file mode 100644 index 0000000..d929bfa --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/44ea72ad-ffb7-4b5b-85e0-241240f07f30.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/738d6968-0808-4920-a274-cb39619f82a4.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/738d6968-0808-4920-a274-cb39619f82a4.vsidx" deleted file mode 100644 index 3e6caa8..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/738d6968-0808-4920-a274-cb39619f82a4.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/86da0ee4-06d1-42f2-a5bf-e1a405be4a6d.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/86da0ee4-06d1-42f2-a5bf-e1a405be4a6d.vsidx" new file mode 100644 index 0000000..6ff6fda --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/86da0ee4-06d1-42f2-a5bf-e1a405be4a6d.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/96826077-2dcc-4819-9493-76e6f8cc4f44.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/96826077-2dcc-4819-9493-76e6f8cc4f44.vsidx" new file mode 100644 index 0000000..fbd2170 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/96826077-2dcc-4819-9493-76e6f8cc4f44.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/9eee2df4-daff-4226-a579-ad61ef88678a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/9eee2df4-daff-4226-a579-ad61ef88678a.vsidx" deleted file mode 100644 index afb7ceb..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/9eee2df4-daff-4226-a579-ad61ef88678a.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a8b12b1d-7deb-4fb2-9be1-8c358e147412.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a8b12b1d-7deb-4fb2-9be1-8c358e147412.vsidx" deleted file mode 100644 index b464062..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a8b12b1d-7deb-4fb2-9be1-8c358e147412.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ddd95cc1-aa8d-43ca-a1cd-af308e641ed7.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ddd95cc1-aa8d-43ca-a1cd-af308e641ed7.vsidx" new file mode 100644 index 0000000..a15f996 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ddd95cc1-aa8d-43ca-a1cd-af308e641ed7.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs" index cfdfdeb..40dbb76 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs" @@ -1,16 +1,19 @@ -锘縰sing SqlSugar; +锘縰sing AutoMapper; +using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; +using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_Core.Utilities; using WIDESEA_DTO.Basic; using WIDESEA_IBasicRepository; +using WIDESEA_IRecordService; using WIDESEA_IBasicService; using WIDESEA_Model.Models; @@ -18,7 +21,12 @@ { public partial class LocationInfoService : ServiceBase<Dt_LocationInfo, ILocationInfoRepository>, ILocationInfoService { - + private readonly IRecordService _recordService; + public LocationInfoService(ILocationInfoRepository BaseDal, IBasicRepository basicRepository, IRecordService recordService) : base(BaseDal) + { + _basicRepository = basicRepository; + _recordService = recordService; + } private Dictionary<string, OrderByType> _emptyAssignOrderBy = new Dictionary<string, OrderByType>() { { nameof(Dt_LocationInfo.Depth), OrderByType.Desc }, @@ -59,6 +67,10 @@ } return null; + } + public virtual Dt_LocationInfo? AssignLocation(string RoadwayNo) + { + return StoredAssignLocation(RoadwayNo); } private Dt_LocationInfo EmptyAssignLocation(string roadway) @@ -111,5 +123,130 @@ { return BaseDal.QueryFirst(x => x.RoadwayNo == locationInfo.RoadwayNo && x.Column == locationInfo.Column && x.Layer == locationInfo.Layer && x.Depth != locationInfo.Depth && x.Row != locationInfo.Row && (SqlFunc.Abs(x.Row - locationInfo.Row) == 1)); } + public void UpdateLocationLock(Dt_LocationInfo locationInfo, int? TaskNum) + { + try + { + if (locationInfo.Depth == 2) + { + Dt_LocationInfo dt_LocationInfo = null; + int beforeStatus = 0; + if (locationInfo.Row == 1 || locationInfo.Row == 5) + { + dt_LocationInfo = BaseDal.QueryFirst(x => x.Row == locationInfo.Row + 1 && x.Layer == locationInfo.Layer && x.Column == locationInfo.Column && x.RoadwayNo == locationInfo.RoadwayNo); + beforeStatus = dt_LocationInfo.LocationStatus; + if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus != LocationStatusEnum.InStock.ObjToInt()) + { + dt_LocationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt(); + BaseDal.UpdateData(dt_LocationInfo); + } + } + else if (locationInfo.Row == 4 || locationInfo.Row == 8) + { + dt_LocationInfo = BaseDal.QueryFirst(x => x.Row == locationInfo.Row + 1 && x.Layer == locationInfo.Layer && x.Column == locationInfo.Column && x.RoadwayNo == locationInfo.RoadwayNo); + beforeStatus = dt_LocationInfo.LocationStatus; + if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus != LocationStatusEnum.InStock.ObjToInt()) + { + dt_LocationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt(); + BaseDal.UpdateData(dt_LocationInfo); + } + } + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Lock.ObjToInt(), "", TaskNum); + } + } + catch (Exception ex) + { + throw ex; + } + + } + public void UpdateLocationFree(Dt_LocationInfo locationInfo, int? TaskNum) + { + try + { + if (locationInfo.Depth == 2) + { + Dt_LocationInfo dt_LocationInfo = null; + int beforeStatus = 0; + if (locationInfo.Row == 1 || locationInfo.Row == 5) + { + dt_LocationInfo = BaseDal.QueryFirst(x => x.Row == locationInfo.Row + 1 && x.Layer == locationInfo.Layer && x.Column == locationInfo.Column && x.RoadwayNo == locationInfo.RoadwayNo); + beforeStatus = dt_LocationInfo.LocationStatus; + if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus != LocationStatusEnum.InStock.ObjToInt()) + { + dt_LocationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + BaseDal.UpdateData(dt_LocationInfo); + } + } + else if (locationInfo.Row == 4 || locationInfo.Row == 8) + { + dt_LocationInfo = BaseDal.QueryFirst(x => x.Row == locationInfo.Row + 1 && x.Layer == locationInfo.Layer && x.Column == locationInfo.Column && x.RoadwayNo == locationInfo.RoadwayNo); + beforeStatus = dt_LocationInfo.LocationStatus; + if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus != LocationStatusEnum.InStock.ObjToInt()) + { + dt_LocationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + BaseDal.UpdateData(dt_LocationInfo); + } + } + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(dt_LocationInfo, beforeStatus, StockChangeType.Lock.ObjToInt(), "", TaskNum); + } + } + catch (Exception ex) + { + throw ex; + } + + } + public Dt_LocationInfo isDepth(Dt_LocationInfo locationInfo) + { + if (locationInfo.Depth == 2) + { + if (locationInfo.Row == 1 || locationInfo.Row == 5) + { + Dt_LocationInfo dt_LocationInfo = BaseDal.QueryFirst(x => x.Row == locationInfo.Row + 1 && x.Layer == locationInfo.Layer && x.Column == locationInfo.Column && x.RoadwayNo == locationInfo.RoadwayNo); + if (dt_LocationInfo != null&& dt_LocationInfo.LocationStatus==LocationStatusEnum.InStock.ObjToInt()) + { + return dt_LocationInfo; + } + } + else if (locationInfo.Row == 4 || locationInfo.Row == 8) + { + Dt_LocationInfo dt_LocationInfo = BaseDal.QueryFirst(x => x.Row == locationInfo.Row + 1 && x.Layer == locationInfo.Layer && x.Column == locationInfo.Column && x.RoadwayNo == locationInfo.RoadwayNo); + if (dt_LocationInfo != null && dt_LocationInfo.LocationStatus == LocationStatusEnum.InStock.ObjToInt()) + { + return dt_LocationInfo; + } + } + } + return null; + } + public void RelocationLock(Dt_LocationInfo locationInfo, Dt_LocationInfo locationInfos,int TaskNum) + { + int beforeStatus = locationInfo.LocationStatus; + int beforeStatu = locationInfos.LocationStatus; + + locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt(); + locationInfos.LocationStatus = LocationStatusEnum.Lock.ObjToInt(); + + BaseDal.UpdateData(locationInfo); + + BaseDal.UpdateData(locationInfos); + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Relocation.ObjToInt(), "", TaskNum); + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfos, beforeStatu, StockChangeType.Relocation.ObjToInt(), "", TaskNum); + } + public void RelocationFree(Dt_LocationInfo locationInfo, Dt_LocationInfo locationInfos, int TaskNum) + { + int beforeStatus = locationInfo.LocationStatus; + int beforeStatu = locationInfos.LocationStatus; + + locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + locationInfos.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); + + BaseDal.UpdateData(locationInfo); + BaseDal.UpdateData(locationInfos); + + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Relocation.ObjToInt(), "", TaskNum); + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfos, beforeStatu, StockChangeType.Relocation.ObjToInt(), "", TaskNum); + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/WIDESEA_BasicService.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/WIDESEA_BasicService.csproj" index 96a5038..e0052fb 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/WIDESEA_BasicService.csproj" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/WIDESEA_BasicService.csproj" @@ -8,6 +8,7 @@ <ItemGroup> <ProjectReference Include="..\WIDESEA_IBasicService\WIDESEA_IBasicService.csproj" /> + <ProjectReference Include="..\WIDESEA_IRecordService\WIDESEA_IRecordService.csproj" /> </ItemGroup> </Project> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/LocationEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/LocationEnum.cs" index f18fc02..95629ac 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/LocationEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/LocationEnum.cs" @@ -30,9 +30,15 @@ [Description("鏈夎揣")] InStock = 2, - + /// <summary> + /// 绌烘墭閿佸畾 + /// </summary> + [Description("绌烘墭閿佸畾")] PalletLock = 98, + /// <summary> + /// 绌烘墭鐩� + /// </summary> [Description("绌烘墭鐩�")] Pallet = 99 } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/StockEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/StockEnum.cs" index 46fd183..d538e4f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/StockEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/StockEnum.cs" @@ -12,20 +12,32 @@ /// <summary> /// 缁勭洏 /// </summary> - [Description("")] + [Description("缁勭洏")] MaterielGroup, /// <summary> /// 鍏ュ簱 /// </summary> - [Description("")] + [Description("鍏ュ簱")] Inbound, /// <summary> /// 鍑哄簱 /// </summary> - [Description("")] + [Description("鍑哄簱")] Outbound, + /// <summary> + /// 绉诲簱 + /// </summary> + [Description("绉诲簱")] + Relocation, + + /// <summary> + /// 鍏ュ簱閿佸畾 + /// </summary> + [Description("閿佸畾")] + Lock, + } /// <summary> @@ -56,6 +68,9 @@ [Description("鍑哄簱瀹屾垚")] 鍑哄簱瀹屾垚 = 8, + + [Description("绉诲簱閿佸畾")] + 绉诲簱閿佸畾 = 9, } public enum OutStockStatus diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs" index 8ed661c..7614758 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs" @@ -155,10 +155,16 @@ InException = 299, /// <summary> - /// 鏂板缓绉诲簱搴撲换鍔� + /// 鏂板缓绉诲簱浠诲姟 /// </summary> - [Description("鏂板缓绉诲簱搴撲换鍔�")] - RelocationNew = 300 + [Description("鏂板缓绉诲簱浠诲姟")] + RelocationNew = 300, + + /// <summary> + /// 绉诲簱浠诲姟瀹屾垚 + /// </summary> + [Description("绉诲簱浠诲姟瀹屾垚")] + RelocationFinish = 310, } #endregion 鍏ュ簱浠诲姟鐘舵�� diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs" index 1d05cb1..5ea0f55 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs" @@ -20,6 +20,12 @@ Dt_LocationInfo AdjacentDepthLocation(string locationCode); Dt_LocationInfo? AssignLocation(string stationCode, int inboundType); + Dt_LocationInfo? AssignLocation(string RoadwayNo); + void UpdateLocationLock(Dt_LocationInfo locationInfo,int? taskNum); + void UpdateLocationFree(Dt_LocationInfo locationInfo, int? taskNum); + Dt_LocationInfo isDepth(Dt_LocationInfo locationInfo); + void RelocationLock(Dt_LocationInfo locationInfo, Dt_LocationInfo locationInfos,int TaskNum); + void RelocationFree(Dt_LocationInfo locationInfo, Dt_LocationInfo locationInfos, int TaskNum); WebResponseContent LocationEnableStatus(int[] keys); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_AreaInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_AreaInfo.cs" index 74dfe05..8360260 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_AreaInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_AreaInfo.cs" @@ -30,7 +30,7 @@ [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍖哄煙鐘舵��")] public int AreaStatus { get; set; } - [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "鍖哄煙鎻忚堪")] + [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鍖哄煙鎻忚堪")] public string AreaDes { get; set; } [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "澶囨敞")] diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs" new file mode 100644 index 0000000..f0199b3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs" @@ -0,0 +1,44 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + [SugarTable(nameof(Dt_InboundOrderDetail_Hty), "鍏ュ簱鍗曟槑缁�")] + public class Dt_InboundOrderDetail_Hty : BaseEntity + { + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "鍏ュ簱鍗曚富閿�")] + public int OrderId { get; set; } + + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")] + public string MaterielCode { get; set; } + + [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鐗╂枡鍚嶇О")] + public string MaterielName { get; set; } + + [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鎵规鍙�")] + public string BatchNo { get; set; } + + [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "鍗曟嵁鏁伴噺")] + public decimal OrderQuantity { get; set; } + + [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "缁勭洏鏁伴噺", DefaultValue = "0")] + public decimal ReceiptQuantity { get; set; } + + [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "涓婃灦鏁伴噺", DefaultValue = "0")] + public decimal OverInQuantity { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "璁㈠崟鏄庣粏鐘舵��")] + public int OrderDetailStatus { get; set; } + + [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")] + public string Remark { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs" new file mode 100644 index 0000000..b3ba5c3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs" @@ -0,0 +1,40 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.Attributes; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + [SugarTable(nameof(Dt_InboundOrder_Hty), "鍏ュ簱鍗�")] + public class Dt_InboundOrder_Hty : BaseEntity + { + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + [CodeRule(WIDESEA_Core.Enums.RuleCode.InboundOrderRule)] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍗曟嵁缂栧彿")] + public string OrderNo { get; set; } + + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "涓婃父鍗曟嵁缂栧彿")] + public string UpperOrderNo { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁绫诲瀷")] + public int OrderType { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁鐘舵��")] + public int OrderStatus { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏂瑰紡")] + public int CreateType { get; set; } + + [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] + public string Remark { get; set; } + + [Navigate(NavigateType.OneToMany, nameof(Dt_InboundOrderDetail_Hty.OrderId), nameof(Id))] + public List<Dt_InboundOrderDetail_Hty> Details { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs" new file mode 100644 index 0000000..2bf062e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs" @@ -0,0 +1,44 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + [SugarTable(nameof(Dt_OutboundOrderDetail_Hty), "鍑哄簱鍗曟槑缁�")] + public class Dt_OutboundOrderDetail_Hty : BaseEntity + { + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鍗曚富閿�")] + public int OrderId { get; set; } + + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")] + public string MaterielCode { get; set; } + + [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "鐗╂枡鍚嶇О")] + public string MaterielName { get; set; } + + [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鎵规鍙�")] + public string BatchNo { get; set; } + + [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "鍗曟嵁鏁伴噺")] + public decimal OrderQuantity { get; set; } + + [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "閿佸畾鏁伴噺", DefaultValue = "0")] + public decimal LockQuantity { get; set; } + + [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "宸插嚭鏁伴噺", DefaultValue = "0")] + public decimal OverOutQuantity { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "璁㈠崟鏄庣粏鐘舵��")] + public int OrderDetailStatus { get; set; } + + [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")] + public string Remark { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs" new file mode 100644 index 0000000..72c234a --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs" @@ -0,0 +1,40 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.Attributes; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + [SugarTable(nameof(Dt_OutboundOrder_Hty), "鍑哄簱鍗�")] + public class Dt_OutboundOrder_Hty : BaseEntity + { + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + [CodeRule(WIDESEA_Core.Enums.RuleCode.OutboundOrderRule)] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍗曟嵁缂栧彿", IsOnlyIgnoreUpdate = true)] + public string OrderNo { get; set; } + + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "涓婃父鍗曟嵁缂栧彿", IsOnlyIgnoreUpdate = true)] + public string UpperOrderNo { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁绫诲瀷", IsOnlyIgnoreUpdate = true)] + public int OrderType { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁鐘舵��")] + public int OrderStatus { get; set; } + + [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏂瑰紡", IsOnlyIgnoreUpdate = true)] + public int CreateType { get; set; } + + [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] + public string Remark { get; set; } + + [Navigate(NavigateType.OneToMany, nameof(Dt_OutboundOrderDetail_Hty.OrderId), nameof(Id))] + public List<Dt_OutboundOrderDetail_Hty> Details { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" index 2350e4a..bf850f8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" @@ -95,7 +95,7 @@ public string NextAddress { get; set; } /// <summary> - /// 寮傚父淇℃伅 + /// 鍗曟嵁缂栧彿 /// </summary> [ImporterHeader(Name = "鍗曟嵁缂栧彿")] [ExporterHeader(DisplayName = "鍗曟嵁缂栧彿")] diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" index 33c4bce..7b9f254 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" @@ -44,14 +44,6 @@ if (stockInfo.Id == 0) { BaseDal.Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand(); - //stockQuantityChangeRecords = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(stockInfo.Details); - //stockQuantityChangeRecords.ForEach(x => - //{ - // x.PalleCode = stockInfo.PalletCode; - // x.BeforeQuantity = 0; - // x.ChangeQuantity = x.AfterQuantity - x.BeforeQuantity; - // x.ChangeType = StockChangeType.MaterielGroup.ObjToInt(); - //}); details = stockInfo.Details; } else @@ -67,19 +59,7 @@ } - //stockQuantityChangeRecords = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(stockInfo.Details); - //int index = 0; - //stockQuantityChangeRecords.ForEach(x => - //{ - // x.PalleCode = stockInfo.PalletCode; - // x.BeforeQuantity = 0; - // x.ChangeQuantity = x.AfterQuantity - x.BeforeQuantity; - // x.ChangeType = StockChangeType.MaterielGroup.ObjToInt(); - // x.StockDetailId = - // index++; - //}); } - //_stockQuantityChangeRecordRepository.AddData(stockQuantityChangeRecords); stockInfo.Details = details; _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.MaterielGroup); } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" index eabf102..9743d4b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" @@ -532,6 +532,54 @@ result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; + case "stockChangeType": + { + List<object> data = new List<object>(); + Type type = typeof(StockChangeType); + List<int> enums = Enum.GetValues(typeof(StockChangeType)).Cast<int>().ToList(); + int index = 0; + foreach (var item in enums) + { + FieldInfo? fieldInfo = typeof(StockChangeType).GetField(((StockChangeType)item).ToString()); + DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); + if (description != null) + { + data.Add(new { key = item.ToString(), value = description.Description }); + } + else + { + data.Add(new { key = item.ToString(), value = item.ToString() }); + } + index++; + } + + result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; + } + break; + case "outStockStatus": + { + List<object> data = new List<object>(); + Type type = typeof(OutStockStatus); + List<int> enums = Enum.GetValues(typeof(OutStockStatus)).Cast<int>().ToList(); + int index = 0; + foreach (var item in enums) + { + FieldInfo? fieldInfo = typeof(OutStockStatus).GetField(((OutStockStatus)item).ToString()); + DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); + if (description != null) + { + data.Add(new { key = item.ToString(), value = description.Description }); + } + else + { + data.Add(new { key = item.ToString(), value = item.ToString() }); + } + index++; + } + + result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; + } + break; } return result; } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoRepository/TaskRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoRepository/TaskRepository.cs" index 87598ea..1ee69e3 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoRepository/TaskRepository.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoRepository/TaskRepository.cs" @@ -36,7 +36,8 @@ public int GetTaskNum(string sequenceName) { - return Db.Ado.GetScalar($"SELECT NEXT VALUE FOR {sequenceName}").ObjToInt(); + //return Db.Ado.GetScalar($"SELECT NEXT VALUE FOR {sequenceName}").ObjToInt(); + return Db.Ado.GetScalar($"SELECT NEXT VALUE FOR GetTaskNum").ObjToInt(); } public override int AddData(Dt_Task entity) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" index 51ee5d1..7f4f0ee 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" @@ -8,6 +8,7 @@ using WIDESEA_Core; using WIDESEA_Model.Models; using WIDESEA_Core.Helper; +using Microsoft.Extensions.Logging; namespace WIDESEA_TaskInfoService { @@ -100,6 +101,7 @@ try { Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(stationCode, taskType); + //Dt_LocationInfo dt_LocationInfo = null; if (locationInfo != null) { Dt_Task task = new() @@ -121,6 +123,8 @@ if (isUpdateStock) { locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt(); + _basicService.LocationInfoService.UpdateLocationLock(locationInfo,task.TaskNum); + if (stockInfo != null && stockInfo.Details != null && stockInfo.Details.Count > 0) { orderNo = stockInfo.Details.FirstOrDefault()?.OrderNo ?? ""; @@ -134,6 +138,7 @@ } } _basicService.LocationInfoService.Repository.UpdateData(locationInfo); + //_basicService.LocationInfoService.Repository.UpdateData(dt_LocationInfo); _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), orderNo, task.TaskNum); return content = WebResponseContent.Instance.OK(); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" index 4bb2787..c2e9e87 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" @@ -148,7 +148,11 @@ try { _unitOfWorkManage.BeginTran(); - + //鍒ゆ柇绉诲簱 + /*List<Dt_Task> RelocationTasks = */ + RelocationTask(tasks); + //BaseDal.AddData(RelocationTasks); + BaseDal.AddData(tasks); if (stockInfos != null && outboundOrderDetails != null && outStockLockInfos != null && locationInfos != null) { @@ -182,6 +186,73 @@ return WebResponseContent.Instance.Error(ex.Message); } + } + /// <summary> + /// 绉诲簱浠诲姟 + /// </summary> + /// <param name="task"></param> + /// <returns></returns> + public WebResponseContent RelocationTask(List<Dt_Task> task) + { + WebResponseContent content = new WebResponseContent(); + try + { + for (int i = 0; i < task.Count; i++) + { + Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task[i].SourceAddress && x.RoadwayNo == task[i].Roadway); + if (locationInfo != null) + { + Dt_LocationInfo location = _basicService.LocationInfoService.isDepth(locationInfo); + if (location != null) + { + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.LocationCode == location.LocationCode); + if (stockInfo != null && location.LocationStatus == LocationStatusEnum.InStock.ObjToInt()) + { + Dt_LocationInfo? locationInfos = _basicService.LocationInfoService.AssignLocation(location.RoadwayNo); + if(locationInfos != null) + { + Dt_Task tasks = new() + { + CurrentAddress = location.LocationCode, + Grade = 0, + PalletCode = stockInfo.PalletCode, + NextAddress = locationInfos.LocationCode, + Roadway = location.RoadwayNo, + SourceAddress = location.LocationCode, + TargetAddress = locationInfos.LocationCode, + TaskStatus = InTaskStatusEnum.RelocationNew.ObjToInt(), + TaskType = TaskTypeEnum.Relocation.ObjToInt(), + TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)) + }; + BaseDal.AddData(tasks); + stockInfo.StockStatus = StockStatusEmun.绉诲簱閿佸畾.ObjToInt(); + _stockService.StockInfoService.UpdateData(stockInfo); + _basicService.LocationInfoService.RelocationLock(location, locationInfos,tasks.TaskNum); + } + else + { + return content = WebResponseContent.Instance.Error("鏈壘鍒板彲鍒嗛厤璐т綅"); + } + } + else + { + return content = WebResponseContent.Instance.Error("鏈壘鍒板簱瀛樹俊鎭�"); + } + } + } + else + { + return content = WebResponseContent.Instance.Error("浠诲姟淇℃伅寮傚父"); + } + + } + } + catch (Exception ex) + { + return content = WebResponseContent.Instance.Error(ex.Message); + } + + return content; } /// <summary> @@ -270,11 +341,17 @@ TaskStatus = OutTaskStatusEnum.OutNew.ObjToInt(), TaskType = TaskTypeEnum.PalletOutbound.ObjToInt(), }; - + int beforeStatus = locationInfo.LocationStatus; _unitOfWorkManage.BeginTran(); stockInfo.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt(); locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt(); BaseDal.AddData(task); + _stockService.StockInfoService.UpdateData(stockInfo); + + _basicService.LocationInfoService.UpdateLocationLock(locationInfo, task.TaskNum); + + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Relocation.ObjToInt(), "", task.TaskNum); + _unitOfWorkManage.CommitTran(); return WebResponseContent.Instance.OK(); } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" index 0e5b84b..d4104dd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" @@ -61,10 +61,11 @@ private readonly IRecordService _recordService; private readonly IStockService _stockService; private readonly ITask_HtyService _taskHtyService; + private readonly ILocationInfoService _locationInfoService; public ITaskRepository Repository => BaseDal; - public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService) : base(BaseDal) + public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService) : base(BaseDal) { _mapper = mapper; _unitOfWorkManage = unitOfWorkManage; @@ -74,6 +75,7 @@ _recordService = recordService; _stockService = stockService; _taskHtyService = taskHtyService; + _locationInfoService = locationInfoService; } /// <summary> @@ -110,6 +112,8 @@ public WebResponseContent InboundTaskCompleted(Dt_Task task) { + decimal beforeQuantity = 0; + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); @@ -119,15 +123,18 @@ stockInfo.LocationCode = locationInfo.LocationCode; stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt(); _stockService.StockInfoService.Repository.UpdateData(stockInfo); + beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity); int beforeStatus = locationInfo.LocationStatus; locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); + _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt(); - //BaseDal.DeleteData(task); + BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); + _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound); return WebResponseContent.Instance.OK(); } @@ -153,6 +160,7 @@ int beforeStatus = locationInfo.LocationStatus; locationInfo.LocationStatus = LocationStatusEnum.Pallet.ObjToInt(); + _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt(); @@ -203,6 +211,7 @@ int beforeStatus = locationInfo.LocationStatus; locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); task.TaskStatus = OutTaskStatusEnum.OutFinish.ObjToInt(); @@ -225,6 +234,7 @@ int beforeStatus = locationInfo.LocationStatus; locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); task.TaskStatus = OutTaskStatusEnum.OutFinish.ObjToInt(); @@ -234,5 +244,30 @@ return WebResponseContent.Instance.OK(); } + + public WebResponseContent RelocationTaskCompleted(Dt_Task task) + { + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + + Dt_LocationInfo locationStart = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress); + Dt_LocationInfo locationEnd = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); + + CheckCompleted(stockInfo, locationStart); + + stockInfo.LocationCode = locationEnd.LocationCode; + stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt(); + _stockService.StockInfoService.Repository.UpdateData(stockInfo); + + + //locationStart.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + _basicService.LocationInfoService.RelocationFree(locationStart, locationEnd, task.TaskNum); + //_basicService.LocationInfoService.Repository.UpdateData(locationStart); + + task.TaskStatus = InTaskStatusEnum.RelocationFinish.ObjToInt(); + BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); + + + return WebResponseContent.Instance.OK(); + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/CachePointController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/CachePointController.cs" new file mode 100644 index 0000000..4f28899 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/CachePointController.cs" @@ -0,0 +1,17 @@ +锘縰sing Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.BaseController; +using WIDESEA_IBasicService; +using WIDESEA_Model.Models; + +namespace WIDESEA_WMSServer.Controllers.Basic +{ + [Route("api/CachePoint")] + [ApiController] + public class CachePointController : ApiBaseController<ICachePointService, Dt_CachePoint> + { + public CachePointController(ICachePointService service) : base(service) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" index a8516f3..c4e4bad 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" @@ -6,7 +6,7 @@ "Microsoft.AspNetCore": "Warning" } }, - "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun", + "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,stockChangeType,outStockStatus", "AllowedHosts": "*", "ConnectionStringsEncryption": false, "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue -- Gitblit v1.9.3