分支自 SuZhouGuanHong/TaiYuanTaiZhong

WMS
dengjunjie
2024-01-16 92b129a783ff748a4e5365803aa862888fa4470e
WMS
已删除13个文件
已修改21个文件
已复制6个文件
已添加102个文件
已重命名2个文件
5375 ■■■■■ 文件已修改
代码管理/WMS/WMS_Client/src/extension/widesea_system/system/Dt_Interfacerecord.js 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/extension/widesea_wms/boxing/dt_boxing.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/extension/widesea_wms/boxing/dt_boxing_hty.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/extension/widesea_wms/system/dt_areainfo.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/extension/widesea_wms/system/dt_inventory.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/extension/widesea_wms/system/dt_materielinfo.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/extension/widesea_wms/taskinfo/dt_agvtask_hty.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/router/viewGird.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/Index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask_hty.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/dialog/addTask.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/system/Sys_User.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_system/system/Dt_Interfacerecord.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_system/system/tracklogDetial.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/boxing/dt_boxing.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/boxing/dt_boxing_hty.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/system/base_routing_table.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/system/dt_areainfo.vue 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/system/dt_inventory.vue 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/system/dt_materielinfo.vue 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/taskinfo/dt_agvtask_hty.vue 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/EquipmentEnum/EquipmentState.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/EquipmentEnum/StationEnum.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/LogInfo/WriteWMSLog.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/OperateTypesEnum/OperateTypes.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVJobEnum.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskStateEnum.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/TaskNo/IdenxManager.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Comm/WIDESEA_Comm.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Core/Infrastructure/DictionaryHandler.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Boxing/dt_boxing.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Boxing/dt_boxing_hty.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Boxing/partial/dt_boxing.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Boxing/partial/dt_boxing_hty.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Mes/CBJPDA.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Mes/HCJManage.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Mes/MesRequest.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/Dt_Interfacerecord.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_areainfo.cs 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_materielinfo.cs 328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_areainfo.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_inventory.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_materielinfo.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs 368 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs 425 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/Boxing/dt_boxingMapConfig.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/Boxing/dt_boxing_htyMapConfig.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_areainfoMapConfig.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_inventoryMapConfig.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_materielinfoMapConfig.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/ToAGV/AGVRespone.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/ToAGV/UpdateTasteInfo.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/IRepositories/System/IDt_InterfacerecordRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/IServices/System/IDt_InterfacerecordService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/IServices/System/Partial/IDt_InterfacerecordService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/IServices/System/Partial/ISys_DictionaryService.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/Repositories/System/Dt_InterfacerecordRepository.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/Services/System/Dt_InterfacerecordService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/Services/System/Partial/Dt_InterfacerecordService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/Services/System/Partial/Sys_DictionaryService.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_System/WIDESEA_System.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IRepositories/Boxing/Idt_boxingRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IRepositories/Boxing/Idt_boxing_htyRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IRepositories/system/Idt_areainfoRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IRepositories/system/Idt_inventoryRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IRepositories/system/Idt_materielinfoRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/Boxing/Idt_boxingService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/Boxing/Idt_boxing_htyService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/Boxing/Partial/Idt_boxingService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/Boxing/Partial/Idt_boxing_htyService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Idt_areainfoService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Idt_inventoryService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Idt_materielinfoService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_areainfoService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_inventoryService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_materielinfoService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Repositories/Boxing/dt_boxingRepository.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Repositories/Boxing/dt_boxing_htyRepository.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Repositories/system/dt_areainfoRepository.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Repositories/system/dt_inventoryRepository.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Repositories/system/dt_materielinfoRepository.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Boxing/Partial/dt_boxingService.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Boxing/Partial/dt_boxing_htyService.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Boxing/dt_boxingService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Boxing/dt_boxing_htyService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_materielinfoService.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/dt_areainfoService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/dt_inventoryService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/dt_materielinfoService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/AddToFloat3.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/ToMesServer.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/WIDESEA_WMS.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/System/Partial/Sys_DictionaryController.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToAGV/ToAGVController.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToMes/ToWMSController.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/Dt_InterfacerecordController.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/Partial/Dt_InterfacerecordController.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_areainfoController.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_boxingController.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_boxing_htyController.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_inventoryController.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_materielinfoController.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_areainfoController.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_boxingController.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_boxing_htyController.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_inventoryController.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_materielinfoController.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGV任务20231208134657.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGV任务20231208170607.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGV任务20231208171603.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGV任务20231208173403.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGV任务20231208175204.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV任务20231208152432.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV任务20231208173004.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV历史任务20231208154331.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV历史任务20231208161840.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV历史任务20231208162251.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV历史任务20231208163634.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV历史任务20231208163750.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV历史任务20231208165240.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219150515.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219151413.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219151717.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219152111.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219152415.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219152911.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219170232.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219171630.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV任务20231219174230.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WMS/WMS_Client/src/extension/widesea_system/system/Dt_Interfacerecord.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
import tracklogDetial from "@/views/widesea_system/system/tracklogDetial.vue"
let extension = {
  components: {//动态扩充组件或组件路径
    //表单header、content、footer对应位置扩充的组件
    gridHeader: tracklogDetial,//{ template: "<div>扩展组xxä»¶</div>" },
    gridBody: '',
    gridFooter: '',
    //弹出框(修改、编辑、查看)header、content、footer对应位置扩充的组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  //buttons: [],//扩展的按钮
  buttons: {
    view: [],
    box: [],
    detail: []
  },
  methods: {//事件扩展
    onInit() {
      this.columns.forEach(x => {
        if (x.field == "interface_type") {
          x.getColor = (row, column) => {
            if (row != null) {
              if (row.interface_type == "成功") {
                return "success";
              } else if (row.interface_type == "失败") {
                return "error";
              }
            }
          }
        }
      })
      let options = {
        field: 'oper',
        title: '数据详情',
        type: 'text',
        width: 60,
        //返回一个标签
        formatter: (row) => {
          return '<a href="javascript:void(0)">详情</a>'
        },
        //触发事件,可以在此事件再打开一个弹出框等操作
        click: (row, column, event) => {
          this.$refs.gridHeader.openDialog(row)
        }
      };
      this.columns.push(options)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WMS_Client/src/extension/widesea_wms/boxing/dt_boxing.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
/*****************************************************************************************
**  Author:jxx 2022
**  QQ:283591387
**完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
**常用示例见:http://v2.volcore.xyz/document/vueDev
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  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.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WMS_Client/src/extension/widesea_wms/boxing/dt_boxing_hty.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
/*****************************************************************************************
**  Author:jxx 2022
**  QQ:283591387
**完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
**常用示例见:http://v2.volcore.xyz/document/vueDev
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  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.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WMS_Client/src/extension/widesea_wms/system/dt_areainfo.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
/*****************************************************************************************
**  Author:jxx 2022
**  QQ:283591387
**完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
**常用示例见:http://v2.volcore.xyz/document/vueDev
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  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.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WMS_Client/src/extension/widesea_wms/system/dt_inventory.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
/*****************************************************************************************
**  Author:jxx 2022
**  QQ:283591387
**完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
**常用示例见:http://v2.volcore.xyz/document/vueDev
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  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.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WMS_Client/src/extension/widesea_wms/system/dt_materielinfo.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
/*****************************************************************************************
**  Author:jxx 2022
**  QQ:283591387
**完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
**常用示例见:http://v2.volcore.xyz/document/vueDev
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  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.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js
@@ -6,11 +6,11 @@
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
import addTask from "@/views/dialog/addTask.vue"
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridHeader: addTask,
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
@@ -32,9 +32,23 @@
        //       this.$Message.success('点击了按钮');
        //     }
        //   });
        // this.buttons.forEach(x => {
        //   if(x.value=='Add'){
        //     x.name='移库'
        //     x.icon='el-icon-document'
        //   }
        // });
        //示例:设置修改新建、编辑弹出框字段标签的长度
        // this.boxOptions.labelWidth = 150;
        this.buttons.splice(1, 0, {
          name: "移库",
          icon: 'el-icon-document',
          type: 'danger',
          onClick: function () {
              this.$refs.gridHeader.detialBox = true;
          }
      })
    },
    onInited() {
      //框架初始化配置后
´úÂë¹ÜÀí/WMS/WMS_Client/src/extension/widesea_wms/taskinfo/dt_agvtask_hty.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
/*****************************************************************************************
**  Author:jxx 2022
**  QQ:283591387
**完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
**常用示例见:http://v2.volcore.xyz/document/vueDev
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  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.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WMS_Client/src/router/viewGird.js
@@ -149,6 +149,30 @@
        path: '/dt_stationinfo',
        name: 'dt_stationinfo',
        component: () => import('@/views/widesea_wms/system/dt_stationinfo.vue')
    }]
    }    ,{
        path: '/dt_inventory',
        name: 'dt_inventory',
        component: () => import('@/views/widesea_wms/system/dt_inventory.vue')
    }    ,{
        path: '/dt_boxing',
        name: 'dt_boxing',
        component: () => import('@/views/widesea_wms/boxing/dt_boxing.vue')
    }    ,{
        path: '/dt_boxing_hty',
        name: 'dt_boxing_hty',
        component: () => import('@/views/widesea_wms/boxing/dt_boxing_hty.vue')
    }    ,{
        path: '/dt_materielinfo',
        name: 'dt_materielinfo',
        component: () => import('@/views/widesea_wms/system/dt_materielinfo.vue')
    }    ,{
        path: '/dt_areainfo',
        name: 'dt_areainfo',
        component: () => import('@/views/widesea_wms/system/dt_areainfo.vue')
    }    ,{
      path: '/Dt_Interfacerecord',
      name: 'Dt_Interfacerecord',
      component: () => import('@/views/widesea_system/system/Dt_Interfacerecord.vue')
  }]
export default viewgird
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/Index.vue
@@ -14,7 +14,7 @@
    </div>
    <div class="vol-container" :style="{ left: menuWidth - 1 + 'px' }">
      <div class="vol-header">
        <div class="project-name">WMS_标准版</div>
        <div class="project-name">WMS_太重轨道</div>
        <div class="header-text">
          <!-- <div class="h-link">
            <a
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue
@@ -29,10 +29,13 @@
                url: "/dt_agvtask/",
                sortName: "ID"
            });
            const editFormFields = ref({"agv_fromaddress":"","agv_toaddress":"","agv_code":""});
            const editFormOptions = ref([[{"title":"起点地址","field":"agv_fromaddress","type":"text"}],
                              [{"title":"终点地址","field":"agv_toaddress","type":"text"}],
                              [{"dataKey":"agv_code","data":[],"title":"AGV编号","required":true,"field":"agv_code","type":"select"}]]);
            const editFormFields = ref({"agv_fromaddress":"","agv_toaddress":"","agv_tasktype":"","agv_grades":"","agv_code":""});
            const editFormOptions = ref([[{"title":"起点地址","field":"agv_fromaddress","type":"text","required":true}],
                              [{"title":"终点地址","field":"agv_toaddress","type":"text","required":true}],
                              [{"dataKey":"task_grade","data":[],"title":"任务等级","required":true,"field":"agv_grade","type":"select"}],
                              [{"dataKey":"agv_tasktypes","data":[],"title":"任务类型","required":true,"field":"agv_tasktype","type":"select"}]
                            //   [{"dataKey":"agv_code","data":[],"title":"AGV编号","required":true,"field":"agv_code","type":"select"}]
                            ]);
            const searchFormFields = ref({"agv_tasknum":"","agv_fromaddress":"","agv_toaddress":"","agv_code":[],"agv_taskstate":[],"agv_materielid":"","agv_createtime":"","agv_barcode":"","agv_materbarcode":""});
            const searchFormOptions = ref([[{"title":"任务编号","field":"agv_tasknum","type":"like"},{"title":"起点地址","field":"agv_fromaddress","type":"like"},{"title":"终点地址","field":"agv_toaddress","type":"like"}],[{"dataKey":"agv_code","data":[],"title":"AGV编号","field":"agv_code","type":"selectList"},{"dataKey":"Taskstates","data":[],"title":"任务状态","field":"agv_taskstate","type":"selectList"},{"title":"物料类型","field":"agv_materielid","type":"like"}],[{"title":"创建时间","field":"agv_createtime","type":"datetime"},{"title":"托盘码","field":"agv_barcode","type":"like"},{"title":"物料码","field":"agv_materbarcode","type":"like"}]]);
            const columns = ref([{field:'agv_id',title:'任务Id',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'},
@@ -43,13 +46,14 @@
                       {field:'agv_taskstate',title:'任务状态',type:'string',bind:{ key:'Taskstates',data:[]},width:110,require:true,align:'left'},
                       {field:'agv_worktype',title:'AGV工作类型',type:'int',width:110,align:'left'},
                       {field:'agv_materielid',title:'物料类型',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_qty',title:'数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'bindSN',title:'车轮SN号',type:'string',width:110,align:'left'},
                       {field:'agv_qty',title:'数量',type:'int',width:110,require:true,align:'left'},
                       {field:'agv_createtime',title:'创建时间',type:'datetime',sort:true,width:150,require:true,align:'left',sort:true},
                       {field:'agv_realesstime',title:'执行时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'agv_finishedtime',title:'完成时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'agv_tasktype',title:'任务类型',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_tasktype',title:'任务类型',type:'string',bind:{ key:'agv_tasktypes',data:[]},width:110,require:true,align:'left'},
                       {field:'agv_remark',title:'备注',type:'string',width:120,align:'left'},
                       {field:'agv_grade',title:'任务等级',type:'int',sort:true,width:110,align:'left'},
                       {field:'agv_grade',title:'任务等级',type:'int',bind:{ key:'task_grade',data:[]},sort:true,width:110,align:'left'},
                       {field:'agv_userid',title:'创建者',type:'string',width:110,align:'left'},
                       {field:'agv_barcode',title:'托盘码',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_materbarcode',title:'物料码',type:'string',width:110,align:'left'},
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask_hty.vue
@@ -32,12 +32,13 @@
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({"agv_tasknum":"","agv_materielid":"","agv_createtime":"","agv_taskstate":"","agv_fromaddress":"","agv_toaddress":"","agv_operatetype":"","agv_barcode":"","agv_materbarcode":""});
            const searchFormOptions = ref([[{"title":"任务编号","field":"agv_tasknum","type":"like"},{"title":"物料类型","field":"agv_materielid","type":"like"},{"dataKey":"Taskstates","data":[],"title":"任务状态","field":"agv_taskstate","type":"select"}],[{"title":"起点地址","field":"agv_fromaddress","type":"like"},{"title":"终点地址","field":"agv_toaddress","type":"like"},{"dataKey":"Taskstates","data":[],"title":"操作类型","field":"agv_operatetype","type":"select"}],[{"title":"托盘码","field":"agv_barcode","type":"like"},{"title":"物料码","field":"agv_materbarcode","type":"like"},{"title":"创建时间","field":"agv_createtime","type":"datetime"}]]);
            const searchFormOptions = ref([[{"title":"任务编号","field":"agv_tasknum","type":"like"},{"title":"物料类型","field":"agv_materielid","type":"like"},{"dataKey":"Taskstates","data":[],"title":"任务状态","field":"agv_taskstate","type":"select"}],[{"title":"起点地址","field":"agv_fromaddress","type":"like"},{"title":"终点地址","field":"agv_toaddress","type":"like"},{"dataKey":"operatetypes","data":[],"title":"操作类型","field":"agv_operatetype","type":"select"}],[{"title":"托盘码","field":"agv_barcode","type":"like"},{"title":"物料码","field":"agv_materbarcode","type":"like"},{"title":"创建时间","field":"agv_createtime","type":"datetime"}]]);
            const columns = ref([{field:'hty_pkid',title:'历史任务ID',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'agv_id',title:'任务ID',type:'guid',width:110,hidden:true,require:true,align:'left'},
                       {field:'agv_tasknum',title:'任务编号',type:'string',sort:true,width:110,require:true,align:'left',sort:true},
                       {field:'agv_materielid',title:'物料类型',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_qty',title:'数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'bindSN',title:'车轮SN号',type:'string',width:110,align:'left'},
                       {field:'agv_qty',title:'数量',type:'int',width:110,require:true,align:'left'},
                       {field:'agv_createtime',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'agv_realesstime',title:'执行时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'agv_finishedtime',title:'完成时间',type:'datetime',width:150,align:'left',sort:true},
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/dialog/addTask.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
<template>
    <div>
        <vol-box :lazy="true" v-model="detialBox" title="手动移库" :height="350" :width="400" :padding="15">
            <div>
                <el-form :model="formdata" label-width="120px" :rules="rules" size="mini" ref="ruleFormRef">
                    <!-- <el-form-item label="类型">
                        <el-radio-group v-model="inType" class="ml-4">
                            <el-radio label="handle">手动出料</el-radio>
                            <el-radio label="auto" disabled>自动出料</el-radio>
                        </el-radio-group>
                    </el-form-item> -->
                    <el-form-item v-if="inType == 'handle'" label="起始地址" prop="from_address">
                        <el-select v-model="formdata.from_address" clearable filterable placeholder="请选择起始地址">
                            <el-option v-for="item in formAddressList" :label="item.key" :value="item.key" />
                        </el-select>
                    </el-form-item>
                    <el-form-item label="目的地址" prop="to_address">
                        <el-select v-model="formdata.to_address" clearable filterable placeholder="请选择目的地址">
                            <el-option v-for="item in toAddressList" :label="item.key" :value="item.key" />
                        </el-select>
                    </el-form-item>
                    <el-form-item label="">
                        <el-button type="primary" @click="onSubmit()" size="mini"> ç¡®è®¤ç§»åº“</el-button>
                    </el-form-item>
                </el-form>
            </div>
        </vol-box>
    </div>
</template>
<script >
import VolBox1Vue from '@/components/basic/VolBox.vue';
export default {
    components: { "vol-box": VolBox1Vue },
    methods: {},
    created() {
        this.http.post("/api/Sys_Dictionary/GetVueDictionary", ["route_began", "route_end"]).then(x => {
            x.forEach(item => {
                if (item.dicNo == 'route_end') {
                    this.toAddressList = item.data;
                } else if (item.dicNo == 'route_began') {
                    this.formAddressList = item.data;
                }
            })
        })
    },
    data() {
        return {
            detialBox: false,
            inType: "handle",
            rules: {
                from_address: [{ required: true, message: '请选择起始地址', trigger: 'blur' }],
                to_address: [{ required: true, message: '请选择目的地址', trigger: 'blur' }]
            },
            formdata: {
                from_address: "",
                to_address: ""
            },
            formAddressList: [],
            toAddressList: []
        };
    },
    methods: {
        onSubmit() {
            var _this = this;
            this.$refs.ruleFormRef.validate((valid) => {
                if (valid) {
                    _this.http.post("/api/ToMes/AddToFloat3", _this.formdata, "正在移库....").then(x => {
                        if (!x.status) return _this.$Message.error(x.message);
                        _this.$Message.success("移库成功!");
                        _this.refresh();
                    });
                }
            })
        }
    },
};
</script>
<style>
.formContainer {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
</style>
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js
@@ -32,7 +32,16 @@
        //       this.$Message.success('点击了按钮');
        //     }
        //   });
        // this.buttons.splice(1,0,function(){
        //    name:"添加任务"
        // })
        this.buttons.forEach(x => {
          if(x.value == 'Add')
          {
            x.name = '添加任务'
          }
        });
        //示例:设置修改新建、编辑弹出框字段标签的长度
        // this.boxOptions.labelWidth = 150;
    },
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/system/Sys_User.vue
@@ -27,7 +27,7 @@
        const editFormOptions = ref([[{ "title": "帐号", "required": true, "field": "UserName", "disabled": true }],
        [{ "title": "姓名", "required": true, "field": "UserTrueName", "type": "text" }],
        [{ "dataKey": "tree_roles", "data": [], "title": "角色", "required": true, "field": "Role_Id", "type": "cascader" }],
        [{ "dataKey": "组织机构", "data": [], "title": "组织构架", "field": "DeptIds", "colSize": 12, "type": "treeSelect" }],
        // [{ "dataKey": "组织机构", "data": [], "title": "组织构架", "field": "DeptIds", "colSize": 12, "type": "treeSelect" }],
        [{ "dataKey": "enable", "data": [], "title": "是否可用", "required": true, "field": "Enable", "type": "select" }],
        [{ "dataKey": "gender", "data": [], "title": "性别", "field": "Gender", "type": "select" }],
        [{ "title": "备注", "field": "Remark", "colSize": 12, "type": "textarea" }],
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_system/system/Dt_Interfacerecord.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,89 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/system/system/Sys_User.js此处编写
 -->
<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/widesea_system/system/Dt_Interfacerecord.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'User_Id',
                footer: "Foots",
                cnName: '接口日志',
                name: 'Dt_Interfacerecord',
                url: "/Dt_Interfacerecord/",
                sortName: "interface_createtime"
            });
            const editFormFields = ref();
            const editFormOptions = ref([]);
            const searchFormFields = ref({"interface_remark":"",});
            const searchFormOptions = ref([[{"title":"请求数据","field":"interface_paradata","type":"like"},{"title":"描述","field":"interface_remark","type":"like"}],
            [{"title":"返回数据","field":"interface_returndata","type":"like"},{"title":"创建时间","field":"interface_createtime","type":"datetime"}]
        ]);
            const columns = ref([
                {field:'interface_id',title:'主键',type:'guid',width:60,hidden:true,readonly:true,require:true,align:'left'},
             {
                field:'interface_call',
                type:'string',
                title:"请求者",
                width:60,
                sort:true,
                align:'left'
            },
            {
                           field:'interface_type',
                           title:'类型',
                           type:'string',
                           width:60,
                           require:true,
                           align:'left',
                           bind:{data:[]},
                           //sortable:true
                           },
            // {field:'interface_call',title:'请求者',type:'string',width:60,require:true,align:'left'},
                       {field:'interface_provide',title:'接受者',type:'string',width:60,require:true,align:'left'},
                       {field:'interface_paradata',title:'请求数据',type:'string',width:120,align:'left'},
                       {field:'interface_returndata',title:'返回数据',type:'string',width:120,align:'left'},
                       {field:'interface_createtime',title:'创建时间',type:'datetime',width:120,require:true,align:'left',sortable:true},
                       {field:'interface_remark',title:'描述',type:'string',width:120,align:'left'},
                       {field:'interface_operator',title:'操作者',type:'string',width:60,require:true,align:'left'},
                       {field:'interface_name',title:'操作名称',type:'string',width:60,require:true,align:'left'},
                       {field:'interface_message',title:'错误信息',type:'string',width:120,require:true,align:'left'},
                      ]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_system/system/tracklogDetial.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
<template>
    <div>
        <!-- è¯¦æƒ…弹窗 -->
        <vol-box :height="450" v-model="detialBox" :padding="15" title="日志详情">
         <div>
                id:{{ rowData.interface_id }}
                <hr />
                <b>时间:</b>
                {{ rowData.interface_createtime }}
                <br />
                <b>操作名称:</b>
                {{ rowData.interface_name }}
                <br />
                <b>描述:</b>
                {{ rowData.interface_remark }}
                <br />
                <b>错误信息:</b>
                <br />
                {{ rowData.interface_message }}
                <br />
                <br />
                <b>请求数据:</b>
                <br />
                <pre> {{ rowData.interface_paradata==""?rowData.interface_paradata:JSON.parse(rowData.interface_paradata) }}</pre>
                <br />
                <b>返回数据:</b>
                <pre>{{rowData.interface_returndata==""?rowData.interface_returndata:JSON.parse(rowData.interface_returndata)}}</pre>
            </div>
        </vol-box>
    </div>
</template>
<script defer = "true">
import VolBox from "@/components/basic/VolBox.vue";
export default {
    components: { "vol-box": VolBox },
    methods: {},
    data() {
        return {
            detialBox: false,
            rowData: "",
        };
    },
    methods: {
        openDialog(row) {
            this.detialBox = true;
            this.rowData = row;
        }
    },
};
</script>
<style>
.formContainer {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
</style>
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/boxing/dt_boxing.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wms/boxing/dt_boxing.js此处编写
 -->
<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/widesea_wms/boxing/dt_boxing.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'ID',
                footer: "Foots",
                cnName: '组盘信息',
                name: 'boxing/dt_boxing',
                url: "/dt_boxing/",
                sortName: "ID"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'ID',title:'ID',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'boxhead_creator',title:'组盘者',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'boxhead_createtime',title:'组盘时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'boxdtl_state',title:'组盘状态',type:'string',width:110,require:true,align:'left'},
                       {field:'boxhead_address',title:'组盘地址',type:'string',width:180,require:true,align:'left'},
                       {field:'boxhead_wheelSN',title:'SN号',type:'string',width:180,require:true,align:'left'},
                       {field:'boxhead_wheeltype',title:'类型',type:'string',width:120,align:'left'},
                       {field:'boxdtl_name',title:'名称',type:'guid',width:110,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/boxing/dt_boxing_hty.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wms/boxing/dt_boxing_hty.js此处编写
 -->
<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/widesea_wms/boxing/dt_boxing_hty.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'ID',
                footer: "Foots",
                cnName: '组盘历史信息',
                name: 'boxing/dt_boxing_hty',
                url: "/dt_boxing_hty/",
                sortName: "ID"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'ID',title:'ID',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'boxhead_creator',title:'组盘者',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'boxhead_createtime',title:'组盘时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'boxdtl_state',title:'组盘状态',type:'string',width:110,require:true,align:'left'},
                       {field:'boxhead_lastdatetime',title:'组盘完成时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'boxhead_address',title:'组盘地址',type:'string',width:180,require:true,align:'left'},
                       {field:'boxhead_wheelSN',title:'SN号',type:'string',width:180,require:true,align:'left'},
                       {field:'boxhead_wheeltype',title:'类型',type:'string',width:120,align:'left'},
                       {field:'boxdtl_name',title:'名称',type:'guid',width:110,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/system/base_routing_table.vue
@@ -38,13 +38,13 @@
                       {field:'route_end',title:'终点地址',type:'string',width:110,require:true,align:'left'},
                       {field:'route_area',title:'区域',type:'string',width:110,align:'left'},
                       {field:'route_creator',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'route_createtime',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'route_createtime',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true,hidden:true},
                       {field:'Remark1',title:'Remark1',type:'string',width:110,hidden:true,align:'left'},
                       {field:'Remark2',title:'Remark2',type:'string',width:110,hidden:true,align:'left'},
                       {field:'Remark3',title:'Remark3',type:'string',width:110,hidden:true,align:'left'},
                       {field:'Remark4',title:'Remark4',type:'string',width:110,hidden:true,align:'left'},
                       {field:'Remark5',title:'Remark5',type:'string',width:110,hidden:true,align:'left'},
                       {field:'ID',title:'ID',type:'int',width:80,require:true,align:'left'}]);
                       {field:'ID',title:'ID',type:'int',width:80,require:true,align:'left',hidden:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/system/dt_areainfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wms/system/dt_areainfo.js此处编写
 -->
<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/widesea_wms/system/dt_areainfo.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'area_code',
                footer: "Foots",
                cnName: '库区信息',
                name: 'system/dt_areainfo',
                url: "/dt_areainfo/",
                sortName: "area_code"
            });
            const editFormFields = ref({"area_name":"","area_des":""});
            const editFormOptions = ref([[{"title":"名称","required":true,"field":"area_name","type":"text"}],
                              [{"title":"描述","field":"area_des","type":"text"}]]);
            const searchFormFields = ref({"area_name":""});
            const searchFormOptions = ref([[{"title":"名称","field":"area_name","type":"like"}]]);
            const columns = ref([{field:'area_code',title:'库区ID',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'area_name',title:'名称',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'area_des',title:'描述',type:'string',width:220,align:'left'},
                       {field:'area_creator',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'area_datetime',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'area_bindType',title:'绑定类型',type:'string',width:110,require:true,align:'left'},
                       {field:'area_max',title:'最大数量',type:'int',width:80,align:'left'},
                       {field:'area_minimum',title:'最小数量',type:'int',width:80,align:'left'},
                       {field:'area_spare1',title:'备用区1',type:'string',width:120,align:'left'},
                       {field:'area_spare2',title:'备用区2',type:'string',width:120,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/system/dt_inventory.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wms/system/dt_inventory.js此处编写
 -->
<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/widesea_wms/system/dt_inventory.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'ID',
                footer: "Foots",
                cnName: '库存查询',
                name: 'system/dt_inventory',
                url: "/dt_inventory/",
                sortName: "ID"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({"SN":"","Name":"","HearthNumber":"","HeatNumber":"","BilletNumber":"","remark":""});
            const searchFormOptions = ref([[{"title":"车轮SN号","field":"SN","type":"like"},{"title":"产品名称","field":"Name","type":"like"},{"title":"描述","field":"remark","type":"like"}],[{"title":"熔炼炉号","field":"HearthNumber","type":"like"},{"title":"炉代号","field":"HeatNumber","type":"like"},{"title":"钢坯号","field":"BilletNumber","type":"like"}]]);
            const columns = ref([{field:'SN',title:'车轮SN号',type:'string',width:220,align:'left',sort:true},
                       {field:'Name',title:'产品名称',type:'string',width:220,align:'left'},
                       {field:'FigureNumber',title:'产品图号',type:'string',width:220,align:'left'},
                       {field:'HearthNumber',title:'熔炼炉号',type:'string',width:220,align:'left'},
                       {field:'HeatNumber',title:'炉代号',type:'string',width:110,align:'left'},
                       {field:'BilletNumber',title:'钢坯号',type:'int',width:110,align:'left'},
                       {field:'OnlineTime',title:'入库时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'Operator',title:'操作人员',type:'string',width:110,align:'left'},
                       {field:'remark',title:'描述',type:'string',width:110,align:'left'},
                       {field:'ID',title:'ID',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'stationCode',title:'货位编号',type:'string',width:110,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/system/dt_materielinfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wms/system/dt_materielinfo.js此处编写
 -->
<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/widesea_wms/system/dt_materielinfo.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'ID',
                footer: "Foots",
                cnName: '物料信息',
                name: 'system/dt_materielinfo',
                url: "/dt_materielinfo/",
                sortName: "ID"
            });
            const editFormFields = ref({"materiel_id":"","materiel_name":"","materiel_areaid":"","materiel_long":"","materiel_width":"","materiel_height":"","materiel_desc":""});
            const editFormOptions = ref([[{"title":"物料id","required":true,"field":"materiel_id","type":"text"}],
                              [{"title":"物料名称","required":true,"field":"materiel_name","type":"text"}],
                              [{"dataKey":"area_name","data":[],"title":"所属库区","required":true,"field":"materiel_areaid","type":"select"}],
                              [{"title":"物料长","field":"materiel_long","type":"decimal"}],
                              [{"title":"物料宽","field":"materiel_width","type":"decimal"}],
                              [{"title":"物料高","field":"materiel_height","type":"decimal"}],
                              [{"title":"物料信息描述","field":"materiel_desc"}]]);
            const searchFormFields = ref({"materiel_id":"","materiel_areaid":"","materiel_name":"","materiel_desc":""});
            const searchFormOptions = ref([[{"title":"物料名称","field":"materiel_name","type":"like"},{"dataKey":"area_name","data":[],"title":"所属库区","field":"materiel_areaid","type":"select"}],[{"title":"物料id","field":"materiel_id","type":"like"},{"title":"物料信息描述","field":"materiel_desc"}]]);
            const columns = ref([{field:'materiel_pkid',title:'主键',type:'guid',width:110,hidden:true,require:true,align:'left'},
                       {field:'materiel_id',title:'物料id',type:'string',width:120,require:true,align:'left',sort:true},
                       {field:'materiel_areaid',title:'所属库区',type:'int',bind:{ key:'area_name',data:[]},width:110,require:true,align:'left'},
                       {field:'materiel_name',title:'物料名称',type:'string',width:180,require:true,align:'left'},
                       {field:'materiel_desc',title:'物料信息描述',type:'string',width:180,align:'left'},
                       {field:'materiel_packspes',title:'包装规格',type:'string',width:110,align:'left'},
                       {field:'materiel_state',title:'当前状态',type:'string',width:110,align:'left'},
                       {field:'materiel_type',title:'物料类型',type:'string',width:110,align:'left'},
                       {field:'materiel_unit',title:'计量单位',type:'string',width:110,align:'left'},
                       {field:'materiel_minpack_qty',title:'最小包装',type:'decimal',width:110,align:'left'},
                       {field:'materiel_mfacturer',title:'生产商',type:'string',width:110,align:'left'},
                       {field:'materiel_supplier',title:'供应商',type:'string',width:110,align:'left'},
                       {field:'materiel_netweight',title:'净重',type:'decimal',width:110,align:'left'},
                       {field:'materiel_grossweight',title:'毛重',type:'decimal',width:110,align:'left'},
                       {field:'materiel_validity',title:'有效期',type:'int',width:110,align:'left'},
                       {field:'materiel_safety',title:'安全库存',type:'decimal',width:110,align:'left'},
                       {field:'materiel_creator',title:'创建者',type:'string',width:110,align:'left'},
                       {field:'materiel_createtime',title:'创建时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'materiel_remark',title:'备注',type:'string',width:120,align:'left'},
                       {field:'materiel_purchaseType',title:'采购类型',type:'string',width:110,align:'left'},
                       {field:'materiel_englishdesc',title:'英文描述',type:'string',width:180,align:'left'},
                       {field:'materiel_materielGroup',title:'物料组',type:'string',width:110,align:'left'},
                       {field:'materiel_productGroup',title:'产品组',type:'string',width:110,align:'left'},
                       {field:'materiel_size',title:'大小/量纲',type:'string',width:110,align:'left'},
                       {field:'materiel_mrpType',title:'MRP类型',type:'string',width:110,align:'left'},
                       {field:'materiel_traceabilityCode',title:'追溯标识',type:'string',width:110,align:'left'},
                       {field:'materiel_long',title:'物料长',type:'decimal',width:110,align:'left'},
                       {field:'materiel_width',title:'物料宽',type:'decimal',width:110,align:'left'},
                       {field:'materiel_height',title:'物料高',type:'decimal',width:110,align:'left'},
                       {field:'materiel_palletlong',title:'托盘长',type:'decimal',width:110,align:'left'},
                       {field:'materiel_palletwidth',title:'托盘宽',type:'decimal',width:110,align:'left'},
                       {field:'materiel_palletheight',title:'托盘高',type:'decimal',width:110,align:'left'},
                       {field:'materiel_location',title:'库存地点',type:'string',width:110,align:'left'},
                       {field:'ID',title:'ID',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue
@@ -24,28 +24,31 @@
            const table = ref({
                key: 'zj',
                footer: "Foots",
                cnName: '站点查询',
                cnName: '库位信息',
                name: 'system/dt_stationinfo',
                url: "/dt_stationinfo/",
                sortName: "zj"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const searchFormFields = ref({"stationCode":"","stationType":"","area":"","enable":"","location_state":[],"bindSN":""});
            const searchFormOptions = ref([[{"title":"缓存架编号","field":"stationCode","type":"like"},{"title":"车轮SN号","field":"bindSN","type":"like"},{"dataKey":"materielinfos","data":[],"title":"物料类型","field":"stationType","type":"select"}],[{"dataKey":"area_name","data":[],"title":"区域","field":"area","type":"select"},{"dataKey":"location_states","data":[],"title":"货位状态","field":"location_state","type":"selectList"},{"dataKey":"status","data":[],"title":"是否启用","field":"enable","type":"select"}]]);
            const columns = ref([{field:'id',title:'id',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'stationCode',title:'缓存架编号',type:'string',width:110,align:'left',sort:true},
                       {field:'stationType',title:'物料类型',type:'string',width:110,align:'left'},
                       {field:'area',title:'区域',type:'string',width:110,align:'left'},
                       {field:'enable',title:'是否启用',type:'bool',width:110,align:'left'},
                       {field:'location_state',title:'货位状态',type:'string',width:220,align:'left'},
                       {field:'stationType',title:'物料类型',type:'string',bind:{ key:'materielinfos',data:[]},width:110,align:'left'},
                       {field:'area',title:'区域',type:'string',bind:{ key:'area_name',data:[]},width:110,require:true,align:'left'},
                       {field:'enable',title:'是否启用',type:'bool',bind:{ key:'status',data:[]},width:110,require:true,align:'left'},
                       {field:'location_state',title:'货位状态',type:'string',bind:{ key:'location_states',data:[]},width:220,align:'left'},
                       {field:'lastUpdateTime',title:'最后状态改变时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'quantity',title:'车轮数量',type:'int',width:80,align:'left'},
                       {field:'bindSN',title:'车轮SN号',type:'string',width:220,align:'left'},
                       {field:'tray_status',title:'托盘状态',type:'string',bind:{ key:'tray_status',data:[]},width:110,align:'left'},
                       {field:'line',title:'行',type:'int',width:80,align:'left'},
                       {field:'column',title:'列',type:'int',width:80,align:'left'},
                       {field:'remark',title:'备注',type:'string',width:120,align:'left'},
                       {field:'getStatus',title:'winfrom更新的状态',type:'int',width:110,align:'left'},
                       {field:'getLastTime',title:'winfrom最后更新的时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'sort',title:'排序',type:'int',width:110,align:'left'},
                       {field:'bindType',title:'绑定可存放物料类型',type:'string',width:220,align:'left'},
                       {field:'zj',title:'主键',type:'int',width:80,require:true,align:'left'}]);
                       {field:'zj',title:'主键',type:'int',width:80,hidden:true,require:true,align:'left'},
                       {field:'Number',title:'工单编号',type:'string',width:220,align:'left'},
                       {field:'heatNumber',title:'炉号',type:'int',width:80,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/taskinfo/dt_agvtask_hty.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wms/taskinfo/dt_agvtask_hty.js此处编写
 -->
<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/widesea_wms/taskinfo/dt_agvtask_hty.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'agv_qty',
                footer: "Foots",
                cnName: 'AGV历史任务',
                name: 'taskinfo/dt_agvtask_hty',
                url: "/dt_agvtask_hty/",
                sortName: "agv_qty"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({"agv_tasknum":"","agv_materielid":"","agv_createtime":"","agv_taskstate":"","agv_fromaddress":"","agv_toaddress":"","agv_operatetype":"","agv_barcode":"","agv_materbarcode":""});
            const searchFormOptions = ref([[{"title":"任务编号","field":"agv_tasknum","type":"like"},{"title":"物料类型","field":"agv_materielid","type":"like"},{"dataKey":"Taskstates","data":[],"title":"任务状态","field":"agv_taskstate","type":"select"}],[{"title":"起点地址","field":"agv_fromaddress","type":"like"},{"title":"终点地址","field":"agv_toaddress","type":"like"},{"dataKey":"Taskstates","data":[],"title":"操作类型","field":"agv_operatetype","type":"select"}],[{"title":"托盘码","field":"agv_barcode","type":"like"},{"title":"物料码","field":"agv_materbarcode","type":"like"},{"title":"创建时间","field":"agv_createtime","type":"datetime"}]]);
            const columns = ref([{field:'hty_pkid',title:'历史任务ID',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'agv_id',title:'任务ID',type:'guid',width:110,hidden:true,require:true,align:'left'},
                       {field:'agv_tasknum',title:'任务编号',type:'string',sort:true,width:110,require:true,align:'left',sort:true},
                       {field:'agv_materielid',title:'物料类型',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_qty',title:'数量',type:'int',width:110,require:true,align:'left'},
                       {field:'agv_createtime',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'agv_realesstime',title:'执行时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'agv_finishedtime',title:'完成时间',type:'datetime',width:150,align:'left',sort:true},
                       {field:'agv_taskstate',title:'任务状态',type:'string',bind:{ key:'Taskstates',data:[]},width:110,require:true,align:'left'},
                       {field:'agv_tasktype',title:'任务类型',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_fromaddress',title:'起点地址',type:'string',width:110,align:'left'},
                       {field:'agv_toaddress',title:'终点地址',type:'string',width:110,align:'left'},
                       {field:'agv_operatetype',title:'操作类型',type:'string',bind:{ key:'Taskstates',data:[]},width:110,require:true,align:'left'},
                       {field:'agv_compeletor',title:'操作者',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_completedate',title:'操作时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'agv_grade',title:'任务等级',type:'int',width:110,align:'left'},
                       {field:'agv_userid',title:'创建者',type:'string',width:110,align:'left'},
                       {field:'agv_barcode',title:'托盘码',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_code',title:'AGV编号',type:'string',width:110,require:true,align:'left'},
                       {field:'agv_worktype',title:'AGV工作类型',type:'int',width:110,require:true,align:'left'},
                       {field:'agv_materbarcode',title:'物料码',type:'string',width:110,align:'left'},
                       {field:'agv_executingBeginTime',title:'起始点执行中',type:'datetime',width:150,align:'left',sort:true},
                       {field:'agv_executingEndTime',title:'起始点完成',type:'datetime',width:150,align:'left',sort:true},
                       {field:'agv_completeBeginTime',title:'目的点执行中',type:'datetime',width:150,align:'left',sort:true},
                       {field:'agv_remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'bindSN',title:'车轮SN号',type:'string',width:220,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/EquipmentEnum/EquipmentState.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WIDESEA_Common
{
    /// <summary>
    /// è®¾å¤‡çŠ¶æ€
    /// </summary>
    public enum EquipmentState
    {
        /// <summary>
        /// å¯ç”¨
        /// </summary>
        Enable,
        /// <summary>
        /// ç¦ç”¨
        /// </summary>
        Disenable
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/EquipmentEnum/StationEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WIDESEA_Common.EquipmentEnum
{
    public enum StationEnum
    {
        /// <summary>
        /// æœªè¿žæŽ¥
        /// </summary>
        Disconnect = -1,
        /// <summary>
        /// æ— æ–™
        /// </summary>
        Empty,
        /// <summary>
        /// æœ‰æ–™
        /// </summary>
        Stroge,
        /// <summary>
        /// å…è®¸
        /// </summary>
        Allow,
        /// <summary>
        /// ä¸å…è®¸
        /// </summary>
        NotAllow
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/LogInfo/WriteWMSLog.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Services.IRepositories;
using WIDESEA_Services.Repositories;
namespace WIDESEA_Comm.LogInfo
{
    public class WriteWMSLog
    {
        /// <summary>
        /// æŽ¥å£æ•°æ®è®°å½•
        /// </summary>
        /// <param name="id">任务ID</param>
        /// <param name="code">成功/失败</param>
        /// <param name="provide">接受者</param>
        /// <param name="call">请求者</param>
        /// <param name="paradata">请求数据</param>
        /// <param name="returndata">返回数据</param>
        /// <param name="remark">备注/描述</param>
        /// <param name="name">操作名称(方法名)</param>
        /// <param name="message">错误信息</param>
        public static void LogAdd(string id, string code, string provide, string call, string paradata, string returndata, string remark, string name, string message)
        {
            VOLContext context = new VOLContext();
            IDt_InterfacerecordRepository interfacerecordRepository = new Dt_InterfacerecordRepository(context);
            Dt_Interfacerecord interfacerecord = new Dt_Interfacerecord()
            {
                interface_id = Guid.NewGuid(),
                interface_type = code,
                interface_provide = provide,
                interface_call = call,
                interface_paradata = paradata,
                interface_returndata = returndata,
                interface_createtime = DateTime.Now,
                interface_remark = remark,
                interface_operator = "admin",//UserContext.Current.UserName == null ? "admin" : UserContext.Current.UserName,
                interface_name = name,
                interface_message = message,
            };
            Dt_Interfacerecord data = null;
            if (interfacerecord.interface_message != "")
                data = interfacerecordRepository.FindFirst(x => x.interface_message == interfacerecord.interface_message && x.interface_remark == interfacerecord.interface_remark && x.interface_createtime.Day == DateTime.Now.Day && x.interface_paradata.Contains(id));
            if (data == null)
                interfacerecordRepository.Add(interfacerecord, true);
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/OperateTypesEnum/OperateTypes.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Comm
{
    public enum OperateTypes
    {
        /// <summary>
        /// è‡ªåŠ¨å®Œæˆ
        /// </summary>
        Complete,
        /// <summary>
        /// æ‰‹åŠ¨å–æ¶ˆ
        /// </summary>
        ManualCancellation,
        /// <summary>
        /// æ‰‹åŠ¨å®Œæˆ
        /// </summary>
        ManualCompletion,
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Comm
{
    public enum LocationStateEnum
    {
        /// <summary>
        /// æœ‰è´§
        /// </summary>
        Stroge,
        /// <summary>
        /// ç©ºè´§ä½
        /// </summary>
        Empty
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVJobEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WIDESEA_Common
{
    public enum AGVJobEnum
    {
        /// <summary>
        /// æ–°ä»»åŠ¡
        /// </summary>
        newTaskEnum = 1,
        /// <summary>
        /// å–消任务
        /// </summary>
        cancelTaskEnum = 2,
        /// <summary>
        /// å˜æ›´ä»»åŠ¡
        /// </summary>
        changeTaskEnum = 3,
        /// <summary>
        /// ä¸‹å‘任务异常
        /// </summary>
        newTaskExp = 11,
        /// <summary>
        /// å–消任务异常
        /// </summary>
        cancelTaskExp = 12,
        /// <summary>
        /// å˜æ›´ä»»åС异叏
        /// </summary>
        changeTaskExp = 13,
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskStateEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WIDESEA_Common
{
    public enum AGVTaskStateEnum
    {
        /// <summary>
        /// å·²ä¸‹å‘待回复
        /// </summary>
        Wait,
        /// <summary>
        /// èµ·ç‚¹æ‰§è¡Œä¸­
        /// </summary>
        Executing = 1,
        /// <summary>
        /// èµ·ç‚¹å·²å®Œæˆ
        /// </summary>
        Complete = 2,
        /// <summary>
        /// ç»ˆç‚¹æ‰§è¡Œä¸­
        /// </summary>
        Executing1 = 3,
        /// <summary>
        /// ç»ˆç‚¹å·²å®Œæˆ
        /// </summary>
        Complete1 = 4,
        /// <summary>
        /// å·²ä¸‹å‘
        /// </summary>
        SendOut,
        /// <summary>
        /// å·²åˆ›å»ºæœªæ‰§è¡Œ
        /// </summary>
        Create,
        /// <summary>
        /// å¼‚常
        /// </summary>
        Abnormal,
        /// <summary>
        /// ç¼–辑中
        /// </summary>
        Editing,
        /// <summary>
        /// æ›´æ”¹ä»»åŠ¡ç­‰çº§å¼‚å¸¸ï¼ˆRCS收到的现有任务更改指令无法执行)
        /// </summary>
        EditAbnormal,
        /// <summary>
        /// æ‰§è¡Œå¼‚常(RCS已收到新下发的任务但无法执行)
        /// </summary>
        ExecutAbnormal,
        /// <summary>
        /// å–消
        /// </summary>
        Cancel,
        /// <summary>
        /// å¾…取消
        /// </summary>
        WaitCancel,
        /// <summary>
        /// å–消异常(RCS收到的现有任务取消指令无法执行)
        /// </summary>
        CancelAbnormal,
        /// <summary>
        /// å–消待回复
        /// </summary>
        WaitReply,
        /// <summary>
        /// é˜Ÿåˆ—中
        /// </summary>
        Queue,
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace WIDESEA_Common
{
    public enum AGVTaskTypeEnum
    {
        /// <summary>
        /// é€æ»¡æ–™æž¶
        /// </summary>
        SendFull = 1,
        /// <summary>
        /// å–空料架
        /// </summary>
        TakeEmpty = 2,
        /// <summary>
        /// ç»„盘入库
        /// </summary>
        [Description("组盘入库")]
        TaskType_Inbound = 3,
        /// <summary>
        /// æ¬è¿
        /// </summary>
        [Description("搬运")]
        TaskType_Outbound = 4,
        /// <summary>
        /// è°ƒæ‹¨å…¥åº“
        /// </summary>
        [Description("调拨入库")]
        TaskType_AllotInbound = 5,
        /// <summary>
        /// è°ƒæ‹¨å‡ºåº“
        /// </summary>
        [Description("调拨出库")]
        TaskType_AllotOutbound = 6,
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/TaskNo/IdenxManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
using FreeSql;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.FreeDB;
namespace WIDESEA_Comm.TaskNo
{
    public class IdenxManager
    {
        static FreeDB freeDB = new FreeDB();
        private static object lock_obj = new object();
        /// <summary>
        /// èŽ·å–ä»»åŠ¡ç¼–å·
        /// </summary>
        /// <param name="first">标记头地址</param>
        /// <param name="numType">编号类型</param>
        /// <returns></returns>
        public static string GetTaskNo(string first = "", string numType = "WMS")
        {
            lock (lock_obj)
            {
                var taskno = freeDB.DataBase.Ado.QuerySingle<int>("select taskno from dt_task_num where numtype=@numtype", new { numType });
                //堆垛机任务号处理
                if (numType == "WMS")
                {
                    //限制最小和最大值
                    if (taskno < 1000 || taskno >= 100000)
                    {
                        taskno = 1000;
                    }
                    else
                    {
                        taskno++;
                    }
                }
                freeDB.DataBase.Ado.ExecuteNonQuery("update dt_task_num set taskno=@taskno where numtype=@numtype", new { numType, taskno });
                return first + taskno;
            }
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Comm/WIDESEA_Comm.csproj
@@ -12,6 +12,7 @@
  <ItemGroup>
    <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" />
    <ProjectReference Include="..\WIDESEA_System\WIDESEA_System.csproj" />
  </ItemGroup>
</Project>
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Core/Infrastructure/DictionaryHandler.cs
@@ -24,19 +24,36 @@
            switch (dicNo)
            {
                case "roles":
                    originalSql = GetRolesSql(originalSql);
                    break;
                //2020.05.24增加绑定table表时,获取所有的角色列表
                //注意,如果是2020.05.24之前获取的数据库脚本
                //请在菜单【下拉框绑定设置】添加一个字典编号【t_roles】,除了字典编号,其他内容随便填写
                case "t_roles":
                    originalSql = GetRolesSql();
                    break;
                case "tree_roles":
                    originalSql = GetRolesSql(originalSql);
                    break;
                default:
                    break;
            }
            return originalSql;
        }
        /// <summary>
        /// 2020.05.24增加绑定table表时,获取所有的角色列表
        /// </summary>
        /// <param name="context"></param>
        /// <param name="originalSql"></param>
        /// <returns></returns>
        public static string GetRolesSql()
        {
            if (DBType.Name == DbCurrentType.PgSql.ToString())
            {
                return "SELECT \"Role_Id\" as key,\"RoleName\" as value from Sys_Role";
            }
            return $@"SELECT Role_Id as 'key',RoleName as 'value' FROM Sys_Role
                           WHERE Enable=1 ";
        }
        /// <summary>
        /// èŽ·å–è§£å†³çš„æ•°æ®æºï¼Œåªèƒ½çœ‹åˆ°è‡ªå·±ä¸Žä¸‹çº§æ‰€æœ‰è§’è‰²
        /// </summary>
@@ -45,7 +62,7 @@
        /// <returns></returns>
        public static string GetRolesSql(string originalSql)
        {
            if (UserContext.Current.IsSuperAdmin)
            {
                return originalSql;
@@ -54,15 +71,17 @@
            int currnetRoleId = UserContext.Current.RoleId;
            List<int> roleIds = RoleContext.GetAllChildrenIds(currnetRoleId);
            roleIds.Add(currnetRoleId);
            if (DBType.Name == DbCurrentType.PgSql.ToString())
            {
                originalSql = $"SELECT \"Role_Id\" as key,\"Role_Id\" as id,\"RoleName\" as value,\"ParentId\" AS parentId from Sys_Role"
                   +$" where \"Role_Id\"  in ({string.Join(',', roleIds)})";
            }
            else {
                originalSql= $@"SELECT Role_Id as 'key',Role_Id AS id,ParentId AS parentId,RoleName as 'value' FROM Sys_Role
                      WHERE Enable=1  and Role_Id in ({string.Join(',', roleIds)})";
            }
            //if (DBType.Name == DbCurrentType.PgSql.ToString())
            //{
            //    originalSql = $"SELECT \"Role_Id\" as key,\"Role_Id\" as id,\"RoleName\" as value,\"ParentId\" AS parentId from Sys_Role"
            //       +$" where \"Role_Id\"  in ({string.Join(',', roleIds)})";
            //}
            //else {
            //    originalSql= $@"SELECT Role_Id as 'key',Role_Id AS id,ParentId AS parentId,RoleName as 'value' FROM Sys_Role
            //          WHERE Enable=1  and Role_Id in ({string.Join(',', roleIds)})";
            //}
            originalSql = $@"SELECT Role_Id as 'key',RoleName as 'value' FROM Sys_Role
                           WHERE Enable=1  and Role_Id in ({string.Join(',', roleIds)})";
            return originalSql;
        }
    }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Boxing/dt_boxing.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "组盘信息",TableName = "dt_boxing")]
    public partial class dt_boxing:BaseEntity
    {
        /// <summary>
       ///ID
       /// </summary>
       [Key]
       [Display(Name ="ID")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public int ID { get; set; }
       /// <summary>
       ///组盘者
       /// </summary>
       [Display(Name ="组盘者")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string boxhead_creator { get; set; }
       /// <summary>
       ///组盘时间
       /// </summary>
       [Display(Name ="组盘时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public DateTime boxhead_createtime { get; set; }
       /// <summary>
       ///组盘状态
       /// </summary>
       [Display(Name ="组盘状态")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string boxdtl_state { get; set; }
       /// <summary>
       ///组盘地址
       /// </summary>
       [Display(Name ="组盘地址")]
       [MaxLength(80)]
       [Column(TypeName="nvarchar(80)")]
       [Required(AllowEmptyStrings=false)]
       public string boxhead_address { get; set; }
       /// <summary>
       ///SN号
       /// </summary>
       [Display(Name ="SN号")]
       [MaxLength(80)]
       [Column(TypeName="nvarchar(80)")]
       [Required(AllowEmptyStrings=false)]
       public string boxhead_wheelSN { get; set; }
       /// <summary>
       ///类型
       /// </summary>
       [Display(Name ="类型")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       public string boxhead_wheeltype { get; set; }
       /// <summary>
       ///名称
       /// </summary>
       [Display(Name ="名称")]
       [Column(TypeName="uniqueidentifier")]
       public Guid? boxdtl_name { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Boxing/dt_boxing_hty.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "组盘历史信息",TableName = "dt_boxing_hty")]
    public partial class dt_boxing_hty:BaseEntity
    {
        /// <summary>
       ///ID
       /// </summary>
       [Key]
       [Display(Name ="ID")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public int ID { get; set; }
       /// <summary>
       ///组盘者
       /// </summary>
       [Display(Name ="组盘者")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string boxhead_creator { get; set; }
       /// <summary>
       ///组盘时间
       /// </summary>
       [Display(Name ="组盘时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public DateTime boxhead_createtime { get; set; }
       /// <summary>
       ///组盘状态
       /// </summary>
       [Display(Name ="组盘状态")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string boxdtl_state { get; set; }
       /// <summary>
       ///组盘完成时间
       /// </summary>
       [Display(Name ="组盘完成时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? boxhead_lastdatetime { get; set; }
       /// <summary>
       ///组盘地址
       /// </summary>
       [Display(Name ="组盘地址")]
       [MaxLength(80)]
       [Column(TypeName="nvarchar(80)")]
       [Required(AllowEmptyStrings=false)]
       public string boxhead_address { get; set; }
       /// <summary>
       ///SN号
       /// </summary>
       [Display(Name ="SN号")]
       [MaxLength(80)]
       [Column(TypeName="nvarchar(80)")]
       [Required(AllowEmptyStrings=false)]
       public string boxhead_wheelSN { get; set; }
       /// <summary>
       ///类型
       /// </summary>
       [Display(Name ="类型")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       public string boxhead_wheeltype { get; set; }
       /// <summary>
       ///名称
       /// </summary>
       [Display(Name ="名称")]
       [Column(TypeName="uniqueidentifier")]
       public Guid? boxdtl_name { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Boxing/partial/dt_boxing.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_boxing
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Boxing/partial/dt_boxing_hty.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_boxing_hty
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Mes/CBJPDA.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WIDESEA_Entity.DomainModels.Mes
{
    public class PADRequest
    {
        /// <summary>
        /// è¾Šé“线编号
        /// </summary>
        public string code { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç±»åž‹
        /// </summary>
        public string palletCode { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Mes/HCJManage.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WIDESEA_Entity.DomainModels.Mes
{
    public class HCJManage
    {
        /// <summary>
        /// ç¼“存架编号
        /// </summary>
        public string code { get; set; }
        /// <summary>
        /// è¯·æ±‚类型 in入料,out出料
        /// </summary>
        public string requestType { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Mes/MesRequest.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WIDESEA_Entity.DomainModels.Mes
{
    public class MesRequest
    {
        /// <summary>
        /// Mes对应的设备编号
        /// </summary>
        public string EqMesCode { get; set; }
        /// <summary>
        /// ä¸Šæ–™ã€in】下料【out】
        /// </summary>
        public string RequestType { get; set; }
    }
    public class MesRequestTemp
    {
        /// <summary>
        /// ç‰©æ–™ç±»åž‹ é“ç®”、铜箔
        /// </summary>
        public string Type { get; set; }
        /// <summary>
        /// æå‡æœºåŒºåŸŸ æ­£æžã€è´Ÿæž
        /// </summary>
        public string TiArea { get; set; }
        /// <summary>
        /// èµ·å§‹åœ°å€
        /// </summary>
        public string from_address { get; set; }
        /// <summary>
        /// ç›®çš„地址
        /// </summary>
        public string to_address { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/Dt_Interfacerecord.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "接口数据记录表", TableName = "Dt_Interfacerecord")]
    public class Dt_Interfacerecord : BaseEntity
    {
        /// <summary>
        ///主键
        /// </summary>
        [Key]
        [Display(Name = "主键")]
        [Column(TypeName = "uniqueidentifier")]
        [Required(AllowEmptyStrings = false)]
        public Guid interface_id { get; set; }
        /// <summary>
        ///成功:失败
        /// </summary>
        [Display(Name = "成功:失败")]
        [MaxLength(40)]
        [Column(TypeName = "nvarchar(40)")]
        [Required(AllowEmptyStrings = false)]
        public string interface_type { get; set; }
        /// <summary>
        ///接受者
        /// </summary>
        [Display(Name = "接受者")]
        [MaxLength(40)]
        [Column(TypeName = "nvarchar(40)")]
        [Required(AllowEmptyStrings = false)]
        public string interface_provide { get; set; }
        /// <summary>
        ///请求者
        /// </summary>
        [Display(Name = "请求者")]
        [MaxLength(40)]
        [Column(TypeName = "nvarchar(40)")]
        [Required(AllowEmptyStrings = false)]
        public string interface_call { get; set; }
        /// <summary>
        ///请求数据
        /// </summary>
        [Display(Name = "请求数据")]
        [Column(TypeName = "nvarchar(max)")]
        public string interface_paradata { get; set; }
        /// <summary>
        ///返回数据
        /// </summary>
        [Display(Name = "返回数据")]
        [Column(TypeName = "nvarchar(max)")]
        public string interface_returndata { get; set; }
        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Required(AllowEmptyStrings = false)]
        public DateTime interface_createtime { get; set; }
        /// <summary>
        ///描述
        /// </summary>
        [Display(Name = "描述")]
        [MaxLength(200)]
        [Column(TypeName = "nvarchar(200)")]
        public string interface_remark { get; set; }
        /// <summary>
        ///操作者
        /// </summary>
        [Display(Name = "操作者")]
        [MaxLength(100)]
        [Column(TypeName = "nvarchar(100)")]
        [Required(AllowEmptyStrings = false)]
        public string interface_operator { get; set; }
        /// <summary>
        ///操作名称
        /// </summary>
        [Display(Name = "操作名称")]
        [MaxLength(100)]
        [Column(TypeName = "nvarchar(100)")]
        [Required(AllowEmptyStrings = false)]
        public string interface_name { get; set; }
        /// <summary>
        ///错误信息
        /// </summary>
        [Display(Name = "错误信息")]
        [Column(TypeName = "nvarchar(max)")]
        public string interface_message { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_areainfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,108 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "库区信息",TableName = "dt_areainfo")]
    public partial class dt_areainfo:BaseEntity
    {
        /// <summary>
       ///库区ID
       /// </summary>
       [Key]
       [Display(Name ="库区ID")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public int area_code { get; set; }
       /// <summary>
       ///名称
       /// </summary>
       [Display(Name ="名称")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string area_name { get; set; }
       /// <summary>
       ///描述
       /// </summary>
       [Display(Name ="描述")]
       [MaxLength(250)]
       [Column(TypeName="nvarchar(250)")]
       [Editable(true)]
       public string area_des { get; set; }
       /// <summary>
       ///创建者
       /// </summary>
       [Display(Name ="创建者")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string area_creator { get; set; }
       /// <summary>
       ///创建时间
       /// </summary>
       [Display(Name ="创建时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public DateTime area_datetime { get; set; }
       /// <summary>
       ///绑定类型
       /// </summary>
       [Display(Name ="绑定类型")]
       [MaxLength(100)]
       [Column(TypeName="nvarchar(100)")]
       [Required(AllowEmptyStrings=false)]
       public string area_bindType { get; set; }
       /// <summary>
       ///最大数量
       /// </summary>
       [Display(Name ="最大数量")]
       [Column(TypeName="int")]
       public int? area_max { get; set; }
       /// <summary>
       ///最小数量
       /// </summary>
       [Display(Name ="最小数量")]
       [Column(TypeName="int")]
       public int? area_minimum { get; set; }
       /// <summary>
       ///备用区1
       /// </summary>
       [Display(Name ="备用区1")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       public string area_spare1 { get; set; }
       /// <summary>
       ///备用区2
       /// </summary>
       [Display(Name ="备用区2")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       public string area_spare2 { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,117 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "库存查询",TableName = "dt_inventory")]
    public partial class dt_inventory:BaseEntity
    {
        /// <summary>
       ///车轮SN号
       /// </summary>
       [Display(Name ="车轮SN号")]
       [MaxLength(255)]
       [Column(TypeName="nvarchar(255)")]
       [Editable(true)]
       public string SN { get; set; }
       /// <summary>
       ///产品名称
       /// </summary>
       [Display(Name ="产品名称")]
       [MaxLength(255)]
       [Column(TypeName="nvarchar(255)")]
       [Editable(true)]
       public string Name { get; set; }
       /// <summary>
       ///产品图号
       /// </summary>
       [Display(Name ="产品图号")]
       [MaxLength(255)]
       [Column(TypeName="nvarchar(255)")]
       [Editable(true)]
       public string FigureNumber { get; set; }
       /// <summary>
       ///熔炼炉号
       /// </summary>
       [Display(Name ="熔炼炉号")]
       [MaxLength(255)]
       [Column(TypeName="varchar(255)")]
       [Editable(true)]
       public string HearthNumber { get; set; }
       /// <summary>
       ///炉代号
       /// </summary>
       [Display(Name ="炉代号")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string HeatNumber { get; set; }
       /// <summary>
       ///钢坯号
       /// </summary>
       [Display(Name ="钢坯号")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? BilletNumber { get; set; }
       /// <summary>
       ///入库时间
       /// </summary>
       [Display(Name ="入库时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? OnlineTime { get; set; }
       /// <summary>
       ///操作人员
       /// </summary>
       [Display(Name ="操作人员")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string Operator { get; set; }
       /// <summary>
       ///描述
       /// </summary>
       [Display(Name ="描述")]
       [Column(TypeName="nvarchar(max)")]
       [Editable(true)]
       public string remark { get; set; }
       /// <summary>
       ///ID
       /// </summary>
       [Key]
       [Display(Name ="ID")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public int ID { get; set; }
       /// <summary>
       ///货位编号
       /// </summary>
       [Display(Name ="货位编号")]
       [MaxLength(30)]
       [Column(TypeName="nvarchar(30)")]
       public string stationCode { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_materielinfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,328 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "物料信息",TableName = "dt_materielinfo")]
    public partial class dt_materielinfo:BaseEntity
    {
        /// <summary>
       ///主键
       /// </summary>
       [Display(Name ="主键")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public Guid materiel_pkid { get; set; }
       /// <summary>
       ///物料id
       /// </summary>
       [Display(Name ="物料id")]
       [MaxLength(100)]
       [Column(TypeName="nvarchar(100)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string materiel_id { get; set; }
       /// <summary>
       ///所属库区
       /// </summary>
       [Display(Name ="所属库区")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public int materiel_areaid { get; set; }
       /// <summary>
       ///物料名称
       /// </summary>
       [Display(Name ="物料名称")]
       [MaxLength(200)]
       [Column(TypeName="nvarchar(200)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string materiel_name { get; set; }
       /// <summary>
       ///物料信息描述
       /// </summary>
       [Display(Name ="物料信息描述")]
       [MaxLength(200)]
       [Column(TypeName="nvarchar(200)")]
       [Editable(true)]
       public string materiel_desc { get; set; }
       /// <summary>
       ///包装规格
       /// </summary>
       [Display(Name ="包装规格")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_packspes { get; set; }
       /// <summary>
       ///当前状态
       /// </summary>
       [Display(Name ="当前状态")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_state { get; set; }
       /// <summary>
       ///物料类型
       /// </summary>
       [Display(Name ="物料类型")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_type { get; set; }
       /// <summary>
       ///计量单位
       /// </summary>
       [Display(Name ="计量单位")]
       [MaxLength(10)]
       [Column(TypeName="nvarchar(10)")]
       [Editable(true)]
       public string materiel_unit { get; set; }
       /// <summary>
       ///最小包装
       /// </summary>
       [Display(Name ="最小包装")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_minpack_qty { get; set; }
       /// <summary>
       ///生产商
       /// </summary>
       [Display(Name ="生产商")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       [Editable(true)]
       public string materiel_mfacturer { get; set; }
       /// <summary>
       ///供应商
       /// </summary>
       [Display(Name ="供应商")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       [Editable(true)]
       public string materiel_supplier { get; set; }
       /// <summary>
       ///净重
       /// </summary>
       [Display(Name ="净重")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_netweight { get; set; }
       /// <summary>
       ///毛重
       /// </summary>
       [Display(Name ="毛重")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_grossweight { get; set; }
       /// <summary>
       ///有效期
       /// </summary>
       [Display(Name ="有效期")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? materiel_validity { get; set; }
       /// <summary>
       ///安全库存
       /// </summary>
       [Display(Name ="安全库存")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_safety { get; set; }
       /// <summary>
       ///创建者
       /// </summary>
       [Display(Name ="创建者")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_creator { get; set; }
       /// <summary>
       ///创建时间
       /// </summary>
       [Display(Name ="创建时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? materiel_createtime { get; set; }
       /// <summary>
       ///备注
       /// </summary>
       [Display(Name ="备注")]
       [MaxLength(100)]
       [Column(TypeName="nvarchar(100)")]
       [Editable(true)]
       public string materiel_remark { get; set; }
       /// <summary>
       ///采购类型
       /// </summary>
       [Display(Name ="采购类型")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_purchaseType { get; set; }
       /// <summary>
       ///英文描述
       /// </summary>
       [Display(Name ="英文描述")]
       [MaxLength(200)]
       [Column(TypeName="nvarchar(200)")]
       [Editable(true)]
       public string materiel_englishdesc { get; set; }
       /// <summary>
       ///物料组
       /// </summary>
       [Display(Name ="物料组")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string materiel_materielGroup { get; set; }
       /// <summary>
       ///产品组
       /// </summary>
       [Display(Name ="产品组")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string materiel_productGroup { get; set; }
       /// <summary>
       ///大小/量纲
       /// </summary>
       [Display(Name ="大小/量纲")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_size { get; set; }
       /// <summary>
       ///MRP类型
       /// </summary>
       [Display(Name ="MRP类型")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_mrpType { get; set; }
       /// <summary>
       ///追溯标识
       /// </summary>
       [Display(Name ="追溯标识")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string materiel_traceabilityCode { get; set; }
       /// <summary>
       ///物料长
       /// </summary>
       [Display(Name ="物料长")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_long { get; set; }
       /// <summary>
       ///物料宽
       /// </summary>
       [Display(Name ="物料宽")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_width { get; set; }
       /// <summary>
       ///物料高
       /// </summary>
       [Display(Name ="物料高")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_height { get; set; }
       /// <summary>
       ///托盘长
       /// </summary>
       [Display(Name ="托盘长")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_palletlong { get; set; }
       /// <summary>
       ///托盘宽
       /// </summary>
       [Display(Name ="托盘宽")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_palletwidth { get; set; }
       /// <summary>
       ///托盘高
       /// </summary>
       [Display(Name ="托盘高")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_palletheight { get; set; }
       /// <summary>
       ///库存地点
       /// </summary>
       [Display(Name ="库存地点")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_location { get; set; }
       /// <summary>
       ///
       /// </summary>
       [Key]
       [Display(Name ="ID")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public int ID { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs
@@ -13,7 +13,7 @@
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "站点查询",TableName = "dt_stationinfo")]
    [Entity(TableCnName = "库位信息",TableName = "dt_stationinfo")]
    public partial class dt_stationinfo:BaseEntity
    {
        /// <summary>
@@ -50,6 +50,7 @@
       [MaxLength(15)]
       [Column(TypeName="nvarchar(15)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string area { get; set; }
       /// <summary>
@@ -58,7 +59,8 @@
       [Display(Name ="是否启用")]
       [Column(TypeName="bit")]
       [Editable(true)]
       public bool? enable { get; set; }
       [Required(AllowEmptyStrings=false)]
       public bool enable { get; set; }
       /// <summary>
       ///货位状态
@@ -78,6 +80,43 @@
       public DateTime? lastUpdateTime { get; set; }
       /// <summary>
       ///车轮数量
       /// </summary>
       [Display(Name ="车轮数量")]
       [Column(TypeName="int")]
       public int? quantity { get; set; }
       /// <summary>
       ///车轮SN号
       /// </summary>
       [Display(Name ="车轮SN号")]
       [MaxLength(500)]
       [Column(TypeName="nvarchar(500)")]
       public string bindSN { get; set; }
       /// <summary>
       ///托盘状态
       /// </summary>
       [Display(Name ="托盘状态")]
       [MaxLength(100)]
       [Column(TypeName="nvarchar(100)")]
       public string tray_status { get; set; }
       /// <summary>
       ///行
       /// </summary>
       [Display(Name ="行")]
       [Column(TypeName="int")]
       public int? line { get; set; }
       /// <summary>
       ///列
       /// </summary>
       [Display(Name ="列")]
       [Column(TypeName="int")]
       public int? column { get; set; }
       /// <summary>
       ///备注
       /// </summary>
       [Display(Name ="备注")]
@@ -87,39 +126,6 @@
       public string remark { get; set; }
       /// <summary>
       ///winfrom更新的状态
       /// </summary>
       [Display(Name ="winfrom更新的状态")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? getStatus { get; set; }
       /// <summary>
       ///winfrom最后更新的时间
       /// </summary>
       [Display(Name ="winfrom最后更新的时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? getLastTime { get; set; }
       /// <summary>
       ///排序
       /// </summary>
       [Display(Name ="排序")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? sort { get; set; }
       /// <summary>
       ///绑定可存放物料类型
       /// </summary>
       [Display(Name ="绑定可存放物料类型")]
       [MaxLength(500)]
       [Column(TypeName="nvarchar(500)")]
       [Editable(true)]
       public string bindType { get; set; }
       /// <summary>
       ///主键
       /// </summary>
       [Key]
@@ -128,6 +134,21 @@
       [Required(AllowEmptyStrings=false)]
       public int zj { get; set; }
       /// <summary>
       ///工单编号
       /// </summary>
       [Display(Name ="工单编号")]
       [MaxLength(255)]
       [Column(TypeName="nvarchar(255)")]
       public string Number { get; set; }
       /// <summary>
       ///炉号
       /// </summary>
       [Display(Name ="炉号")]
       [Column(TypeName="int")]
       public int? heatNumber { get; set; }
       
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_areainfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_areainfo
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_inventory.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_inventory
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_materielinfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_materielinfo
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs
@@ -13,215 +13,213 @@
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "AGV任务",TableName = "dt_agvtask")]
    public partial class dt_agvtask:BaseEntity
    [Entity(TableCnName = "AGV任务", TableName = "dt_agvtask")]
    public partial class dt_agvtask : BaseEntity
    {
        /// <summary>
       ///任务Id
       /// </summary>
       [Display(Name ="任务Id")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public Guid agv_id { get; set; }
        ///任务Id
        /// </summary>
        [Key]
        [Display(Name = "任务Id")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid agv_id { get; set; }
       /// <summary>
       ///任务编号
       /// </summary>
       [Display(Name ="任务编号")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_tasknum { get; set; }
        /// <summary>
        ///任务编号
        /// </summary>
        [Display(Name = "任务编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasknum { get; set; }
       /// <summary>
       ///起点地址
       /// </summary>
       [Display(Name ="起点地址")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string agv_fromaddress { get; set; }
        /// <summary>
        ///起点地址
        /// </summary>
        [Display(Name = "起点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_fromaddress { get; set; }
       /// <summary>
       ///终点地址
       /// </summary>
       [Display(Name ="终点地址")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string agv_toaddress { get; set; }
        /// <summary>
        ///终点地址
        /// </summary>
        [Display(Name = "终点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_toaddress { get; set; }
       /// <summary>
       ///AGV编号
       /// </summary>
       [Display(Name ="AGV编号")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_code { get; set; }
        /// <summary>
        ///AGV编号
        /// </summary>
        [Display(Name = "AGV编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_code { get; set; }
       /// <summary>
       ///任务状态
       /// </summary>
       [Display(Name ="任务状态")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_taskstate { get; set; }
        /// <summary>
        ///任务状态
        /// </summary>
        [Display(Name = "任务状态")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_taskstate { get; set; }
       /// <summary>
       ///AGV工作类型
       /// </summary>
       [Display(Name ="AGV工作类型")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? agv_worktype { get; set; }
        /// <summary>
        ///AGV工作类型
        /// </summary>
        [Display(Name = "AGV工作类型")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? agv_worktype { get; set; }
       /// <summary>
       ///物料类型
       /// </summary>
       [Display(Name ="物料类型")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_materielid { get; set; }
        /// <summary>
        ///物料类型
        /// </summary>
        [Display(Name = "物料类型")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_materielid { get; set; }
       /// <summary>
       ///数量
       /// </summary>
       [Display(Name ="数量")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public decimal agv_qty { get; set; }
        /// <summary>
        ///数量
        /// </summary>
        [Display(Name = "数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int? agv_qty { get; set; }
       /// <summary>
       ///创建时间
       /// </summary>
       [Display(Name ="创建时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public DateTime agv_createtime { get; set; }
        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime agv_createtime { get; set; }
       /// <summary>
       ///执行时间
       /// </summary>
       [Display(Name ="执行时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_realesstime { get; set; }
        /// <summary>
        ///执行时间
        /// </summary>
        [Display(Name = "执行时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_realesstime { get; set; }
       /// <summary>
       ///完成时间
       /// </summary>
       [Display(Name ="完成时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_finishedtime { get; set; }
        /// <summary>
        ///完成时间
        /// </summary>
        [Display(Name = "完成时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_finishedtime { get; set; }
       /// <summary>
       ///任务类型
       /// </summary>
       [Display(Name ="任务类型")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_tasktype { get; set; }
        /// <summary>
        ///任务类型
        /// </summary>
        [Display(Name = "任务类型")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasktype { get; set; }
       /// <summary>
       ///备注
       /// </summary>
       [Display(Name ="备注")]
       [MaxLength(100)]
       [Column(TypeName="nvarchar(100)")]
       [Editable(true)]
       public string agv_remark { get; set; }
        /// <summary>
        ///备注
        /// </summary>
        [Display(Name = "备注")]
        [MaxLength(100)]
        [Column(TypeName = "nvarchar(100)")]
        [Editable(true)]
        public string agv_remark { get; set; }
       /// <summary>
       ///任务等级
       /// </summary>
       [Display(Name ="任务等级")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? agv_grade { get; set; }
        /// <summary>
        ///任务等级
        /// </summary>
        [Display(Name = "任务等级")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? agv_grade { get; set; }
       /// <summary>
       ///创建者
       /// </summary>
       [Display(Name ="创建者")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string agv_userid { get; set; }
        /// <summary>
        ///创建者
        /// </summary>
        [Display(Name = "创建者")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string agv_userid { get; set; }
       /// <summary>
       ///托盘码
       /// </summary>
       [Display(Name ="托盘码")]
       [MaxLength(30)]
       [Column(TypeName="nvarchar(30)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_barcode { get; set; }
        /// <summary>
        ///托盘码
        /// </summary>
        [Display(Name = "托盘码")]
        [MaxLength(30)]
        [Column(TypeName = "nvarchar(30)")]
        [Editable(true)]
        //[Required(AllowEmptyStrings = false)]//不能为空
        public string agv_barcode { get; set; }
       /// <summary>
       ///物料码
       /// </summary>
       [Display(Name ="物料码")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string agv_materbarcode { get; set; }
        /// <summary>
        ///物料码
        /// </summary>
        [Display(Name = "物料码")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_materbarcode { get; set; }
       /// <summary>
       ///起始点执行中
       /// </summary>
       [Display(Name ="起始点执行中")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_executingBeginTime { get; set; }
        /// <summary>
        ///起始点执行中
        /// </summary>
        [Display(Name = "起始点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingBeginTime { get; set; }
       /// <summary>
       ///起始点完成
       /// </summary>
       [Display(Name ="起始点完成")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_executingEndTime { get; set; }
        /// <summary>
        ///起始点完成
        /// </summary>
        [Display(Name = "起始点完成")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingEndTime { get; set; }
       /// <summary>
       ///目的点执行中
       /// </summary>
       [Display(Name ="目的点执行中")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_completeBeginTime { get; set; }
        /// <summary>
        ///目的点执行中
        /// </summary>
        [Display(Name = "目的点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_completeBeginTime { get; set; }
       /// <summary>
       ///
       /// </summary>
       [Display(Name ="unitag")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       public Guid? unitag { get; set; }
        /// <summary>
        ///
        /// </summary>
        [Display(Name = "unitag")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        public Guid? unitag { get; set; }
       /// <summary>
       ///主键
       /// </summary>
       [Key]
       [Display(Name ="主键")]
       [Column(TypeName="int")]
       [Required(AllowEmptyStrings=false)]
       public int ID { get; set; }
        /// <summary>
        ///车轮SN号
        /// </summary>
        [Display(Name = "车轮SN号")]
        [MaxLength(500)]
        [Column(TypeName = "nvarchar(500)")]
        public string bindSN { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs
@@ -13,246 +13,245 @@
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "AGV历史任务",TableName = "dt_agvtask_hty")]
    public partial class dt_agvtask_hty:BaseEntity
    [Entity(TableCnName = "AGV历史任务", TableName = "dt_agvtask_hty")]
    public partial class dt_agvtask_hty : BaseEntity
    {
        /// <summary>
       ///历史任务ID
       /// </summary>
       [Display(Name ="历史任务ID")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public Guid hty_pkid { get; set; }
        ///历史任务ID
        /// </summary>
        [Key]
        [Display(Name = "历史任务ID")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid hty_pkid { get; set; }
       /// <summary>
       ///任务ID
       /// </summary>
       [Display(Name ="任务ID")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public Guid agv_id { get; set; }
        /// <summary>
        ///任务ID
        /// </summary>
        [Display(Name = "任务ID")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid agv_id { get; set; }
       /// <summary>
       ///任务编号
       /// </summary>
       [Display(Name ="任务编号")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_tasknum { get; set; }
        /// <summary>
        ///任务编号
        /// </summary>
        [Display(Name = "任务编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasknum { get; set; }
       /// <summary>
       ///物料类型
       /// </summary>
       [Display(Name ="物料类型")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_materielid { get; set; }
        /// <summary>
        ///物料类型
        /// </summary>
        [Display(Name = "物料类型")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_materielid { get; set; }
       /// <summary>
       ///数量
       /// </summary>
       [Display(Name ="数量")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public decimal agv_qty { get; set; }
        /// <summary>
        ///数量
        /// </summary>
        [Display(Name = "数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int? agv_qty { get; set; }
       /// <summary>
       ///创建时间
       /// </summary>
       [Display(Name ="创建时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public DateTime agv_createtime { get; set; }
        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime agv_createtime { get; set; }
       /// <summary>
       ///执行时间
       /// </summary>
       [Display(Name ="执行时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_realesstime { get; set; }
        /// <summary>
        ///执行时间
        /// </summary>
        [Display(Name = "执行时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_realesstime { get; set; }
       /// <summary>
       ///完成时间
       /// </summary>
       [Display(Name ="完成时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_finishedtime { get; set; }
        /// <summary>
        ///完成时间
        /// </summary>
        [Display(Name = "完成时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_finishedtime { get; set; }
       /// <summary>
       ///任务状态
       /// </summary>
       [Display(Name ="任务状态")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_taskstate { get; set; }
        /// <summary>
        ///任务状态
        /// </summary>
        [Display(Name = "任务状态")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_taskstate { get; set; }
       /// <summary>
       ///任务类型
       /// </summary>
       [Display(Name ="任务类型")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_tasktype { get; set; }
        /// <summary>
        ///任务类型
        /// </summary>
        [Display(Name = "任务类型")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasktype { get; set; }
       /// <summary>
       ///起点地址
       /// </summary>
       [Display(Name ="起点地址")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string agv_fromaddress { get; set; }
        /// <summary>
        ///起点地址
        /// </summary>
        [Display(Name = "起点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_fromaddress { get; set; }
       /// <summary>
       ///终点地址
       /// </summary>
       [Display(Name ="终点地址")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string agv_toaddress { get; set; }
        /// <summary>
        ///终点地址
        /// </summary>
        [Display(Name = "终点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_toaddress { get; set; }
       /// <summary>
       ///操作类型
       /// </summary>
       [Display(Name ="操作类型")]
       [MaxLength(10)]
       [Column(TypeName="nvarchar(10)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_operatetype { get; set; }
        /// <summary>
        ///操作类型
        /// </summary>
        [Display(Name = "操作类型")]
        [MaxLength(10)]
        [Column(TypeName = "nvarchar(10)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_operatetype { get; set; }
       /// <summary>
       ///操作者
       /// </summary>
       [Display(Name ="操作者")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_compeletor { get; set; }
        /// <summary>
        ///操作者
        /// </summary>
        [Display(Name = "操作者")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_compeletor { get; set; }
       /// <summary>
       ///操作时间
       /// </summary>
       [Display(Name ="操作时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public DateTime agv_completedate { get; set; }
        /// <summary>
        ///操作时间
        /// </summary>
        [Display(Name = "操作时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime agv_completedate { get; set; }
       /// <summary>
       ///任务等级
       /// </summary>
       [Display(Name ="任务等级")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? agv_grade { get; set; }
        /// <summary>
        ///任务等级
        /// </summary>
        [Display(Name = "任务等级")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? agv_grade { get; set; }
       /// <summary>
       ///创建者
       /// </summary>
       [Display(Name ="创建者")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string agv_userid { get; set; }
        /// <summary>
        ///创建者
        /// </summary>
        [Display(Name = "创建者")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string agv_userid { get; set; }
       /// <summary>
       ///托盘码
       /// </summary>
       [Display(Name ="托盘码")]
       [MaxLength(30)]
       [Column(TypeName="nvarchar(30)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_barcode { get; set; }
        /// <summary>
        ///托盘码
        /// </summary>
        [Display(Name = "托盘码")]
        [MaxLength(30)]
        [Column(TypeName = "nvarchar(30)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_barcode { get; set; }
       /// <summary>
       ///AGV编号
       /// </summary>
       [Display(Name ="AGV编号")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string agv_code { get; set; }
        /// <summary>
        ///AGV编号
        /// </summary>
        [Display(Name = "AGV编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_code { get; set; }
       /// <summary>
       ///AGV工作类型
       /// </summary>
       [Display(Name ="AGV工作类型")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public int agv_worktype { get; set; }
        /// <summary>
        ///AGV工作类型
        /// </summary>
        [Display(Name = "AGV工作类型")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int? agv_worktype { get; set; }
       /// <summary>
       ///物料码
       /// </summary>
       [Display(Name ="物料码")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string agv_materbarcode { get; set; }
        /// <summary>
        ///物料码
        /// </summary>
        [Display(Name = "物料码")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_materbarcode { get; set; }
       /// <summary>
       ///起始点执行中
       /// </summary>
       [Display(Name ="起始点执行中")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_executingBeginTime { get; set; }
        /// <summary>
        ///起始点执行中
        /// </summary>
        [Display(Name = "起始点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingBeginTime { get; set; }
       /// <summary>
       ///起始点完成
       /// </summary>
       [Display(Name ="起始点完成")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_executingEndTime { get; set; }
        /// <summary>
        ///起始点完成
        /// </summary>
        [Display(Name = "起始点完成")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingEndTime { get; set; }
       /// <summary>
       ///目的点执行中
       /// </summary>
       [Display(Name ="目的点执行中")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? agv_completeBeginTime { get; set; }
        /// <summary>
        ///目的点执行中
        /// </summary>
        [Display(Name = "目的点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_completeBeginTime { get; set; }
       /// <summary>
       ///备注
       /// </summary>
       [Display(Name ="备注")]
       [MaxLength(255)]
       [Column(TypeName="varchar(255)")]
       [Editable(true)]
       public string agv_remark { get; set; }
        /// <summary>
        ///备注
        /// </summary>
        [Display(Name = "备注")]
        [MaxLength(100)]
        [Column(TypeName = "nvarchar(100)")]
        [Editable(true)]
        public string agv_remark { get; set; }
       /// <summary>
       ///主键
       /// </summary>
       [Key]
       [Display(Name ="主键")]
       [Column(TypeName="int")]
       [Required(AllowEmptyStrings=false)]
       public int ID { get; set; }
        /// <summary>
        ///车轮SN号
        /// </summary>
        [Display(Name = "车轮SN号")]
        [MaxLength(500)]
        [Column(TypeName = "nvarchar(500)")]
        public string bindSN { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/Boxing/dt_boxingMapConfig.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using WIDESEA_Entity.MappingConfiguration;
using WIDESEA_Entity.DomainModels;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace WIDESEA_Entity.MappingConfiguration
{
    public class dt_boxingMapConfig : EntityMappingConfiguration<dt_boxing>
    {
        public override void Map(EntityTypeBuilder<dt_boxing>
        builderTable)
        {
          //b.Property(x => x.StorageName).HasMaxLength(45);
        }
     }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/Boxing/dt_boxing_htyMapConfig.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using WIDESEA_Entity.MappingConfiguration;
using WIDESEA_Entity.DomainModels;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace WIDESEA_Entity.MappingConfiguration
{
    public class dt_boxing_htyMapConfig : EntityMappingConfiguration<dt_boxing_hty>
    {
        public override void Map(EntityTypeBuilder<dt_boxing_hty>
        builderTable)
        {
          //b.Property(x => x.StorageName).HasMaxLength(45);
        }
     }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_areainfoMapConfig.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using WIDESEA_Entity.MappingConfiguration;
using WIDESEA_Entity.DomainModels;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace WIDESEA_Entity.MappingConfiguration
{
    public class dt_areainfoMapConfig : EntityMappingConfiguration<dt_areainfo>
    {
        public override void Map(EntityTypeBuilder<dt_areainfo>
        builderTable)
        {
          //b.Property(x => x.StorageName).HasMaxLength(45);
        }
     }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_inventoryMapConfig.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using WIDESEA_Entity.MappingConfiguration;
using WIDESEA_Entity.DomainModels;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace WIDESEA_Entity.MappingConfiguration
{
    public class dt_inventoryMapConfig : EntityMappingConfiguration<dt_inventory>
    {
        public override void Map(EntityTypeBuilder<dt_inventory>
        builderTable)
        {
          //b.Property(x => x.StorageName).HasMaxLength(45);
        }
     }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_materielinfoMapConfig.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using WIDESEA_Entity.MappingConfiguration;
using WIDESEA_Entity.DomainModels;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace WIDESEA_Entity.MappingConfiguration
{
    public class dt_materielinfoMapConfig : EntityMappingConfiguration<dt_materielinfo>
    {
        public override void Map(EntityTypeBuilder<dt_materielinfo>
        builderTable)
        {
          //b.Property(x => x.StorageName).HasMaxLength(45);
        }
     }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/ToAGV/AGVRespone.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Entity.ToAGV
{
    public class AGVRespone
    {
        /// <summary>
        /// 1成功
        /// </summary>
        public int success { get; set; } = 1;
        /// <summary>
        /// å¤±è´¥ï¼Œè¿”回失败信息
        /// </summary>
        public string Message { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Entity.ToAGV
{
    public class RequestTask
    {
        /// <summary>
        /// ä½œä¸šä»»åŠ¡å·
        /// </summary>
        public string TASK_NO { get; set; }
        /// <summary>
        /// èµ·ç‚¹
        /// </summary>
        public string FROM_POSITION { get; set; }
        /// <summary>
        /// ç»ˆç‚¹
        /// </summary>
        public string TO_POSITION { get; set; }
        /// <summary>
        /// ç‰©æ–™ä¿¡æ¯
        /// </summary>
        public string Material { get; set; }
        /// <summary>
        /// ä»»åŠ¡ç­‰çº§
        /// </summary>
        public int? Priority { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/ToAGV/UpdateTasteInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Entity.ToAGV
{
    public class UpdateTasteInfo
    {
        /// <summary>
        /// ä½œä¸šä»»åŠ¡å·
        /// </summary>
        public string TASK_NO { get; set; }
        /// <summary>
        /// ä»»åŠ¡çŠ¶æ€
        /// </summary>
        public int TASK_State { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/IRepositories/System/IDt_InterfacerecordRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹IDt_InterfacerecordRepository编写接口
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Extensions.AutofacManager;
namespace WIDESEA_Services.IRepositories
{
    public partial interface IDt_InterfacerecordRepository : IDependency,IRepository<Dt_Interfacerecord>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/IServices/System/IDt_InterfacerecordService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 */
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_Services.IServices
{
    public partial interface IDt_InterfacerecordService : IService<Dt_Interfacerecord>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/IServices/System/Partial/IDt_InterfacerecordService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
/*
*所有关于Dt_Interfacerecord类的业务代码接口应在此处编写
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
namespace WIDESEA_Services.IServices
{
    public partial interface IDt_InterfacerecordService
    {
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/IServices/System/Partial/ISys_DictionaryService.cs
@@ -12,7 +12,8 @@
        /// </summary>
        /// <returns></returns>
        Task<List<string>> GetBuilderDictionary();
        object GetVueDictionary(string[] dicNos);
        Task<object> GetVueDictionary(string[] dicNos);
        //object GetVueDictionary(string[] dicNos);
        object GetTableDictionary(Dictionary<string, object[]> keyData);
        object GetSearchDictionary(string dicNo, string value);
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/Repositories/System/Dt_InterfacerecordRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹Dt_InterfacerecordRepository编写代码
 */
using WIDESEA_Services.IRepositories;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_Services.Repositories
{
    public partial class Dt_InterfacerecordRepository : RepositoryBase<Dt_Interfacerecord> , IDt_InterfacerecordRepository
    {
    public Dt_InterfacerecordRepository(VOLContext dbContext)
    : base(dbContext)
    {
    }
    public static IDt_InterfacerecordRepository Instance
    {
      get {  return AutofacContainerModule.GetService<IDt_InterfacerecordRepository>(); } }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/Services/System/Dt_InterfacerecordService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
/*
 *Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
 *所有业务编写全部应在Partial文件夹下Dt_InterfacerecordService与IDt_InterfacerecordService中编写
 */
using WIDESEA_Services.IRepositories;
using WIDESEA_Services.IServices;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_Services.Services
{
    public partial class Dt_InterfacerecordService : ServiceBase<Dt_Interfacerecord, IDt_InterfacerecordRepository>, IDt_InterfacerecordService, IDependency
    {
        public Dt_InterfacerecordService(IDt_InterfacerecordRepository repository)
             : base(repository)
        {
           Init(repository);
        }
        public static IDt_InterfacerecordService Instance
        {
           get { return AutofacContainerModule.GetService<IDt_InterfacerecordService>(); }
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/Services/System/Partial/Dt_InterfacerecordService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
/*
 *所有关于Dt_Interfacerecord类的业务代码应在此处编写
*可使用repository.调用常用方法,获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*Dt_InterfacerecordService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
using System.Linq;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
using WIDESEA_Core.Extensions;
using Microsoft.EntityFrameworkCore;
namespace WIDESEA_Services.Services
{
    public partial class Dt_InterfacerecordService
    {
        public override PageGridData<Dt_Interfacerecord> GetPageData(PageDataOptions pageData)
        {
            return base.GetPageData(pageData);
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/Services/System/Partial/Sys_DictionaryService.cs
@@ -31,17 +31,18 @@
            get { return DictionaryManager.Dictionaries; }
        }
        public object GetVueDictionary(string[] dicNos)
        public async Task<object> GetVueDictionary(string[] dicNos)
        {
            if (dicNos == null || dicNos.Count() == 0) return new string[] { };
            var dicConfig = DictionaryManager.GetDictionaries(dicNos, false).Select(s => new
            {
                dicNo = s.DicNo,
                config = s.Config,
                dbSql = s.DbSql,
                list = s.Sys_DictionaryList.OrderByDescending(o => o.OrderNo)
                          .Select(list => new { key = list.DicValue, value = list.DicName })
            }).ToList();
            var dicConfig = await Task.FromResult(
                      DictionaryManager.GetDictionaries(dicNos, false).Select(s => new
                      {
                          dicNo = s.DicNo,
                          config = s.Config,
                          dbSql = s.DbSql,
                          list = s.Sys_DictionaryList.OrderByDescending(o => o.OrderNo)
                           .Select(list => new { key = list.DicValue, value = list.DicName })
                      }).ToList());
            object GetSourceData(string dicNo, string dbSql, object data)
            {
@@ -61,6 +62,36 @@
            }).ToList();
        }
        //public object GetVueDictionary(string[] dicNos)
        //{
        //    if (dicNos == null || dicNos.Count() == 0) return new string[] { };
        //    var dicConfig = DictionaryManager.GetDictionaries(dicNos, false).Select(s => new
        //    {
        //        dicNo = s.DicNo,
        //        config = s.Config,
        //        dbSql = s.DbSql,
        //        list = s.Sys_DictionaryList.OrderByDescending(o => o.OrderNo)
        //                  .Select(list => new { key = list.DicValue, value = list.DicName })
        //    }).ToList();
        //    object GetSourceData(string dicNo, string dbSql, object data)
        //    {
        //        //  2020.05.01增加根据用户信息加载字典数据源sql
        //        dbSql = DictionaryHandler.GetCustomDBSql(dicNo, dbSql);
        //        if (string.IsNullOrEmpty(dbSql))
        //        {
        //            return data as object;
        //        }
        //        return repository.DapperContext.QueryList<object>(dbSql, null);
        //    }
        //    return dicConfig.Select(item => new
        //    {
        //        item.dicNo,
        //        item.config,
        //        data = GetSourceData(item.dicNo, item.dbSql, item.list)
        //    }).ToList();
        //}
        /// <summary>
        /// é€šè¿‡è¿œç¨‹æœç´¢
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_System/WIDESEA_System.csproj
@@ -26,7 +26,6 @@
  <ItemGroup>
    <Folder Include="IRepositories\System\" />
    <Folder Include="IServices\System\" />
  </ItemGroup>
  <ItemGroup>
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Comm;
using WIDESEA_Common;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
namespace WIDESEA_WMS
{
    public class Task
    {
        /// <summary>
        /// æ·»åŠ åŽ†å²ä»»åŠ¡
        /// </summary>
        /// <param name="task">任务</param>
        /// <param name="operatetype">操作类型</param>
        public static void AddHtyTask(dt_agvtask task, string operatetype = "Complete", string compeletor = "AGV")
        {
            VOLContext context = new VOLContext();
            Idt_agvtask_htyRepository htyRepository = new dt_agvtask_htyRepository(context);
            Idt_agvtaskRepository repository = new dt_agvtaskRepository(context);
            dt_agvtask_hty agvtask_Hty = new dt_agvtask_hty()
            {
                hty_pkid = Guid.NewGuid(),
                agv_id = Guid.Empty,
                agv_tasknum = task.agv_tasknum,
                agv_materielid = task.agv_materielid,
                agv_qty = task.agv_qty,
                agv_createtime = task.agv_createtime,
                agv_realesstime = task.agv_realesstime,
                agv_executingBeginTime = task.agv_executingBeginTime,
                agv_executingEndTime = task.agv_executingEndTime,
                agv_completeBeginTime = task.agv_completeBeginTime,
                agv_finishedtime = DateTime.Now,
                agv_taskstate = task.agv_taskstate,
                agv_tasktype = task.agv_tasktype,
                agv_fromaddress = task.agv_fromaddress,
                agv_toaddress = task.agv_toaddress,
                agv_operatetype = operatetype,
                agv_compeletor = compeletor,
                agv_completedate = DateTime.Now,
                agv_grade = task.agv_grade,
                agv_userid = task.agv_userid,
                agv_barcode = task.agv_barcode,
                agv_code = task.agv_code,
                agv_worktype = task.agv_worktype,
                agv_remark = task.agv_remark
            };
            htyRepository.Add(agvtask_Hty, true);
            repository.Delete(task, true);
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IRepositories/Boxing/Idt_boxingRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹Idt_boxingRepository编写接口
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Extensions.AutofacManager;
namespace WIDESEA_WMS.IRepositories
{
    public partial interface Idt_boxingRepository : IDependency,IRepository<dt_boxing>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IRepositories/Boxing/Idt_boxing_htyRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹Idt_boxing_htyRepository编写接口
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Extensions.AutofacManager;
namespace WIDESEA_WMS.IRepositories
{
    public partial interface Idt_boxing_htyRepository : IDependency,IRepository<dt_boxing_hty>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IRepositories/system/Idt_areainfoRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹Idt_areainfoRepository编写接口
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Extensions.AutofacManager;
namespace WIDESEA_WMS.IRepositories
{
    public partial interface Idt_areainfoRepository : IDependency,IRepository<dt_areainfo>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IRepositories/system/Idt_inventoryRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹Idt_inventoryRepository编写接口
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Extensions.AutofacManager;
namespace WIDESEA_WMS.IRepositories
{
    public partial interface Idt_inventoryRepository : IDependency,IRepository<dt_inventory>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IRepositories/system/Idt_materielinfoRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹Idt_materielinfoRepository编写接口
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Extensions.AutofacManager;
namespace WIDESEA_WMS.IRepositories
{
    public partial interface Idt_materielinfoRepository : IDependency,IRepository<dt_materielinfo>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/Boxing/Idt_boxingService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 */
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_boxingService : IService<dt_boxing>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/Boxing/Idt_boxing_htyService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 */
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_boxing_htyService : IService<dt_boxing_hty>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/Boxing/Partial/Idt_boxingService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
/*
*所有关于dt_boxing类的业务代码接口应在此处编写
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_boxingService
    {
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/Boxing/Partial/Idt_boxing_htyService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
/*
*所有关于dt_boxing_hty类的业务代码接口应在此处编写
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_boxing_htyService
    {
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Idt_areainfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 */
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_areainfoService : IService<dt_areainfo>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Idt_inventoryService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 */
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_inventoryService : IService<dt_inventory>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Idt_materielinfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 */
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_materielinfoService : IService<dt_materielinfo>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_areainfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
/*
*所有关于dt_areainfo类的业务代码接口应在此处编写
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_areainfoService
    {
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_inventoryService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
/*
*所有关于dt_inventory类的业务代码接口应在此处编写
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_inventoryService
    {
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_materielinfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
/*
*所有关于dt_materielinfo类的业务代码接口应在此处编写
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
namespace WIDESEA_WMS.IServices
{
    public partial interface Idt_materielinfoService
    {
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Repositories/Boxing/dt_boxingRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹dt_boxingRepository编写代码
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Repositories
{
    public partial class dt_boxingRepository : RepositoryBase<dt_boxing> , Idt_boxingRepository
    {
    public dt_boxingRepository(VOLContext dbContext)
    : base(dbContext)
    {
    }
    public static Idt_boxingRepository Instance
    {
      get {  return AutofacContainerModule.GetService<Idt_boxingRepository>(); } }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Repositories/Boxing/dt_boxing_htyRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹dt_boxing_htyRepository编写代码
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Repositories
{
    public partial class dt_boxing_htyRepository : RepositoryBase<dt_boxing_hty> , Idt_boxing_htyRepository
    {
    public dt_boxing_htyRepository(VOLContext dbContext)
    : base(dbContext)
    {
    }
    public static Idt_boxing_htyRepository Instance
    {
      get {  return AutofacContainerModule.GetService<Idt_boxing_htyRepository>(); } }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Repositories/system/dt_areainfoRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹dt_areainfoRepository编写代码
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Repositories
{
    public partial class dt_areainfoRepository : RepositoryBase<dt_areainfo> , Idt_areainfoRepository
    {
    public dt_areainfoRepository(VOLContext dbContext)
    : base(dbContext)
    {
    }
    public static Idt_areainfoRepository Instance
    {
      get {  return AutofacContainerModule.GetService<Idt_areainfoRepository>(); } }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Repositories/system/dt_inventoryRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹dt_inventoryRepository编写代码
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Repositories
{
    public partial class dt_inventoryRepository : RepositoryBase<dt_inventory> , Idt_inventoryRepository
    {
    public dt_inventoryRepository(VOLContext dbContext)
    : base(dbContext)
    {
    }
    public static Idt_inventoryRepository Instance
    {
      get {  return AutofacContainerModule.GetService<Idt_inventoryRepository>(); } }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Repositories/system/dt_materielinfoRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作,如果要增加数据库操作请在当前目录下Partial文件夹dt_materielinfoRepository编写代码
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Repositories
{
    public partial class dt_materielinfoRepository : RepositoryBase<dt_materielinfo> , Idt_materielinfoRepository
    {
    public dt_materielinfoRepository(VOLContext dbContext)
    : base(dbContext)
    {
    }
    public static Idt_materielinfoRepository Instance
    {
      get {  return AutofacContainerModule.GetService<Idt_materielinfoRepository>(); } }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/Boxing/Partial/dt_boxingService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
/*
 *所有关于dt_boxing类的业务代码应在此处编写
*可使用repository.调用常用方法,获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*dt_boxingService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
using System.Linq;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
using WIDESEA_Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_WMS.IRepositories;
namespace WIDESEA_WMS.Services
{
    public partial class dt_boxingService
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly Idt_boxingRepository _repository;//访问数据库
        [ActivatorUtilitiesConstructor]
        public dt_boxingService(
            Idt_boxingRepository dbRepository,
            IHttpContextAccessor httpContextAccessor
            )
        : base(dbRepository)
        {
            _httpContextAccessor = httpContextAccessor;
            _repository = dbRepository;
            //多租户会用到这init代码,其他情况可以不用
            //base.Init(dbRepository);
        }
  }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/Boxing/Partial/dt_boxing_htyService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
/*
 *所有关于dt_boxing_hty类的业务代码应在此处编写
*可使用repository.调用常用方法,获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*dt_boxing_htyService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
using System.Linq;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
using WIDESEA_Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_WMS.IRepositories;
namespace WIDESEA_WMS.Services
{
    public partial class dt_boxing_htyService
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly Idt_boxing_htyRepository _repository;//访问数据库
        [ActivatorUtilitiesConstructor]
        public dt_boxing_htyService(
            Idt_boxing_htyRepository dbRepository,
            IHttpContextAccessor httpContextAccessor
            )
        : base(dbRepository)
        {
            _httpContextAccessor = httpContextAccessor;
            _repository = dbRepository;
            //多租户会用到这init代码,其他情况可以不用
            //base.Init(dbRepository);
        }
  }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/Boxing/dt_boxingService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
/*
 *Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
 *所有业务编写全部应在Partial文件夹下dt_boxingService与Idt_boxingService中编写
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.IServices;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Services
{
    public partial class dt_boxingService : ServiceBase<dt_boxing, Idt_boxingRepository>
    , Idt_boxingService, IDependency
    {
    public dt_boxingService(Idt_boxingRepository repository)
    : base(repository)
    {
    Init(repository);
    }
    public static Idt_boxingService Instance
    {
      get { return AutofacContainerModule.GetService<Idt_boxingService>(); } }
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/Boxing/dt_boxing_htyService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
/*
 *Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
 *所有业务编写全部应在Partial文件夹下dt_boxing_htyService与Idt_boxing_htyService中编写
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.IServices;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Services
{
    public partial class dt_boxing_htyService : ServiceBase<dt_boxing_hty, Idt_boxing_htyRepository>
    , Idt_boxing_htyService, IDependency
    {
    public dt_boxing_htyService(Idt_boxing_htyRepository repository)
    : base(repository)
    {
    Init(repository);
    }
    public static Idt_boxing_htyService Instance
    {
      get { return AutofacContainerModule.GetService<Idt_boxing_htyService>(); } }
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs
@@ -17,6 +17,13 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
using WIDESEA_Core.EFDbContext;
using static System.Collections.Specialized.BitVector32;
using WIDESEA_Comm.TaskNo;
using WIDESEA_Common;
using WIDESEA_Core.ManageUser;
using WIDESEA_Comm.LogInfo;
namespace WIDESEA_WMS.Services
{
@@ -37,5 +44,60 @@
            //多租户会用到这init代码,其他情况可以不用
            //base.Init(dbRepository);
        }
  }
        /// <summary>
        /// æ·»åŠ ä»»åŠ¡
        /// </summary>
        /// <param name="saveDataModel"></param>
        /// <returns></returns>
        public override WebResponseContent Add(SaveModel saveDataModel)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                VOLContext context = new VOLContext();
                Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
                var fromaddress = saveDataModel.MainData["agv_fromaddress"].ToString();
                var toaddress = saveDataModel.MainData["agv_toaddress"].ToString();
                var tasktype = saveDataModel.MainData["agv_tasktype"].ToString();
                var grade = saveDataModel.MainData["agv_grade"].ToInt();
                var station1 = stationinfoRepository.FindFirst(x => x.stationCode == fromaddress);
                var station2 = stationinfoRepository.FindFirst(x => x.stationCode == toaddress);
                if (station1 == null || station2 == null)
                    throw new Exception($"起点地址{fromaddress}或终点地址{toaddress}不存在!");
                if (string.IsNullOrEmpty(station1.stationType))
                    throw new Exception($"起点{fromaddress}未绑定物料类型!");
                var task = _repository.Find(t => t.agv_fromaddress == fromaddress
                       || t.agv_fromaddress == toaddress
                       || t.agv_toaddress == fromaddress
                       || t.agv_toaddress == toaddress
                       ).Any();
                if (task)
                    throw new Exception("起始或目的地址,已存在任务中!");
                dt_agvtask agvtask = new dt_agvtask();
                agvtask.agv_id = Guid.NewGuid();
                agvtask.agv_fromaddress = fromaddress;
                agvtask.agv_toaddress = toaddress;
                agvtask.agv_tasknum = IdenxManager.GetTaskNo("KH-");
                agvtask.agv_code = "AGV";
                agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
                agvtask.agv_tasktype = tasktype;
                agvtask.agv_worktype = 1;//工作类型
                agvtask.agv_materielid = station1.stationType;//物料类型
                agvtask.agv_qty = station1.quantity;
                agvtask.agv_createtime = DateTime.Now;
                agvtask.agv_grade = grade;//任务优先级
                agvtask.agv_userid = UserContext.Current.UserName;
                _repository.Add(agvtask, true);
                content.OK();
                WriteDBLog.Success($"手动添加任务", new { æ•°æ® = saveDataModel }, "WMS", UserContext.Current.UserName);
            }
            catch (Exception ex)
            {
                WriteDBLog.Error($"手动添加任务", new { æ•°æ® = saveDataModel, å¼‚常信息 = ex.Message }, "WMS", UserContext.Current.UserName);
                content.Error(ex.Message);
            }
            return content;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
/*
 *所有关于dt_areainfo类的业务代码应在此处编写
*可使用repository.调用常用方法,获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*dt_areainfoService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
using System.Linq;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
using WIDESEA_Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_WMS.IRepositories;
namespace WIDESEA_WMS.Services
{
    public partial class dt_areainfoService
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly Idt_areainfoRepository _repository;//访问数据库
        [ActivatorUtilitiesConstructor]
        public dt_areainfoService(
            Idt_areainfoRepository dbRepository,
            IHttpContextAccessor httpContextAccessor
            )
        : base(dbRepository)
        {
            _httpContextAccessor = httpContextAccessor;
            _repository = dbRepository;
            //多租户会用到这init代码,其他情况可以不用
            //base.Init(dbRepository);
        }
  }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
/*
 *所有关于dt_inventory类的业务代码应在此处编写
*可使用repository.调用常用方法,获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*dt_inventoryService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
using System.Linq;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
using WIDESEA_Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_WMS.IRepositories;
namespace WIDESEA_WMS.Services
{
    public partial class dt_inventoryService
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly Idt_inventoryRepository _repository;//访问数据库
        [ActivatorUtilitiesConstructor]
        public dt_inventoryService(
            Idt_inventoryRepository dbRepository,
            IHttpContextAccessor httpContextAccessor
            )
        : base(dbRepository)
        {
            _httpContextAccessor = httpContextAccessor;
            _repository = dbRepository;
            //多租户会用到这init代码,其他情况可以不用
            //base.Init(dbRepository);
        }
  }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_materielinfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
/*
 *所有关于dt_materielinfo类的业务代码应在此处编写
*可使用repository.调用常用方法,获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*dt_materielinfoService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
using System.Linq;
using WIDESEA_Core.Utilities;
using System.Linq.Expressions;
using WIDESEA_Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_WMS.IRepositories;
namespace WIDESEA_WMS.Services
{
    public partial class dt_materielinfoService
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly Idt_materielinfoRepository _repository;//访问数据库
        [ActivatorUtilitiesConstructor]
        public dt_materielinfoService(
            Idt_materielinfoRepository dbRepository,
            IHttpContextAccessor httpContextAccessor
            )
        : base(dbRepository)
        {
            _httpContextAccessor = httpContextAccessor;
            _repository = dbRepository;
            //多租户会用到这init代码,其他情况可以不用
            //base.Init(dbRepository);
        }
  }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs
@@ -37,5 +37,10 @@
            //多租户会用到这init代码,其他情况可以不用
            //base.Init(dbRepository);
        }
  }
        public override WebResponseContent Add(SaveModel saveDataModel)
        {
            return base.Add(saveDataModel);
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/dt_areainfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
/*
 *Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
 *所有业务编写全部应在Partial文件夹下dt_areainfoService与Idt_areainfoService中编写
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.IServices;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Services
{
    public partial class dt_areainfoService : ServiceBase<dt_areainfo, Idt_areainfoRepository>
    , Idt_areainfoService, IDependency
    {
    public dt_areainfoService(Idt_areainfoRepository repository)
    : base(repository)
    {
    Init(repository);
    }
    public static Idt_areainfoService Instance
    {
      get { return AutofacContainerModule.GetService<Idt_areainfoService>(); } }
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/dt_inventoryService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
/*
 *Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
 *所有业务编写全部应在Partial文件夹下dt_inventoryService与Idt_inventoryService中编写
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.IServices;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Services
{
    public partial class dt_inventoryService : ServiceBase<dt_inventory, Idt_inventoryRepository>
    , Idt_inventoryService, IDependency
    {
    public dt_inventoryService(Idt_inventoryRepository repository)
    : base(repository)
    {
    Init(repository);
    }
    public static Idt_inventoryService Instance
    {
      get { return AutofacContainerModule.GetService<Idt_inventoryService>(); } }
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/dt_materielinfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
/*
 *Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
 *所有业务编写全部应在Partial文件夹下dt_materielinfoService与Idt_materielinfoService中编写
 */
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.IServices;
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.Services
{
    public partial class dt_materielinfoService : ServiceBase<dt_materielinfo, Idt_materielinfoRepository>
    , Idt_materielinfoService, IDependency
    {
    public dt_materielinfoService(Idt_materielinfoRepository repository)
    : base(repository)
    {
    Init(repository);
    }
    public static Idt_materielinfoService Instance
    {
      get { return AutofacContainerModule.GetService<Idt_materielinfoService>(); } }
    }
 }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,147 @@
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using WIDESEA_Comm.LogInfo;
using WIDESEA_Common;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Entity.ToAGV;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
namespace WIDESEA_WMS
{
    public partial class ToAGVServer
    {
        /// <summary>
        /// ä¿®æ”¹ä»»åŠ¡çŠ¶æ€
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static AGVRespone UpdateTaskState(string json)
        {
            VOLContext context = new VOLContext();
            Idt_agvtaskRepository repository = new dt_agvtaskRepository(context);
            AGVRespone respone = new AGVRespone();
            UpdateTasteInfo tasteInfo = new();
            try
            {
                if (string.IsNullOrEmpty(json) || json == "null")
                    throw new Exception("未获取到请求参数数据");
                tasteInfo = JsonConvert.DeserializeObject<UpdateTasteInfo>(json);
                if (string.IsNullOrEmpty(tasteInfo.TASK_NO))
                    throw new Exception("未获取到任务号!");
                var task = repository.FindFirst(x => x.agv_tasknum == tasteInfo.TASK_NO);
                if (task == null)
                    throw new Exception("未找到任务,任务ID:" + tasteInfo.TASK_NO);
                if (tasteInfo.TASK_State < 1 || tasteInfo.TASK_State > 4)
                    throw new Exception("未定义的任务状态:" + tasteInfo.TASK_State);
                var StateName = Enum.GetName(typeof(AGVTaskStateEnum), tasteInfo.TASK_State);
                if (task.agv_taskstate == StateName)
                {
                    respone.success = 2;
                    respone.Message = tasteInfo.TASK_NO + ":重复调用,任务状态为:" + tasteInfo.TASK_State;
                    return respone;
                }
                if (tasteInfo.TASK_State == 1)
                    task.agv_executingBeginTime = DateTime.Now;
                if (tasteInfo.TASK_State == 2)
                    task.agv_executingEndTime = DateTime.Now;
                if (tasteInfo.TASK_State == 3)
                    task.agv_completeBeginTime = DateTime.Now;
                task.agv_taskstate = StateName;
                var count = repository.Update(task, true);
                if (count < 1)
                    throw new Exception("任务状态更新失败!任务ID:" + tasteInfo.TASK_NO + ";任务状态:" + tasteInfo.TASK_State);
                if (tasteInfo.TASK_State == 4)
                    Task.AddHtyTask(task);
            }
            catch (Exception ex)
            {
                respone.success = 3;
                respone.Message = ex.Message;
            }
            WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "成功 " : "失败", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), "AGV反馈任务状态", "UpdateTaskState", respone.Message);
            return respone;
        }
        /// <summary>
        /// ä¸‹å‘AGV任务
        /// </summary>
        /// <param name="agvtask"></param>
        public static void SendAGVTask(dt_agvtask agvtask)
        {
            if (agvtask == null) return;
            VOLContext context = new VOLContext();
            Idt_agvtaskRepository repository = new dt_agvtaskRepository(context);
            AGVRespone respone = new AGVRespone();
            RequestTask requestTask = new RequestTask();
            string postJson = string.Empty;
            string report = string.Empty;
            try
            {
                requestTask.TASK_NO = agvtask.agv_tasknum;
                requestTask.FROM_POSITION = agvtask.agv_fromaddress;
                requestTask.TO_POSITION = agvtask.agv_toaddress;
                requestTask.Material = agvtask.agv_materielid;
                requestTask.Priority = agvtask.agv_grade;
                postJson = JsonConvert.SerializeObject(requestTask);
                report = RequestData(postJson);
                respone = JsonConvert.DeserializeObject<AGVRespone>(report);
                if (respone.success != 1)
                    throw new Exception(respone.Message);
                agvtask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString();
                agvtask.agv_realesstime = DateTime.Now;
                repository.Update(agvtask, true);
            }
            catch (Exception ex)
            {
                respone.Message = ex.Message;
            }
            WriteWMSLog.LogAdd(requestTask.TASK_NO, respone.success == 1 ? "成功 " : "失败", "AGV", "WMS", postJson, report, "下发AGV任务", "SendAGVTask", respone.Message);
        }
        /// <summary>
        /// post请求
        /// </summary>
        /// <param name="postData">参数</param>
        /// <param name="address">路径</param>
        /// <returns></returns>
        public static string RequestData(string postData, string address = "")
        {
            string reponse = string.Empty;
            try
            {
                //string tmp = "";
                //if (null != postData)
                //    tmp = JsonConvert.SerializeObject(postData);
                byte[] param = Encoding.UTF8.GetBytes(postData);
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
                request.Method = "POST";
                request.ContentType = "application/json";
                request.GetRequestStream().Write(param, 0, param.Length);
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    Stream stream = response.GetResponseStream();
                    StreamReader streamReader = new StreamReader(stream);
                    string webResponse = streamReader.ReadToEnd();
                    reponse = webResponse;
                }
            }
            catch (Exception ex)
            {
                reponse = ex.Message;
            }
            return reponse;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/ToMes/AddToFloat3.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
using Newtonsoft.Json;
using System;
using WIDESEA_Comm;
using WIDESEA_Comm.LogInfo;
using WIDESEA_Common;
using WIDESEA_Core.ManageUser;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Entity.DomainModels.Mes;
namespace WIDESEA_WMS
{
    public partial class ToMesServer
    {
        /// <summary>
        /// æ‰‹åŠ¨ç§»åº“
        /// </summary>
        /// <param name="requestTemp"></param>
        /// <returns></returns>
        public WebResponseContent AddToFloat3(MesRequestTemp requestTemp)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                //var route = freeDB.Select<dt_stationinfo>().Where(t => t.stationCode == requestTemp.from_address && t.route_end == requestTemp.to_address).ToOne();
                var station1 = freeDB.Select<dt_stationinfo>().Where(t => t.stationCode == requestTemp.from_address).First();
                var station2 = freeDB.Select<dt_stationinfo>().Where(t => t.stationCode == requestTemp.to_address).First();
                if (station1 == null || station2 == null)
                {
                    throw new Exception($"路径{requestTemp.from_address}到{requestTemp.to_address},不存在!");
                }
                if (station1.location_state != LocationStateEnum.Stroge.ToString())
                    throw new Exception($"起点{requestTemp.from_address}未找到物料!");
                if (station2.location_state != LocationStateEnum.Empty.ToString())
                    throw new Exception($"终点{requestTemp.to_address}不是空货位!");
                if (string.IsNullOrEmpty(station1.stationType))
                    throw new Exception($"起点{requestTemp.from_address}未绑定物料类型!");
                if (station1.stationType != station2.stationType)
                    throw new Exception($"起点与终点绑定物料类型不一致!");
                var haveInTask = freeDB.Select<dt_agvtask>()
                   .Where(t => t.agv_fromaddress == requestTemp.from_address
                   || t.agv_fromaddress == requestTemp.to_address
                   || t.agv_toaddress == requestTemp.from_address
                   || t.agv_toaddress == requestTemp.to_address
                   ).Any();
                if (!haveInTask)
                {
                    station2.quantity = station1.quantity;
                    station2.bindSN = station1.bindSN;
                    station2.location_state = station1.location_state;
                    station2.tray_status = station1.tray_status;
                    freeDB.Update(station2);
                    station1.quantity = 0;
                    station1.bindSN = string.Empty;
                    station1.location_state = LocationStateEnum.Empty.ToString();
                    station1.tray_status = string.Empty;
                    freeDB.Update(station1);
                }
                else
                {
                    throw new Exception("起始或目的地址,已存在任务!");
                }
                content.OK();
                WriteDBLog.Success($"手动移库", new { æ•°æ® = requestTemp }, "WMS", UserContext.Current.UserTrueName);
            }
            catch (Exception ex)
            {
                WriteDBLog.Error($"手动移库", new { æ•°æ® = requestTemp, å¼‚常信息 = ex.Message }, "WMS", UserContext.Current.UserTrueName);
                content.Error(ex.Message);
            }
            return content;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/ToMes/ToMesServer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using WIDESEA_Core.FreeDB;
namespace WIDESEA_WMS
{
    public partial class ToMesServer
    {
        FreeDB freeDB = new FreeDB();
        public ToMesServer()
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/WIDESEA_WMS.csproj
@@ -7,6 +7,7 @@
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEA_Comm\WIDESEA_Comm.csproj" />
    <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" />
    <ProjectReference Include="..\WIDESEA_Entity\WIDESEA_Entity.csproj" />
  </ItemGroup>
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/System/Partial/Sys_DictionaryController.cs
@@ -11,12 +11,20 @@
{
    public partial class Sys_DictionaryController
    {
        [HttpPost, Route("GetVueDictionary"), AllowAnonymous]
        [HttpPost, Route("GetVueDictionary")]
        [ApiActionPermission()]
        public IActionResult GetVueDictionary([FromBody] string[] dicNos)
        public async Task<IActionResult> GetVueDictionary([FromBody] string[] dicNos)
        {
            return Content(Service.GetVueDictionary(dicNos).Serialize());
            return Content((await Service.GetVueDictionary(dicNos)).Serialize());
        }
        //[HttpPost, Route("GetVueDictionary"), AllowAnonymous]
        //[ApiActionPermission()]
        //public IActionResult GetVueDictionary([FromBody] string[] dicNos)
        //{
        //    return Content(Service.GetVueDictionary(dicNos).Serialize());
        //}
        /// <summary>
        /// table加载数据后刷新当前table数据的字典项(适用字典数据量比较大的情况)
        /// </summary>
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToAGV/ToAGVController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Entity.ToAGV;
using WIDESEA_WMS;
namespace ToAGV.Controllers
{
    [Route("api/ToAGV")]
    [ApiController]
    public class ToAGVController : ControllerBase
    {
        /// <summary>
        /// ç‰©æ–™å…¥åº“/出库取放货点位上报
        /// </summary>
        /// <param name="saveModel">请求参数</param>
        /// <returns></returns>
        [HttpPost, Route("UpdateTaskState"), Authorize, AllowAnonymous]
        public AGVRespone UpdateTaskState([FromBody] object saveModel)
        {
            return ToAGVServer.UpdateTaskState(JsonConvert.SerializeObject(saveModel));
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToMes/ToWMSController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels.Mes;
using WIDESEA_WMS;
namespace WIDESEA_WCSServer.Controllers.ToMes
{
    [Route("api/ToMes")]
    [ApiController]
    public class ToWMSController : ControllerBase
    {
        /// <summary>
        /// 3楼设备叫料(手动,临时)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost, Route("AddToFloat3")]
        public WebResponseContent AddToFloat3([FromBody] MesRequestTemp request)
        {
            return new ToMesServer().AddToFloat3(request);
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/Dt_InterfacerecordController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果要增加方法请在当前目录下Partial文件夹Dt_InterfacerecordController编写
 */
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.Controllers.Basic;
using WIDESEA_Entity.AttributeManager;
using WIDESEA_Services.IServices;
namespace WIDESEA_Services.Controllers
{
    [Route("api/Dt_Interfacerecord")]
    [PermissionTable(Name = "Dt_Interfacerecord")]
    public partial class Dt_InterfacerecordController : ApiBaseController<IDt_InterfacerecordService>
    {
        public Dt_InterfacerecordController(IDt_InterfacerecordService service)
        : base(service)
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/Partial/Dt_InterfacerecordController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
/*
 *接口编写处...
*如果接口需要做Action的权限验证,请在Action上使用属性
*如: [ApiActionPermission("Dt_Interfacerecord",Enums.ActionPermissionOptions.Search)]
 */
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_Services.IServices;
namespace WIDESEA_Services.Controllers
{
    public partial class Dt_InterfacerecordController
    {
        private readonly IDt_InterfacerecordService _service;//访问业务代码
        private readonly IHttpContextAccessor _httpContextAccessor;
        [ActivatorUtilitiesConstructor]
        public Dt_InterfacerecordController(
            IDt_InterfacerecordService service,
            IHttpContextAccessor httpContextAccessor
        )
        : base(service)
        {
            _service = service;
            _httpContextAccessor = httpContextAccessor;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_areainfoController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
/*
 *接口编写处...
*如果接口需要做Action的权限验证,请在Action上使用属性
*如: [ApiActionPermission("dt_areainfo",Enums.ActionPermissionOptions.Search)]
 */
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    public partial class dt_areainfoController
    {
        private readonly Idt_areainfoService _service;//访问业务代码
        private readonly IHttpContextAccessor _httpContextAccessor;
        [ActivatorUtilitiesConstructor]
        public dt_areainfoController(
            Idt_areainfoService service,
            IHttpContextAccessor httpContextAccessor
        )
        : base(service)
        {
            _service = service;
            _httpContextAccessor = httpContextAccessor;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_boxingController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
/*
 *接口编写处...
*如果接口需要做Action的权限验证,请在Action上使用属性
*如: [ApiActionPermission("dt_boxing",Enums.ActionPermissionOptions.Search)]
 */
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    public partial class dt_boxingController
    {
        private readonly Idt_boxingService _service;//访问业务代码
        private readonly IHttpContextAccessor _httpContextAccessor;
        [ActivatorUtilitiesConstructor]
        public dt_boxingController(
            Idt_boxingService service,
            IHttpContextAccessor httpContextAccessor
        )
        : base(service)
        {
            _service = service;
            _httpContextAccessor = httpContextAccessor;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_boxing_htyController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
/*
 *接口编写处...
*如果接口需要做Action的权限验证,请在Action上使用属性
*如: [ApiActionPermission("dt_boxing_hty",Enums.ActionPermissionOptions.Search)]
 */
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    public partial class dt_boxing_htyController
    {
        private readonly Idt_boxing_htyService _service;//访问业务代码
        private readonly IHttpContextAccessor _httpContextAccessor;
        [ActivatorUtilitiesConstructor]
        public dt_boxing_htyController(
            Idt_boxing_htyService service,
            IHttpContextAccessor httpContextAccessor
        )
        : base(service)
        {
            _service = service;
            _httpContextAccessor = httpContextAccessor;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_inventoryController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
/*
 *接口编写处...
*如果接口需要做Action的权限验证,请在Action上使用属性
*如: [ApiActionPermission("dt_inventory",Enums.ActionPermissionOptions.Search)]
 */
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    public partial class dt_inventoryController
    {
        private readonly Idt_inventoryService _service;//访问业务代码
        private readonly IHttpContextAccessor _httpContextAccessor;
        [ActivatorUtilitiesConstructor]
        public dt_inventoryController(
            Idt_inventoryService service,
            IHttpContextAccessor httpContextAccessor
        )
        : base(service)
        {
            _service = service;
            _httpContextAccessor = httpContextAccessor;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_materielinfoController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
/*
 *接口编写处...
*如果接口需要做Action的权限验证,请在Action上使用属性
*如: [ApiActionPermission("dt_materielinfo",Enums.ActionPermissionOptions.Search)]
 */
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    public partial class dt_materielinfoController
    {
        private readonly Idt_materielinfoService _service;//访问业务代码
        private readonly IHttpContextAccessor _httpContextAccessor;
        [ActivatorUtilitiesConstructor]
        public dt_materielinfoController(
            Idt_materielinfoService service,
            IHttpContextAccessor httpContextAccessor
        )
        : base(service)
        {
            _service = service;
            _httpContextAccessor = httpContextAccessor;
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_areainfoController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果要增加方法请在当前目录下Partial文件夹dt_areainfoController编写
 */
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.Controllers.Basic;
using WIDESEA_Entity.AttributeManager;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    [Route("api/dt_areainfo")]
    [PermissionTable(Name = "dt_areainfo")]
    public partial class dt_areainfoController : ApiBaseController<Idt_areainfoService>
    {
        public dt_areainfoController(Idt_areainfoService service)
        : base(service)
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_boxingController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果要增加方法请在当前目录下Partial文件夹dt_boxingController编写
 */
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.Controllers.Basic;
using WIDESEA_Entity.AttributeManager;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    [Route("api/dt_boxing")]
    [PermissionTable(Name = "dt_boxing")]
    public partial class dt_boxingController : ApiBaseController<Idt_boxingService>
    {
        public dt_boxingController(Idt_boxingService service)
        : base(service)
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_boxing_htyController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果要增加方法请在当前目录下Partial文件夹dt_boxing_htyController编写
 */
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.Controllers.Basic;
using WIDESEA_Entity.AttributeManager;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    [Route("api/dt_boxing_hty")]
    [PermissionTable(Name = "dt_boxing_hty")]
    public partial class dt_boxing_htyController : ApiBaseController<Idt_boxing_htyService>
    {
        public dt_boxing_htyController(Idt_boxing_htyService service)
        : base(service)
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_inventoryController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果要增加方法请在当前目录下Partial文件夹dt_inventoryController编写
 */
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.Controllers.Basic;
using WIDESEA_Entity.AttributeManager;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    [Route("api/dt_inventory")]
    [PermissionTable(Name = "dt_inventory")]
    public partial class dt_inventoryController : ApiBaseController<Idt_inventoryService>
    {
        public dt_inventoryController(Idt_inventoryService service)
        : base(service)
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_materielinfoController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果要增加方法请在当前目录下Partial文件夹dt_materielinfoController编写
 */
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.Controllers.Basic;
using WIDESEA_Entity.AttributeManager;
using WIDESEA_WMS.IServices;
namespace WIDESEA_WMS.Controllers
{
    [Route("api/dt_materielinfo")]
    [PermissionTable(Name = "dt_materielinfo")]
    public partial class dt_materielinfoController : ApiBaseController<Idt_materielinfoService>
    {
        public dt_materielinfoController(Idt_materielinfoService service)
        : base(service)
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGVÈÎÎñ20231208134657.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGVÈÎÎñ20231208170607.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGVÈÎÎñ20231208171603.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGVÈÎÎñ20231208173403.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/20231208/Template/AGVÈÎÎñ20231208175204.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGVÈÎÎñ20231208152432.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGVÈÎÎñ20231208173004.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGVÀúÊ·ÈÎÎñ20231208154331.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGVÀúÊ·ÈÎÎñ20231208161840.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGVÀúÊ·ÈÎÎñ20231208162251.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGVÀúÊ·ÈÎÎñ20231208163634.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGVÀúÊ·ÈÎÎñ20231208163750.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGVÀúÊ·ÈÎÎñ20231208165240.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219150515.xlsx
copy from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV\344\273\273\345\212\24120231208172503.xlsx" copy to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV\344\273\273\345\212\24120231219150515.xlsx" Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219151413.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219151717.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219152111.xlsx
copy from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV\344\273\273\345\212\24120231208172503.xlsx" copy to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV\344\273\273\345\212\24120231219152111.xlsx" Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219152415.xlsx
copy from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV\344\273\273\345\212\24120231208172503.xlsx" copy to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV\344\273\273\345\212\24120231219152415.xlsx" Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219152911.xlsx
copy from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV\344\273\273\345\212\24120231208172503.xlsx" copy to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV\344\273\273\345\212\24120231219152911.xlsx" Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219170232.xlsx
Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219171630.xlsx
copy from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV\344\273\273\345\212\24120231208172503.xlsx" copy to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV\344\273\273\345\212\24120231219171630.xlsx" Binary files differ
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGVÈÎÎñ20231219174230.xlsx
copy from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231208/AGV\344\273\273\345\212\24120231208172503.xlsx" copy to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Download/ExcelExport/20231219/AGV\344\273\273\345\212\24120231219174230.xlsx" Binary files differ