|
@@ -728,125 +728,127 @@
|
|
|
let sameCust = true
|
|
let sameCust = true
|
|
|
let validQty = true
|
|
let validQty = true
|
|
|
let _list = []
|
|
let _list = []
|
|
|
- this.isShowApcheckList.list.forEach((check) => {
|
|
|
|
|
- // 保存应收对账单明细行数据
|
|
|
|
|
- let item = {
|
|
|
|
|
- inoutno: '',
|
|
|
|
|
- inoutnodetno: '',
|
|
|
|
|
- orderCode: '',
|
|
|
|
|
- orderClass: '',
|
|
|
|
|
- orderDetno: '',
|
|
|
|
|
- price: '',
|
|
|
|
|
- checkQty: '',
|
|
|
|
|
- amount: '',
|
|
|
|
|
- sourceId: '',
|
|
|
|
|
- sourceTable: '',
|
|
|
|
|
- oldYCheckQty: '',
|
|
|
|
|
- status: 0,
|
|
|
|
|
- receiveCode: '',
|
|
|
|
|
- receiveName: '',
|
|
|
|
|
- prodCode: '',
|
|
|
|
|
- prodTitle: '',
|
|
|
|
|
- prodUnit: '',
|
|
|
|
|
- prodSpec: '',
|
|
|
|
|
- taxrate: '',
|
|
|
|
|
- sendcode: '',
|
|
|
|
|
- whname: '',
|
|
|
|
|
- custUserUU: '',
|
|
|
|
|
- sourceDate: ''
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 应收对账单明细行来源表信息
|
|
|
|
|
- let sourceInfo = {
|
|
|
|
|
- sourceId: '',
|
|
|
|
|
- sourceTable: '',
|
|
|
|
|
- newYCheckQty: ''
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 此次对账后新的已转数
|
|
|
|
|
- if (check.check === true && !check.haveChecked) {
|
|
|
|
|
- _list.push(check)
|
|
|
|
|
- apCheck.custName = check.custname
|
|
|
|
|
- apCheck.enUu = check.enuu
|
|
|
|
|
- apCheck.checkAmount += (check.thischeckqty || 0) * (check.orderprice || 0)
|
|
|
|
|
- apCheck.apDate = check.pidate
|
|
|
|
|
- apCheck.rate = check.rate
|
|
|
|
|
-
|
|
|
|
|
- // 必须是同一家客户才能生成对账单,否则提示错误
|
|
|
|
|
- if (apCheck.custUu === '') {
|
|
|
|
|
- apCheck.custUu = check.custuu
|
|
|
|
|
- } else if (apCheck.custUu !== check.custuu) {
|
|
|
|
|
- sameCust = false
|
|
|
|
|
- this.setRemindText('请选择同一家客户')
|
|
|
|
|
|
|
+ this.isShowApcheckList.list.forEach((items) => {
|
|
|
|
|
+ items.details.forEach((check) => {
|
|
|
|
|
+ // 保存应收对账单明细行数据
|
|
|
|
|
+ let item = {
|
|
|
|
|
+ inoutno: '',
|
|
|
|
|
+ inoutnodetno: '',
|
|
|
|
|
+ orderCode: '',
|
|
|
|
|
+ orderClass: '',
|
|
|
|
|
+ orderDetno: '',
|
|
|
|
|
+ price: '',
|
|
|
|
|
+ checkQty: '',
|
|
|
|
|
+ amount: '',
|
|
|
|
|
+ sourceId: '',
|
|
|
|
|
+ sourceTable: '',
|
|
|
|
|
+ oldYCheckQty: '',
|
|
|
|
|
+ status: 0,
|
|
|
|
|
+ receiveCode: '',
|
|
|
|
|
+ receiveName: '',
|
|
|
|
|
+ prodCode: '',
|
|
|
|
|
+ prodTitle: '',
|
|
|
|
|
+ prodUnit: '',
|
|
|
|
|
+ prodSpec: '',
|
|
|
|
|
+ taxrate: '',
|
|
|
|
|
+ sendcode: '',
|
|
|
|
|
+ whname: '',
|
|
|
|
|
+ custUserUU: '',
|
|
|
|
|
+ sourceDate: ''
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 必须是相同币别才能生成对账单,否则提示错误
|
|
|
|
|
- if (apCheck.currency === '') {
|
|
|
|
|
- apCheck.currency = check.currency
|
|
|
|
|
- } else if (apCheck.currency !== check.currency) {
|
|
|
|
|
- sameCust = false
|
|
|
|
|
- this.setRemindText('请选择同一种币别')
|
|
|
|
|
- }
|
|
|
|
|
- let re = /^[0-9]+.?[0-9]*$/
|
|
|
|
|
- // 必须是相同税率才能生成对账单,否则提示错误
|
|
|
|
|
- if (!re.test(apCheck.taxrate)) {
|
|
|
|
|
- // if (!angular.isNumber(apCheck.taxrate)) {
|
|
|
|
|
- apCheck.taxrate = check.taxrate
|
|
|
|
|
- } else if (apCheck.taxrate !== check.taxrate) {
|
|
|
|
|
- sameCust = false
|
|
|
|
|
- this.setRemindText('请选择相同的税率')
|
|
|
|
|
|
|
+ // 应收对账单明细行来源表信息
|
|
|
|
|
+ let sourceInfo = {
|
|
|
|
|
+ sourceId: '',
|
|
|
|
|
+ sourceTable: '',
|
|
|
|
|
+ newYCheckQty: ''
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 本次对账数量必须小于总对账数量
|
|
|
|
|
- if (check.qty > 0) {
|
|
|
|
|
- this.isShowApcheckList.list.maxThisCheckQty = check.qty
|
|
|
|
|
- this.isShowApcheckList.list.minThisCheckQty = 0
|
|
|
|
|
- if (check.qty - (check.ycheckqty || 0) < check.thischeckqty || check.thischeckqty < 0 || check.thischeckqty === 0) {
|
|
|
|
|
- validQty = false
|
|
|
|
|
- this.setRemindText('本次对账数量,填写有误!')
|
|
|
|
|
|
|
+ // 此次对账后新的已转数
|
|
|
|
|
+ if (check.check === true && !check.haveChecked) {
|
|
|
|
|
+ _list.push(check)
|
|
|
|
|
+ apCheck.custName = check.custname
|
|
|
|
|
+ apCheck.enUu = check.enuu
|
|
|
|
|
+ apCheck.checkAmount += (check.thischeckqty || 0) * (check.orderprice || 0)
|
|
|
|
|
+ apCheck.apDate = check.pidate
|
|
|
|
|
+ apCheck.rate = check.rate
|
|
|
|
|
+
|
|
|
|
|
+ // 必须是同一家客户才能生成对账单,否则提示错误
|
|
|
|
|
+ if (apCheck.custUu === '') {
|
|
|
|
|
+ apCheck.custUu = check.custuu
|
|
|
|
|
+ } else if (apCheck.custUu !== check.custuu) {
|
|
|
|
|
+ sameCust = false
|
|
|
|
|
+ this.setRemindText('请选择同一家客户')
|
|
|
}
|
|
}
|
|
|
- } else if (check.qty < 0) {
|
|
|
|
|
- this.isShowApcheckList.list.maxThisCheckQty = 0
|
|
|
|
|
- this.isShowApcheckList.list.minThisCheckQty = check.qty
|
|
|
|
|
- if (((-check.qty) - (-check.ycheckqty) < (-check.thischeckqty)) || check.thischeckqty > 0 || check.thischeckqty === 0) {
|
|
|
|
|
- validQty = false
|
|
|
|
|
- this.setRemindText('本次对账数量,填写有误!')
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 必须是相同币别才能生成对账单,否则提示错误
|
|
|
|
|
+ if (apCheck.currency === '') {
|
|
|
|
|
+ apCheck.currency = check.currency
|
|
|
|
|
+ } else if (apCheck.currency !== check.currency) {
|
|
|
|
|
+ sameCust = false
|
|
|
|
|
+ this.setRemindText('请选择同一种币别')
|
|
|
|
|
+ }
|
|
|
|
|
+ let re = /^[0-9]+.?[0-9]*$/
|
|
|
|
|
+ // 必须是相同税率才能生成对账单,否则提示错误
|
|
|
|
|
+ if (!re.test(apCheck.taxrate)) {
|
|
|
|
|
+ // if (!angular.isNumber(apCheck.taxrate)) {
|
|
|
|
|
+ apCheck.taxrate = check.taxrate
|
|
|
|
|
+ } else if (apCheck.taxrate !== check.taxrate) {
|
|
|
|
|
+ sameCust = false
|
|
|
|
|
+ this.setRemindText('请选择相同的税率')
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- // 应收对账单明细行数据
|
|
|
|
|
- item.orderCode = check.ordercode
|
|
|
|
|
- item.orderClass = check.piclass
|
|
|
|
|
- item.orderDetno = check.orderdetno
|
|
|
|
|
- item.price = check.orderprice
|
|
|
|
|
- item.checkQty = check.thischeckqty
|
|
|
|
|
- item.amount = (check.thischeckqty || 0) * (check.orderprice || 0)
|
|
|
|
|
- item.sourceId = check.sourceid
|
|
|
|
|
- item.sourceTable = check.sourcetable
|
|
|
|
|
- item.oldYCheckQty = check.ycheckqty
|
|
|
|
|
- item.prodCode = check.prodcode
|
|
|
|
|
- item.prodTitle = check.prodtitle
|
|
|
|
|
- item.prodSpec = check.prodspec
|
|
|
|
|
- item.prodUnit = check.produnit
|
|
|
|
|
- item.inoutno = check.inoutno
|
|
|
|
|
- item.inoutnodetno = check.detno
|
|
|
|
|
- item.taxrate = check.taxrate
|
|
|
|
|
- item.receiveCode = check.receivecode
|
|
|
|
|
- item.receiveName = check.receivename
|
|
|
|
|
- item.sendcode = check.sendcode
|
|
|
|
|
- item.whname = check.whname
|
|
|
|
|
- item.custUserUU = check.custuseruu
|
|
|
|
|
- item.sourceDate = check.pidate
|
|
|
|
|
|
|
|
|
|
- // 来源表相关信息
|
|
|
|
|
- sourceInfo.sourceid = check.sourceid
|
|
|
|
|
- sourceInfo.sourcetable = check.sourcetable
|
|
|
|
|
- sourceInfo.newYCheckQty = ((check.ycheckqty || 0) + check.thischeckqty)
|
|
|
|
|
|
|
+ // 本次对账数量必须小于总对账数量
|
|
|
|
|
+ if (check.qty > 0) {
|
|
|
|
|
+ this.isShowApcheckList.list.maxThisCheckQty = check.qty
|
|
|
|
|
+ this.isShowApcheckList.list.minThisCheckQty = 0
|
|
|
|
|
+ if (check.qty - (check.ycheckqty || 0) < check.thischeckqty || check.thischeckqty < 0 || check.thischeckqty === 0) {
|
|
|
|
|
+ validQty = false
|
|
|
|
|
+ this.setRemindText('本次对账数量,填写有误!')
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (check.qty < 0) {
|
|
|
|
|
+ this.isShowApcheckList.list.maxThisCheckQty = 0
|
|
|
|
|
+ this.isShowApcheckList.list.minThisCheckQty = check.qty
|
|
|
|
|
+ if (((-check.qty) - (-check.ycheckqty) < (-check.thischeckqty)) || check.thischeckqty > 0 || check.thischeckqty === 0) {
|
|
|
|
|
+ validQty = false
|
|
|
|
|
+ this.setRemindText('本次对账数量,填写有误!')
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 应收对账单明细行数据
|
|
|
|
|
+ item.orderCode = check.ordercode
|
|
|
|
|
+ item.orderClass = check.piclass
|
|
|
|
|
+ item.orderDetno = check.orderdetno
|
|
|
|
|
+ item.price = check.orderprice
|
|
|
|
|
+ item.checkQty = check.thischeckqty
|
|
|
|
|
+ item.amount = (check.thischeckqty || 0) * (check.orderprice || 0)
|
|
|
|
|
+ item.sourceId = check.sourceid
|
|
|
|
|
+ item.sourceTable = check.sourcetable
|
|
|
|
|
+ item.oldYCheckQty = check.ycheckqty
|
|
|
|
|
+ item.prodCode = check.prodcode
|
|
|
|
|
+ item.prodTitle = check.prodtitle
|
|
|
|
|
+ item.prodSpec = check.prodspec
|
|
|
|
|
+ item.prodUnit = check.produnit
|
|
|
|
|
+ item.inoutno = check.inoutno
|
|
|
|
|
+ item.inoutnodetno = check.detno
|
|
|
|
|
+ item.taxrate = check.taxrate
|
|
|
|
|
+ item.receiveCode = check.receivecode
|
|
|
|
|
+ item.receiveName = check.receivename
|
|
|
|
|
+ item.sendcode = check.sendcode
|
|
|
|
|
+ item.whname = check.whname
|
|
|
|
|
+ item.custUserUU = check.custuseruu
|
|
|
|
|
+ item.sourceDate = check.pidate
|
|
|
|
|
|
|
|
- sourceInfos.push(sourceInfo)
|
|
|
|
|
- apCheck.items.push(item)
|
|
|
|
|
- // haveSelected = true
|
|
|
|
|
- // 如果是同一家客户,生成对账单的同时,关闭模态框
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 来源表相关信息
|
|
|
|
|
+ sourceInfo.sourceid = check.sourceid
|
|
|
|
|
+ sourceInfo.sourcetable = check.sourcetable
|
|
|
|
|
+ sourceInfo.newYCheckQty = ((check.ycheckqty || 0) + check.thischeckqty)
|
|
|
|
|
+
|
|
|
|
|
+ sourceInfos.push(sourceInfo)
|
|
|
|
|
+ apCheck.items.push(item)
|
|
|
|
|
+ // haveSelected = true
|
|
|
|
|
+ // 如果是同一家客户,生成对账单的同时,关闭模态框
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
})
|
|
})
|
|
|
if (this.ShowApcheckChooseTime) {
|
|
if (this.ShowApcheckChooseTime) {
|
|
|
let _time1 = this.isShowApcheckList.objTime.value.fromDate
|
|
let _time1 = this.isShowApcheckList.objTime.value.fromDate
|