From 8c6e292c508312eca0aef4c203e5857c4fc3094c Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期六, 07 九月 2024 09:18:39 +0800 Subject: [PATCH] Merge branch 'master' into Liudl --- Wms/Model/ModelDto/PdaDto/PdaSoDto.cs | 2 HTML/views/WareHouseSetting/WareHouseFrom.html | 2 Wms/WMS.BLL/SysServer/UserInforServer.cs | 41 ++++++++- HTML/views/SystemSettings/Role.html | 1 Wms/Wms/Controllers/PdaSoController.cs | 14 +++ Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 58 +++++++++++--- Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs | 9 ++ Wms/WMS.IBLL/ISysServer/IUserInforServer.cs | 2 Pda/View/SoSetting/pingKuOut.html | 100 +++++++++++++++++++++--- Wms/Wms/Controllers/BasisController.cs | 4 10 files changed, 193 insertions(+), 40 deletions(-) diff --git a/HTML/views/SystemSettings/Role.html b/HTML/views/SystemSettings/Role.html index f4150c2..2e9c1c4 100644 --- a/HTML/views/SystemSettings/Role.html +++ b/HTML/views/SystemSettings/Role.html @@ -312,6 +312,7 @@ form.on("submit(LAY-app-contlist-search)", function (data) { var RoleNo = data.field.RoleNo; var RoleName = data.field.RoleName; + console.log("roleno:"+RoleNo+" rolename:"+RoleName); refreshTable(RoleNo, RoleName); }); diff --git a/HTML/views/WareHouseSetting/WareHouseFrom.html b/HTML/views/WareHouseSetting/WareHouseFrom.html index f44a0cf..f70a31d 100644 --- a/HTML/views/WareHouseSetting/WareHouseFrom.html +++ b/HTML/views/WareHouseSetting/WareHouseFrom.html @@ -31,7 +31,7 @@ </div> </div> <div class="layui-form-item"> - <label class="layui-form-label">浠撳簱绫诲瀷</label> + <label class="layui-form-label">瀛樺偍鐜</label> <div class="layui-input-block" > <select name="Temp" id="Temp" lay-filter="Temp" lay-search> <option value=""></option> diff --git a/Pda/View/SoSetting/pingKuOut.html b/Pda/View/SoSetting/pingKuOut.html index 92a28f8..8ce06bf 100644 --- a/Pda/View/SoSetting/pingKuOut.html +++ b/Pda/View/SoSetting/pingKuOut.html @@ -84,6 +84,15 @@ <img src="/assets/down_arraw.png"> </div> </div> + <div class="layui-form-item layout-dropdownlist" style="margin-top: 10px;"> + <label class="layui-form-label">鐗╂枡-鎵规锛�</label> + <div class="layui-input-block" id="goodDiv"> + <select id="goodSelect" lay-filter="goodSelect" lay-search> + <option value=""></option> + </select> + <img src="/assets/down_arraw.png"> + </div> + </div> <!-- <div id="" class="layui-form-item layout-input"> <label class="layui-form-label" lang>搴撲綅鍦板潃锛�</label> <div class="layui-input-block"> @@ -115,17 +124,21 @@ <table id="tableBoxList" class="tbl-box-list" border="" cellspacing="" cellpadding=""> <tr> <th lang>鎵樼洏鐮�</th> - <th lang>鐗╂枡鍙�</th> + <!-- <th lang>鐗╂枡鍙�</th> <th lang>鐗╂枡鍚嶇О</th> - <th lang>鎵规鍙�</th> + <th lang>鎵规鍙�</th> --> + <th lang>鎵�灞炰粨搴�</th> + <th lang>鎵�灞炲尯鍩�</th> <th lang>搴撲綅鍦板潃</th> </tr> <tr id="boxCell" style="display: none"> <td name="PalletNo">鎵樼洏鐮�</td> - <td name="SkuNo">鐗╂枡鍙�</td> + <td name="WareHouseName">鎵�灞炰粨搴�</td> + <td name="AreaName">鎵�灞炲尯鍩�</td> + <!-- <td name="SkuNo">鐗╂枡鍙�</td> <td name="SkuName">鐗╂枡鍚嶇О</td> - <td name="LotNo">鎵规鍙�</td> + <td name="LotNo">鎵规鍙�</td> --> <td name="LocatNo">搴撲綅鍦板潃</td> <!-- <td name="del"> <div id="" class="tbl-btn-del" lang> @@ -173,11 +186,23 @@ } form.on('select(getbar)', function (data) { - console.log(); + //console.log(); if (data.value == "") { return; } GetBoxInfo(); + }); + + form.on('select(goodSelect)', function (data) { + console.log($("#goodSelect").val()); + if (data.value == "") { + return; + } + var skuno = $("#goodSelect").val().substring(0,6); + var lotNo = $("#goodSelect").val().substring(12); + console.log("skuno:"+skuno); + console.log("lotNo:" + lotNo); + loadlocatinfo(skuno, lotNo); }); $("#selectDiv").click(function () { @@ -195,14 +220,13 @@ var val = input.val() $("#bar").empty() $("#bar").append('<option value =>' + '</option>'); - form.render('select'); var PalletNo = $("#PalletNo").val(); if(PalletNo.length != 8){ //涓嬫媺妗嗚幏鍙栧钩搴撳嚭搴撳崟 var param = { Type: "1", }; synData(IP + "/PdaSo/GetRunNoticeList", param,'post', function (res) { - console.log(res); + //console.log(res); if (res.code == 0) { //鎴愬姛 for (var i = 0; i < res.data.length; i++) { $("#bar").append('<option value =' + res.data[i] + '>' + res.data[i] @@ -264,9 +288,10 @@ } synData(IP + "/PdaSo/GetPingKuInfoByPallet", param2, 'get', function (res) { if (res.code == 0) { - tableData = deepCopy(res.data) - - refreshTable(tableData) + updateGoodList(res.data);//鐗╂枡鎵规淇℃伅 + var skuno = res.data[0].SkuNo; + var lotNo = res.data[0].LotNo; + loadlocatinfo(skuno, lotNo);//鑾峰彇鎵樼洏浣嶇疆淇℃伅 } else { layer.msg(res.msg, { icon: 2, @@ -274,6 +299,50 @@ }, function () { }); } }); + } + + //鑾峰彇鎵樼洏浣嶇疆淇℃伅骞舵洿鏂拌〃鍗� + function loadlocatinfo(skuno, lotNo){ + let param3 = { + "SoNo": $("#bar").val(), + "SkuNo": skuno, + "LotNo": lotNo + } + synData(IP + "/PdaSo/GetPingKuLocationInfo", param3, 'get', function (res) {//鑾峰彇鎵樼洏鏄庣粏 + if (res.code == 0) { + tableData = deepCopy(res.data) + refreshTable(tableData) + } else { + layer.msg(res.msg, { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { }); + } + }) + } + + /* 鐗╂枡鍙婃壒娆′笅鎷夋 */ + function updateGoodList(data) { + var input = $('select[id="goodSelect"]').next().find('.layui-select-title input') + var val = input.val() + $("#goodSelect").empty() + $("#goodSelect").append('<option value =>' + '</option>'); + + for (var i = 0; i < data.length; i++) { + + if (data[i].LotNo == '' || data[i].LotNo == null) { + $("#goodSelect").append('<option value =' + data[i].SkuNo + ' selected>' + data[i] + .SkuName + + '</option>'); + } else { + $("#goodSelect").append('<option value =' + data[i].SkuNo + data[i].SkuName + "-" + + data[i].LotNo + ' selected>' + data[i] + .SkuNo + data[i].SkuName + "-" + data[i].LotNo + + '</option>'); + } + } + form.render('select'); + } function clearTable() { @@ -299,7 +368,6 @@ var arrTrs = new Array() let idx = 0 for (var i in list) { - console.log("list[i].LocatN:"+list[i].LocatNo); // list[i].BoxCode var tr = $("#boxCell").eq(0).clone(); tr.appendTo("#tableBoxList"); @@ -307,9 +375,11 @@ idx++; tr.attr('index', idx) tr.find("td[name='PalletNo']").html(list[i].PalletNo); - tr.find("td[name='SkuNo']").html(list[i].SkuNo); - tr.find("td[name='SkuName']").html(list[i].SkuName); - tr.find("td[name='LotNo']").html(list[i].LotNo); + //tr.find("td[name='SkuNo']").html(list[i].SkuNo); + //tr.find("td[name='SkuName']").html(list[i].SkuName); + //tr.find("td[name='LotNo']").html(list[i].LotNo); + tr.find("td[name='WareHouseName']").html(list[i].WareHouseName); + tr.find("td[name='AreaName']").html(list[i].AreaName); tr.find("td[name='LocatNo']").html(list[i].LocatNo); // var code = list[i].BoxCode // //console.log("code is "+code) @@ -331,7 +401,7 @@ "PalletNo": $("#PalletNo").val() } synData(IP + "/PdaSo/IsEnableOkPalletNo", param, 'post', function (res) { - console.log(res); + if (res.code == 0) { //鎴愬姛 updateBillList(); diff --git a/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs b/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs index 5eed2ee..00dab95 100644 --- a/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs +++ b/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs @@ -24,6 +24,8 @@ public string LotNo { get; set; } // 鎵规 public string LocatNo { get; set; } public decimal? PickedQty { get; set; } // 绠卞唴宸叉嫞鏁伴噺 + public string WareHouseName { get; set; } + public string AreaName { get; set; } } public class DetailIdSkuLotNo { diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 4c54ba8..2c65e4c 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -1198,6 +1198,17 @@ var info = Db.Queryable<BllExportAllot>() .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo) + .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo}).Select((a,b) => new BoxInfo() + { + SkuNo = a.SkuNo, + SkuName = a.SkuName, + LotNo = a.LotNo + }).ToListAsync(); + var data = await info; + + /*v var info = Db.Queryable<BllExportAllot>() + .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) + .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo) .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo() { PalletNo = a.PalletNo, @@ -1206,22 +1217,41 @@ LotNo = a.LotNo, LocatNo = b.LocatNo }).ToListAsync(); + var data = await info;*/ + + return data; + } + + //鑾峰彇骞冲簱鍗曟嵁涓墭鐩樹綅缃俊鎭� + public async Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string skuno,string lotno) + { + + var info = Db.Queryable<BllExportAllot>() + .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) + .LeftJoin<SysWareHouse>((a,b,c)=>b.WareHouseNo == c.WareHouseNo) + .LeftJoin<SysStorageArea>((a,b,c,d)=>b.AreaNo == d.AreaNo) + .Where(a => a.IsDel == "0" && (a.Status == "0" || a.Status == "1") && a.SONo == soNo && a.SkuNo == skuno && a.LotNo == lotno) + .GroupBy((a, b,c,d) => new { a.PalletNo, b.LocatNo,c.WareHouseName,d.AreaName }).Select((a, b,c,d) => new BoxInfo() + { + PalletNo = a.PalletNo, + LocatNo = b.LocatNo, + WareHouseName = c.WareHouseName, + AreaName = d.AreaName + }).ToListAsync(); var data = await info; - /*var a = info.First().LocatNo; - - if (await info.CountAsync() == 0) - { - throw Oops.Bah("鏈煡璇㈠埌鎵樼洏鍒嗛厤涓嬪彂鐨勪俊鎭�"); - } - - var data = await info.GroupBy(a => new { a.SkuNo, a.SkuName, a.LotNo,a.PalletNo }).Select(a => new BoxInfo() - { - PalletNo = a.PalletNo, - SkuNo = a.SkuNo, - SkuName = a.SkuName, - LotNo = a.LotNo - }).ToListAsync();*/ + /*v var info = Db.Queryable<BllExportAllot>() + .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) + .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo) + .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo() + { + PalletNo = a.PalletNo, + SkuNo = a.SkuNo, + SkuName = a.SkuName, + LotNo = a.LotNo, + LocatNo = b.LocatNo + }).ToListAsync(); + var data = await info;*/ return data; } diff --git a/Wms/WMS.BLL/SysServer/UserInforServer.cs b/Wms/WMS.BLL/SysServer/UserInforServer.cs index 30997b1..29fbd2d 100644 --- a/Wms/WMS.BLL/SysServer/UserInforServer.cs +++ b/Wms/WMS.BLL/SysServer/UserInforServer.cs @@ -16,6 +16,7 @@ using WMS.Entity.BllTaskEntity; using WMS.DAL; using Utility; +using System.Text.RegularExpressions; namespace WMS.BLL.SysServer { @@ -61,6 +62,7 @@ /// <returns></returns> public async Task<List<UserInfoDto>> GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status) { + var modUser = await Db.Queryable<SysUserInfor>().FirstAsync(s => s.Id == _userManager.UserId); return await Db.Queryable<SysUserInfor>() .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) .LeftJoin<SysDepartment>((a, b, c) => a.DepartmentNo == c.DepartmentNo) @@ -70,6 +72,7 @@ .WhereIF(!string.IsNullOrEmpty(DepartmentNo), a => a.DepartmentNo == DepartmentNo) .WhereIF(!string.IsNullOrEmpty(RoleNo), a => a.RoleNo == RoleNo) .WhereIF(!string.IsNullOrEmpty(Status), a => a.Status == Status) + .WhereIF(modUser.UserName.ToUpper() != "ADMIN", a => a.CreateUser == _userManager.UserId) .Where(a => a.IsDel == "0") .Select<UserInfoDto>((a, b, c, d) => new UserInfoDto() { @@ -192,15 +195,39 @@ /// <param name="userId">鐢ㄦ埛id</param> /// <returns></returns> /// <exception cref="Exception">鎹曡幏寮傚父</exception> - public async Task<int> UptUserPassWord(string pwdNew, int userId) + public async Task<int> UptUserPassWord(string pwdNew,string pwdNewTwo, int userId) { + var funSet = Db.Queryable<SysFunSetting>().Where(m => m.IsDel == "0" && m.FunSetName == "瀵嗙爜瑙勫垯" && m.IsEnable == "NO").ToList().FirstOrDefault(); + if (funSet != null) + { + bool t = false; + switch (funSet.FunSetNo) + { + case "Fun052": //鏁板瓧锛屽瓧姣嶏紝绗﹀彿 + t = Regex.IsMatch(pwdNewTwo, @"^(?:(?=.*[0-9].*)(?=.*[A-Za-z].*)(?=.*[^0-9A-Za-z].*)).{3,}"); + break; + case "Fun053": //瀛楁瘝锛屾暟瀛� + t = Regex.IsMatch(pwdNewTwo, @"^(?:(?=.*[0-9].*)(?=.*[A-Za-z].*)).{2,}"); + break; + case "Fun051": //鏁板瓧锛屽瓧姣嶏紝绗﹀彿锛岄暱搴� + t = Regex.IsMatch(pwdNewTwo, @"^(?=.*[0-9])(?=.*[a-zA-Z])(?=([\x21-\x7e]+)[^a-zA-Z0-9]).{8,30}"); + break; + default: + break; + } + if (!t) + { + throw Oops.Bah("杈撳叆瀵嗙爜涓嶇鍚堝瘑鐮佽鍒�"); + } + } return await Db.Updateable<SysUserInfor>() - .Where(s => s.Id == userId) - .SetColumns(s => s.UpdateTime == DateTime.Now) - .SetColumns(s => s.UpdateUser == _userManager.UserId) - .SetColumns(s=>s.PassWord == pwdNew) - .SetColumns(s => s.SetPasswordTime == DateTime.Now) - .ExecuteCommandAsync(); + .Where(s => s.Id == userId) + .SetColumns(s => s.UpdateTime == DateTime.Now) + .SetColumns(s => s.UpdateUser == _userManager.UserId) + .SetColumns(s => s.PassWord == pwdNew) + .SetColumns(s => s.SetPasswordTime == DateTime.Now) + .ExecuteCommandAsync(); + } /// <summary> /// x澶╁悗鎻愰啋鐢ㄦ埛淇敼瀵嗙爜 diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs index 7d5b452..d0d59f4 100644 --- a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs +++ b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs @@ -114,6 +114,15 @@ Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo); /// <summary> + /// 鑾峰彇骞冲簱鎵樼洏浣嶇疆淇℃伅 + /// </summary> + /// <param name="soNo">鍑哄簱鍗曞彿</param> + /// <param name="SkuNo">鐗╂枡缂栫爜</param> + /// <param name="LotNo">鎵规</param> + /// <returns></returns> + Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string SkuNo,string LotNo); + + /// <summary> /// 骞冲簱鍑哄簱瀹屾垚 /// </summary> /// <param name="soNo">鍑哄簱鍗曞彿</param> diff --git a/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs b/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs index 2c01207..ee85053 100644 --- a/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs +++ b/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs @@ -64,7 +64,7 @@ /// <param name="pwdNew">鏂板瘑鐮�</param> /// <param name="userId">鐢ㄦ埛id</param> /// <returns></returns> - Task<int> UptUserPassWord(string pwdNew, int userId); + Task<int> UptUserPassWord(string pwdNew,string pwdNewTwo, int userId); /// <summary> /// x澶╁悗鎻愰啋鐢ㄦ埛淇敼瀵嗙爜 diff --git a/Wms/Wms/Controllers/BasisController.cs b/Wms/Wms/Controllers/BasisController.cs index 95d7afc..87c97b8 100644 --- a/Wms/Wms/Controllers/BasisController.cs +++ b/Wms/Wms/Controllers/BasisController.cs @@ -201,7 +201,7 @@ { pwdOld = Md5Tools.CalcMd5(pwdOld); pwdNew = Md5Tools.CalcMd5(pwdNew); - pwdNewTwo = Md5Tools.CalcMd5(pwdNewTwo); + //pwdNewTwo = Md5Tools.CalcMd5(pwdNewTwo); //鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id SysUserInfor user = await _userInforServer.GetUserInfoById(_userManager.UserId); if (user == null) @@ -209,7 +209,7 @@ if (user.PassWord != pwdOld) throw Oops.Bah("鍘熷瘑鐮佷笉姝g‘"); //淇敼瀵嗙爜 - int i = await _userInforServer.UptUserPassWord(pwdNew, _userManager.UserId); + int i = await _userInforServer.UptUserPassWord(pwdNew, pwdNewTwo, _userManager.UserId); if (i <= 0) throw Oops.Bah("淇敼瀵嗙爜澶辫触"); } diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs index 3702a21..7e4d432 100644 --- a/Wms/Wms/Controllers/PdaSoController.cs +++ b/Wms/Wms/Controllers/PdaSoController.cs @@ -175,6 +175,20 @@ } /// <summary> + /// 鑾峰彇骞冲簱鎵樼洏浣嶇疆淇℃伅 + /// </summary> + /// <param name="soNo">鍑哄簱鍗曞彿</param> + /// <param name="SkuNo">鐗╂枡缂栫爜</param> + /// <param name="LotNo">鎵规</param> + /// <returns></returns> + [HttpGet] + public async Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string SkuNo,string LotNo) + { + return await _pdaSoSvc.GetPingKuLocationInfo(soNo, SkuNo, LotNo); + } + + + /// <summary> /// 骞冲簱鍑哄簱 /// </summary> /// <param name="soNo">鍑哄簱鍗曞彿</param> -- Gitblit v1.8.0