diff --git a/src/api/request2.js b/src/api/request2.js index 2fcbcd5b..c20c616f 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/mycomponents/scan/winScanPackAndLocation.vue b/src/mycomponents/scan/winScanPackAndLocation.vue index d7504bf6..60c9b134 100644 --- a/src/mycomponents/scan/winScanPackAndLocation.vue +++ b/src/mycomponents/scan/winScanPackAndLocation.vue @@ -1,530 +1,530 @@ - - - - - \ No newline at end of file diff --git a/src/pages.json b/src/pages.json index fa471c6d..fa0e473d 100644 --- a/src/pages.json +++ b/src/pages.json @@ -629,6 +629,41 @@ "enablePullDownRefresh": false } }, + { + "path": "pages/issue/job/issueJob0816", + "style": { + "navigationBarTitleText": "发料任务0816", + "enablePullDownRefresh": true, + "titleNView": { + "autoBackButton": "true", + "buttons": [ + // 右边按钮 + { + + "float": "right", + "fontSize": "58rpx", //按钮上文字的大小 + "text": "\ue696", + "fontSrc": "/static/ali_icon/iconfont.ttf" + + }, + { + + "float": "right", + "fontSize": "52rpx", //按钮上文字的大小 + "text": "\ue6e2", + "fontSrc": "/static/ali_icon/iconfont.ttf" + } + ] + } + } + }, + { + "path": "pages/issue/job/issueDetail0816", + "style": { + "navigationBarTitleText": "发料任务详情0816", + "enablePullDownRefresh": false + } + }, { "path": "pages/issue/record/issueRecord", "style": { diff --git a/src/pages/issue/coms/comScanIssuePack0816.vue b/src/pages/issue/coms/comScanIssuePack0816.vue new file mode 100644 index 00000000..fc40c63f --- /dev/null +++ b/src/pages/issue/coms/comScanIssuePack0816.vue @@ -0,0 +1,732 @@ + + + + + \ No newline at end of file diff --git a/src/pages/issue/job/issueDetail0816.vue b/src/pages/issue/job/issueDetail0816.vue new file mode 100644 index 00000000..baabd9a2 --- /dev/null +++ b/src/pages/issue/job/issueDetail0816.vue @@ -0,0 +1,608 @@ + + + + + \ No newline at end of file diff --git a/src/pages/issue/job/issueJob0816.vue b/src/pages/issue/job/issueJob0816.vue new file mode 100644 index 00000000..a3017f95 --- /dev/null +++ b/src/pages/issue/job/issueJob0816.vue @@ -0,0 +1,746 @@ + + + + + \ No newline at end of file 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 = {}; diff --git a/src/pages/productReceipt/job/fgProductReceiptDetail.vue b/src/pages/productReceipt/job/fgProductReceiptDetail.vue index fbfe4c8a..c702a838 100644 --- a/src/pages/productReceipt/job/fgProductReceiptDetail.vue +++ b/src/pages/productReceipt/job/fgProductReceiptDetail.vue @@ -231,7 +231,14 @@ that.subList = res.data.subList; that.jobStatus = res.data.status that.jobToLocationCode = that.subList[0].toLocationCode - that.productionLineCode = that.subList[0].productionLineCode; + that.productionLineCode = that.subList[0].productionLineCode; + var valiDate = getSwitchInfoByCode("fgProductReceipCommitValidate") + if(valiDate){ + that.jobContent.allowModifyLocation = 'TRUE' + + }else{ + that.jobContent.allowModifyLocation = 'FALSE' + } // if (that.jobContent.allowModifyLocation == 'FALSE') { // that.toLocationCode = that.subList[0].toLocationCode // } diff --git a/src/pages/productReceipt/job/productReceiptDetail.vue b/src/pages/productReceipt/job/productReceiptDetail.vue index 574f5b56..6cf39a85 100644 --- a/src/pages/productReceipt/job/productReceiptDetail.vue +++ b/src/pages/productReceipt/job/productReceiptDetail.vue @@ -226,8 +226,13 @@ that.subList = res.data.subList; that.jobStatus = res.data.status; that.jobToLocationCode = that.subList[0].toLocationCode; - that.productionLineCode = that.jobContent.subList[0].productionLineCode; - + that.productionLineCode = that.jobContent.subList[0].productionLineCode; + var valiDate = getSwitchInfoByCode("semiProductReceipCommitValidate") + if(valiDate){ + that.jobContent.allowModifyLocation = 'TRUE' + }else{ + that.jobContent.allowModifyLocation = 'FALSE' + } // if (that.jobContent.allowModifyLocation == 'FALSE') { // that.toLocationCode = that.subList[0].toLocationCode // }