From 3d66dd8990bd68d5521611ee58af2b9ccc299090 Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期二, 22 四月 2025 11:25:02 +0800
Subject: [PATCH] 预选

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs |  373 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 373 insertions(+), 0 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 a243234..863eb06 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"
@@ -413,6 +413,379 @@
             }
         }
 
+
+
+        public WebResponseContent SaveCZInfo2(SaveModel saveModel)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                //濡傚綋鍓嶅瓨鍦ㄦ湭寮�濮嬪叆搴撶殑杞﹁疆鎴栧埗鍔ㄧ洏鏁版嵁,鍒欑姝繚瀛樻柊鏁版嵁 浠ラ槻鏁版嵁娣蜂贡
+                var waitInbound = _CZInfo_MesRepository.QueryFirst(x => x.CurrentStatue == "0");
+                if (waitInbound != null) 
+                    throw new Exception("褰撳墠瀛樺湪鏈紑濮嬪叆搴撶殑杞﹁酱鏁版嵁,璇峰厛涓婃灦鍚姩鍚庡啀淇濆瓨淇℃伅!");
+
+                //杞﹁酱鏉$爜
+                string czCode = saveModel.MainData["cztm"].ToString();
+                if (string.IsNullOrEmpty(czCode))
+                    throw new Exception($"杞﹁酱鏉$爜涓嶈兘涓虹┖");
+
+                //杞﹁酱鍙�
+                string czh = saveModel.MainData["czh"].ToString();
+                if (string.IsNullOrEmpty(czh))
+                    throw new Exception($"杞﹁酱鍙蜂笉鑳戒负绌�");
+                //var clinfo = _InWheels_MesRepository.QueryFirst(x => x.Wheels_code == czCode);
+                //if (clinfo != null) throw new Exception("杞﹁疆褰曞叆淇℃伅宸插瓨鍦�");
+
+                //搴忓垪鍙�
+                //string madeUnit = saveModel.MainData["xlh"].ToString();
+                //杞鏉$爜  
+                string ldtm = saveModel.MainData["ldtm"].ToString();
+                //杞﹀瀷
+                string Cartype = saveModel.MainData["chexing"].ToString();
+                if (string.IsNullOrEmpty(Cartype)) throw new Exception("閫夐厤澶辫触锛氳溅杞磋溅鍨嬪弬鏁颁负绌�");
+
+                //杞﹁酱鍨嬪彿
+                string czxh = saveModel.MainData["czxh"].ToString();
+
+                //杞﹁疆鍨嬪彿
+                string clxh = saveModel.MainData["clxh"].ToString();
+
+                //鍔ㄦ嫋灞炴��
+                string mttype = saveModel.MainData["mttype"].ToString();
+
+                //宸﹁疆搴х洿寰凙1
+                string zlzA1 = saveModel.MainData["zlzA1"].ToString();
+                //宸﹁疆搴х洿寰凙1
+                string zlzA2 = saveModel.MainData["zlzA2"].ToString();
+                //宸﹁疆搴х洿寰凙1
+                string zlzA3 = saveModel.MainData["zlzA3"].ToString();
+                //宸﹁疆搴х洿寰凙
+                string zlzA = saveModel.MainData["zlza"].ToString();
+
+                //宸﹁疆搴х洿寰凚1
+                string zlzB1 = saveModel.MainData["zlzB1"].ToString();
+                //宸﹁疆搴х洿寰凚1
+                string zlzB2 = saveModel.MainData["zlzB2"].ToString();
+                //宸﹁疆搴х洿寰凚1
+                string zlzB3 = saveModel.MainData["zlzB3"].ToString();
+                //宸﹁疆搴х洿寰凚
+                string zlzB = saveModel.MainData["zlzb"].ToString();
+
+                //宸﹁疆搴х洿寰凜1
+                string zlzC1 = saveModel.MainData["zlzC1"].ToString();
+                //宸﹁疆搴х洿寰凜1
+                string zlzC2 = saveModel.MainData["zlzC2"].ToString();
+                //宸﹁疆搴х洿寰凜1
+                string zlzC3 = saveModel.MainData["zlzC3"].ToString();
+                //宸﹁疆搴х洿寰凜
+                string zlzC = saveModel.MainData["zlzc"].ToString();
+
+                //鍙宠疆搴х洿寰凙1
+                string ylzA1 = saveModel.MainData["ylzA1"].ToString();
+                //鍙宠疆搴х洿寰凙1
+                string ylzA2 = saveModel.MainData["ylzA2"].ToString();
+                //鍙宠疆搴х洿寰凙1
+                string ylzA3 = saveModel.MainData["ylzA3"].ToString();
+                //鍙宠疆搴х洿寰凙
+                string ylzA = saveModel.MainData["ylza"].ToString();
+
+                //鍙宠疆搴х洿寰凚1
+                string ylzB1 = saveModel.MainData["ylzB1"].ToString();
+                //鍙宠疆搴х洿寰凚1
+                string ylzB2 = saveModel.MainData["ylzB2"].ToString();
+                //鍙宠疆搴х洿寰凚1
+                string ylzB3 = saveModel.MainData["ylzB3"].ToString();
+                //鍙宠疆搴х洿寰凚
+                string ylzB = saveModel.MainData["ylzb"].ToString();
+
+                //鍙宠疆搴х洿寰凜1
+                string ylzC1 = saveModel.MainData["ylzC1"].ToString();
+                //鍙宠疆搴х洿寰凜1
+                string ylzC2 = saveModel.MainData["ylzC2"].ToString();
+                //鍙宠疆搴х洿寰凜1
+                string ylzC3 = saveModel.MainData["ylzC3"].ToString();
+                //鍙宠疆搴х洿寰凜
+                string ylzC = saveModel.MainData["ylzc"].ToString();
+
+                //宸﹁疆搴х洿寰�
+                string zlzzj = saveModel.MainData["zlzzj"].ToString();
+                //鍙宠疆搴х洿寰�
+                string ylzzj = saveModel.MainData["ylzzj"].ToString();
+
+                //鏂版棫
+                string newOrOld = saveModel.MainData["NOdirection"].ToString();
+                if (string.IsNullOrEmpty(newOrOld)) throw new Exception("鏈�夋嫨鏂版棫绫诲瀷,璇烽�夋嫨!");
+
+                //杞﹁疆浣嶇疆
+                string wheelsPosition = saveModel.MainData["wheelsPosition"].ToString();
+                if (string.IsNullOrEmpty(wheelsPosition)) throw new Exception("鏈�夋嫨杞﹁疆浣嶇疆,璇烽�夋嫨!");
+
+                //宸﹁疆绛夌骇
+                string leftLevel = saveModel.MainData["zlzdj"].ToString();
+                if (string.IsNullOrEmpty(leftLevel)) throw new Exception("閫夐厤澶辫触锛氳溅杞村乏杞骇绛夌骇鍙傛暟涓虹┖");
+                //鍙宠疆绛夌骇
+                string rightLevel = saveModel.MainData["ylzdj"].ToString();
+                if (string.IsNullOrEmpty(rightLevel)) throw new Exception("閫夐厤澶辫触锛氳溅杞村彸杞骇绛夌骇鍙傛暟涓虹┖");
+
+                //缁翠慨浠诲姟
+                string wxrw = saveModel.MainData["wxrw"].ToString();
+                if (string.IsNullOrEmpty(wxrw)) throw new Exception("閫夐厤澶辫触锛氱淮淇换鍔″弬鏁颁负绌�");
+
+                string level = string.Empty;
+                //string rightlevel = string.Empty;
+                if ("all".Equals(wheelsPosition))
+                {
+                    level = LevelChangeHelper.LevelChangeType(leftLevel);
+                    if (string.IsNullOrEmpty(level)) throw new Exception("绛夌骇杞崲澶辫触,璇锋鏌ユ帴鍙g瓑绾у弬鏁�");
+                }
+                else if ("left".Equals(wheelsPosition))
+                {
+                    level = LevelChangeHelper.LevelChangeType(leftLevel);
+                    if (string.IsNullOrEmpty(level)) throw new Exception("绛夌骇杞崲澶辫触,璇锋鏌ユ帴鍙g瓑绾у弬鏁�");
+                    //level = leftLevel;
+                }
+                else if ("rihgt".Equals(wheelsPosition))
+                {
+                    level = LevelChangeHelper.LevelChangeType(rightLevel);
+                    if (string.IsNullOrEmpty(level)) throw new Exception("绛夌骇杞崲澶辫触,璇锋鏌ユ帴鍙g瓑绾у弬鏁�");
+                    //level = rightLevel;
+                }
+
+                string rw = CheckTaskChangeHelper.CheckTaskChange(wxrw);
+                if (string.IsNullOrEmpty(rw)) throw new Exception("缁翠慨浠诲姟杞崲澶辫触,璇锋鏌ョ淮淇换鍔″弬鏁�");
+
+                if (rw != newOrOld) throw new Exception("閫夐厤澶辫触:閫夐厤鏂版棫杞笌缁翠慨浠诲姟瑙f瀽涓嶄竴鑷�");
+
+                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}鐨勯�夐厤鏍囧噯寮傚父,璇锋牳瀵归�夐厤鏍囧噯淇℃伅!");
+
+                Dt_CZInfo_mes CZInfo_Mes = new Dt_CZInfo_mes
+                {
+                    CZTM = czCode,
+                    CHEXING = Cartype,
+                    CreateDate = DateTime.Now,
+                    Creater = "admin",
+                    CurrentStatue = "1",
+                    CZH = czh,
+                    CZXH = czxh,
+                    LDTM = ldtm,
+                    MTTYPE = mttype,
+                    ZLZA1 = zlzA1,
+                    ZLZA2 = zlzA2,
+                    ZLZA3 = zlzA3,
+                    ZLZA = zlzA,
+                    ZLZB1 = zlzB1,
+                    ZLZB2 = zlzB2,
+                    ZLZB3 = zlzB3,
+                    ZLZB = zlzB,
+                    ZLZC1 = zlzC1,
+                    ZLZC2 = zlzC2,
+                    ZLZC3 = zlzC3,
+                    ZLZC = zlzC,
+                    YLZA1 = ylzA1,
+                    YLZA2 = ylzA2,
+                    YLZA3 = ylzA3,
+                    YLZA = ylzA,
+                    YLZB1 = ylzB1,
+                    YLZB2 = ylzB2,
+                    YLZB3 = ylzB3,
+                    YLZB = ylzB,
+                    YLZC1 = ylzC1,
+                    YLZC2 = ylzC2,
+                    YLZC3 = ylzC3,
+                    YLZC = ylzC,
+                    ZLZZJ = zlzzj,
+                    YLZZJ = ylzzj,
+                    ZLZDJ = leftLevel,
+                    YLZDJ = rightLevel,
+                    WXRW = wxrw
+                };
+
+                //宸﹀嚭搴撹溅杞�
+                Dt_WheelsStock leftContainer = null;
+                //鍙冲嚭搴撹溅杞�
+                Dt_WheelsStock rightContainer = null;
+
+                //宸﹀嚭搴撹溅杞�
+                Dt_WheelsStock_Old leftContainer2 = null;
+                //鍙冲嚭搴撹溅杞�
+                Dt_WheelsStock_Old rightContainer2 = null;
+
+
+                //鍚屾俯鏃堕棿
+                var hourpara = _configService.GetByConfigKey(CateGoryConst.CONFIG_SYS_Parameters, SysConfigConst.TempHour);
+                int hour = hourpara.ConfigValue.ObjToInt();
+
+                int knum = 1;
+
+
+                //鎵惧嚭鎵�鏈夌鍚堟潯浠剁殑搴撳瓨杞﹁疆
+                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);
+                if (null != WheelsList && WheelsList.Count > 0)
+                {
+                     knum = 2;
+                }
+                var Wheelsdata=dt_WheelsStock_OldRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.dqtz_state == CZInfo_Mes.MTTYPE && x.axes_type == clxh && x.repair_item == newOrOld);
+                if (null != Wheelsdata && Wheelsdata.Count > 0)
+                {
+                    knum = 3;
+                }
+
+
+                //x.Wheels_CarType  == CZInfo_Mes.CHEXING && x.Wheels_ldtm == CZInfo_Mes.LDTM && selectionStandards.CarType.Contains(x.Wheels_CarType)
+                if (knum!=1)
+                {
+                    if ("all".Equals(wheelsPosition) || string.IsNullOrEmpty(wheelsPosition))
+                    {
+                        if (null == leftContainer)
+                        {
+                            if(knum==2)
+                            {
+                                leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld);
+                                if (null != leftContainer)
+                                    WheelsList.Remove(leftContainer);
+                            }
+
+                            if (knum == 3)
+                            {
+                                leftContainer2 = _WheelsStockService.GetSelectionWheels(Wheelsdata, selectionStandards, CZInfo_Mes, "left", newOrOld);
+                                if (null != leftContainer2)
+                                    Wheelsdata.Remove(leftContainer2);
+                            }
+                            
+                        }
+                        if (null == rightContainer)
+                        {
+                            if(knum ==2)
+                            {
+                                rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld);
+                                if (null != rightContainer)
+                                    WheelsList.Remove(rightContainer);
+                            }
+
+                            if(knum == 3)
+                            {
+                                rightContainer2 = _WheelsStockService.GetSelectionWheels(Wheelsdata, selectionStandards, CZInfo_Mes, "right", newOrOld);
+                                if (null != rightContainer2)
+                                    Wheelsdata.Remove(rightContainer2);
+                            }
+                            
+                        }
+                        //if (null == leftContainer || null == rightContainer)
+                    }
+                    else if ("left".Equals(wheelsPosition))
+                    {
+                        if (knum == 2)
+                        {
+                            leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld);
+                        }
+                        if (knum == 3)
+                        {
+                            leftContainer2 = _WheelsStockService.GetSelectionWheels(Wheelsdata, selectionStandards, CZInfo_Mes, "left", newOrOld);
+                        }
+
+                        //if (null == leftContainer)
+                    }
+                    else if ("right".Equals(wheelsPosition))
+                    {
+                        if (knum == 2)
+                        {
+                            rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld);
+                        }
+                        if (knum == 3)
+                        {
+                            rightContainer2 = _WheelsStockService.GetSelectionWheels(Wheelsdata, selectionStandards, CZInfo_Mes, "right", newOrOld);
+                        }
+                        //if (null == rightContainer)
+                    }
+                }
+
+                if ("all".Equals(wheelsPosition))
+                {
+                    if (knum == 2)
+                    {
+                        if (null == leftContainer || null == rightContainer)
+                            return content.Error("鏈壘鍒颁袱渚у彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
+                    }
+                    if (knum == 3)
+                    {
+                        if (null == leftContainer2 || null == rightContainer2)
+                            return content.Error("鏈壘鍒颁袱渚у彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
+                    }
+                }
+
+                if (knum == 2)
+                {
+                    if (null != leftContainer || null != rightContainer)
+                    {
+                        List<Dt_WheelsStock> wheelsStocks = new List<Dt_WheelsStock>();
+                        if (null != leftContainer)
+                        {
+                            leftContainer.Wheels_CurrentStatue = 3;
+
+                            wheelsStocks.Add(leftContainer);
+                        }
+                        if (null != rightContainer)
+                        {
+                            rightContainer.Wheels_CurrentStatue = 3;
+                            wheelsStocks.Add(rightContainer);
+                        }
+
+                        _unitOfWorkManage.BeginTran(); //寮�鍚簨鍔�
+
+                        _WheelsStockRepository.UpdateData(wheelsStocks);    //鏇存柊搴撳瓨鏁版嵁
+
+                        return content;
+                    }
+                    else
+                    {
+                        _unitOfWorkManage.RollbackTran();  //鍥炴粴浜嬪姟
+                        return content.Error("鏈壘鍒板彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
+                    }
+                }
+                else if (knum == 3)
+                {
+                    if (null != leftContainer2 || null != rightContainer2)
+                    {
+                        List<Dt_WheelsStock_Old> wheelsStocks = new List<Dt_WheelsStock_Old>();
+                        if (null != leftContainer2)
+                        {
+                            leftContainer2.Wheels_CurrentStatue = 3;
+
+                            wheelsStocks.Add(leftContainer2);
+                        }
+                        if (null != rightContainer2)
+                        {
+                            rightContainer2.Wheels_CurrentStatue = 3;
+                            wheelsStocks.Add(rightContainer2);
+                        }
+
+                        _unitOfWorkManage.BeginTran(); //寮�鍚簨鍔�
+
+                        dt_WheelsStock_OldRepository.UpdateData(wheelsStocks);    //鏇存柊搴撳瓨鏁版嵁
+
+                        return content;
+                    }
+                    else
+                    {
+                        _unitOfWorkManage.RollbackTran();  //鍥炴粴浜嬪姟
+                        return content.Error("鏈壘鍒板彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
+                    }
+                }
+                else
+                {
+                    return content.Error("鏈壘鍒板彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
+                }
+
+                
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                return content.Error($"涓婃灦澶辫触:{ex.Message}");
+            }
+        }
         private Dt_Task CreateOutTask(Dt_WheelsStock wheelsStock, string CZTM)
         {
             CheckInfo checkInfo = new CheckInfo()

--
Gitblit v1.9.3