From 37454e625df68d40897112b2e8c2e3cf4d7163e3 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期三, 25 三月 2026 11:43:10 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_CheckService/ReCheckOrderService.cs |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_CheckService/ReCheckOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_CheckService/ReCheckOrderService.cs"
index cfd506a..c049786 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_CheckService/ReCheckOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_CheckService/ReCheckOrderService.cs"
@@ -2,9 +2,11 @@
 using Microsoft.Extensions.Logging;
 using Newtonsoft.Json;
 using SqlSugar;
+using StackExchange.Profiling.Internal;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Reflection.Metadata;
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEA_Common.OrderEnum;
@@ -66,7 +68,11 @@
         {
             try
             {
-
+                List<Dt_ReCheckOrder> reCheckOrders = BaseDal.Db.Queryable<Dt_ReCheckOrder>().Where(x => x.MaterielCode == model.MaterielCode && x.BatchNo == model.BatchNo).ToList();
+                if (reCheckOrders.Count() == 3)
+                {
+                    return WebResponseContent.Instance.Error($"璇ョ墿鏂欏拰鎵规宸茬粡閲嶆浜嗕笁娆★紝涓嶅厑璁稿啀杩涜閲嶆");
+                }
                 if (BaseDal.QueryFirst(x => x.OrderNo == model.OrderNo) != null)
                 {
                     return WebResponseContent.Instance.Error($"{model.OrderNo}鍗曞彿閲嶅");
@@ -106,11 +112,7 @@
             try
             {
                 List<Dt_ReCheckOrder> reCheckOrders = BaseDal.Db.Queryable<Dt_ReCheckOrder>().Where(x=>x.MaterielCode == model.MaterielCode && x.BatchNo == model.BatchNo).ToList();
-                if(reCheckOrders.Count() == 3)
-                {
-                    return WebResponseContent.Instance.Error($"璇ョ墿鏂欏拰鎵规宸茬粡閲嶆浜嗕笁娆★紝涓嶅厑璁稿啀杩涜閲嶆");
-                }
-
+               
                 var recheckOrder = Db.Queryable<Dt_ReCheckOrder>().Where(x => x.OrderNo == model.OrderNo).First();
                 if (recheckOrder == null)
                 {
@@ -124,37 +126,47 @@
                 if (model.Result == 1 && recheckOrder.SignSeq != model.SignSeq)
                 {
                     var stockDetailIds = BaseDal.Db.Queryable<Dt_StockInfoDetail>()
-                    .Where(x => x.MaterielCode == model.MaterielCode && x.BatchNo == model.BatchNo && x.ValidDate != null && x.Status == (int)StockStatusEmun.鎵嬪姩鍐荤粨)
+                    .Where(x => x.MaterielCode == model.MaterielCode && x.BatchNo == model.BatchNo && x.ValidDate != null && (x.Status == (int)StockStatusEmun.鎵嬪姩鍐荤粨 ||x.Status == (int)StockStatusEmun.閲嶆涓�))
                     .Select(x => x.Id)
                     .ToList();
 
                     if (stockDetailIds.Count > 0)
                     {
                         var datevaliDate = BaseDal.Db.Queryable<Dt_MaterialExpirationDate>().Where(x => x.MaterialCode.Contains(model.MaterielCode.Substring(0, 6))).First();
-
+                        if(datevaliDate == null)
+                        {
+                            return WebResponseContent.Instance.Error($"璇ョ墿鏂欐湭鎵惧埌MES鎺ㄩ�佺殑鏈夋晥鏈熸暟鎹紝璇峰厛鎺ㄩ�佽鐗╂枡鐨勬湁鏁堟湡鏁版嵁");
+                        }
                         BaseDal.Db.Updateable<Dt_StockInfoDetail>()
                             .SetColumns(x => x.Status == StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt())
-                            .Where(x => stockDetailIds.Contains(x.Id))
+                            .Where(x => stockDetailIds.Contains(x.Id) && x.Status == (int)StockStatusEmun.鎵嬪姩鍐荤粨)
                             .ExecuteCommand();
+
+                        //璁$畻褰撳墠澶嶆鍗曟嵁缁撴灉鏃堕棿
+                        DateTime newDate;
 
                         if (1 == reCheckOrders.Count())
                         {
+                            //鍗曟嵁缁撴灉鎺ㄩ�佹椂闂�+鐗╂枡澶嶆寤堕暱鏃堕棿涓庢湁鏁堟湡鍋氬姣旓紝璋佸ぇ鍙栬皝
+                            newDate = Convert.ToDateTime(DateTime.Now).AddDays(Convert.ToDouble(datevaliDate.OneExtensionDays));
                             BaseDal.Db.Updateable<Dt_StockInfoDetail>()
-                            .SetColumns(x => x.ValidDate == Convert.ToDateTime(x.ValidDate).AddDays(Convert.ToDouble(datevaliDate.OneExtensionDays)))
+                            .SetColumns(x => x.ValidDate == SqlFunc.IIF(x.ValidDate > newDate, x.ValidDate, newDate))
                             .Where(x => stockDetailIds.Contains(x.Id))
                             .ExecuteCommand();
                         }
                         else if (2 == reCheckOrders.Count())
                         {
+                            newDate = Convert.ToDateTime(DateTime.Now).AddDays(Convert.ToDouble(datevaliDate.TwoExtensionDays));
                             BaseDal.Db.Updateable<Dt_StockInfoDetail>()
-                            .SetColumns(x => x.ValidDate == Convert.ToDateTime(x.ValidDate).AddDays(Convert.ToDouble(datevaliDate.TwoExtensionDays)))
+                            .SetColumns(x => x.ValidDate == SqlFunc.IIF(x.ValidDate > newDate, x.ValidDate, newDate))
                             .Where(x => stockDetailIds.Contains(x.Id))
                             .ExecuteCommand();
                         }
                         else if (3 == reCheckOrders.Count())
                         {
+                            newDate = Convert.ToDateTime(DateTime.Now).AddDays(Convert.ToDouble(datevaliDate.ThreeExtensionDays));
                             BaseDal.Db.Updateable<Dt_StockInfoDetail>()
-                            .SetColumns(x => x.ValidDate == Convert.ToDateTime(x.ValidDate).AddDays(Convert.ToDouble(datevaliDate.ThreeExtensionDays)))
+                            .SetColumns(x => x.ValidDate == SqlFunc.IIF(x.ValidDate > newDate, x.ValidDate, newDate))
                             .Where(x => stockDetailIds.Contains(x.Id))
                             .ExecuteCommand();
                         }
@@ -241,6 +253,7 @@
                 Remark = "",
                 DepartmentCode = "",
                 DepartmentName = "",
+                ReturnToMESStatus = 5,
                 Details = new List<Dt_OutboundOrderDetail>()
             };
             outboundOrder.Details.Add(

--
Gitblit v1.9.3