From c006e5d2db31f61213e986ed60dc8f2195769044 Mon Sep 17 00:00:00 2001 From: lijuncheng Date: Tue, 19 Dec 2023 18:28:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AE=A1=E7=90=86=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=A4=9A=E4=B8=AA=E5=8F=82=E6=95=B0=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/request2.js | 23 ++- common/balance.js | 32 +++++ common/basic.js | 37 +++++ .../inventoryMove/job/inventoryMoveDetail.vue | 134 +++++++++--------- static/config.json | 2 +- 5 files changed, 159 insertions(+), 69 deletions(-) diff --git a/api/request2.js b/api/request2.js index 04a61954..4e501e6d 100644 --- a/api/request2.js +++ b/api/request2.js @@ -2081,8 +2081,8 @@ export function transferReceiptJobSubmit(params) { */ export function transferReceiptRecordSubmit(params) { return request({ - url: baseApi + "/magic-api/pda/job/purchasereceipt/jobSubmit", - method: "put", + url: baseApi + "/wms/transferreceipt-record-main/create", + method: "post", data: params, }); } @@ -2162,8 +2162,8 @@ export function transferIssueJobSubmit(params) { */ export function transferIssueRecordSubmit(params) { return request({ - url: baseApi + "/magic-api/pda/job/purchasereceipt/jobSubmit", - method: "put", + url: baseApi + "/wms/transferissue-record-main/create", + method: "post", data: params, }); } @@ -3012,6 +3012,21 @@ export function getBalanceByFilter(param) { }); } +/** + * 查询管理精度,多个零件,多个库位 + * @param {*} + * + */ +export function getPrecisionStrategy(param) { + return request({ + url: baseApi + "/wms/rule/getPrecisionStrategy", + method: "post", + data: param, + }); +} + + + /** * 删除文件 diff --git a/common/balance.js b/common/balance.js index 8733e89a..77dcd174 100644 --- a/common/balance.js +++ b/common/balance.js @@ -1,8 +1,40 @@ import { getManagementPrecision, + getPrecisionStrategy, getBalanceByFilter } from '@/api/request2.js'; + +/** + * "itemCode": [], + "locationCode":"INSPECT" + 管理精度策略 + * @param {*} + * + */ +export function getPrecisionStrategyList(itemList, callback) { + // let jsonParem = JSON.stringify(param) + let result = { + list: [], + success: true, + message: '' + }; + + getPrecisionStrategy(itemList).then(res => { + if (res.data == null) { + result.success = false + result.message = '未查询到管理精度信息' + } else { + result.list = res.data; + } + callback(result); + }).catch(error => { + result.success = false; + result.message = error; + callback(result); + }) +} + /** * "itemCode": [], "locationCode":"INSPECT" diff --git a/common/basic.js b/common/basic.js index f3507b2a..3b5fd75c 100644 --- a/common/basic.js +++ b/common/basic.js @@ -606,6 +606,43 @@ export function getInspectReasonList(value) { // else return 'Other' // } +export function getPackingNumberAndBatchByList(managementList, itemCode, packingNumber,locationCode, batch) { + var itemInfo = { + packingNumber: "", + batch: "" + } + + var manageType = queryManageModelByList(managementList, itemCode,locationCode) + if (manageType == "BY_QUANTITY") { + itemInfo.packingNumber = "" + itemInfo.batch = "" + } else if (manageType == "BY_BATCH") { + itemInfo.packingNumber = "" + itemInfo.batch = batch + } else if (manageType == "BY_PACKAGING") { + itemInfo.packingNumber = packingNumber + itemInfo.batch = batch + } else if (manageType == "BY_UNIQUE_ID") { + itemInfo.packingNumber = packingNumber + itemInfo.batch = batch + } + return itemInfo; +} + +export function queryManageModelByList(managementList, itemCode,locationCode) { + var result = managementList.filter(res => { + if (res.itemCode == itemCode&&res.locationCode==locationCode) { + return res.ManagementPrecision + } + }) + + if (result != undefined) { + return result[0].ManagementPrecision + } else { + return "" + } +} + // 获取业务类型字典项 export function getBusinessTypeDesc(type) { diff --git a/pages/inventoryMove/job/inventoryMoveDetail.vue b/pages/inventoryMove/job/inventoryMoveDetail.vue index d181cc1b..e1875ac8 100644 --- a/pages/inventoryMove/job/inventoryMoveDetail.vue +++ b/pages/inventoryMove/job/inventoryMoveDetail.vue @@ -48,7 +48,8 @@ inventoryMoveSubmit } from '@/api/request2.js'; import { - getManagementPrecisions + getManagementPrecisions, + getPrecisionStrategyList } from '@/common/balance.js'; import { @@ -61,7 +62,7 @@ updateTitle, navigateBack, getCurrDateTime, - getPackingNumberAndBatch, + getPackingNumberAndBatchByList, getInventoryStatusName } from '@/common/basic.js'; @@ -203,7 +204,7 @@ this.scanPopupGetFocus(); } }, - + openDetail(item) { this.$refs.jobDetailPopup.openPopup(item) }, @@ -264,16 +265,17 @@ } else { let balanceStatus = getInventoryStatusName(result.balance.inventoryStatus); let itemStatus = getInventoryStatusName(itemDetail.inventoryStatus); - if (itemDetail.inventoryStatus != result.balance.inventoryStatus){ - if(this.jobContent.allowModifyInventoryStatus=="TRUE"){ - this.showQuestionMessage('任务中允许修改库存状态,实际库存状态[' + balanceStatus + ']与推荐库存状态[' + itemStatus + + if (itemDetail.inventoryStatus != result.balance.inventoryStatus) { + if (this.jobContent.allowModifyInventoryStatus == "TRUE") { + this.showQuestionMessage('任务中允许修改库存状态,实际库存状态[' + balanceStatus + ']与推荐库存状态[' + + itemStatus + ']不一致,是否继续转移?', res => { if (res) { itemDetail.scaned = true; - itemDetail.handleQty = Number(result.balance.qty) ; + itemDetail.handleQty = Number(result.balance.qty); itemDetail.toInventoryStatus = result.balance.inventoryStatus; itemDetail.balance = result.balance; - itemDetail.balance.balanceQty =Number(result.balance.qty) ; + itemDetail.balance.balanceQty = Number(result.balance.qty); itemDetail.balance.stdPackQty = Number(result.package.stdPackQty) itemDetail.balance.stdPackUnit = result.package.stdPackUnit this.calcHandleQty(); @@ -281,15 +283,16 @@ this.scanPopupGetFocus(); } }); - }else { - this.showQuestionMessage('任务中不允许修改库存状态,实际库存状态[' + balanceStatus + ']与推荐库存状态[' + itemStatus + + } else { + this.showQuestionMessage('任务中不允许修改库存状态,实际库存状态[' + balanceStatus + ']与推荐库存状态[' + + itemStatus + ']不一致,不允许转移!', res => { this.scanPopupGetFocus(); }); } - }else { + } else { itemDetail.scaned = true; - itemDetail.handleQty = Number(result.balance.qty) ; + itemDetail.handleQty = Number(result.balance.qty); itemDetail.toInventoryStatus = result.balance.inventoryStatus; itemDetail.balance = result.balance; itemDetail.balance.balanceQty = Number(result.balance.qty); @@ -297,27 +300,6 @@ itemDetail.balance.stdPackUnit = result.package.stdPackUnit this.calcHandleQty(); } - - - // if (itemDetail.inventoryStatus != result.balance.inventoryStatus) { - // this.showQuestionMessage('实际库存状态[' + balanceStatus + ']与推荐库存状态[' + itemStatus + - // ']不一致,是否继续转移?', res => { - // if (res) { - // itemDetail.scaned = true; - // itemDetail.handleQty = Number(result.balance.qty) ; - // itemDetail.toInventoryStatus = result.balance.inventoryStatus; - // itemDetail.balance = result.balance; - // itemDetail.balance.balanceQty = result.balance.qty; - // itemDetail.balance.stdPackQty = result.package.stdPackQty - // itemDetail.balance.stdPackUnit = result.package.stdPackUnit - // this.calcHandleQty(); - // } else { - // this.scanPopupGetFocus(); - // } - // }); - // } else { - - // } } } } @@ -362,35 +344,59 @@ title: "提交中....", mask: true }); - this.managementList = []; - //查询管理模式 - // this.detailSource.forEach(item => { - // item.subList.forEach(detail => { - // if (detail.scaned) { - // getManagementPrecisions(item.itemCode,detail.toLocationCode,res=>{ - // if (res.success) { - // this.managementList = this.managementList.concat(res.list) - - // } - // }) - // } - // }) - // }) - var params = this.setParams(); - console.log("提交" + JSON.stringify(params)) - - inventoryMoveSubmit(params).then(res => { - uni.hideLoading() - if (res.data) { - this.showCommitSuccessMessage("提交成功
生成库存转移记录
" + res.data) + //查询管理模式 + this.managementList = []; + var precisionStrategParams = this.setPrecisionStrategParams() + getPrecisionStrategyList(precisionStrategParams, res => { + if (res.success) { + this.managementList = res.list; + var params = this.setParams() + console.log("提交" + JSON.stringify(params)) + inventoryMoveSubmit(params).then(res => { + uni.hideLoading() + if (res.data) { + this.showCommitSuccessMessage("提交成功
生成库存转移记录
" + res.data) + } else { + this.showErrorMessage("提交失败[" + res.msg + "]") + } + }).catch(error => { + uni.hideLoading() + this.showErrorMessage(error) + }) } else { - this.showErrorMessage("提交失败[" + res.msg + "]") + uni.hideLoading(); + this.showErrorMessage(res.message); } - }).catch(error => { - uni.hideLoading() - this.showErrorMessage(error) + }) + + }, + + setPrecisionStrategParams(){ + var itemList = [] + this.detailSource.forEach(item => { + item.subList.forEach(detail => { + if (detail.scaned) { + var filterResult = itemList.filter(res => { + if (res.itemCode == item.itemCode + &&res.locationCode == detail.locationCode) { + return res + } + }) + //去掉重复元素 + if(filterResult.length==0){ + var result = { + itemCode: item.itemCode, + locationCode: detail.toLocationCode + } + itemList.push(result) + } + + } + }) + }) + return itemList; }, setParams() { @@ -400,12 +406,12 @@ this.detailSource.forEach(item => { item.subList.forEach(detail => { if (detail.scaned) { - // var info = getPackingNumberAndBatch(this.managementList, detail.itemCode, - // detail.packingNumber, detail.batch); - detail.toPackingNumber = detail.packingNumber; - detail.toBatch = detail.batch; + var info = getPackingNumberAndBatchByList(this.managementList, detail.itemCode, + detail.packingNumber, detail.toLocationCode, detail.batch); + detail.toPackingNumber = info.packingNumber; + detail.toBatch = info.batch; detail.toContainerNumber = ''; - + detail.toLocationCode = detail.toLocationCode; subList.push(detail) } @@ -478,7 +484,7 @@ navigateBack(1) }) }, - + } } diff --git a/static/config.json b/static/config.json index 67781eb9..5a5fa352 100644 --- a/static/config.json +++ b/static/config.json @@ -18,7 +18,7 @@ "request_url": { "name": "request_url", - "value": "http://192.168.0.230:12080/admin-api", + "value": "http://192.168.0.159:12080/admin-api", "dev2": "http://192.168.0.157:12080/admin-api", "chefang": "http://192.168.0.180:12080/admin-api", "chenxinming": "http://192.168.0.230:12080/admin-api",