From f02d3a8ffc05a10a64859b2a16d5d43c8abb0fb9 Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期一, 23 三月 2026 11:13:36 +0800
Subject: [PATCH] 北京回长沙的最终版

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA.Services/Common/TaskFinishedAction.cs |   40 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 35 insertions(+), 5 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA.Services/Common/TaskFinishedAction.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA.Services/Common/TaskFinishedAction.cs"
index 76aa1ad..d44eccb 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA.Services/Common/TaskFinishedAction.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA.Services/Common/TaskFinishedAction.cs"
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Linq;
 using System.Text;
 using WIDESEA.Common;
 using WIDESEA.Core.Utilities;
@@ -17,7 +18,6 @@
         /// <returns></returns>
         public static WebResponseContent TaskFinishedAction(SaveModel saveModel)
         {
-
             WebResponseContent content = new WebResponseContent();
             string barcode = string.Empty;
             try
@@ -26,6 +26,22 @@
                 Dt_taskinfo taskInfo = Dt_taskinfoRepository.Instance.FindFirst(x => x.task_barcode == barcode);
                 if (taskInfo == null)
                     return content.OK($"WMS涓病鏈夋壘鍒版墭鐩樺彿锛氥�恵barcode}銆戝搴旂殑浠诲姟");
+                else
+                {
+                    try
+                    {
+                        string rgvId = saveModel.MainData["rgvId"]?.ToString();
+                        if (rgvId != null)
+                        {
+                            taskInfo.task_rgvId = rgvId;
+                        }
+                    }
+                    catch (Exception)
+                    {
+
+                        throw;
+                    }
+                }
 
                 //鍖哄垎浠诲姟绫诲瀷
                 //绌烘墭鐩樺叆搴�
@@ -109,6 +125,7 @@
 
                         //鏇存敼璐т綅鐘舵��
                         Dt_locationinfo locationinfo = Dt_locationinfoRepository.Instance.FindFirst(x => x.location_id == taskInfo.task_tolocationid);
+
                         CommonFunction.ChangeLocationState(locationinfo, LocationState.LocationState_Stored.ToString());
 
                         //鍒犻櫎浠诲姟銆佹坊鍔犲巻鍙�
@@ -158,6 +175,11 @@
                     {
                         //璇存槑娌¢敊锛屾湰鏉ュ湪搴撳唴锛屽氨鏄祴閲忓洖搴�
                     }
+                    //Dt_locationinfo locationinfo = Dt_locationinfoRepository.Instance.FindFirst(x => x.location_id == taskInfo.task_tolocationid);
+                    //if (locationinfo == null)
+                    //{
+                    //    locationinfo = Dt_locationinfoRepository.Instance.FindFirst(x => x.location_id == taskInfo.task_fromlocationid);
+                    //}
                     //  string rgvId = null == saveModel.MainData["rgvId"] ? "" : saveModel.MainData["rgvId"].ToString();
                     content = Dt_taskinfo_htyRepository.Instance.DbContextBeginTransaction(() =>
                     {
@@ -165,20 +187,28 @@
                         //container_Head.containerhead_createtime = DateTime.Now;
                         //Dt_container_headRepository.Instance.Update(container_Head, true);
                         //鏇存敼璐т綅鐘舵��
-                        Dt_locationinfo locationinfo = Dt_locationinfoRepository.Instance.FindFirst(x => x.location_id == taskInfo.task_fromlocationid);
+                        Dt_locationinfo locationinfo = Dt_locationinfoRepository.Instance.FindFirst(x => x.location_id == taskInfo.task_tolocationid);
+                        if (locationinfo == null)
+                        {
+                            locationinfo = Dt_locationinfoRepository.Instance.FindFirst(x => x.location_id == taskInfo.task_fromlocationid);
+                        }
                         if (container.containerdtl_isError == "1")
                         {
                             CommonFunction.ChangeLocationState(locationinfo, LocationState.LocationState_Error.ToString());
                             Dt_container_detail dt_Container_Detail = Dt_container_detailRepository.Instance.FindFirst(x => x.containerdtl_barcode == barcode);
                             dt_Container_Detail.containerdtl_isError = "0";
-                            Dt_container_detailRepository.Instance.Update(dt_Container_Detail,true);
+                            Dt_container_detailRepository.Instance.Update(dt_Container_Detail, true);
                         }
                         else
                         {
-                             CommonFunction.ChangeLocationState(locationinfo, LocationState.LocationState_Stored.ToString());
-
+                            CommonFunction.ChangeLocationState(locationinfo, LocationState.LocationState_Stored.ToString());
                         }
 
+
+                        Dt_container_detail tempdetail = Dt_container_detailRepository.Instance.Find(x => x.containerdtl_goodsCode == container.containerdtl_goodsCode).FirstOrDefault();
+                        tempdetail.containerdtl_text1 = "宸叉祴閲�";
+                        Dt_container_detailRepository.Instance.Update(tempdetail, true);
+
                         //鍒犻櫎浠诲姟銆佹坊鍔犲巻鍙�
                         // taskInfo.task_rgvId = rgvId;
                         taskInfo.task_state = TaskState.TaskState_Finished.ToString();

--
Gitblit v1.9.3