优化
This commit is contained in:
@@ -79,7 +79,7 @@ async function createExtraPayable(context, fixture, index) {
|
||||
if (!feeItem || !inboundId || !partnerId) return null
|
||||
const body = { feeItemId: Number(feeItem.id), direction: 'PAYABLE', businessDate: new Date().toISOString().slice(0, 10),
|
||||
unitPrice: 90 + index * 10, amount: 90 + index * 10, currency: 'CNY', settlementIncluded: true,
|
||||
partnerId: Number(partnerId), partnerName: fixture.supplier?.supplierName || null, remark: `${MARKER}-AP-${index}` }
|
||||
partnerId, partnerName: fixture.supplier?.supplierName || null, remark: `${MARKER}-AP-${index}` }
|
||||
const basePath = `/api/platform/v1/inbounds/${inboundId}/fee-details`
|
||||
const createdResponse = await write(context, 'POST', `${basePath}?accountId=10001`, body, `extra-payable-${index}`)
|
||||
const created = data(createdResponse)
|
||||
@@ -133,7 +133,7 @@ async function createAp(context, fixture, source, role) {
|
||||
const response = await write(context, 'POST', `${BASE}/payable-settlements`, {
|
||||
customerId: 10001, supplierId: id(source.supplierId), feeSourceIds: [Number(source.feeSourceId)],
|
||||
dueDate: new Date().toISOString().slice(0, 10), currency: 'CNY',
|
||||
}, `ap-${role}-${source.feeSourceId}-create`)
|
||||
}, `ap-${role}-${source.feeSourceId}-${source.supplierId}-create`)
|
||||
const value = data(response)
|
||||
record(context, `${role} 创建应付结算单`, response, ok(response) && settlementId(value),
|
||||
`settlementId=${settlementId(value)}, status=${value?.paymentStatus}`)
|
||||
@@ -141,7 +141,7 @@ async function createAp(context, fixture, source, role) {
|
||||
}
|
||||
|
||||
async function findPayableBySource(context, feeSourceId) {
|
||||
const listResponse = await context.request('GET', `${BASE}/payable-settlements?customerId=10001`)
|
||||
const listResponse = await context.request('GET', `${BASE}/payable-settlements?customerId=10001&page=1&pageSize=200`)
|
||||
for (const item of rows(data(listResponse))) {
|
||||
const detailResponse = await context.request('GET', `${BASE}/settlements/${settlementId(item)}`)
|
||||
const value = data(detailResponse)
|
||||
@@ -205,8 +205,11 @@ async function recoverExistingDemo(context, reportPath) {
|
||||
}
|
||||
const approved = await approveAndInclude(context, { feeSourceId: payableIds[index] }, role)
|
||||
const existing = approved?.statementGenerated === true ? await findPayableBySource(context, payableIds[index]) : null
|
||||
const recoverySupplierId = role === 'apPartial'
|
||||
? id(matrix.payableSettlements?.apPaid?.supplierId)
|
||||
: id(fixture.supplier?.supplierId)
|
||||
const settlement = existing?.value ?? await createAp(context, fixture, {
|
||||
feeSourceId: payableIds[index], supplierId: id(fixture.supplier?.supplierId),
|
||||
feeSourceId: payableIds[index], supplierId: recoverySupplierId,
|
||||
}, role)
|
||||
if (existing?.value) record(context, `${role} 回读已有应付结算单`, existing.response, true,
|
||||
`settlementId=${settlementId(existing.value)}, feeSourceId=${payableIds[index]}`)
|
||||
|
||||
Reference in New Issue
Block a user