已删除1个文件
已修改24个文件
已添加11个文件
已重命名5个文件
| | |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/Debug/net6.0/WIDESEAWCS_ProcessRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/Debug/net6.0/WIDESEAWCS_Tasks.csproj.CoreCompileInputs.cache |
| | | *.txt |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/Debug/net6.0/WIDESEAWCS_BasicInfoRepository.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/Debug/net6.0/WIDESEAWCS_BasicInfoRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/Debug/net6.0/WIDESEAWCS_BasicInfoRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/WIDESEAWCS_BasicInfoRepository.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/WIDESEAWCS_BasicInfoRepository.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/Debug/net6.0/WIDESEAWCS_BasicInfoService.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/Debug/net6.0/WIDESEAWCS_BasicInfoService.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/Debug/net6.0/WIDESEAWCS_BasicInfoService.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/WIDESEAWCS_BasicInfoService.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/WIDESEAWCS_BasicInfoService.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/obj/Debug/net6.0/WIDESEAWCS_Common.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/obj/Debug/net6.0/WIDESEAWCS_Common.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/obj/Debug/net6.0/WIDESEAWCS_Common.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/obj/WIDESEAWCS_Common.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/obj/WIDESEAWCS_Common.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/obj/Debug/net6.0/WIDESEAWCS_Communicator.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/obj/Debug/net6.0/WIDESEAWCS_Communicator.csproj.AssemblyReference.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/obj/Debug/net6.0/WIDESEAWCS_Communicator.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/obj/Debug/net6.0/WIDESEAWCS_Communicator.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/obj/WIDESEAWCS_Communicator.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/obj/WIDESEAWCS_Communicator.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/Debug/net6.0/WIDESEAWCS_Core.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/Debug/net6.0/WIDESEAWCS_Core.csproj.AssemblyReference.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/Debug/net6.0/WIDESEAWCS_Core.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/Debug/net6.0/WIDESEAWCS_Core.csproj.FileListAbsolute.txt |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/Debug/net6.0/WIDESEAWCS_Core.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/WIDESEAWCS_Core.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/WIDESEAWCS_Core.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/Debug/net6.0/WIDESEAWCS_DTO.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/Debug/net6.0/WIDESEAWCS_DTO.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/WIDESEAWCS_DTO.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/WIDESEAWCS_DTO.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/Debug/net6.0/WIDESEAWCS_IBasicInfoRepository.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/Debug/net6.0/WIDESEAWCS_IBasicInfoRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/Debug/net6.0/WIDESEAWCS_IBasicInfoRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/Debug/net6.0/WIDESEAWCS_IBasicInfoService.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/Debug/net6.0/WIDESEAWCS_IBasicInfoService.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/Debug/net6.0/WIDESEAWCS_IBasicInfoService.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/Debug/net6.0/WIDESEAWCS_ISystemRepository.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/Debug/net6.0/WIDESEAWCS_ISystemRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets.pack.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.genruntimeconfig.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/Debug/net6.0/WIDESEAWCS_SystemRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/Debug/net6.0/WIDESEAWCS_SystemServices.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_TaskInfoRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/appsettings.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/Debug/net6.0/WIDESEAWCS_ISystemRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/Debug/net6.0/WIDESEAWCS_ISystemServices.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/Debug/net6.0/WIDESEAWCS_ISystemServices.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/Debug/net6.0/WIDESEAWCS_ISystemServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/WIDESEAWCS_ISystemServices.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/WIDESEAWCS_ISystemServices.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_ITaskInfoRepository.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_ITaskInfoRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_ITaskInfoRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/WIDESEAWCS_ITaskInfoRepository.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/WIDESEAWCS_ITaskInfoRepository.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/Debug/net6.0/WIDESEAWCS_ITaskInfoService.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/Debug/net6.0/WIDESEAWCS_ITaskInfoService.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/Debug/net6.0/WIDESEAWCS_ITaskInfoService.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/WIDESEAWCS_ITaskInfoService.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/WIDESEAWCS_ITaskInfoService.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/Debug/net6.0/WIDESEAWCS_Model.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/Debug/net6.0/WIDESEAWCS_Model.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/WIDESEAWCS_Model.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/WIDESEAWCS_Model.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/Debug/net6.0/WIDESEAWCS_IProcessRepository.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/Debug/net6.0/WIDESEAWCS_IProcessRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/Debug/net6.0/WIDESEAWCS_ProcessRepository.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/Debug/net6.0/WIDESEAWCS_ProcessRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/Debug/net6.0/WIDESEAWCS_QuartzJob.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/Debug/net6.0/WIDESEAWCS_QuartzJob.csproj.AssemblyReference.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/Debug/net6.0/WIDESEAWCS_QuartzJob.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/Debug/net6.0/WIDESEAWCS_QuartzJob.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/WIDESEAWCS_Server.staticwebassets.runtime.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets.build.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets.development.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/Debug/net6.0/WIDESEAWCS_ISystemServices.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_ITaskInfoRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets.pack.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.genruntimeconfig.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/Debug/net6.0/WIDESEAWCS_SystemRepository.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/Debug/net6.0/WIDESEAWCS_SystemRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/Debug/net6.0/WIDESEAWCS_SystemRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/Debug/net6.0/WIDESEAWCS_SystemServices.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/Debug/net6.0/WIDESEAWCS_SystemServices.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/Debug/net6.0/WIDESEAWCS_SystemServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_TaskInfoRepository.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_TaskInfoRepository.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_TaskInfoRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.csproj.CoreCompileInputs.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/Debug/net6.0/WIDESEAWCS_Tasks.assets.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/Debug/net6.0/WIDESEAWCS_Tasks.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/project.assets.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/project.nuget.cache |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.dgspec.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.g.props |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |
| | | /Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/Debug/net6.0/LogLibrary.assets.cache |
| | | /Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/Debug/net6.0/LogLibrary.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/LogLibrary.csproj.nuget.dgspec.json |
| | | /Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/LogLibrary.csproj.nuget.g.props |
| | | /Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/project.assets.json |
| | | /Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/project.nuget.cache |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessesRepository/obj/Debug/net6.0/WIDESEA_BusinessesRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/obj/Debug/net6.0/WIDESEA_BusinessServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/obj/Debug/net6.0/WIDESEA_Common.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/obj/Debug/net6.0/WIDESEA_DTO.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessesRepository/obj/Debug/net6.0/WIDESEA_IBusinessesRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessServices/obj/Debug/net6.0/WIDESEA_IBusinessServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IRepository/obj/Debug/net6.0/WIDESEA_IRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IServices/obj/Debug/net6.0/WIDESEA_IServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/obj/Debug/net6.0/WIDESEA_IStorageBasicRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/obj/Debug/net6.0/WIDESEA_IStorageBasicServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderRepository/obj/Debug/net6.0/WIDESEA_IStorageOutOrderRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderService/obj/Debug/net6.0/WIDESEA_IStorageOutOrderServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskRepository/obj/Debug/net6.0/WIDESEA_IStorageTaskRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/obj/Debug/net6.0/WIDESEA_IStorageTaskServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/Debug/net6.0/WIDESEA_IStoragIntegrationServices.assets.cache |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/Debug/net6.0/WIDESEA_IStoragIntegrationServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/project.assets.json |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/project.nuget.cache |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/WIDESEA_IStoragIntegrationServices.csproj.nuget.dgspec.json |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/WIDESEA_IStoragIntegrationServices.csproj.nuget.g.props |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/obj/Debug/net6.0/WIDESEA_Model.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Repository/obj/Debug/net6.0/WIDESEA_Repository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/Debug/net6.0/WIDESEA_Services.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/obj/Debug/net6.0/WIDESEA_StorageBasicRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/obj/Debug/net6.0/WIDESEA_StorageBasicServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderRepository/obj/Debug/net6.0/WIDESEA_StorageOutOrderRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageOutOrderServices/obj/Debug/net6.0/WIDESEA_StorageOutOrderServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskRepository/obj/Debug/net6.0/WIDESEA_StorageTaskRepository.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/obj/Debug/net6.0/WIDESEA_StorageTaskServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/obj/Debug/net6.0/WIDESEA_StoragIntegrationServices.assets.cache |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/obj/Debug/net6.0/WIDESEA_StoragIntegrationServices.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.assets.cache |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.GeneratedMSBuildEditorConfig.editorconfig |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/project.assets.json |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/project.nuget.cache |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/WIDESEA_Tasks.csproj.nuget.dgspec.json |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/Logs/202411/æ¥æ.docx |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json |
| | | /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/appsettings.json |
| | |
| | | } |
| | | |
| | | else if (process.env.NODE_ENV == 'production') { |
| | | axios.defaults.baseURL = 'http://115.159.85.185:9291/'; |
| | | axios.defaults.baseURL = 'http://127.0.0.1:9291/'; |
| | | } |
| | | if (!axios.defaults.baseURL.endsWith('/')) { |
| | | axios.defaults.baseURL+="/"; |
| | |
| | | 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.$Message.success("å¼å¯æå¡"); |
| | | }, |
| | | }); |
| | | }, |
| | |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Net.Http.Headers; |
| | | using System.Security.Policy; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | |
| | | { |
| | | public class HttpHelper |
| | | { |
| | | public static async Task<string> GetAsync(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null) |
| | | public static async Task<string> GetAsync(string serviceAddress, Dictionary<string, object> parameters, string contentType = "application/json", Dictionary<string, string>? headers = null) |
| | | { |
| | | try |
| | | { |
| | | string result = string.Empty; |
| | | using HttpClient httpClient = new HttpClient(); |
| | | httpClient.Timeout = new TimeSpan(0, 0, 60); |
| | | // å°åæ°æ¼æ¥å°URLä¸ |
| | | string queryString = string.Join("&", parameters.Select(x => $"{x.Key}={x.Value}")); |
| | | serviceAddress += "?" + queryString; |
| | | |
| | | foreach (var header in headers) |
| | | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); |
| | | if (headers != null) |
| | | { |
| | | foreach (var header in headers) |
| | | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); |
| | | } |
| | | |
| | | result = await httpClient.GetAsync(serviceAddress).Result.Content.ReadAsStringAsync(); |
| | | return result; |
| | |
| | | using HttpClient httpClient = new HttpClient(); |
| | | httpClient.Timeout = new TimeSpan(0, 0, 60); |
| | | |
| | | foreach (var header in headers) |
| | | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); |
| | | |
| | | if (headers != null) |
| | | { |
| | | foreach (var header in headers) |
| | | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); |
| | | } |
| | | result = await httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync(); |
| | | } |
| | | return result; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEAWCS_DTO.MOM |
| | | { |
| | | public class RequestEqptRunDto : BasicDto |
| | | { |
| | | /// <summary> |
| | | /// 人åå¯ç |
| | | /// </summary> |
| | | public string Password { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è®¾å¤æ¨¡å¼ |
| | | /// </summary> |
| | | public string EquipmentModel { get; set; } |
| | | } |
| | | } |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEAWCS_DTO.WMS |
| | | namespace WIDESEAWCS_DTO.WMS |
| | | { |
| | | public class RequestTaskDto |
| | | { |
| | |
| | | /// æçå· |
| | | /// </summary> |
| | | public string PalletCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 空æçå¯å
¥å··å° |
| | | /// </summary> |
| | | public string PositionList { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ç±»å |
| | | /// </summary> |
| | | public string RequestType { get; set; } = string.Empty; |
| | | } |
| | | } |
| | |
| | | using Newtonsoft.Json; |
| | | using SqlSugar; |
| | | using System.Diagnostics.CodeAnalysis; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | #region ç宿°æ® |
| | | #region 请æ±å
¥åºä»»å¡å··é |
| | | // TODO: è°ç¨æ¥å£è·åä¸ä¸ä¸ªå°å |
| | | //// å建请æ±å¯¹è±¡ |
| | | //RequestTaskDto request = new RequestTaskDto() |
| | | //{ |
| | | // Position = sourceAddress, |
| | | // PalletCode = palletCode, |
| | | //}; |
| | | |
| | | //// åé请æ±å¹¶çå¾
ååº |
| | | //var result = HttpHelper.PostAsync("http:127.0.0.1:8098/api/Task/RequestTaskAsync", request.ToJsonString()).Result; |
| | | |
| | | //// ååºååååºå
容 |
| | | //content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | |
| | | //// æ£æ¥ç¶æå¹¶è¿å |
| | | //if (!content.Status) |
| | | // return content; |
| | | |
| | | //// ååºåå任塿°æ® |
| | | //WMSTaskDTO task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | |
| | | //// å¤çä»»å¡å¹¶è¿åç»æ |
| | | //content = ReceiveWMSTask(new List<WMSTaskDTO> { task }); |
| | | |
| | | #endregion |
| | | |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | // å建请æ±å¯¹è±¡ |
| | | RequestTaskDto request = new RequestTaskDto() |
| | | { |
| | | TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")), |
| | | Grade = 1, |
| | | Position = sourceAddress, |
| | | PalletCode = palletCode, |
| | | RoadWay = "CHSC01", |
| | | SourceAddress = sourceAddress, |
| | | TargetAddress = "CHSC01", |
| | | TaskState = (int)TaskInStatusEnum.InNew, |
| | | Id = 0, |
| | | TaskType = (int)TaskInboundTypeEnum.Inbound |
| | | }; |
| | | |
| | | content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); |
| | | // åé请æ±å¹¶çå¾
ååº |
| | | var result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestTaskAsync", request.ToJsonString()).Result; |
| | | |
| | | // ååºååååºå
容 |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | |
| | | WMSTaskDTO task = new WMSTaskDTO(); |
| | | // æ£æ¥ç¶æå¹¶è¿å |
| | | if (!content.Status) |
| | | { |
| | | task = new WMSTaskDTO() |
| | | { |
| | | TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")), |
| | | Grade = 1, |
| | | PalletCode = palletCode, |
| | | RoadWay = "CHSC01", |
| | | SourceAddress = sourceAddress, |
| | | TargetAddress = "1020", |
| | | TaskState = (int)TaskOutStatusEnum.Line_OutExecuting, |
| | | Id = 0, |
| | | TaskType = (int)TaskOutboundTypeEnum.Outbound |
| | | }; |
| | | |
| | | Dt_Task task1 = _mapper.Map<Dt_Task>(task); |
| | | task1.CurrentAddress = task.SourceAddress; |
| | | task1.NextAddress = "1020"; |
| | | BaseDal.AddData(task1); |
| | | return content.OK(); |
| | | } |
| | | else |
| | | { |
| | | // ååºåå任塿°æ® |
| | | task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | // å¤çä»»å¡å¹¶è¿åç»æ |
| | | content = ReceiveWMSTask(new List<WMSTaskDTO> { task }); |
| | | } |
| | | |
| | | |
| | | |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | |
| | | if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish) |
| | | { |
| | | if (task.Roadway.Contains("CH")) |
| | | |
| | | #region å
¥åºè°ç¨æ¥å£è·åè´§ä½å°å |
| | | // TODO: è°ç¨æ¥å£è·åè´§ä½å°å |
| | | // å建请æ±å¯¹è±¡ |
| | | RequestTaskDto taskDto = new RequestTaskDto() |
| | | { |
| | | Random random = new Random(); |
| | | task.CurrentAddress = task.NextAddress; |
| | | task.NextAddress = $"{random.Next(1, 1).ToString().PadLeft(3, '0')}-{random.Next(0, 0).ToString().PadLeft(3, '0')}-{random.Next(1, 1).ToString().PadLeft(3, '0')}"; |
| | | task.TargetAddress = task.NextAddress; |
| | | } |
| | | else |
| | | { |
| | | Random random = new Random(); |
| | | task.CurrentAddress = task.NextAddress; |
| | | task.NextAddress = "002-020-001"; |
| | | task.TargetAddress = task.NextAddress; |
| | | } |
| | | Position = task.NextAddress, |
| | | PalletCode = task.PalletCode, |
| | | }; |
| | | |
| | | #region ç宿°æ® |
| | | // TODO: è°ç¨æ¥å£è·åä¸ä¸ä¸ªå°å |
| | | //// å建请æ±å¯¹è±¡ |
| | | //RequestTaskDto request = new RequestTaskDto() |
| | | //{ |
| | | // Position = task.NextAddress, |
| | | // PalletCode = task.PalletCode, |
| | | //}; |
| | | // åé请æ±å¹¶çå¾
ååº |
| | | var abc = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestLocationTaskAsync", taskDto.ToJsonString()).Result; |
| | | if (abc == null) |
| | | return content.Error(); |
| | | // ååºååååºå
容 |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(abc); |
| | | |
| | | //// åé请æ±å¹¶çå¾
ååº |
| | | //var result = HttpHelper.PostAsync("http:127.0.0.1:8098/api/Task/RequestTaskAsync", request.ToJsonString()).Result; |
| | | // æ£æ¥ç¶æå¹¶è¿å |
| | | if (!content.Status) |
| | | return content; |
| | | |
| | | //// ååºååååºå
容 |
| | | //content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | // ååºåå任塿°æ® |
| | | WMSTaskDTO taskResult = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | |
| | | //// æ£æ¥ç¶æå¹¶è¿å |
| | | //if (!content.Status) |
| | | // return content; |
| | | |
| | | //// ååºåå任塿°æ® |
| | | //WMSTaskDTO taskResult = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | |
| | | //task.CurrentAddress = task.NextAddress; |
| | | //task.NextAddress = taskResult.TargetAddress; |
| | | //task.TargetAddress = task.NextAddress; |
| | | task.CurrentAddress = task.NextAddress; |
| | | task.NextAddress = taskResult.TargetAddress; |
| | | task.TargetAddress = task.NextAddress; |
| | | #endregion |
| | | |
| | | } |
| | |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"人工æå¨å°ä»»å¡ç¶æä»ã{oldState}ã跳转å°ã{task.TaskState}ã" : $"ç³»ç»èªå¨æµç¨ï¼ä»»å¡ç¶æä»ã{oldState}ã转å°ã{task.TaskState}ã"); |
| | | |
| | | #region æ´æ°ä»»å¡ç¶æ |
| | | object request = new |
| | | { |
| | | TaskNum = task.TaskNum, |
| | | TaskState = task.TaskState |
| | | }; |
| | | var result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/UpdateTaskStatus", request.ToJsonString()).Result; |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | #endregion |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"å åæºåºåºå®æ"); |
| | | //todo 忥å°WMS |
| | | |
| | | |
| | | //æä¸èèå¤ä¸ªåºåºå£ |
| | | } |
| | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"å åæºå
¥åºå®æ"); |
| | | |
| | | |
| | | //var x = new { taskNum = taskNum }; |
| | | //var result = HttpHelper.GetAsync("http:127.0.0.1:8098/api/Task/CompleteTaskAsync", x.ToJsonString()).Result; |
| | | //content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | |
| | | //WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | //{ |
| | | // TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")), |
| | | // Grade = 1, |
| | | // PalletCode = task.PalletCode + "S", |
| | | // RoadWay = "SC01", |
| | | // SourceAddress = task.TargetAddress, |
| | | // TargetAddress = "CLOutAreaA", |
| | | // TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | // Id = 0, |
| | | // TaskType = (int)TaskOutboundTypeEnum.Outbound |
| | | //}; |
| | | |
| | | //content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) |
| | | { |
| | |
| | | { |
| | | throw new Exception($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{taskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); |
| | | } |
| | | |
| | | |
| | | #region WMS忥任å¡å®æ |
| | | var keys = new Dictionary<string, object>() |
| | | { |
| | | {"taskNum", taskNum} |
| | | }; |
| | | var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync", keys).Result; |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | #endregion |
| | | #region æ´æ°ä»»å¡ç¶æ |
| | | object request = new |
| | | { |
| | | TaskNum = task.TaskNum, |
| | | TaskState = task.TaskState |
| | | }; |
| | | result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/UpdateTaskStatus", request.ToJsonString()).Result; |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | #endregion |
| | | //content = WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | /// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param> |
| | | public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue) |
| | | { |
| | | // è·åä¸ä¸ä¸ªä»»å¡ |
| | | var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode); |
| | | //var taskOut = _taskService.QueryNextConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); |
| | | //return; |
| | | // å¤çåºåºä»»å¡ |
| | | HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task); |
| | | |
| | | // å¦ææ²¡æåºåºä»»å¡ï¼å¤çæ°ä»»å¡ |
| | | if (task == null) |
| | | try |
| | | { |
| | | HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue); |
| | | // è·åä¸ä¸ä¸ªä»»å¡ |
| | | var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode); |
| | | //var taskOut = _taskService.QueryNextConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); |
| | | //return; |
| | | // å¤çåºåºä»»å¡ |
| | | HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task); |
| | | |
| | | // å¦ææ²¡æåºåºä»»å¡ï¼å¤çæ°ä»»å¡ |
| | | if (task == null && command.Barcode != "NoRead") |
| | | { |
| | | HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue); |
| | | } |
| | | } |
| | | |
| | | #region èçæ¬ |
| | | |
| | | //var taskNew = _taskService.QueryCraneConveyorLineTask(command.Barcode.ObjToInt(), childDeviceCode); |
| | | //var Taskout = _taskService.QueryNextConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); |
| | | //if (Taskout != null) |
| | | //{ |
| | | // // 空æçä»»å¡ |
| | | // if (Taskout.TaskType == (int)TaskOutboundTypeEnum.OutTray) |
| | | // { |
| | | // ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(Taskout); |
| | | // taskCommand.InteractiveSignal = command.InteractiveSignal; |
| | | // if (command.Barcode == "") |
| | | // { |
| | | // var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == Taskout.TargetAddress).Capacity; |
| | | // taskCommand.TargetAddress = NGAddress; |
| | | // } |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | |
| | | // _taskService.UpdateTaskStatusToNext(Taskout); |
| | | // } |
| | | // else if (Taskout.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | // { |
| | | // ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(Taskout); |
| | | // taskCommand.InteractiveSignal = command.InteractiveSignal; |
| | | // if (Taskout.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) |
| | | // { |
| | | // if (command.Barcode == "") |
| | | // { |
| | | // var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == Taskout.TargetAddress).Capacity; |
| | | // taskCommand.TargetAddress = NGAddress; |
| | | // } |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | |
| | | // _taskService.UpdateTaskStatusToNext(Taskout); |
| | | // } |
| | | // else if (Taskout.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) |
| | | // { |
| | | // if (command.Barcode == "") |
| | | // { |
| | | // var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == Taskout.TargetAddress).Capacity; |
| | | // taskCommand.TargetAddress = NGAddress; |
| | | |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | // _taskService.UpdateTaskStatusToNext(Taskout); |
| | | // } |
| | | // else |
| | | // { |
| | | // // todo è°ç¨WMSä»»å¡å®ææ¥å£ |
| | | // var x = new { taskNum = Taskout.TaskNum }; |
| | | // var result = HttpHelper.GetAsync("http:127.0.0.1:8098/api/Task/CompleteTaskAsync", x.ToJsonString()).Result; |
| | | // WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | // if (content.Status) |
| | | // { |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | // _taskService.UpdateTaskStatusToNext(Taskout); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | //} |
| | | //if (taskNew == null) |
| | | //{ |
| | | // // åæ->éå空æçåæµ |
| | | // if (conveyorLine.DeviceCode == "1003" && childDeviceCode == "1016") |
| | | // { |
| | | // //TODO è°ç¨WMSå建åæ->éå空æçåæµ |
| | | // WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | // { |
| | | // TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")), |
| | | // Grade = 1, |
| | | // PalletCode = command.Barcode, |
| | | // RoadWay = "CHSC01", |
| | | // SourceAddress = childDeviceCode, |
| | | // TargetAddress = "CHSC01", |
| | | // TaskState = (int)TaskInStatusEnum.InNew, |
| | | // Id = 0, |
| | | // TaskType = (int)TaskInboundTypeEnum.InTray, |
| | | // }; |
| | | // WebResponseContent content = CreateAndSendTask(taskDTO); |
| | | // if (content.Status) |
| | | // { |
| | | // Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); |
| | | // if (task != null) |
| | | // { |
| | | // ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task); |
| | | // taskCommand.InteractiveSignal = command.InteractiveSignal; |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | |
| | | // _taskService.UpdateTaskStatusToNext(task); |
| | | // } |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // if (_taskService.RequestWMSTask(command.Barcode, childDeviceCode).Status) |
| | | // { |
| | | // Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); |
| | | // if (task != null) |
| | | // { |
| | | // ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task); |
| | | // taskCommand.InteractiveSignal = command.InteractiveSignal; |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | |
| | | // _taskService.UpdateTaskStatusToNext(task); |
| | | // } |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | #endregion |
| | | catch (Exception ex) |
| | | { |
| | | return; |
| | | } |
| | | } |
| | | |
| | | #region è¾é线请æ±å
¥åºä¸ä¸å°å |
| | | |
| | | /// <summary> |
| | | /// è¾é线请æ±å
¥åºä¸ä¸å°å |
| | |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) |
| | | { |
| | | Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); |
| | | if (task != null) |
| | | { |
| | | Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); |
| | | if (newTask != null) |
| | | { |
| | | ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask); |
| | | taskCommand.InteractiveSignal = command.InteractiveSignal; |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | } |
| | | } |
| | | } |
| | | //public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) |
| | | //{ |
| | | // Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); |
| | | // if (task != null) |
| | | // { |
| | | // Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); |
| | | // if (newTask != null) |
| | | // { |
| | | // ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask); |
| | | // taskCommand.InteractiveSignal = command.InteractiveSignal; |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// è¾é线å
¥åºå®æ |
| | |
| | | //conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode); |
| | | WebResponseContent content = _taskService.UpdateTaskStatusToNext(task); |
| | | |
| | | Console.Out.WriteLine(content.Serialize()); |
| | | //Console.Out.WriteLine(content.Serialize()); |
| | | } |
| | | } |
| | | |
| | |
| | | taskCommand.TargetAddress = 0; |
| | | } |
| | | |
| | | #region åWMS䏿¥ä»»å¡å®æ |
| | | |
| | | WMSTaskDTO wMSTaskDTO = new WMSTaskDTO(); |
| | | var result = HttpHelper.PostAsync("http:127.0.0.1:8098/api/Task/CompleteTaskAsync", (new { taskNum = command.TaskNum }).ToJsonString()).Result; |
| | | |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | |
| | | // æ£æ¥ç¶æå¹¶è¿å |
| | | if (!content.Status) |
| | | return; |
| | | |
| | | #endregion åWMS请æ±ç©ºæçä»»å¡ |
| | | |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | content = _taskService.UpdateTaskStatusToNext(task); |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å建任å¡å¹¶åéè¯·æ± |
| | | /// çæµç©ºæçå®çåºåº |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | /// <param name="index">线ä½å½åbool读ååç§»å°å</param> |
| | | public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform) |
| | | { |
| | | try |
| | | { |
| | | TaskOutboundTypeEnum taskOutboundTypeEnum; |
| | | if (platform.PlatformType.Contains("OutTray")) |
| | | taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray; |
| | | else |
| | | taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound; |
| | | await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker.Split(',')[0], platform.Stacker.Split(',').ToList()); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡ |
| | | /// </summary> |
| | | private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, List<string> roadways = null) |
| | | { |
| | | var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode); |
| | | if (tasks.Count < index) |
| | | { |
| | | #region è°ç¨WMSè·ååºåºä»»å¡ |
| | | |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO(); |
| | | object dynamic = new |
| | | { |
| | | position = childDeviceCode, |
| | | tag = (int)taskType, |
| | | areaCdoe = roadWay, |
| | | roadways = roadways |
| | | }; |
| | | var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString()); |
| | | |
| | | WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | |
| | | // æ£æ¥ç¶æå¹¶è¿å |
| | | if (!content.Status) |
| | | return; |
| | | |
| | | taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | |
| | | #endregion |
| | | |
| | | CreateAndSendTask(taskDTO); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå»ºä»»å¡ |
| | | /// </summary> |
| | | public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO) |
| | | { |
| | |
| | | Console.WriteLine($"{taskDTO.TaskType}å¼å«æå"); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// éå空æçåºåº |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | /// <param name="index">线ä½å½åbool读ååç§»å°å</param> |
| | | public void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform) |
| | | { |
| | | TaskOutboundTypeEnum taskOutboundTypeEnum; |
| | | if (platform.PlatformType.Contains("OutTray")) |
| | | taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray; |
| | | else |
| | | taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound; |
| | | CheckAndCreateTask(TaskOutboundTypeEnum.OutTray, childDeviceCode, index, platform.Stacker.Split(',')[0], platform.Stacker.Split(',').ToList()); |
| | | } |
| | | |
| | | #region |
| | | ///// <summary> |
| | | ///// éåå®çåºåº) |
| | | ///// </summary> |
| | | ///// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | ///// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | ///// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | ///// <param name="index">线ä½å½åbool读ååç§»å°å</param> |
| | | //public void ChuanhuaOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) |
| | | //{ |
| | | // CheckAndCreateTask(TaskOutboundTypeEnum.Outbound, childDeviceCode, "CHSC01", "001-001-001"); |
| | | //} |
| | | |
| | | ///// é置空æçåºåº |
| | | ///// </summary> |
| | | ///// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | ///// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | ///// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | ///// <param name="index">线ä½å½åbool读ååç§»å°å</param> |
| | | //public void EmptyTrayOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index) |
| | | //{ |
| | | // CheckAndCreateTask(TaskOutboundTypeEnum.OutTray, childDeviceCode, index, "JZSC01", "002-020-001"); |
| | | //} |
| | | ///// <summary> |
| | | ///// éç½®å®çåºåº |
| | | ///// </summary> |
| | | ///// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | ///// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | ///// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | ///// <param name="index">线ä½å½åbool读ååç§»å°å</param> |
| | | //public void JingzhiOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index) |
| | | //{ |
| | | // CheckAndCreateTask(TaskOutboundTypeEnum.Outbound, childDeviceCode, index, "JZSC01", "002-000-001"); |
| | | //} |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡ |
| | | /// </summary> |
| | | private void CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, List<string> roadways = null) |
| | | { |
| | | var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode); |
| | | if (tasks.Count < index) |
| | | { |
| | | //var taskDTO = new WMSTaskDTO() |
| | | //{ |
| | | // TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")), |
| | | // Grade = 1, |
| | | // PalletCode = DateTime.Now.ToString("yyyyMMddHHmmss"), |
| | | // RoadWay = roadWay, |
| | | // SourceAddress = sourceAddress, |
| | | // TargetAddress = childDeviceCode, |
| | | // TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | // Id = 0, |
| | | // TaskType = (int)taskType |
| | | //}; |
| | | #region è°ç¨WMSè·ååºåºä»»å¡ |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO(); |
| | | dynamic dynamic = new |
| | | { |
| | | position = childDeviceCode, |
| | | tag = (int)taskType, |
| | | areaCdoe = roadWay, |
| | | roadways = roadways |
| | | }; |
| | | var result = HttpHelper.PostAsync("http:127.0.0.1:8098/api/Task/RequestTaskAsync", dynamic.ToJsonString()).Result; |
| | | |
| | | WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | |
| | | // æ£æ¥ç¶æå¹¶è¿å |
| | | if (!content.Status) |
| | | return; |
| | | |
| | | taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | #endregion |
| | | |
| | | CreateAndSendTask(taskDTO); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | // æ´æ°ä»»å¡ç¶æ |
| | | _taskService.UpdateTaskStatusToNext(taskOut); |
| | | } |
| | | else if (taskOut.TaskType == (int)TaskOutboundTypeEnum.Outbound && taskOut.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) |
| | | else if (taskOut.TaskType == (int)TaskOutboundTypeEnum.OutTray && taskOut.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) |
| | | { |
| | | // 宿WMSä»»å¡ |
| | | CompleteWmsTask(taskOut, command, conveyorLine, childDeviceCode, ProtocalDetailValue); |
| | |
| | | // 请æ±WMS空æçä»»å¡ |
| | | CreateAndSendEmptyTrayTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue); |
| | | } |
| | | else if ((conveyorLine.DeviceCode == "1001" && childDeviceCode == "1088")||(conveyorLine.DeviceCode == "1004" && childDeviceCode == "1339")) |
| | | else if ((conveyorLine.DeviceCode == "1001" && childDeviceCode == "1088") || (conveyorLine.DeviceCode == "1004" && childDeviceCode == "1339")) |
| | | { |
| | | // 请æ±WMSå
¥åºä»»å¡ |
| | | RequestWmsTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue); |
| | |
| | | } |
| | | |
| | | // TODOè°ç¨WMSä»»å¡å®ææ¥å£ |
| | | var result = HttpHelper.GetAsync("http://127.0.0.1:8098/api/Task/CompleteTaskAsync", new { taskNum = taskOut.TaskNum }.ToJsonString()).Result; |
| | | var keys = new Dictionary<string, object>() |
| | | { |
| | | {"taskNum", taskOut.TaskNum} |
| | | }; |
| | | var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync", keys).Result; |
| | | WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | if (content.Status) |
| | | { |
| | |
| | | /// </summary> |
| | | private WMSTaskDTO CreateEmptyTrayTaskDto(string barcode, string childDeviceCode) |
| | | { |
| | | // å建并è¿å空æçä»»å¡DTO |
| | | //return new WMSTaskDTO |
| | | //{ |
| | | // TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")), |
| | | // Grade = 1, |
| | | // PalletCode = barcode, |
| | | // RoadWay = "JZSC01", |
| | | // SourceAddress = childDeviceCode, |
| | | // TargetAddress = "JZSC01", |
| | | // TaskState = (int)TaskInStatusEnum.InNew, |
| | | // Id = 0, |
| | | // TaskType = (int)TaskInboundTypeEnum.InTray, |
| | | //}; |
| | | |
| | | #region åWMS请æ±ç©ºæçä»»å¡ |
| | | |
| | | WMSTaskDTO wMSTaskDTO = new WMSTaskDTO(); |
| | | RequestTaskDto request = new RequestTaskDto() |
| | | { |
| | | Position = childDeviceCode, |
| | | PalletCode = barcode, |
| | | }; |
| | | var result = HttpHelper.PostAsync("http:127.0.0.1:8098/api/Task/RequestTaskAsync", request.ToJsonString()).Result; |
| | | var result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestTrayInTaskAsync", request.ToJsonString()).Result; |
| | | if (result == null) |
| | | return wMSTaskDTO; |
| | | |
| | | WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | |
| | | // æ£æ¥ç¶æå¹¶è¿å |
| | | if (!content.Status) |
| | | return wMSTaskDTO; |
| | |
| | | if (_taskService.RequestWMSTask(command.Barcode, childDeviceCode).Status) |
| | | { |
| | | // æ¥è¯¢ä»»å¡ |
| | | Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); |
| | | Dt_Task task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode); |
| | | if (task != null) |
| | | { |
| | | // æ å°ä»»å¡å½ä»¤ |
| | |
| | | CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (commonStackerCrane != null) |
| | | { |
| | | //EqptRun(commonStackerCrane); |
| | | //EqptAlive(commonStackerCrane); |
| | | //EqptStatus(commonStackerCrane); |
| | | //Console.Out.WriteLine(commonStackerCrane.DeviceName); |
| | | if (!commonStackerCrane.IsEventSubscribed) |
| | | { |
| | |
| | | return stackerCraneTaskCommand; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设å¤ä¸MOMç³»ç»å¯¹æ¥ï¼è®¾å¤ä¸çº¿ |
| | | /// </summary> |
| | | /// <param name="commonStackerCrane"></param> |
| | | public async void EqptRun(CommonStackerCrane commonStackerCrane) |
| | | { |
| | | if (!commonStackerCrane.StackerOnline) |
| | | { |
| | | BasicDto dto = new BasicDto |
| | | { |
| | | EmployeeNo = "T00001", |
| | | EquipmentCode = commonStackerCrane.DeviceCode, |
| | | RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), |
| | | SessionId = Guid.NewGuid().ToString(), |
| | | Software = commonStackerCrane.DeviceName, |
| | | }; |
| | | var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptRun", dto.ToJsonString()); |
| | | if (respone != null) |
| | | { |
| | | var result = JsonConvert.DeserializeObject<ResponseEqptRunDto>(respone); |
| | | if (result != null && result.Success) |
| | | { |
| | | var process = _processRepository.QueryData(x => x.EquipmentName == commonStackerCrane.DeviceName).FirstOrDefault(); |
| | | if (process == null) |
| | | { |
| | | ResponeRunDto runDto = JsonConvert.DeserializeObject<ResponeRunDto>(respone); |
| | | process = new Dt_EquipmentProcess() |
| | | { |
| | | EquipmentName = commonStackerCrane.DeviceCode, |
| | | EquipmentType = commonStackerCrane.DeviceName.Substring(commonStackerCrane.DeviceCode.IndexOf("å åæº")), |
| | | WipOrderNo = runDto.WipOrderNo, |
| | | ProductDesc = runDto.ProductDesc, |
| | | ProcessValue = JsonConvert.SerializeObject(result) |
| | | }; |
| | | var isResult = await _processRepository.AddDataAsync(process) > 0; |
| | | } |
| | | else |
| | | { |
| | | process.ProcessValue = JsonConvert.SerializeObject(result); |
| | | var isResult = await _processRepository.UpdateDataAsync(process); |
| | | } |
| | | commonStackerCrane.StackerOnline = true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设å¤å¿è·³ |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设å¤ç¶æ |
| | | /// </summary> |
| | | /// <param name="commonStackerCrane"></param> |
| | | public async void EqptStatus(CommonStackerCrane commonStackerCrane) |
| | | { |
| | | string code = string.Empty; |
| | | RequestAlertDto requestAlert = new RequestAlertDto() |
| | | { |
| | | EmployeeNo = "T00001", |
| | | EquipmentCode = commonStackerCrane.DeviceCode, |
| | | RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), |
| | | SessionId = Guid.NewGuid().ToString(), |
| | | Software = commonStackerCrane.DeviceName, |
| | | AlertInfo = new List<AlertInfoDto>() |
| | | }; |
| | | switch (commonStackerCrane.Status) |
| | | { |
| | | case DeviceStatus.Idle: |
| | | code = "Waiting"; |
| | | break; |
| | | |
| | | case DeviceStatus.Working: |
| | | code = "Running"; |
| | | break; |
| | | |
| | | case DeviceStatus.Fault: |
| | | code = "Alerting"; |
| | | var alert = new AlertInfoDto() |
| | | { |
| | | AlertCode = "1001", |
| | | AlertDescription = commonStackerCrane.StackerCraneStatusDes, |
| | | AlertReset = "1" |
| | | }; |
| | | requestAlert.AlertInfo.Add(alert); |
| | | |
| | | await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", requestAlert.ToJsonString()); |
| | | |
| | | break; |
| | | |
| | | case DeviceStatus.Unkonw: |
| | | code = "Down"; |
| | | break; |
| | | |
| | | case DeviceStatus.Offline: |
| | | code = "Maintenance"; |
| | | break; |
| | | |
| | | default: |
| | | break; |
| | | } |
| | | if (code != "Alerting") |
| | | { |
| | | requestAlert.AlertInfo = new List<AlertInfoDto>(); |
| | | var alert = new AlertInfoDto() |
| | | { |
| | | AlertCode = "1001", |
| | | AlertDescription = commonStackerCrane.StackerCraneStatusDes, |
| | | AlertReset = "0" |
| | | }; |
| | | await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", requestAlert.ToJsonString()); |
| | | } |
| | | RequestEqptStatusDto requestEqptStatus = new RequestEqptStatusDto() |
| | | { |
| | | EmployeeNo = "T00001", |
| | | EquipmentCode = commonStackerCrane.DeviceCode, |
| | | RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), |
| | | SessionId = Guid.NewGuid().ToString(), |
| | | Software = commonStackerCrane.DeviceName, |
| | | ChangeTime = DateTime.Now.ToString(), |
| | | Description = commonStackerCrane.StackerCraneStatusDes, |
| | | LocationID = "NA", |
| | | ReasonCode = "123", |
| | | StatusCode = code |
| | | }; |
| | | var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptStatus", requestEqptStatus.ToJsonString()); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | }, |
| | | { |
| | | path: '/zzzz', |
| | | name: 'zzzz', |
| | | component: () => import('@/views/widesea_wms/MOM/zzzz.vue'), |
| | | path: '/ProductionModel', |
| | | name: 'ProductionModel', |
| | | component: () => import('@/views/widesea_wms/MOM/ProductionModel.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <vol-box v-model="showDetialBox" :lazy="true" :height="350" :width="600" :padding="15" title="ææ¡å±æ§ç»´æ¤"> |
| | | <el-form :inline="true" :model="TrayBarcodePropertys" label-width="auto" class="demo-form-inline"> |
| | | <el-form-item label="ææ¡å±æ§:"> |
| | | <el-input v-model="TrayBarcodePropertys.TrayBarcodeProperty" placeholder="ææ¡å±æ§" /> |
| | | </el-form-item> |
| | | <el-form-item label="æç容é:"> |
| | | <el-input v-model="TrayBarcodePropertys.Capacity" placeholder="æç容é" /> |
| | | </el-form-item> |
| | | <el-button @click="addProductType" type="primary">æ·»å 产åå·¥åº</el-button> |
| | | <el-button @click="save" type="success">æäº¤æ°æ®</el-button> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="å·¥åº:" v-for="(input, index) in TrayBarcodePropertys.ProcessCodes" |
| | | :key="index"> |
| | | <el-input v-model="input.ProcessCode" placeholder="å·¥åº" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="产åç±»å:" v-for="(input, index) in TrayBarcodePropertys.ProductTypes" |
| | | :key="index"> |
| | | <el-input v-model="input.ProductType" placeholder="产åç±»å" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </vol-box> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import VolBox from "@/components/basic/VolBox.vue"; |
| | | import http from "@/../src/api/http.js"; |
| | | export default { |
| | | components: { VolBox }, |
| | | data() { |
| | | return { |
| | | showDetialBox: false, |
| | | TrayBarcodePropertys: { |
| | | TrayBarcodeProperty: '', |
| | | Capacity: 0, |
| | | ProcessCodes: [{ ProcessCode: '', }], |
| | | ProductTypes: [{ ProductType: '', }] |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | addProductType() { |
| | | this.TrayBarcodePropertys.ProductTypes.push({ ProductType: '' }) |
| | | this.TrayBarcodePropertys.ProcessCodes.push({ ProcessCode: '' }) |
| | | }, |
| | | open() { |
| | | this.showDetialBox = true |
| | | }, |
| | | save() { |
| | | console.log(this.TrayBarcodePropertys) |
| | | let data = ({...this.TrayBarcodePropertys, ProcessCodes:JSON.stringify(this.TrayBarcodePropertys.ProcessCodes) , ProductTypes:JSON.stringify(this.TrayBarcodePropertys.ProductTypes)}); |
| | | |
| | | debugger; |
| | | http.post('api/Production/AddData', data).then(res => { |
| | | if (res.code == 200) { |
| | | // ElMessage.success(res.msg) |
| | | this.$message.success('æ·»å æå') |
| | | this.$parent.load(); |
| | | } else { |
| | | // ElMessage.error(res.msg) |
| | | this.$message.error(x.message) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /***************************************************************************************** |
| | | ** 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æä»¶æ¯ç¨æ¥èªå®ä¹æ©å±ä¸å¡ä»£ç ï¼å¯ä»¥æ©å±ä¸äºèªå®ä¹é¡µé¢æè
éæ°é
ç½®çæç代ç |
| | | import gridBody from "./Extend/Add.vue"; //èªå®ä¹æ©å±æ¥è¯¢çé¢ä¸è¡¨æ ¼ä½ç»ä»¶ |
| | | |
| | | let extension = { |
| | | components: { |
| | | //æ¥è¯¢ç颿©å±ç»ä»¶ |
| | | gridHeader: '', |
| | | gridBody: 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 () { |
| | | console.log("ð ~ onInit ~ gridBody:", gridBody) |
| | | this.$refs.gridBody.open(); |
| | | } |
| | | }); |
| | | |
| | | //示ä¾ï¼è®¾ç½®ä¿®æ¹æ°å»ºãç¼è¾å¼¹åºæ¡å段æ ç¾çé¿åº¦ |
| | | 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; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- |
| | | *Authorï¼jxx |
| | | *Contactï¼283591387@qq.com |
| | | *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç |
| | | *ä¸å¡è¯·å¨@/extension/widesea_wms/material/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 "./ProductionModel.js"; |
| | | import { ref, defineComponent } from "vue"; |
| | | export default defineComponent({ |
| | | setup() { |
| | | const table = ref({ |
| | | key: 'materielID', |
| | | footer: "Foots", |
| | | cnName: 'ææ¡å±æ§', |
| | | name: 'ProductionModel', |
| | | url: "/Production/", |
| | | sortName: "MaterielID" |
| | | }); |
| | | const editFormFields = ref({ |
| | | "TrayBarcodeProperty": "", |
| | | "Capacity": "", |
| | | |
| | | }); |
| | | const editFormOptions = ref([ |
| | | [ |
| | | { "title": "ææ¡å±æ§", "field": "TrayBarcodeProperty", type: "text" }, |
| | | { "title": "æç容é", "field": "Capacity", type: "text" }, |
| | | ] |
| | | ]); |
| | | const searchFormFields = ref({}); |
| | | const searchFormOptions = ref([ |
| | | [ |
| | | { "title": "ææ¡å±æ§", "field": "TrayBarcodeProperty", type: "text" }, |
| | | { "title": "æç容é", "field": "Capacity", type: "text" }, |
| | | ] |
| | | ]); |
| | | const columns = ref([{ field: 'id', title: 'ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' }, |
| | | { field: 'trayBarcodeProperty', title: 'ææ¡å±æ§', type: 'string', width: 110, align: 'left', sort: true }, |
| | | { field: 'processCodes', title: 'å·¥åºéå', type: 'string', width: 120, align: 'left' }, |
| | | { field: 'productTypes', title: 'ç©æç¼ç /å·¥èºåå·éå', type: 'string', width: 110, align: 'left' }, |
| | | { field: 'capacity', 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> |
| | |
| | | [ImporterHeader(Name = "å建è
")] |
| | | [ExporterHeader(DisplayName = "å建è
")] |
| | | [SugarColumn(IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "å建è
")] |
| | | public string Creater { get; set; } |
| | | public string Creater { get; set; } = "Systeam"; |
| | | |
| | | /// <summary> |
| | | /// å建æ¶é´ |
| | |
| | | { |
| | | // ä½¿ç¨ myScopedService æ§è¡ä»»å¡ |
| | | |
| | | //await DBSeed.SeedAsync(_dbContext, _webRootPath); |
| | | await DBSeed.SeedAsync(_dbContext, _webRootPath); |
| | | |
| | | //å¤ç§æ· 忥 |
| | | //await DBSeed.TenantSeedAsync(_dbContext); |
| | |
| | | /// æçå· |
| | | /// </summary> |
| | | public string PalletCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 空æçå¯å
¥å··å° |
| | | /// </summary> |
| | | public string PositionList { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ç±»å |
| | | /// </summary> |
| | | public string RequestType { get; set; } = string.Empty; |
| | | } |
| | | |
| | | public class RequestOutTaskDto |
| | | { |
| | | public string Position { get; set; } |
| | | public int Tag { get; set; } |
| | | public string AreaCdoe { get; set; } |
| | | public List<string> Roadways { get; set; } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEA_DTO |
| | | { |
| | | public class UpdateStatusDto |
| | | { |
| | | /// <summary> |
| | | /// ä»»å¡å· |
| | | /// </summary> |
| | | public int TaskNum { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ç¶æ |
| | | /// </summary> |
| | | public int TaskState { get; set; } |
| | | } |
| | | } |
ÎļþÃû´Ó Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResultTrayCellsStatus.cs ÐÞ¸Ä |
| | |
| | | namespace WIDESEA_DTO.MOM |
| | | { |
| | | /// <summary> |
| | | /// æççµè¯ç¶æ |
| | | /// </summary> |
| | | public class ResultTrayCellsStatus : BasicResult |
| | | { |
| | | /// <summary> |
| | |
| | | /// ç»å®ä»£ç |
| | | /// </summary> |
| | | public string BindCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç产产线 |
| | | /// </summary> |
| | | public string ProductionLine { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å½åå·¥èºå·¥åºä»£ç |
| | | /// </summary> |
| | | public string ProcessCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ææ¡å±æ§å表 |
| | |
| | | /// </summary> |
| | | public int PositionNo { get; set; } |
| | | |
| | | //public string BindCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// çµè¯ç¶æ |
| | | /// </summary> |
| | |
| | | /// <summary> |
| | | /// å·¥åº |
| | | /// </summary> |
| | | public string ProcessCode { get; set; } |
| | | public List<ProcessCodes> ProcessCodes { get; set; } = new List<ProcessCodes>(); |
| | | |
| | | /// <summary> |
| | | /// æç容é |
| | | /// </summary> |
| | | public double Capacity { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éç¨ç©æç¼ç /å·¥èºåå· |
| | | /// </summary> |
| | | public List<ProductTypes> ProductType { get; set; } = new List<ProductTypes>(); |
| | | } |
| | | |
| | | public class ProcessCodes |
| | | { |
| | | /// <summary> |
| | | /// å·¥åº |
| | | /// </summary> |
| | | public string ProcessCode { get; set; } |
| | | } |
| | | |
| | | public class ProductTypes |
| | | { |
| | | /// <summary> |
| | | /// éç¨ç©æç¼ç /å·¥èºåå· |
| | | /// </summary> |
| | | public string ProductType { get; set; } |
| | |
| | | /// <summary> |
| | | /// 表示工èºè·¯çº¿ä¸è®¾å¤åæ°ä¿¡æ¯ç模åã |
| | | /// </summary> |
| | | public class EquipmentParameterInfo |
| | | public class EBParameterInfo |
| | | { |
| | | /// <summary> |
| | | /// åæ°ç¼ç ã |
| | |
| | | [Required(ErrorMessage = "设å¤åæ°ä¿¡æ¯æ¯å¦å¯ç¨æ¯å¿
填项ã")] |
| | | public string EquipmentAvailabilityFlag { get; set; } |
| | | } |
| | | |
| | | |
| | | public class ResponseEqptRunDto : BasicResult |
| | | { |
| | | /// <summary> |
| | | /// 产ååç§° |
| | | /// </summary> |
| | | public string ProductDesc { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¦ä»¶æ°é |
| | | /// </summary> |
| | | public string FirstArticleNum { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è°æºæ°é |
| | | /// </summary> |
| | | public string DebugNum { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åæ°çæ¬ä¿¡æ¯ |
| | | /// </summary> |
| | | public string ParamVersion { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦éè¦è¯»ååæ° |
| | | /// </summary> |
| | | public bool ParamRefreshFlag { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åæ°ä¿¡æ¯ |
| | | /// </summary> |
| | | public List<EBParameterInfo> ParameterInfo { get; set; } |
| | | } |
| | | } |
| | |
| | | |
| | | namespace WIDESEA_DTO.MOM |
| | | { |
| | | /// <summary> |
| | | /// å
¥åº |
| | | /// </summary> |
| | | public class ResponeAgingInputDto : BasicResult |
| | | { |
| | | /// <summary> |
| | |
| | | public string BindCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç产产线 |
| | | /// </summary> |
| | | public string ProductionLine { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å
³èå·¥åºè¿åæ¶é´ï¼è®°å½æ³¨æ¶²æéç½®æ¶é¿ã |
| | | /// </summary> |
| | | public string LinedProcessFeedbackTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç¹å¾åæ°è¿å(éç½®æ¶é¿) |
| | | /// </summary> |
| | | public string SpecialParameterDuration { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½ |
| | | /// </summary> |
| | | public string UomCode { get; set; } |
| | | } |
| | | } |
| | |
| | | Task<WebResponseContent> CompleteAsync(int taskNum); |
| | | |
| | | /// <summary> |
| | | /// 请æ±ä»»å¡ |
| | | /// 请æ±ä»»å¡å··é |
| | | /// </summary> |
| | | /// <param name="position"></param> |
| | | /// <param name="areaCode"></param> |
| | |
| | | Task<WebResponseContent> RequestTaskAsync(RequestTaskDto input); |
| | | |
| | | /// <summary> |
| | | /// 请æ±ä»»å¡è´§ä½ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> UpdateExistingTask(RequestTaskDto input); |
| | | |
| | | /// <summary> |
| | | /// 请æ±ç©ºæçä»»å¡ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> RequestTrayInTaskAsync(RequestTaskDto input); |
| | | |
| | | /// <summary> |
| | | /// è¯·æ±æçä»»å¡ |
| | | /// </summary> |
| | | /// <param name="position">ç®æ ä½ç½®</param> |
| | |
| | | /// <param name="areaCode">åºåç¼ç </param> |
| | | /// <param name="roadways">å··éå表</param> |
| | | /// <returns>è¿åç»æé</returns> |
| | | Task<WebResponseContent> RequestTrayTaskAsync(string position, int tag, string areaCode, List<string> roadways); |
| | | Task<WebResponseContent> RequestTrayOutTaskAsync(string position, int tag, string areaCode, List<string> roadways); |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ç¶æä¿®æ¹ |
| | | /// </summary> |
| | | /// <param name="input">è¯·æ±æ°æ®</param> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState); |
| | | |
| | | } |
| | |
| | | [SugarColumn(IsNullable = true, ColumnDescription = "夿³¨")] |
| | | public string Remark { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å
³èå·¥åºè¿åæ¶é´ï¼æ³¨æ¶²\éç½®æ¶é¿ï¼ |
| | | /// </summary> |
| | | public string LinedProcessFeedbackTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç¹å¾åæ°è¿å(éç½®æ¶é¿) |
| | | /// </summary> |
| | | public string SpecialParameterDuration { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¼ç |
| | |
| | | /// è´§ä½æ°æ® |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "LocationInfo")] |
| | | [Navigate(NavigateType.OneToOne,nameof(LocationCode), nameof(DtLocationInfo.LocationCode))] |
| | | [Navigate(NavigateType.OneToOne, nameof(LocationCode), nameof(DtLocationInfo.LocationCode))] |
| | | public DtLocationInfo? LocationInfo { get; set; } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using Newtonsoft.Json; |
| | | using SqlSugar; |
| | | using WIDESEA_Core.DB.Models; |
| | | |
| | | namespace WIDESEA_Model.Models |
| | | { |
| | | /// <summary> |
| | | /// 表示ç产è¿ç¨ä¸çææ¡å±æ§åç¸å
³å·¥åºä¿¡æ¯ç模åã |
| | | /// </summary> |
| | | [SugarTable("ProductionModel", "ææ¡å±æ§")] |
| | | public class ProductionModel : BaseEntity |
| | | { |
| | | /// <summary> |
| | | /// å¤ æ³¨:主é®ï¼èªå¨å¢é¿ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主é®ï¼èªå¨å¢é¿")] |
| | | public int Id { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ææ¡å±æ§ï¼ç¨äºæ è¯ææ¡çå¯ä¸å±æ§ã |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "TrayBarcodeProperty", ColumnDescription = "ææ¡å±æ§", IsNullable = false)] |
| | | public string TrayBarcodeProperty { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å·¥åºéåï¼å
嫿æç¸å
³çå·¥åºä»£ç ã |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "ProcessCodes", ColumnDescription = "å·¥åºéå", IsNullable = false, Length = int.MaxValue)] |
| | | public string ProcessCodes { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éç¨ç©æç¼ç /å·¥èºåå·éåï¼å
嫿æç¸å
³çç©æç¼ç æå·¥èºåå·ã |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "ProductTypes", ColumnDescription = "éç¨ç©æç¼ç ", IsNullable = false, Length = int.MaxValue)] |
| | | public string ProductTypes { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æç容éï¼è¡¨ç¤ºææ¡å¯ä»¥æ¿è½½çæå¤§ç©åæ°éã |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "Capacity", ColumnDescription = "æç容é", IsNullable = false)] |
| | | public int Capacity { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è·åæè®¾ç½®å·¥åºéåï¼ååºååJSONå符串为List<ProcessCodes>ã |
| | | /// </summary> |
| | | [SugarColumn(IsIgnore = true)] |
| | | public List<ProcessCodesDTO> GetProcessCodes |
| | | { |
| | | get { return JsonConvert.DeserializeObject<List<ProcessCodesDTO>>(ProcessCodes); } |
| | | set { ProcessCodes = JsonConvert.SerializeObject(value); } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åæè®¾ç½®éç¨ç©æç¼ç /å·¥èºåå·éåï¼ååºååJSONå符串为List<string>ã |
| | | /// </summary> |
| | | [SugarColumn(IsIgnore = true)] |
| | | public List<ProductTypesDTO> GetProductTypes |
| | | { |
| | | get { return JsonConvert.DeserializeObject<List<ProductTypesDTO>>(ProductTypes); } |
| | | set { ProductTypes = JsonConvert.SerializeObject(value); } |
| | | } |
| | | } |
| | | |
| | | public class ProcessCodesDTO |
| | | { |
| | | /// <summary> |
| | | /// å·¥åº |
| | | /// </summary> |
| | | public string ProcessCode { get; set; } |
| | | } |
| | | |
| | | public class ProductTypesDTO |
| | | { |
| | | /// <summary> |
| | | /// éç¨ç©æç¼ç /å·¥èºåå· |
| | | /// </summary> |
| | | public string ProductType { get; set; } |
| | | } |
| | | } |
| | |
| | | { |
| | | input.SessionId = Guid.NewGuid().ToString(); |
| | | input.EmployeeNo = "T00001"; |
| | | input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); ; |
| | | input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); |
| | | var inputJson = input.ToDictionary(); |
| | | var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/AgingOutput", inputJson); |
| | | content.OK(data: x); |
| | | LogFactory.GetLog("éç½®éååºåºï¼æ´æçï¼").Info(true, $"\r\r--------------------------------------"); |
| | | LogFactory.GetLog("éç½®éååºåºï¼æ´æçï¼").Info(true, x); |
| | | content.OK(); |
| | | } |
| | | catch (Exception err) |
| | | { |
| | |
| | | var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/ProcessApply", inputIson); |
| | | if (x != null) |
| | | { |
| | | var ResultProcess = JsonConvert.DeserializeObject<ResultProcessApply>(x); |
| | | content.OK(data: ResultProcess); |
| | | //var ResultProcess = JsonConvert.DeserializeObject<ResultProcessApply>(x); |
| | | content.OK(data: x); |
| | | } |
| | | LogFactory.GetLog("å·¥èºè·¯çº¿ç³è¯·").Info(true, $"\r\r--------------------------------------"); |
| | | LogFactory.GetLog("å·¥èºè·¯çº¿ç³è¯·").Info(true, x); |
| | |
| | | try |
| | | { |
| | | input.SessionId = Guid.NewGuid().ToString(); |
| | | input.Software = "WMS"; |
| | | input.EquipmentCode = "ECH001-B"; |
| | | input.EmployeeNo = "T00001"; |
| | | input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); |
| | | var inputJson = input.ToDictionary(); |
| | |
| | | try |
| | | { |
| | | input.SessionId = Guid.NewGuid().ToString(); |
| | | input.Software = "éåæº"; |
| | | input.EquipmentCode = "P1K10040"; |
| | | input.Software = "WMS"; |
| | | input.EquipmentCode = "ECH001-B"; |
| | | input.EmployeeNo = "T00001"; |
| | | input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); |
| | | var inputJson = input.ToDictionary(); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEA_StorageBasicRepository |
| | | { |
| | | public interface IProductionRepository : IRepository<ProductionModel> |
| | | { |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEA_StorageBasicRepository |
| | | { |
| | | public class ProductionRepository : RepositoryBase<ProductionModel>, IProductionRepository |
| | | { |
| | | public ProductionRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) |
| | | { |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | namespace WIDESEA_StorageBasicServices; |
| | | |
| | | public interface IProductionService : IService<ProductionModel> |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using WIDESEA_StorageBasicRepository; |
| | | |
| | | namespace WIDESEA_StorageBasicServices; |
| | | |
| | | public class ProductionService : ServiceBase<ProductionModel, IProductionRepository>, IProductionService |
| | | { |
| | | public ProductionService(IProductionRepository BaseDal) : base(BaseDal) |
| | | { |
| | | } |
| | | } |
| | |
| | | private readonly IProcessApplyService _processApplyService; //å·¥èºè·¯çº¿ |
| | | private readonly IDt_AreaInfoRepository _areaInfoRepository; //åºå |
| | | private readonly IAgingInOrOutInputService _agingInOrOutInputService; //éç½®\éå |
| | | private readonly IProductionRepository _productionRepository; //ç产 |
| | | |
| | | public Dt_TaskService(IDt_TaskRepository BaseDal, |
| | | IUnitOfWorkManage unitOfWorkManage, |
| | |
| | | IProcessApplyService processApplyService, |
| | | IDt_AreaInfoRepository areaInfoRepository, |
| | | IAgingInOrOutInputService agingInOrOutInputService, |
| | | IStockInfoDetailRepository stockInfoDetailRepository) : base(BaseDal) |
| | | IStockInfoDetailRepository stockInfoDetailRepository, |
| | | IProductionRepository productionRepository) : base(BaseDal) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _outOrderRepository = outOrderRepository; |
| | |
| | | _areaInfoRepository = areaInfoRepository; |
| | | _agingInOrOutInputService = agingInOrOutInputService; |
| | | _stockInfoDetailRepository = stockInfoDetailRepository; |
| | | _productionRepository = productionRepository; |
| | | } |
| | | |
| | | #region å¤é¨æ¥å£æ¹æ³ |
| | | |
| | | #region åºåºä»»å¡å®æ |
| | | |
| | | /// <summary> |
| | | /// åºåºä»»å¡å®æ |
| | | /// </summary> |
| | | /// <param name="saveModel">任塿°æ®åé</param> |
| | | /// <returns>è¿åç»æé</returns> |
| | | //public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock) |
| | | //{ |
| | | // WebResponseContent content = new WebResponseContent(); |
| | | // try |
| | | // { |
| | | // if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | // { |
| | | // var process = await SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>() |
| | | // .FirstAsync(x => x.EquipmentName == task.Roadway); |
| | | // EquipmentParameterInfo info = JsonConvert.DeserializeObject<EquipmentParameterInfo>(process.ProcessValue); |
| | | // AgingOutputDto agingOutputDto = new AgingOutputDto() |
| | | // { |
| | | // OpFlag = 1, |
| | | // EquipmentCode = stock.LocationInfo.RoadwayNo, |
| | | // TrayBarcode = stock.PalletCode, |
| | | // SerialNos = stock.StockInfoDetails.Select(x => new SerialNoOutDto() |
| | | // { |
| | | // SlotNo = x.OrderNo.ToInt32(), |
| | | // SerialNo = x.SerialNumber, |
| | | // SerialNoResult = true, |
| | | // ParameterInfo = new List<ParameterInfo>() |
| | | // { |
| | | // new ParameterInfo() |
| | | // { |
| | | // LowerLomit =info.LowerControlLimit, |
| | | // UpperLimit = info.UpperControlLimit, |
| | | // ParameterResult = info.EquipmentAvailabilityFlag, |
| | | // ParameterCode = info.ParameterCode, |
| | | // ParameterDesc = info.Description, |
| | | // TargetValue = info.TargetValue, |
| | | // Value = info.TargetValue, |
| | | // DefectCode = info.UOMCode |
| | | // } |
| | | // } |
| | | // }).ToList() |
| | | // }; |
| | | // content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto); |
| | | // var result = JsonConvert.DeserializeObject<BasicResult>(content.ToString()); |
| | | // if (!result.Success) |
| | | // { |
| | | // throw new Exception(result.MOMMessage); |
| | | // } |
| | | // } |
| | | // // æ´æ°åºåç¶æ |
| | | // var loation = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress); |
| | | // var detail = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id); |
| | | |
| | | // // 设置åºä½ç¶æä¸ºç©ºé² |
| | | // loation.LocationStatus = LocationEnum.Free.ObjToInt(); |
| | | |
| | | // // æ´æ°ä»»å¡ç¶æ |
| | | // task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt(); |
| | | // task.CurrentAddress = task.NextAddress; |
| | | // task.NextAddress = task.TargetAddress; |
| | | |
| | | // LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "å åæºåºåºå®æ", "æ´æ°åºåç¶æä¸ä»»å¡ç¶æ"); |
| | | |
| | | // // äºå¡å¤ç |
| | | // // å¼å§äºå¡ |
| | | // _unitOfWorkManage.BeginTran(); |
| | | // // å é¤åºåä¿¡æ¯ |
| | | // var isStockUpdated = _stockInfoRepository.DeleteDataById(stock.Id); |
| | | // // å é¤åºåä¿¡æ¯ |
| | | // var isStockDetailUpdated = _stockInfoDetailRepository.DeleteDataByIds(detail.Select(x => (object)x.Id).ToArray()); |
| | | // // å é¤ä»»å¡ä¿¡æ¯ |
| | | // var isTaskUpdated = BaseDal.DeleteDataById(task.TaskId); |
| | | |
| | | // // 妿åºåä¿¡æ¯åä»»å¡ä¿¡æ¯é½æ´æ°æå |
| | | // if (isStockUpdated && isTaskUpdated && isStockDetailUpdated) |
| | | // { |
| | | // // è®°å½æ¥å¿ |
| | | // LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "å åæºåºåºå®æ", $"äºå¡å¤ç宿ï¼åºåç¶ææ´æ°ï¼{isStockUpdated}ï¼ä»»å¡ç¶ææ´æ°:{isTaskUpdated}"); |
| | | // // æäº¤äºå¡ |
| | | // _unitOfWorkManage.CommitTran(); |
| | | // // è¿åæåç»æ |
| | | // return content.OK("ä»»å¡å®ææå"); |
| | | // } |
| | | // else |
| | | // { |
| | | // // è®°å½æ¥å¿ |
| | | // LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "å åæºåºåºå®æ", $"äºå¡å¤ç失败ï¼åºåç¶ææ´æ°ï¼{isStockUpdated}ï¼ä»»å¡ç¶ææ´æ°:{isTaskUpdated}"); |
| | | // // åæ»äºå¡ |
| | | // _unitOfWorkManage.RollbackTran(); |
| | | // // è¿åå¤±è´¥ç»æ |
| | | // return content.Error("任塿åºåæ´æ°å¤±è´¥"); |
| | | // } |
| | | // } |
| | | // catch (Exception err) |
| | | // { |
| | | // LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, $"ç³»ç»å¼å¸¸ï¼å¼å¸¸ä¿¡æ¯ï¼{err.Message}", ""); |
| | | // Console.WriteLine(err.Message); |
| | | // return content.Error(err.Message); |
| | | // } |
| | | //} |
| | | |
| | | public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock) |
| | | { |
| | |
| | | { |
| | | var process = await SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>() |
| | | .FirstAsync(x => x.EquipmentName == task.Roadway); |
| | | var info = JsonConvert.DeserializeObject<EquipmentParameterInfo>(process.ProcessValue); |
| | | var info = JsonConvert.DeserializeObject<ResponseEqptRunDto>(process.ProcessValue); |
| | | |
| | | var agingOutputDto = MapToAgingOutputDto(stock, info); |
| | | content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto); |
| | |
| | | await UpdateLocationAsync(loc); |
| | | await DeleteStockInfoAsync(stock.Id); |
| | | await DeleteStockInfoDetailsAsync(stock.StockInfoDetails); |
| | | await DeleteTaskAsync(task.TaskId); |
| | | //await DeleteTaskAsync(task.TaskId); |
| | | }); |
| | | |
| | | return content.OK("ä»»å¡å®ææå"); |
| | |
| | | } |
| | | } |
| | | |
| | | private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, EquipmentParameterInfo info) |
| | | private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, ResponseEqptRunDto info) |
| | | { |
| | | // TODO Value弿 ¹æ®MOMä¸åçéç½®æ¶é´å°å½åæ¶é´çåéæ° |
| | | return new AgingOutputDto |
| | | { |
| | | OpFlag = 1, |
| | | EquipmentCode = stock.LocationInfo.RoadwayNo, |
| | | Software = "WMS", |
| | | EquipmentCode = "ECH001-B", |
| | | TrayBarcode = stock.PalletCode, |
| | | SerialNos = stock.StockInfoDetails.Select(x => new SerialNoOutDto |
| | | { |
| | | SlotNo = x.OrderNo.ToInt32(), |
| | | SerialNo = x.SerialNumber, |
| | | SerialNoResult = true, |
| | | ParameterInfo = new List<ParameterInfo> |
| | | { |
| | | new ParameterInfo |
| | | ParameterInfo = info.ParameterInfo.Select(y => new ParameterInfo() |
| | | { |
| | | LowerLomit = info.LowerControlLimit, |
| | | UpperLimit = info.UpperControlLimit, |
| | | ParameterResult = info.EquipmentAvailabilityFlag, |
| | | ParameterCode = info.ParameterCode, |
| | | ParameterDesc = info.Description, |
| | | TargetValue = info.TargetValue, |
| | | Value = info.TargetValue, |
| | | DefectCode = info.UOMCode |
| | | } |
| | | } |
| | | LowerLomit = y.LowerControlLimit, |
| | | UpperLimit = y.UpperControlLimit, |
| | | ParameterResult = y.EquipmentAvailabilityFlag, |
| | | ParameterCode = y.ParameterCode, |
| | | ParameterDesc = y.Description, |
| | | TargetValue = y.TargetValue, |
| | | Value = ( DateTime.Parse(stock.LinedProcessFeedbackTime, null, System.Globalization.DateTimeStyles.RoundtripKind).ToLocalTime() - stock.CreateDate).TotalMinutes.ToString(), |
| | | DefectCode = y.UOMCode |
| | | }).ToList() |
| | | }).ToList() |
| | | }; |
| | | } |
| | | |
| | | private void ValidateResponse(WebResponseContent content) |
| | | { |
| | | var result = JsonConvert.DeserializeObject<BasicResult>(content.ToString()); |
| | | var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString()); |
| | | if (!result.Success) |
| | | { |
| | | throw new Exception(result.MOMMessage); |
| | |
| | | var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress); |
| | | var details = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id); |
| | | |
| | | location.LocationStatus = LocationEnum.Free.ObjToInt(); |
| | | task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt(); |
| | | task.CurrentAddress = task.NextAddress; |
| | | task.NextAddress = task.TargetAddress; |
| | | location.LocationStatus = (int)LocationEnum.Free; |
| | | task.TaskState = (int)TaskOutStatusEnum.OutFinish; |
| | | //task.CurrentAddress = task.NextAddress; |
| | | //task.NextAddress = task.TargetAddress; |
| | | |
| | | LogFactory.GetLog("ä»»å¡å®æ").Info(true, "æ´æ°åºåç¶æä¸ä»»å¡ç¶æ"); |
| | | return (location, task); |
| | |
| | | #region å
¥åºä»»å¡å®æ |
| | | |
| | | /// <summary> |
| | | /// å
¥åºä»»å¡å®æ |
| | | /// 宿å
¥åºä»»å¡ |
| | | /// </summary> |
| | | /// <param name="task">任塿°æ®åé</param> |
| | | /// <returns>è¿åç»æé</returns> |
| | |
| | | .Select(item => new SerialNoInDto { SerialNo = item.SerialNumber, PositionNo = item.OrderNo }) |
| | | .ToList(), |
| | | TrayBarcode = task.PalletCode, |
| | | OpFlag = 1 |
| | | OpFlag = 1, |
| | | EquipmentCode = "ECH001-B", |
| | | Software = "WMS" |
| | | }; |
| | | var result = _agingInOrOutInputService.GetOCVInputAsync(agingInputDto).Result; |
| | | stock.Remark = JsonConvert.DeserializeObject<ResponeAgingInputDto>(result.Data.ToString()).LinedProcessFeedbackTime; |
| | | var respone = JsonConvert.DeserializeObject<ResponeAgingInputDto>(result.Data.ToString()); |
| | | stock.LinedProcessFeedbackTime = respone.LinedProcessFeedbackTime; |
| | | stock.SpecialParameterDuration = respone.SpecialParameterDuration; |
| | | |
| | | // è®°å½æ¥å¿ |
| | | LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "å
¥åºä»»å¡å®æ", $"è´§ä½å°åï¼{task.TargetAddress},ä¿®æ¹åè´§ä½æ°æ®ï¼{locationInf}"); |
| | |
| | | LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "éªè¯ä»»å¡æ¯å¦åå¨", JsonConvert.SerializeObject(task)); |
| | | |
| | | // éªè¯åºåæ¯å¦åå¨ |
| | | var stock = await _stockInfoRepository.QueryFirstAsync(x => x.PalletCode == task.PalletCode); |
| | | var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode); |
| | | |
| | | // æ ¹æ®ä»»å¡ç±»åè°ç¨ç¸åºç宿任塿¹æ³ |
| | | switch (task.TaskType) |
| | |
| | | #region 请æ±ä»»å¡å
¥åº |
| | | |
| | | /// <summary> |
| | | /// 请æ±ä»»å¡ |
| | | /// 请æ±ä»»å¡å··é |
| | | /// </summary> |
| | | /// <param name="input">è¯·æ±æ¨¡å</param> |
| | | /// <returns>å
å«ä»»å¡ä¿¡æ¯çååºå
容</returns> |
| | |
| | | |
| | | try |
| | | { |
| | | // è°ç¨BaseDal.QueryFirstAsyncæ¹æ³ï¼æ¥è¯¢ä»»å¡ |
| | | var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode); |
| | | if (task != null) |
| | | { |
| | | //if (task.TaskState == (int)TaskInStatusEnum.InNew) |
| | | { |
| | | // å建WMSä»»å¡ |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | { |
| | | TaskNum = task.TaskNum.Value, |
| | | Grade = 1, |
| | | PalletCode = task.PalletCode, |
| | | RoadWay = task.Roadway, |
| | | SourceAddress = task.SourceAddress, |
| | | TargetAddress = task.Roadway, |
| | | TaskState = task.TaskState.Value, |
| | | Id = 0, |
| | | TaskType = task.TaskType, |
| | | }; |
| | | return content.OK(data: taskDTO); |
| | | } |
| | | } |
| | | // å建ä¸ä¸ªTrayCellsStatusDto对象ï¼å¹¶èµå¼ |
| | | TrayCellsStatusDto trayCells = new TrayCellsStatusDto() |
| | | { |
| | | TrayBarcode = input.PalletCode |
| | | Software = "WMS", |
| | | TrayBarcode = input.PalletCode, |
| | | EquipmentCode = "ECH001-B" |
| | | }; |
| | | |
| | | // è°ç¨GetTrayCellStatusAsyncæ¹æ³ï¼è·åæ´ççµè¯ |
| | |
| | | |
| | | // æ·»å ç»çä¿¡æ¯ |
| | | // å°content.Data转æ¢ä¸ºResultTrayCellsStatus对象 |
| | | var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.ToString()); |
| | | var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString()); |
| | | if (result.SerialNos.Count <= 0) |
| | | return content.Error(result.MOMMessage); |
| | | |
| | | // TODO è·åæ¬å°ææ¡å±æ§ä¸æ´ççµè¯å±æ§è·åçå¼è¿è¡å¯¹æ¯ï¼å¦æä¸è´åç»§ç»ï¼å¦åè¿åéè¯¯ä¿¡æ¯ |
| | | var productions = await _productionRepository.QueryDataAsync(x => result.TrayBarcodePropertys.Select(x => x.TrayBarcodeProperty).ToList().Contains(x.TrayBarcodeProperty)); |
| | | if (productions.Count <= 0) |
| | | return content.Error("ææ¡å±æ§ä¸åå¨"); |
| | | |
| | | // è°ç¨CreateBoxingInfoæ¹æ³ï¼å建ç»çä¿¡æ¯ |
| | | |
| | | var boxing = await CreateBoxingInfo(result, input.PalletCode); |
| | | if (boxing == null) return content.Error("ç»ç失败"); |
| | | |
| | | // è°ç¨GetProcessApplyAsyncæ¹æ³ï¼è·åå·¥èºè·¯çº¿ |
| | | ProcessApplyDto process = await GetProcessApplyAsync(result); |
| | |
| | | // 妿process为nullï¼åè¿åcontent |
| | | if (process == null) return content; |
| | | |
| | | // è°ç¨GetProcessResponseAsyncæ¹æ³ï¼è·åå·¥èºååº |
| | | var processResponse = await GetProcessResponseAsync(process, input.Position); |
| | | // è°ç¨_processApplyService.GetProcessApplyAsyncæ¹æ³ï¼è·åå·¥èºç³è¯· |
| | | content = await _processApplyService.GetProcessApplyAsync(process); |
| | | |
| | | // è°ç¨BaseDal.QueryFirstAsyncæ¹æ³ï¼æ¥è¯¢ä»»å¡ |
| | | var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode); |
| | | // 妿taskä¸ä¸ºnullï¼åè°ç¨UpdateExistingTaskæ¹æ³ï¼æ´æ°ä»»å¡ï¼å¦åè°ç¨CreateNewTaskæ¹æ³ï¼å建æ°ä»»å¡ |
| | | content = task != null ? await UpdateExistingTask(input, task) : await CreateNewTask(processResponse, input); |
| | | // å¦æç¶æä¸ºfalseï¼åè¿ånull |
| | | if (!content.Status) return content.Error("å·¥èºç³è¯·å¤±è´¥"); |
| | | |
| | | //// è°ç¨GetProcessResponseAsyncæ¹æ³ï¼è·åå·¥èºååº |
| | | //var processResponse = await GetProcessResponseAsync(process, input.Position); |
| | | |
| | | List<string> strings = input.Position == "1088" ? new List<string>() { "CHSC01" } : new List<string>() { "JZSC01" }; |
| | | // è°ç¨CreateNewTaskæ¹æ³ï¼å建æ°ä»»å¡ |
| | | content = await CreateNewTask(input, strings); |
| | | if (content.Status) |
| | | { |
| | | var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing); |
| | |
| | | |
| | | // è¿åcontent |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ´æ°ä»»å¡è´§ä½ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | public async Task<WebResponseContent> UpdateExistingTask(RequestTaskDto input) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode); |
| | | if (task == null) |
| | | return content.Error($"ææªæ¾å°ã{input.PalletCode}ãçä»»å¡"); |
| | | |
| | | return content = await UpdateExistingTask(input, task); |
| | | |
| | | } |
| | | catch (Exception err) |
| | | { |
| | | |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空æçå
¥åºç³è¯· |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | public async Task<WebResponseContent> RequestTrayInTaskAsync(RequestTaskDto input) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | |
| | | // è°ç¨BaseDal.QueryFirstAsyncæ¹æ³ï¼æ¥è¯¢ä»»å¡ |
| | | var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode); |
| | | if (task != null && task.TaskState == (int)TaskInStatusEnum.InNew) |
| | | { |
| | | // å建WMSä»»å¡ |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | { |
| | | TaskNum = task.TaskNum.Value, |
| | | Grade = 1, |
| | | PalletCode = task.PalletCode, |
| | | RoadWay = task.Roadway, |
| | | SourceAddress = task.SourceAddress, |
| | | TargetAddress = task.Roadway, |
| | | TaskState = task.TaskState.Value, |
| | | Id = 0, |
| | | TaskType = task.TaskType, |
| | | }; |
| | | return content.OK(data: task); |
| | | } |
| | | |
| | | return await CreateNewTask(input, null, 1); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | throw; |
| | | } |
| | | } |
| | | |
| | | // è·åæçåå
æ ¼ç¶æ |
| | |
| | | // å建ä¸ä¸ªProcessApplyDto对象ï¼å¹¶èµå¼ |
| | | return new ProcessApplyDto() |
| | | { |
| | | EquipmentCode = "ECH001-B", |
| | | Software = "WMS", |
| | | //WipOrderNo = result.BindCode, |
| | | SerialNos = content.SerialNos.Select(item => new SerialNos |
| | | { |
| | |
| | | { |
| | | case "1088": |
| | | return SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>() |
| | | .Where(x => x.EquipmentType == "éå" && x.WipOrderNo == apply.WipOrderNo && x.ProductDesc == apply.ProductNo) |
| | | .Where(x => x.EquipmentType == "éå" && x.WipOrderNo == apply.WipOrderNo || x.ProductDesc == apply.ProductNo) |
| | | .ToList(); |
| | | |
| | | case "1339": |
| | | case "1406": |
| | | return SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>() |
| | | .Where(x => x.EquipmentType == "éç½®" && x.WipOrderNo == apply.WipOrderNo && x.ProductDesc == apply.ProductNo) |
| | | .Where(x => x.EquipmentType == "éç½®" && x.WipOrderNo == apply.WipOrderNo || x.ProductDesc == apply.ProductNo) |
| | | .ToList(); |
| | | |
| | | default: |
| | |
| | | |
| | | #endregion 请æ±ä»»å¡å
¥åº |
| | | |
| | | #region 请æ±åºåº |
| | | |
| | | //public async Task<WebResponseContent> RequestTrayTaskAsync(string position, int tag, string areaCdoe,List<string> roadways) |
| | | //{ |
| | | // WebResponseContent content = new WebResponseContent(); |
| | | // try |
| | | // { |
| | | // // 1==å®ç 2 ==空ç |
| | | // if (tag == 1) |
| | | // { |
| | | // // æ¥è¯¢åºåä¿¡æ¯ |
| | | // DtStockInfo? stockInfo = _stockInfoRepository.QueryData(x => x.AreaCode == areaCdoe && Convert.ToDateTime(x.Remark) < DateTime.Now && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && roadways.Contains(x.LocationInfo.RoadwayNo)).OrderBy(x => x.CreateDate).FirstOrDefault(); |
| | | // // å建æ°ä»»å¡å®ä¾ |
| | | // var task = new Dt_Task() |
| | | // { |
| | | // Grade = 1, |
| | | // Roadway = stockInfo.LocationInfo.RoadwayNo, |
| | | // TargetAddress = position, |
| | | // Dispatchertime = DateTime.Now, |
| | | // MaterialNo = "", |
| | | // NextAddress = position, |
| | | // OrderNo = null, |
| | | // PalletCode = stockInfo.PalletCode, |
| | | // SourceAddress = stockInfo.LocationCode, |
| | | // TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | // TaskType = (int)TaskOutboundTypeEnum.Outbound, |
| | | // TaskNum = await BaseDal.GetTaskNo(), |
| | | // Creater = "Systeam" |
| | | // }; |
| | | // var taskId = await BaseDal.AddDataAsync(task); |
| | | // bool isResult = taskId > 0; |
| | | // if (isResult) |
| | | // { |
| | | // WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | // { |
| | | // TaskNum = task.TaskNum.Value, |
| | | // Grade = 1, |
| | | // PalletCode = DateTime.Now.ToString("MMddHHmmss"), |
| | | // RoadWay = task.Roadway, |
| | | // SourceAddress = stockInfo.LocationCode, |
| | | // TargetAddress = task.Roadway, |
| | | // TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | // Id = 0, |
| | | // TaskType = (int)TaskOutboundTypeEnum.OutTray |
| | | // }; |
| | | // stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable; |
| | | // _locationRepository.UpdateData(stockInfo.LocationInfo); |
| | | // content.OK(data: taskDTO); |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // var stockInfo = _stockInfoRepository.QueryData(x => x.AreaCode == areaCdoe && x.StockInfoDetails.Any(z => z.MaterielCode == "空æç") && roadways.Contains(x.LocationInfo.RoadwayNo)).OrderBy(x => x.CreateDate).FirstOrDefault(); |
| | | // // å建æ°ä»»å¡å®ä¾ |
| | | // var task = new Dt_Task |
| | | // { |
| | | // CurrentAddress = stockInfo.LocationCode, |
| | | // Grade = 1, |
| | | // Roadway = stockInfo.LocationInfo.RoadwayNo, |
| | | // TargetAddress = position, |
| | | // Dispatchertime = DateTime.Now, |
| | | // MaterialNo = "", |
| | | // NextAddress = position, |
| | | // OrderNo = null, |
| | | // PalletCode = stockInfo.PalletCode, |
| | | // SourceAddress = stockInfo.LocationCode, |
| | | // TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | // TaskType = (int)TaskOutboundTypeEnum.OutTray, |
| | | // TaskNum = await BaseDal.GetTaskNo(), |
| | | // Creater = "Systeam" |
| | | // }; |
| | | |
| | | // var taskId = await BaseDal.AddDataAsync(task); |
| | | // bool isResult = taskId > 0; |
| | | // if (isResult) |
| | | // { |
| | | // WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | // { |
| | | // TaskNum = task.TaskNum.Value, |
| | | // Grade = 1, |
| | | // PalletCode = DateTime.Now.ToString("MMddHHmmss"), |
| | | // RoadWay = task.Roadway, |
| | | // SourceAddress = stockInfo.LocationCode, |
| | | // TargetAddress = task.Roadway, |
| | | // TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | // Id = 0, |
| | | // TaskType = (int)TaskOutboundTypeEnum.OutTray |
| | | // }; |
| | | // content.OK(data: taskDTO); |
| | | // } |
| | | // } |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // throw; |
| | | // } |
| | | // return content; |
| | | //} |
| | | #region 请æ±åºåºï¼å®ç&空çï¼ |
| | | |
| | | /// <summary> |
| | | /// è¯·æ±æçä»»å¡ |
| | |
| | | /// <param name="areaCode">åºåç¼ç </param> |
| | | /// <param name="roadways">å··éç¼ç éå</param> |
| | | /// <returns>è¿åç»æé</returns> |
| | | public async Task<WebResponseContent> RequestTrayTaskAsync(string position, int tag, string areaCode, List<string> roadways) |
| | | public async Task<WebResponseContent> RequestTrayOutTaskAsync(string position, int tag, string areaCode, List<string> roadways) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | // æ ¹æ®æçç±»åæ¥è¯¢åºåä¿¡æ¯ |
| | | DtStockInfo stockInfo = tag == 1 |
| | | DtStockInfo stockInfo = tag == (int)TaskOutboundTypeEnum.Outbound |
| | | ? QueryStockInfoForRealTray(areaCode, roadways) |
| | | : QueryStockInfoForEmptyTray(areaCode, roadways); |
| | | |
| | |
| | | |
| | | // å建任å¡DTO |
| | | WMSTaskDTO taskDTO = CreateTaskDTO(task); |
| | | if (tag == 1) |
| | | //if (tag == 1) |
| | | { |
| | | // æ´æ°åºåä½ç½®ç¶æä¸ºä¸å¯ç¨ |
| | | stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable; |
| | |
| | | { |
| | | // è®°å½å¼å¸¸ä¿¡æ¯å¹¶æåº |
| | | LogFactory.GetLog("è¯·æ±æçä»»å¡").Error(true, ex); |
| | | throw; |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | private DtStockInfo QueryStockInfoForRealTray(string areaCode, List<string> roadways) |
| | | { |
| | | return _stockInfoRepository.QueryData(x => x.AreaCode == areaCode && Convert.ToDateTime(x.Remark) < DateTime.Now && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && roadways.Contains(x.LocationInfo.RoadwayNo)) |
| | | // TODOæ¶é´æ ¹æ®MOMç³»ç»é
ç½®çåºåºæ¶é´æ¥è·å,ææ¶ä¸ç¥éMOMè¿åçæ¶é´æ¯ä»ä¹æä»¥è¿éæµè¯æ¶å卿¹ |
| | | return _stockInfoRepository.Db.Queryable<DtStockInfo>().Where(x => x.AreaCode == areaCode && Convert.ToDateTime(x.LinedProcessFeedbackTime) < DateTime.Now && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && roadways.Contains(x.LocationInfo.RoadwayNo)) |
| | | .Includes(x => x.LocationInfo) |
| | | .Includes(x => x.StockInfoDetails) |
| | | .OrderBy(x => x.CreateDate) |
| | | .FirstOrDefault(); |
| | | .First(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | private DtStockInfo QueryStockInfoForEmptyTray(string areaCode, List<string> roadways) |
| | | { |
| | | return _stockInfoRepository.QueryData(x => x.AreaCode == areaCode && x.StockInfoDetails.Any(z => z.MaterielCode == "空æç") && roadways.Contains(x.LocationInfo.RoadwayNo)) |
| | | return _stockInfoRepository.Db.Queryable<DtStockInfo>().Where(x => x.AreaCode == areaCode && x.StockInfoDetails.Any(z => z.MaterielCode == "空æç") && roadways.Contains(x.LocationInfo.RoadwayNo)) |
| | | .Includes(x => x.LocationInfo) |
| | | .Includes(x => x.StockInfoDetails) |
| | | .OrderBy(x => x.CreateDate) |
| | | .FirstOrDefault(); |
| | | .First(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | OrderNo = null, |
| | | PalletCode = stockInfo.PalletCode, |
| | | SourceAddress = stockInfo.LocationCode, |
| | | CurrentAddress = stockInfo.LocationCode, |
| | | TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | TaskType = tag == 1 ? (int)TaskOutboundTypeEnum.Outbound : (int)TaskOutboundTypeEnum.OutTray, |
| | | TaskType = tag == (int)TaskOutboundTypeEnum.Outbound ? (int)TaskOutboundTypeEnum.Outbound : (int)TaskOutboundTypeEnum.OutTray, |
| | | TaskNum = BaseDal.GetTaskNo().Result, |
| | | Creater = "System" // ä¿®æ£æ¼åé误 |
| | | }; |
| | |
| | | |
| | | #endregion 请æ±åºåº |
| | | |
| | | #region éå请æ±åºåº |
| | | #region ä»»å¡ç¶ææ´æ¹ |
| | | |
| | | // éå请æ±åºåº |
| | | public async Task<WebResponseContent> OutTrayByCh(string position) |
| | | /// <summary> |
| | | /// æ´æ°ä»»å¡ç¶æ&åºåºè§£ç |
| | | /// </summary> |
| | | /// <param name="taskNum"></param> |
| | | /// <param name="taskState"></param> |
| | | /// <returns></returns> |
| | | public async Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var area = _areaInfoRepository.QueryFirst(x => x.AreaName == "éååº"); |
| | | var task = await BaseDal.QueryFirstAsync(x => x.TaskNum == taskNum); |
| | | if (task == null) |
| | | return content.Error("æªæ¾å°ä»»å¡"); |
| | | |
| | | // æ¥è¯¢åºåä¿¡æ¯ |
| | | var stockInfo = _stockInfoRepository.QueryData(x => x.AreaCode == area.AreaCode && Convert.ToDateTime(x.Remark) < DateTime.Now && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock).OrderBy(x => x.CreateDate).FirstOrDefault(); |
| | | // å建æ°ä»»å¡å®ä¾ |
| | | var task = new Dt_Task() |
| | | if (taskState == (int)TaskOutStatusEnum.Line_OutFinish) |
| | | { |
| | | Grade = 1, |
| | | Roadway = stockInfo.LocationInfo.RoadwayNo, |
| | | TargetAddress = position, |
| | | Dispatchertime = DateTime.Now, |
| | | MaterialNo = "", |
| | | NextAddress = position, |
| | | OrderNo = null, |
| | | PalletCode = stockInfo.PalletCode, |
| | | SourceAddress = stockInfo.LocationCode, |
| | | TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | TaskType = (int)TaskOutboundTypeEnum.OutTray, |
| | | TaskNum = await BaseDal.GetTaskNo(), |
| | | Creater = "Systeam" |
| | | }; |
| | | var taskId = await BaseDal.AddDataAsync(task); |
| | | bool isResult = taskId > 0; |
| | | if (isResult) |
| | | { |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | var taskHty = CreateHistoricalTask(task); |
| | | await _unitOfWorkManage.UseTranAsync(async () => |
| | | { |
| | | TaskNum = task.TaskNum.Value, |
| | | Grade = 1, |
| | | PalletCode = DateTime.Now.ToString("MMddHHmmss"), |
| | | RoadWay = task.Roadway, |
| | | SourceAddress = stockInfo.LocationCode, |
| | | TargetAddress = task.Roadway, |
| | | TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | Id = 0, |
| | | TaskType = (int)TaskOutboundTypeEnum.OutTray |
| | | }; |
| | | stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable; |
| | | _locationRepository.UpdateData(stockInfo.LocationInfo); |
| | | content.OK(data: taskDTO); |
| | | var asb = await BaseDal.DeleteDataByIdAsync(task.TaskId); |
| | | var asbHty = await _task_HtyRepository.AddDataAsync(taskHty) > 0; |
| | | if (asb && asbHty) |
| | | content.OK(); |
| | | else |
| | | throw new Exception(); |
| | | }); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | task.TaskState = taskState; |
| | | var asb = await BaseDal.UpdateDataAsync(task); |
| | | if (asb) |
| | | content.OK(); |
| | | else |
| | | content.Error(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw; |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | #endregion éå请æ±åºåº |
| | | #endregion |
| | | |
| | | #region åºåºè§£ç |
| | | |
| | | /// <summary> |
| | | /// åºåºè§£çæ¥å£ |
| | | /// </summary> |
| | | /// <param name="taskNum"></param> |
| | | /// <returns></returns> |
| | | public async Task<WebResponseContent> OutUnblockInterface(int taskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var task = await BaseDal.QueryFirstAsync(x => x.TaskNum == taskNum); |
| | | if (task == null) |
| | | return content.Error("æªæ¾å°ä»»å¡"); |
| | | task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish; |
| | | var taskHty = CreateHistoricalTask(task); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #endregion å¤é¨æ¥å£æ¹æ³ |
| | | |
| | |
| | | isUpdateStock = await _stockInfoRepository.AddDataNavAsync(stock); |
| | | } |
| | | |
| | | |
| | | |
| | | // æ·»å åå²ä»»å¡ |
| | | var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0; |
| | | |
| | |
| | | /// <param name="areaId">åºåID</param> |
| | | /// <param name="content">ååºå
容</param> |
| | | /// <returns></returns> |
| | | private async Task<WebResponseContent> CreateNewTask(List<Dt_EquipmentProcess> process, RequestTaskDto input) |
| | | private async Task<WebResponseContent> CreateNewTask(RequestTaskDto input, List<string> process = null, int flag = 0) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | List<string> strings = process.Select(x => x.EquipmentName).ToList(); |
| | | |
| | | // è·åç®æ å°å |
| | | string ToAddress = await GetRoadWayAsync(strings); |
| | | string ToAddress = await GetRoadWayAsync(process); |
| | | |
| | | // å建æ°ä»»å¡å®ä¾ |
| | | var task = new Dt_Task |
| | |
| | | PalletCode = input.PalletCode, |
| | | SourceAddress = input.Position, |
| | | TaskState = (int)TaskInStatusEnum.InNew, |
| | | TaskType = (int)TaskTypeEnum.Inbound, |
| | | TaskType = flag == 0 ? (int)TaskInboundTypeEnum.Inbound : (int)TaskInboundTypeEnum.InTray, |
| | | TaskNum = await BaseDal.GetTaskNo(), |
| | | Creater = "Systeam" |
| | | }; |
| | |
| | | // å建WMSä»»å¡ |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | { |
| | | TaskNum = 0, |
| | | TaskNum = task.TaskNum.Value, |
| | | Grade = 1, |
| | | PalletCode = DateTime.Now.ToString("MMddHHmmss"), |
| | | PalletCode = task.PalletCode, |
| | | RoadWay = task.Roadway, |
| | | SourceAddress = input.Position, |
| | | SourceAddress = task.SourceAddress, |
| | | TargetAddress = task.Roadway, |
| | | TaskState = (int)TaskInStatusEnum.InNew, |
| | | TaskState = task.TaskState.Value, |
| | | Id = 0, |
| | | TaskType = (int)TaskInboundTypeEnum.Inbound, |
| | | TaskType = task.TaskType, |
| | | }; |
| | | content.OK(data: taskDTO); |
| | | } |
| | |
| | | { |
| | | var minGroup = _locationRepository.QueryData(x => process.Contains(x.RoadwayNo) && x.LocationStatus == (int)LocationEnum.Free) |
| | | .GroupBy(x => x.RoadwayNo) |
| | | .OrderByDescending(g => g.Count()) // æ ¹æ®æ¯ä¸ªç»çå
ç´ æ°éæåº |
| | | .First(); // ååºæ°éæå¤çç» |
| | | |
| | | string minRoadwayNo = minGroup.Key; // æ°éæå¤çç»çKey |
| | | |
| | | return minRoadwayNo; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åå··éæç«å° |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public async Task<string> GetRoadWayAsync(int areaCode) |
| | | { |
| | | var minGroup = _locationRepository.QueryData(x => x.AreaId == areaCode && x.LocationStatus == (int)LocationEnum.Free) |
| | | .GroupBy(x => x.RoadwayNo) |
| | | .OrderBy(g => g.Count()) // æ ¹æ®æ¯ä¸ªç»çå
ç´ æ°éæåº |
| | | .First(); // ååºæ°éæå°çç» |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | |  |
| | | namespace WIDESEA_WMSServer.Controllers |
| | | { |
| | | [Route("api/[controller]")] |
| | | [ApiController] |
| | | public class ProductionController : ApiBaseController<IProductionService, ProductionModel> |
| | | { |
| | | public ProductionController(IProductionService service) : base(service) |
| | | { |
| | | } |
| | | |
| | | public override ActionResult AddData([FromBody] ProductionModel options) |
| | | { |
| | | return base.AddData(options); |
| | | } |
| | | } |
| | | } |
| | |
| | | using WIDESEA_DTO; |
| | | using static WIDESEA_DTO.RequestTaskDto; |
| | | |
| | | namespace WIDESEA_WMSServer.Controllers; |
| | | |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡è¯·æ± |
| | | /// 请æ±ä»»å¡å··é |
| | | /// </summary> |
| | | /// <param name="input">è¯·æ±æ°æ®</param> |
| | | /// <returns></returns> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空æçè¯·æ± |
| | | /// 请æ±ä»»å¡è´§ä½ |
| | | /// </summary> |
| | | /// <param name="input">è¯·æ±æ°æ®</param> |
| | | /// <returns></returns> |
| | | [HttpPost, AllowAnonymous, Route("RequestTrayTaskAsync")] |
| | | public async Task<WebResponseContent> RequestTrayTaskAsync([FromBody] string position, int tag, string areaCdoe, List<string> roadways) |
| | | [HttpPost, AllowAnonymous, Route("RequestLocationTaskAsync")] |
| | | public async Task<WebResponseContent> UpdateExistingTask([FromBody] RequestTaskDto input) |
| | | { |
| | | return await Service.RequestTrayTaskAsync(position, tag, areaCdoe, roadways); |
| | | return await Service.UpdateExistingTask(input); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空æçå
¥åºè¯·æ± |
| | | /// </summary> |
| | | /// <param name="input">è¯·æ±æ°æ®</param> |
| | | /// <returns></returns> |
| | | [HttpPost, AllowAnonymous, Route("RequestTrayInTaskAsync")] |
| | | public async Task<WebResponseContent> RequestTrayInTaskAsync([FromBody] RequestTaskDto input) |
| | | { |
| | | return await Service.RequestTrayInTaskAsync(input); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空æç&满çåºåºè¯·æ± |
| | | /// </summary> |
| | | /// <param name="input">è¯·æ±æ°æ®</param> |
| | | /// <returns></returns> |
| | | [HttpPost, AllowAnonymous, Route("RequestTrayOutTaskAsync")] |
| | | public async Task<WebResponseContent> RequestTrayOutTaskAsync([FromBody] RequestOutTaskDto request) |
| | | { |
| | | return await Service.RequestTrayOutTaskAsync(request.Position, request.Tag, request.AreaCdoe, request.Roadways); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ç¶æä¿®æ¹ |
| | | /// </summary> |
| | | /// <param name="input">è¯·æ±æ°æ®</param> |
| | | /// <returns></returns> |
| | | [HttpPost, AllowAnonymous, Route("UpdateTaskStatus")] |
| | | public async Task<WebResponseContent> UpdateTaskStatus([FromBody] UpdateStatusDto input) |
| | | { |
| | | return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState); |
| | | } |
| | | |
| | | } |
| | |
| | | global using WIDESEA_Model.Models.System; |
| | | global using WIDESEA_Core.Authorization; |
| | | global using WIDESEA_Core.Utilities; |
| | | global using WIDESEA_Model; |
| | | global using WIDESEA_Model; |
| | | global using WIDESEA_StorageBasicServices; |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| | | <PropertyGroup> |
| | | <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID> |
| | | <Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath> |
| | | <Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID> |
| | | <Controller_SelectedScaffolderCategoryPath>root/Common/Api</Controller_SelectedScaffolderCategoryPath> |
| | | <NameOfLastUsedPublishProfile>D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_WMSServer\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile> |
| | | </PropertyGroup> |
| | | </Project> |