From 9b0e1426f7c05eccf2f27deedf132ea93342eda1 Mon Sep 17 00:00:00 2001
From: yuyou_x <2336760928@qq.com>
Date: 星期一, 05 二月 2024 11:12:52 +0800
Subject: [PATCH] 储位管理增加批量禁止选中多种仓库限制,区域管理新增代码。

---
 HTML/views/WareHouseSetting/AreaAddFrom.html  |  155 +++++++++++++++++++
 Wms/Wms/Controllers/SysController.cs          |   44 +++++
 HTML/views/WareHouseSetting/LocateFrom.html   |   21 ++
 Wms/WMS.BLL/SysServer/StorageAreaServer.cs    |  110 ++++++++++++
 HTML/views/WareHouseSetting/Area.html         |   76 +++++++++
 Wms/WMS.IBLL/ISysServer/IStorageAreaServer.cs |   18 ++
 HTML/views/WareHouseSetting/Locate.html       |   35 ++++
 7 files changed, 443 insertions(+), 16 deletions(-)

diff --git a/HTML/views/WareHouseSetting/Area.html b/HTML/views/WareHouseSetting/Area.html
index a177cb2..cba9006 100644
--- a/HTML/views/WareHouseSetting/Area.html
+++ b/HTML/views/WareHouseSetting/Area.html
@@ -66,6 +66,11 @@
 								<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储
 							</button>
 						</div>
+						<div class="layui-inline">
+							<button class="layui-btn layui-btn-sm layuiadmin-btn-list approvalBtn" data-type="add" id="approvalBtn">
+								<i class="layui-icon layuiadmin-button-btn">&#xe654;</i>娣诲姞
+							</button>
+						</div>
 					</div>
 				</div>
 				<div class="layui-card-body">
@@ -104,7 +109,7 @@
 					form = layui.form,
 					laypage = layui.laypage,
 					layer = layui.layer;
-				// var $ = layui.$;
+				var $ = layui.$;
 				refreshTable("","","","");
 				var tableIns;
 				
@@ -152,6 +157,7 @@
 							$(function() {
 								$(".editClass").hide();
 								$(".onOffClass").hide();
+								$("#approvalBtn").hide();
 							});
 							sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function(res) {
 								if (res.code == 0) { //鎴愬姛 
@@ -164,6 +170,11 @@
 										if (res.data[k].MenuName == "鍚仠鍖哄煙") {
 											$(function() {
 												$(".onOffClass").show();
+											});
+										}
+										if (res.data[k].MenuName == "娣诲姞鍖哄煙") {
+											$(function() {
+												$("#approvalBtn").show();
 											});
 										}
 									}
@@ -270,6 +281,69 @@
 					
 					refreshTable(WareHouseNo,AreaName,Type,Status);
 				});
+
+				var doing = true;
+					active = {
+						//鏂板
+						add: function() {
+							layer.open({
+								type: 2,
+								title: '娣诲姞鍖哄煙淇℃伅',
+								content: 'AreaAddFrom.html',
+								maxmin: true,
+								area: ['530px', '530px'],
+								btn: ['纭畾', '鍙栨秷'],
+								yes: function(index, layero) {
+									var iframeWindow = window['layui-layer-iframe' + index],
+										submitID = 'layuiadmin-app-form-submit',
+										submit = layero.find('iframe').contents().find('#' + submitID);
+									//鐩戝惉鎻愪氦
+									iframeWindow.layui.form.on('submit(' + submitID + ')', function(data) {
+										var field = data.field; //鑾峰彇鎻愪氦鐨勫瓧娈�
+										console.log(field)
+										//鎻愪氦 Ajax 鎴愬姛鍚庯紝闈欐�佹洿鏂拌〃鏍间腑鐨勬暟鎹�
+										var param = {
+                                            // AreaNo: field.AreaNo, //鍖哄煙缂栫爜
+                                            AreaName: field.AreaName, //鍖哄煙鍚嶇О
+                                            WareHouseNo: field.WareHouseNo, //鎵�灞炰粨搴�
+                                            Status: field.Status, //鏄惁鍚敤 0
+                                            Priority: parseInt(field.Priority), //浼樺厛绾�
+                                            Temperature: field.Temperature, //鍖哄煙绫诲埆
+                                            Type: field.Type, //瀛樺偍绫诲埆
+										};
+                                        if(doing){
+                                            doing = false;
+                                            sendData(IP + "/sys/InsertStorageArea", param, 'post',function(res) {
+                                                console.log(res);
+                                                if (res.code == 0) { //鎴愬姛
+                                                    layer.msg(res.msg, {
+                                                        icon: 1,
+                                                        time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                                                    }, function() {
+                                                        layer.close(index); //鍏抽棴寮瑰眰
+                                                        // refreshTable($("#CategoryName").val(),$("#AreaNo").val());
+                                                        doing = true;
+                                                    });
+                                                }
+                                                else
+                                                { //涓嶆垚鍔�
+                                                    layer.msg(res.msg, {
+                                                        icon: 2,
+                                                        time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                                                    }, function() {doing = true;});
+                                                }
+                                            });
+                                        }
+                                    });
+									submit.trigger('click');
+								}
+							});
+						}
+					};
+				$('.layui-btn.layuiadmin-btn-list').on('click', function() {
+					var type = $(this).data('type');
+					active[type] ? active[type].call(this) : '';
+				});
 				
 				table.on('tool(LAY-app-content-list)', function(obj) {
 					var data = obj.data;
diff --git a/HTML/views/WareHouseSetting/AreaAddFrom.html b/HTML/views/WareHouseSetting/AreaAddFrom.html
new file mode 100644
index 0000000..9c86606
--- /dev/null
+++ b/HTML/views/WareHouseSetting/AreaAddFrom.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8">
+		<title>鍖哄煙缁存姢绠$悊</title>
+		<meta name="renderer" content="webkit">
+		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+		<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+		<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
+	</head>
+	<body>
+		<div class="layui-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list" style="padding: 20px 30px 0 0;">
+            <!-- <div class="layui-form-item">
+				<label class="layui-form-label">鍖哄煙缂栫爜</label>
+				<div class="layui-input-block">
+					<input type="text" name="AreaNo" lay-verify="required"  placeholder="璇疯緭鍏ュ尯鍩熺紪鐮�" autocomplete="off" class="layui-input">
+				</div>
+			</div> -->
+			<div class="layui-form-item">
+				<label class="layui-form-label">鍖哄煙鍚嶇О</label>
+				<div class="layui-input-block">
+					<input type="text" name="AreaName" lay-verify="required"  placeholder="璇疯緭鍏ュ尯鍩熷悕绉�" autocomplete="off" class="layui-input">
+				</div>
+			</div>
+            <div class="layui-form-item">
+				<label class="layui-form-label">鎵�灞炰粨搴�</label>
+				<div class="layui-input-block">
+					<select name="WareHouseNo" id="WareHouseNo" lay-verify="" lay-search >
+						<option value=""></option>
+					</select>
+				</div>
+			</div>
+            <div class="layui-form-item">
+				<label class="layui-form-label">鏄惁鍚敤</label>
+				<div class="layui-input-block">
+					<select name="Status" id="Status" lay-verify="required">
+						<option value="0" selected>鍚敤</option>
+						<option value="1">绂佺敤</option>
+					</select>
+				</div>
+			
+			</div>
+			<div class="layui-form-item">
+				<label class="layui-form-label">浼樺厛绾�</label>
+				<div class="layui-input-block">
+					<select name="Priority" id="Priority" lay-verify="required">
+						<option value="1">1</option>
+						<option value="2">2</option>
+						<option value="3">3</option>
+						<option value="4">4</option> 
+					</select>
+				</div>
+			
+			</div>
+			<div class="layui-form-item">
+				<label class="layui-form-label">绫诲埆</label>
+				<div class="layui-input-block">
+					<select name="Type" id="Type" lay-verify="required" lay-search lay-filter="SelectType">
+						<option value=""></option>
+						<option value="1">鎴愬搧鍖�</option>
+						<option value="2">鍘熸枡鍖�</option>
+						<option value="3">鍖呮潗鍖�</option>
+						<option value="4">绌烘墭鍖�</option>
+					</select>
+				</div>
+			</div>
+			<div class="layui-form-item">
+				<label class="layui-form-label">瀛樺偍绫诲埆</label>
+				<div class="layui-input-block">
+					<select name="Temperature" id="Temperature" lay-search>
+						<option value=""></option>
+					</select>
+				</div>
+			</div>
+			<div class="layui-form-item layui-hide">
+				<input type="button" lay-submit lay-filter="layuiadmin-app-form-submit" id="layuiadmin-app-form-submit" value="纭娣诲姞">
+				<input type="button" lay-submit lay-filter="layuiadmin-app-form-edit" id="layuiadmin-app-form-edit" value="纭缂栬緫">
+			</div>
+				
+		</div>
+		
+			<script src="../../layuiadmin/layui/layui.js"></script>
+			<script src="../../js/public.js"></script>
+			<script src="../../js/jquery-3.5.1.min.js"></script>
+			<script src="../../js/jquery.cookie.js"></script>
+			<script>
+				layui.config({
+					base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+				}).extend({
+					index: 'lib/index' //涓诲叆鍙fā鍧�
+				}).use(['index', 'form', 'layer'], function() {
+					var $ = layui.$,
+						form = layui.form,
+						layer = layui.layer;
+
+
+                    
+
+                //鑾峰彇浠撳簱
+                sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function(res) {
+                    if (res.code == 0) { //鎴愬姛
+                        // $("#RoadwayNo").empty();
+                        for (var i = 0; i < res.data.length; i++) {
+                            //鍒ゆ柇鏄惁涓虹珛浣撳簱
+                            if (res.data[i].WareHouseNo != "W02")
+                            {
+                                $("#WareHouseNo").append('<option value =' + res.data[i].WareHouseNo + '>' + res.data[i].WareHouseNo + '-' +
+                                res.data[i].WareHouseName + '</option>');
+                            }
+                        } 
+                        // $("select[name='WareHouseNo']").val(val); 
+                        form.render('select');
+                    } else { //涓嶆垚鍔�
+                        layer.msg(res.msg, {
+                            icon: 2,
+                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                        }, function() {});
+                    }
+                });
+                //鑾峰彇瀛樺偍鐜
+                form.on('select(SelectType)', function (data) {
+                    console.log(12)
+                    sendData(IP + "/Sys/GetDictionaryByParentNo?parentNo="+"Temperature", {}, 'get', function(res) {
+                        if (res.code == 0) { //鎴愬姛
+                            $("#Temperature").empty();//娓呯┖涓婁竴涓煡璇笅鎷夊��
+                            for (var i = 0; i < res.data.length; i++) {
+                                $("#Temperature").append('<option value =' + res.data[i].Id + '>' + 
+                                    res.data[i].DictName + '</option>');
+                            }
+                                
+                            // $("select[name='Temperature']").val(temp); 
+                            
+                            form.render('select');
+                        } else { //涓嶆垚鍔�
+                            layer.msg(res.msg, {
+                                icon: 2,
+                                time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                            }, function() {});
+                        }
+                    });
+                });
+				
+					
+					//鑾峰彇娴忚鍣ㄥ弬鏁�
+					function getQueryString(name) {
+						var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+						var r = window.location.search.substr(1).match(reg);
+						if (r != null) return unescape(r[2]);
+						return null;
+					}
+				})
+			</script>
+		
+	</body>
+</html>
diff --git a/HTML/views/WareHouseSetting/Locate.html b/HTML/views/WareHouseSetting/Locate.html
index efde3f6..63b6472 100644
--- a/HTML/views/WareHouseSetting/Locate.html
+++ b/HTML/views/WareHouseSetting/Locate.html
@@ -157,10 +157,41 @@
 						if (checkData.length === 0) {
 							return layer.msg('璇烽�夋嫨鏁版嵁');
 						}
+						else if(checkData.length > 1)
+						{
+							var li = 0;
+							var ping = 0;
+							var WareNo = "W01";
+							checkData.forEach(item => {
+								if (item.WareHouseName == "鍔涜绔嬩綋搴�")
+								{
+									li += 1;
+									WareNo = "W01";
+									if (ping > 0)
+									{
+										return;
+									}
+								}
+								if (item.WareHouseName == "鍔涜骞冲簱")
+								{
+									ping += 1;
+									WareNo = "W02";
+									if (li > 0)
+									{
+										return;
+									}
+								}
+							});
+							if (li != 0 && ping != 0)
+							{
+								return layer.msg('璇峰嬁閫夋嫨澶氱浠撳簱锛�');
+							}
+						}
+						
 						layer.open({
 							type: 2,
 							title: '缂栬緫鍌ㄤ綅鐘舵�侀泦鍚�',
-							content: 'LocateFrom.html',
+							content: 'LocateFrom.html?WareHouseNo='+WareNo,
 							maxmin: true,
 							area: ['560px', '510px'],
 							btn: ['纭畾', '鍙栨秷'],
@@ -490,7 +521,7 @@
 						$("#AreaNo").append('<option value =""></option>');
 						if (res.code == 0) { //鎴愬姛 
 							for (var i = 0; i < res.data.length; i++) { 
-								$("#AreaNo").append('<option value =' + res.data[i].AreaNo + '>' + res.data[i].WareHouseNo + '-' +
+								$("#AreaNo").append('<option value =' + res.data[i].AreaNo + '>' + res.data[i].AreaNo + '-' +
 									res.data[i].AreaName + '</option>');
 							}
 							form.render('select');
diff --git a/HTML/views/WareHouseSetting/LocateFrom.html b/HTML/views/WareHouseSetting/LocateFrom.html
index e03bdf9..ec552d9 100644
--- a/HTML/views/WareHouseSetting/LocateFrom.html
+++ b/HTML/views/WareHouseSetting/LocateFrom.html
@@ -65,7 +65,7 @@
 			<div class="layui-form-item">
 				<label class="layui-form-label">鎵�灞炲尯鍩�</label>
 				<div class="layui-input-inline">
-					<select name="AreaNo" id="AreaNo" lay-filter="getAreaNo" lay-search disabled="">
+					<select name="AreaNo" id="AreaNo" lay-filter="getAreaNo" lay-search>
 						<option value=""></option>
 					</select>
 				</div>
@@ -143,8 +143,14 @@
 					layer = layui.layer;
 
 				var id = getQueryString('id');
+				var no = getQueryString('WareHouseNo');
 				var param = {
 					Id: parseInt(id)
+				}
+				console.log(no)
+				if(no != null)
+				{
+					GetArea('',no)
 				}
 				if(getQueryString('id') != null)
 				{
@@ -152,7 +158,7 @@
 						if (res.code == 0) { 
 							// $("input[name=Id]").val(res.data.Id);
 							GetHouse(res.data.WareHouseNo)
-							GetArea(res.data.AreaNo)
+							GetArea(res.data.AreaNo,res.data.WareHouseNo)
 							GetRoadway(res.data.RoadwayNo)
 							GetTemp(res.data.Temperature);
 							$("input[name=Row]").val(res.data.Row);
@@ -196,9 +202,14 @@
 					});
 				}
 				//鑾峰彇鍖哄煙
-				function GetArea(val){  
-					sendData(IP + "/Sys/GetStorageAreaByHouseNo?wareHouseNo=", {}, 'get', function(res) {
-						
+				function GetArea(val,wareHouse){ 
+					var a = $("#WareHouseNo").val();
+					if (wareHouse != null)
+					{
+						a = wareHouse;
+					} 
+					sendData(IP + "/Sys/GetStorageAreaByHouseNo?wareHouseNo="+a, {}, 'get', function(res) {
+						console.log(res)
 						if (res.code == 0) { //鎴愬姛
 							$("#AreaNo").empty(); 
 							for (var i = 0; i < res.data.length; i++) { 
diff --git a/Wms/WMS.BLL/SysServer/StorageAreaServer.cs b/Wms/WMS.BLL/SysServer/StorageAreaServer.cs
index 2f5d577..1dc557a 100644
--- a/Wms/WMS.BLL/SysServer/StorageAreaServer.cs
+++ b/Wms/WMS.BLL/SysServer/StorageAreaServer.cs
@@ -2,20 +2,25 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq.Expressions;
+using System.Security.Permissions;
 using System.Text;
 using System.Threading.Tasks;
+using Dm;
 using Model.ModelDto.SysDto;
 using SqlSugar;
+using WMS.DAL;
+using WMS.Entity.Context;
 using WMS.Entity.SysEntity;
 using WMS.IBLL.ISysServer;
 using WMS.IDAL.ISysInterface;
 
 namespace WMS.BLL.SysServer
 {
-    public class StorageAreaServer: IStorageAreaServer
+    public class StorageAreaServer : DbHelper<SysStorageArea>, IStorageAreaServer
     {
+        private static readonly SqlSugarScope Db = DataContext.Db;
         public IStorageAreaRepository AreaRst { get; set; }
-        public StorageAreaServer(IStorageAreaRepository areaRst)
+        public StorageAreaServer(IStorageAreaRepository areaRst) : base(Db)
         {
             AreaRst = areaRst;
         }
@@ -31,7 +36,7 @@
         /// <param name="limit"></param>
         /// <param name="count"></param>
         /// <returns></returns>
-        public List<AreaDto> GetStorageAreaList(string areaName, string wareHouseNo, string status, string type,int page, int limit,out int count)
+        public List<AreaDto> GetStorageAreaList(string areaName, string wareHouseNo, string status, string type, int page, int limit, out int count)
         {
             try
             {
@@ -43,7 +48,7 @@
                     .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type)
                     .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
 
-                
+
                 var data = AreaRst.GetAllByOrderPageAsync(item, limit, page, out int counts)
                     .Includes(x => x.WareHouseInfo)
                     .Includes(x => x.TemperatureInfo)
@@ -92,6 +97,25 @@
                 throw new Exception(e.Message);
             }
         }
+
+        /// <summary>
+        /// 鑾峰彇鍗曟潯搴撳尯鍩熶俊鎭�
+        /// </summary>
+        /// <param name="id">ID</param>
+        /// <returns></returns>
+        public SysStorageArea GetStorageMaxArea()
+        {
+            try
+            {
+                var data = Db.Queryable<SysStorageArea>().Where(a => a.IsDel == "0" && a.WareHouseNo == "W01").OrderByDescending(a => a.CreateTime).First();
+                return data;
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+        }
+
         /// <summary>
         /// 鑾峰彇鍖哄煙淇℃伅锛堟牴鎹粨搴撳彿锛�
         /// </summary>
@@ -105,11 +129,83 @@
                 if (!string.IsNullOrWhiteSpace(wareHouseNo))
                 {
                     data = data.Where(m => m.WareHouseNo == wareHouseNo).ToList();
-                } 
+                }
                 return data;
             }
             catch (Exception e)
             {
+                throw new Exception(e.Message);
+            }
+        }
+
+        /// <summary>
+        /// 淇敼搴撳尯鍩熶俊鎭�
+        /// </summary>
+        /// <param name="model">鍖哄煙瀹炰綋</param>
+        /// <returns>鏄惁鎴愬姛</returns>
+        public string InsertStorageArea(SysStorageArea model)
+        {
+            try
+            {
+                string str = "";
+                //鍒ゆ柇鎵�灞炰粨搴撴槸鍚︿负绔嬩綋搴�
+                if (model.WareHouseNo != "W01")
+                {
+                    str = "-1:鎵�灞炰粨搴撲笉涓虹珛浣撳簱锛岃閲嶆柊閫夋嫨锛�";
+                    return str;
+                }
+                //鑾峰彇绔嬩綋搴撴渶澶х紪鐮�
+                //var area = Db.Queryable<SysStorageArea>().Max(a => a.Id)(a => a.IsDel == "0" && a.WareHouseNo == "W01");
+                var area = Db.Queryable<SysStorageArea>().Where(a => a.IsDel == "0" && a.WareHouseNo == "W01").OrderByDescending(a=>a.CreateTime).First();
+                //楠岃瘉鏄惁瀛樺湪绔嬩綋搴撶涓�鏉″尯鍩熶俊鎭�
+                if (area == null)
+                {
+                    model.AreaNo = "A01";
+                }
+                else
+                {
+                    var arr = area.AreaNo.Split("A");
+                    int a = int.Parse(arr[1]) + 1;
+                    //鍒ゆ柇鏄惁灏忎簬10
+                    if (a < 10)
+                    {
+                        model.AreaNo = "A0" + (int.Parse(arr[1]) + 1).ToString();
+                    }
+                    else
+                    {
+                        model.AreaNo = "A" + (int.Parse(arr[1]) + 1).ToString();
+                    }
+
+                }
+                Db.BeginTran();
+
+                //鏂板鍖哄煙淇℃伅
+                SysStorageArea list = new SysStorageArea()
+                {
+                    AreaNo = model.AreaNo, //鍖哄煙缂栫爜
+                    AreaName = model.AreaName, //鍖哄煙鍚嶇О
+                    WareHouseNo = model.WareHouseNo, //鎵�灞炰粨搴�
+                    RoadwayNo = null, //鎵�灞炲贩閬�
+                    Status = model.Status, //鏄惁鍚敤
+                    Priority = model.Priority, //浼樺厛绾�
+                    Type = model.Type, //瀛樺偍绫诲埆
+                    Temperature = model.Temperature, //瀛樺偍鐜
+                    IsDel = "0", //鏄惁鍒犻櫎
+                    CreateUser = model.CreateUser, //鍒涘缓浜�
+                    CreateTime = Db.GetDate(), //鍒涘缓鏃堕棿
+                    UpdateUser = null, //淇敼浜�
+                    UpdateTime = null, //淇敼鏃堕棿
+                };
+                Db.Insertable(list).ExecuteCommand();
+
+                Db.CommitTran();
+
+                str = "娣诲姞鎴愬姛";
+                return str;
+            }
+            catch (Exception e)
+            {
+                Db.RollbackTran();
                 throw new Exception(e.Message);
             }
         }
@@ -171,7 +267,7 @@
         /// <param name="status">鐘舵�� 0 鍚敤 1鍋滅敤</param>
         /// <param name="userId">鎿嶄綔浜篒D</param>
         /// <returns></returns>
-        public bool EditStorageAreaStatus(int id,string status,int userId)
+        public bool EditStorageAreaStatus(int id, string status, int userId)
         {
             try
             {
@@ -200,7 +296,7 @@
                 throw new Exception(e.Message);
             }
         }
-        
+
 
         /// <summary>
         /// 鑾峰彇鍖哄煙绫诲瀷
diff --git a/Wms/WMS.IBLL/ISysServer/IStorageAreaServer.cs b/Wms/WMS.IBLL/ISysServer/IStorageAreaServer.cs
index 1b0086b..cfc32fc 100644
--- a/Wms/WMS.IBLL/ISysServer/IStorageAreaServer.cs
+++ b/Wms/WMS.IBLL/ISysServer/IStorageAreaServer.cs
@@ -21,6 +21,7 @@
         /// <param name="count"></param>
         /// <returns></returns>
         List<AreaDto> GetStorageAreaList(string areaName, string wareHouseNo,string status, string type, int page, int limit,out int count);
+
         /// <summary>
         /// 鑾峰彇鍗曟潯搴撳尯鍩熶俊鎭�
         /// </summary>
@@ -29,12 +30,26 @@
         SysStorageArea GetStorageArea(int id);
 
         /// <summary>
+        /// 鑾峰彇鍗曟潯搴撳尯鍩熶俊鎭�
+        /// </summary>
+        /// <param name="id">ID</param>
+        /// <returns></returns>
+        SysStorageArea GetStorageMaxArea();
+
+        /// <summary>
         /// 鑾峰彇鍖哄煙淇℃伅锛堟牴鎹粨搴撳彿锛�
         /// </summary>
         /// <param name="wareHouseNo">浠撳簱鍙�</param>
         /// <returns></returns>
         List<SysStorageArea> GetStorageAreaByHouseNo(string wareHouseNo);
-       
+
+        /// <summary>
+        /// 娣诲姞搴撳尯鍩熶俊鎭�
+        /// </summary>
+        /// <param name="model">鍖哄煙瀹炰綋</param>
+        /// <returns>鏄惁鎴愬姛</returns>
+        string InsertStorageArea(SysStorageArea model);
+
         /// <summary>
         /// 淇敼搴撳尯鍩熶俊鎭�
         /// </summary>
@@ -46,6 +61,7 @@
         /// <param name="userId">鎿嶄綔浜�</param>
         /// <returns>鏄惁鎴愬姛</returns>
         bool EditStorageArea(int id,string name, int priority, string type, string temp, int userId);
+
         /// <summary>
         /// 淇敼鍖哄煙鐘舵��
         /// </summary>
diff --git a/Wms/Wms/Controllers/SysController.cs b/Wms/Wms/Controllers/SysController.cs
index b159d44..ac02a38 100644
--- a/Wms/Wms/Controllers/SysController.cs
+++ b/Wms/Wms/Controllers/SysController.cs
@@ -735,6 +735,50 @@
                 return Ok(new { code = 1, msg = e.Message });
             }
         }
+
+        /// <summary>
+        /// 娣诲姞鍖哄煙淇℃伅
+        /// </summary>
+        /// <param name="model">妯″瀷</param>
+        /// <returns></returns> 
+        [HttpPost]
+        public IActionResult InsertStorageArea(SysStorageArea model)
+        {
+            try
+            {
+                //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+                var claimsIdentity = this.User.Identity as ClaimsIdentity;
+                if (claimsIdentity == null)
+                {
+                    return Ok(new { code = 1, msg = "涓鸿幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+                }
+                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+                if (string.IsNullOrWhiteSpace(userId))
+                {
+                    return Ok(new { code = 1, msg = "涓鸿幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+                }
+                model.CreateUser = int.Parse(userId);
+                string bolls = _areaSvc.InsertStorageArea(model);
+                var arr = bolls.Split(":");
+                if (arr[0] != "-1" )
+                {
+                    SysStorageArea area = _areaSvc.GetStorageMaxArea();
+                    _operation.InsertOperation("浠撳簱璁剧疆", "鍖哄煙绠$悊", area.AreaNo, "娣诲姞", "娣诲姞鍖哄煙淇℃伅 鍖哄煙鍙凤細" + area.AreaNo, Convert.ToInt32(userId));
+                    return Ok(new { code = 0, msg = bolls, data = "" });
+                }
+                else
+                {
+                    return Ok(new { code = 1, msg = bolls, data = "" });
+                }
+
+            }
+            catch (Exception e)
+            {
+                return Ok(new { code = 1, msg = e.Message });
+            }
+
+        }
+
         /// <summary>
         /// 淇敼鍖哄煙淇℃伅
         /// </summary>

--
Gitblit v1.8.0