From 33861e7fbf9cc4af3088f715ce7607a681f9c181 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期三, 05 三月 2025 16:58:12 +0800 Subject: [PATCH] 成品代码,板材巷道高度增加 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IProOutOrderDetailRepository.cs | 14 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo_Hty.cs | 43 + 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/APIEnum/APIEnum.cs | 7 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0f3806e6-14d4-496b-9b44-cf2ad051b337.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs | 140 ++++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/ProOutOrderRepository.cs | 18 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfo_HtyRepository.cs | 14 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoDetail_HtyService.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs | 7 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/ProOutOrderDetailController.cs | 19 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoRepository.cs | 14 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPReceiveModel.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 13 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IProOutOrderRepository.cs | 14 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderDetailService.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs | 15 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/成品仓/AGV_CPJob.cs | 45 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesBagInfoModel.cs | 65 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs | 4 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_ProOutOrder.cs | 65 ++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoDetail_HtyService.cs | 21 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoDetailController.cs | 19 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_ProOutOrderDetail.cs | 114 +++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoDetail_HtyController.cs | 19 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs | 140 ++++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs | 41 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrder.cs | 5 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/成品仓/AGV_CPExtend.cs | 103 +++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetail_HtyService.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoController.cs | 19 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs | 6 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesShipmentOrderSync.cs | 77 ++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfoDetail.cs | 115 +++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs | 69 ++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfo_HtyService.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/ProOutOrderDetailRepository.cs | 18 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfo_HtyService.cs | 20 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/IERPService/IInvokeERPService.cs | 12 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b697bc68-cc10-4945-8b22-efceeb7bf056.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs | 34 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrderDetail.cs | 26 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoDetailService.cs | 16 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/53944191-d3e3-4dc3-a3d3-f76da5a49529.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoDetailService.cs | 20 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs | 21 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoDetail_HtyRepository.cs | 18 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/042147bb-52cb-4805-9b14-80f5cec0e226.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfo_HtyRepository.cs | 18 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c3720f0e-fb5a-46ef-9245-3c9faa5a877f.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs | 23 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderDetailService.cs | 25 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoDetailRepository.cs | 14 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoDetailRepository.cs | 18 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfoDetail_Hty.cs | 43 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs | 29 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockRepository.cs | 10 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CP.cs | 70 ++ /dev/null | 0 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/dabe2c19-7075-4f3e-b4b4-ad475717f014.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c4ebba94-b522-42e2-9e35-4d78739b7bd8.vsidx | 0 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/ConveyorLineJob_BC.cs | 14 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/19f2ce5e-ac6e-4a83-a8d8-de666adbd753.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IStockRepository.cs | 4 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoService.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfo_HtyController.cs | 19 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoDetail_HtyRepository.cs | 14 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/ProOutOrderController.cs | 19 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs | 18 76 files changed, 1,820 insertions(+), 56 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/53944191-d3e3-4dc3-a3d3-f76da5a49529.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/53944191-d3e3-4dc3-a3d3-f76da5a49529.vsidx" new file mode 100644 index 0000000..4e1871c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/53944191-d3e3-4dc3-a3d3-f76da5a49529.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/c3720f0e-fb5a-46ef-9245-3c9faa5a877f.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c3720f0e-fb5a-46ef-9245-3c9faa5a877f.vsidx" new file mode 100644 index 0000000..fee28df --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c3720f0e-fb5a-46ef-9245-3c9faa5a877f.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/c3952f00-6f03-46e1-a8c4-0c2746ff48ae.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c3952f00-6f03-46e1-a8c4-0c2746ff48ae.vsidx" deleted file mode 100644 index 4ccb739..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c3952f00-6f03-46e1-a8c4-0c2746ff48ae.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/c4ebba94-b522-42e2-9e35-4d78739b7bd8.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c4ebba94-b522-42e2-9e35-4d78739b7bd8.vsidx" new file mode 100644 index 0000000..a368323 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c4ebba94-b522-42e2-9e35-4d78739b7bd8.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/dabe2c19-7075-4f3e-b4b4-ad475717f014.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/dabe2c19-7075-4f3e-b4b4-ad475717f014.vsidx" new file mode 100644 index 0000000..1ea4f2f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/dabe2c19-7075-4f3e-b4b4-ad475717f014.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" index 9112aad..cb4391f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" @@ -218,7 +218,7 @@ /// <param name="targetAddress">淇敼鍚庣殑鐩爣鍦板潃</param> /// <param name="currentAddress">淇敼鍚庣殑褰撳墠鍦板潃</param> /// <param name="nextAddress">淇敼鍚庣殑涓嬩竴鍦板潃</param> - void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = ""); + void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "", int heightType = 0); /// <summary> /// 璇锋眰鍒嗛厤宸烽亾 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 68cc2df..133dd59 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" @@ -161,7 +161,13 @@ [ExporterHeader(DisplayName = "WMS浠诲姟涓婚敭")] [SugarColumn(IsNullable = false, ColumnDescription = "WMS浠诲姟涓婚敭")] public int WMSId { get; set; } - + /// <summary> + /// 楂樺害绫诲瀷 + /// </summary> + [ImporterHeader(Name = "楂樺害绫诲瀷")] + [ExporterHeader(DisplayName = "楂樺害绫诲瀷")] + [SugarColumn(IsNullable = false, ColumnDescription = "楂樺害绫诲瀷")] + public int HeightType { get; set; } /// <summary> /// 浠诲姟涓嬪彂鏃堕棿 /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs" index 0ade787..714f7c7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs" @@ -24,7 +24,7 @@ /// <param name="targetAddress">淇敼鍚庣殑鐩爣鍦板潃</param> /// <param name="currentAddress">淇敼鍚庣殑褰撳墠鍦板潃</param> /// <param name="nextAddress">淇敼鍚庣殑涓嬩竴鍦板潃</param> - public void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "") + public void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "", int heightType = 0) { StringBuilder stringBuilder = new StringBuilder(App.User?.UserId == 0 ? $"绯荤粺鑷姩娴佺▼" : "浜哄伐鎵嬪姩娴佺▼"); if (task.DeviceCode != deviceCode && !string.IsNullOrEmpty(deviceCode)) @@ -57,6 +57,10 @@ stringBuilder.Append($",宸烽亾鍙风敱{task.Roadway}鍙樻洿涓簕roadwayNo}"); task.Roadway = roadwayNo; } + if (heightType!=0) + { + task.HeightType= heightType; + } if (task.TaskState != taskStatus.ObjToInt()) { string newStatus = $"{taskStatus}"; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs" new file mode 100644 index 0000000..ce8099a --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs" @@ -0,0 +1,103 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_DTO.Agv; +using WIDESEAWCS_Common.APIEnum; +using WIDESEAWCS_Common.TaskEnum; +using WIDESEAWCS_Core; +using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_Tasks +{ + public partial class AGV_CPJob + { + public void SendAGVTask() + { + try + { + var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && nameof(AGV_FLJob).Contains(x.DeviceCode) && !string.IsNullOrEmpty(x.DeviceCode)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); + foreach (var task in newTasks) + { + try + { + if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.OutEmpty.ObjToInt() || task.TaskType == TaskTypeEnum.OutAllocate.ObjToInt()) + task.CurrentAddress = GetAGVAddress(task.CurrentAddress); + else + task.NextAddress = GetAGVAddress(task.NextAddress); + AgvTaskDTO taskDTO = new AgvTaskDTO() + { + TaskCode = task.AgvTaskNum, + ReqCode = DateTime.Now.ToString("yyyyMMddHHmmss") + task.AgvTaskNum, + TaskTyp = task.TaskType < TaskTypeEnum.Inbound.ObjToInt() ? "FLC" : "FLR", + ctnrCode = task.PalletCode, + PositionCodePath = new List<CodePath>() + { + new CodePath() + { + type="05", + positionCode=task.CurrentAddress + }, + new CodePath() + { + type="05", + positionCode=task.NextAddress + } + }, + }; + WebResponseContent content = _taskService.AgvSendTask(taskDTO, APIEnum.Agv_FLSendTask); + if (!content.Status) throw new Exception(content.Message); + + task.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt(); + + } + catch (Exception ex) + { + task.TaskState = TaskStatusEnum.Exception.ObjToInt(); + task.ExceptionMessage = ex.Message; + } + } + _taskService.UpdateData(newTasks); + } + catch (Exception ex) + { + WriteError(nameof(AGV_FLJob), ex.Message, ex); + } + } + /// <summary> + /// 鑾峰彇AGV鍦板潃 + /// </summary> + /// <param name="Address"></param> + /// <returns></returns> + public static string GetAGVAddress(string Address) + { + string[] targetCodes = Address.Split("-"); + if (targetCodes.Length == 5) + { + var Row = Convert.ToInt16(targetCodes[1]); + var Column = Convert.ToInt16(targetCodes[2]); + var Layer = Convert.ToInt16(targetCodes[3]); + var a = Row switch + { + 1 => "A1", + 2 => "B1", + 3 => "C1", + 4 => "D1", + 5 => "E1", + _ => throw new Exception($"鏈畾涔夌殑鎺�,鍦板潃:銆恵Address}銆�"), + }; + var b = Layer > 9 ? "" + Layer : "0" + Layer; + var c = Column > 9 ? "" + Column : "0" + Column; + if (Column == 10) c = "010"; + Address = a + b + c; + } + else + { + throw new Exception($"鍦板潃鏈夎,鍦板潃:銆恵Address}銆�"); + } + return Address; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPJob.cs" new file mode 100644 index 0000000..92930b9 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPJob.cs" @@ -0,0 +1,45 @@ +锘縰sing AutoMapper; +using Quartz; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_IBasicInfoRepository; +using WIDESEAWCS_ITaskInfoService; +using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.Service; + +namespace WIDESEAWCS_Tasks +{ + [DisallowConcurrentExecution] + public partial class AGV_CPJob : JobBase, IJob + { + public readonly ITaskService _taskService; + private readonly ITaskExecuteDetailService _taskExecuteDetailService; + private readonly IRouterService _routerService; + private readonly IStationMangerRepository _stationMangerRepository; + private readonly IMapper _mapper; + + public AGV_CPJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IStationMangerRepository stationMangerRepository, IMapper mapper) + { + _taskService = taskService; + _taskExecuteDetailService = taskExecuteDetailService; + _routerService = routerService; + _stationMangerRepository = stationMangerRepository; + _mapper = mapper; + } + public Task Execute(IJobExecutionContext context) + { + try + { + SendAGVTask(); + } + catch (Exception ex) + { + Console.Out.WriteLine(nameof(AGV_CPJob) + ":" + ex.Message); + } + return Task.CompletedTask; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CP.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CP.cs" new file mode 100644 index 0000000..4d5acbb --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CP.cs" @@ -0,0 +1,70 @@ +锘縰sing Newtonsoft.Json; +using Quartz; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_IBasicInfoRepository; +using WIDESEAWCS_ITaskInfoRepository; +using WIDESEAWCS_ITaskInfoService; +using WIDESEAWCS_Model.Models; +using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.Repository; +using WIDESEAWCS_QuartzJob.Service; +using ICacheService = WIDESEAWCS_Core.Caches.ICacheService; + +namespace WIDESEAWCS_Tasks.鎴愬搧浠� +{ + [DisallowConcurrentExecution] + public class ConveyorLineJob_CP : JobBase, IJob + { + private readonly ICacheService _cacheService; + private readonly ITaskService _taskService; + private readonly ITaskExecuteDetailService _taskExecuteDetailService; + private readonly ITaskRepository _taskRepository; + private readonly IStationMangerRepository _stationMangerRepository; + private readonly IRouterRepository _routerRepository; + private readonly IRouterService _routerService; + private readonly IRouterExtension _routerExtension; + private readonly List<Dt_WarehouseDevice> warehouseDevices; + + public ConveyorLineJob_CP(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension) + { + _cacheService = cacheService; + _taskService = taskService; + _taskExecuteDetailService = taskExecuteDetailService; + _taskRepository = taskRepository; + _stationMangerRepository = stationMangerRepository; + _routerRepository = routerRepository; + _routerService = routerService; + _routerExtension = routerExtension; + + string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice)); + if (!string.IsNullOrEmpty(warehouseDevicesStr)) + { + warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>(); + } + else + { + warehouseDevices = new List<Dt_WarehouseDevice>(); + } + } + + public Task Execute(IJobExecutionContext context) + { + bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value); + if (flag && value != null) + { + OtherDevice device = (OtherDevice)value; + Dt_WarehouseDevice? warehouseDevice = warehouseDevices.FirstOrDefault(x => x.DeviceCode == device.DeviceCode); + if (warehouseDevice == null) + { + WriteError(device.DeviceName, $"璇烽厤缃粨搴撹澶囦俊鎭�"); + return Task.CompletedTask; + } + } + return Task.CompletedTask; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" index 787946b..160aaee 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" @@ -142,7 +142,7 @@ WebResponseContent responseContent = _taskService.RequestWMSAssignRoadway(stations, task.TaskNum, conveyorLineInfoRead.Spare2); if (responseContent.Status) { - _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, roadwayNo: responseContent.Data.ToString() ?? ""); + _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, roadwayNo: responseContent.Data.ToString() ?? "",heightType: conveyorLineInfoRead.Spare2); } } @@ -272,7 +272,7 @@ device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode); device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode); device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode); - _taskService.UpdateTask(task, taskState, currentAddress: currentAddress, nextAddress: nextAddress, targetAddress: targetAddress, deviceCode: deviceCode, roadwayNo: roadwayNo); + _taskService.UpdateTask(task, taskState, currentAddress: currentAddress, nextAddress: nextAddress, targetAddress: targetAddress, deviceCode: deviceCode, roadwayNo: roadwayNo,heightType: conveyorLineInfoRead.Spare2); } } @@ -298,7 +298,7 @@ if (router.IsEnd) { - string? targetLoca = _taskService.RequestAssignLocationByHeight(taskIn.TaskNum, taskIn.Roadway, conveyorLineInfoRead.Spare2); + string? targetLoca = _taskService.RequestAssignLocationByHeight(taskIn.TaskNum, taskIn.Roadway, taskIn.HeightType); if (!string.IsNullOrEmpty(targetLoca)) { currentAddress = item.StackerCraneStationCode; @@ -340,10 +340,10 @@ device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode); device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode); } - else //璋冩嫧浣跨敤 - { - device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode); - } + //else //璋冩嫧浣跨敤 + //{ + // device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode); + //} //{ // task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && string.IsNullOrEmpty(x.DeviceCode) && x.TaskState == TaskStatusEnum.New.ObjToInt() && x.WarehouseId == warehouseDevice.WarehouseId); // if (task != null) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/042147bb-52cb-4805-9b14-80f5cec0e226.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/042147bb-52cb-4805-9b14-80f5cec0e226.vsidx" new file mode 100644 index 0000000..b0f62dc --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/042147bb-52cb-4805-9b14-80f5cec0e226.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/0f3806e6-14d4-496b-9b44-cf2ad051b337.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0f3806e6-14d4-496b-9b44-cf2ad051b337.vsidx" new file mode 100644 index 0000000..c70ac53 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0f3806e6-14d4-496b-9b44-cf2ad051b337.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/16bda44f-cb60-43e3-8deb-16983a6c8720.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/16bda44f-cb60-43e3-8deb-16983a6c8720.vsidx" deleted file mode 100644 index fea932b..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/16bda44f-cb60-43e3-8deb-16983a6c8720.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/19f2ce5e-ac6e-4a83-a8d8-de666adbd753.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/19f2ce5e-ac6e-4a83-a8d8-de666adbd753.vsidx" new file mode 100644 index 0000000..909024c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/19f2ce5e-ac6e-4a83-a8d8-de666adbd753.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/3a86d184-9f6a-4b52-8eb2-6a125517673d.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3a86d184-9f6a-4b52-8eb2-6a125517673d.vsidx" deleted file mode 100644 index 30a74c3..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3a86d184-9f6a-4b52-8eb2-6a125517673d.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/b697bc68-cc10-4945-8b22-efceeb7bf056.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b697bc68-cc10-4945-8b22-efceeb7bf056.vsidx" new file mode 100644 index 0000000..cbb3d35 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b697bc68-cc10-4945-8b22-efceeb7bf056.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/bcaff427-9b5a-40c5-b7b6-df06507540f9.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bcaff427-9b5a-40c5-b7b6-df06507540f9.vsidx" deleted file mode 100644 index 1abdbed..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bcaff427-9b5a-40c5-b7b6-df06507540f9.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/d50a9bd1-175b-443a-a8be-5e84630a8286.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d50a9bd1-175b-443a-a8be-5e84630a8286.vsidx" deleted file mode 100644 index 8b3ff22..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d50a9bd1-175b-443a-a8be-5e84630a8286.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/fed89d2c-c26e-4f31-9fa3-8a0b7f92a8fd.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/fed89d2c-c26e-4f31-9fa3-8a0b7f92a8fd.vsidx" deleted file mode 100644 index 8f9e9fa..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/fed89d2c-c26e-4f31-9fa3-8a0b7f92a8fd.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs" index 5c615e9..5841275 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs" @@ -174,7 +174,7 @@ { Dt_LocationInfo? nearLocation = null; if (emptyLocation.RoadwayNo != "SC01_BC" && emptyLocation.Column % 2 == 1) - nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column + 1); + nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column - 1); else if (emptyLocation.RoadwayNo == "SC01_BC" && emptyLocation.Column % 2 == 0) nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column + 1); if (nearLocation != null && DepthLocationIsEmpty_BC(locationInfos, nearLocation) != null) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/APIEnum/APIEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/APIEnum/APIEnum.cs" index 63dc0e1..c7850d6 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/APIEnum/APIEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/APIEnum/APIEnum.cs" @@ -36,6 +36,11 @@ /// MES鍚屾鏉挎枡鍑哄簱 /// </summary> [Description("MES鍚屾鏉挎枡鍑哄簱")] - WMS_MES_MaterialLotaAcept + WMS_MES_MaterialLotaAcept, + /// <summary> + /// MES鍚屾鎴愬搧鍑哄簱 + /// </summary> + [Description("MES鍚屾鎴愬搧鍑哄簱")] + WMS_MES_ShipmentOrderSync } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs" index 36da40e..19fad41 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs" @@ -23,11 +23,15 @@ using HttpClient httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(0, 0, 60); - string authorization = "AppKey 1830415116987195392"; + //string authorization = "AppKey 1830415116987195392"; + string authorization = "AppKey 1773317109539201024"; + + headers = new Dictionary<string, string> { { "Authorization", authorization }, - { "Site_tenant_id", "0dc2d164-8a62-417e-8a00-808007464feb" } + //{ "Site_tenant_id", "0dc2d164-8a62-417e-8a00-808007464feb" } + { "Site_tenant_id", "ced19269-2b83-4577-be43-8cc2f700251e" } }; if (headers != null) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs" index 94acb66..13015cb 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs" @@ -33,6 +33,10 @@ [PropertyValidate("璁㈠崟绫诲瀷", NotNullAndEmpty = true, Check = new object[] { 1, 2})] public int OType { get; set; } /// <summary> + /// 浠撳簱绫诲瀷 + /// </summary> + public string WaType { get; set; } + /// <summary> /// 璁″垝鍑鸿揣鏃堕棿 /// </summary> public string PlantShipDate { get; set; } @@ -65,7 +69,7 @@ /// <summary> /// 宸ュ巶 /// </summary> - public string FactoryCode { get; set; } = "HA02"; + public string FactoryCode { get; set; } /// <summary> /// 浜у搧缂栫爜 /// </summary> @@ -81,7 +85,7 @@ /// <summary> /// 浜у搧鍛ㄦ湡 /// </summary> - public int DateCode { get; set; } + public string DateCode { get; set; } /// <summary> /// 鍚堟牸PCS鏁� /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesBagInfoModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesBagInfoModel.cs" index a1e5991..6e238f2 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesBagInfoModel.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesBagInfoModel.cs" @@ -24,9 +24,31 @@ /// </summary> public int UnPackStock { get; set; } /// <summary> + /// 宸ヤ綔涓績 + /// </summary> + public string WorkCenter { get; set; } + /// <summary> /// 鍐呭寘淇℃伅 /// </summary> public List<MESBagDetail> BagDetails { get; set; } + } + /// <summary> + /// MES鍐呭寘鍏ュ簱 + /// </summary> + public class MesBoxInfoModel + { + /// <summary> + /// 澶栫鍙� + /// </summary> + public string BoxNo { get; set; } + /// <summary> + /// 鍑哄簱鍗曞彿 + /// </summary> + public string ShipmentOrder { get; set; } + /// <summary> + /// 鍑鸿揣鍗曞彿 + /// </summary> + public List<MESBagDetail> Bags { get; set; } } /// <summary> /// 鍐呭寘淇℃伅 @@ -66,6 +88,32 @@ /// </summary> public string XSite { get; set; } /// <summary> + /// 鍐呭寘閲嶉噺 + /// </summary> + public float Weight { get; set; } + /// <summary> + /// 鍖呰鏃堕棿 + /// </summary> + public DateTime PackingDate { get; set; } + /// <summary> + /// 鍐呭寘鏄庣粏 + /// </summary> + public List<MESBagItem> BagItems { get; set; } + } + /// <summary> + /// 鍐呭寘鏄庣粏 + /// </summary> + public class MESBagItem + { + /// <summary> + /// 鍒堕�犺鍗� + /// </summary> + public string MoNumber { get; set; } + /// <summary> + /// 鎵规鍙� + /// </summary> + public string LotNumber { get; set; } + /// <summary> /// ERP宸ュ崟 /// </summary> public string ERPOrder { get; set; } @@ -74,21 +122,20 @@ /// </summary> public string SaleOrder { get; set; } /// <summary> - /// 瀹㈡埛鍘熷鍛ㄦ湡 + /// 鍖呰SET鏁伴噺 /// </summary> - public string CustomDateCode { get; set; } + public float SETQty { get;set; } /// <summary> - /// 鍐呭寘閲嶉噺 + /// 鍚堟牸PCS鏁� /// </summary> - public float Weight { get; set; } + public float OKPCSQTY { get; set; } /// <summary> - /// 宸ヤ綔涓績 + /// X鏁� /// </summary> - public string WorkCenter { get; set; } + public float XQty { get; set; } /// <summary> - /// 鍖呰鏃堕棿 + /// X浣� /// </summary> - public DateTime PackingDate { get; set; } - + public string XSite { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesShipmentOrderSync.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesShipmentOrderSync.cs" new file mode 100644 index 0000000..8b11172 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesShipmentOrderSync.cs" @@ -0,0 +1,77 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_DTO.MES +{ + /// <summary> + /// WMS鍚屾鎴愬搧鑷矼ES + /// </summary> + public class MesShipmentOrderSync + { + /// <summary> + /// 鍑鸿揣鍗曞彿 + /// </summary> + public string ShipmentOrder { get; set; } + /// <summary> + /// 瀹㈡埛 + /// </summary> + public string Customer { get; set; } + /// <summary> + /// 宸ュ巶 + /// </summary> + public string FactoryCode { get; set; } + /// <summary> + /// 鍑鸿揣鍦板悕绉� + /// </summary> + public string ShipName { get; set; } + /// <summary> + /// 鍑鸿揣鍦板潃 + /// </summary> + public string ShippingAddress { get; set; } + /// <summary> + /// 璁″垝鍑鸿揣鏃堕棿 + /// </summary> + public string PlantShipDate { get; set; } + /// <summary> + /// 璇︽儏 + /// </summary> + public List<MesShipOrderDetail> OrderDetails { get; set; } + } + /// <summary> + /// 璇︽儏 + /// </summary> + public class MesShipOrderDetail + { + /// <summary> + /// 浜у搧缂栫爜 + /// </summary> + public string ProductCode { get; set; } + /// <summary> + /// 浜у搧鐗堟湰 + /// </summary> + public string ProductVersion { get; set; } + /// <summary> + /// 鍑鸿揣鏁伴噺 + /// </summary> + public float Qty { get; set; } + /// <summary> + /// 鍛ㄦ湡 + /// </summary> + public string DateCode { get; set; } + /// <summary> + /// 閿�鍞鍗� + /// </summary> + public string SaleOrder { get; set; } + /// <summary> + /// 搴忓彿 + /// </summary> + public int Sequence { get; set; } + /// <summary> + /// 宸ヤ綔涓績 + /// </summary> + public string WorkCenter { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs" index f831843..963d767 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs" @@ -142,6 +142,40 @@ return response; } /// <summary> + /// ERP鎴愬搧鍑哄簱涓婃姤鎺ュ彛璋冪敤 + /// </summary> + public string InvokeProOutApi(ERPProOutOrderModel outOrderModel) + { + Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString()); + ERPBaseModel<ERPProOutOrderModel> model = new ERPBaseModel<ERPProOutOrderModel>() + { + Data = outOrderModel, + Desc = "鍑哄簱鎴愬搧閫氱煡", + Type = "toOrderAssignment", + SecurityCode = "TeChuang" + }; + string request = JsonConvert.SerializeObject(model, settings); + string response = HttpHelper.Post(apiInfo.ApiAddress, request); + return response; + } + /// <summary> + /// ERP鎴愬搧鍏ュ簱涓婃姤鎺ュ彛璋冪敤 + /// </summary> + public string InvokeProInApi(ERPProInboundModel inboundModel) + { + Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString()); + ERPBaseModel<ERPProInboundModel> model = new ERPBaseModel<ERPProInboundModel>() + { + Data = inboundModel, + Desc = "鎴愬搧鍏ュ簱", + Type = "toWOStockForm", + SecurityCode = "TeChuang" + }; + string request = JsonConvert.SerializeObject(model, settings); + string response = HttpHelper.Post(apiInfo.ApiAddress, request); + return response; + } + /// <summary> /// ERP鐗╂枡鍑哄簱鎺ュ彛璋冪敤 /// </summary> /// <param name="outboundModel"></param> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/IERPService/IInvokeERPService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/IERPService/IInvokeERPService.cs" index dd2356c..ddbd68f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/IERPService/IInvokeERPService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/IERPService/IInvokeERPService.cs" @@ -45,5 +45,17 @@ /// ERP鐩樿耽/浜忎笂鎶ユ帴鍙h皟鐢� /// </summary> string InvokeTakeStockApi(ERPTakeStockModel takeModel); + /// <summary> + /// ERP鎴愬搧鍑哄簱瀹屾垚涓婃姤 + /// </summary> + /// <param name="outOrderModel"></param> + /// <returns></returns> + string InvokeProOutApi(ERPProOutOrderModel outOrderModel); + /// <summary> + /// ERP鎴愬搧鍏ュ簱瀹屾垚涓婃姤 + /// </summary> + /// <param name="inboundModel"></param> + /// <returns></returns> + string InvokeProInApi(ERPProInboundModel inboundModel); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs" index 1ac50e1..60c2be5 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs" @@ -26,11 +26,11 @@ /// <summary> /// 鍏徃浠g爜 /// </summary> - public string CompanyCode { get; set; } = "HATC"; + public string CompanyCode { get; set; } /// <summary> /// 宸ュ巶浠e彿 /// </summary> - public string FactoryCode { get; set; } = "HA02"; + public string FactoryCode { get; set; } /// <summary> /// 浠撳簱浠g爜 /// </summary> @@ -44,13 +44,13 @@ /// </summary> public string StockDate { get; set; } /// <summary> - /// 鍏ュ簱鏃ユ湡 + /// 澶囨敞(鑳舵鐮�) /// </summary> public string Remark { get; set; } /// <summary> /// 鍏ュ簱绫诲瀷 /// </summary> - public string StockFormType { get; set; } = "Production"; + public string StockFormType { get; set; } /// <summary> /// 鍏ュ簱鏄庣粏 /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPReceiveModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPReceiveModel.cs" index 52b5668..64e91b1 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPReceiveModel.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPReceiveModel.cs" @@ -104,7 +104,7 @@ /// <summary> /// 鏀惰揣鏁伴噺 /// </summary> - public int QtyRecieved { get; set; } + public float QtyRecieved { get; set; } /// <summary> /// 鏀惰揣鎵规 diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IProOutOrderDetailRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IProOutOrderDetailRepository.cs" new file mode 100644 index 0000000..97ba303 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IProOutOrderDetailRepository.cs" @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IOutboundRepository +{ + public interface IProOutOrderDetailRepository : IRepository<Dt_ProOutOrderDetail> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IProOutOrderRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IProOutOrderRepository.cs" new file mode 100644 index 0000000..daab7b0 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IProOutOrderRepository.cs" @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IOutboundRepository +{ + public interface IProOutOrderRepository : IRepository<Dt_ProOutOrder> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs" index a584a50..568cc5f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs" @@ -24,5 +24,7 @@ IMesPPCutOutboundOrderService MesPPCutOutboundOrderService { get; } IMesPPCutOutboundOrderDetailService MesPPCutOutboundOrderDetailService { get; } + IProOutOrderService ProOutOrderService { get; } + IProOutOrderDetailService ProOutOrderDetailService { get; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderDetailService.cs" new file mode 100644 index 0000000..3154f3c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderDetailService.cs" @@ -0,0 +1,16 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_IOutboundRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IOutboundService +{ + public interface IProOutOrderDetailService : IService<Dt_ProOutOrderDetail> + { + IProOutOrderDetailRepository Repository { get; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs" new file mode 100644 index 0000000..013c7b1 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs" @@ -0,0 +1,23 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core; +using WIDESEA_Core.BaseServices; +using WIDESEA_DTO.ERP; +using WIDESEA_IOutboundRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IOutboundService +{ + public interface IProOutOrderService : IService<Dt_ProOutOrder> + { + IProOutOrderRepository Repository { get; } + /// <summary> + /// 鎺ユ敹鎴愬搧鍑哄簱鍗� + /// </summary> + /// <returns></returns> + WebResponseContent ProductDeliveryOrder(ErpProOutOrderDTO outOrderDTO); + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoDetailRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoDetailRepository.cs" new file mode 100644 index 0000000..dc47aab --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoDetailRepository.cs" @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IStockRepository +{ + public interface IProStockInfoDetailRepository : IRepository<Dt_ProStockInfoDetail> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoDetail_HtyRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoDetail_HtyRepository.cs" new file mode 100644 index 0000000..cd5f98d --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoDetail_HtyRepository.cs" @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IStockRepository +{ + public interface IProStockInfoDetail_HtyRepository : IRepository<Dt_ProStockInfoDetail_Hty> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoRepository.cs" new file mode 100644 index 0000000..553243d --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfoRepository.cs" @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IStockRepository +{ + public interface IProStockInfoRepository : IRepository<Dt_ProStockInfo> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfo_HtyRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfo_HtyRepository.cs" new file mode 100644 index 0000000..577e035 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IProStockInfo_HtyRepository.cs" @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IStockRepository +{ + public interface IProStockInfo_HtyRepository : IRepository<Dt_ProStockInfo_Hty> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IStockRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IStockRepository.cs" index 8bc79c6..1c30203 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IStockRepository.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockRepository/IStockRepository.cs" @@ -16,5 +16,9 @@ IStockInfoDetail_HtyRepository StockInfoDetail_HtyRepository { get; } IStockInfo_HtyRepository StockInfo_HtyRepository { get; } + IProStockInfoRepository ProStockInfoRepository { get; } + IProStockInfoDetailRepository ProStockInfoDetailRepository { get; } + IProStockInfo_HtyRepository ProStockInfo_HtyRepository { get; } + IProStockInfoDetail_HtyRepository ProStockInfoDetail_HtyRepository { get; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoDetailService.cs" new file mode 100644 index 0000000..a48f918 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoDetailService.cs" @@ -0,0 +1,16 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_IStockRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IStockService +{ + public interface IProStockInfoDetailService : IService<Dt_ProStockInfoDetail> + { + IProStockInfoDetailRepository Repository { get; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoDetail_HtyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoDetail_HtyService.cs" new file mode 100644 index 0000000..6659594 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoDetail_HtyService.cs" @@ -0,0 +1,16 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_IStockRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IStockService +{ + public interface IProStockInfoDetail_HtyService : IService<Dt_ProStockInfoDetail_Hty> + { + IProStockInfoDetail_HtyRepository Repository { get; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoService.cs" new file mode 100644 index 0000000..1f65de3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfoService.cs" @@ -0,0 +1,16 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_IStockRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IStockService +{ + public interface IProStockInfoService : IService<Dt_ProStockInfo> + { + IProStockInfoRepository Repository { get; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfo_HtyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfo_HtyService.cs" new file mode 100644 index 0000000..4bd437f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IProStockInfo_HtyService.cs" @@ -0,0 +1,16 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_IStockRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IStockService +{ + public interface IProStockInfo_HtyService : IService<Dt_ProStockInfo_Hty> + { + IProStockInfo_HtyRepository Repository { get; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" index 41ad135..64f434b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" @@ -315,9 +315,20 @@ WebResponseContent GeneratePKOutboundTask(int orderDetailId, List<StockSelectViewDTO> stockSelectViews); /// <summary> - /// MES鎴愬搧鍏ュ簱鍗曟帴鏀� + /// MES鎴愬搧鍐呭寘淇℃伅鎺ユ敹 /// </summary> /// <returns></returns> MesResponseContent BagInfoSync(MesBagInfoModel bagInfoModel); + /// <summary> + /// MES鎴愬搧澶栧寘淇℃伅鎺ユ敹 + /// </summary> + /// <param name="boxInfoModel"></param> + /// <returns></returns> + MesResponseContent BoxStockin(MesBoxInfoModel boxInfoModel); + /// <summary> + /// MES鎴愬搧鍑哄簱鎺ュ彛璋冪敤 + /// </summary> + /// <returns></returns> + WebResponseContent ShipmentOrderSync(MesShipmentOrderSync model); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs" index 9928363..98b19b1 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs" @@ -51,14 +51,25 @@ return content.Error("褰撳墠鍗曟嵁宸插叆搴撴垨鍏抽棴鐘舵��"); } ProSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<ProSerNumAnalysisModel>(AnalysisCodeEnum.ProSerNumAnalysis, serNum); + Dt_MesProInOrderDetail? proInOrderDetail = mesProInOrder.Details.FirstOrDefault(x => x.BagNo == model.BagNO); + //鍒ゆ柇鎵弿鍜屽崟鎹腑鏄惁鍖归厤 + if (proInOrderDetail == null) + { + return content.Error($"妗嗙爜{mesProInOrder.BatchNo}涓棤鍐呭寘{model.BagNO}淇℃伅"); + } + if ((proInOrderDetail.OverInQuantity + model.OKPCSQTY.ObjToInt())> proInOrderDetail.OKPCSQTY) + { + return content.Error($"鍐呭寘鏁伴噺婧㈠嚭{(proInOrderDetail.OverInQuantity + model.OKPCSQTY.ObjToInt()) - proInOrderDetail.OKPCSQTY}"); + } float SumPCSQty = mesProInOrder.Details.Sum(x => x.OKPCSQTY); float OverPCSQty = mesProInOrder.Details.Sum(x=>x.OverInQuantity); if ((OverPCSQty+model.OKPCSQTY.ObjToInt())>SumPCSQty) { return content.Error($"褰撳墠鍏ュ簱璁㈠崟鏁伴噺婧㈠嚭{(OverPCSQty + model.OKPCSQTY.ObjToInt())- SumPCSQty}"); } - //鑾峰彇瀵瑰簲鍐呭寘鏄庣粏 - Dt_MesProInOrderDetail? proInOrderDetail = mesProInOrder.Details.FirstOrDefault(x=>x.BagNo==model.BagNO) ?? throw new Exception($"鏈壘鍒�"); + proInOrderDetail.OverInQuantity += model.OKPCSQTY.ObjToInt(); + _inboundRepository.MesProInOrderDetailRepository.UpdateData(proInOrderDetail); + return content.OK($"鍐呭寘{proInOrderDetail.BagNo}宸叉壂鏁伴噺锛歿proInOrderDetail.OverInQuantity},鍓╀綑锛歿proInOrderDetail.OKPCSQTY-proInOrderDetail.OverInQuantity}"); } catch (Exception ex) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrder.cs" index 717d814..cdf719d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrder.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrder.cs" @@ -48,6 +48,11 @@ [SugarColumn(IsNullable = false, ColumnDescription = "鏄惁鎷嗙鍏ュ簱")] public int UnPackStock { get; set; } /// <summary> + /// 宸ヤ綔涓績 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "宸ヤ綔涓績")] + public string WorkCenter { get; set; } + /// <summary> /// 澶囨敞 /// </summary> [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrderDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrderDetail.cs" index a2ae630..5150702 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrderDetail.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_MesProInOrderDetail.cs" @@ -72,30 +72,30 @@ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "X浣�")] public string XSite { get; set; } /// <summary> + /// 鍐呭寘閲嶉噺 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍐呭寘閲嶉噺")] + public float Weight { get; set; } + /// <summary> /// ERP宸ュ崟 /// </summary> [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "ERP宸ュ崟")] public string ERPOrder { get; set; } + /// <summary> + /// 鍒堕�犺鍗� + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒堕�犺鍗�")] + public string MoNumber { get; set; } /// <summary> /// 閿�鍞鍗� /// </summary> [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "閿�鍞鍗�")] public string SaleOrder { get; set; } /// <summary> - /// 瀹㈡埛鍘熷鍛ㄦ湡 + /// 鎵规鍙� /// </summary> - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "瀹㈡埛鍘熷鍛ㄦ湡")] - public string CustomDateCode { get; set; } - /// <summary> - /// 鍐呭寘閲嶉噺 - /// </summary> - [SugarColumn(IsNullable = false, ColumnDescription = "鍐呭寘閲嶉噺")] - public float Weight { get; set; } - /// <summary> - /// 宸ヤ綔涓績 - /// </summary> - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "宸ヤ綔涓績")] - public string WorkCenter { get; set; } + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵规鍙�")] + public string LotNumber { get; set; } /// <summary> /// 鍖呰鏃堕棿 /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_ProOutOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_ProOutOrder.cs" new file mode 100644 index 0000000..b3ca30b --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_ProOutOrder.cs" @@ -0,0 +1,65 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + /// <summary> + /// 鎴愬搧鍑哄簱鍗� + /// </summary> + [SugarTable(nameof(Dt_ProOutOrder), "鎴愬搧鍑哄簱鍗�")] + public class Dt_ProOutOrder : BaseEntity + { + /// <summary> + /// 涓婚敭 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + /// <summary> + /// 浠撳簱涓婚敭 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱涓婚敭")] + public int WarehouseId { get; set; } + + /// <summary> + /// 鍑哄簱鍗曞彿 + /// </summary> + [SugarColumn(IsNullable = false,Length = 20, ColumnDescription = "鍑哄簱鍗曞彿")] + public string ProOutOrderNo { get; set; } + + /// <summary> + /// 璁㈠崟绫诲瀷 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "璁㈠崟绫诲瀷")] + public int ProOrderType { get; set; } + + /// <summary> + /// 璁㈠崟鐘舵�� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "璁㈠崟鐘舵��")] + public int ProOrderStatus { get; set; } + + /// <summary> + /// 璁″垝鍑鸿揣鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "璁″垝鍑鸿揣鏃堕棿")] + public DateTime PlantShipDate { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(IsNullable = true,Length = 200, ColumnDescription = "澶囨敞")] + public string Remark { get; set; } + + /// <summary> + /// 鎴愬搧鍑哄簱鍗曡鎯� + /// </summary> + [Navigate(NavigateType.OneToMany, nameof(Dt_ProOutOrderDetail.ProOrderId), nameof(Id))] + public List<Dt_ProOutOrderDetail> Details { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_ProOutOrderDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_ProOutOrderDetail.cs" new file mode 100644 index 0000000..ce8dbed --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_ProOutOrderDetail.cs" @@ -0,0 +1,114 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + /// <summary> + /// 鎴愬搧鍑哄簱鏄庣粏鍗� + /// </summary> + [SugarTable(nameof(Dt_ProOutOrderDetail), "鎴愬搧鍑哄簱鏄庣粏鍗�")] + public class Dt_ProOutOrderDetail: BaseEntity + { + /// <summary> + /// 涓婚敭 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + /// <summary> + /// 鎴愬搧鍑哄簱鍗曚富閿� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鍗曚富閿�")] + public int ProOrderId { get; set; } + + /// <summary> + /// 鍑哄簱鍗曡鍙� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鍗曡鍙�")] + public int RowId { get; set; } + + /// <summary> + /// 鍑哄簱鍗曟槑缁嗙姸鎬� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鍗曟槑缁嗙姸鎬�")] + public int ProOrderDetailStatus { get; set; } + + /// <summary> + /// 閿�鍞鍗曞彿 + /// </summary> + [SugarColumn(IsNullable = false,Length = 50, ColumnDescription = "閿�鍞鍗曞彿")] + public string SaleOrder { get; set; } + + /// <summary> + /// 瀹㈡埛 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "瀹㈡埛")] + public string Customer { get; set; } + + /// <summary> + /// 宸ュ巶 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "宸ュ巶")] + public string FactoryCode { get; set; } + /// <summary> + /// 浜у搧缂栫爜 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "浜у搧缂栫爜")] + public string PCode { get; set; } + /// <summary> + /// 浜у搧鐗堟湰 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "浜у搧鐗堟湰")] + public string PVer { get; set; } + + /// <summary> + /// 浜у搧鎵规 + /// </summary> + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "浜у搧鎵规")] + public string PLot { get; set; } + + /// <summary> + /// 浜у搧鍛ㄦ湡 + /// </summary> + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "浜у搧鍛ㄦ湡")] + public string DateCode { get; set; } + + /// <summary> + /// 鍚堟牸PCS鏁� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍚堟牸PCS鏁�")] + public float QtyPcs { get; set; } + + /// <summary> + /// 宸插嚭鏁伴噺 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "宸插嚭鏁伴噺")] + public float OverQtyPcs { get; set; } + + /// <summary> + /// X鏉挎暟 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "X鏉挎暟")] + public string XQty { get; set; } + /// <summary> + /// X鏉夸綅 + /// </summary> + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "X鏉夸綅")] + public string XSite { get; set; } + /// <summary> + /// 鍗曚綅 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍗曚綅")] + public string Unit { get; set; } + /// <summary> + /// 澶囧搧鏁� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "澶囧搧鏁�")] + public float SpareQty { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs" new file mode 100644 index 0000000..05490d3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs" @@ -0,0 +1,69 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + /// <summary> + /// 鎴愬搧搴撳瓨淇℃伅 + /// </summary> + [SugarTable(nameof(Dt_ProStockInfo), "鎴愬搧搴撳瓨淇℃伅")] + public class Dt_ProStockInfo : BaseEntity + { + /// <summary> + /// 涓婚敭 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + /// <summary> + /// 鑳舵鍙� + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鑳舵鍙�/澶栫鍙�")] + public string PalletCode { get; set; } + + /// <summary> + /// 鑳舵绫诲瀷 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鑳舵绫诲瀷")] + public int PalletType { get; set; } + + /// <summary> + /// 璐т綅缂栧彿 + /// </summary> + [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "璐т綅缂栧彿")] + public string LocationCode { get; set; } + + /// <summary> + /// 鍑鸿揣鍗曞彿 + /// </summary> + [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "鍑鸿揣鍗曞彿")] + public string ShipmentOrder { get; set; } + + /// <summary> + /// 浠撳簱涓婚敭 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱涓婚敭")] + public int WarehouseId { get; set; } + /// <summary> + /// 搴撳瓨鐘舵�� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "搴撳瓨鐘舵��")] + public int StockStatus { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")] + public string Remark { get; set; } + /// <summary> + /// 搴撳瓨鏄庣粏 + /// </summary> + [Navigate(NavigateType.OneToMany, nameof(Dt_ProStockInfoDetail.ProStockId), nameof(Id))] + public List<Dt_ProStockInfoDetail> proStockInfoDetails { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfoDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfoDetail.cs" new file mode 100644 index 0000000..723c9e1 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfoDetail.cs" @@ -0,0 +1,115 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + /// <summary> + /// 鎴愬搧搴撳瓨淇℃伅鏄庣粏 + /// </summary> + [SugarTable(nameof(Dt_ProStockInfoDetail), "鎴愬搧搴撳瓨淇℃伅鏄庣粏")] + public class Dt_ProStockInfoDetail : BaseEntity + { + /// <summary> + /// 涓婚敭 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + /// <summary> + /// 鎴愬搧搴撳瓨涓婚敭 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鎴愬搧搴撳瓨涓婚敭")] + public int ProStockId { get; set; } + /// <summary> + /// 鍐呭寘鍙� + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍐呭寘鍙�")] + public string BagNo { get; set; } + /// <summary> + /// 浜у搧缂栫爜 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "浜у搧缂栫爜")] + public string ProductCode { get; set; } + /// <summary> + /// 鍑哄簱鏁伴噺 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鏁伴噺")] + public float OutboundQuantity { get; set; } + /// <summary> + /// 鎴愬搧搴撳瓨鏄庣粏鐘舵�� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鎴愬搧搴撳瓨鏄庣粏鐘舵��")] + public int ProOutDetailStatus { get; set; } + /// <summary> + /// 鐗堟湰 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鐗堟湰")] + public string ProductVersion { get; set; } + /// <summary> + /// 鍖呰SET鏁伴噺 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍖呰SET鏁伴噺")] + public float SETQty { get; set; } + /// <summary> + /// 鍚堟牸PCS鏁� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍚堟牸PCS鏁�")] + public float OKPCSQTY { get; set; } + /// <summary> + /// 鍛ㄦ湡 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍛ㄦ湡")] + public string DateCode { get; set; } + /// <summary> + /// X鏁� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "X鏁�")] + public float XQty { get; set; } + /// <summary> + /// X浣� + /// </summary> + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "X浣�")] + public string XSite { get; set; } + + /// <summary> + /// 鍐呭寘閲嶉噺 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍐呭寘閲嶉噺")] + public float Weight { get; set; } + /// <summary> + /// 鍖呰鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鍖呰鏃堕棿")] + public DateTime PackingDate { get; set; } + /// <summary> + /// 鎵规鍙� + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵规鍙�")] + public string LotNumber { get; set; } + /// <summary> + /// ERP宸ュ崟 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "ERP宸ュ崟")] + public string ERPOrder { get; set; } + /// <summary> + /// 鍒堕�犺鍗� + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒堕�犺鍗�")] + public string MoNumber { get; set; } + /// <summary> + /// 閿�鍞鍗� + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "閿�鍞鍗�")] + public string SaleOrder { get; set; } + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] + public string Remark { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfoDetail_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfoDetail_Hty.cs" new file mode 100644 index 0000000..1ececf2 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfoDetail_Hty.cs" @@ -0,0 +1,43 @@ +锘縰sing Magicodes.ExporterAndImporter.Core; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + /// <summary> + /// 鎴愬搧搴撳瓨鍘嗗彶淇℃伅鏄庣粏 + /// </summary> + [SugarTable(nameof(Dt_ProStockInfoDetail_Hty), "鎴愬搧搴撳瓨鍘嗗彶淇℃伅鏄庣粏")] + public class Dt_ProStockInfoDetail_Hty:Dt_ProStockInfoDetail, IBaseHistoryEntity + { + /// <summary> + /// 鍘熻〃涓婚敭 + /// </summary> + [ImporterHeader(Name = "鍘熻〃涓婚敭")] + [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")] + [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")] + public int SourceId { get; set; } + + /// <summary> + /// 鎿嶄綔绫诲瀷 + /// </summary> + [ImporterHeader(Name = "鎿嶄綔绫诲瀷")] + [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")] + public string OperateType { get; set; } + + /// <summary> + /// 绉诲叆鍘嗗彶鏃堕棿 + /// </summary> + [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")] + [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")] + [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")] + public DateTime InsertTime { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo_Hty.cs" new file mode 100644 index 0000000..ee8e5a2 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo_Hty.cs" @@ -0,0 +1,43 @@ +锘縰sing Magicodes.ExporterAndImporter.Core; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + /// <summary> + /// 鎴愬搧搴撳瓨鍘嗗彶淇℃伅 + /// </summary> + [SugarTable(nameof(Dt_ProStockInfo_Hty), "鎴愬搧搴撳瓨鍘嗗彶淇℃伅")] + public class Dt_ProStockInfo_Hty:Dt_ProStockInfo, IBaseHistoryEntity + { + /// <summary> + /// 鍘熻〃涓婚敭 + /// </summary> + [ImporterHeader(Name = "鍘熻〃涓婚敭")] + [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")] + [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")] + public int SourceId { get; set; } + + /// <summary> + /// 鎿嶄綔绫诲瀷 + /// </summary> + [ImporterHeader(Name = "鎿嶄綔绫诲瀷")] + [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")] + public string OperateType { get; set; } + + /// <summary> + /// 绉诲叆鍘嗗彶鏃堕棿 + /// </summary> + [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")] + [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")] + [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")] + public DateTime InsertTime { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/ProOutOrderDetailRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/ProOutOrderDetailRepository.cs" new file mode 100644 index 0000000..9740eff --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/ProOutOrderDetailRepository.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_IOutboundRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_OutboundRepository +{ + public class ProOutOrderDetailRepository : RepositoryBase<Dt_ProOutOrderDetail>, IProOutOrderDetailRepository + { + public ProOutOrderDetailRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/ProOutOrderRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/ProOutOrderRepository.cs" new file mode 100644 index 0000000..d08941c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/ProOutOrderRepository.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_IOutboundRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_OutboundRepository +{ + public class ProOutOrderRepository : RepositoryBase<Dt_ProOutOrder>, IProOutOrderRepository + { + public ProOutOrderRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" index eaaf4d8..c0ddece 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" @@ -24,15 +24,18 @@ public IMesPPCutOutboundOrderService MesPPCutOutboundOrderService { get; } public IMesPPCutOutboundOrderDetailService MesPPCutOutboundOrderDetailService { get; } + public IProOutOrderService ProOutOrderService { get; } + public IProOutOrderDetailService ProOutOrderDetailService { get; } - public OutboundService(IOutboundOrderDetailService outboundOrderDetailService,IMesPPOutboundOrderService mesPPOutboundOrderService, IOutboundOrderService outboundOrderService, IOutStockLockInfoService outboundStockLockInfoService, IMesOutboundOrderService mesOutboundOrderService) + public OutboundService(IOutboundOrderDetailService outboundOrderDetailService,IMesPPOutboundOrderService mesPPOutboundOrderService, IOutboundOrderService outboundOrderService, IOutStockLockInfoService outboundStockLockInfoService, IMesOutboundOrderService mesOutboundOrderService, IProOutOrderService proOutOrderService, IProOutOrderDetailService proOutOrderDetailService) { OutboundOrderDetailService = outboundOrderDetailService; OutboundOrderService = outboundOrderService; OutboundStockLockInfoService = outboundStockLockInfoService; MesOutboundOrderService = mesOutboundOrderService; MesPPOutboundOrderService = mesPPOutboundOrderService; - + ProOutOrderService = proOutOrderService; + ProOutOrderDetailService = proOutOrderDetailService; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderDetailService.cs" new file mode 100644 index 0000000..dd8108e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderDetailService.cs" @@ -0,0 +1,25 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Core.BaseServices; +using WIDESEA_IOutboundRepository; +using WIDESEA_IOutboundService; +using WIDESEA_Model.Models; + +namespace WIDESEA_OutboundService +{ + public partial class ProOutOrderDetailService : ServiceBase<Dt_ProOutOrderDetail, IProOutOrderDetailRepository>, IProOutOrderDetailService + { + private readonly IUnitOfWorkManage _unitOfWorkManage; + + public IProOutOrderDetailRepository Repository => BaseDal; + + public ProOutOrderDetailService(IProOutOrderDetailRepository BaseDal, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) + { + _unitOfWorkManage = unitOfWorkManage; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs" new file mode 100644 index 0000000..d0811af --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs" @@ -0,0 +1,140 @@ +锘縰sing AutoMapper; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Common.OrderEnum; +using WIDESEA_Common.WareHouseEnum; +using WIDESEA_Core; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Core.BaseServices; +using WIDESEA_Core.Helper; +using WIDESEA_DTO.ERP; +using WIDESEA_IBasicRepository; +using WIDESEA_IBasicService; +using WIDESEA_IOutboundRepository; +using WIDESEA_IOutboundService; +using WIDESEA_IRecordService; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_OutboundService +{ + public partial class ProOutOrderService : ServiceBase<Dt_ProOutOrder, IProOutOrderRepository>, IProOutOrderService + { + private readonly IUnitOfWorkManage _unitOfWorkManage; + private readonly IBasicRepository _basicRepository; + private readonly IMapper _mapper; + + public IProOutOrderRepository Repository => BaseDal; + + public ProOutOrderService(IProOutOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IBasicRepository basicRepository, IMapper mapper) : base(BaseDal) + { + _unitOfWorkManage = unitOfWorkManage; + _basicRepository = basicRepository; + _mapper = mapper; + } + /// <summary> + /// 鎺ユ敹ERP鎴愬搧鍑哄簱鍗� + /// </summary> + /// <returns></returns> + public WebResponseContent ProductDeliveryOrder(ErpProOutOrderDTO outOrderDTO) + { + try + { + return outOrderDTO.Way switch + { + 1 => AddDeliveryOrder(outOrderDTO), + 2 => UpdateDeliveryOrder(outOrderDTO), + 3 => DeleteDeliveryOrder(outOrderDTO), + _ => WebResponseContent.Instance.Error($"鎿嶄綔绫诲瀷涓嶅瓨鍦�,Way:{outOrderDTO.Way}"), + }; + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + /// <summary> + /// 鏂板鎴愬搧鍑哄簱鍗� + /// </summary> + /// <returns></returns> + public WebResponseContent AddDeliveryOrder(ErpProOutOrderDTO outOrderDTO) + { + WebResponseContent content=new WebResponseContent(); + try + { + if (BaseDal.QueryFirst(x => x.ProOutOrderNo == outOrderDTO.OrderNo) != null) + { + return content.Error($"鍑哄簱鍗曞彿{outOrderDTO.OrderNo}宸插瓨鍦�!"); + } + Dt_Warehouse warehouse=null; + if (outOrderDTO.OType==1 && string.IsNullOrEmpty(outOrderDTO.WaType)) + { + warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseCode==WarehouseEnum.HA71.ToString()); + } + else if (outOrderDTO.OType==2) + { + warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA101.ToString()); + } + List<Dt_ProOutOrderDetail> proOutOrderDetails = new List<Dt_ProOutOrderDetail>(); + foreach (var item in outOrderDTO.OrderDetails) + { + proOutOrderDetails.Add(_mapper.Map<Dt_ProOutOrderDetail>(item)); + } + Dt_ProOutOrder proOutOrder= new Dt_ProOutOrder() + { + ProOutOrderNo= outOrderDTO.OrderNo, + WarehouseId= warehouse.WarehouseId, + ProOrderType= outOrderDTO.OType, + ProOrderStatus=OutOrderStatusEnum.鏈紑濮�.ObjToInt(), + PlantShipDate= outOrderDTO.PlantShipDate.ObjToDate(), + Remark= outOrderDTO.Note, + Details= proOutOrderDetails + }; + Db.InsertNav(proOutOrder).Include(x => x.Details).ExecuteCommand(); + content.OK("鎴愬姛"); + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } + /// <summary> + /// 鏇存柊鎴愬搧鍑哄簱鍗� + /// </summary> + /// <returns></returns> + public WebResponseContent UpdateDeliveryOrder(ErpProOutOrderDTO outOrderDTO) + { + WebResponseContent content = new WebResponseContent(); + try + { + + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } + /// <summary> + /// 鍒犻櫎鎴愬搧鍑哄簱鍗� + /// </summary> + /// <returns></returns> + public WebResponseContent DeleteDeliveryOrder(ErpProOutOrderDTO outOrderDTO) + { + WebResponseContent content = new WebResponseContent(); + try + { + + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoDetailRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoDetailRepository.cs" new file mode 100644 index 0000000..b9fb48c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoDetailRepository.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_IStockRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_StockRepository +{ + public class ProStockInfoDetailRepository : RepositoryBase<Dt_ProStockInfoDetail>, IProStockInfoDetailRepository + { + public ProStockInfoDetailRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoDetail_HtyRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoDetail_HtyRepository.cs" new file mode 100644 index 0000000..d2753d3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoDetail_HtyRepository.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_IStockRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_StockRepository +{ + public class ProStockInfoDetail_HtyRepository : RepositoryBase<Dt_ProStockInfoDetail_Hty>, IProStockInfoDetail_HtyRepository + { + public ProStockInfoDetail_HtyRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs" new file mode 100644 index 0000000..0d83d13 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_IStockRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_StockRepository +{ + public class ProStockInfoRepository : RepositoryBase<Dt_ProStockInfo>, IProStockInfoRepository + { + public ProStockInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfo_HtyRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfo_HtyRepository.cs" new file mode 100644 index 0000000..c325a7b --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfo_HtyRepository.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_IStockRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_StockRepository +{ + public class ProStockInfo_HtyRepository : RepositoryBase<Dt_ProStockInfo_Hty>, IProStockInfo_HtyRepository + { + public ProStockInfo_HtyRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockRepository.cs" index 6ecd970..a813d0b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockRepository.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockRepository.cs" @@ -16,13 +16,21 @@ public IStockInfoDetail_HtyRepository StockInfoDetail_HtyRepository { get; } public IStockInfo_HtyRepository StockInfo_HtyRepository { get; } + public IProStockInfoRepository ProStockInfoRepository { get; } + public IProStockInfoDetailRepository ProStockInfoDetailRepository { get; } + public IProStockInfo_HtyRepository ProStockInfo_HtyRepository { get; } + public IProStockInfoDetail_HtyRepository ProStockInfoDetail_HtyRepository { get; } - public StockRepository(IStockInfoDetailRepository stockInfoDetailRepository, IStockInfoRepository stockInfoRepository, IStockInfoDetail_HtyRepository stockInfoDetail_HtyRepository,IStockInfo_HtyRepository stockInfo_HtyRepository) + public StockRepository(IStockInfoDetailRepository stockInfoDetailRepository, IStockInfoRepository stockInfoRepository, IStockInfoDetail_HtyRepository stockInfoDetail_HtyRepository,IStockInfo_HtyRepository stockInfo_HtyRepository,IProStockInfoRepository proStockInfoRepository,IProStockInfoDetailRepository proStockInfoDetailRepository,IProStockInfo_HtyRepository proStockInfo_HtyRepository,IProStockInfoDetail_HtyRepository proStockInfoDetail_HtyRepository) { StockInfoDetailRepository = stockInfoDetailRepository; StockInfoRepository = stockInfoRepository; StockInfoDetail_HtyRepository = stockInfoDetail_HtyRepository; StockInfo_HtyRepository = stockInfo_HtyRepository; + ProStockInfoRepository=proStockInfoRepository; + ProStockInfoDetailRepository = proStockInfoDetailRepository; + ProStockInfo_HtyRepository = proStockInfo_HtyRepository; + ProStockInfoDetail_HtyRepository = proStockInfoDetail_HtyRepository; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoDetailService.cs" new file mode 100644 index 0000000..6d17a1f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoDetailService.cs" @@ -0,0 +1,20 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_IStockRepository; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_StockService +{ + public partial class ProStockInfoDetailService : ServiceBase<Dt_ProStockInfoDetail, IProStockInfoDetailRepository>, IProStockInfoDetailService + { + public IProStockInfoDetailRepository Repository => BaseDal; + public ProStockInfoDetailService(IProStockInfoDetailRepository BaseDal) : base(BaseDal) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoDetail_HtyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoDetail_HtyService.cs" new file mode 100644 index 0000000..f5c20e3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoDetail_HtyService.cs" @@ -0,0 +1,21 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_IStockRepository; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_StockService +{ + public partial class ProStockInfoDetail_HtyService : ServiceBase<Dt_ProStockInfoDetail_Hty, IProStockInfoDetail_HtyRepository>, IProStockInfoDetail_HtyService + { + public IProStockInfoDetail_HtyRepository Repository => BaseDal; + public ProStockInfoDetail_HtyService(IProStockInfoDetail_HtyRepository BaseDal) : base(BaseDal) + { + + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs" new file mode 100644 index 0000000..fc4b072 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs" @@ -0,0 +1,41 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core; +using WIDESEA_Core.BaseServices; +using WIDESEA_IStockRepository; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_StockService +{ + public partial class ProStockInfoService : ServiceBase<Dt_ProStockInfo, IProStockInfoRepository>, IProStockInfoService + { + public IProStockInfoRepository Repository => BaseDal; + public IStockRepository _stockRepository; + public ProStockInfoService(IProStockInfoRepository BaseDal,IStockRepository stockRepository) : base(BaseDal) + { + _stockRepository = stockRepository; + } + public WebResponseContent UnBindStock(List<Dt_ProStockInfoDetail> proStockInfoDetails) + { + WebResponseContent content = new WebResponseContent(); + //鏍规嵁鍐呭寘鍙疯繘琛屽簱瀛樻墸闄� + try + { + List<Dt_ProStockInfoDetail> delProStockDetails=new List<Dt_ProStockInfoDetail>(); + //foreach (var item in collection) + //{ + // Dt_ProStockInfoDetail delProStockDetal= + //} + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfo_HtyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfo_HtyService.cs" new file mode 100644 index 0000000..bb199ad --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfo_HtyService.cs" @@ -0,0 +1,20 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_IStockRepository; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_StockService +{ + public partial class ProStockInfo_HtyService : ServiceBase<Dt_ProStockInfo_Hty, IProStockInfo_HtyRepository>, IProStockInfo_HtyService + { + public IProStockInfo_HtyRepository Repository => BaseDal; + public ProStockInfo_HtyService(IProStockInfo_HtyRepository BaseDal) : base(BaseDal) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetail_HtyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetail_HtyService.cs" index a8809e5..dc7e66c 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetail_HtyService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetail_HtyService.cs" @@ -12,9 +12,9 @@ { public partial class StockInfoDetail_HtyService : ServiceBase<Dt_StockInfoDetail_Hty, IStockInfoDetail_HtyRepository>, IStockInfoDetail_HtyService { + public IStockInfoDetail_HtyRepository Repository => BaseDal; public StockInfoDetail_HtyService(IStockInfoDetail_HtyRepository BaseDal) : base(BaseDal) { } - public IStockInfoDetail_HtyRepository Repository => BaseDal; } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" index a4d45d8..5c9cf50 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" @@ -291,7 +291,46 @@ } return content; } - + /// <summary> + /// WMS鍚屾鎴愬搧鍑哄簱鑷矼ES + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public WebResponseContent ShipmentOrderSync(MesShipmentOrderSync model) + { + WebResponseContent content = new WebResponseContent(); + try + { + Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMS_MES_ShipmentOrderSync.ToString()); + MESRoot<MesShipmentOrderSync> root = new MESRoot<MesShipmentOrderSync>() + { + From = "WMS", + DateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Content = model + }; + JsonSerializerSettings settings = new JsonSerializerSettings + { + ContractResolver = new CamelCasePropertyNamesContractResolver() + }; + string request = JsonConvert.SerializeObject(root, settings); + string response = HttpMesHelper.Post(apiInfo.ApiAddress, request); + MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>(); + //璋冪敤鎺ュ彛 + if (mesResponseContent.BSucc == true) + { + content.OK(mesResponseContent.StrMsg); + } + else + { + content.Error(mesResponseContent.StrMsg); + } + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } /// <summary> /// /// </summary> @@ -939,21 +978,117 @@ { return content.Error("鏈壘鍒颁粨搴撲俊鎭�"); } + //鍒ゆ柇鏄惁MES鍐呭寘淇℃伅鏄惁閲嶅 List<Dt_MesProInOrderDetail> mesProInOrderDetails = new List<Dt_MesProInOrderDetail>(); foreach (var item in bagInfoModel.BagDetails) { - mesProInOrderDetails.Add(_mapper.Map<Dt_MesProInOrderDetail>(item)); + foreach (var child in item.BagItems) + { + Dt_MesProInOrderDetail mesProInOrderDetail=new Dt_MesProInOrderDetail() + { + BagNo=item.BagNo, + ProductCode=item.ProductCode, + ProductVersion=item.ProductVersion, + SETQty=child.SETQty, + OKPCSQTY=child.OKPCSQTY, + DateCode=item.DateCode, + XQty=child.XQty, + XSite=child.XSite, + Weight=item.Weight, + PackingDate=item.PackingDate, + LotNumber=child.LotNumber, + ERPOrder=child.ERPOrder, + SaleOrder=child.SaleOrder, + MoNumber=child.MoNumber, + }; + mesProInOrderDetails.Add(mesProInOrderDetail); + } + } + List<Dt_ProStockInfoDetail> proStockInfoDetails = new List<Dt_ProStockInfoDetail>(); + foreach (var item in mesProInOrderDetails) + { + proStockInfoDetails.Add(_mapper.Map<Dt_ProStockInfoDetail>(item)); } Dt_MesProInOrder mesProInOrder = new Dt_MesProInOrder() { WarehouseId = warehouse.WarehouseId, BatchNo = bagInfoModel.BatchNo, + WorkCenter=bagInfoModel.WorkCenter, MesProStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(), UnPackStock=bagInfoModel.UnPackStock, Details= mesProInOrderDetails }; + Dt_ProStockInfo proStockInfo = new Dt_ProStockInfo() + { + PalletCode = bagInfoModel.BatchNo, + PalletType = 1, + WarehouseId = warehouse.WarehouseId, + StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(), + proStockInfoDetails= proStockInfoDetails + }; + _unitOfWorkManage.BeginTran(); Db.InsertNav(mesProInOrder).Include(x=>x.Details).ExecuteCommand(); + Db.InsertNav(proStockInfo).Include(x => x.proStockInfoDetails).ExecuteCommand(); + _unitOfWorkManage.CommitTran(); return content.OK("鎺ユ敹鎴愬姛"); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + content.Error(ex.Message); + } + return content; + } + public MesResponseContent BoxStockin(MesBoxInfoModel boxInfoModel) + { + MesResponseContent content = new MesResponseContent(); + try + { + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseCode==WarehouseEnum.HA101.ToString()); + //鑾峰彇MES鍐呭寘淇℃伅 + List<Dt_MesProInOrderDetail> mesProInOrderDetails = new List<Dt_MesProInOrderDetail>(); + foreach (var item in boxInfoModel.Bags) + { + foreach (var child in item.BagItems) + { + Dt_MesProInOrderDetail mesProInOrderDetail = new Dt_MesProInOrderDetail() + { + BagNo = item.BagNo, + ProductCode = item.ProductCode, + ProductVersion = item.ProductVersion, + SETQty = child.SETQty, + OKPCSQTY = child.OKPCSQTY, + DateCode = item.DateCode, + XQty = child.XQty, + XSite = child.XSite, + Weight = item.Weight, + PackingDate = item.PackingDate, + LotNumber = child.LotNumber, + ERPOrder = child.ERPOrder, + SaleOrder = child.SaleOrder, + MoNumber = child.MoNumber, + }; + mesProInOrderDetails.Add(mesProInOrderDetail); + } + } + List<Dt_ProStockInfoDetail> proStockInfoDetails = new List<Dt_ProStockInfoDetail>(); + foreach (var item in mesProInOrderDetails) + { + proStockInfoDetails.Add(_mapper.Map<Dt_ProStockInfoDetail>(item)); + } + Dt_ProStockInfo proStockInfo = new Dt_ProStockInfo() + { + PalletCode = boxInfoModel.BoxNo, + PalletType = 0, + WarehouseId = warehouse.WarehouseId, + ShipmentOrder= boxInfoModel.ShipmentOrder, + StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt(), + proStockInfoDetails = proStockInfoDetails + }; + _unitOfWorkManage.BeginTran(); + Db.InsertNav(proStockInfo).Include(x => x.proStockInfoDetails).ExecuteCommand(); + _unitOfWorkManage.CommitTran(); + return content.OK("澶栧寘鎺ユ敹鎴愬姛"); } catch (Exception ex) { @@ -961,7 +1096,6 @@ } return content; } - /// <summary> /// 鎴愬搧杩斿伐鎻愬簱 /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" index 341b487..21fc096 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" @@ -152,7 +152,7 @@ (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality, _ => new TaskTypeEnum() }; - tasks = GetTasks(result.Item1, TaskTypeEnum.Outbound); + tasks = GetTasks(result.Item1, typeEnum); result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt(); result.Item3.ForEach(x => { 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 2e13b15..8350a8f 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" @@ -124,7 +124,17 @@ if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } - + /// <summary> + /// 鎺ユ敹ERP鎴愬搧鍑哄簱鍗曚俊鎭� + /// </summary> + /// <returns></returns> + [HttpPost, Route("ProductDeliveryOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ProductDeliveryOrder([FromBody] Root<ErpProOutOrderDTO> erpProOutOrder) + { + WebResponseContent content = _outboundService.ProOutOrderService.ProductDeliveryOrder(erpProOutOrder.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } /// <summary> /// 鎺ユ敹ERP閫�鏂欏崟淇℃伅 /// </summary> @@ -189,5 +199,22 @@ { return _invokeERPService.InvokeTakeStockApi(takeModel); } + /// <summary> + /// ERP鎴愬搧鍏ュ簱涓婃姤鎺ュ彛璋冪敤 + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeProInApi"), AllowAnonymous] + public string InvokeProInApi([FromBody] ERPProInboundModel inboundModel) + { + return _invokeERPService.InvokeProInApi(inboundModel); + } + /// <summary> + /// ERP鎴愬搧鍑哄簱涓婃姤鎺ュ彛璋冪敤 + /// </summary> + [HttpPost, Route("InvokeProOutApi"), AllowAnonymous] + public string InvokeProOutApi([FromBody] ERPProOutOrderModel outOrderModel) + { + return _invokeERPService.InvokeProOutApi(outOrderModel); + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" index 7082f41..45336a4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" @@ -160,7 +160,7 @@ return _taskService.RworkTask(model); } /// <summary> - /// MES鎴愬搧鍏ュ簱鍗曟帴鏀� + /// MES鎴愬搧鍐呭寘淇℃伅鎺ユ敹 /// </summary> /// <param name="model"></param> /// <returns></returns> @@ -169,5 +169,24 @@ { return _taskService.BagInfoSync(model.Content); } + /// <summary> + /// MES鎴愬搧澶栧寘淇℃伅鎺ユ敹 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost, Route("BoxStockin"), AllowAnonymous] + public MesResponseContent BoxStockin([FromBody] Root<MesBoxInfoModel> model) + { + return _taskService.BoxStockin(model.Content); + } + /// <summary> + /// MES鎴愬搧鍑哄簱鎺ュ彛璋冪敤 + /// </summary> + /// <returns></returns> + [HttpPost, Route("ShipmentOrderSync"), AllowAnonymous] + public WebResponseContent ShipmentOrderSync([FromBody] MesShipmentOrderSync model) + { + return _taskService.ShipmentOrderSync(model); + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/ProOutOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/ProOutOrderController.cs" new file mode 100644 index 0000000..9ddad80 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/ProOutOrderController.cs" @@ -0,0 +1,19 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.BaseController; +using WIDESEA_IOutboundService; +using WIDESEA_Model.Models; + +namespace WIDESEA_WMSServer.Controllers.Outbound +{ + /// <summary> + /// 鎴愬搧鍑哄簱鍗� + /// </summary> + [Route("api/ProOutOrder")] + [ApiController] + public class ProOutOrderController : ApiBaseController<IProOutOrderService, Dt_ProOutOrder> + { + public ProOutOrderController(IProOutOrderService service) : base(service) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/ProOutOrderDetailController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/ProOutOrderDetailController.cs" new file mode 100644 index 0000000..2a23e27 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/ProOutOrderDetailController.cs" @@ -0,0 +1,19 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.BaseController; +using WIDESEA_IOutboundService; +using WIDESEA_Model.Models; + +namespace WIDESEA_WMSServer.Controllers.Outbound +{ + /// <summary> + /// 鎴愬搧鍑哄簱鍗曟槑缁� + /// </summary> + [Route("api/ProOutOrderDetail")] + [ApiController] + public class ProOutOrderDetailController : ApiBaseController<IProOutOrderDetailService, Dt_ProOutOrderDetail> + { + public ProOutOrderDetailController(IProOutOrderDetailService service) : base(service) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoController.cs" new file mode 100644 index 0000000..31a7ca6 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoController.cs" @@ -0,0 +1,19 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.BaseController; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_WMSServer.Controllers.Stock +{ + /// <summary> + /// 鎴愬搧搴撳瓨 + /// </summary> + [Route("api/ProStockInfo")] + [ApiController] + public class ProStockInfoController : ApiBaseController<IProStockInfoService, Dt_ProStockInfo> + { + public ProStockInfoController(IProStockInfoService service) : base(service) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoDetailController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoDetailController.cs" new file mode 100644 index 0000000..9bdb52d --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoDetailController.cs" @@ -0,0 +1,19 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.BaseController; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_WMSServer.Controllers.Stock +{ + /// <summary> + /// 鎴愬搧搴撳瓨鏄庣粏 + /// </summary> + [Route("api/ProStockInfoDetail")] + [ApiController] + public class ProStockInfoDetailController : ApiBaseController<IProStockInfoDetailService, Dt_ProStockInfoDetail> + { + public ProStockInfoDetailController(IProStockInfoDetailService service) : base(service) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoDetail_HtyController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoDetail_HtyController.cs" new file mode 100644 index 0000000..817ddb8 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfoDetail_HtyController.cs" @@ -0,0 +1,19 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.BaseController; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_WMSServer.Controllers.Stock +{ + /// <summary> + /// 鎴愬搧搴撳瓨鍘嗗彶 + /// </summary> + [Route("api/ProStockInfoDetail_Hty")] + [ApiController] + public class ProStockInfoDetail_HtyController : ApiBaseController<IProStockInfoDetail_HtyService, Dt_ProStockInfoDetail_Hty> + { + public ProStockInfoDetail_HtyController(IProStockInfoDetail_HtyService service) : base(service) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfo_HtyController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfo_HtyController.cs" new file mode 100644 index 0000000..5a768cf --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/ProStockInfo_HtyController.cs" @@ -0,0 +1,19 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.BaseController; +using WIDESEA_IStockService; +using WIDESEA_Model.Models; + +namespace WIDESEA_WMSServer.Controllers.Stock +{ + /// <summary> + /// 鎴愬搧搴撳瓨鍘嗗彶 + /// </summary> + [Route("api/ProStockInfo_Hty")] + [ApiController] + public class ProStockInfo_HtyController : ApiBaseController<IProStockInfo_HtyService, Dt_ProStockInfo_Hty> + { + public ProStockInfo_HtyController(IProStockInfo_HtyService service) : base(service) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs" index f930f5e..bfcb11d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs" @@ -6,8 +6,10 @@ using System.Text; using System.Threading.Tasks; using WIDESEA_Common.OrderEnum; +using WIDESEA_Common.StockEnum; using WIDESEA_Core.Helper; using WIDESEA_DTO; +using WIDESEA_DTO.ERP; using WIDESEA_DTO.Inbound; using WIDESEA_DTO.MES; using WIDESEA_DTO.Outbound; @@ -35,6 +37,8 @@ CreateMap<Dt_Task, WMSTaskDTO>(); CreateMap<MESBagDetail, Dt_MesProInOrderDetail>().ForMember(x => x.OverInQuantity, b => b.MapFrom(b => 0)); + CreateMap<ErpProOutOrderDetailds, Dt_ProOutOrderDetail>().ForMember(x => x.ProOrderDetailStatus, b => b.MapFrom(b => 0)).ForMember(x => x.OverQtyPcs, b => b.MapFrom(b => 0)); + CreateMap<Dt_MesProInOrderDetail, Dt_ProStockInfoDetail>().ForMember(x => x.ProOutDetailStatus, b => b.MapFrom(b => StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt())).ForMember(x => x.OutboundQuantity, b => b.MapFrom(b => 0)); } } } diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\346\226\207\346\241\243/\346\267\256\345\256\211\347\211\271\345\210\233\347\247\221\346\212\200\346\231\272\350\203\275\345\210\266\351\200\240\351\241\271\347\233\256MES-WMS\346\216\245\345\217\243\350\247\204\350\214\203.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\346\226\207\346\241\243/\346\267\256\345\256\211\347\211\271\345\210\233\347\247\221\346\212\200\346\231\272\350\203\275\345\210\266\351\200\240\351\241\271\347\233\256MES-WMS\346\216\245\345\217\243\350\247\204\350\214\203.xlsx" deleted file mode 100644 index d724d16..0000000 --- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\346\226\207\346\241\243/\346\267\256\345\256\211\347\211\271\345\210\233\347\247\221\346\212\200\346\231\272\350\203\275\345\210\266\351\200\240\351\241\271\347\233\256MES-WMS\346\216\245\345\217\243\350\247\204\350\214\203.xlsx" +++ /dev/null Binary files differ -- Gitblit v1.9.3