Browse Source

asn收货逻辑修改

intex
张立 1 week ago
parent
commit
b4c9329587
  1. 331
      src/pages/purchaseReceipt/job/purchaseReceiptAsn.vue

331
src/pages/purchaseReceipt/job/purchaseReceiptAsn.vue

@ -69,7 +69,8 @@
jobList: [],
detailOptions: [],
detailRemoveOption: [],
ishsowLoading:false
ishsowLoading:false,
asnNumberList:[]
};
},
onShow() {},
@ -128,160 +129,230 @@
});
const asnNumber = result.label.asn || result.label.code
const isAsn = result.label.code ? true : false
try {
if (!asnNumber) {
this.showMessage("标签格式异常,请重新补打标签")
uni.hideLoading();
return;
}
this.scanMessage = ""
let filters = []
// ASN
filters = [{
column: "asn_number",
action: "==",
value: asnNumber
}, {
column: "status",
action: "in",
value: '1,2',
}
// , {
// column: "accept_user_id",
// action: "==",
// value: this.$store.state.user.id
// },
]
getPurchaseReceiptASNJobList({
filters: filters,
pageNo: 1,
pageSize: 100,
}).then(async res => {
this.scanMessage = result.scanMessage
let resultList = res.data.list;
if (!asnNumber) {
this.showMessage("标签格式异常,请重新补打标签")
uni.hideLoading();
return;
}
//
if (!isAsn) {
//asn
if(this.asnNumberList.includes(asnNumber)){
uni.hideLoading()
if (resultList.length > 0) {
// asn
const asnObj = this.jobList.find(item => item.asnNumber == asnNumber)
if (resultList[0].acceptUserId && resultList[0].acceptUserId != this.$store.state.user.id) {
this.showMessage(`ASN单号【${asnNumber}】已经被${resultList[0].acceptUserName}承接`)
result.label.lookNumber = result.package.number.substring(result.package.number
.length - 5);
// asn
const itemObj = this.jobList.find(item => item.asnNumber == asnNumber && item.itemCode == result
.label.itemCode)
if (!itemObj) {
this.showMessage(`ASN单号【${asnNumber}】物料代码【${result.label.itemCode}】不在列表中 `)
return
}
//
if (!isAsn) {
result.label.lookNumber = result.package.number.substring(result.package.number
.length - 5);
// asn
if (!asnObj) {
this.$refs.comMessage.showQuestionMessage(`ASN单号【${asnNumber}】不在列表中,是否要按此ASN收货?`, async res => {
if (res) {
// //
if (resultList[0].status == '1') {
await this.handleTakePurchaseReceiptJob(resultList[0].masterId, () => {
resultList.forEach(item => {
item.status = '2'
item.acceptUserId = 4
})
})
} else if (resultList[0].status == '2') {
//
if (resultList[0].acceptUserId != this.$store.state.user.id) {
this.showMessage(`ASN单号【${asnNumber}】已经被${resultList[0].acceptUserName}承接`)
return
const packObj = itemObj.packageDOS.find(cur => cur.number == result.label.packingNumber)
if (!packObj) {
this.showMessage(
`ASN单号【${asnNumber}】物料代码【${result.label.itemCode}】不存在看板编号【${ result.label.lookNumber}`)
return
}
if (packObj.requestNumber) {
this.showMessage(`看板编号【${ result.label.lookNumber}】已经收货`)
returns
}
if (packObj.scaned) {
this.showMessage(`看板编号【${ result.label.lookNumber}】已扫描`)
return
}
itemObj.scaned = true
packObj.scaned = true
packObj.handleQty = result.label.qty
this.calcHandleQty(this.jobList);
this.scanPopupGetFocus()
// asn
}else{
try {
this.scanMessage = ""
let filters = []
// ASN
filters = [{
column: "asn_number",
action: "==",
value: asnNumber
}, {
column: "status",
action: "in",
value: '1,2',
}
]
getPurchaseReceiptASNJobList({
filters: filters,
pageNo: 1,
pageSize: 100,
}).then(async res => {
this.asnNumberList.push(asnNumber)
this.scanMessage = result.scanMessage
let resultList = res.data.list;
uni.hideLoading()
if (resultList.length > 0) {
// asn
const asnObj = this.jobList.find(item => item.asnNumber == asnNumber)
if (resultList[0].acceptUserId && resultList[0].acceptUserId != this.$store.state.user.id) {
this.showMessage(`ASN单号【${asnNumber}】已经被${resultList[0].acceptUserName}承接`)
return
}
result.label.lookNumber = result.package.number.substring(result.package.number
.length - 5);
// asn
if (!asnObj) {
this.$refs.comMessage.showQuestionMessage(`ASN单号【${asnNumber}】不在列表中,是否要按此ASN收货?`, async res => {
if (res) {
// //
if (resultList[0].status == '1') {
await this.handleTakePurchaseReceiptJob(resultList[0].masterId, () => {
resultList.forEach(item => {
item.status = '2'
item.acceptUserId = 4
})
})
} else if (resultList[0].status == '2') {
//
if (resultList[0].acceptUserId != this.$store.state.user.id) {
this.showMessage(`ASN单号【${asnNumber}】已经被${resultList[0].acceptUserName}承接`)
return
}
}
this.jobList = [...this.jobList, ...resultList]
const itemObj = this.jobList.find(item => item.asnNumber == asnNumber && item
.itemCode == result.label.itemCode)
const packObj = itemObj.packageDOS.find(cur => cur.number == result.label
.packingNumber)
if (packObj.requestNumber) {
this.showMessage(`看板编号【${ result.label.lookNumber}】已经收货`)
return
}
if (packObj.scaned) {
this.showMessage(`看板编号【${ result.label.lookNumber}】已经扫描`)
return
}
itemObj.scaned = true
packObj.scaned = true
packObj.handleQty = result.label.qty
packObj.packingNumber = result.package.number
packObj.packQty = Number(result.package.packQty);
packObj.packUnit = result.package.packUnit
packObj.labelQty = Number(result.label.qty);
packObj.convertRate = result.label.convertRate
packObj.supplierQty = parseFloat(calc.div(parseFloat(packObj.handleQty), parseFloat(packObj.convertRate)).toFixed(5))
packObj.supplierUom = result.label.purchaseUom
this.calcHandleQty(this.jobList);
this.scanPopupGetFocus()
}else{
this.scanPopupGetFocus()
}
});
} else {
// asn
const itemObj = this.jobList.find(item => item.asnNumber == asnNumber && item.itemCode == result
.label.itemCode)
if (!itemObj) {
this.showMessage(`ASN单号【${asnNumber}】物料代码【${result.label.itemCode}】不在列表中 `)
return
}
const packObj = itemObj.packageDOS.find(cur => cur.number == result.label.packingNumber)
if (!packObj) {
this.showMessage(
`ASN单号【${asnNumber}】物料代码【${result.label.itemCode}】不存在看板编号【${ result.label.lookNumber}`)
return
}
this.jobList = [...this.jobList, ...resultList]
const itemObj = this.jobList.find(item => item.asnNumber == asnNumber && item
.itemCode == result.label.itemCode)
const packObj = itemObj.packageDOS.find(cur => cur.number == result.label
.packingNumber)
if (packObj.requestNumber) {
this.showMessage(`看板编号【${ result.label.lookNumber}】已经收货`)
return
}
if (packObj.scaned) {
this.showMessage(`看板编号【${ result.label.lookNumber}】已经扫描`)
this.showMessage(`看板编号【${ result.label.lookNumber}】已扫描`)
return
}
itemObj.scaned = true
packObj.scaned = true
packObj.handleQty = result.label.qty
packObj.packingNumber = result.package.number
packObj.packQty = Number(result.package.packQty);
packObj.packUnit = result.package.packUnit
packObj.labelQty = Number(result.label.qty);
packObj.convertRate = result.label.convertRate
packObj.supplierQty = parseFloat(calc.div(parseFloat(packObj.handleQty), parseFloat(packObj.convertRate)).toFixed(5))
packObj.supplierUom = result.label.purchaseUom
this.calcHandleQty(this.jobList);
this.scanPopupGetFocus()
}else{
this.scanPopupGetFocus()
this.scanPopupGetFocus()
}
});
} else {
// asn
const itemObj = this.jobList.find(item => item.asnNumber == asnNumber && item.itemCode == result
.label.itemCode)
if (!itemObj) {
this.showMessage(`ASN单号【${asnNumber}】物料代码【${result.label.itemCode}】不在列表中 `)
return
}
const packObj = itemObj.packageDOS.find(cur => cur.number == result.label.packingNumber)
if (!packObj) {
this.showMessage(
`ASN单号【${asnNumber}】物料代码【${result.label.itemCode}】不存在看板编号【${ result.label.lookNumber}`)
return
}
if (packObj.requestNumber) {
this.showMessage(`看板编号【${ result.label.lookNumber}】已经收货`)
return
}
if (packObj.scaned) {
this.showMessage(`看板编号【${ result.label.lookNumber}】已扫描`)
return
}
itemObj.scaned = true
packObj.scaned = true
packObj.handleQty = result.label.qty
this.calcHandleQty(this.jobList);
this.scanPopupGetFocus()
}
} else {
if (asnObj) {
this.showMessage(`ASN单号【${asnNumber}】已经扫描`)
return;
this.showMessage("未查询到此ASN关联的采购收货任务")
}
// //
if (resultList[0].status == '1') {
await this.handleTakePurchaseReceiptJob(resultList[0].masterId, () => {
resultList.forEach(item => {
item.status = '2'
item.acceptUserId = this.$store.state.user.id
})
})
} else if (resultList[0].status == '2') {
//
if (resultList[0].acceptUserId != this.$store.state.user.id) {
}).catch(error => {
this.showMessage(error + "\n扫描[" + result.scanMessage + "]")
})
} catch (e) {
this.showMessage(e.message)
}
};
}else{
//asn
if(this.asnNumberList.includes(asnNumber)){
this.showMessage(`ASN单号【${asnNumber}】已经扫描`)
uni.hideLoading()
return;
}else{
try {
this.scanMessage = ""
let filters = []
// ASN
filters = [{
column: "asn_number",
action: "==",
value: asnNumber
}, {
column: "status",
action: "in",
value: '1,2',
}
]
getPurchaseReceiptASNJobList({
filters: filters,
pageNo: 1,
pageSize: 100,
}).then(async res => {
this.asnNumberList.push(asnNumber)
this.scanMessage = result.scanMessage
let resultList = res.data.list;
uni.hideLoading()
if (resultList.length > 0) {
// asn
const asnObj = this.jobList.find(item => item.asnNumber == asnNumber)
if (resultList[0].acceptUserId && resultList[0].acceptUserId != this.$store.state.user.id) {
this.showMessage(`ASN单号【${asnNumber}】已经被${resultList[0].acceptUserName}承接`)
return
}
// //
if (resultList[0].status == '1') {
await this.handleTakePurchaseReceiptJob(resultList[0].masterId, () => {
resultList.forEach(item => {
item.status = '2'
item.acceptUserId = this.$store.state.user.id
})
})
} else if (resultList[0].status == '2') {
//
if (resultList[0].acceptUserId != this.$store.state.user.id) {
this.showMessage(`ASN单号【${asnNumber}】已经被${resultList[0].acceptUserName}承接`)
return
}
}
this.jobList = [...this.jobList, ...resultList]
this.scanPopupGetFocus()
} else {
this.showMessage("未查询到此ASN关联的采购收货任务")
}
this.jobList = [...this.jobList, ...resultList]
this.scanPopupGetFocus()
}
} else {
this.showMessage("未查询到此ASN关联的采购收货任务")
}).catch(error => {
this.showMessage(error + "\n扫描[" + result.scanMessage + "]")
})
} catch (e) {
this.showMessage(e.message)
}
}).catch(error => {
this.showMessage(error + "\n扫描[" + result.scanMessage + "]")
})
} catch (e) {
this.showMessage(e.message)
}
}
},
calcHandleQty(detailSource) {
for (let item of detailSource) {

Loading…
Cancel
Save