Admin
2025-12-03 d41acebbd89f171b0eeb205fca4f68043ca85f95
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using Masuit.Tools;
using Newtonsoft.Json;
using SharpCompress.Compressors.Xz;
using System.Reflection.Emit;
using WIDESEA_Common;
@@ -24,9 +25,14 @@
        /// <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("当前存在未开始入库的车轴数据,请先上架启动后再保存信息!");
@@ -220,8 +226,11 @@
                    YLZZJ = ylzzj,
                    ZLZDJ = leftLevel,
                    YLZDJ = rightLevel,
                    WXRW = wxrw
                    WXRW = wxrw,
                    TemporaryState=0,
                };
                //左出库车轮
                Dt_WheelsStock leftContainer = null;
@@ -240,42 +249,71 @@
                //M1C  å¯¹åº” è½¦åž‹    CRH1C  CRH1A-A
                if (czxh == "M1A")
                {
                    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);
                    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")
                else if (czxh == "M1B")
                {
                    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);
                    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")
                {
                    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);
                        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")
                if (newOrOld=="1")
                {
                    foreach (var item in WheelsList)
                    //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);
                            WheelsList.Remove(item);
                    }
                }
                
@@ -335,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);
@@ -385,6 +424,8 @@
                        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)
                    {
@@ -433,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(); //开启事务
@@ -468,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($"车轮出库任务下发给WCS成功.");
                        }