fix: 结算单显示具体规格逻辑修复 (#770)

Reviewed-on: daoyoucloud/tachybase#770
Co-authored-by: wjh <wwwjh0710@163.com>
Co-committed-by: wjh <wwwjh0710@163.com>
This commit is contained in:
wjh 2024-04-19 14:17:03 +08:00 committed by sealday
parent 9c310df255
commit 95fc2c4e16

View File

@ -107,7 +107,7 @@ export class SettlementService {
//租赁天数 历史订单就存开始日期到结束日期 当前订单存储订单日期到结束日期 //租赁天数 历史订单就存开始日期到结束日期 当前订单存储订单日期到结束日期
days: day, days: day,
is_excluded: false, is_excluded: false,
item_count: product.count, item_count: 0,
count: recordItem.weight * Number(movement), count: recordItem.weight * Number(movement),
unit_price: rule.unit_price * 1000, unit_price: rule.unit_price * 1000,
amount: recordItem.weight * (rule.unit_price * 1000) * day * Number(movement), amount: recordItem.weight * (rule.unit_price * 1000) * day * Number(movement),
@ -171,59 +171,47 @@ export class SettlementService {
settlementAbout.end_date, settlementAbout.end_date,
); );
const movement = item.movement === '-1' ? '1' : '-1'; const movement = item.movement === '-1' ? '1' : '-1';
const data = {
settlement_id: settlementsId, //合同ID
movement: item.movement, //出入库状态
date: item.date, //时间
name: productLength > 1 ? rule.comment ?? '' : recordItem.product.name, //名称
label: productLength > 1 ? rule.comment ?? '' : recordItem.product.name, //规格
category: item.category, //费用类别
//租赁天数 历史订单就存开始日期到结束日期 当前订单存储订单日期到结束日期
days: day,
is_excluded: false,
count: item.weight * Number(movement),
unit_price: rule.unit_price * 1000,
amount: item.weight * (rule.unit_price * 1000) * day * Number(movement),
unit_name: '吨',
productCategory,
};
const item_count = item.record_items.reduce((prev, curr) => { const item_count = item.record_items.reduce((prev, curr) => {
if ( const item = countRule.find(
countRule.find( (productRule) =>
(productRule) => (productRule.product_id > RulesNumber &&
(productRule.product_id > RulesNumber && productRule.product_id - RulesNumber === curr.product.category_id) ||
productRule.product_id - RulesNumber === curr.product.category_id) || productRule.product_id === curr?.product_id,
productRule.product_id === curr?.product_id, );
) if (productLength > 1 && item) {
) { const itemData = { ...data };
itemData['item_count'] = curr.count * Number(movement);
itemData['label'] =
`${rule.comment}-${curr.product.label}$$` ?? '' + `-${curr.product.label}$$`;
itemData['count'] = 0;
itemData['amount'] = 0;
createLeasDatas.push(itemData);
return prev + curr.count;
} else if (productLength <= 1 && !item) {
return prev + curr.count; return prev + curr.count;
} else { } else {
return prev + 0; return prev + 0;
} }
}, 0); }, 0);
if (productLength > 1) { data['item_count'] = productLength > 1 ? 0 : item_count * Number(movement);
createLeasDatas.push({ createLeasDatas.push(data);
settlement_id: settlementsId, //合同ID
movement: item.movement, //出入库状态
date: item.date, //时间
name: rule.comment ?? '', //名称
label: rule.comment ?? '', //规格
category: item.category, //费用类别
//租赁天数 历史订单就存开始日期到结束日期 当前订单存储订单日期到结束日期
days: day,
is_excluded: false,
item_count: productLength > 1 ? item_count : recordItem.count * Number(movement),
count: item.weight * Number(movement),
unit_price: rule.unit_price * 1000,
amount: item.weight * (rule.unit_price * 1000) * day * Number(movement),
unit_name: '吨',
productCategory,
});
}
createLeasDatas.push({
settlement_id: settlementsId, //合同ID
movement: item.movement, //出入库状态
date: item.date, //时间
name: productLength > 1 ? rule.comment ?? '' : recordItem.product.name, //名称
label:
productLength > 1
? `${rule.comment}-${recordItem.product.name}$$` ?? '' + `-${recordItem.product.name}$$`
: recordItem.product.name, //规格
category: item.category, //费用类别
//租赁天数 历史订单就存开始日期到结束日期 当前订单存储订单日期到结束日期
days: day,
is_excluded: false,
item_count: productLength > 1 ? item_count : recordItem.count * Number(movement),
count: productLength > 1 ? 0 : item.weight * Number(movement),
unit_price: rule.unit_price * 1000,
amount: productLength > 1 ? 0 : item.weight * (rule.unit_price * 1000) * day * Number(movement),
unit_name: '吨',
productCategory,
});
} }
} }
} else { } else {