From 581110a3dfb2882de66795047dd4a9f248d33176 Mon Sep 17 00:00:00 2001 From: chengsc <Demo@DESKTOP-CPA90BF> Date: 星期四, 15 八月 2024 13:21:15 +0800 Subject: [PATCH] 修改测试问题,添加托盘上架信息 --- HTML/views/ASNSetting/PalletUpShelf.html | 124 ------------------------ Wms/WMS.BLL/SysServer/MaterialsServer.cs | 4 HTML/views/ASNSetting/ProcurePlanNotice.html | 10 +- Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs | 149 ++++++++++++++++++----------- Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs | 1 5 files changed, 106 insertions(+), 182 deletions(-) diff --git a/HTML/views/ASNSetting/PalletUpShelf.html b/HTML/views/ASNSetting/PalletUpShelf.html index 0355c9d..66a957c 100644 --- a/HTML/views/ASNSetting/PalletUpShelf.html +++ b/HTML/views/ASNSetting/PalletUpShelf.html @@ -122,32 +122,9 @@ lay-filter="LAY-app-contlist-search"> <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储 </button> - <!-- <button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-btn-normal buDaLabelClass" style="margin-left: 5px;" lay-event="BuDaLabel" id="BuDaLabel"> - <i class="layui-icon layui-icon-print layuiadmin-button-btn"></i>琛ユ墦鏍囩 - </button> - <button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-btn-danger delLabelClass" style="margin-left: 5px;" lay-event="delLabel" id="delLabel"> - <i class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>鍒犻櫎鏍囩 - </button> --> - </div> - <!-- 纭鍑哄簱鍙e脊绐� --> - <!-- <div class="layui-inline" id="divDelLotNo" style="display: none; padding-top: 10px;"> - <div class="layui-inline"> - <label class="layui-form-label">鍏ュ簱鍗曟嵁</label> - <div class="layui-input-inline" style="width: 220px;"> - <input type="text" id="AsnNoSelect" name="AsnNoSelect" placeholder="鍏ュ簱鍗曟嵁" autocomplete="off" class="layui-input"> - - </div> - </div> - <div class="layui-inline DivLoadingArea" style="margin-top: 10px;"> - <label class="layui-form-label">鎵规鍙�</label> - <div class="layui-input-inline" style="width: 220px;"> - <select name="LotNoSelect" id="LotNoSelect" lay-search> - <option value=""></option> - </select> - </div> - </div> - </div> --> + </div> + </div> </div> <div class="layui-card-body"> @@ -217,10 +194,7 @@ <script src="../../js/jquery-3.5.1.min.js"></script> <script src="../../js/jquery.cookie.js"></script> <script> - // layui.extend({ - // excel: '../../layuiadmin/layui/layui_exts/excel' // {/}鐨勬剰鎬濆嵆浠h〃閲囩敤鑷湁璺緞锛屽嵆涓嶈窡闅� base 璺緞 - // }) - + layui.config({ base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰� }).extend({ @@ -240,98 +214,6 @@ // 椤甸潰鍔犺浇缁戝畾Table bindTable(); - //鐢熸垚 - $('#BuDaLabel').on('click', function () { - layer.open({ - type: 2, - title: '鎵撳嵃', - content: 'LabelBoxBuDa.html', - maxmin: true, - area: ['430px', '390px'], - // btn: ['鍙栨秷'] - }); - }); - $("#AsnNoSelect").on('input', function () { - - if ($("#AsnNoSelect").val() == "" || $("#AsnNoSelect").val().length < 16) { - return - } - if ($("#AsnNoSelect").val().length >= 16) { - $("#AsnNoSelect").val($("#AsnNoSelect").val().substr(-16)) - } - GetLotNoByAsnNo() - }) - function GetLotNoByAsnNo() { - - $("#LotNoSelect").empty() - $("#LotNoSelect").append('<option value =>' + '</option>'); - form.render('select'); - var param = { - asnNo: $("#AsnNoSelect").val(), - }; - sendData(IP + "/BllAsn/GetLotNoListByAsn", param, 'get', function(res) { - if (res.code == 0) { //鎴愬姛 - for (var i = 0; i < res.data.length; i++) { - $("#LotNoSelect").append('<option value =' + res.data[i] + '>' + res.data[i] + '</option>'); - } - form.render('select'); - } else { //涓嶆垚鍔� - layer.msg(res.msg, { - icon: 2, - time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - - }); - } - }); - } - - //鍒犻櫎鏍囩 - $('#delLabel').on('click', function () { - - layer.open({ - type: 1, - title: '鍒犻櫎鏍囩', - content: $('#divDelLotNo'), - maxmin: false, - area: ['350px','340px'], - btn: ['纭畾', '鍙栨秷'], - yes: function(index, layero) { - var param = { - AsnNo: $('#AsnNoSelect').val(), - LotNo: $('#LotNoSelect').val(), - }; - sendData(IP + "/BllAsn/DelLabelByAsnNo", param, 'post', function(res) { - if (res.code == 0) { //鎴愬姛 - bindTable(); - layer.msg(res.msg, { - icon: 1, - time: 1500 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - $('#AsnNoSelect').val(""); - $("#LotNoSelect").empty() - $("#LotNoSelect").append('<option value =>' + '</option>'); - form.render('select'); - }); - } else { //涓嶆垚鍔� - layer.msg(res.msg, { - icon: 2, - time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - bindTable(); - $('#AsnNoSelect').val(""); - $("#LotNoSelect").empty() - $("#LotNoSelect").append('<option value =>' + '</option>'); - form.render('select'); - }); - } - layer.close(index); - }); - } - }); - }); - - //鑷畾涔夎〃澶� var TotalColsArr = [[ diff --git a/HTML/views/ASNSetting/ProcurePlanNotice.html b/HTML/views/ASNSetting/ProcurePlanNotice.html index 103015b..733b7c0 100644 --- a/HTML/views/ASNSetting/ProcurePlanNotice.html +++ b/HTML/views/ASNSetting/ProcurePlanNotice.html @@ -292,7 +292,7 @@ { field: 'CreateTime', title: '涓嬪彂鏃堕棿', align: 'center', templet: '#templetCreateTime' }, { field: 'UpdateUserName', title: '淇敼浜�', align: 'center', width: 110 }, { field: 'UpdateTime', title: '淇敼鏃堕棿', align: 'center', templet: '#templetUpdateTime' }, - { field: 'caozuo', title: '鎿嶄綔', fixed: 'right', width: 280, align: 'center', toolbar: '#toolbarDemo1', "disabled": true } + //{ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', width: 280, align: 'center', toolbar: '#toolbarDemo1', "disabled": true } ]]; var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜 //#endregion @@ -367,15 +367,15 @@ { field: 'Qty', title: '鏁伴噺', align: 'center', width: 70 }, { field: 'CompleteQty', title: '瀹屾垚鏁伴噺', align: 'center', width: 90 }, { field: 'CompleteTime', title: '瀹屾垚鏃堕棿', align: 'center', width: 160, templet: '#templetCompleteTime2' }, - { field: 'UnitName', title: '璁¢噺鍗曚綅', align: 'center', width: 90 }, - { field: 'Price', title: '鍗曚环', align: 'center', width: 65 }, - { field: 'Money', title: '閲戦', align: 'center', width: 65 }, + //{ field: 'UnitName', title: '璁¢噺鍗曚綅', align: 'center', width: 90 }, + //{ field: 'Price', title: '鍗曚环', align: 'center', width: 65 }, + //{ field: 'Money', title: '閲戦', align: 'center', width: 65 }, { field: 'PackagName', title: '鍖呰鍚嶇О', align: 'center', width: 110, }, { field: 'CreateUserName', title: '鍒涘缓浜�', align: 'center', width: 100 }, { field: 'CreateTime', title: '鍒涘缓鏃堕棿', align: 'center', width: 160, templet: '#templetCreateTime2' }, { field: 'UpdateUserName', title: '淇敼浜�', align: 'center', width: 150, }, { field: 'UpdateTime', title: '淇敼鏃堕棿', align: 'center', width: 150, templet: '#templetUpdateTime3' }, - { field: 'caozuo', title: '鎿嶄綔', fixed: 'right', align: 'center', toolbar: '#toolbarDemoList', "disabled": true } + //{ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', align: 'center', toolbar: '#toolbarDemoList', "disabled": true } ]]; var DetailColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜 //#endregion diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs index 283f9ed..898544e 100644 --- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs @@ -1834,7 +1834,7 @@ } //濡傛灉璺冲贩閬撳苟涓旀湭鎵惧埌鍚堥�傜┖鍌ㄤ綅,鍒欒烦鍒版渶鍚庝竴娆′娇鐢ㄧ殑宸烽亾鏌ヨ - if (roadNo == "") + if (string.IsNullOrWhiteSpace(roadNo)) { if (useLog != null) { @@ -1867,7 +1867,7 @@ roadNo = item; } //褰撳墠宸锋湁浣嶇疆鍒欓��鍑� - if (roadNo != null) + if (!string.IsNullOrWhiteSpace(roadNo)) { break; } @@ -1919,6 +1919,7 @@ }; Db.Insertable(exTask).ExecuteCommand(); + var asnNo = ""; // 娣诲姞鎵樼洏缁戝畾琛ㄦ墭鐩樺叆搴撲换鍔″彿 liudl if (palletBindList.Count < 1) { @@ -1932,9 +1933,33 @@ bindModel.WareHouseNo = houseNo; bindModel.RoadwayNo = roadNo; Db.Updateable(bindModel).ExecuteCommand(); + asnNo = stockModel.ASNNo; } } } + foreach (DataStockDetail stockModel in stockDetail) + { + //娣诲姞鎵樼洏涓婃灦璁板綍 + var upShelf = new BllPalletUpShelf() + { + TaskNo = exTask.TaskNo, + TraceNo = asnNo, + PalletNo = palletNo, + SkuNo = stockModel.SkuNo, + SkuName = stockModel.SkuName, + LotNo = stockModel.LotNo, + Status = "1", + + WareHouseNo = houseNo, + RoadwayNo = roadNo, + AreaNo = "", + LocatNo = "", + + CreateUser = 0, + }; + Db.Insertable(upShelf).ExecuteCommand(); + } + if (palletBindList.Count >= 1) { @@ -2242,7 +2267,7 @@ }; Db.Insertable(exTask).ExecuteCommand(); - + var asnNo = ""; // 娣诲姞鎵樼洏缁戝畾琛ㄦ墭鐩樺叆搴撲换鍔″彿 liudl foreach (DataStockDetail stockModel in stockDetail) { @@ -2255,9 +2280,32 @@ bindModel.RoadwayNo = locate.RoadwayNo; bindModel.LocatNo = locate.LocatNo; Db.Updateable(bindModel).ExecuteCommand(); + asnNo = stockModel.ASNNo; } } + foreach (DataStockDetail stockModel in stockDetail) + { + //娣诲姞鎵樼洏涓婃灦璁板綍 + var upShelf = new BllPalletUpShelf() + { + TaskNo = exTask.TaskNo, + TraceNo = asnNo, + PalletNo = palletNo, + SkuNo = stockModel.SkuNo, + SkuName = stockModel.SkuName, + LotNo = stockModel.LotNo, + Status = "1", + WareHouseNo = houseNo, + RoadwayNo = locate.RoadwayNo, + AreaNo = locate.AreaNo, + LocatNo = locate.LocatNo, + + CreateUser = 0, + }; + Db.Insertable(upShelf).ExecuteCommand(); + } + oldTaskNo = taskNo; } else @@ -2272,16 +2320,34 @@ } Db.Updateable(oldTask).ExecuteCommand(); - var bindModel = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.Status == "2" - && m.PalletNo == oldTask.PalletNo && m.TaskNo == oldTaskNo); - if (bindModel != null && string.IsNullOrWhiteSpace(bindModel.LocatNo)) + + var bindModelList = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status == "2" + && m.PalletNo == oldTask.PalletNo && m.TaskNo == oldTaskNo).ToList(); + foreach (var bindModel in bindModelList) { - bindModel.TaskNo = oldTask.TaskNo; - bindModel.WareHouseNo = locate.WareHouseNo; - bindModel.RoadwayNo = locate.RoadwayNo; - bindModel.LocatNo = locate.LocatNo; - Db.Updateable(bindModel).ExecuteCommand(); + if (string.IsNullOrWhiteSpace(bindModel.LocatNo)) + { + bindModel.TaskNo = oldTask.TaskNo; + bindModel.WareHouseNo = locate.WareHouseNo; + bindModel.RoadwayNo = locate.RoadwayNo; + bindModel.LocatNo = locate.LocatNo; + Db.Updateable(bindModel).ExecuteCommand(); + + } } + //鏇存敼涓婃灦淇℃伅 + var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == oldTask.TaskNo && m.PalletNo == palletNo).ToList(); + foreach (var upShelf in upShelfList) + { + upShelf.WareHouseNo = locate.WareHouseNo; + upShelf.RoadwayNo = locate.RoadwayNo; + upShelf.LocatNo = locate.LocatNo; + upShelf.Status = "1"; + Db.Updateable(upShelf).ExecuteCommand(); + + } + + } locate.Status = "2"; @@ -2652,6 +2718,7 @@ //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId); } + //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴� if (stockDetail.Any()) { @@ -3251,7 +3318,13 @@ task.FinishDate = comTime;//瀹屾垚鏃堕棿 //鏇存柊浠诲姟淇℃伅 Db.Updateable(task).ExecuteCommand(); - + //鏇存敼鎵樼洏涓婃灦璁板綍淇℃伅 + var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo && m.PalletNo == task.PalletNo).ToList(); + foreach (var upShelf in upShelfList) + { + upShelf.Status = "2"; + Db.Updateable(upShelf).ExecuteCommand(); + } //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴� if (stockDetail.Any()) { @@ -3294,49 +3367,6 @@ Db.Updateable(dataBoxInfoList).ExecuteCommand(); #endregion - #region 閲囪喘璁″垝 - //var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.ASNDetailNo); - //if (noticeDetail == null) - //{ - // throw new Exception("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟鏄庣粏淇℃伅"); - //} - //var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo); - //if (notice == null) - //{ - // throw new Exception("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟淇℃伅"); - //} - //if (notice.Type == "1" && !string.IsNullOrEmpty(noticeDetail.OrderDetailCode)) - //{ - // //閲囪喘鍗曟槑缁� - // var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>().First(it => it.OrderDetailCode == noticeDetail.OrderDetailCode && it.IsDel == "0"); - // planDetail.CompleteQty += item.Qty; - // if (planDetail.CompleteQty >= planDetail.Qty) - // { - // planDetail.Status = "2"; - // planDetail.CompleteTime = comTime; - // } - // Db.Updateable(planDetail).ExecuteCommand(); - - // //閲囪喘鍗� - // var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.Id == planDetail.ParentId && it.IsDel == "0"); - // var planDetailNum = Db.Queryable<BllProcurePlanNoticeDetail>() - // .Count(m => m.IsDel == "0" && m.ParentId == planDetail.ParentId && m.Status != "2"); - // if (planDetailNum == 0) - // { - // planOrd.Status = "2"; - // planOrd.CompleteTime = comTime; - // Db.Updateable(planOrd).ExecuteCommand(); - // } - // else - // { - // if (planOrd.Status == "0") - // { - // planOrd.Status = "1"; - // Db.Updateable(planOrd).ExecuteCommand(); - // } - // } - //} - #endregion item.Status = "3"; item.CompleteTime = comTime; } @@ -3587,6 +3617,15 @@ } Db.Updateable(bind).ExecuteCommand(); } + //鏇存敼鎵樼洏涓婃灦璁板綍淇℃伅 + var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo && m.PalletNo == task.PalletNo).ToList(); + foreach (var upShelf in upShelfList) + { + upShelf.IsDel = "1"; + Db.Updateable(upShelf).ExecuteCommand(); + } + + //鍌ㄤ綅淇℃伅 var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat); if (locate != null) { diff --git a/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs b/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs index 3e0f48b..db806fa 100644 --- a/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs @@ -271,6 +271,7 @@ { Status = "0", OrderCode = model.OrderCode, + UserName = model.Username //鍒跺崟浜� }; // 鎻掑叆閲囪喘鍗曟�昏〃 int parentId = Db.Insertable(planModel).ExecuteReturnIdentity(); diff --git a/Wms/WMS.BLL/SysServer/MaterialsServer.cs b/Wms/WMS.BLL/SysServer/MaterialsServer.cs index 6b0d9c7..e10d30f 100644 --- a/Wms/WMS.BLL/SysServer/MaterialsServer.cs +++ b/Wms/WMS.BLL/SysServer/MaterialsServer.cs @@ -57,6 +57,8 @@ { return Db.Queryable<SysMaterials>() .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) + .LeftJoin<SysPackag>((a, b,c) => a.PackagNo == c.PackagNo) + .Where((a,b,c) => c.IsDel == "0") .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo)) .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuNo.Contains(skuName)) .WhereIF(!string.IsNullOrEmpty(auditStatusNo), a => a.AuditStatusNo == auditStatusNo) @@ -66,7 +68,7 @@ .WhereIF(!string.IsNullOrEmpty(environment), a => a.Environment == environment) .WhereIF(!string.IsNullOrEmpty(categoryNo), a => a.CategoryNo == categoryNo) .Where(a => a.IsDel == "0") - .Select<MaterialsDto>((a, b) => new MaterialsDto() { CreateUserName = b.RealName }, true) + .Select<MaterialsDto>((a, b, c) => new MaterialsDto() { CreateUserName = b.RealName,PackagName = c.PackagName }, true) .ToListAsync(); } -- Gitblit v1.8.0