feat: 合同方案租金表添加修改校验

This commit is contained in:
lyx 2024-04-08 15:49:52 +08:00
parent 96fe4c107e
commit e47446cc24
2 changed files with 8 additions and 3 deletions

View File

@ -0,0 +1,5 @@
---
"@hera/plugin-rental": patch
---
修改合同方案租赁明细表的添加校验

View File

@ -71,14 +71,14 @@ export class ContractRuleService {
if (!options.values?.contract_plan && !options.values?.products) return; if (!options.values?.contract_plan && !options.values?.products) return;
const plan = await this.db.getRepository('contract_plans').findOne({ const plan = await this.db.getRepository('contract_plans').findOne({
where: { where: {
id: options.values.contract_plan.id, id: options.values?.contract_plan?.id || options.values?.contract_plan_id,
}, },
appends: ['lease_items', 'lease_items.products'], appends: ['lease_items', 'lease_items.products'],
}); });
const add = options.values.products; const add = options.values.products;
const productData = plan.lease_items.map((item) => item.products).flat(); const productData = plan.lease_items.filter(item => item.id !== options.values.id && item.products.length === add.length).map((item) => item.products).flat()
productData.forEach((item) => { productData.forEach((item) => {
const isHas = add.find((p) => p.raw_category_id === item.raw_category_id); const isHas = add.find((p) => (p.id < 99999 && (p.id === item.id || (item.id > 99999 && p.raw_category_id === item.raw_category_id))) || (p.id > 99999 && p.raw_category_id === item.raw_category_id));
if (isHas) { if (isHas) {
throw new Error('方案中存在此产品'); throw new Error('方案中存在此产品');
} }