From 5ab19c977cfb0551a88b3885b0648183fbfff672 Mon Sep 17 00:00:00 2001
From: libo <Administrator@DESKTOP-1A6QMNS>
Date: 星期一, 31 三月 2025 10:10:12 +0800
Subject: [PATCH] 调整wms出入库、返库逻辑,调整与比亚迪接口对接的类型和方法,调整配置参数,写入服务器上数据库密码

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |  228 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 174 insertions(+), 54 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 7c9584a..16c340d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -38,6 +38,7 @@
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
 using WIDESEA_Core.Log;
+using WIDESEA_Core.LogHelper;
 using WIDESEA_DTO.Inbound;
 using WIDESEA_DTO.Stock;
 using WIDESEA_IBasicRepository;
@@ -87,12 +88,12 @@
 
         private Dictionary<string, OrderByType> _OutLockOrderBy = new Dictionary<string, OrderByType>()
         {
-         
+
             { nameof(Dt_OutStockLockInfo.CreateDate), OrderByType.Desc },
 
         };
 
-        public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService, ISys_JobService sys_JobService, ILabelMasterRepository labelMasterRepository, IOutStockLockInfoRepository outStockLockInfoRepository, IOutboundOrderDetailRepository outboundOrderDetailRepository, IOutBoundOrderBYDRepository outBoundOrderBYDRepository, IOutboundOrderDetailBYDRepository outboundOrderDetailByDRepository, IOutboundOrderRepository outboundOrderRepository, IOutboundOrder_HtyRepository outboundOrder_HtyRepository, IOutboundOrderDetail_HtyRepository outboundOrderDetail_HtyRepository, IReturnInventoryDetailRepository returnInventoryDetailRepository,IMainReturnInventoryRepository mainReturnInventoryRepository) : base(BaseDal)
+        public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService, ISys_JobService sys_JobService, ILabelMasterRepository labelMasterRepository, IOutStockLockInfoRepository outStockLockInfoRepository, IOutboundOrderDetailRepository outboundOrderDetailRepository, IOutBoundOrderBYDRepository outBoundOrderBYDRepository, IOutboundOrderDetailBYDRepository outboundOrderDetailByDRepository, IOutboundOrderRepository outboundOrderRepository, IOutboundOrder_HtyRepository outboundOrder_HtyRepository, IOutboundOrderDetail_HtyRepository outboundOrderDetail_HtyRepository, IReturnInventoryDetailRepository returnInventoryDetailRepository, IMainReturnInventoryRepository mainReturnInventoryRepository) : base(BaseDal)
         {
             _mapper = mapper;
             _unitOfWorkManage = unitOfWorkManage;
@@ -114,7 +115,7 @@
             _outboundOrderDetail_HtyRepository = outboundOrderDetail_HtyRepository;
             _returnInventoryDetailRepository = returnInventoryDetailRepository;
             _mainReturnInventoryRepository = mainReturnInventoryRepository;
-            
+
         }
 
 
@@ -164,7 +165,7 @@
             }
             finally
             {
-                WriteLog.GetLog("浠诲姟瀹屾垚").Write($"鎿嶄綔浜猴細{(App.User.UserId>0? App.User.UserName: "System")}{ Environment.NewLine}浠诲姟鍙凤細{taskNum}{Environment.NewLine}{ JsonConvert.SerializeObject(content)}", "浠诲姟瀹屾垚");
+                WriteLog.GetLog("浠诲姟瀹屾垚").Write($"鎿嶄綔浜猴細{(App.User.UserId > 0 ? App.User.UserName : "System")}{Environment.NewLine}浠诲姟鍙凤細{taskNum}{Environment.NewLine}{JsonConvert.SerializeObject(content)}", "浠诲姟瀹屾垚");
             }
         }
         public WebResponseContent TaskCancel(int taskNum)
@@ -175,7 +176,7 @@
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                 if (task == null)
                 {
-                    return content=WebResponseContent.Instance.Error("鏈壘鍒颁换鍔′俊鎭�");
+                    return content = WebResponseContent.Instance.Error("鏈壘鍒颁换鍔′俊鎭�");
                 }
                 _unitOfWorkManage.BeginTran();
                 MethodInfo? methodInfo = GetType().GetMethod(((TaskTypeEnum)task.TaskType) + "TaskCancel");
@@ -192,22 +193,22 @@
                                 if (!response.Status)
                                 {
                                     _unitOfWorkManage.RollbackTran();
-                                    return content=WebResponseContent.Instance.Error(response.Message);
+                                    return content = WebResponseContent.Instance.Error(response.Message);
                                 }
                                 _unitOfWorkManage.CommitTran();
-                                return content=responseContent;
+                                return content = responseContent;
                             }
                             _unitOfWorkManage.CommitTran();
-                            return content=responseContent;
+                            return content = responseContent;
                         }
                     }
                 }
-                return content=WebResponseContent.Instance.Error("鏈壘鍒颁换鍔$被鍨嬪搴斾笟鍔″鐞嗛�昏緫");
+                return content = WebResponseContent.Instance.Error("鏈壘鍒颁换鍔$被鍨嬪搴斾笟鍔″鐞嗛�昏緫");
             }
             catch (Exception ex)
             {
                 _unitOfWorkManage.RollbackTran();
-                return content=WebResponseContent.Instance.Error(ex.Message);
+                return content = WebResponseContent.Instance.Error(ex.Message);
             }
             finally
             {
@@ -270,7 +271,7 @@
                 task.Modifier = App.User.UserId > 0 ? App.User.UserName : "System";
                 BaseDal.UpdateData(task);
                 _unitOfWorkManage.CommitTran();
-                 return content = WebResponseContent.Instance.OK();
+                return content = WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
             {
@@ -282,33 +283,58 @@
         {
             try
             {
-                
+                //Logger.Write_Log("System/test_in", "", "3.0 ");
+
                 _unitOfWorkManage.BeginTran();
                 decimal beforeQuantity = 0;
                 Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress);
                 Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
+                //Logger.Write_Log("System/test_in", "", "3.1 ");
                 CheckCompleted(stockInfo, locationInfo);
+                //Logger.Write_Log("System/test_in", "", "3.2 ");
 
                 stockInfo.LocationCode = locationInfo.LocationCode;
                 stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt();
                 _stockService.StockInfoService.Repository.UpdateData(stockInfo);
 
+                //Logger.Write_Log("System/test_in", "", "3.3 ");
                 beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity);
+
+                foreach (Dt_StockInfoDetail detail in stockInfo.Details)
+                {
+                    //0 - 闈為檺鍒讹紙鍦ㄥ簱姝e父鐨勭墿鏂欙級
+                    //1 - 鍐荤粨锛堝湪搴撳凡鍐荤粨鐨勭墿鏂欙級
+                    //2 - 寰呰川妫�锛堝凡涓婃灦绔嬪簱锛岃繕鏈川妫�鎴栧凡璐ㄦ涓嶅悎鏍肩殑鐗╂枡锛�
+                    Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber);
+                    if (labMaster.LABEL_STATUS == "01")
+                    {
+                        labMaster.SOBKZ = "0";
+                    }
+                    else
+                    {
+                        labMaster.SOBKZ = "2";
+                    }
+                    _labelMasterRepository.UpdateData(labMaster);
+                }
 
                 int beforeStatus = locationInfo.LocationStatus;
                 locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
                 _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false);
 
+                //Logger.Write_Log("System/test_in", "", "3.4 ");
                 _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
                 task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt();
 
+                //Logger.Write_Log("System/test_in", "", "3.5 ");
                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚);
 
+                //Logger.Write_Log("System/test_in", "", "3.6 ");
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
-                _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound,task.TaskNum);
+                _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound, task.TaskNum);
                 _unitOfWorkManage.CommitTran();
 
-             
+                //Logger.Write_Log("System/test_in", "", "3.7 ");
+
             }
             catch (Exception ex)
             {
@@ -320,27 +346,33 @@
             #region 鍥炰紶閫昏緫澶勭悊
             try
             {
+
+                //Logger.Write_Log("System/test_in", "", "3.8 ");
                 PutAwayRequest request = new PutAwayRequest();
                 List<PutAway> itemData = new List<PutAway>();
                 request.ITEMDATA = itemData;
                 request.WERKS = AppSettings.Configuration["WERKS"];
-                request.WH_NUMBER = AppSettings.Configuration["WERKS"];
-                request.IZLID = request.WERKS + request.WH_NUMBER+ DateTime.Now.ToString("yyyyMMdd") + task.TaskNum.ToString();
+                request.WH_NUMBER = AppSettings.Configuration["SYSNO"];
+                request.IZLID = request.WERKS + request.WH_NUMBER + DateTime.Now.ToString("yyyyMMdd") + task.TaskNum.ToString();
                 request.CREATE_DATE = task.CreateDate.ToString("yyyy-MM-dd HH:mm:ss");
                 request.PSTNG_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 request.INBOUND_NO = "";//todo:鍗曞彿瑕佷粠鏉$爜涓绘暟鎹腑鑾峰彇锛屼笉鐒跺洖浼犱細鎻愮ず锛氳鏉$爜鏃犺繘浠撳崟鏁版嵁锛�
                 request.RECEIPT_NO = "";//todo:鍗曞彿瑕佷粠鏉$爜涓绘暟鎹腑锛屼笉鐒跺洖浼犱細鎻愮ず锛氳鏉$爜鏃犺繘浠撳崟鏁版嵁锛�
+                //Logger.Write_Log("System/test_in", "", "3.9 ");
                 Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
+                //Logger.Write_Log("System/test_in", "", "3.10 ");
                 foreach (Dt_StockInfoDetail detail in stockInfo.Details)
                 {
+                    //Logger.Write_Log("System/test_in", "", "3.11 ");
                     Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber);
                     if (labMaster != null)
                     {
-                        if (request.INBOUND_NO == "")
+                        //Logger.Write_Log("System/test_in", "", "3.12 ");
+                        if (string.IsNullOrWhiteSpace(request.INBOUND_NO))
                         {
                             request.INBOUND_NO = labMaster.INBOUND_NO;
                         }
-                        if (request.RECEIPT_NO == "")
+                        if (string.IsNullOrWhiteSpace(request.RECEIPT_NO))
                         {
                             request.RECEIPT_NO = labMaster.RECEIPT_NO;
                         }
@@ -363,24 +395,34 @@
                         putAway.RECEIPT_ITEM_NO = labMaster.RECEIPT_ITEM_NO;
                         putAway.INBOUND_NO = task.TaskNum.ToString();
                         //LABEL _STATUS 鏉$爜鐘舵��  02宸叉敹鏂�(鏃犻渶璐ㄦ)03 寰呰繘浠�(宸茶川妫�)锛屽苟涓旓紝QC RESULT CODE璐ㄦ鐘舵�佷负鈥�02鈥� 鎵嶅厑璁′笂鏋�
-                        if (labMaster.QC_RESULT_CODE=="02"&&(labMaster.LABEL_STATUS=="02"|| labMaster.LABEL_STATUS == "03"))
+                        //Logger.Write_Log("System/test_in", "", "3.13 ");
+                        if (labMaster.QC_RESULT_CODE == "02" && (labMaster.LABEL_STATUS == "02" || labMaster.LABEL_STATUS == "03"))
                         {
+                            //Logger.Write_Log("System/test_in", "", "3.14 ");
                             itemData.Add(putAway);
                         }
-                       
+
                     }
                 }
                 if (itemData.Count > 0)
                 {
-                   WebResponseContent content=  _sys_JobService.CallPutAway(request);
-                   if (content != null&&content.Message== "涓婃灦鍥炰紶鎴愬姛") //濡傛灉涓婃灦鎴愬姛锛屼慨鏀瑰簱瀛樼姸鎬佷负宸蹭笂鏋�
+                    //Logger.Write_Log("System/test_in", "", "3.15 ");
+                    WebResponseContent content = _sys_JobService.CallPutAway(request);
+                    //Logger.Write_Log("System/test_in", "", "3.16 ");
+                    if (content != null && content.Message == "涓婃灦鍥炰紶鎴愬姛") //濡傛灉涓婃灦鎴愬姛锛屼慨鏀瑰簱瀛樼姸鎬佷负宸蹭笂鏋�
                     {
+                        //Logger.Write_Log("System/test_in", "", "3.17 ");
                         stockInfo.StockStatus = StockStatusEmun.宸蹭笂鏋�.ObjToInt();
                         _stockService.StockInfoService.Repository.UpdateData(stockInfo);
                     }
+                    else
+                    {
+
+                        //Logger.Write_Log("System/test_in", "", "3.18 " + content.Message);
+                    }
                 }
             }
-            catch(Exception ex)
+            catch (Exception ex)
             {
                 return WebResponseContent.Instance.Error(ex.Message);
             }
@@ -449,15 +491,20 @@
             try
             {
 
+                //Logger.Write_Log("System/test_re", "", "3.0 ");
                 _unitOfWorkManage.BeginTran();
                 decimal beforeQuantity = 0;
                 Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress);
+                //Logger.Write_Log("System/test_re", "", "3.1 ");
                 Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
+                //Logger.Write_Log("System/test_re", "", "3.2 ");
                 CheckCompleted(stockInfo, locationInfo);
+                //Logger.Write_Log("System/test_re", "", "3.3 ");
 
                 stockInfo.LocationCode = locationInfo.LocationCode;
                 stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt();
                 _stockService.StockInfoService.Repository.UpdateData(stockInfo);
+                //Logger.Write_Log("System/test_re", "", "3.4 ");
 
                 beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity);
 
@@ -465,14 +512,20 @@
                 locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
                 _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false);
 
+                //Logger.Write_Log("System/test_re", "", "3.5 ");
                 _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
                 task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt();
 
+                //Logger.Write_Log("System/test_re", "", "3.6 ");
                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚);
 
+                //Logger.Write_Log("System/test_re", "", "3.7 ");
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
+                //Logger.Write_Log("System/test_re", "", "3.8 ");
                 _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound, task.TaskNum);
+                //Logger.Write_Log("System/test_re", "", "3.9 ");
                 _unitOfWorkManage.CommitTran();
+                //Logger.Write_Log("System/test_re", "", "3.10 ");
 
 
             }
@@ -486,46 +539,85 @@
             #region 鍥炰紶閫昏緫澶勭悊
             try
             {
+                //Logger.Write_Log("System/test_re", "", "3.11 ");
                 PutAwayReturnRequest request = new PutAwayReturnRequest();
                 List<PutAwayReturn> DATA = new List<PutAwayReturn>();
-                request.DATA = DATA;
-                request.WERKS = AppSettings.Configuration["WERKS"];
-                request.WH_NUMBER = AppSettings.Configuration["SYSNO"];
-                request.IZLID = task.OrderNo;//杩欎釜鍊间細鍦ㄦ帴鏀朵笂娓稿洖搴撶粍鐩樹俊鎭椂锛屽瓨鍦ㄥ簱瀛樿〃涓紝鍐嶅瓨鍒颁换鍔¤〃涓�
-                Dt_MainReturnInventory mainReturnInventory = _mainReturnInventoryRepository.QueryFirst(x => x.IZLID == task.OrderNo);
+                //request.WH_NUMBER = AppSettings.Configuration["SYSNO"];
+                //request.WERKS = AppSettings.Configuration["WERKS"];
+                //request.IZLID = task.OrderNo;//杩欎釜鍊间細鍦ㄦ帴鏀朵笂娓稿洖搴撶粍鐩樹俊鎭椂锛屽瓨鍦ㄥ簱瀛樿〃涓紝鍐嶅瓨鍒颁换鍔¤〃涓�
+
+                Dt_MainReturnInventory mainReturnInventory = _mainReturnInventoryRepository.QueryFirst(x => x.TPNUM == task.PalletCode && x.YLZD4 != "1");
                 if (mainReturnInventory != null)
                 {
-                    request.RETURN_NO = mainReturnInventory.RETURN_NO;
-                    request.RETURN_ITEM_NO = mainReturnInventory.RETURN_ITEM_NO;
+                    //Logger.Write_Log("System/test_re", "", "3.12 ");
+                    request.WH_NUMBER = mainReturnInventory.WH_NUMBER;
                     request.BUSINESS_NAME = mainReturnInventory.BUSINESS_NAME;
-                    request.BUSINESS_CODE = mainReturnInventory.BUSINESS_CODE;
-                    request.TPNUM = mainReturnInventory.TPNUM;
+                    request.WERKS = mainReturnInventory.WERKS;
                     request.LGORT = mainReturnInventory.LGORT;
-                    request.MO_NO = mainReturnInventory.MO_NO;
+                    request.TOTAL_RETURN_QTY = mainReturnInventory.TOTAL_RETURN_QTY;
+                    request.BUSINESS_CODE = mainReturnInventory.BUSINESS_CODE;
+                    request.RETURN_NO = mainReturnInventory.RETURN_NO;
 
+                    request.RETURN_ITEM_NO = mainReturnInventory.RETURN_ITEM_NO;
+                    request.TPNUM = mainReturnInventory.TPNUM;
+                    request.YLZD5 = mainReturnInventory.YLZD5;
+                    request.IZLID = mainReturnInventory.IZLID;
+                    request.MO_NO = mainReturnInventory.MO_NO;
+                    request.YLZD3 = mainReturnInventory.YLZD3;
+                    request.YLZD4 = mainReturnInventory.YLZD4;
+                    request.YLZD1 = mainReturnInventory.YLZD1;
+                    request.YLZD2 = mainReturnInventory.YLZD2;
+                    request.SYSNOD = mainReturnInventory.SYSNOD;
+
+                    //Logger.Write_Log("System/test_re", "", "3.13 ");
                     Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
+                    List<Dt_ReturnInventoryDetail> returnInventoryDetails = new List<Dt_ReturnInventoryDetail>();
                     foreach (Dt_StockInfoDetail detail in stockInfo.Details)
                     {
-                        Dt_ReturnInventoryDetail dt_ReturnInventoryDetail = _returnInventoryDetailRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber);
+                        //Logger.Write_Log("System/test_re", "", "3.14 ");
+                        Dt_ReturnInventoryDetail dt_ReturnInventoryDetail = _returnInventoryDetailRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber && x.SOBKZ == "Z");
                         if (dt_ReturnInventoryDetail != null)
                         {
+                            //Logger.Write_Log("System/test_re", "", "3.15 ");
                             PutAwayReturn putAwayReturn = new PutAwayReturn();
                             putAwayReturn.LABEL_NO = dt_ReturnInventoryDetail.LABEL_NO;
-                            putAwayReturn.SOBKZ = dt_ReturnInventoryDetail.SOBKZ;
                             putAwayReturn.UNIT = dt_ReturnInventoryDetail.UNIT;
+                            putAwayReturn.SOBKZ = dt_ReturnInventoryDetail.SOBKZ;
                             putAwayReturn.LGORT = dt_ReturnInventoryDetail.LGORT;
-                            putAwayReturn.TOTAL_RETURN_QTY = dt_ReturnInventoryDetail.QTY;
+                            putAwayReturn.QTY = dt_ReturnInventoryDetail.QTY;
                             putAwayReturn.F_LGORT = dt_ReturnInventoryDetail.F_LGORT;
-                            putAwayReturn.MO_NO = mainReturnInventory.MO_NO;
                             putAwayReturn.LIFNR = dt_ReturnInventoryDetail.LIFNR;
+                            putAwayReturn.MO_NO = mainReturnInventory.MO_NO;
                             putAwayReturn.MATNR = dt_ReturnInventoryDetail.MATNR;
-                            putAwayReturn.BATCH = "";
                             DATA.Add(putAwayReturn);
+                            //Logger.Write_Log("System/test_re", "", "3.16 ");
+
+                            returnInventoryDetails.Add(dt_ReturnInventoryDetail);
                         }
                     }
-                    if(DATA.Count>0)
+                    request.DATA = DATA;
+                    if (DATA.Count > 0)
                     {
-                        _sys_JobService.CallPutAwayReturn(request);//浣欐枡閫�搴撳洖浼�
+                        //Logger.Write_Log("System/test_re", "", "3.17 ");
+                        var res = _sys_JobService.CallPutAwayReturn(request);//浣欐枡閫�搴撳洖浼�
+                        if (res.Status)
+                        {
+                            //Logger.Write_Log("System/test_re", "", "3.18 ");
+                            mainReturnInventory.YLZD4 = "1";
+                            _mainReturnInventoryRepository.UpdateData(mainReturnInventory);
+
+                            foreach (var li in returnInventoryDetails)
+                            {
+                                li.SOBKZ = "0";
+                                _returnInventoryDetailRepository.UpdateData(li);
+
+                            }
+                        }
+                        else
+                        {
+
+                            //Logger.Write_Log("System/test_re", "", "3.19 ");
+                        }
                     }
                 }
             }
@@ -565,28 +657,35 @@
 
         public WebResponseContent OutboundTaskCompleted(Dt_Task task)
         {
+            //Logger.Write_Log("System/test_out", "", "3.0 ");
             Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
             Dt_StockInfo stockInfoCatch = stockInfo;//鍏堢紦瀛樿捣鏉ワ紝渚涘悗闈㈢殑鍥炰紶鎺ュ彛璋冪敤
+            //Logger.Write_Log("System/test_out", "", "3.1 ");
             try
             {
                 _unitOfWorkManage.BeginTran();
                 decimal beforeQuantity = 0;
-              
+
                 //Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
                 //Dt_StockInfo stockInfoCatch = stockInfo;//鍏堢紦瀛樿捣鏉ワ紝渚涘悗闈㈢殑鍥炰紶鎺ュ彛璋冪敤
 
                 Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress);
 
+                //Logger.Write_Log("System/test_out", "", "3.2 ");
                 CheckCompleted(stockInfo, locationInfo);
+                //Logger.Write_Log("System/test_out", "", "3.3 ");
 
                 stockInfo.LocationCode = locationInfo.LocationCode;
                 stockInfo.StockStatus = StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt();
                 _stockService.StockInfoService.Repository.UpdateData(stockInfo);
+                //Logger.Write_Log("System/test_out", "", "3.4 ");
                 int beforeStatus = locationInfo.LocationStatus;
                 if (locationInfo.Depth == 2)
                 {
+                    //Logger.Write_Log("System/test_out", "", "3.5 ");
                     if (DepthTask(locationInfo) == false)
                     {
+                        //Logger.Write_Log("System/test_out", "", "3.6 ");
                         _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false);
 
                     }
@@ -594,18 +693,24 @@
                 locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                 _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
 
+                //Logger.Write_Log("System/test_out", "", "3.7 ");
                 task.TaskStatus = OutTaskStatusEnum.OutFinish.ObjToInt();
                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚);
+                //Logger.Write_Log("System/test_out", "", "3.8 ");
                 _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚);
                 _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚);
 
+                //Logger.Write_Log("System/test_out", "", "3.9 ");
                 beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity);
 
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Outbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
+                //Logger.Write_Log("System/test_out", "", "3.10 ");
                 _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) - beforeQuantity, StockChangeType.Outbound, task.TaskNum);
+                //Logger.Write_Log("System/test_out", "", "3.11 ");
 
                 _unitOfWorkManage.CommitTran();
-               
+                //Logger.Write_Log("System/test_out", "", "3.12 ");
+
             }
             catch (Exception ex)
             {
@@ -618,35 +723,43 @@
             #region 鍥炰紶閫昏緫澶勭悊
             try
             {
+                //Logger.Write_Log("System/test_out", "", "3.13 ");
                 PickAndPostRequest request = new PickAndPostRequest();
                 List<PickAndPost> itemData = new List<PickAndPost>();
                 request.ITEMDATA = itemData;
                 request.WH_NUMBER = AppSettings.Configuration["SYSNO"];
-                request.SYSNOD = AppSettings.Configuration["SYSNO"];
-                request.WERKS = AppSettings.Configuration["CallMaterialID"];
-              
+                request.WERKS = AppSettings.Configuration["WERKS"];
+
                 Dt_OutboundOrderDetail_Hty detail = _outboundOrderDetail_HtyRepository.QueryFirst(x => x.SourceId.ToString() == task.Remark);// task.Remark瀛橀渶姹傛槑缁咺D
                 if (detail != null)
                 {
+                    //Logger.Write_Log("System/test_out", "", "3.14 ");
                     Dt_OutboundOrder_Hty outboundOrder = _outboundOrder_HtyRepository.QueryFirst(x => x.SourceId == detail.OrderId);
                     if (outboundOrder != null)
                     {
+                        //Logger.Write_Log("System/test_out", "", "3.15 ");
                         Dt_OutBoundOrderBYD outboundOrderBYD = _outBoundOrderBYDRepository.QueryFirst(x => x.REQUIREMENT_NO == outboundOrder.OrderNo);
                         if (outboundOrderBYD != null)
                         {
+                            //Logger.Write_Log("System/test_out", "", "3.16 ");
 
                             Dt_OutboundOrderDetailBYD outboundOrderDetailBYD = _outboundOrderDetailByDRepository.QueryFirst(x => x.REQUIREMENT_NO == outboundOrderBYD.REQUIREMENT_NO && x.REQUIREMENT_ITEM_NO == detail.Remark);//detail.Remark 瀛橀渶姹傝
                             //鏍规嵁鎵樼洏鍙锋煡绔嬪簱鐨勬潯鐮佸拰鎵规杩涜鍥炰紶
                             foreach (var item in stockInfoCatch.Details)
                             {
+                                //Logger.Write_Log("System/test_out", "", "3.17 ");
+
+                                Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == item.SerialNumber);
+
                                 PickAndPost pickpost = new PickAndPost();
                                 pickpost.REQUIREMENT_NO = outboundOrderDetailBYD.REQUIREMENT_NO;
                                 pickpost.REQUIREMENT_ITEM_NO = outboundOrderDetailBYD.REQUIREMENT_ITEM_NO;
-                                pickpost.WERKS = outboundOrderBYD.WRKS;
+                                pickpost.ORDERCODE = request.WERKS + request.WH_NUMBER + DateTime.Now.ToString("yyyyMMdd") + outboundOrderDetailBYD.Id.ToString("D6");
+                                pickpost.ORDERCODE_ITEM_NO = "1";
                                 pickpost.SYSNOD = outboundOrderBYD.SYSNOD;
                                 pickpost.MATNR = outboundOrderDetailBYD.MATNR;
                                 pickpost.LIFNR = "";//娌℃湁杩斿洖锛屾殏鏃惰浆绌�
-                                pickpost.QTY = outboundOrderDetailBYD.QTY;
+                                pickpost.QTY = labMaster.BOX_QTY ?? outboundOrderDetailBYD.QTY;
                                 pickpost.BATCH = item.BatchNo;//鍙栫珛搴撳叆搴撳簱瀛樼殑鏉$爜
                                 pickpost.LGORT = outboundOrderBYD.LGORT;
                                 pickpost.BUSINESS_CODE = outboundOrderBYD.BUSINESS_CODE;
@@ -654,24 +767,29 @@
                                 pickpost.STATION = outboundOrderBYD.STATION;
                                 pickpost.SPLIT = outboundOrderBYD.SPLIT;
                                 pickpost.LABEL_NO = item.SerialNumber;//鍙栫珛搴撳叆搴撳簱瀛樼殑鏉$爜
+                                pickpost.Pack_LABEL_NO = null;
+                                pickpost.pallet_label_no = null;
                                 pickpost.CREATE_DATE = outboundOrderBYD.CREATE_DATE;
                                 pickpost.UPDATE_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                                 pickpost.STATUS = outboundOrderBYD.STATUS;
+                                pickpost.MO_NO = null;
                                 itemData.Add(pickpost);
 
+                                //Logger.Write_Log("System/test_out", "", "3.18 ");
                             }
                             _sys_JobService.CallPickAndPost(request);//鍥炰紶
+                            //Logger.Write_Log("System/test_out", "", "3.19 ");
                         }
 
                     }
 
                 }
             }
-            catch(Exception ex)
+            catch (Exception ex)
             {
                 return WebResponseContent.Instance.Error(ex.Message);
             }
-          
+
             #endregion
             return WebResponseContent.Instance.OK();
         }
@@ -680,6 +798,7 @@
         {
             try
             {
+                //Logger.Write_Log("System/test_out", "empt ", "3.0 ");
                 _unitOfWorkManage.BeginTran();
                 Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
 
@@ -706,6 +825,7 @@
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Outbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
 
                 _unitOfWorkManage.CommitTran();
+                //Logger.Write_Log("System/test_out", "empt ", "3.1 ");
                 return WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
@@ -835,7 +955,7 @@
             }
         }
 
-        
+
         public WebResponseContent OutboundTaskCancel(Dt_Task task)
         {
             try
@@ -914,7 +1034,7 @@
 
                 task.TaskStatus = OutTaskStatusEnum.OutCancel.ObjToInt();
                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚);
-                
+
                 _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Outbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
 
                 _unitOfWorkManage.CommitTran();
@@ -940,7 +1060,7 @@
                 stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt();
                 _stockService.StockInfoService.Repository.UpdateData(stockInfo);
 
-                locationEnd.LocationStatus= LocationStatusEnum.Free.ObjToInt();
+                locationEnd.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                 _basicService.LocationInfoService.RelocationFree(locationStart, task.TaskNum);
                 _basicService.LocationInfoService.Repository.UpdateData(locationEnd);
 
@@ -958,7 +1078,7 @@
         }
         public bool DepthTask(Dt_LocationInfo location)
         {
-            if (location != null )
+            if (location != null)
             {
                 Dt_LocationInfo locations = _locationInfoService.Repository.QueryFirst(x => x.RoadwayNo == location.RoadwayNo && x.Column == location.Column && x.Layer == location.Layer && x.Depth != location.Depth && x.Row != location.Row && (SqlFunc.Abs(x.Row - location.Row) == 1));
                 if (locations != null)
@@ -979,7 +1099,7 @@
                 {
                     expression = x => x.Creater == App.User.UserName;
                 }
-                var task = BaseDal.Db.Queryable<Dt_Task>().OrderByDescending(x => x.CreateDate).Take(10).Select(x => new Dt_Task { TaskNum = x.TaskNum, PalletCode=x.PalletCode, TaskType=x.TaskType,SourceAddress=x.SourceAddress,TargetAddress=x.TargetAddress }).ToList();
+                var task = BaseDal.Db.Queryable<Dt_Task>().OrderByDescending(x => x.CreateDate).Take(10).Select(x => new Dt_Task { TaskNum = x.TaskNum, PalletCode = x.PalletCode, TaskType = x.TaskType, SourceAddress = x.SourceAddress, TargetAddress = x.TargetAddress }).ToList();
                 content = WebResponseContent.Instance.OK(data: task);
             }
             catch (Exception ex)

--
Gitblit v1.9.3