1
huanghongfeng
2 天以前 a34059e688e947a2ea079a0646872f1a21089940
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs
@@ -138,6 +138,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))
@@ -241,9 +254,31 @@
                }
                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 (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);
                    }
                }
                //x.Wheels_CarType  == CZInfo_Mes.CHEXING && x.Wheels_ldtm == CZInfo_Mes.LDTM && selectionStandards.CarType.Contains(x.Wheels_CarType)
                if (null != WheelsList && WheelsList.Count > 0)
@@ -252,37 +287,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)
                {
@@ -332,7 +377,8 @@
                            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);