From d41acebbd89f171b0eeb205fca4f68043ca85f95 Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期三, 03 十二月 2025 19:47:24 +0800
Subject: [PATCH] 选配与暂存

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs |  165 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 146 insertions(+), 19 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs"
index 3d4d78a..59eed5b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing Masuit.Tools;
+using Newtonsoft.Json;
 using SharpCompress.Compressors.Xz;
 using System.Reflection.Emit;
 using WIDESEA_Common;
@@ -18,15 +19,20 @@
     public partial class ToAPPService
     {
         /// <summary>
-        /// 淇濆瓨杞﹁酱鏁版嵁
+        /// 淇濆瓨杞﹁酱鏁版嵁锛堣溅杞�夐厤锛�
         /// </summary>
         /// <param name="saveModel"></param>
         /// <returns></returns>
         public WebResponseContent SaveCZInfo(SaveModel saveModel)
         {
+            
             WebResponseContent content = new WebResponseContent();
             try
             {
+                string CZjson = Newtonsoft.Json.JsonConvert.SerializeObject(saveModel, Newtonsoft.Json.Formatting.Indented);
+                // 鎻愬彇浠诲姟鏁版嵁
+                LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱鎺ユ敹杞﹁酱鏁版嵁").Info(true, $"杞﹁酱浼犻�掔殑鏁版嵁锛歿CZjson}");
+
                 //濡傚綋鍓嶅瓨鍦ㄦ湭寮�濮嬪叆搴撶殑杞﹁疆鎴栧埗鍔ㄧ洏鏁版嵁,鍒欑姝繚瀛樻柊鏁版嵁 浠ラ槻鏁版嵁娣蜂贡
                 var waitInbound = _CZInfo_MesRepository.QueryFirst(x => x.CurrentStatue == "0");
                 if (waitInbound != null) throw new Exception("褰撳墠瀛樺湪鏈紑濮嬪叆搴撶殑杞﹁酱鏁版嵁,璇峰厛涓婃灦鍚姩鍚庡啀淇濆瓨淇℃伅!");
@@ -138,6 +144,19 @@
                 string wxrw = saveModel.MainData["wxrw"].ToString();
                 if (string.IsNullOrEmpty(wxrw)) throw new Exception("閫夐厤澶辫触锛氱淮淇换鍔″弬鏁颁负绌�");
 
+                int zuixiaoz = 0;
+                int zuidaz = 0;
+                if (newOrOld == "1")
+                {
+                    //鏈�灏忓��
+                     zuixiaoz = int.Parse(saveModel.MainData["zuixiaoz"].ToString());
+
+                    //鏈�澶у��
+                     zuidaz = int.Parse(saveModel.MainData["zuidaz"].ToString());
+                   
+                }
+                
+
                 string level = string.Empty;
                 //string rightlevel = string.Empty;
                 if ("all".Equals(wheelsPosition))
@@ -163,6 +182,8 @@
 
                 if (rw != newOrOld) throw new Exception("閫夐厤澶辫触:閫夐厤鏂版棫杞笌缁翠慨浠诲姟瑙f瀽涓嶄竴鑷�");
 
+                string wheelsProps = CheckTaskChangeHelper.CheckTaskwheelsProps(wxrw);
+
                 Dt_SelectionStandards selectionStandards = _SelectionStandardsRepository.QueryFirst(x => x.CarType.Contains(Cartype) && x.mttype == mttype && x.neworold == newOrOld && level.Contains(x.gkdj));
                 if (selectionStandards == null) throw new Exception($"姝よ溅鍨媨Cartype}鐨勯�夐厤鏍囧噯寮傚父,璇锋牳瀵归�夐厤鏍囧噯淇℃伅!");
 
@@ -174,7 +195,7 @@
                     Creater = "admin",
                     CurrentStatue = "1",
                     CZH = czh,
-                    CZXH = czxh,
+                    CZXH = czxh,    //杞﹁酱鍨嬪彿
                     LDTM = ldtm,
                     MTTYPE = mttype,
                     ZLZA1 = zlzA1,
@@ -205,8 +226,11 @@
                     YLZZJ = ylzzj,
                     ZLZDJ = leftLevel,
                     YLZDJ = rightLevel,
-                    WXRW = wxrw
+                    WXRW = wxrw,
+                    TemporaryState=0,
                 };
+
+                
 
                 //宸﹀嚭搴撹溅杞�
                 Dt_WheelsStock leftContainer = null;
@@ -217,8 +241,83 @@
                 var hourpara = _configService.GetByConfigKey(CateGoryConst.CONFIG_SYS_Parameters, SysConfigConst.TempHour);
                 int hour = hourpara.ConfigValue.ObjToInt();
 
-                //鎵惧嚭鎵�鏈夌鍚堟潯浠剁殑搴撳瓨杞﹁疆
-                var WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now);
+                List<Dt_WheelsStock> WheelsList = null;
+
+                //鐗规畩杞﹁酱鍨嬪彿锛堬級
+                //M1A  瀵瑰簲 杞﹀瀷    CRH1A  CRH1A-200
+                //M1B  瀵瑰簲 杞﹀瀷    CRH1B  CRHA1A-250
+                //M1C  瀵瑰簲 杞﹀瀷    CRH1C  CRH1A-A
+                if (czxh == "M1A")
+                {
+                    if (CZInfo_Mes.MTTYPE == "T")
+                    {
+                        WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && (x.Wheels_CarType == "CRH1A" || x.Wheels_CarType == "CRH1A-200") && x.Wheels_Statue == 0);
+                    }
+                    else
+                    {
+                        WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.WheelsProps == wheelsProps && (x.Wheels_CarType == "CRH1A" || x.Wheels_CarType == "CRH1A-200") && x.Wheels_Statue == 0);
+                    }
+
+
+                }
+                else if (czxh == "M1B")
+                {
+                    if (CZInfo_Mes.MTTYPE == "T")
+                    {
+                        WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && (x.Wheels_CarType == "CRH1B" || x.Wheels_CarType == "CRHA1A-250") && x.Wheels_Statue == 0);
+                    }
+                    else
+                    {
+                        WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.WheelsProps == wheelsProps && (x.Wheels_CarType == "CRH1B" || x.Wheels_CarType == "CRHA1A-250") && x.Wheels_Statue == 0);
+                    }
+
+
+                }
+                else if (czxh == "M1C")
+                {
+                    if (CZInfo_Mes.MTTYPE == "T")
+                    {
+                        WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && (x.Wheels_CarType == "CRH1C" || x.Wheels_CarType == "CRH1A-A") && x.Wheels_Statue == 0);
+                    }
+                    else
+                    {
+                        WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.WheelsProps == wheelsProps && (x.Wheels_CarType == "CRH1C" || x.Wheels_CarType == "CRH1A-A") && x.Wheels_Statue == 0);
+                    }
+                }
+
+                else
+                {
+                    if (CZInfo_Mes.MTTYPE == "T")
+                    {
+                        //鎵惧嚭鎵�鏈夌鍚堟潯浠剁殑搴撳瓨杞﹁疆
+                        WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.Wheels_Statue == 0);
+                    }
+                    else
+                    {
+                        //鎵惧嚭鎵�鏈夌鍚堟潯浠剁殑搴撳瓨杞﹁疆
+                        WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.WheelsProps == wheelsProps && x.Wheels_Statue == 0);
+                    }
+
+                }
+
+
+                if (newOrOld=="1")
+                {
+                    //foreach (var item in WheelsList)
+                    //{
+                    //    decimal ygrjz = decimal.Parse(item.Wheels_ygljz);
+                    //    if (ygrjz < zuixiaoz || ygrjz > zuidaz)
+                    //    WheelsList.Remove(item);
+                    //}
+                    foreach (var item in WheelsList.ToList())
+                    {
+                        decimal ygrjz = decimal.Parse(item.Wheels_ygljz);
+                        if (ygrjz < zuixiaoz || ygrjz > zuidaz)
+                            WheelsList.Remove(item);
+                    }
+                }
+                
+
                 //x.Wheels_CarType  == CZInfo_Mes.CHEXING && x.Wheels_ldtm == CZInfo_Mes.LDTM && selectionStandards.CarType.Contains(x.Wheels_CarType)
                 if (null != WheelsList && WheelsList.Count > 0)
                 {
@@ -226,37 +325,47 @@
                     {
                         if (null == leftContainer)
                         {
-                            leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld);
+                            leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld, 2);
                             if (null != leftContainer)
                                 WheelsList.Remove(leftContainer);
                         }
                         if (null == rightContainer)
                         {
-                            rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld);
+                            rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld, 2);
                             if (null != rightContainer)
                                 WheelsList.Remove(rightContainer);
                         }
-                        //if (null == leftContainer || null == rightContainer)
+
+
+                        if (null == leftContainer || null == rightContainer)
+                            return content.Error("鏈壘鍒颁袱渚у彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
+
+                        if(newOrOld == "1")
+                        {
+                            //姝ゅ鍒ゆ柇涓や釜棰勪及鍊肩浉鍑忥紝鏄惁鍦ㄨ寖鍥村唴
+                            decimal difference = decimal.Parse(leftContainer.Wheels_ygljz) - decimal.Parse(rightContainer.Wheels_ygljz);
+                            decimal absoluteDifference = Math.Abs(difference);
+                            if (absoluteDifference > selectionStandards.Estimatedvalue)
+                            {
+                                return content.Error("鏈壘鍒颁袱渚у彲鍖归厤鐨勫嚭搴撹溅杞紝棰勪及鍊间笉鍦ㄨ寖鍥村唴,杞﹀瀷锛�" + Cartype);
+                            }
+                        }
+                        
+
                     }
                     else if ("left".Equals(wheelsPosition))
                     {
-                        leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld);
+                        leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld , 1);
                         //if (null == leftContainer)
                     }
                     else if ("right".Equals(wheelsPosition))
                     {
-                        rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld);
+                        rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld ,1);
                         //if (null == rightContainer)
                     }
                 }
 
-                if ("all".Equals(wheelsPosition))
-                {
-                    if (null == leftContainer || null == rightContainer)
-                        return content.Error("鏈壘鍒颁袱渚у彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
-
-
-                }
+                
 
                 if (null != leftContainer || null != rightContainer)
                 {
@@ -264,6 +373,7 @@
                     List<DtLocationInfo> locationInfos = new List<DtLocationInfo>();
                     List<Dt_WheelsStock> wheelsStocks = new List<Dt_WheelsStock>();
                     List<WMSTaskDTO> listTaskDTO = new List<WMSTaskDTO>();
+
                     if (null != leftContainer)
                     {
                         Dt_Task leftTask = CreateOutTask(leftContainer, czCode);
@@ -306,13 +416,16 @@
                             WheelsNewOrOld = leftContainer.Wheels_NewOrOld,
                             wheels_gkcc = leftContainer.Wheels_gkcc,
                             wheels_mttype = leftContainer.Wheels_mttype,
-                            WheelsLX = leftContainer.Wheels_ldxh
+                            WheelsLX = leftContainer.Wheels_ldxh,
+                            axle_czh= czCode,
                         };
 
                         listTask.Add(leftTask);
                         listTaskDTO.Add(leftTaskDTO);
                         wheelsStocks.Add(leftContainer);
                         locationInfos.Add(lefolocation);
+                        CZInfo_Mes.LeftCLTM = leftContainer.Wheels_Num;
+                        CZInfo_Mes.LeftCLinterference= (decimal.Parse(CZInfo_Mes.ZLZZJ) -decimal.Parse(leftContainer.Wheels_gkcc)).ToString();
                     }
                     if (null != rightContainer)
                     {
@@ -361,6 +474,8 @@
                         listTaskDTO.Add(rihgtTaskDTO);
                         wheelsStocks.Add(rightContainer);
                         locationInfos.Add(rightlocation);
+                        CZInfo_Mes.RightCLTM = rightContainer.Wheels_Num;
+                        CZInfo_Mes.RightCLinterference = (decimal.Parse(CZInfo_Mes.YLZZJ) - decimal.Parse(rightContainer.Wheels_gkcc)).ToString();
                     }
 
                     _unitOfWorkManage.BeginTran(); //寮�鍚簨鍔�
@@ -396,6 +511,18 @@
                         WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString());
                         if (respone.Status)
                         {
+                            
+                            LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"\r\r-----------------------------------------------------------");
+                            LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"杞﹁酱缂栧彿锛歿CZInfo_Mes.CZH}");
+                            // 鎻愬彇浠诲姟鏁版嵁
+                            LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"杞﹁酱浼犻�掔殑鏁版嵁锛歿CZjson}");
+                            LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"\r\r>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+
+                            LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"绛涢�夌殑杞﹁疆鏁版嵁锛歿wheelsStocks.ToJsonString()}");
+                            LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"\r\r-----------------------------------------------------------");
+
+
+
                             _unitOfWorkManage.CommitTran();  //鎻愪氦浜嬪姟
                             content.OK($"杞﹁疆鍑哄簱浠诲姟涓嬪彂缁橶CS鎴愬姛.");
                         }

--
Gitblit v1.9.3