| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 'use strict';module.exports = app => {    class ScheduleLedgerMonth extends app.BaseService {        constructor(ctx) {            super(ctx);            this.tableName = 'schedule_ledger_month';        }        async save(data) {            // 判断是添加,删除,还是修改            const transaction = await this.db.beginTransaction();            try {                const info = await this.getDataByCondition({ tid: this.ctx.tender.id, lid: data.lid, yearmonth: data.yearmonth });                if (info) {                    if (data.plan_gcl === null && data.plan_tp === null) {                        await transaction.delete(this.tableName, { id: info.id });                    } else {                        const updateData = {                            id: info.id,                            plan_gcl: data.plan_gcl,                            plan_tp: data.plan_tp,                        };                        await transaction.update(this.tableName, updateData);                    }                } else {                    const insertData = {                        tid: this.ctx.tender.id,                        lid: data.lid,                        yearmonth: data.yearmonth,                        plan_gcl: data.plan_gcl,                        plan_tp: data.plan_tp,                    };                    await transaction.insert(this.tableName, insertData);                }                await transaction.commit();                return true;            } catch (err) {                await transaction.rollback();                throw err;            }        }    }    return ScheduleLedgerMonth;};
 |