wanshenmean
2024-09-13 319e8729b47c96e3a3717c5a40cd5df867d65ce5
最新代码提交
已删除85个文件
已修改14个文件
已添加11个文件
23320 ■■■■■ 文件已修改
.gitignore 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSClient/index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/demo_Product/Dt_BillGroupStockDetail.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/Debug/net6.0/WIDESEA_BusinessServices.assets.cache 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/WIDESEA_BusinessServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/WIDESEA_BusinessServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessesRepository/obj/WIDESEA_BusinessesRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessesRepository/obj/WIDESEA_BusinessesRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/WIDESEA_Core.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/bin/Debug/net6.0/WIDESEA_Core.deps.json 3086 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.assets.cache 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.csproj.CoreCompileInputs.cache 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.dgspec.json 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.g.props 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.g.targets 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/project.assets.json 9563 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/project.nuget.cache 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/obj/WIDESEA_DTO.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/obj/WIDESEA_DTO.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessServices/obj/WIDESEA_IBusinessServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessServices/obj/WIDESEA_IBusinessServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessesRepository/obj/WIDESEA_IBusinessesRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessesRepository/obj/WIDESEA_IBusinessesRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IRepository/obj/WIDESEA_IRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IRepository/obj/WIDESEA_IRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IServices/obj/WIDESEA_IServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IServices/obj/WIDESEA_IServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Boxing/IBoxingInfoDetailRepository.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Boxing/IBoxingInfoRepository.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Stock/IStockInfoRepository.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/obj/WIDESEA_IStorageBasicRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/obj/WIDESEA_IStorageBasicRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoDetailService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/obj/WIDESEA_IStorageBasicServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/obj/WIDESEA_IStorageBasicServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderRepository/obj/WIDESEA_IStorageOutOrderRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderRepository/obj/WIDESEA_IStorageOutOrderRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderService/obj/WIDESEA_IStorageOutOrderServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderService/obj/WIDESEA_IStorageOutOrderServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskRepository/obj/WIDESEA_IStorageTaskRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskRepository/obj/WIDESEA_IStorageTaskRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/obj/WIDESEA_IStorageTaskServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/obj/WIDESEA_IStorageTaskServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfoDetail.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfoDetail.cs 121 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/obj/WIDESEA_Model.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/obj/WIDESEA_Model.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Repository/obj/WIDESEA_Repository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Repository/obj/WIDESEA_Repository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/Debug/net6.0/WIDESEA_Services.assets.cache 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/WIDESEA_Services.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/WIDESEA_Services.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Boxing/BoxingInfoDetailRepository.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Boxing/BoxingInfoRepository.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/obj/WIDESEA_StorageBasicRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/obj/WIDESEA_StorageBasicRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoDetailService.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoService.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/Debug/net6.0/WIDESEA_StorageBasicServices.assets.cache 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/WIDESEA_StorageBasicServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/WIDESEA_StorageBasicServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderRepository/obj/WIDESEA_StorageOutOrderRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderRepository/obj/WIDESEA_StorageOutOrderRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/Debug/net6.0/WIDESEA_StorageOutOrderServices.assets.cache 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/WIDESEA_StorageOutOrderServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/WIDESEA_StorageOutOrderServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskRepository/obj/WIDESEA_StorageTaskRepository.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskRepository/obj/WIDESEA_StorageTaskRepository.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs 234 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/Debug/net6.0/WIDESEA_StorageTaskServices.assets.cache 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/WIDESEA_StorageTaskServices.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/WIDESEA_StorageTaskServices.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/bin/Debug/net6.0/WIDESEA_Tasks.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/bin/Debug/net6.0/WIDESEA_Tasks.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.csproj.FileListAbsolute.txt 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/ref/WIDESEA_Tasks.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/refint/WIDESEA_Tasks.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/BoxingInfoController.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/全局异常错误日志_1724081992.log 2888 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/Microsoft.Win32.SystemEvents.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/SixLabors.ImageSharp.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Diagnostics.PerformanceCounter.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Drawing.Common.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Security.Permissions.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Windows.Extensions.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/WIDESEA_WMSServer.runtimeconfig.json 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/unix/lib/net6.0/System.Drawing.Common.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Diagnostics.PerformanceCounter.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Drawing.Common.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Windows.Extensions.dll 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/Debug/net6.0/ApiEndpoints.json 5686 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/Debug/net6.0/WIDESEA_WMSServer.assets.cache 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/WIDESEA_WMSServer.csproj.nuget.g.props 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/WIDESEA_WMSServer.csproj.nuget.g.targets 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -776,3 +776,88 @@
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/bin/Debug/net6.0/WIDESEA_StorageBasicRepository.deps.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/bin/Debug/net6.0/WIDESEA_StorageTaskServices.deps.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/WIDESEA_WMSServer.deps.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/bin/Debug/net6.0/WIDESEA_Tasks.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/bin/Debug/net6.0/WIDESEA_Tasks.pdb
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/ref/WIDESEA_Tasks.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/refint/WIDESEA_Tasks.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.csproj.FileListAbsolute.txt
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.pdb
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessesRepository/obj/WIDESEA_BusinessesRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessesRepository/obj/WIDESEA_BusinessesRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/Debug/net6.0/WIDESEA_BusinessServices.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/WIDESEA_BusinessServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/WIDESEA_BusinessServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/bin/Debug/net6.0/WIDESEA_Core.deps.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.csproj.AssemblyReference.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.csproj.CoreCompileInputs.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/project.assets.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/project.nuget.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.dgspec.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/obj/WIDESEA_DTO.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/obj/WIDESEA_DTO.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessesRepository/obj/WIDESEA_IBusinessesRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessesRepository/obj/WIDESEA_IBusinessesRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessServices/obj/WIDESEA_IBusinessServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessServices/obj/WIDESEA_IBusinessServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IRepository/obj/WIDESEA_IRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IRepository/obj/WIDESEA_IRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IServices/obj/WIDESEA_IServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IServices/obj/WIDESEA_IServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/obj/WIDESEA_IStorageBasicRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/obj/WIDESEA_IStorageBasicRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/obj/WIDESEA_IStorageBasicServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/obj/WIDESEA_IStorageBasicServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderRepository/obj/WIDESEA_IStorageOutOrderRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderRepository/obj/WIDESEA_IStorageOutOrderRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderService/obj/WIDESEA_IStorageOutOrderServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderService/obj/WIDESEA_IStorageOutOrderServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskRepository/obj/WIDESEA_IStorageTaskRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskRepository/obj/WIDESEA_IStorageTaskRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/obj/WIDESEA_IStorageTaskServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/obj/WIDESEA_IStorageTaskServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/obj/WIDESEA_Model.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/obj/WIDESEA_Model.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Repository/obj/WIDESEA_Repository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Repository/obj/WIDESEA_Repository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/Debug/net6.0/WIDESEA_Services.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/WIDESEA_Services.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/WIDESEA_Services.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/obj/WIDESEA_StorageBasicRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/obj/WIDESEA_StorageBasicRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/Debug/net6.0/WIDESEA_StorageBasicServices.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/WIDESEA_StorageBasicServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/WIDESEA_StorageBasicServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderRepository/obj/WIDESEA_StorageOutOrderRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderRepository/obj/WIDESEA_StorageOutOrderRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/Debug/net6.0/WIDESEA_StorageOutOrderServices.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/WIDESEA_StorageOutOrderServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/WIDESEA_StorageOutOrderServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskRepository/obj/WIDESEA_StorageTaskRepository.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskRepository/obj/WIDESEA_StorageTaskRepository.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/Debug/net6.0/WIDESEA_StorageTaskServices.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/WIDESEA_StorageTaskServices.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/WIDESEA_StorageTaskServices.csproj.nuget.g.targets
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/Microsoft.Win32.SystemEvents.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Diagnostics.PerformanceCounter.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Drawing.Common.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Windows.Extensions.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/SixLabors.ImageSharp.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Diagnostics.PerformanceCounter.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Drawing.Common.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Security.Permissions.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Windows.Extensions.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/unix/lib/net6.0/System.Drawing.Common.dll
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/WIDESEA_WMSServer.runtimeconfig.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/全局异常错误日志_1724081992.log
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/Debug/net6.0/ApiEndpoints.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/Debug/net6.0/WIDESEA_WMSServer.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/WIDESEA_WMSServer.csproj.nuget.g.props
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/WIDESEA_WMSServer.csproj.nuget.g.targets
Code Management/WMS/WIDESEA_WMSClient/index.html
@@ -5,7 +5,7 @@
  <meta charset="UTF-8" />
  <link rel="icon" href="/favicon.ico" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>vol开发框架</title>
  <title>WIDESEA_WMS</title>
  <script>
    var lang_storage_key = 'vol_lang';
  </script>
Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/demo_Product/Dt_BillGroupStockDetail.vue
@@ -24,12 +24,12 @@
export default defineComponent({
    setup() {
        const table = ref({
            key: 'groupDetailId',
            key: 'id',
            footer: "Foots",
            cnName: '库存明细信息',
            name: 'stock/Dt_BillGroupStockDetail',
            url: "/StockInfoDetail/",
            sortName: "GroupId"
            sortName: "id"
        });
        const editFormFields = ref({
            "palletCode": "",
@@ -51,25 +51,19 @@
                { "title": "物料编号", "field": "materialNo", type: "text" },
            ]
        ]);
        const columns = ref([{ field: 'groupDetailId', title: '库存明细ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
        { field: 'groupId', title: '外健', type: 'int', width: 110, hidden: true, align: 'left', sort: true },
        { field: 'palletCode', title: '托盘号', type: 'string', width: 110, align: 'left' },
        const columns = ref([{ field: 'id', title: '库存明细ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
        { field: 'stockId', title: '外健', type: 'int', width: 110, hidden: true, align: 'left', sort: true },
        { field: 'orderNo', title: '单据编号', type: 'string', width: 110, align: 'left' },
        { field: 'orderDate', title: '单据日期', type: 'datetime', width: 150, align: 'left', sort: true },
        { field: 'batchNo', title: '批次号', type: 'string', width: 110, align: 'left' },
        { field: 'materialNo', title: '物料编号', type: 'string', width: 110, align: 'left' },
        { field: 'materialName', title: '物料名称', type: 'string', width: 110, align: 'left' },
        { field: 'outBoxCode', title: '外箱码', type: 'string', width: 120, align: 'left' },
        { field: 'inBoxCode', title: '内箱码', type: 'string', width: 120, align: 'left' },
        { field: 'emptyPalletCode', title: '空托盘码', type: 'string', width: 120, align: 'left' },
        { field: 'palletUnit', title: '组盘单位', type: 'string', width: 110, align: 'left' },
        { field: 'palletQuantity', title: '组盘数量', type: 'decimal', width: 110, align: 'left' },
        { field: 'basicUnit', title: '单位', type: 'string', width: 110, align: 'left' },
        { field: 'basicQuantity', title: '计量', type: 'decimal', width: 110, align: 'left' },
        { field: 'createID', title: '创建ID', type: 'int', sort: true, width: 100, hidden: true, align: 'left' },
        { field: 'materielCode', title: '物料编号', type: 'string', width: 110, align: 'left' },
        { field: 'materielName', title: '物料名称', type: 'string', width: 110, align: 'left' },
        { field: 'serialNumber', title: '序列号', type: 'string', width: 120, align: 'left' },
        { field: 'stockQuantity', title: '库存数量', type: 'string', width: 120, align: 'left' },
        { field: 'outboundQuantity', title: '出库数量', type: 'string', width: 120, align: 'left' },
        { field: 'status', title: '库存状态', type: 'string', width: 110, align: 'left' },
        { field: 'remark', title: '备注', type: 'decimal', width: 110, align: 'left' },
        { field: 'creater', title: '创建人', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'createDate', title: '创建时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
        { field: 'modifyID', title: '修改人ID', type: 'int', sort: true, width: 100, hidden: true, align: 'left' },
        { field: 'modifier', title: '修改人', type: 'string', sort: true, width: 100, align: 'left' },
        { field: 'modifyDate', title: '修改时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }]);
        const detail = ref({
Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx
@@ -6,49 +6,66 @@
 **后台操作见:http://v2.volcore.xyz/document/netCoreDev
 *****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
import gridHeader  from "./demo_Product/Dt_TaskExecuteDetail.vue";
import gridHeader from './demo_Product/Dt_TaskExecuteDetail.vue'
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: gridHeader,
    gridBody: "",
    gridFooter: "",
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: "",
    modelBody: "",
    modelFooter: "",
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  tableAction: "", //指定某张表的权限(这里填写表名,默认不用填写)
  tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
    //下面这些方法可以保留也可以删除
    onInit() {
      //框架初始化配置前,
      //示例:在按钮的最前面添加一个按钮
      //   this.buttons.unshift({  //也可以用push或者splice方法来修改buttons数组
      //     name: '按钮', //按钮名称
      //     icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
      //     type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
      //     onClick: function () {
      //       this.$Message.success('点击了按钮');
      //     }
      //   });
      this.buttons.unshift({
        //也可以用push或者splice方法来修改buttons数组
        name: '任务完成', //按钮名称
        icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
        type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
        onClick: function () {
          // this.$Message.success('点击了按钮');
          let row = this.$refs.table.getSelected() //获取选中的行
          if (row <= 0) {
            //如果没有选中行
            this.$Message.error('请选择一行数据')
            return
          }
          debugger;
          let taskNum = row[0].taskNum
          this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}).then((res) => {
            //示例:调用后台接口
            if (res.data.code === 200) {
              this.$Message.success('任务完成')
            } else {
              this.$Message.error(res.data.msg) //错误提示
            }
          })
        }
      })
      //示例:设置修改新建、编辑弹出框字段标签的长度
      this.boxOptions.labelWidth = 150;
      this.boxOptions.labelWidth = 150
      //显示提示
      this.columns.forEach((col) => {
        col.showOverflowTooltip = true;
      });
        col.showOverflowTooltip = true
      })
      //示例:自定义表格列
      //表格上添加自定义按钮
      this.columns.push({
        title: "操作",
        field: "操作",
        title: '操作',
        field: '操作',
        width: 150,
        align: "left", // 'center',
        align: 'left', // 'center',
        render: (h, { row, column, index }) => {
          return (
            <div>
@@ -56,7 +73,7 @@
                onClick={($e) => {
                  // this.$refs.table.load();
                  // console.log(this.$refs.table);
                  this.$refs.gridHeader.openModel1(row);
                  this.$refs.gridHeader.openModel1(row)
                }}
                type="primary"
                plain
@@ -65,13 +82,13 @@
                æŸ¥çœ‹æ‰§è¡Œä¿¡æ¯
              </el-button>
            </div>
          );
        },
      });
          )
        }
      })
    },
    btn1Click(row, column, index, $e) {
      $e.stopPropagation();
      this.$refs.gridHeader.openModel1(row);
      $e.stopPropagation()
      this.$refs.gridHeader.openModel1(row)
    },
    onInited() {
      //框架初始化配置后
@@ -81,23 +98,23 @@
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
      return true
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
      return true
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
      return true
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
      return true
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
      this.$refs.table.$refs.table.toggleRowSelection(row) //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
@@ -106,7 +123,7 @@
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    },
  },
};
export default extension;
    }
  }
}
export default extension
Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
@@ -16,7 +16,7 @@
export default defineComponent({
    setup() {
        const table = ref({
            key: 'groupId',
            key: 'id',
            footer: "Foots",
            cnName: '库存信息',
            name: 'stock/Dt_BillGroupStock',
@@ -46,18 +46,11 @@
                { "title": "组盘类型", "field": "groupType", type: "select", dataKey: "GroupType", data: [] },
            ]
        ]);
        const columns = ref([{ field: 'groupId', title: '库存ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
        const columns = ref([{ field: 'id', title: '库存ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
        { field: 'locationCode', title: '库位', type: 'string', width: 110, align: 'left' },
        { field: 'palletCode', title: '托盘条码', type: 'string', width: 110, align: 'left', sort: true },
        { field: 'orderNo', title: '单据编号', type: 'string', width: 110, align: 'left' },
        { field: 'orderType', title: '订单类型', type: 'int', width: 110, align: 'left' },
        { field: 'orderDetailId', title: '库存明细ID', type: 'int', width: 110, hidden: true, align: 'left' },
        { field: 'materialNo', title: '物料编号', type: 'string', width: 110, align: 'left' },
        { field: 'batchNo', title: '批次号', type: 'string', width: 110, align: 'left' },
        { field: 'groupType', title: '组盘类型', type: 'int', width: 110, align: 'left', bind: { key: "GroupType", data: [] } },
        { field: 'groupWay', title: '组盘方式', type: 'int', width: 110, align: 'left' },
        { field: 'isFull', title: '是否满盘', type: 'bool', width: 110, hidden: true, align: 'left' },
        { field: 'state', title: '库存状态', type: 'int', width: 110, align: 'left', bind: { key: "StockState", data: [] } },
        { field: 'isFull', title: '是否满盘', type: 'bool', width: 110, align: 'left' },
        // { field: 'state', title: '库存状态', type: 'int', width: 110, align: 'left', bind: { key: "StockState", data: [] } },
        { field: 'remark', title: '备注', type: 'string', width: 120, hidden: true, align: 'left' },
        { field: 'createID', title: '创建ID', type: 'int', sort: true, width: 100, hidden: true, align: 'left' },
        { field: 'creater', title: '创建人', type: 'string', sort: true, width: 110, align: 'left' },
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/Debug/net6.0/WIDESEA_BusinessServices.assets.cache
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/WIDESEA_BusinessServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/WIDESEA_BusinessServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessesRepository/obj/WIDESEA_BusinessesRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessesRepository/obj/WIDESEA_BusinessesRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs
@@ -16,6 +16,7 @@
        /// SqlsugarClient实体
        /// </summary>
        ISqlSugarClient Db { get; }
        /// <summary>
        /// é€šè¿‡ä¸»é”®æŸ¥è¯¢æ•°æ®
        /// </summary>
@@ -51,6 +52,13 @@
        int AddData(TEntity entity);
        Task<int> AddDataAsync(TEntity entity);
        /// <summary>
        /// å¯¼èˆªæ’入数据(只支持2级)
        /// </summary>
        /// <param name="Entity"></param>
        /// <returns></returns>
        Task<bool> AddDataNavAsync(TEntity Entity);
        /// <summary>
        /// æ·»åŠ å¤šæ¡æ•°æ®
@@ -156,6 +164,8 @@
        Task<TEntity> QueryFirstAsync(Expression<Func<TEntity, bool>> whereExpression);
        Task<TEntity> QueryFirstNavAsync(Expression<Func<TEntity, bool>> whereExpression);
        TResult QueryFirst<TResult>(Expression<Func<TEntity, bool>> whereExpression, Expression<Func<TEntity, TResult>> expression);
        Task<TResult> QueryFirstAsync<TResult>(Expression<Func<TEntity, bool>> whereExpression, Expression<Func<TEntity, TResult>> expression);
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs
@@ -15,6 +15,9 @@
using WIDESEA_Core.DB;
using WIDESEA_Core.Const;
using WIDESEA_Core.AOP;
using AngleSharp.Dom;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using SharpCompress.Common;
namespace WIDESEA_Core.BaseRepository
{
@@ -33,7 +36,7 @@
                var mta = typeof(TEntity).GetCustomAttribute<MultiTenantAttribute>();
                if (mta is { TenantType: TenantTypeEnum.Db })
                {
                    //获取租户信息 ç§Ÿæˆ·ä¿¡æ¯å¯ä»¥æå‰ç¼“存下来
                    //获取租户信息 ç§Ÿæˆ·ä¿¡æ¯å¯ä»¥æå‰ç¼“存下来
                    if (App.User is { TenantId: > 0 })
                    {
                        dynamic tenant = db.Queryable(MainDb.TenantTableName, "x").Where(MainDb.TenantId, "=", App.User.TenantId).First();
@@ -586,7 +589,6 @@
        //    Expression<Func<T, T2, T3, bool>> whereLambda = null) where T : class, new(){throw new NotImplementedException();}
        //Task<PageModel<TEntity>> QueryPage(PaginationModel pagination){throw new NotImplementedException();}
        public Task<TEntity> QureyDataByIdAsync(object id)
        {
            return _db.Queryable<TEntity>().In(id).SingleAsync();
@@ -606,6 +608,16 @@
        {
            IInsertable<TEntity> insert = _db.Insertable(entity);
            return insert.ExecuteReturnIdentityAsync();
        }
        /// <summary>
        /// å¯¼èˆªæ’入数据(只支持2级)
        /// </summary>
        /// <param name="Entity"></param>
        /// <returns></returns>
        public async Task<bool> AddDataNavAsync(TEntity Entity)
        {
            return await _db.InsertNav(Entity).IncludesAllFirstLayer().ExecuteCommandAsync();
        }
        public Task<int> AddDataAsync(List<TEntity> listEntity)
@@ -679,6 +691,11 @@
        public Task<TEntity> QueryFirstAsync(Expression<Func<TEntity, bool>> whereExpression)
        {
            return _db.Queryable<TEntity>().WhereIF(whereExpression != null, whereExpression).FirstAsync();
        }
        public Task<TEntity> QueryFirstNavAsync(Expression<Func<TEntity, bool>> whereExpression)
        {
            return _db.Queryable<TEntity>().WhereIF(whereExpression != null, whereExpression).IncludesAllFirstLayer().FirstAsync();
        }
        public Task<TResult> QueryFirstAsync<TResult>(Expression<Func<TEntity, bool>> whereExpression, Expression<Func<TEntity, TResult>> expression)
@@ -867,4 +884,4 @@
        //    Expression<Func<T, T2, T3, bool>> whereLambda = null) where T : class, new(){throw new NotImplementedException();}
        //Task<PageModel<TEntity>> QueryPage(PaginationModel pagination){throw new NotImplementedException();}
    }
}
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/WIDESEA_Core.csproj
@@ -14,10 +14,12 @@
    <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="9.0.0" />
    <PackageReference Include="Autofac.Extras.DynamicProxy" Version="7.1.0" />
    <PackageReference Include="AutoMapper" Version="13.0.1" />
    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.5.8" />
    <PackageReference Include="log4net" Version="2.0.17" />
    <PackageReference Include="Magicodes.IE.EPPlus" Version="2.7.5.1" />
    <PackageReference Include="Magicodes.IE.Excel" Version="2.7.5.1" />
    <PackageReference Include="MailKit" Version="4.7.1.1" />
    <PackageReference Include="Masuit.Tools.Core" Version="2024.5.6" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.29" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
    <PackageReference Include="MiniProfiler.AspNetCore.Mvc" Version="4.3.8" />
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/bin/Debug/net6.0/WIDESEA_Core.deps.json
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.assets.cache
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.csproj.AssemblyReference.cache
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.csproj.CoreCompileInputs.cache
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.dgspec.json
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/WIDESEA_Core.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/project.assets.json
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/project.nuget.cache
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/obj/WIDESEA_DTO.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/obj/WIDESEA_DTO.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessServices/obj/WIDESEA_IBusinessServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessServices/obj/WIDESEA_IBusinessServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessesRepository/obj/WIDESEA_IBusinessesRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessesRepository/obj/WIDESEA_IBusinessesRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IRepository/obj/WIDESEA_IRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IRepository/obj/WIDESEA_IRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IServices/obj/WIDESEA_IServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IServices/obj/WIDESEA_IServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Boxing/IBoxingInfoDetailRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
namespace WIDESEA_IStorageBasicRepository
{
    public interface IBoxingInfoDetailRepository : IRepository<DtBoxingInfoDetail>
    {
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Boxing/IBoxingInfoRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
namespace WIDESEA_IStorageBasicRepository
{
    public interface IBoxingInfoRepository : IRepository<DtBoxingInfo>
    {
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Stock/IStockInfoRepository.cs
@@ -1,14 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Model.Models;
namespace WIDESEA_IStorageBasicRepository
namespace WIDESEA_IStorageBasicRepository
{
    public interface IStockInfoRepository : IRepository<DtStockInfo>
    {
    }
}
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/obj/WIDESEA_IStorageBasicRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/obj/WIDESEA_IStorageBasicRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoDetailService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
namespace WIDESEA_IStorageBasicService;
public interface IBoxingInfoDetailService : IService<DtBoxingInfoDetail>
{
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
using Microsoft.AspNetCore.Mvc;
namespace WIDESEA_IStorageBasicService;
public interface IBoxingInfoService : IService<DtBoxingInfo>
{
    /// <summary>
    /// æ·»åŠ ç»„ç›˜
    /// </summary>
    /// <param name="boxingInfo"></param>
    /// <returns></returns>
    Task<WebResponseContent> AddBoxingInfoAsync( DtBoxingInfo boxingInfo);
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/obj/WIDESEA_IStorageBasicServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/obj/WIDESEA_IStorageBasicServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderRepository/obj/WIDESEA_IStorageOutOrderRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderRepository/obj/WIDESEA_IStorageOutOrderRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderService/obj/WIDESEA_IStorageOutOrderServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderService/obj/WIDESEA_IStorageOutOrderServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskRepository/obj/WIDESEA_IStorageTaskRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskRepository/obj/WIDESEA_IStorageTaskRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
@@ -110,13 +110,6 @@
    abstract Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock);
    /// <summary>
    /// å‡ºåº“任务完成
    /// </summary>
    /// <param name="saveModel">任务数据合集</param>
    /// <returns>返回结果集</returns>
    abstract Task<WebResponseContent> CompleteTaskAsync(Dt_Task task, DtStockInfo stock);
    /// <summary>
    /// ç§»åº“任务完成
    /// </summary>
    /// <param name="saveModel">任务数据合集</param>
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/obj/WIDESEA_IStorageTaskServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/obj/WIDESEA_IStorageTaskServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs
@@ -1,176 +1,95 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
namespace WIDESEA_Model.Models;
/// <summary>
/// ç‰©æ–™åŸºæœ¬ä¿¡æ¯è¡¨
///</summary>
[SugarTable("Dt_MaterielInfo")]
public class Dt_MaterielInfo : BaseEntity
{
    /// <summary>
    /// ç‰©æ–™åŸºæœ¬ä¿¡æ¯è¡¨
    /// å¤‡  æ³¨:物料ID
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarTable("Dt_MaterielInfo")]
    public class Dt_MaterielInfo : BaseEntity
    {
        /// <summary>
        /// å¤‡  æ³¨:物料ID
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="MaterielID" ,IsPrimaryKey = true,IsIdentity = true) ]
        public int MaterielID  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:物料编码
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="MaterielCode" ) ]
        public string? MaterielCode  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:所属库区
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="WareAreaCode" ) ]
        public string? WareAreaCode  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:物料名称
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="MaterielName" ) ]
        public string? MaterielName  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:包装规格
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Packspes" ) ]
        public string? Packspes  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:物料描述
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="MaterielDesc" ) ]
        public string? MaterielDesc  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:物料属性
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Attribute" ) ]
        public string? Attribute  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:计重单位
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Unit" ) ]
        public string? Unit  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:当前状态(0,禁用 1,启用)
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Status" ) ]
        public int? Status  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:最小包装数
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="MinpackQty" ) ]
        public decimal? MinpackQty  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:生产商
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Mfacturer" ) ]
        public string? Mfacturer  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:供应商
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Supplier" ) ]
        public string? Supplier  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:净重
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Netweight" ) ]
        public decimal? Netweight  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:毛重
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Grossweight" ) ]
        public decimal? Grossweight  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:有效期
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Validity" ) ]
        public int? Validity  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:安全库存
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Safety" ) ]
        public decimal? Safety  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:备注
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string? Remark  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="spare1" ) ]
        public string? Spare1  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="spare2" ) ]
        public string? Spare2  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="spare3" ) ]
        public string? Spare3  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="spare4" ) ]
        public string? Spare4  { get; set;  }
        /// <summary>
        /// å¤‡  æ³¨:
        /// é»˜è®¤å€¼:
        ///</summary>
        [SugarColumn(ColumnName="spare5" ) ]
        public string? Spare5  { get; set;  }
    [SugarColumn(ColumnName = "MaterielID", IsPrimaryKey = true, IsIdentity = true)]
    public int MaterielID { get; set; }
    }
    /// <summary>
    /// å¤‡  æ³¨:物料编码
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "MaterielCode", IsNullable = false)]
    public string? MaterielCode { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:物料名称
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "MaterielName", IsNullable = false)]
    public string? MaterielName { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:物料描述
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "MaterielDesc", IsNullable = true)]
    public string? MaterielDesc { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:当前状态(0,禁用 1,启用)
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "Status", IsNullable = false)]
    public int? Status { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:最小包装数
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "MinpackQty", IsNullable = true)]
    public decimal? MinpackQty { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:生产商
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "Mfacturer", IsNullable = true)]
    public string? Mfacturer { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:净重
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "Netweight", IsNullable = true)]
    public decimal? Netweight { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:毛重
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "Grossweight", IsNullable = true)]
    public decimal? Grossweight { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:有效期
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "Validity", IsNullable = true)]
    public int? Validity { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:安全库存
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "Safety", IsNullable = true)]
    public decimal? Safety { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:备注
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "Remark", IsNullable = true)]
    public string? Remark { get; set; }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
using Masuit.Tools.Core.Validator;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
{
    [SugarTable(nameof(DtBoxingInfo), "组盘信息")]
    public class DtBoxingInfo : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç¼–码
        /// </summary>
        [Required]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "托盘编号")]
        public string PalletCode { get; set; }
        /// <summary>
        /// æ˜¯å¦æ»¡ç›˜
        /// </summary>
        [Required]
        [SugarColumn(IsNullable = true, ColumnDescription = "是否满盘")]
        public bool IsFull { get; set; } = true;
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "备注")]
        public string Remark { get; set; }
        /// <summary>
        /// åº“存明细
        /// </summary>
        [MinItemsCount(1)] // æ£€æµ‹é›†åˆå…ƒç´ æœ€å°‘1个
        [SugarColumn(ColumnName = "BoxingInfoDetails")]
        [Navigate(NavigateType.OneToMany, nameof(DtBoxingInfoDetail.BoxingInfoId))]
        public List<DtBoxingInfoDetail>? BoxingInfoDetails { get; set; }
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfoDetail.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
using SqlSugar;
using System.ComponentModel.DataAnnotations;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models;
[SugarTable(nameof(DtBoxingInfoDetail), "组盘明细")]
public class DtBoxingInfoDetail : BaseEntity
{
    /// <summary>
    /// ä¸»é”®
    /// </summary>
    [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
    public int Id { get; set; }
    /// <summary>
    /// ç»„盘信息主键
    /// </summary>
    [SugarColumn(IsNullable = false, ColumnDescription = "组盘信息主键")]
    public int BoxingInfoId { get; set; }
    /// <summary>
    /// ç‰©æ–™ç¼–码
    /// </summary>
    [Required]
    [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "物料编号")]
    public string MaterielCode { get; set; }
    /// <summary>
    /// ç‰©æ–™åç§°
    /// </summary>
    [Required]
    [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "物料名称")]
    public string MaterielName { get; set; }
    /// <summary>
    /// å•据编号
    /// </summary>
    [Required]
    [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "单据编号")]
    public string OrderNo { get; set; }
    /// <summary>
    /// æ‰¹æ¬¡å·
    /// </summary>
    [Required]
    [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "批次号")]
    public string BatchNo { get; set; }
    /// <summary>
    /// åºåˆ—号
    /// </summary>
    [Required]
    [SugarColumn(IsNullable = false, Length = 100, ColumnDescription = "序列号")]
    public string SerialNumber { get; set; }
    /// <summary>
    /// åº“存数量
    /// </summary>
    [Required]
    [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "库存数量")]
    public decimal StockQuantity { get; set; }
    /// <summary>
    /// å‡ºåº“数量
    /// </summary>
    [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "出库数量", DefaultValue = "0")]
    public decimal OutboundQuantity { get; set; }
    /// <summary>
    /// ç»„盘状态
    /// </summary>
    [Required]
    [SugarColumn(IsNullable = false, ColumnDescription = "组盘状态")]
    public int Status { get; set; }
    /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    [SugarColumn(IsNullable = true, ColumnDescription = "备注")]
    public string Remark { get; set; }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfoDetail.cs
@@ -6,75 +6,74 @@
using System.Threading.Tasks;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
namespace WIDESEA_Model.Models;
[SugarTable(nameof(DtStockInfoDetail), "库存信息明细")]
public class DtStockInfoDetail : BaseEntity
{
    [SugarTable(nameof(DtStockInfoDetail), "库存信息明细")]
    public class DtStockInfoDetail : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id {  get; set; }
    /// <summary>
    /// ä¸»é”®
    /// </summary>
    [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
    public int Id { get; set; }
        /// <summary>
        /// åº“存信息主键
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "库存信息主键")]
        public int StockId { get; set; }
    /// <summary>
    /// åº“存信息主键
    /// </summary>
    [SugarColumn(IsNullable = false, ColumnDescription = "库存信息主键")]
    public int StockId { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "物料编号")]
        public string MaterielCode {  get; set; }
    /// <summary>
    /// ç‰©æ–™ç¼–号
    /// </summary>
    [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "物料编号")]
    public string MaterielCode { get; set; }
        /// <summary>
        /// ç‰©æ–™åç§°
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "物料名称")]
        public string MaterielName { get; set; }
    /// <summary>
    /// ç‰©æ–™åç§°
    /// </summary>
    [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "物料名称")]
    public string MaterielName { get; set; }
        /// <summary>
        /// å•据编号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "单据编号")]
        public string OrderNo {  get; set; }
    /// <summary>
    /// å•据编号
    /// </summary>
    [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "单据编号")]
    public string OrderNo { get; set; }
        /// <summary>
        /// æ‰¹æ¬¡å·
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "批次号")]
        public string BatchNo {  get; set; }
    /// <summary>
    /// æ‰¹æ¬¡å·
    /// </summary>
    [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "批次号")]
    public string BatchNo { get; set; }
        /// <summary>
        /// åºåˆ—号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 100, ColumnDescription = "序列号")]
        public string SerialNumber {  get; set; }
    /// <summary>
    /// åºåˆ—号
    /// </summary>
    [SugarColumn(IsNullable = false, Length = 100, ColumnDescription = "序列号")]
    public string SerialNumber { get; set; }
        /// <summary>
        /// åº“存数量
        /// </summary>
        [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "库存数量")]
        public decimal StockQuantity {  get; set; }
    /// <summary>
    /// åº“存数量
    /// </summary>
    [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "库存数量")]
    public decimal StockQuantity { get; set; }
        /// <summary>
        /// å‡ºåº“数量
        /// </summary>
        [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "出库数量", DefaultValue = "0")]
        public decimal OutboundQuantity {  get; set; }
    /// <summary>
    /// å‡ºåº“数量
    /// </summary>
    [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "出库数量", DefaultValue = "0")]
    public decimal OutboundQuantity { get; set; }
        /// <summary>
        /// åº“存明细状态
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "库存明细状态")]
        public int Status {  get; set; }
    /// <summary>
    /// åº“存明细状态
    /// </summary>
    [SugarColumn(IsNullable = false, ColumnDescription = "库存明细状态")]
    public int Status { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "备注")]
        public string Remark {  get; set; }
    }
}
    /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    [SugarColumn(IsNullable = true, ColumnDescription = "备注")]
    public string Remark { get; set; }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/obj/WIDESEA_Model.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/obj/WIDESEA_Model.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Repository/obj/WIDESEA_Repository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Repository/obj/WIDESEA_Repository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/Debug/net6.0/WIDESEA_Services.assets.cache
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/WIDESEA_Services.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/WIDESEA_Services.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Boxing/BoxingInfoDetailRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
namespace WIDESEA_StorageBasicRepository
{
    public class BoxingInfoDetailRepository : RepositoryBase<DtBoxingInfoDetail>, IBoxingInfoDetailRepository
    {
        public BoxingInfoDetailRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Boxing/BoxingInfoRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
namespace WIDESEA_StorageBasicRepository
{
    public class BoxingInfoRepository : RepositoryBase<DtBoxingInfo>, IBoxingInfoRepository
    {
        public BoxingInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/obj/WIDESEA_StorageBasicRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/obj/WIDESEA_StorageBasicRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoDetailService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
namespace WIDESEA_StorageBasicService;
public class BoxingInfoDetailService : ServiceBase<DtBoxingInfoDetail, IBoxingInfoDetailRepository>, IBoxingInfoDetailService
{
    public BoxingInfoDetailService(IBoxingInfoDetailRepository BaseDal) : base(BaseDal)
    {
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
using Masuit.Tools;
using System.ComponentModel.DataAnnotations;
namespace WIDESEA_StorageBasicService;
public class BoxingInfoService : ServiceBase<DtBoxingInfo, IBoxingInfoRepository>, IBoxingInfoService
{
    public BoxingInfoService(IBoxingInfoRepository BaseDal) : base(BaseDal)
    {
    }
    public async Task<WebResponseContent> AddBoxingInfoAsync(DtBoxingInfo boxingInfo)
    {
        WebResponseContent content = new WebResponseContent();
        // éªŒè¯æ¨¡åž‹é‡Œé¢æ•°æ®æ˜¯å¦åˆæ³•,如果不合法抛出异常
        var errors = ValidateModel(boxingInfo);
        if (errors.Count > 0)
        {
            foreach (var error in errors)
            {
                Console.WriteLine(error.ErrorMessage);
            }
            string errorMessage = string.Join(",", errors.Select(e => e.ErrorMessage));
            content.Error(errorMessage);
        }
        else
        {
            var  info = await BaseDal.QueryFirstAsync(x=>x.PalletCode ==  boxingInfo.PalletCode);
            if (!info.IsNullOrEmpty())
            {
                content.Error("该托盘已存在组盘");
            }
            else
            {
                // æ·»åŠ ç»„ç›˜ä¿¡æ¯
                var result = await BaseDal.AddDataNavAsync(boxingInfo);
                if (result)
                {
                    content.OK("添加成功", boxingInfo);
                }
            }
        }
        return content;
    }
    // éªŒè¯æ¨¡åž‹
    public static List<ValidationResult> ValidateModel(object model)
    {
        // åˆ›å»ºä¸€ä¸ªéªŒè¯ç»“果列表
        var validationResults = new List<ValidationResult>();
        // åˆ›å»ºä¸€ä¸ªéªŒè¯ä¸Šä¸‹æ–‡
        var validationContext = new ValidationContext(model, serviceProvider: null, items: null);
        // ä½¿ç”¨éªŒè¯å™¨å°è¯•验证模型,并将验证结果添加到验证结果列表中
        Validator.TryValidateObject(model, validationContext, validationResults, validateAllProperties: true);
        // è¿”回验证结果列表
        return validationResults;
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/Debug/net6.0/WIDESEA_StorageBasicServices.assets.cache
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/WIDESEA_StorageBasicServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/WIDESEA_StorageBasicServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderRepository/obj/WIDESEA_StorageOutOrderRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderRepository/obj/WIDESEA_StorageOutOrderRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/Debug/net6.0/WIDESEA_StorageOutOrderServices.assets.cache
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/WIDESEA_StorageOutOrderServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/WIDESEA_StorageOutOrderServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskRepository/obj/WIDESEA_StorageTaskRepository.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskRepository/obj/WIDESEA_StorageTaskRepository.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -1,4 +1,5 @@
namespace WIDESEA_StorageOutTaskServices;
using Mapster;
namespace WIDESEA_StorageOutTaskServices;
public class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService
{
@@ -16,6 +17,7 @@
    private readonly IPointStackerRelationRepository _pointStackerRelationRepository;
    private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository;
    private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository;
    private readonly IBoxingInfoRepository _boxingInfoRepository;
    public Dt_TaskService(IDt_TaskRepository BaseDal,
                                IUnitOfWorkManage unitOfWorkManage,
@@ -30,7 +32,8 @@
                                IDt_WareAreaInfoRepository wareAreaInfoRepository,
                                IPointStackerRelationRepository pointStackerRelationRepository,
                                ITaskExecuteDetailRepository taskExecuteDetailRepository,
                                ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository) : base(BaseDal)
                                ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository,
                                IBoxingInfoRepository boxingInfoRepository) : base(BaseDal)
    {
        _unitOfWorkManage = unitOfWorkManage;
        _outOrderRepository = outOrderRepository;
@@ -45,9 +48,12 @@
        _pointStackerRelationRepository = pointStackerRelationRepository;
        _taskExecuteDetailRepository = taskExecuteDetailRepository;
        _locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
        _boxingInfoRepository = boxingInfoRepository;
    }
    #region å¤–部接口方法
    #region å †åž›æœºå‡ºåº“任务完成
    /// <summary>
    /// å †åž›æœºå‡ºåº“任务完成
@@ -111,46 +117,9 @@
        }
    }
    /// <summary>
    /// æ€»å‡ºåº“任务完成
    /// </summary>
    /// <param name="saveModel">任务数据合集</param>
    /// <returns>返回结果集</returns>
    public async Task<WebResponseContent> CompleteTaskAsync(Dt_Task task, DtStockInfo stock)
    {
        WebResponseContent content = new WebResponseContent();
    #endregion å †åž›æœºå‡ºåº“任务完成
        try
        {
            // æ›´æ–°å‡ºåº“订单和库存货位信息
            var orderStock = await UpdateOrderAndStockAsync(stock, task.PalletCode);
            LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成", $"更新出库订单和库存货位信息:{JsonConvert.SerializeObject(orderStock)}");
            // æ£€æŸ¥è®¢å•是否完成并处理后续操作
            if (IsOrderComplete(orderStock))
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成", $"订单出库完成");
                // å¤„理已完成订单
                await ProcessCompletedOrderAsync(orderStock, task);
            }
            else
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成", $"订单暂未出库完成");
                // å¤„理未完成订单
                await ProcessUpdateOrderAsync(orderStock, task);
            }
            content.OK("任务完成");
        }
        catch (Exception err)
        {
            // è®°å½•异常信息
            Console.WriteLine(err.Message.ToString());
            content.Error("任务完成失败");
        }
        return content;
    }
    #region ç§»åº“任务完成
    /// <summary>
    /// ç§»åº“任务完成
@@ -181,6 +150,10 @@
        return content;
    }
    #endregion ç§»åº“任务完成
    #region å…¥åº“任务完成
    /// <summary>
    /// å…¥åº“任务完成
    /// </summary>
@@ -191,10 +164,19 @@
        WebResponseContent content = new WebResponseContent();
        try
        {
            var boxing = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
            var boxDetail = boxing.BoxingInfoDetails.Adapt<List<DtStockInfoDetail>>();
            // åˆ›å»ºåº“存实例模型
            DtStockInfo stock = new DtStockInfo()
            {
                PalletCode = task.PalletCode,
                LocationCode = task.TargetAddress,
                CreateDate = DateTime.Now,
                Creater = "system",
                IsFull = boxing.IsFull,
                StockInfoDetails = boxDetail,
                LocationInfo = new DtLocationInfo()
            };
            // åˆ›å»ºåŽ†å²ä»»åŠ¡å®žä¾‹æ¨¡åž‹
@@ -219,6 +201,10 @@
        }
        return content;
    }
    #endregion å…¥åº“任务完成
    #region ä»»åŠ¡å®Œæˆ
    /// <summary>
    /// ä»»åŠ¡å®Œæˆ
@@ -267,8 +253,8 @@
            }
            else
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成", "");
                return await CompleteTaskAsync(task, stock);
                LogFactory.GetLog("任务完成").InfoFormat(true, "库存不存在也不是入库任务", "");
                return content.Error("库存不存在");
            }
        }
        else if (task.TaskType == (int)TaskTypeEnum.RelocationIn)
@@ -282,6 +268,10 @@
            return content.Error("任务状态异常");
        }
    }
    #endregion ä»»åŠ¡å®Œæˆ
    #region è¯·æ±‚任务
    /// <summary>
    /// è¯·æ±‚任务
@@ -323,6 +313,8 @@
        return content;
    }
    #endregion è¯·æ±‚任务
    #endregion å¤–部接口方法
@@ -480,12 +472,16 @@
    /// <returns>更新后的订单和库存信息</returns>
    private async Task<Dt_OutOrderAndStock> UpdateOrderAndStockAsync(DtStockInfo stock, string barCode)
    {
        //根据PalletCode获取订单和库存信息
        var orderStock = await _outOrderAndStockRepository.GetOrderAndStock(palletCode: barCode);
        //完成数量增加
        orderStock.CompletedQuantity += stock.StockInfoDetails.Sum(x => x.StockQuantity);
        //订单详情完成数量增加
        orderStock.OrderList.OrderDetailList.CompletedQuantity += stock.StockInfoDetails.Sum(x => x.StockQuantity);
        //返回更新后的订单和库存信息
        return orderStock;
    }
@@ -494,135 +490,11 @@
    /// </summary>
    /// <param name="orderStock">订单和库存信息</param>
    /// <returns>是否完成</returns>
    // åˆ¤æ–­è®¢å•是否完成
    private bool IsOrderComplete(Dt_OutOrderAndStock orderStock)
    {
        // å¦‚果出库数量等于完成出库数量,则订单完成
        return orderStock.CompletedQuantity == orderStock.OutboundQuantity;
    }
    /// <summary>
    /// å¤„理已完成的订单
    /// </summary>
    /// <param name="orderStock">订单和库存信息</param>
    /// <param name="task">任务数据</param>
    /// <returns>异步任务</returns>
    private async Task ProcessCompletedOrderAsync(Dt_OutOrderAndStock orderStock, Dt_Task task)
    {
        // åˆ›å»ºåŽ†å²è®¢å•è®°å½•
        var stockHty = CreateHistoricalOrder(orderStock);
        LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成,订单已完成", $"创建历史订单记录:{JsonConvert.SerializeObject(stockHty)}");
        // åˆ›å»ºèŽ·å–åŽ†å²ä»»åŠ¡
        var taskHty = CreateHistoricalTask(task);
        LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成,订单已完成", $"创建历史任务记录:{JsonConvert.SerializeObject(taskHty)}");
        _unitOfWorkManage.BeginTran();
        try
        {
            // æ·»åŠ åŽ†å²ä»»åŠ¡
            var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;
            // åˆ é™¤ä»»åŠ¡æ•°æ®
            var isTaskDelete = await Delete(task.TaskId);
            // æ’入历史订单
            var isStockInsert = _outOrderAndStock_HtyRepository.InsertNav(stockHty);
            // åˆ é™¤åŽŸè®¢å•
            var isOrderStockDelete = _outOrderAndStockRepository.DeleteNavOrderStock(orderStock);
            if (isStockInsert && isOrderStockDelete && isTaskHtyAdd && isTaskDelete)
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成,订单已完成", $"事务处理完成,提交事务。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},插入历史订单:{isStockInsert},删除原订单:{isOrderStockDelete}");
                _unitOfWorkManage.CommitTran();
            }
            else
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成,订单已完成", $"添加数据库失败,请检查数据是否正确,数据回滚。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},插入历史订单:{isStockInsert},删除原订单:{isOrderStockDelete}");
                _unitOfWorkManage.RollbackTran();
            }
        }
        catch (Exception ex)
        {
            LogFactory.GetLog("任务完成").InfoFormat(true, $"总任务出库完成,订单已完成,系统异常,异常信息:{ex.Message}", "无参数");
            _unitOfWorkManage.RollbackTran();
            throw; // é‡æ–°æŠ›å‡ºå¼‚常以供外部捕获
        }
    }
    /// <summary>
    /// å¤„理未完成订单
    /// </summary>
    /// <param name="orderStock">订单和库存信息</param>
    /// <param name="task">任务数据</param>
    /// <returns>异步任务</returns>
    private async Task ProcessUpdateOrderAsync(Dt_OutOrderAndStock orderStock, Dt_Task task)
    {
        // åˆ›å»ºèŽ·å–åŽ†å²ä»»åŠ¡
        var taskHty = CreateHistoricalTask(task);
        _unitOfWorkManage.BeginTran();
        try
        {
            // æ·»åŠ åŽ†å²ä»»åŠ¡
            var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;
            // åˆ é™¤ä»»åŠ¡æ•°æ®
            var isTaskDelete = await Delete(task.TaskId);
            // æ›´æ–°è®¢å•与库存
            var isOrderUpdated = _outOrderAndStockRepository.UpdateNavOrderStock(orderStock);
            if (isTaskDelete && isTaskHtyAdd && isOrderUpdated)
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成,订单暂未完成", $"事务处理完成,提交事务。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新订单与库存:{isOrderUpdated}");
                _unitOfWorkManage.CommitTran();
            }
            else
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "总任务出库完成,订单暂未完成", $"添加数据库失败,请检查数据是否正确,数据回滚。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新订单与库存:{isOrderUpdated}");
                _unitOfWorkManage.RollbackTran();
            }
        }
        catch (Exception err)
        {
            LogFactory.GetLog("任务完成").InfoFormat(true, $"总任务出库完成,订单暂未完成,系统异常,异常信息:{err.Message}", "无参数");
            Console.WriteLine(err.Message.ToString());
            _unitOfWorkManage.RollbackTran();
            throw; // é‡æ–°æŠ›å‡ºå¼‚常以供外部捕获
        }
    }
    /// <summary>
    /// åˆ›å»ºåŽ†å²è®¢å•è®°å½•
    /// </summary>
    /// <param name="orderStock">订单和库存信息</param>
    /// <returns>历史订单记录</returns>
    private Dt_OutOrderAndStock_Hty CreateHistoricalOrder(Dt_OutOrderAndStock orderStock)
    {
        var stockHty = _mapper.Map<Dt_OutOrderAndStock_Hty>(orderStock);
        //stockHty.StockList.FinishTime = DateTime.Now;
        //stockHty.StockList.OperateType = (int)OperateTypeEnum.自动完成;
        //stockHty.StockList.SourceId = orderStock.StockList.GroupId;
        //stockHty.StockList.GroupId = 0;
        //stockHty.StockList.StockDetailList.ForEach(x =>
        //{
        //    x.FinishTime = DateTime.Now;
        //    x.OperateType = (int)OperateTypeEnum.自动完成;
        //    x.GroupId = 0;
        //});
        stockHty.OrderList.FinishTime = DateTime.Now;
        stockHty.OrderList.OperateType = (int)OperateTypeEnum.自动完成;
        stockHty.OrderList.SourceId = orderStock.OrderList.Id;
        stockHty.OrderList.Id = 0;
        stockHty.OrderList.orderDetailList.FinishTime = DateTime.Now;
        stockHty.OrderList.orderDetailList.OperateType = (int)OperateTypeEnum.自动完成;
        stockHty.OrderList.orderDetailList.Id = 0;
        return stockHty;
    }
    /// <summary>
@@ -651,14 +523,20 @@
    /// </summary>
    /// <param name="stock">库存对象</param>
    /// <param name="toLocation">目标位置</param>
    // æ›´æ–°åº“存和位置信息
    private (DtStockInfo, DtLocationInfo) UpdateStockLocation(DtStockInfo stock, string toLocation)
    {
        // èŽ·å–åº“å­˜ä¿¡æ¯
        var locationInfo = _locationRepository.QueryFirst(x => x.LocationCode == stock.LocationCode);
        // å°†åº“存状态设置为在库
        locationInfo.LocationStatus = LocationEnum.InStock.ObjToInt();
        // å°†åº“存位置设置为目标位置
        stock.LocationCode = toLocation;
        // å°†åº“存状态设置为在库
        stock.LocationInfo.LocationStatus = LocationEnum.InStock.ObjToInt();
        // è¿”回更新后的库存和位置信息
        return (stock, locationInfo);
    }
@@ -683,7 +561,7 @@
            else
            {
                // æ·»åŠ åº“å­˜
                isUpdateStock = await _stockInfoRepository.AddDataAsync(stock) > 0;
                isUpdateStock = await _stockInfoRepository.AddDataNavAsync(stock);
            }
            // æ·»åŠ åŽ†å²ä»»åŠ¡
@@ -698,13 +576,13 @@
            // æäº¤æˆ–回滚事务
            if (isUpdateStock && isTaskHtyAdd && isTaskDelete && isUpdateLoc)
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "移库任务完成", $"事务处理完成,提交事务。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新或添加库存:{isUpdateStock},修改移库前货位状态:{isUpdateLoc}");
                LogFactory.GetLog("任务完成").InfoFormat(true, "任务完成", $"事务处理完成,提交事务。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新或添加库存:{isUpdateStock},修改移库前货位状态:{isUpdateLoc}");
                _unitOfWorkManage.CommitTran();
                return true;
            }
            else
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "移库任务完成", $"数据处理失败,请检查数据是否正确,数据回滚。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新库存:{isUpdateStock},修改移库前货位状态:{isUpdateLoc}");
                LogFactory.GetLog("任务完成").InfoFormat(true, "任务完成", $"数据处理失败,请检查数据是否正确,数据回滚。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新库存:{isUpdateStock},修改移库前货位状态:{isUpdateLoc}");
                _unitOfWorkManage.RollbackTran();
                return false;
            }
@@ -729,13 +607,16 @@
    /// <returns></returns>
    private async Task<WebResponseContent> UpdateExistingTask(RequestTaskDto input, int areaId, Dt_Task task)
    {
        // åˆ›å»ºWebResponseContent对象
        WebResponseContent content = new WebResponseContent();
        // å®šä¹‰å˜é‡
        string toAddress;
        int taskState;
        string original = task.CurrentAddress;
        DtLocationInfo location = new DtLocationInfo();
        int beforeStatus = 0;
        // æ ¹æ®ä»»åŠ¡ç±»åž‹åˆ¤æ–­æ˜¯å‡ºåº“ä»»åŠ¡è¿˜æ˜¯å…¥åº“ä»»åŠ¡
        if (input.Type == (int)TaskTypeEnum.Outbound)
        {
            // å¤„理出库任务
@@ -761,7 +642,9 @@
        task.NextAddress = toAddress;
        task.TaskState = taskState;
        // å¼€å§‹äº‹åŠ¡
        _unitOfWorkManage.BeginTran();
        // å®šä¹‰å˜é‡
        bool isUpdateLo = true;
        bool isUpdateChange = true;
@@ -770,8 +653,10 @@
        bool isTaskDetail = await _taskExecuteDetailRepository.AddDetailAsync(task, false, TaskDescription.GetTaskUpdateDescription(task.PalletCode, original, input.Position, InTaskStatusEnum.Line_InFinish.GetIntegralRuleTypeEnumDesc()));
        if (input.Type != (int)TaskTypeEnum.Outbound)
        {
            // åˆ›å»ºLocationChangeRecordDto对象
            LocationChangeRecordDto changeRecordDto = new LocationChangeRecordDto()
            {
                // è®¾ç½®å˜é‡
                AfterStatus = location.LocationStatus,
                BeforeStatus = beforeStatus,
                TaskNum = task.TaskNum.Value,
@@ -779,17 +664,20 @@
                LocationCode = location.LocationCode,
                ChangeType = (int)StatusChangeTypeEnum.AutomaticStorage,
            };
            // æ›´æ–°ä½ç½®çŠ¶æ€
            isUpdateChange = _locationStatusChangeRecordRepository.AddStatusChangeRecord(changeRecordDto);
            isUpdateLo = await _locationRepository.UpdateDataAsync(location);
        }
        if (isResult && isUpdateLo && isTaskDetail)
        {
            // æäº¤äº‹åŠ¡
            _unitOfWorkManage.CommitTran();
            content.OK(data: task);
        }
        else
        {
            // å›žæ»šäº‹åŠ¡
            _unitOfWorkManage.RollbackTran();
            content.Error("更新任务失败");
        }
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/Debug/net6.0/WIDESEA_StorageTaskServices.assets.cache
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/WIDESEA_StorageTaskServices.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/WIDESEA_StorageTaskServices.csproj.nuget.g.targets
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/bin/Debug/net6.0/WIDESEA_Tasks.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/bin/Debug/net6.0/WIDESEA_Tasks.pdb
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.csproj.FileListAbsolute.txt
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.pdb
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/ref/WIDESEA_Tasks.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/refint/WIDESEA_Tasks.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/BoxingInfoController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
namespace WIDESEA_WMSServer.Controllers;
[Route("api/[controller]")]
[ApiController]
public class BoxingInfoController : ApiBaseController<IBoxingInfoService, DtBoxingInfo>
{
    public BoxingInfoController(IBoxingInfoService service) : base(service)
    {
    }
    // POST api/<BoxingInfoController>
    [HttpPost, Route("AddBoxingInfo"), AllowAnonymous]
    public Task<WebResponseContent> AddBoxingInfoAsync([FromBody] DtBoxingInfo boxingInfo)
    {
        return Service.AddBoxingInfoAsync(boxingInfo);
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs
@@ -21,7 +21,6 @@
            CreateMap<RegistrationDTO, Sys_CompanyRegistration>();
            CreateMap<Dt_OutOrderAndStock, Dt_OutOrderAndStock_Hty>();
            CreateMap<Dt_Task, Dt_Task_Hty>();
        }
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/È«¾ÖÒì³£´íÎóÈÕÖ¾_1724081992.log
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/Microsoft.Win32.SystemEvents.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/SixLabors.ImageSharp.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Diagnostics.PerformanceCounter.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Drawing.Common.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Security.Permissions.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/System.Windows.Extensions.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/WIDESEA_WMSServer.runtimeconfig.json
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/unix/lib/net6.0/System.Drawing.Common.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Diagnostics.PerformanceCounter.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Drawing.Common.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/runtimes/win/lib/net6.0/System.Windows.Extensions.dll
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/Debug/net6.0/ApiEndpoints.json
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/Debug/net6.0/WIDESEA_WMSServer.assets.cache
Binary files differ
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/WIDESEA_WMSServer.csproj.nuget.g.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/WIDESEA_WMSServer.csproj.nuget.g.targets
ÎļþÒÑɾ³ý