From bc3e001d093c3d6cbddc7e008aa99c12f850c1e5 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 26 十二月 2024 21:50:35 +0800
Subject: [PATCH] 更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IBasicRepository/IApiInfoRepository.cs                                    |    1 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs                                    |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs                                       |    6 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs                                  |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/APIEnum/APIEnum.cs                                                 |   21 -
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs                                   |   65 ++++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs                                         |    4 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/CommonEnum/RecyclingEnum.cs                                        |   31 +++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/IERPService/IInvokeERPService.cs                                 |    1 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs                                 |    1 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs                                   |   61 ++++-
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderController.cs                       |    5 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/CheckOrderEnum.cs                                        |   16 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrderDetail.cs                            |    5 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs                   |    4 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs                                         |    4 
 项目资料/接口文档/特创ERP&WMS接口清单072520241126.xlsx                                                                     |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderResultController.cs                 |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPReceiveModel.cs                                         |    8 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPInboundModel.cs                                         |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/UserInfoService.cs                                           |    4 
 项目资料/接口文档/海康AGV/20240115WMS&AGV接口-HikV1.1(1).xlsx                                                            |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs                                     |  102 ++++++++-
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs                                     |   65 ++++-
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock                                  |    0 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/50a4a68c-d15a-4c06-92d2-58d3ca8fbb54.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/ReceiveOrderController.cs                   |   11 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPIssueModel.cs                                           |   24 +-
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs                                            |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs                                |    2 
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d9caedcd-b643-4a2a-bf28-68c2ccd0a7aa.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/WIDESEA_CheckService.csproj                                  |    1 
 /dev/null                                                                                                    |    0 
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/6f175d71-07e6-45dd-8008-da0dcbb0a76c.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/ApiInfoRepository.cs                                      |    1 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail.cs                           |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs                 |    5 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpInOrderDTO.cs                                                  |   89 ++++++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs                                   |   19 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs                                         |   17 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPOutboundModel.cs                                        |   10 
 41 files changed, 470 insertions(+), 125 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0397a60b-c71f-4284-85ef-52044ecfbb47.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0397a60b-c71f-4284-85ef-52044ecfbb47.vsidx"
deleted file mode 100644
index 571b40b..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0397a60b-c71f-4284-85ef-52044ecfbb47.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/6ddb89a1-3fb5-42aa-a799-c08181483993.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6ddb89a1-3fb5-42aa-a799-c08181483993.vsidx"
deleted file mode 100644
index 3f7c8b6..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6ddb89a1-3fb5-42aa-a799-c08181483993.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/d02ec307-551b-4de2-b989-3f41b8cc227f.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d02ec307-551b-4de2-b989-3f41b8cc227f.vsidx"
deleted file mode 100644
index c6a1ef2..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d02ec307-551b-4de2-b989-3f41b8cc227f.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/d9caedcd-b643-4a2a-bf28-68c2ccd0a7aa.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d9caedcd-b643-4a2a-bf28-68c2ccd0a7aa.vsidx"
new file mode 100644
index 0000000..1e78c84
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d9caedcd-b643-4a2a-bf28-68c2ccd0a7aa.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/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock"
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock"
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1e920e33-148d-49c7-8f92-7c522736eb31.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1e920e33-148d-49c7-8f92-7c522736eb31.vsidx"
deleted file mode 100644
index 25979e6..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1e920e33-148d-49c7-8f92-7c522736eb31.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/50a4a68c-d15a-4c06-92d2-58d3ca8fbb54.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/50a4a68c-d15a-4c06-92d2-58d3ca8fbb54.vsidx"
new file mode 100644
index 0000000..51df82c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/50a4a68c-d15a-4c06-92d2-58d3ca8fbb54.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/6f175d71-07e6-45dd-8008-da0dcbb0a76c.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/6f175d71-07e6-45dd-8008-da0dcbb0a76c.vsidx"
new file mode 100644
index 0000000..e5fb3dc
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/6f175d71-07e6-45dd-8008-da0dcbb0a76c.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/83e3b476-d887-46bd-be7e-12e5279adff6.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/83e3b476-d887-46bd-be7e-12e5279adff6.vsidx"
deleted file mode 100644
index 21f3698..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/83e3b476-d887-46bd-be7e-12e5279adff6.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/d1c62139-7bae-4df6-b13e-daefe3114894.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d1c62139-7bae-4df6-b13e-daefe3114894.vsidx"
deleted file mode 100644
index 70aef67..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d1c62139-7bae-4df6-b13e-daefe3114894.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_BasicRepository/ApiInfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/ApiInfoRepository.cs"
index 9f3a7bc..f5649bb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/ApiInfoRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/ApiInfoRepository.cs"
@@ -16,5 +16,6 @@
         public ApiInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
         {
         }
+
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/UserInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/UserInfoService.cs"
index 88156f5..453ff51 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/UserInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/UserInfoService.cs"
@@ -33,8 +33,7 @@
                         DeptNo = model.DeptNo,
                         InvOrgId = model.InvOrgId,
                         Name = model.Name,
-                        State = model.State,
-                        Type = model.Type,
+                        State = model.State
                     };
 
                     BaseDal.AddData(userInfo);
@@ -47,7 +46,6 @@
                         return WebResponseContent.Instance.Error($"鏈壘鍒拌鍛樺伐鍙枫�恵model.Code}銆戜俊鎭�");
                     }
                     userInfo.State = model.State;
-                    userInfo.Type = model.Type;
                     userInfo.DeptName = model.DeptName;
                     userInfo.DeptNo = model.DeptNo;
                     userInfo.InvOrgId = model.InvOrgId;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
index 0c8493b..bd29729 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
@@ -5,11 +5,13 @@
 using System.Threading.Tasks;
 using WIDESEA_Common.OrderEnum;
 using WIDESEA_Core;
+using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Helper;
 using WIDESEA_IApprovalRepository;
 using WIDESEA_ICheckRepository;
 using WIDESEA_ICheckService;
+using WIDESEA_IInboundRepository;
 using WIDESEA_Model.Models;
 
 namespace WIDESEA_CheckService
@@ -17,10 +19,13 @@
     public class CheckOrderResultService : ServiceBase<Dt_CheckOrderResult, ICheckOrderResultRepository>, ICheckOrderResultService
     {
         private readonly ICheckOrderRepository _checkOrderRepository;
-
-        public CheckOrderResultService(ICheckOrderResultRepository BaseDal, ICheckOrderRepository checkOrderRepository) : base(BaseDal)
+        private readonly IUnitOfWorkManage _unitOfWorkManage;
+        private readonly IReceiveOrderRepository _receiveOrderRepository;
+        public CheckOrderResultService(ICheckOrderResultRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICheckOrderRepository checkOrderRepository, IReceiveOrderRepository receiveOrderRepository) : base(BaseDal)
         {
             _checkOrderRepository = checkOrderRepository;
+            _unitOfWorkManage = unitOfWorkManage;
+            _receiveOrderRepository = receiveOrderRepository;
         }
 
         /// <summary>
@@ -29,11 +34,17 @@
         /// <param name="checkOrderId">璐ㄦ鍗曚富閿�</param>
         /// <param name="checkResult">璐ㄦ缁撴灉瀵硅薄</param>
         /// <returns></returns>
-        public WebResponseContent CommitCheckResult(int checkOrderId, Dt_CheckOrderResult checkResult)
+        public WebResponseContent CommitCheckResult(int checkOrderId,Dt_CheckOrderResult checkResult)
         {
             try
             {
                 Dt_CheckOrder checkOrder = _checkOrderRepository.QueryFirst(x => x.CheckOrderId == checkOrderId);
+                //鑾峰彇璐ㄦ鍗曞搴旂殑鏀惰揣鍗�
+                Dt_ReceiveOrder receiveOrder = _receiveOrderRepository.QueryFirst(x=>x.ReceiveOrderNo==checkOrder.ReceiveOrderNo);
+                if (receiveOrder.ReceiveOrderStatus!=ReceiveOrderStatusEnum.Completed.ObjToInt())
+                {
+                    return WebResponseContent.Instance.Error($"{receiveOrder.ReceiveOrderNo}鏀惰揣鍗曟湭瀹屾垚鏃犳硶璐ㄦ");
+                }
                 if (checkOrder == null)
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒拌璐ㄦ鍗�");
@@ -75,8 +86,10 @@
                     Result = checkResult.Result,
                     Note = checkResult.Note
                 };
+                _unitOfWorkManage.BeginTran();
                 _checkOrderRepository.UpdateData(checkOrder);
                 BaseDal.AddData(checkOrderResult);
+                _unitOfWorkManage.CommitTran();
                 return WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs"
index 568e071..eccb5e8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs"
@@ -125,11 +125,16 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
-
+        /// <summary>
+        /// 璐ㄦ瀹屼笂鎶ヨ嚦ERP
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
         public WebResponseContent FeedbackCheckResult(int id)
         {
             try
             {
+                //澧炲姞涓笂浼犵姸鎬� 璐ㄦ鍗曠粨鏋�
                 Dt_CheckOrder checkOrder = Db.Queryable<Dt_CheckOrder>().Where(x => x.CheckOrderId == id).Includes(x => x.Details).First();
                 if (checkOrder == null)
                 {
@@ -156,21 +161,21 @@
                 ERPCheckModel model = new ERPCheckModel()
                 {
                     Code = checkOrder.CheckOrderNo,
-                    CompanyId = "",
+                    CompanyId = "HATC",
                     Result = checkOrder.Result,
-                    CreatorCode = checkOrder.Creater,
+                    CreatorCode = "TC20082",//娴嬭瘯
                     DefectedNote = checkOrder.DefectedNote,
                     MaterialsCode = checkOrder.MaterielCode,
-                    PlantsId = "",
+                    PlantsId = "HA02",
                     QtyDefected = checkOrder.DefectedQuantity.GetValueOrDefault().ToString(),
                     QtyInspected = checkOrder.ReceivedQuantity.ToString(),
                     QtyQualified = checkOrder.QualifiedQuantity.GetValueOrDefault().ToString(),
                     QtyReturn = checkOrder.ReturnQuantity.GetValueOrDefault().ToString(),
                     QtyScrapped = checkOrder.ScrappedQuantity.GetValueOrDefault().ToString(),
                     ReceiptCode = checkOrder.ReceiveOrderNo,
-                    ReceiveDate = "",
+                    ReceiveDate = checkOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
                     SerNo = checkOrder.ReceiveDetailRowNo.ToString(),
-                    TestDate = "",
+                    TestDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                     UniqueTag = checkOrder.CheckOrderId.ToString(),
                     Way = 1,
                     Details = checkResults
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/WIDESEA_CheckService.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/WIDESEA_CheckService.csproj"
index 4b7900e..f958b64 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/WIDESEA_CheckService.csproj"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/WIDESEA_CheckService.csproj"
@@ -10,6 +10,7 @@
     <ProjectReference Include="..\WIDESEA_External\WIDESEA_External.csproj" />
     <ProjectReference Include="..\WIDESEA_IApprovalRepository\WIDESEA_IApprovalRepository.csproj" />
     <ProjectReference Include="..\WIDESEA_ICheckService\WIDESEA_ICheckService.csproj" />
+    <ProjectReference Include="..\WIDESEA_IInboundRepository\WIDESEA_IInboundRepository.csproj" />
     <ProjectReference Include="..\WIDESEA_ISystemRepository\WIDESEA_ISystemRepository.csproj" />
   </ItemGroup>
 
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 ee2ecbe..1396cd6 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"
@@ -23,25 +23,10 @@
         [Description("AGV瀹夊叏淇″彿鍥炲")]
         AgvSecureReply,
         /// <summary>
-        /// ERP鏀惰揣鎺ュ彛璋冪敤
+        /// ERP鎺ュ彛璋冪敤
         /// </summary>
-        [Description("ERP鏀惰揣鎺ュ彛璋冪敤")]
-        InvokeMatReceiveApi,
-        /// <summary>
-        /// ERP鐗╂枡IQC妫�楠屾帴鍙h皟鐢�
-        /// </summary>
-        [Description("ERP鐗╂枡IQC妫�楠屾帴鍙h皟鐢�")]
-        InvokeCheckOrderApi,
-        /// <summary>
-        /// ERP鐗╂枡鍏ュ簱鎺ュ彛璋冪敤
-        /// </summary>
-        [Description("ERP鐗╂枡鍏ュ簱鎺ュ彛璋冪敤")]
-        InvokeInboundOrderApi,
-        /// <summary>
-        /// ERP鐗╂枡鍑哄簱鎺ュ彛璋冪敤
-        /// </summary>
-        [Description("ERP鐗╂枡鍑哄簱鎺ュ彛璋冪敤")]
-        InvokeOutboundOrderApi,
+        [Description("ERP鎺ュ彛璋冪敤")]
+        InvokeErpApi,
         /// <summary>
         /// MES鍚屾娴嬭瘯鏋跺彴璐︿俊鎭�
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/CommonEnum/RecyclingEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/CommonEnum/RecyclingEnum.cs"
new file mode 100644
index 0000000..a2344cd
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/CommonEnum/RecyclingEnum.cs"
@@ -0,0 +1,31 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Common.CommonEnum
+{
+    /// <summary>
+    /// 鍥炴敹绫诲瀷
+    /// </summary>
+    public enum RecyclingEnum
+    {
+        /// <summary>
+        /// 瀹緵
+        /// </summary>
+        Return,
+        /// <summary>
+        /// 鍥炴敹
+        /// </summary>
+        RepairStock,
+        /// <summary>
+        /// 鍥為��
+        /// </summary>
+        CMStock,
+        /// <summary>
+        /// 缁翠慨鐗╂枡鍥炴敹
+        /// </summary>
+        RMStock
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/CheckOrderEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/CheckOrderEnum.cs"
index 8915b4c..ee801e7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/CheckOrderEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/CheckOrderEnum.cs"
@@ -42,4 +42,20 @@
         [Description("鎶ュ簾")]
         Scrapped
     }
+    /// <summary>
+    /// 妫�楠屼笂浼犵姸鎬�
+    /// </summary>
+    public enum CheckUploadEnum
+    {
+        /// <summary>
+        /// 鏈笂浼�
+        /// </summary>
+        [Description("鏈笂浼�")]
+        UploadNo,
+        /// <summary>
+        /// 宸蹭笂浼�
+        /// </summary>
+        [Description("宸蹭笂浼�")]
+        UploadOk
+    }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpInOrderDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpInOrderDTO.cs"
new file mode 100644
index 0000000..25ccfa0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpInOrderDTO.cs"
@@ -0,0 +1,89 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Attributes;
+
+namespace WIDESEA_DTO.ERP
+{
+    /// <summary>
+    /// 鍏朵粬鍏ュ簱璁㈠崟
+    /// </summary>
+    [ModelValidate]
+    public class ErpInOrderDTO
+    {
+        /// <summary>
+        /// 鎿嶄綔绫诲瀷<br/>
+        /// 1锛氭柊澧�<br/>
+        /// 2锛氫慨鏀�<br/>
+        /// 3锛氬垹闄�(鍒犻櫎鍙鏄庣粏琛屽彿鍜岄鏂欏崟鍙�)
+        /// </summary>
+        [PropertyValidate("鎿嶄綔绫诲瀷", NotNullAndEmpty = true, Check = new object[] { 1, 2, 3 })]
+        public int Way { get; set; }
+
+        /// <summary>
+        /// 鏄庣粏琛屽彿
+        /// </summary>
+        [PropertyValidate("鏄庣粏琛屽彿", NotNullAndEmpty = true)]
+        public string RowNo { get; set; }
+
+        /// <summary>
+        /// 鍏ュ簱璁㈠崟鍙�
+        /// </summary>
+        [PropertyValidate("鍏ュ簱璁㈠崟鍙�", NotNullAndEmpty = true)]
+        public string OrderNo { get; set; }
+
+        /// <summary>
+        /// 浠撳簱缂栧彿
+        /// </summary>
+        [PropertyValidate("浠撳簱缂栧彿", NotNullAndEmpty = true)]
+        public string WaId { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟绫诲瀷<br/>
+        /// 1锛氳皟鎷ㄥ叆搴�<br/>
+        /// 3锛氬渚涘洖鏀�<br/>
+        /// 6锛氱墿鏂欓攢鍞��璐�<br/>
+        /// </summary>
+        [PropertyValidate("璁㈠崟绫诲瀷", NotNullAndEmpty = true, Check = new object[] { 1,  3, 6 })]
+        public int OType { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        [PropertyValidate("鐗╂枡缂栫爜", NotNullAndEmpty = true)]
+        public string MCode { get; set; }
+
+        /// <summary>
+        /// 鏁伴噺
+        /// </summary>
+        [PropertyValidate("鏁伴噺", NotNullAndEmpty = true, MinValue = 0, IsContainMinValue = false)]
+        public float Qty { get; set; }
+
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        [PropertyValidate("鍗曚綅", NotNullAndEmpty = true)]
+        public string Unit { get; set; }
+
+        /// <summary>
+        /// 涓嬪崟鏃ユ湡
+        /// </summary>
+        [PropertyValidate("涓嬪崟鏃ユ湡", NotNullAndEmpty = true)]
+        public string OrderData { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [PropertyValidate("澶囨敞")]
+        public string Node { get; set; }
+
+        /// <summary>
+        /// 鍥炴敹绫诲瀷
+        /// </summary>
+        [PropertyValidate("鍥炴敹绫诲瀷")]
+        public string Type { 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 9f898a1..07a2ef7 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"
@@ -1,4 +1,6 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -21,6 +23,11 @@
         {
             _apiInfoRepository= apiInfoRepository;
         }
+        // 鍒涘缓涓�涓娇鐢ㄥ皬椹煎嘲鍛藉悕娉曠殑搴忓垪鍖栬缃�
+        JsonSerializerSettings settings = new JsonSerializerSettings
+        {
+            ContractResolver = new CamelCasePropertyNamesContractResolver()
+        };
         /// <summary>
         /// ERP鏀惰揣鍗曟帴鍙h皟鐢�
         /// </summary>
@@ -28,15 +35,18 @@
         /// <returns></returns>
         public string InvokeMatReceiveApi(ERPReceiveModel receiveModel)
         {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x=>x.ApiCode==APIEnum.InvokeMatReceiveApi.ToString());
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x=>x.ApiCode==APIEnum.InvokeErpApi.ToString());
             ERPBaseModel<ERPReceiveModel> model = new ERPBaseModel<ERPReceiveModel>()
             {
                 Data = receiveModel,
                 Desc = "鏀惰揣鍗�",
                 Type = "toTCWMSReceive",
-                SecurityCode = ""
+                SecurityCode = "TeChuang"
             };
-            string response = HttpHelper.Post(apiInfo.ApiAddress, model.Serialize());
+            
+            string request = JsonConvert.SerializeObject(model, settings);
+            
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
             return response;
         }
 
@@ -47,16 +57,17 @@
         /// <returns></returns>
         public string InvokeCheckOrderApi(ERPCheckModel checkModel)
         {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeCheckOrderApi.ToString());
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
             ERPBaseModel<ERPCheckModel> model = new ERPBaseModel<ERPCheckModel>()
             {
                 Data = checkModel,
-                Desc = "鏀惰揣鍗�",
+                Desc = "鐗╂枡IQC妫�楠屽崟",
                 Type = "toTCWMSIQCTest",
-                SecurityCode = ""
+                SecurityCode = "TeChuang"
             };
+            string request = JsonConvert.SerializeObject(model, settings);
 
-            string response = HttpHelper.Post(apiInfo.ApiAddress, model.Serialize());
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
             return response;
         }
 
@@ -67,16 +78,33 @@
         /// <returns></returns>
         public string InvokeInboundOrderApi(ERPInboundModel inboundModel)
         {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeInboundOrderApi.ToString());
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
             ERPBaseModel<ERPInboundModel> model = new ERPBaseModel<ERPInboundModel>()
             {
                 Data = inboundModel,
-                Desc = "鏀惰揣鍗�",
+                Desc = "鐗╂枡鍏ュ簱鍗�",
                 Type = "toTCWMSMaterialWarehousing",
-                SecurityCode = ""
+                SecurityCode = "TeChuang"
             };
-
-            string response = HttpHelper.Post(apiInfo.ApiAddress, model.Serialize());
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// ERP棰嗘枡閫氱煡鍗曞嚭搴�
+        /// </summary>
+        public string InvokeOutStandardsApi(ERPIssueModel issueModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPIssueModel> model = new ERPBaseModel<ERPIssueModel>()
+            {
+                Data = issueModel,
+                Desc = "棰嗘枡鍑哄簱閫氱煡鍗�",
+                Type = "toStandardPickList",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings).Replace("issitem", "Issitem");
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
             return response;
         }
         /// <summary>
@@ -86,15 +114,16 @@
         /// <returns></returns>
         public string InvokeOutboundOrderApi(ERPOutboundModel outboundModel)
         {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeOutboundOrderApi.ToString());
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
             ERPBaseModel<ERPOutboundModel> model = new ERPBaseModel<ERPOutboundModel>()
             {
                 Data = outboundModel,
                 Desc = "鏉愭枡鍑哄簱",
                 Type = "toBomMaterialOutTC",
-                SecurityCode = "LxkgPgN3$U"
+                SecurityCode = "TeChuang"
             };
-            string response = HttpHelper.Post(apiInfo.ApiAddress, model.Serialize());
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
             return response;
         }
     }
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 b9bd600..1db5a1e 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"
@@ -39,5 +39,6 @@
         /// <param name="outboundModel"></param>
         /// <returns></returns>
         string InvokeOutboundOrderApi(ERPOutboundModel outboundModel);
+        string InvokeOutStandardsApi(ERPIssueModel issueModel);
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPInboundModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPInboundModel.cs"
index bc5abf7..6b2edb0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPInboundModel.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPInboundModel.cs"
@@ -64,7 +64,7 @@
         /// <summary>
         /// 鍒涘缓鏃ユ湡
         /// </summary>
-        public string EndDate { get; set; }
+        public string EntDate { get; set; }
 
         /// <summary>
         /// 澶囨敞
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPIssueModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPIssueModel.cs"
index 259daf2..4470043 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPIssueModel.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPIssueModel.cs"
@@ -29,37 +29,37 @@
         /// <summary>
         /// 閮ㄩ棬浠g爜
         /// </summary>
-        public string DetNo { get; set; }
+        public string Deptno { get; set; }
 
         /// <summary>
         /// 閮ㄩ棬鍚嶇О
         /// </summary>
-        public string DetName { get; set; }
+        public string Deptname { get; set; }
 
         /// <summary>
         /// 澶囨敞
         /// </summary>
-        public string DecRemark { get; set; }
+        public string Docremark { get; set; }
 
         /// <summary>
         /// 鏃ユ湡
         /// </summary>
-        public string CreateTime { get; set; }
+        public string Createtime { get; set; }
 
         /// <summary>
         /// 浜哄憳
         /// </summary>
-        public string CreateUser { get; set; }
+        public string Createuser { get; set; }
 
         /// <summary>
         /// 鐮斿彂
         /// </summary>
-        public int IsDev { get; set; }
+        public int IsDev { get; set; } = 0;
 
         /// <summary>
         /// 璇︽儏
         /// </summary>
-        public List<ERPIssueItemModel> IssItem { get; set; }
+        public List<ERPIssueItemModel> Issitem { get; set; }
     }
 
     /// <summary>
@@ -70,12 +70,12 @@
         /// <summary>
         /// 棰嗘枡鍗曞彿
         /// </summary>
-        public string PickCode { get; set; }
+        public string Pickcode { get; set; }
 
         /// <summary>
         /// 鍙戞斁璇︽儏
         /// </summary>
-        public List<ERPPickModel> PickItem { get; set; }
+        public List<ERPPickModel> PickList { get; set; }
     }
 
     /// <summary>
@@ -86,7 +86,7 @@
         /// <summary>
         /// 鍙戞枡鏄庣粏琛屽彿
         /// </summary>
-        public int RowIndex { get; set; }
+        public int Rowindex { get; set; }
 
         /// <summary>
         /// 鐗╂枡缂栫爜
@@ -101,7 +101,7 @@
         /// <summary>
         /// 搴撳瓨璇︽儏
         /// </summary>
-        public List<ERPPickItemModel> DataItem { get; set; }
+        public List<ERPPickItemModel> Dataitem { get; set; }
     }
 
     /// <summary>
@@ -112,7 +112,7 @@
         /// <summary>
         /// 鎵规鍙�
         /// </summary>
-        public string LotNo { get; set; }
+        public string Lotno { get; set; }
 
         /// <summary>
         /// 鏁伴噺
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPOutboundModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPOutboundModel.cs"
index 61a20f2..382130a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPOutboundModel.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPOutboundModel.cs"
@@ -7,7 +7,7 @@
 namespace WIDESEA_External.Model
 {
     /// <summary>
-    /// 鍑哄簱鍗曞洖浼燛RP
+    /// 鐗╂枡鍙戜粨鍑哄簱鍥炰紶ERP
     /// </summary>
     public class ERPOutboundModel
     {
@@ -20,7 +20,7 @@
         /// </summary>
         public string UniqueTag { get; set; }
         /// <summary>
-        /// 鍑哄簱鍗曞彿
+        /// 鍙戞枡鍗曞彿
         /// </summary>
         public string Code { get; set; }
         /// <summary>
@@ -42,7 +42,7 @@
         /// <summary>
         /// 鍙戞枡鏃堕棿
         /// </summary
-        public DateTime? Createtime { get; set; }
+        public string Createtime { get; set; }
         /// <summary>
         /// 鍙戞枡浜哄憳
         /// </summary
@@ -65,7 +65,7 @@
         /// <summary>
         /// 鎬绘暟閲�
         /// </summary>
-        public float Qty { get; set; }
+        public int Qty { get; set; }
         /// <summary>
         /// 
         /// </summary>
@@ -80,6 +80,6 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public float Qty { get; set; }
+        public int Qty { get; set; }
     }
 }
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 fcba4e3..148e879 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"
@@ -54,7 +54,7 @@
         /// <summary>
         /// 鏀惰揣鏃ユ湡
         /// </summary>
-        public DateTime ReceiveDate { get; set; }
+        public string ReceiveDate { get; set; }
 
         /// <summary>
         /// 閫佽揣鍗曞彿
@@ -74,7 +74,7 @@
         /// <summary>
         /// 鍒涘缓鏃堕棿
         /// </summary>
-        public DateTime EndDate { get; set; }
+        public string EntDate { get; set; }
 
         public List<RecevieOrderDetailModel> Details { get; set; }
     }
@@ -104,7 +104,7 @@
         /// <summary>
         /// 鏀惰揣鏁伴噺
         /// </summary>
-        public float QtyReceived { get; set; }
+        public int QtyRecieved { get; set; }
 
         /// <summary>
         /// 鏀惰揣鎵规
@@ -124,7 +124,7 @@
         /// <summary>
         /// 鍚◣浠锋牸
         /// </summary>
-        public double PriceInTax { get; set; } = 0;
+        public int PriceInTax { get; set; } = 0;
 
         /// <summary>
         /// 绋庣巼
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicRepository/IApiInfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicRepository/IApiInfoRepository.cs"
index dfc55d6..7cb8774 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicRepository/IApiInfoRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicRepository/IApiInfoRepository.cs"
@@ -13,5 +13,6 @@
     /// </summary>
     public interface IApiInfoRepository : IRepository<Dt_ApiInfo>
     {
+
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
index c3e78d9..add2672 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
@@ -18,5 +18,6 @@
         IOutboundOrderRepository Repository { get; }
 
         WebResponseContent ReceiveOutOrder(ErpOutOrderDTO model);
+        WebResponseContent TestOutUpload(int id);
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
index c34d2ff..9a79994 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
@@ -21,6 +21,7 @@
 using WIDESEA_Core.Utilities;
 using WIDESEA_DTO;
 using WIDESEA_DTO.Basic;
+using WIDESEA_DTO.ERP;
 using WIDESEA_DTO.Inbound;
 using WIDESEA_External.ERPService;
 using WIDESEA_External.Model;
@@ -61,6 +62,46 @@
             _invokeERPService = invokeERPService;
             _warehouseService = warehouseService;
         }
+        /// <summary>
+        /// 鍏朵粬鍏ュ簱鍗曞垱寤�
+        /// </summary>
+        /// <returns></returns>
+        public WebResponseContent ReceiveWarehousingOrder(ErpInOrderDTO erpInOrder)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                //鑾峰彇浠撳簱淇℃伅
+                Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x=>x.WarehouseCode==erpInOrder.WaId);
+                if (warehouse==null)
+                {
+                    return content.Error("鏈壘鍒颁粨搴撲俊鎭�");
+                }
+                //鑾峰彇鏄惁瀛樺湪璁㈠崟
+                Dt_InboundOrder inboundOrder = BaseDal.QueryFirst(x=>x.InboundOrderNo== erpInOrder.OrderNo);
+                if (erpInOrder.Way==1)
+                {
+                    if (inboundOrder!=null)
+                    {
+
+                    }
+                }
+                else if(erpInOrder.Way==2)
+                {
+
+                }
+                else
+                {
+
+                }
+                return content.OK();
+            }
+            catch (Exception ex)
+            {
+                content.Error(ex.Message);
+            }
+            return content;
+        }
         public WebResponseContent GetInboundOrders(SaveModel saveModel)
         {
             WebResponseContent content = new WebResponseContent();
@@ -87,7 +128,13 @@
             }
             return content;
         }
-
+        /// <summary>
+        /// 鍗曚釜鐗╂枡鐮佺粍鐩�
+        /// </summary>
+        /// <param name="inboundOrderId"></param>
+        /// <param name="palletCode"></param>
+        /// <param name="serNum"></param>
+        /// <returns></returns>
         public WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, string serNum)
         {
             try
@@ -114,7 +161,25 @@
 
                 List<string> purchaseOrderNos = receiveOrder.Details.Select(x => x.PurchaseOrderNo).ToList();
 
-                MatSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum);
+                MatSerNumAnalysisModel model = new MatSerNumAnalysisModel() 
+                { 
+                    MaterielCode= "307000309",
+                    LotNo= "20241216001",
+                    ProductionDate= "2024-12-16",
+                    EffectiveDate= "2025-12-16",
+                    PurchaseOrderNo= "POHA02241216275",
+                    Quantity=1,
+                    SerialNumber= "M:307000309,BS:20241216001,DM:2024-12-16,DE:2025-12-16,Q:4,PO:POHA02241216275"
+                };//娴嬭瘯
+                    
+                //CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum);
+
+
+                Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterielCode);
+                if (materielInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡鐨勪俊鎭�");
+                }
 
                 List<Dt_InboundOrderDetail> inboundOrderDetails = inboundOrder.Details.Where(x => x.MaterielCode == model.MaterielCode).ToList();
 
@@ -138,19 +203,6 @@
                     return WebResponseContent.Instance.Error($"璇ョ墿鏂欏湪璇ュ叆搴撳崟涓凡鍏ㄩ儴缁勭洏瀹屾垚");
                 }
 
-                Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterielCode);
-                if (materielInfo == null)
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡鐨勪俊鎭�");
-                }
-
-                Dt_StockInfo stockInfo = new Dt_StockInfo()
-                {
-                    PalletCode = palletCode,
-                    StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
-                    WarehouseId = inboundOrder.WarehouseId
-                };
-
                 Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
                 {
                     BatchNo = model.LotNo,
@@ -164,6 +216,14 @@
                     ProductionDate = model.ProductionDate,
                     EffectiveDate = model.EffectiveDate,
                     InboundOrderRowNo = notGroupDetail.RowNo,
+                };
+
+                Dt_StockInfo stockInfo = new Dt_StockInfo()
+                {
+                    PalletCode = palletCode,
+                    StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
+                    WarehouseId = inboundOrder.WarehouseId,
+                    Details=new List<Dt_StockInfoDetail> { stockInfoDetail }
                 };
 
                 _stockRepository.StockInfoRepository.Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
@@ -484,7 +544,11 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
-
+        /// <summary>
+        /// 鍏ュ簱瀹屾垚鍥炰紶鍒癊RP
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
         public WebResponseContent FeedbackInboundOrder(int id)
         {
             try
@@ -547,9 +611,9 @@
                 ERPInboundModel model = new ERPInboundModel()
                 {
                     Code = inboundOrder.InboundOrderNo,
-                    CreatorCode = inboundOrder.Creater,
-                    EndDate = inboundOrder.CreateDate.ToString(),
-                    StockDate = inboundOrder.CreateDate.ToString(),
+                    CreatorCode = "TC20082",//娴嬭瘯
+                    EntDate = inboundOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
+                    StockDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                     SuppliersId = inboundOrder.SupplierId,
                     Type = "S",
                     UniqueTag = inboundOrder.Id.ToString(),
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs"
index 270c4c6..ce12b7c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs"
@@ -87,6 +87,7 @@
                     {
                         MaterielCode = item.MCode,
                         PurchaseDetailQuantity = item.Qty,
+                        PurchaseDetailReceiveQty=0,
                         PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(),
                         Unit = item.Unit,
                         WarehouseId = warehouse.WarehouseId,
@@ -157,6 +158,7 @@
                         {
                             MaterielCode = item.MCode,
                             PurchaseDetailQuantity = item.Qty,
+                            PurchaseDetailReceiveQty = 0,
                             PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(),
                             Unit = item.Unit,
                             WarehouseId = warehouse.WarehouseId,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
index f2a2084..e309926 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
@@ -11,7 +11,9 @@
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Helper;
+using WIDESEA_DTO;
 using WIDESEA_DTO.Basic;
+using WIDESEA_DTO.ERP;
 using WIDESEA_External.ERPService;
 using WIDESEA_External.Model;
 using WIDESEA_IBasicRepository;
@@ -79,7 +81,11 @@
 
             return base.AddData(saveModel);
         }
-
+        /// <summary>
+        /// 鏀惰揣瀹屾垚骞跺洖浼燛RP
+        /// </summary>
+        /// <param name="orderId"></param>
+        /// <returns></returns>
         public WebResponseContent FeedbackReceiveOrder(int orderId)
         {
             try
@@ -88,6 +94,10 @@
                 if (receiveOrder == null)
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒版敹璐у崟");
+                }
+                if (receiveOrder.ReceiveOrderStatus==ReceiveOrderStatusEnum.Completed.ObjToInt())
+                {
+                    return WebResponseContent.Instance.Error($"鏀惰揣鍗曞凡瀹屾垚");
                 }
                 if (receiveOrder.Details == null || receiveOrder.Details.Count == 0)
                 {
@@ -112,10 +122,11 @@
                         PriceInTax = 0,
                         PurchaseOrderCode = item.PurchaseOrderNo,
                         PurchaseOrderSerno = item.PurchaseOrderDetailRowNo,
-                        QtyReceived = item.ReceivedQuantity,
+                        QtyRecieved = item.ReceivedQuantity.ObjToInt(),
                         Serno = item.RowNo,
                         Supplotno = "",
-                        Taxrate = ""
+                        Taxrate = "",
+                        
                     };
                     recevieOrderDetails.Add(recevieOrderDetail);
                 }
@@ -123,23 +134,33 @@
                 ERPReceiveModel receiveModel = new ERPReceiveModel()
                 {
                     Code = receiveOrder.ReceiveOrderNo,
-                    CompanyId = "",
+                    CompanyId = "HATC",
                     DeliveryCode = receiveOrder.DeliveryCode,
                     CustomerId = receiveOrder.CustomerId,
-                    CreatorId = receiveOrder.Creater,
-                    EndDate = receiveOrder.CreateDate,
-                    ReceiveDate = receiveOrder.CreateDate,
-                    PlantsId = "",
+                    CreatorId = "TC20082",//娴嬭瘯 receiveOrder.Creater
+                    EntDate = receiveOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
+                    ReceiveDate = receiveOrder.ReceiveDate.ToString("yyyy-MM-dd HH:mm:ss"),
+                    PlantsId = "HA02",
                     SuppliersId = receiveOrder.SuppliersId,
-                    Type = "PO",
+                    Type = Enum.GetName(typeof(ReceiveOrderTypeEnum),receiveOrder.ReceiveOrderType),
                     UniqueTag = receiveOrder.ReceiveOrderId.ToString(),
                     WarehouseCode = warehouse.WarehouseCode,
                     Way = 1,
                     Details = recevieOrderDetails
                 };
-
-                string response = _invokeERPService.InvokeMatReceiveApi(receiveModel);
-
+                //鏀惰揣鎺ㄩ�佽嚦ERP
+                string Content = _invokeERPService.InvokeMatReceiveApi(receiveModel);
+                ErpRequestContent erpRequest=Content.DeserializeObject<ErpRequestContent>();
+                if (erpRequest.res==0)
+                {
+                    return WebResponseContent.Instance.Error(erpRequest.Data);
+                }
+                receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Completed.ObjToInt();
+                receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt();
+                //鏇存柊鏀惰揣鍗曚俊鎭�
+                _unitOfWorkManage.BeginTran();
+                BaseDal.UpdateData(receiveOrder);
+                _unitOfWorkManage.CommitTran();
                 return WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
@@ -174,7 +195,11 @@
             }
             return content;
         }
-
+        /// <summary>
+        /// 鍒涘缓鍏ュ簱鍗�
+        /// </summary>
+        /// <param name="receiveOrderId">鏀惰揣鍗曠紪鍙�</param>
+        /// <returns></returns>
         public WebResponseContent CreateInboundOrder(int receiveOrderId)
         {
             try
@@ -206,6 +231,7 @@
 
                 Dt_InboundOrder inboundOrder = new Dt_InboundOrder()
                 {
+                    InboundOrderNo="TestInboundNo1",//娴嬭瘯
                     UpperOrderNo = receiveOrder.ReceiveOrderNo,
                     CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
                     OrderStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
@@ -311,20 +337,23 @@
                         if (materielInfo.IsCheck == WhetherEnum.True)
                         {
                             Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+                            checkOrder.CheckOrderNo = "TestCheckNo11";//娴嬭瘯
                             checkOrder.ReceiveOrderNo = "";
                             checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
                             checkOrder.ScrappedQuantity = 0;
                             checkOrder.ReturnQuantity = 0;
                             checkOrder.DefectedQuantity = 0;
                             checkOrder.ReceiveDetailRowNo = rowNo;
+                            checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt();
                             checkOrders.Add(checkOrder);
                         }
                     }
                     receiveOrder = new Dt_ReceiveOrder()
                     {
+                        ReceiveOrderNo= "TestReceiveOrderNo11",//娴嬭瘯
                         ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(),
                         CustomerId = "",
-                        DeliveryCode = "",
+                        DeliveryCode = "/",
                         ReceiveDate = DateTime.Now,
                         ReceiveOrderType = ReceiveOrderTypeEnum.PO.ObjToInt(),
                         SuppliersId = purchaseOrder.SupplierCode,
@@ -371,12 +400,14 @@
                         if (materielInfo.IsCheck == WhetherEnum.True)
                         {
                             Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+                            checkOrder.CheckOrderNo = "Test-CheckNo1";//娴嬭瘯
                             checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
                             checkOrder.ScrappedQuantity = 0;
                             checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
                             checkOrder.ReturnQuantity = 0;
                             checkOrder.DefectedQuantity = 0;
                             checkOrder.ReceiveDetailRowNo = rowNo;
+                            checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt();
                             checkOrders.Add(checkOrder);
                         }
                     }
@@ -395,11 +426,13 @@
                     Db.InsertNav(receiveOrder).Include(x => x.Details).ExecuteCommand();
                     checkOrders.ForEach(x => x.ReceiveOrderNo = receiveOrder.ReceiveOrderNo);
                 }
-                _checkOrderRepository.AddData(checkOrders);
+                if (checkOrders.Count > 0)
+                {
+                    _checkOrderRepository.AddData(checkOrders);
+                }
                 _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder);
                 _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrder.Details);
                 _unitOfWorkManage.CommitTran();
-
                 return WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs"
index 52491aa..c6f027f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs"
@@ -52,7 +52,7 @@
         /// <summary>
         /// 绫诲瀷 1=浠撶鍛橈紝2=璐ㄦ鍛�
         /// </summary>
-        [SugarColumn(IsNullable = false, ColumnDescription = "绫诲瀷")]
-        public int Type { get; set; }
+        //[SugarColumn(IsNullable = false, ColumnDescription = "绫诲瀷")]
+        //public int Type { get; set; }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs"
index 210137d..6c4bd35 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs"
@@ -106,7 +106,11 @@
         /// </summary>
         [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "妫�楠屼汉")]
         public string CheckUserName { get; set; }
-
+        /// <summary>
+        /// 妫�楠屼笂浼犵姸鎬�
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDescription = "妫�楠屼笂浼犵姸鎬�")]
+        public int UploadStatus { 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/Inbound/Dt_PurchaseOrderDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrderDetail.cs"
index c3ab638..70e71fc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrderDetail.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrderDetail.cs"
@@ -56,6 +56,11 @@
         /// </summary>
         [SugarColumn(IsNullable = false, ColumnDescription = "鏁伴噺")]
         public float PurchaseDetailQuantity { get; set; }
+        /// <summary>
+        /// 宸叉敹璐ф暟閲�
+        /// </summary>
+        [SugarColumn(IsNullable = false, ColumnDescription = "宸叉敹璐ф暟閲�")]
+        public float PurchaseDetailReceiveQty { get; set; }
 
         /// <summary>
         /// 鍗曚綅
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail.cs"
index 8eb716d..e5b4711 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail.cs"
@@ -41,7 +41,7 @@
         /// <summary>
         /// 鎵规鍙�
         /// </summary>
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鎵规鍙�")]
+        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "鎵规鍙�")]
         public string BatchNo { get; set; }
 
         /// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs"
index 8ba0114..f1316e9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs"
@@ -47,7 +47,7 @@
         /// <summary>
         /// 鎵规鍙�
         /// </summary>
-        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鎵规鍙�")]
+        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "鎵规鍙�")]
         public string BatchNo { get; set; }
 
         /// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index c15e44e..a65c399 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -1,4 +1,5 @@
 锘縰sing AutoMapper;
+using MailKit.Search;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Serialization;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
@@ -138,6 +139,7 @@
 
                         Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder()
                         {
+                            OrderNo=model.OrderNo,
                             UpperOrderNo = model.OrderNo,
                             OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
                             OrderType = OutOrderTypeEnum.Issue.ObjToInt(),
@@ -215,6 +217,63 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+        //涓婃姤鍑哄簱瀹屾垚
+        public WebResponseContent TestOutUpload(int id)
+        {
+            try
+            {
+                Dt_OutboundOrder outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x=>x.Id==id).Includes(x=>x.Details).First();
+                Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseId == outboundOrder.WarehouseId);
+                //娴嬭瘯鏋跺簱缁橢RP涓婃姤鍑哄簱瀹屾垚
+                ERPPickItemModel eRPOutPick = new ERPPickItemModel()
+                {
+                    Lotno = "20241226001",
+                    Qty = "5",
+                    Location = warehouse.WarehouseCode
+                };
+                ERPPickModel pickModel = new ERPPickModel()
+                {
+                    Rowindex = outboundOrder.Details[0].RowNo,
+                    Material = outboundOrder.Details[0].MaterielCode,
+                    Qty = (outboundOrder.Details[0].OrderQuantity.ObjToInt()).ToString(),
+                    Dataitem=new List<ERPPickItemModel> { eRPOutPick }
+                };
+                
+                ERPIssueItemModel issueItemModel = new ERPIssueItemModel()
+                {
+                    Pickcode = outboundOrder.UpperOrderNo,
+                    PickList = new List<ERPPickModel>() { pickModel }
+                };
+                ERPIssueModel issueModel = new ERPIssueModel()
+                {
+                    UniqueTag = id.ToString(),
+                    Code = "FL20241226001",
+                    WarehouseCode = warehouse.WarehouseCode,
+                    Docremark = "",
+                    Deptno = "F2HAECZSQZ",
+                    Deptname = "娣畨浜屽巶鍒朵笁鍖洪樆鐒�",
+                    Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+                    Createuser = "TC20082",
+                    Issitem = new List<ERPIssueItemModel>() { issueItemModel },
+                };
+                string response = _invokeERPService.InvokeOutStandardsApi(issueModel);
+                ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>();
+                if (requestContent.res == 1)
+                {
+
+                    return WebResponseContent.Instance.OK(requestContent.Data);
+                }
+                else
+                {
+                    return WebResponseContent.Instance.Error(requestContent.Data);
+                }
+            }
+            catch (Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+            return WebResponseContent.Instance.OK();
+        }
         /// <summary>
         /// 鏇存敼鍑哄簱鍗曞簱瀛樼姸鎬�
         /// </summary>
@@ -252,13 +311,13 @@
                 List<ERPOutPickDetail> pickDetails = stockInfos.Select(x => new ERPOutPickDetail()
                 {
                     Lotno = x.Details[0].BatchNo,
-                    Qty = x.Details[0].StockQuantity
+                    Qty = x.Details[0].StockQuantity.ObjToInt()
                 }).ToList();
                 ERPOutPick outPick = new ERPOutPick()
                 {
                     Rowindex = model.RowNo,
                     Material = model.MCode,
-                    Qty = model.Qty,
+                    Qty = model.Qty.ObjToInt(),
                     Dataitem = pickDetails
                 };
                 ERPOutboundModel inboundModel = new ERPOutboundModel()
@@ -270,7 +329,7 @@
                     Docremark = "",
                     Deptno = model.DepartmentCode,
                     DeptName = model.DepartmentName,
-                    Createtime = DateTime.Now,
+                    Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                     Createuser = "WMS",
                     Picklist = new List<ERPOutPick>() { outPick },
                 };
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 fa1ada2..3f466c9 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"
@@ -83,7 +83,7 @@
                 //鍔犲叆璐т綅鍙樺姩璁板綍
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, locationStatus, LocationChangeType.OutboundAssignLocation, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", taskOut.TaskNum);
                 //鍔犲叆搴撳瓨鍙樺姩璁板綍
-                //_recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfoDetails, beforeQuantity, totalQuantity, StockChangeTypeEnum.MaterielGroup);
+                //_recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfoDetails, beforeQuantity, totalQuantity, StockChangeTypeEnum.StockLock);
                 _unitOfWorkManage.CommitTran();
                 //灏嗕换鍔℃帹閫佸埌WCS
                 PushTasksToWCS(new List<Dt_Task>() { taskOut },"AGV");
@@ -127,7 +127,7 @@
                     SourceAddress = backModel.SourceAddressCode,
                     TargetAddress = "",
                     TaskStatus = (int)TaskStatusEnum.New,
-                    TaskType = (int)TaskTypeEnum.Outbound,
+                    TaskType = (int)TaskTypeEnum.ProductionReturn,
                     TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                     PalletType = stockInfo.PalletType,
                     WarehouseId = stockInfo.WarehouseId,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index bc617ce..447eda6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -257,7 +257,7 @@
 
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationChangeType.OutboundCompleted, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
                 _unitOfWorkManage.CommitTran();
-
+                //鎺ㄩ�佸嚭搴撳畬鎴�
                 return WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderController.cs"
index b6d8ee7..fbc4f46 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.Http;
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseController;
@@ -31,7 +32,7 @@
         /// </summary>
         /// <param name="id"></param>
         /// <returns></returns>
-        [HttpGet, HttpPost, Route("FeedbackCheckResult")]
+        [HttpGet, HttpPost, Route("FeedbackCheckResult"),AllowAnonymous]
         public WebResponseContent FeedbackCheckResult(int id)
         {
             return Service.FeedbackCheckResult(id);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderResultController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderResultController.cs"
index 5316a4c..f3ae49a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderResultController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Check/CheckOrderResultController.cs"
@@ -22,7 +22,7 @@
         /// <param name="checkResult"></param>
         /// <returns></returns>
         [HttpPost, Route("CommitCheckResult")]
-        public WebResponseContent CommitCheckResult(int checkOrderId, Dt_CheckOrderResult checkResult)
+        public WebResponseContent CommitCheckResult(int checkOrderId,[FromBody] Dt_CheckOrderResult checkResult)
         {
             return Service.CommitCheckResult(checkOrderId, checkResult);
         }
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 bf6754d..dad1e55 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"
@@ -50,7 +50,7 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        [HttpPost, Route("ReceivePurchaseOrderSingle"), AllowAnonymous, MethodParamsValidate]
+        [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous, MethodParamsValidate]
         public ErpResponseContent ReceivePurchaseOrder([FromBody] Root<PurchaseOrderModel> model)
         {
             WebResponseContent content = _purchaseOrderService.ReceivePurchaseOrder(model.Content);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
index e202106..2aeafe8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
@@ -33,7 +33,7 @@
         /// <param name="palletCode"></param>
         /// <param name="serNum"></param>
         /// <returns></returns>
-        [HttpPost, HttpGet, Route("MaterielGroupSingle")]
+        [HttpPost, HttpGet, Route("MaterielGroupSingle"),AllowAnonymous]
         public WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, string serNum)
         {
             return Service.MaterielGroup(inboundOrderId, palletCode, serNum);
@@ -67,7 +67,7 @@
         /// </summary>
         /// <param name="id"></param>
         /// <returns></returns>
-        [HttpPost, HttpGet, Route("FeedbackInboundOrder")]
+        [HttpPost, HttpGet, Route("FeedbackInboundOrder"),AllowAnonymous]
         public WebResponseContent FeedbackInboundOrder(int id)
         {
             return Service.FeedbackInboundOrder(id);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/ReceiveOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/ReceiveOrderController.cs"
index 95be589..027ad82 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/ReceiveOrderController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/ReceiveOrderController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.Http;
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseController;
@@ -18,9 +19,9 @@
         /// <summary>
         /// 鏍规嵁鏀惰揣鍗曞垱寤哄叆搴撳崟
         /// </summary>
-        /// <param name="receiveOrderId"></param>
+        /// <param name="receiveOrderId">鏀惰揣鍗曠紪鍙�</param>
         /// <returns></returns>
-        [HttpPost, HttpGet, Route("CreateInboundOrder")]
+        [HttpPost, HttpGet, Route("CreateInboundOrder"),AllowAnonymous]
         public WebResponseContent CreateInboundOrder(int receiveOrderId)
         {
             return Service.CreateInboundOrder(receiveOrderId);
@@ -31,7 +32,7 @@
         /// </summary>
         /// <param name="orderId"></param>
         /// <returns></returns>
-        [HttpPost, HttpGet, Route("FeedbackReceiveOrder")]
+        [HttpPost, HttpGet, Route("FeedbackReceiveOrder"),AllowAnonymous]
         public WebResponseContent FeedbackReceiveOrder(int orderId)
         {
             return Service.FeedbackReceiveOrder(orderId);
@@ -52,7 +53,7 @@
         /// <param name="purchaseOrderId"></param>
         /// <param name="lotNo"></param>
         /// <returns></returns>
-        [HttpPost, HttpGet, Route("ReceiveAllOrder")]
+        [HttpPost, HttpGet, Route("ReceiveAllOrder"),AllowAnonymous]
         public WebResponseContent ReceiveAllOrder(int purchaseOrderId, string lotNo)
         {
             return Service.ReceiveAllOrder(purchaseOrderId, lotNo);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
index 02391d2..07f9ee7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
@@ -19,6 +19,11 @@
         {
 
         }
+        [HttpPost,Route("TestOutUpload"),AllowAnonymous]
+        public WebResponseContent TestOutUpload(int id)
+        {
+            return Service.TestOutUpload(id);
+        }
 
     }
 }
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\265\267\345\272\267AGV/20240115WMS&AGV\346\216\245\345\217\243-HikV1.1\0501\051.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\265\267\345\272\267AGV/20240115WMS&AGV\346\216\245\345\217\243-HikV1.1\0501\051.xlsx"
index eb6518e..d4dbd21 100644
--- "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\265\267\345\272\267AGV/20240115WMS&AGV\346\216\245\345\217\243-HikV1.1\0501\051.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\265\267\345\272\267AGV/20240115WMS&AGV\346\216\245\345\217\243-HikV1.1\0501\051.xlsx"
Binary files differ
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/\347\211\271\345\210\233ERP&WMS\346\216\245\345\217\243\346\270\205\345\215\225072520241126.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/\347\211\271\345\210\233ERP&WMS\346\216\245\345\217\243\346\270\205\345\215\225072520241126.xlsx"
index 2f1a025..a43b3a6 100644
--- "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/\347\211\271\345\210\233ERP&WMS\346\216\245\345\217\243\346\270\205\345\215\225072520241126.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/\347\211\271\345\210\233ERP&WMS\346\216\245\345\217\243\346\270\205\345\215\225072520241126.xlsx"
Binary files differ

--
Gitblit v1.9.3