From 36fe6cb120c132d808bdd5850b82c067d855360c Mon Sep 17 00:00:00 2001 From: niexiting <85552560@qq.com> Date: Sat, 17 Aug 2024 15:16:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E5=8F=91=E6=96=99=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=A2=84=E8=AE=A1=E5=87=BA=E7=9A=84=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/request2.js | 17 ++++- src/pages/issue/record/directIssue0816.vue | 80 ++++++++++++++++++---- 2 files changed, 81 insertions(+), 16 deletions(-) diff --git a/src/api/request2.js b/src/api/request2.js index 8dc5ef33..232d296c 100644 --- a/src/api/request2.js +++ b/src/api/request2.js @@ -568,7 +568,7 @@ export function getBasicItemByCodeSenior(itemCode) { }], pageNo: 1, pageSize: 1000 - } + } return request({ url: baseApi + "/wms/itembasic/senior", method: "post", @@ -4114,6 +4114,21 @@ export function getBalanceByFilter(param) { }); } + + +/** + * 查询库存事务 + * @param {*} + * + */ +export function getTransactionByFilter(param) { + return request({ + url: baseApi + "/wms/transaction/senior", + method: "post", + data: param, + }); +} + /** * 查询管理精度,多个物料,多个库位 * @param {*} diff --git a/src/pages/issue/record/directIssue0816.vue b/src/pages/issue/record/directIssue0816.vue index 9a28e633..89d4915e 100644 --- a/src/pages/issue/record/directIssue0816.vue +++ b/src/pages/issue/record/directIssue0816.vue @@ -57,7 +57,7 @@ import { issueRecordSubmit, getWorkShopLineStation, - getBalanceByFilter + getTransactionByFilter } from '@/api/request2.js'; import { @@ -228,27 +228,48 @@ if (pack.parentNumber) { //子包装没有库存 if (childBalance.length == 0) { - this.setPackageData(parentBalance, pack); + this.getTransactionList(pack.number, transactionRes => { + if (transactionRes.length == 0) { + this.setPackageData(parentBalance, pack); + } else { + this.showErrorMessage("箱码[" + pack.number + "批次[" + pack.batch + + "]已经发过料") + } + }); } else { //子包装有库存 this.setPackageData(childBalance[0], pack); } } else { - //扫描的是父包装,要过滤掉不在超市的库存,加上没有的库存 - pack.subList.forEach(sub => { - let subBalance = childBalance.find(r => r.packingNumber == sub.number); - if (subBalance) { - //校验父包装和子包装是否在一个库位 - if (subBalance.locationCode == parentBalance.locationCode) { - this.setPackageData(subBalance, sub); + let packparams = ''; + pack.subList.forEach(pack => { + packparams = packparams + pack.number + ',' + }) + packparams = packparams.trimEnd(','); + this.getTransactionList(packparams, transactionRes => { + //扫描的是父包装,要过滤掉不在超市的库存,加上没有的库存 + pack.subList.forEach(sub => { + let subBalance = childBalance.find(r => r.packingNumber == sub.number); + if (subBalance) { + //校验父包装和子包装是否在一个库位 + if (subBalance.locationCode == parentBalance.locationCode) { + this.setPackageData(subBalance, sub); + } else { + //不在一个库位暂时先不加 + } + } else { - //不在一个库位暂时先不加 + //如果子包装没有库存,取父包装库存 + //查询是不是已经出过库,在发料任务中产生了出库库存事务 + let transaction = transactionRes.find(p => p.packingNumber == sub + .number) + if (!transaction) { + this.setPackageData(parentBalance, sub); + } } - - } else { - //如果子包装没有库存,取父包装库存 - this.setPackageData(parentBalance, sub); - } + }) }) + + } }, @@ -289,6 +310,35 @@ calcHandleQty(this.detailSource); }, + //查询发料的业务类型 + getTransactionList(packingNumbers, callback) { + let params = { + filters: [{ + column: "businessType", + action: "==", + value: "发料" + }, { + column: "packingNumber", + action: "in", + value: packingNumbers + }, { + column: "inventoryAction", + action: "==", + value: "OUT" + }], + pageSize: 20, + pageNo: 1, + sort: "", + by: "ASC" + } + + getTransactionByFilter(params).then(res => { + callback(res.data.list); + }).catch(err => { + callback([]); + }) + }, + createPackageDetail(balance, pack) { let newDetail = {};