From f2b3c45b78bb9fc021869c4ae35e6de039b50bbf Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期五, 18 十月 2024 18:40:52 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/SysServer/StorageLocatServer.cs |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 113 insertions(+), 0 deletions(-)

diff --git a/Wms/WMS.BLL/SysServer/StorageLocatServer.cs b/Wms/WMS.BLL/SysServer/StorageLocatServer.cs
index e87f209..318052b 100644
--- a/Wms/WMS.BLL/SysServer/StorageLocatServer.cs
+++ b/Wms/WMS.BLL/SysServer/StorageLocatServer.cs
@@ -2,16 +2,19 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq.Expressions;
+using System.Runtime.Intrinsics.X86;
 using System.Text;
 using System.Threading.Tasks;
 using Model.ModelDto.SysDto;
 using Model.ModelVm.SysVm;
 using SqlSugar;
+using WMS.BLL.LogServer;
 using WMS.DAL;
 using WMS.Entity.BllAsnEntity;
 using WMS.Entity.Context;
 using WMS.Entity.DataEntity;
 using WMS.Entity.SysEntity;
+using WMS.IBLL.ILogServer;
 using WMS.IBLL.ISysServer;
 using WMS.IDAL.ISysInterface;
 
@@ -298,6 +301,116 @@
                 throw new Exception(e.Message);
             }
         }
+        public bool EditStorageLocatListNew(EditLocateListNewVm model, int userId)
+        {
+            try
+            {
+                if (string.IsNullOrWhiteSpace(model.RoadWayNo))
+                {
+                    throw new Exception("宸烽亾涓嶈兘涓虹┖");
+                }
+                bool isRow = false;
+                if (model.Row != null)
+                {
+                    if (model.Row <= 0)
+                    {
+                        throw new Exception("鎺掗渶瑕佸ぇ浜�0");
+                    }
+                    isRow = true;
+                }
+                bool isColumn = false;
+                if (model.Column != null)
+                {
+                    if (model.Column <= 0)
+                    {
+                        throw new Exception("鍒楅渶瑕佸ぇ浜�0");
+                    }
+                    isColumn = true;
+                }
+                bool isLayer = false;
+                if (model.Layer != null )
+                {
+                    if (model.Column <= 0)
+                    {
+                        throw new Exception("灞傞渶瑕佸ぇ浜�0");
+                    }
+                    isLayer = true;
+                }
+                bool isDepth = false;
+                if (model.Dept != null)
+                {
+                    if (model.Dept != 1 && model.Dept != 2)
+                    {
+                        throw new Exception("娣卞害鍙兘涓�1鎴�2");
+                    }
+                    isDepth = true;
+                }
+                Expression<Func<SysStorageLocat, bool>> item = Expressionable.Create<SysStorageLocat>() //鍒涘缓琛ㄨ揪寮�
+                    .AndIF(isRow, it => it.Row == model.Row)
+                    .AndIF(isColumn, it => it.Column == model.Column)
+                    .AndIF(isLayer, it => it.Layer == model.Layer)
+                    .AndIF(isDepth, it => it.Depth == "0"+model.Dept)
+                    .AndIF(!string.IsNullOrWhiteSpace(model.RoadWayNo), it => it.RoadwayNo == model.RoadWayNo)
+                    .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+                var locateList = Db.Queryable<SysStorageLocat>().Where(item).ToList();
+                if (locateList.Count == 0)
+                {
+                    throw new Exception($"鏈煡璇㈠埌鐩稿搴旂殑鍌ㄤ綅淇℃伅");
+                }
+
+                var com = new Common();
+                var i = 0;
+                Db.BeginTran();
+                foreach (var locate in locateList)
+                {
+                    if (model.Flag == "2" && locate.Depth == "01")//鏍囪瘑鏄崯鍧忎笖娣卞害鏄�01鏃� 闇�鎶婃繁搴︿负2鐨勫偍浣嶇粰灞忚斀
+                    {
+                        var locate2 = com.GetLocateNoDepth2(locate.WareHouseNo, locate.LocatNo);
+                        if (locate2.Flag == "0" && !locateList.Contains(locate2))
+                        {
+                            locate2.Flag = "1";
+                            locate2.UpdateUser = userId;
+                            locate2.UpdateTime = DateTime.Now;
+                            var m = Db.Updateable(locate2).ExecuteCommand();
+                        }
+
+                    }
+                    if (model.Flag == "0" && locate.Depth == "02")//鏍囪瘑鏄甯镐笖娣卞害鏄�02鏃� 闇�鍒ゆ柇娣卞害涓�1鐨勫偍浣嶇姸鎬佹槸鍚︽甯�
+                    {
+                        var locate1 = com.GetLocateNoDepth1(locate.WareHouseNo, locate.LocatNo);
+
+                        if (locate1.Flag == "2")
+                        {
+                            throw new Exception($"闇�鍏堜慨鏀箋locate1.LocatNo}鐨勫偍浣嶆爣璇嗕负涓嶆槸鎹熷潖");
+                        }
+                    }
+
+                    if (!string.IsNullOrEmpty(model.Status))
+                    {
+                        locate.Status = model.Status;
+                    }
+                    if (!string.IsNullOrEmpty(model.Flag))
+                    {
+                        locate.Flag = model.Flag;
+                    }
+                    if (!string.IsNullOrEmpty(model.AreaNo))
+                    {
+                        locate.AreaNo = model.AreaNo;
+                    }
+                    locate.UpdateUser = userId;
+                    locate.UpdateTime = DateTime.Now;
+                    i = Db.Updateable(locate).ExecuteCommand();
+                }
+                Db.CommitTran();
+                return i > 0;
+
+            }
+            catch (Exception e)
+            {
+                Db.RollbackTran();
+                throw new Exception(e.Message);
+            }
+        }
 
         /// <summary>
         /// 鏌ヨ鍌ㄤ綅鐘舵��

--
Gitblit v1.8.0