From 13fac67a21f8679e284635802fd259e9fced5c60 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期二, 17 十二月 2024 11:35:37 +0800 Subject: [PATCH] 2024121701 --- 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/456f23a3-e9db-4baa-b211-0debbf6a9766.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server.sln | 18 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4b9d13b5-464a-47d4-8dae-9937d5273cc6.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/ModelValidateAttribute.cs | 2 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/672f95bc-ead2-44f0-a24c-957a3a267788.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs | 6 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/StationMangerRepository.cs | 18 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/阻焊仓/GroundStationDBName.cs | 51 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/MaterielInfoDTO.cs | 174 ++++++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/MaterielInfoService.cs | 13 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/77d1070c-616d-4033-b739-10b3890a2871.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpOutOrderDTO.cs | 83 ++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs | 7 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManger.cs | 62 ++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpResponseContent.cs | 18 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IStationMangerRepository.cs | 14 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/MaterielInfoService.cs | 5 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs | 166 ++++++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs | 8 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs | 4 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj | 6 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs | 13 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5023b4f8-50f2-4301-b3ca-8d83fa478bdc.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bb9c5c98-5de4-43c8-8a36-34ad166b9c7a.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d6701bb1-0090-4502-a2ca-a4e0726e92d8.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs | 12 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/WIDESEAWCS_IBasicInfoService.csproj | 4 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/SupplierDTO.cs | 65 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Root.cs | 27 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs | 6 /dev/null | 137 ----- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IMaterielInfoService.cs | 1 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/PurchaseOrderModel.cs | 18 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/MethodParamsValidateAttribute.cs | 1 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/阻焊仓/StackerCraneJob_ZH.cs | 309 +++++++++++ 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3ea8b77f-1ded-4afe-bbbb-d42ee2627f62.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json | 2 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/测试架仓/StackerCraneJob_CSJ.cs | 303 +++++++++++ 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8f970bf6-017d-4af8-aaf8-8f1412be4898.vsidx | 0 39 files changed, 1,329 insertions(+), 224 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0f60b943-ef81-4dea-85d5-c72f1e023d53.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0f60b943-ef81-4dea-85d5-c72f1e023d53.vsidx" deleted file mode 100644 index 25867a8..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0f60b943-ef81-4dea-85d5-c72f1e023d53.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/21553faa-f482-4cad-bdea-7867d42f4bac.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/21553faa-f482-4cad-bdea-7867d42f4bac.vsidx" deleted file mode 100644 index 87ee376..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/21553faa-f482-4cad-bdea-7867d42f4bac.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3ea8b77f-1ded-4afe-bbbb-d42ee2627f62.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3ea8b77f-1ded-4afe-bbbb-d42ee2627f62.vsidx" new file mode 100644 index 0000000..f3f5325 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3ea8b77f-1ded-4afe-bbbb-d42ee2627f62.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/456f23a3-e9db-4baa-b211-0debbf6a9766.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/456f23a3-e9db-4baa-b211-0debbf6a9766.vsidx" new file mode 100644 index 0000000..79d16d1 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/456f23a3-e9db-4baa-b211-0debbf6a9766.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/48209466-174f-415e-a834-4bc50f2d98fd.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/48209466-174f-415e-a834-4bc50f2d98fd.vsidx" deleted file mode 100644 index 4b7898f..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/48209466-174f-415e-a834-4bc50f2d98fd.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/672f95bc-ead2-44f0-a24c-957a3a267788.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/672f95bc-ead2-44f0-a24c-957a3a267788.vsidx" new file mode 100644 index 0000000..fb37439 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/672f95bc-ead2-44f0-a24c-957a3a267788.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/77d1070c-616d-4033-b739-10b3890a2871.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/77d1070c-616d-4033-b739-10b3890a2871.vsidx" new file mode 100644 index 0000000..3d58d18 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/77d1070c-616d-4033-b739-10b3890a2871.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7ef307ad-ea94-4ff6-9f94-954e08ae3914.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7ef307ad-ea94-4ff6-9f94-954e08ae3914.vsidx" deleted file mode 100644 index ebb100d..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7ef307ad-ea94-4ff6-9f94-954e08ae3914.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8f970bf6-017d-4af8-aaf8-8f1412be4898.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8f970bf6-017d-4af8-aaf8-8f1412be4898.vsidx" new file mode 100644 index 0000000..344aa06 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8f970bf6-017d-4af8-aaf8-8f1412be4898.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e0712c6d-3f7b-4769-b7a3-cc59cff4d10a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e0712c6d-3f7b-4769-b7a3-cc59cff4d10a.vsidx" deleted file mode 100644 index cddcdb8..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e0712c6d-3f7b-4769-b7a3-cc59cff4d10a.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f7a5ecd7-5ca5-4e04-904a-54fa34104eb6.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f7a5ecd7-5ca5-4e04-904a-54fa34104eb6.vsidx" deleted file mode 100644 index 1dcc9dc..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f7a5ecd7-5ca5-4e04-904a-54fa34104eb6.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/StationMangerRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/StationMangerRepository.cs" new file mode 100644 index 0000000..6691f1c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/StationMangerRepository.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.BaseRepository; +using WIDESEAWCS_IBasicInfoRepository; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_BasicInfoRepository +{ + public class StationMangerRepository : RepositoryBase<Dt_StationManger>, IStationMangerRepository + { + public StationMangerRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IStationMangerRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IStationMangerRepository.cs" new file mode 100644 index 0000000..3dc1a90 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IStationMangerRepository.cs" @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.BaseRepository; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_IBasicInfoRepository +{ + public interface IStationMangerRepository : IRepository<Dt_StationManger> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/WIDESEAWCS_IBasicInfoService.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/WIDESEAWCS_IBasicInfoService.csproj" index 132c02c..ebf0d65 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/WIDESEAWCS_IBasicInfoService.csproj" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/WIDESEAWCS_IBasicInfoService.csproj" @@ -6,4 +6,8 @@ <Nullable>enable</Nullable> </PropertyGroup> + <ItemGroup> + <ProjectReference Include="..\WIDESEAWCS_BasicInfoRepository\WIDESEAWCS_BasicInfoRepository.csproj" /> + </ItemGroup> + </Project> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManger.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManger.cs" new file mode 100644 index 0000000..c432c1e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManger.cs" @@ -0,0 +1,62 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.DB.Models; + +namespace WIDESEAWCS_Model.Models +{ + [SugarTable(nameof(Dt_StationManger), "绔欏彴琛�")] + public class Dt_StationManger : BaseEntity + { + /// <summary> + /// 涓婚敭 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + /// <summary> + /// 绔欏彴缂栧彿 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "绔欏彴缂栧彿")] + public string StationCode { get; set; } + + /// <summary> + /// 绔欏彴鍚嶇О + /// </summary> + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "绔欏彴鍚嶇О")] + public string StationName { get; set; } + + /// <summary> + /// 瀵瑰簲鍫嗗灈鏈烘帓-鍒�-灞� + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "瀵瑰簲鍫嗗灈鏈烘帓-鍒�-灞�")] + public string StackerCraneStationCode { get; set; } + + /// <summary> + /// 绔欏彴璁惧缂栧彿 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "绔欏彴璁惧缂栧彿")] + public string StationDeviceCode { get; set; } + + /// <summary> + /// 鍫嗗灈鏈虹紪鍙� + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍫嗗灈鏈虹紪鍙�")] + public string StackerCraneCode { get; set; } + + /// <summary> + /// AGV绔欏彴缂栧彿 + /// </summary> + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "AGV绔欏彴缂栧彿")] + public string AGVStationCode { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "澶囨敞")] + public string Remark { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" index b342e89..f52d6c9 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" @@ -55,6 +55,12 @@ public string PalletCode { get; set; } /// <summary> + /// 鎵樼洏绫诲瀷 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鎵樼洏绫诲瀷")] + public int PalletType { get; set; } + + /// <summary> /// 宸烽亾鍙� /// </summary> [ImporterHeader(Name = "宸烽亾鍙�")] diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj" index be46766..027e104 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj" @@ -1,4 +1,4 @@ -<Project Sdk="Microsoft.NET.Sdk"> +锘�<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> @@ -13,10 +13,6 @@ <ItemGroup> <ProjectReference Include="..\WIDESEAWCS_Common\WIDESEAWCS_Common.csproj" /> - </ItemGroup> - - <ItemGroup> - <Folder Include="Models\BasicInfo\" /> </ItemGroup> </Project> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server.sln" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server.sln" index 7be6dcb..48991d3 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server.sln" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server.sln" @@ -50,9 +50,13 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WIDESEAWCS_BasicInfoService", "WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj", "{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_Model", "WIDESEAWCS_Model\WIDESEAWCS_Model.csproj", "{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WIDESEAWCS_Model", "WIDESEAWCS_Model\WIDESEAWCS_Model.csproj", "{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_ISystemRepository", "WIDESEAWCS_ISystemRepository\WIDESEAWCS_ISystemRepository.csproj", "{B778DFFD-A5BA-4CAF-805E-2630CF080CDC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WIDESEAWCS_ISystemRepository", "WIDESEAWCS_ISystemRepository\WIDESEAWCS_ISystemRepository.csproj", "{B778DFFD-A5BA-4CAF-805E-2630CF080CDC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_IBasicInfoRepository", "WIDESEAWCS_IBasicInfoRepository\WIDESEAWCS_IBasicInfoRepository.csproj", "{3B954A6E-CE88-4B33-BEAC-757BE4BE1204}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_BasicInfoRepository", "WIDESEAWCS_BasicInfoRepository\WIDESEAWCS_BasicInfoRepository.csproj", "{D0CC28FA-6426-4FDE-A5B9-24CF06787863}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -120,6 +124,14 @@ {B778DFFD-A5BA-4CAF-805E-2630CF080CDC}.Debug|Any CPU.Build.0 = Debug|Any CPU {B778DFFD-A5BA-4CAF-805E-2630CF080CDC}.Release|Any CPU.ActiveCfg = Release|Any CPU {B778DFFD-A5BA-4CAF-805E-2630CF080CDC}.Release|Any CPU.Build.0 = Release|Any CPU + {3B954A6E-CE88-4B33-BEAC-757BE4BE1204}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B954A6E-CE88-4B33-BEAC-757BE4BE1204}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B954A6E-CE88-4B33-BEAC-757BE4BE1204}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3B954A6E-CE88-4B33-BEAC-757BE4BE1204}.Release|Any CPU.Build.0 = Release|Any CPU + {D0CC28FA-6426-4FDE-A5B9-24CF06787863}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D0CC28FA-6426-4FDE-A5B9-24CF06787863}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D0CC28FA-6426-4FDE-A5B9-24CF06787863}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D0CC28FA-6426-4FDE-A5B9-24CF06787863}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -141,6 +153,8 @@ {8C2CC25B-DE5D-433E-A550-63864C7A716D} = {9CB2F821-BB23-48E5-88E8-C326477733C0} {FFAB2C76-1C9E-4006-95C8-A0B2AA53139D} = {9CB2F821-BB23-48E5-88E8-C326477733C0} {B778DFFD-A5BA-4CAF-805E-2630CF080CDC} = {93EFF637-042E-4DD0-A74B-7F0CF998CF96} + {3B954A6E-CE88-4B33-BEAC-757BE4BE1204} = {5CC8AEFF-2F75-4053-9569-73419839875A} + {D0CC28FA-6426-4FDE-A5B9-24CF06787863} = {5CC8AEFF-2F75-4053-9569-73419839875A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C9A356D5-D4FE-414B-B982-6C97792BE6C6} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs" new file mode 100644 index 0000000..683857f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs" @@ -0,0 +1,166 @@ +锘縰sing Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using WIDESEAWCS_Core; +using WIDESEAWCS_IBasicInfoRepository; +using WIDESEAWCS_Model.Models; +using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_Tasks.闃荤剨浠�; + +namespace WIDESEAWCS_Server.Controllers +{ + [Route("api/[controller]")] + [ApiController] + public class AGVController : ControllerBase + { + private readonly IStationMangerRepository _stationMangerRepository; + + public AGVController(IStationMangerRepository stationMangerRepository) + { + _stationMangerRepository = stationMangerRepository; + } + + [HttpPost, HttpGet, Route("PutRequest"), AllowAnonymous] + public WebResponseContent PutRequest(string code, int palletType) + { + try + { + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == code); + if (stationManger == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃�"); + } + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); + if (device == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶�"); + } + + OtherDevice otherDevice = (OtherDevice)device; + + bool canPut = otherDevice.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanPut, stationManger.StationCode); + if (canPut) + { + return WebResponseContent.Instance.OK(); + } + else + { + otherDevice.SetValue(GroundStationDBName.W_PutRequest, true, stationManger.StationCode); + otherDevice.SetValue(GroundStationDBName.W_PutPalletType, (short)palletType, stationManger.StationCode); + Thread.Sleep(1000); + canPut = otherDevice.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanPut, stationManger.StationCode); + if (canPut) + { + return WebResponseContent.Instance.OK(); + } + else + { + return WebResponseContent.Instance.Error($"鏀捐揣鐢宠涓�"); + } + } + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + [HttpPost, HttpGet, Route("PutFinish"), AllowAnonymous] + public WebResponseContent PutFinish(string code) + { + try + { + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == code); + if (stationManger == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃�"); + } + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); + if (device == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶�"); + } + + OtherDevice otherDevice = (OtherDevice)device; + otherDevice.SetValue(GroundStationDBName.W_PutFinish, true, stationManger.StationCode); + + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + [HttpPost, HttpGet, Route("TakeRequest"), AllowAnonymous] + public WebResponseContent TakeRequest(string code) + { + try + { + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == code); + if (stationManger == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃�"); + } + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); + if (device == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶�"); + } + + OtherDevice otherDevice = (OtherDevice)device; + + bool canPut = otherDevice.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanTake, stationManger.StationCode); + if (canPut) + { + return WebResponseContent.Instance.OK(); + } + else + { + otherDevice.SetValue(GroundStationDBName.W_TakeRequest, true, stationManger.StationCode); + Thread.Sleep(1000); + canPut = otherDevice.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanTake, stationManger.StationCode); + if (canPut) + { + return WebResponseContent.Instance.OK(); + } + else + { + return WebResponseContent.Instance.Error($"鍙栬揣鐢宠涓�"); + } + } + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + [HttpPost, HttpGet, Route("TakeFinish"), AllowAnonymous] + public WebResponseContent TakeFinish(string code) + { + try + { + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == code); + if (stationManger == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃�"); + } + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); + if (device == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶�"); + } + + OtherDevice otherDevice = (OtherDevice)device; + otherDevice.SetValue(GroundStationDBName.W_TakeFinish, true, stationManger.StationCode); + + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs" index a76f5cd..c831390 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs" @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEA_DTO.System; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob.DTO; @@ -17,8 +18,9 @@ /// <summary> /// 閰嶇疆鏋勯�犲嚱鏁帮紝鐢ㄦ潵鍒涘缓鍏崇郴鏄犲皠 /// </summary> - public CustomProfile() + public CustomProfile() { + CreateMap<Sys_Menu, MenuDTO>(); CreateMap<Dt_DeviceInfo,DeviceInfoDTO>(); CreateMap<WMSTaskDTO, Dt_Task>().ForMember(a => a.WMSId, b => b.MapFrom(b => b.Id)); CreateMap<Dt_Task, ConveyorLineTaskCommand>().ForMember(a => a.TargetAddress, b => b.MapFrom(b => b.NextAddress)).ForMember(a => a.Barcode, b => b.MapFrom(b => b.PalletCode)).ForMember(a => a.TaskNum, b => b.MapFrom(b => b.TaskNum)); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json" index b1df480..420f35d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json" @@ -12,7 +12,7 @@ "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue //杩炴帴瀛楃涓� //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=", - "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS__HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", + "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", //璺ㄥ煙 "Cors": { "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" new file mode 100644 index 0000000..0b4fd5a --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" @@ -0,0 +1,303 @@ +锘縰sing Microsoft.AspNetCore.Components.Routing; +using Quartz; +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Common.TaskEnum; +using WIDESEAWCS_Core.Enums; +using WIDESEAWCS_IBasicInfoRepository; +using WIDESEAWCS_ITaskInfoRepository; +using WIDESEAWCS_ITaskInfoService; +using WIDESEAWCS_Model.Models; +using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.DeviceBase; +using WIDESEAWCS_QuartzJob.Models; +using WIDESEAWCS_QuartzJob.Service; +using WIDESEAWCS_QuartzJob.StackerCrane.Enum; +using WIDESEAWCS_Tasks.HoisterJob; +using WIDESEAWCS_Tasks.StackerCraneJob; +using WIDESEAWCS_Tasks.闃荤剨浠�; + +namespace WIDESEAWCS_Tasks +{ + [DisallowConcurrentExecution] + public class StackerCraneJob_CSJ : JobBase, IJob + { + private readonly ITaskService _taskService; + private readonly ITaskExecuteDetailService _taskExecuteDetailService; + private readonly ITaskRepository _taskRepository; + private readonly IRouterService _routerService; + private readonly IStationMangerRepository _stationMangerRepository; + + public StackerCraneJob_CSJ(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository) + { + _taskService = taskService; + _taskExecuteDetailService = taskExecuteDetailService; + _taskRepository = taskRepository; + _routerService = routerService; + _stationMangerRepository = stationMangerRepository; + } + + public Task Execute(IJobExecutionContext context) + { + try + { + CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); + if (commonStackerCrane != null) + { + if (!commonStackerCrane.IsEventSubscribed) + { + commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢 + } + + if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal) + { + commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆� + + if (commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby) + { + Dt_Task? task = GetTask(commonStackerCrane); + if (task != null) + { + StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); + if (stackerCraneTaskCommand != null) + { + bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand); + if (sendFlag) + { + commonStackerCrane.LastTaskType = task.TaskType; + _taskService.UpdateTaskStatusToNext(task.TaskNum); + } + } + } + } + } + } + } + catch (Exception ex) + { + WriteError(nameof(CommonStackerCraneJob), ex.Message, ex); + } + return Task.CompletedTask; + } + + /// <summary> + /// 浠诲姟瀹屾垚浜嬩欢璁㈤槄鐨勬柟娉� + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e) + { + CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane; + if (commonStackerCrane != null) + { + if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) + { + Console.Out.WriteLine("TaskCompleted" + e.TaskNum); + _taskService.StackCraneTaskCompleted(e.TaskNum); + commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); + } + } + } + + /// <summary> + /// 鑾峰彇浠诲姟 + /// </summary> + /// <param name="commonStackerCrane">鍫嗗灈鏈哄璞�</param> + /// <returns></returns> + private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane) + { + Dt_Task task; + if (commonStackerCrane.LastTaskType == null) + { + task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode); + } + else + { + if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + if (task == null) + { + task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); + } + } + else + { + task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); + if (task == null) + { + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + } + } + } + + if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + if (OutTaskStationIsOccupied(task) != null || true) + { + return task; + } + else + { + List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList(); + List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes); + foreach (var item in tasks) + { + if (OutTaskStationIsOccupied(task) != null) + { + return task; + } + } + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + } + } + + return task; + } + + /// <summary> + /// 鍑哄簱浠诲姟鍒ゆ柇鍑哄簱绔欏彴鏄惁琚崰鐢� + /// </summary> + /// <param name="task">浠诲姟瀹炰綋</param> + /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> + private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) + { + Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.Roadway); + if (stationManger != null) + { + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); + if (device != null) + { + OtherDevice client = (OtherDevice)device; + if (client.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanPut, stationManger.StationCode))//鍑哄簱绔欏彴鏈鍗犵敤 + { + task.TargetAddress = stationManger.StackerCraneStationCode; + _taskRepository.UpdateData(task); + return task; + } + } + else + { + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤"); + } + } + else + { + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴"); + } + return null; + } + + /// <summary> + /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel + /// </summary> + /// <param name="task">浠诲姟瀹炰綋</param> + /// <returns></returns> + /// <exception cref="Exception"></exception> + public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task) + { + StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); + + stackerCraneTaskCommand.Barcode = task.PalletCode; + stackerCraneTaskCommand.TaskNum = task.TaskNum; + stackerCraneTaskCommand.WorkType = 1; + stackerCraneTaskCommand.TrayType = 1; + if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔� + { + //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway); + //if (routers.Count > 0) + //{ + string[] startCodes = task.CurrentAddress.Split("-"); + + stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]); + + string[] targetCodes = task.NextAddress.Split("-"); + if (targetCodes.Length == 3) + { + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�"); + return null; + } + //} + //else + //{ + // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅"); + // return null; + //} + } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress); + //if (routers.Count > 0) + { + string[] targetCodes = task.NextAddress.Split("-"); + + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); + + string[] sourceCodes = task.CurrentAddress.Split("-"); + if (sourceCodes.Length == 3) + { + stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + return null; + } + } + //else + //{ + // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鏀捐揣绔欏彴淇℃伅"); + // return null; + //} + } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) + { + string[] targetCodes = task.NextAddress.Split("-"); + if (targetCodes.Length == 3) + { + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�"); + return null; + } + string[] sourceCodes = task.CurrentAddress.Split("-"); + if (sourceCodes.Length == 3) + { + stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + return null; + } + } + return stackerCraneTaskCommand; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/GroundStationDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/GroundStationDBName.cs" new file mode 100644 index 0000000..a310009 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/GroundStationDBName.cs" @@ -0,0 +1,51 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Tasks.闃荤剨浠� +{ + public enum GroundStationDBName + { + /// <summary> + /// 鏄惁鍏佽鏀捐揣(璇�) + /// </summary> + R_IsCanPut, + + /// <summary> + /// 鏄惁鍏佽鍙栬揣(璇�) + /// </summary> + R_IsCanTake, + + /// <summary> + /// 鍙栬揣鎵樼洏绫诲瀷(璇�) + /// </summary> + R_TakePalletType, + + /// <summary> + /// 鏀捐揣鎵樼洏绫诲瀷(鍐�) + /// </summary> + W_PutPalletType, + + /// <summary> + /// 鏀捐揣璇锋眰(鍐�) + /// </summary> + W_PutRequest, + + /// <summary> + /// 鏀捐揣瀹屾垚(鍐�) + /// </summary> + W_PutFinish, + + /// <summary> + /// 鍙栬揣璇锋眰(鍐�) + /// </summary> + W_TakeRequest, + + /// <summary> + /// 鍙栬揣瀹屾垚(鍐�) + /// </summary> + W_TakeFinish + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/StackerCraneJob_ZH.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/StackerCraneJob_ZH.cs" new file mode 100644 index 0000000..1a0f5f3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/StackerCraneJob_ZH.cs" @@ -0,0 +1,309 @@ +锘縰sing Microsoft.AspNetCore.Components.Routing; +using Quartz; +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Common.TaskEnum; +using WIDESEAWCS_Core.Enums; +using WIDESEAWCS_IBasicInfoRepository; +using WIDESEAWCS_ITaskInfoRepository; +using WIDESEAWCS_ITaskInfoService; +using WIDESEAWCS_Model.Models; +using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.DeviceBase; +using WIDESEAWCS_QuartzJob.Models; +using WIDESEAWCS_QuartzJob.Service; +using WIDESEAWCS_QuartzJob.StackerCrane.Enum; +using WIDESEAWCS_Tasks.HoisterJob; +using WIDESEAWCS_Tasks.StackerCraneJob; +using WIDESEAWCS_Tasks.闃荤剨浠�; + +namespace WIDESEAWCS_Tasks +{ + [DisallowConcurrentExecution] + public class StackerCraneJob_ZH : JobBase, IJob + { + private readonly ITaskService _taskService; + private readonly ITaskExecuteDetailService _taskExecuteDetailService; + private readonly ITaskRepository _taskRepository; + private readonly IRouterService _routerService; + private readonly IStationMangerRepository _stationMangerRepository; + + public StackerCraneJob_ZH(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository) + { + _taskService = taskService; + _taskExecuteDetailService = taskExecuteDetailService; + _taskRepository = taskRepository; + _routerService = routerService; + _stationMangerRepository = stationMangerRepository; + } + + public Task Execute(IJobExecutionContext context) + { + try + { + CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); + if (commonStackerCrane != null) + { + if (!commonStackerCrane.IsEventSubscribed) + { + commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢 + } + + if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal) + { + commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆� + + if (commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby) + { + Dt_Task? task = GetTask(commonStackerCrane); + if (task != null) + { + StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); + if (stackerCraneTaskCommand != null) + { + bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand); + if (sendFlag) + { + commonStackerCrane.LastTaskType = task.TaskType; + _taskService.UpdateTaskStatusToNext(task.TaskNum); + } + } + } + } + } + } + } + catch (Exception ex) + { + WriteError(nameof(StackerCraneJob_ZH), ex.Message, ex); + } + return Task.CompletedTask; + } + + /// <summary> + /// 浠诲姟瀹屾垚浜嬩欢璁㈤槄鐨勬柟娉� + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e) + { + CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane; + if (commonStackerCrane != null) + { + if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) + { + Console.Out.WriteLine("TaskCompleted" + e.TaskNum); + _taskService.StackCraneTaskCompleted(e.TaskNum); + commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); + } + } + } + + /// <summary> + /// 鑾峰彇浠诲姟 + /// </summary> + /// <param name="commonStackerCrane">鍫嗗灈鏈哄璞�</param> + /// <returns></returns> + private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane) + { + Dt_Task task; + if (commonStackerCrane.LastTaskType == null) + { + task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode); + } + else + { + if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + if (task == null) + { + task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); + } + } + else + { + task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); + if (task == null) + { + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + } + } + } + + if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + if (OutTaskStationIsOccupied(task) != null || true) + { + return task; + } + else + { + List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList(); + List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes); + foreach (var item in tasks) + { + if (OutTaskStationIsOccupied(task) != null) + { + return task; + } + } + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + } + } + + return task; + } + + /// <summary> + /// 鍑哄簱浠诲姟鍒ゆ柇鍑哄簱绔欏彴鏄惁琚崰鐢� + /// </summary> + /// <param name="task">浠诲姟瀹炰綋</param> + /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> + private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) + { + Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.Roadway); + if (stationManger != null) + { + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); + if (device != null) + { + OtherDevice client = (OtherDevice)device; + if (client.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanPut, stationManger.StationCode))//鍑哄簱绔欏彴鏈鍗犵敤 + { + task.TargetAddress = stationManger.StackerCraneStationCode; + _taskRepository.UpdateData(task); + return task; + } + } + else + { + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤"); + WriteInfo(nameof(StackerCraneJob_ZH), $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤"); + } + } + else + { + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴"); + WriteInfo(nameof(StackerCraneJob_ZH), $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴"); + } + return null; + } + + /// <summary> + /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel + /// </summary> + /// <param name="task">浠诲姟瀹炰綋</param> + /// <returns></returns> + /// <exception cref="Exception"></exception> + public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task) + { + StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); + + stackerCraneTaskCommand.Barcode = task.PalletCode; + stackerCraneTaskCommand.TaskNum = task.TaskNum; + stackerCraneTaskCommand.WorkType = 1; + stackerCraneTaskCommand.TrayType = 1; + if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔� + { + //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway); + //if (routers.Count > 0) + //{ + string[] startCodes = task.CurrentAddress.Split("-"); + + stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]); + + string[] targetCodes = task.NextAddress.Split("-"); + if (targetCodes.Length == 3) + { + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�"); + return null; + } + //} + //else + //{ + // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅"); + // return null; + //} + } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress); + //if (routers.Count > 0) + { + string[] targetCodes = task.NextAddress.Split("-"); + + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); + + string[] sourceCodes = task.CurrentAddress.Split("-"); + if (sourceCodes.Length == 3) + { + stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + WriteInfo(nameof(StackerCraneJob_ZH), $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + return null; + } + } + //else + //{ + // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鏀捐揣绔欏彴淇℃伅"); + // return null; + //} + } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) + { + string[] targetCodes = task.NextAddress.Split("-"); + if (targetCodes.Length == 3) + { + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�"); + WriteInfo(nameof(StackerCraneJob_ZH), $"绉诲簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�"); + return null; + } + string[] sourceCodes = task.CurrentAddress.Split("-"); + if (sourceCodes.Length == 3) + { + stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + + WriteInfo(nameof(StackerCraneJob_ZH), $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + return null; + } + } + return stackerCraneTaskCommand; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2890c663-d711-4602-bdad-56852b6a51bc.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2890c663-d711-4602-bdad-56852b6a51bc.vsidx" deleted file mode 100644 index d78ab29..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2890c663-d711-4602-bdad-56852b6a51bc.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/433da193-e6b4-48ed-bdc6-2332b099c9c2.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/433da193-e6b4-48ed-bdc6-2332b099c9c2.vsidx" deleted file mode 100644 index d76b5c6..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/433da193-e6b4-48ed-bdc6-2332b099c9c2.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4b9d13b5-464a-47d4-8dae-9937d5273cc6.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4b9d13b5-464a-47d4-8dae-9937d5273cc6.vsidx" new file mode 100644 index 0000000..b4217cb --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4b9d13b5-464a-47d4-8dae-9937d5273cc6.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5023b4f8-50f2-4301-b3ca-8d83fa478bdc.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5023b4f8-50f2-4301-b3ca-8d83fa478bdc.vsidx" new file mode 100644 index 0000000..6878405 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5023b4f8-50f2-4301-b3ca-8d83fa478bdc.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5e0bd2ed-63f0-464e-b65d-6e328058f9ca.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5e0bd2ed-63f0-464e-b65d-6e328058f9ca.vsidx" deleted file mode 100644 index a2ea337..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5e0bd2ed-63f0-464e-b65d-6e328058f9ca.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/776b31ca-b3d0-487d-8a56-85a65dead3f1.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/776b31ca-b3d0-487d-8a56-85a65dead3f1.vsidx" deleted file mode 100644 index b538cb6..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/776b31ca-b3d0-487d-8a56-85a65dead3f1.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bb9c5c98-5de4-43c8-8a36-34ad166b9c7a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bb9c5c98-5de4-43c8-8a36-34ad166b9c7a.vsidx" new file mode 100644 index 0000000..f1f7a5f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bb9c5c98-5de4-43c8-8a36-34ad166b9c7a.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d6701bb1-0090-4502-a2ca-a4e0726e92d8.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d6701bb1-0090-4502-a2ca-a4e0726e92d8.vsidx" new file mode 100644 index 0000000..6256f40 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d6701bb1-0090-4502-a2ca-a4e0726e92d8.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/MaterielInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/MaterielInfoService.cs" index f8b4441..6f95a6e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/MaterielInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/MaterielInfoService.cs" @@ -13,8 +13,11 @@ { public partial class MaterielInfoService : ServiceBase<Dt_MaterielInfo, IMaterielInfoRepository>, IMaterielInfoService { - public MaterielInfoService(IMaterielInfoRepository BaseDal) : base(BaseDal) + private readonly IBasicRepository _basicRepository; + + public MaterielInfoService(IMaterielInfoRepository BaseDal, IBasicRepository basicRepository) : base(BaseDal) { + _basicRepository = basicRepository; } public IMaterielInfoRepository Repository => BaseDal; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" index 0720420..bbe6eee 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" @@ -14,20 +14,20 @@ { public class BasicService : IBasicService { - /// <summary> - /// - /// </summary> public ILocationInfoService LocationInfoService { get; } public IMaterielInfoService MaterielInfoService { get; } public IWarehouseService WarehouseService { get; } - public BasicService(ILocationInfoService locationInfoService, IMaterielInfoService materielInfoService, IWarehouseService warehouseService) + public ISupplierInfoService SupplierInfoService { get; } + + public BasicService(ILocationInfoService locationInfoService, IMaterielInfoService materielInfoService, IWarehouseService warehouseService, ISupplierInfoService supplierInfoService) { LocationInfoService = locationInfoService; MaterielInfoService = materielInfoService; WarehouseService = warehouseService; + SupplierInfoService = supplierInfoService; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/MaterielInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/MaterielInfoService.cs" index e419149..17c4dbe 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/MaterielInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/MaterielInfoService.cs" @@ -9,6 +9,7 @@ using WIDESEA_Core; using WIDESEA_Core.BaseServices; using WIDESEA_DTO.Basic; +using WIDESEA_DTO.ERP; using WIDESEA_IBasicRepository; using WIDESEA_IBasicService; using WIDESEA_Model.Models; @@ -66,6 +67,12 @@ { try { + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == model.WaId); + if (warehouse == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�"); + } + if (model.OperateType == 0) { Dt_MaterielInfo materielInfo = new Dt_MaterielInfo() @@ -78,14 +85,14 @@ MaterielName = model.Name, MaterielSize = model.Size, MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType, - MaterielSpec = "model.", + MaterielSpec = model.StandType, MaterielState = (EnableEnum)model.State, MaterielThickness = model.Thickness, MaterielType = (MaterielTypeEnum)model.ItemType, MaterielUnit = model.Unit, MaterielVersion = model.MaterialVersion, MaterielWide = model.Wide, - WarehouseId = model.WaId, + WarehouseId = warehouse.WarehouseId, }; BaseDal.AddData(materielInfo); } @@ -112,7 +119,7 @@ materielInfo.MaterielUnit = model.Unit; materielInfo.MaterielVersion = model.MaterialVersion; materielInfo.MaterielWide = model.Wide; - materielInfo.WarehouseId = model.WaId; + materielInfo.WarehouseId = warehouse.WarehouseId; BaseDal.UpdateData(materielInfo); } else if (model.OperateType == 2) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/MethodParamsValidateAttribute.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/MethodParamsValidateAttribute.cs" index 52b5807..e36ddf8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/MethodParamsValidateAttribute.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/MethodParamsValidateAttribute.cs" @@ -9,5 +9,6 @@ [AttributeUsage(AttributeTargets.Method)] public class MethodParamsValidateAttribute : Attribute { + } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/ModelValidateAttribute.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/ModelValidateAttribute.cs" index d32fa8d..0f8b12b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/ModelValidateAttribute.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Attributes/ModelValidateAttribute.cs" @@ -88,6 +88,8 @@ public Func<object, (bool, string, object?)> CustomValidateMethod { get; set; } + public object ErrorResponse { get; set; } + public ModelValidateAttribute() { } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/MaterielInfoDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/MaterielInfoDTO.cs" deleted file mode 100644 index b6c683e..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/MaterielInfoDTO.cs" +++ /dev/null @@ -1,144 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WIDESEA_Core.Attributes; -using static WIDESEA_DTO.ErpResponseContent; - -namespace WIDESEA_DTO.Basic -{ - [ModelValidate] - public class MaterielInfo - { - /// <summary> - /// - /// </summary> - public string message { get; set; } - /// <summary> - /// - /// </summary> - public string From { get; set; } - /// <summary> - /// - /// </summary> - public string DateTime { get; set; } - /// <summary> - /// - /// </summary> - [PropertyValidate("鐗╂枡鍒楄〃", NotNullAndEmpty = true)] - public MaterielInfoDTO Content { get; set; } - } - [ModelValidate] - public class MaterielInfoDTO - { - /// <summary> - /// - /// </summary> - public string Code { get; set; } - /// <summary> - /// - /// </summary> - public string Name { get; set; } - /// <summary> - /// - /// </summary> - public string StandType { get; set; } - /// <summary> - /// - /// </summary> - public int ItemType { get; set; } - /// <summary> - /// - /// </summary> - public string Type { get; set; } - /// <summary> - /// - /// </summary> - public int ItemSourceType { get; set; } - /// <summary> - /// - /// </summary> - public string Unit { get; set; } - /// <summary> - /// - /// </summary> - public string MaterialVersion { get; set; } - /// <summary> - /// - /// </summary> - public int Size { get; set; } - /// <summary> - /// - /// </summary> - public int Length { get; set; } - /// <summary> - /// - /// </summary> - public int Thickness { get; set; } - /// <summary> - /// - /// </summary> - public int Wide { get; set; } - /// <summary> - /// - /// </summary> - public string Model { get; set; } - /// <summary> - /// - /// </summary> - public string Color { get; set; } - /// <summary> - /// - /// </summary> - public string MaterialTG { get; set; } - /// <summary> - /// - /// </summary> - public string Spare1 { get; set; } - /// <summary> - /// - /// </summary> - public string Spare2 { get; set; } - /// <summary> - /// - /// </summary> - public string Spare3 { get; set; } - /// <summary> - /// - /// </summary> - public string Spare4 { get; set; } - /// <summary> - /// - /// </summary> - public string Spare5 { get; set; } - /// <summary> - /// - /// </summary> - public int State { get; set; } - /// <summary> - /// - /// </summary> - public string InvOrgId { get; set; } - /// <summary> - /// - /// </summary> - public int OperateType { get; set; } - /// <summary> - /// - /// </summary> - public string UserDef01 { get; set; } - /// <summary> - /// - /// </summary> - public string UserDef04 { get; set; } - /// <summary> - /// - /// </summary> - public int IsCheck { get; set; } - /// <summary> - /// - /// </summary> - public string WaId { get; set; } - } -} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/SupplierDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/SupplierDTO.cs" index 6f11d3a..f5d96aa 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/SupplierDTO.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/SupplierDTO.cs" @@ -8,45 +8,72 @@ namespace WIDESEA_DTO.Basic { [ModelValidate] - public class Supplier - { - /// <summary> - /// - /// </summary> - public string From { get; set; } - /// <summary> - /// - /// </summary> - public string DateTime { get; set; } - /// <summary> - /// - /// </summary> - [PropertyValidate("鐗╂枡鍒楄〃", NotNullAndEmpty = true)] - public SupplierDTO Content { get; set; } - } - [ModelValidate] public class SupplierDTO { + /// <summary> + /// 渚涘簲鍟嗙紪鐮� + /// </summary> + [PropertyValidate("渚涘簲鍟嗙紪鐮�", NotNullAndEmpty = true)] public string Code { get; set; } + /// <summary> + /// 渚涘簲鍟嗗叏绉� + /// </summary> + [PropertyValidate("渚涘簲鍟嗗叏绉�", NotNullAndEmpty = true)] public string Name { get; set; } + /// <summary> + /// 渚涘簲鍟嗙畝绉� + /// </summary> + [PropertyValidate("渚涘簲鍟嗙畝绉�", NotNullAndEmpty = true)] public string ShortName { get; set; } + /// <summary> + /// 鑱旂郴浜� + /// </summary> + [PropertyValidate("鑱旂郴浜�", NotNullAndEmpty = true)] public string Contacts { get; set; } + /// <summary> + /// 鑱旂郴鐢佃瘽 + /// </summary> + [PropertyValidate("鑱旂郴鐢佃瘽", NotNullAndEmpty = true)] public string ContactNumber { get; set; } + /// <summary> + /// 鑱旂郴鍦板潃 + /// </summary> + [PropertyValidate("鑱旂郴鍦板潃", NotNullAndEmpty = true)] public string ContactAddress { get; set; } + /// <summary> + /// 鐢靛瓙閭 + /// </summary> + [PropertyValidate("鐢靛瓙閭", NotNullAndEmpty = true)] public string Email { get; set; } + /// <summary> + /// 鎻忚堪 + /// </summary> + [PropertyValidate("鎻忚堪", NotNullAndEmpty = true)] public string Description { get; set; } + /// <summary> + /// 鐘舵�� + /// </summary> + [PropertyValidate("鐘舵��", NotNullAndEmpty = true)] public int State { get; set; } - public string InvOrgId { get; set; } + /// <summary> + /// 搴撳瓨缁勭粐 + /// </summary> + [PropertyValidate("搴撳瓨缁勭粐", NotNullAndEmpty = true)] + public string InvOrgId { get; set; } = "娣畨鐗瑰垱浜屽巶"; - public string OperateType { get; set; } + /// <summary> + /// 鎿嶄綔绫诲瀷 + /// </summary> + [PropertyValidate("鎿嶄綔绫诲瀷", NotNullAndEmpty = true,Check = new object[] { 0, 1, 2 })] + public string OperateType { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpOutOrderDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpOutOrderDTO.cs" index cdcad93..dc8bd94 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpOutOrderDTO.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpOutOrderDTO.cs" @@ -8,50 +8,99 @@ namespace WIDESEA_DTO.ERP { - [ModelValidate] - public class ErpOutOrder - { - /// <summary> - /// - /// </summary> - public string From { get; set; } - /// <summary> - /// - /// </summary> - public string DateTime { get; set; } - /// <summary> - /// - /// </summary> - [PropertyValidate("鐗╂枡鍒楄〃", NotNullAndEmpty = true)] - public ErpOutOrderDTO Content { get; set; } - } + /// <summary> + /// 鍑哄簱鍗� + /// </summary> [ModelValidate] public class ErpOutOrderDTO { + /// <summary> + /// 鎿嶄綔绫诲瀷<br/> + /// 1锛氭柊澧�<br/> + /// 2锛氫慨鏀�<br/> + /// 3锛氬垹闄�(鍒犻櫎鍙鏄庣粏琛屽彿鍜岄鏂欏崟鍙�) + /// </summary> + [PropertyValidate("鎿嶄綔绫诲瀷", NotNullAndEmpty = true, Check = new object[] { 1, 2, 3 })] public int Way { get; set; } + /// <summary> + /// 鏄庣粏琛屽彿 + /// </summary> + [PropertyValidate("鏄庣粏琛屽彿", NotNullAndEmpty = true)] public string RowNo { get; set; } + /// <summary> + /// 棰嗘枡璁㈠崟鍙� + /// </summary> + [PropertyValidate("棰嗘枡璁㈠崟鍙�", NotNullAndEmpty = true)] public string OrderNo { get; set; } + /// <summary> + /// 浠撳簱缂栧彿 + /// </summary> + [PropertyValidate("浠撳簱缂栧彿", NotNullAndEmpty = true)] public string WaId { get; set; } + /// <summary> + /// 璁㈠崟绫诲瀷<br/> + /// 1锛氭爣鍑嗙敓浜ч鏂�<br/> + /// 2锛氭爣鍑嗛儴闂ㄩ鏂�<br/> + /// 3锛氱爺鍙戦」鐩鏂�<br/> + /// 4锛氱墿鏂欓�佹鍑轰粨<br/> + /// 5锛氱墿鏂欒皟鍑�<br/> + /// 6锛氱淮淇彂鏂�<br/> + /// 7锛氶攢鍞锤鏄�<br/> + /// 8锛氶��璐х鐞� + /// </summary> + [PropertyValidate("璁㈠崟绫诲瀷", NotNullAndEmpty = true, Check = new object[] { 1, 2, 3, 4, 5, 6, 7, 8 })] public int OType { get; set; } + /// <summary> + /// 鐗╂枡缂栫爜 + /// </summary> + [PropertyValidate("鐗╂枡缂栫爜", NotNullAndEmpty = true)] public string MCode { get; set; } + /// <summary> + /// 鐗╂枡鎵规 + /// </summary> + [PropertyValidate("鐗╂枡鎵规")] public string MLot { get; set; } + /// <summary> + /// 鏁伴噺 + /// </summary> + [PropertyValidate("鏁伴噺", NotNullAndEmpty = true, MinValue = 0, IsContainMinValue = false)] public float Qty { get; set; } + /// <summary> + /// 鍗曚綅 + /// </summary> + [PropertyValidate("鍗曚綅", NotNullAndEmpty = true)] public string Unit { get; set; } + /// <summary> + /// 涓嬪崟鏃ユ湡 + /// </summary> + [PropertyValidate("涓嬪崟鏃ユ湡", NotNullAndEmpty = true)] public string OrderData { get; set; } + /// <summary> + /// 澶囨敞 + /// </summary> + [PropertyValidate("澶囨敞")] public string Node { get; set; } + /// <summary> + /// 閮ㄩ棬缂栧彿 + /// </summary> + [PropertyValidate("閮ㄩ棬缂栧彿")] public string DepartmentCode { get; set; } + /// <summary> + /// 閮ㄩ棬鍚嶇О + /// </summary> + [PropertyValidate("閮ㄩ棬鍚嶇О")] public string DepartmentName { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpResponseContent.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpResponseContent.cs" index 3ae8a32..4b7860b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpResponseContent.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpResponseContent.cs" @@ -32,15 +32,15 @@ /// <summary> /// /// </summary> - public bool bSucc { get; set; } = true; + public bool BSucc { get; set; } = true; /// <summary> /// /// </summary> - public string strCode { get; set; } = "0000"; + public string StrCode { get; set; } = "0000"; /// <summary> /// 鎵ц鎴愬姛 /// </summary> - public string strMsg { get; set; } = "鎵ц鎴愬姛"; + public string StrMsg { get; set; } = "鎵ц鎴愬姛"; /// <summary> /// /// </summary> @@ -56,17 +56,17 @@ } public ErpResponseContent OK(string message = null) { - bSucc = true; - strCode = "0000"; - strMsg = message == null ? "鎵ц鎴愬姛" : message; + BSucc = true; + StrCode = "0000"; + StrMsg = message == null ? "鎵ц鎴愬姛" : message; return this; } public ErpResponseContent Error(string message = null) { - bSucc = false; - strCode = "404"; - strMsg = message == null ? "鎵ц澶辫触" : message; + BSucc = false; + StrCode = "404"; + StrMsg = message == null ? "鎵ц澶辫触" : message; return this; } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/MaterielInfoDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/MaterielInfoDTO.cs" new file mode 100644 index 0000000..2568e47 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/MaterielInfoDTO.cs" @@ -0,0 +1,174 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.Attributes; + +namespace WIDESEA_DTO.ERP +{ + [ModelValidate()] + public class MaterielInfoDTO + { + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string Code { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string Name { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string StandType { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int ItemType { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string Type { get; set; } + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int ItemSourceType { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string Unit { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string MaterialVersion { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int Size { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int Length { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int Thickness { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int Wide { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string Model { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string Color { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string MaterialTG { get; set; } + + ///// <summary> + ///// + ///// </summary> + //[PropertyValidate("", NotNullAndEmpty = true)] + //public string Spare1 { get; set; } + + ///// <summary> + ///// + ///// </summary> + //[PropertyValidate("", NotNullAndEmpty = true)] + //public string Spare2 { get; set; } + + ///// <summary> + ///// + ///// </summary> + //[PropertyValidate("", NotNullAndEmpty = true)] + //public string Spare3 { get; set; } + + ///// <summary> + ///// + ///// </summary> + //[PropertyValidate("", NotNullAndEmpty = true)] + //public string Spare4 { get; set; } + + ///// <summary> + ///// + ///// </summary> + //[PropertyValidate("", NotNullAndEmpty = true)] + //public string Spare5 { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int State { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string InvOrgId { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int OperateType { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string UserDef01 { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string UserDef04 { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public int IsCheck { get; set; } + + /// <summary> + /// + /// </summary> + [PropertyValidate("", NotNullAndEmpty = true)] + public string WaId { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/PurchaseOrderModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/PurchaseOrderModel.cs" index f7789c8..be24ab9 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/PurchaseOrderModel.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/PurchaseOrderModel.cs" @@ -11,23 +11,7 @@ namespace WIDESEA_DTO { - [ModelValidate] - public class Root - { - /// <summary> - /// - /// </summary> - public string From { get; set; } - /// <summary> - /// - /// </summary> - public string DateTime { get; set; } - /// <summary> - /// - /// </summary> - [PropertyValidate("鐗╂枡鍒楄〃", NotNullAndEmpty = true)] - public PurchaseOrderModel Content { get; set; } - } + /// <summary> /// 閲囪喘鍗曟ā鍨� /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ReceiveOrderModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ReceiveOrderModel.cs" deleted file mode 100644 index dc93238..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ReceiveOrderModel.cs" +++ /dev/null @@ -1,137 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WIDESEA_DTO -{ - /// <summary> - /// - /// </summary> - public class ReceiveOrderModel - { - /// <summary> - /// 鎿嶄綔绫诲瀷 - /// </summary> - public int Way { get; set; } - - /// <summary> - /// WMS涓诲仴鍊� - /// </summary> - public string UniqueTag { get; set; } - - /// <summary> - /// 鏀惰揣鍗曞彿 - /// </summary> - public string Code { get; set; } - - /// <summary> - /// 鍗曟嵁绫诲瀷 - /// </summary> - public string Type { get; set; } - - /// <summary> - /// 鍏徃浠e彿 - /// </summary> - public string CompanyId { get; set; } = "CompanyId"; - - /// <summary> - /// 宸ュ巶浠e彿 - /// </summary> - public string PlantsId { get; set; } = "PlantsId"; - - /// <summary> - /// 瀹㈡埛浠e彿 - /// </summary> - public string CustomerId { get; set; } = ""; - - /// <summary> - /// 渚涘簲鍟嗕唬鍙� - /// </summary> - public string SuppliersId { get; set; } = ""; - - /// <summary> - /// 鏀惰揣鏃ユ湡 - /// </summary> - public DateTime ReceiveDate { get; set; } - - /// <summary> - /// 閫佽揣鍗曞彿 - /// </summary> - public string DeliveryCode { get; set; } = "/"; - - /// <summary> - /// 浠撳簱浠e彿 - /// </summary> - public string WarehouseCode { get; set; } = ""; - - /// <summary> - /// 鍒涘缓浜轰唬鍙� - /// </summary> - public string CreatorId { get; set; } = ""; - - /// <summary> - /// 鍒涘缓鏃堕棿 - /// </summary> - public DateTime EndDate { get; set; } - } - - public class RecevieOrderDetailModel - { - /// <summary> - /// 閲囪喘鍗曞彿 - /// </summary> - public string PurchaseOrderCode { get; set; } - - /// <summary> - /// 閲囪喘鏄庣粏琛屽彿 - /// </summary> - public int PurchaseOrderSerno { get; set; } - - /// <summary> - /// 鏀惰揣鏄庣粏琛屽彿 - /// </summary> - public int Serno { get; set; } - - /// <summary> - /// 鏉愭枡缂栫爜 - /// </summary> - public string MaterialsId { get; set; } - - /// <summary> - /// 鏀惰揣鏁伴噺 - /// </summary> - public float QtyReceived { get; set; } - - /// <summary> - /// 鏀惰揣鎵规 - /// </summary> - public string Lotno { get; set; } - - /// <summary> - /// 渚涘簲鍟嗘壒娆� - /// </summary> - public string Supplotno { get; set; } - - /// <summary> - /// 鏄惁瑕佹楠� - /// </summary> - public int IfInspection { get; set; } - - /// <summary> - /// 鍚◣浠锋牸 - /// </summary> - public double PriceInTax { get; set; } = 0; - - /// <summary> - /// 绋庣巼 - /// </summary> - public string Taxrate { get; set; } = ""; - - /// <summary> - /// 甯佸埆缂栫爜 - /// </summary> - public string Currcode { get; set; } = ""; - } -} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Root.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Root.cs" new file mode 100644 index 0000000..6307243 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Root.cs" @@ -0,0 +1,27 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.Attributes; + +namespace WIDESEA_DTO.ERP +{ + [ModelValidate] + public class Root<T> + { + /// <summary> + /// + /// </summary> + public string From { get; set; } + /// <summary> + /// + /// </summary> + public string DateTime { get; set; } + /// <summary> + /// + /// </summary> + [PropertyValidate("鍐呭", NotNullAndEmpty = true)] + public T Content { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs" index e26c28c..3bdd8dc 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs" @@ -9,11 +9,24 @@ { public interface IBasicService: IDependency { + /// <summary> + /// 璐т綅涓氬姟灞� + /// </summary> ILocationInfoService LocationInfoService { get; } + /// <summary> + /// 鐗╂枡涓氬姟灞� + /// </summary> IMaterielInfoService MaterielInfoService { get; } + /// <summary> + /// 浠撳簱涓氬姟灞� + /// </summary> IWarehouseService WarehouseService { get; } + /// <summary> + /// 渚涘簲鍟嗕笟鍔″眰 + /// </summary> + ISupplierInfoService SupplierInfoService { get; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IMaterielInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IMaterielInfoService.cs" index 222b217..8ac58bb 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IMaterielInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IMaterielInfoService.cs" @@ -6,6 +6,7 @@ using WIDESEA_Core; using WIDESEA_Core.BaseServices; using WIDESEA_DTO.Basic; +using WIDESEA_DTO.ERP; using WIDESEA_IBasicRepository; using WIDESEA_Model.Models; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" index 71cd415..e60bbc5 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" @@ -39,6 +39,12 @@ } private static object _rowNoLocker = new object(); + /// <summary> + /// 鎵爜娣诲姞鏀惰揣鍗曟槑缁嗭紙鍗曚釜锛� + /// </summary> + /// <param name="serNum">鐗╂枡鐮�</param> + /// <param name="orderNo">鏀惰揣鍗曞彿</param> + /// <returns></returns> public WebResponseContent AddReceiveOrderDetail(string serNum, string orderNo) { try diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs" index 3d1c42b..3a890ea 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs" @@ -116,7 +116,10 @@ [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] public string Remark { get; set; } - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "浠撳簱缂栧彿")] - public string WarehouseId { get; set; } + /// <summary> + /// 浠撳簱缂栧彿 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱缂栧彿")] + public int WarehouseId { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" index 48ed393..4fd4a00 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" @@ -47,7 +47,7 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost, Route("ReceivePurchaseOrderSingle"), AllowAnonymous, MethodParamsValidate] - public ErpResponseContent ReceivePurchaseOrder([FromBody] Root model) + public ErpResponseContent ReceivePurchaseOrder([FromBody] Root<PurchaseOrderModel> model) { WebResponseContent content = _purchaseOrderService.ReceivePurchaseOrder(model.Content); if (content.Status) return Instance.OK(); @@ -60,7 +60,7 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost, Route("ReceiveSupplier"), AllowAnonymous, MethodParamsValidate] - public ErpResponseContent ReceiveSupplier([FromBody] Supplier model) + public ErpResponseContent ReceiveSupplier([FromBody] Root<SupplierDTO> model) { WebResponseContent content = _supplierInfoService.ReceiveSupplier(model.Content); if (content.Status) return Instance.OK(); @@ -73,9 +73,9 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost, Route("ReceiveMaterial"), AllowAnonymous, MethodParamsValidate] - public ErpResponseContent ReceiveMaterial([FromBody] MaterielInfo model) + public ErpResponseContent ReceiveMaterial([FromBody] Root<MaterielInfoDTO> model) { - WebResponseContent content = _materielInfoService.ReceiveMaterial(model.Content); + WebResponseContent content = _materielInfoService.ReceiveMaterial(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } @@ -86,9 +86,9 @@ /// <param name="erpOutOrder"></param> /// <returns></returns> [HttpPost, Route("ReceiveOutOrder"), AllowAnonymous, MethodParamsValidate] - public ErpResponseContent ReceiveOutOrder([FromBody] ErpOutOrder erpOutOrder) + public ErpResponseContent ReceiveOutOrder([FromBody] Root<ErpOutOrderDTO> erpOutOrder) { - WebResponseContent content = _outboundOrderService.ReceiveOutOrder(erpOutOrder.Content); + WebResponseContent content = _outboundOrderService.ReceiveOutOrder(erpOutOrder.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } -- Gitblit v1.9.3