|
@@ -281,7 +281,6 @@ module.exports = app => {
|
|
|
const paySql = `SELECT cp.*, c.c_code, c.name, c.party_b FROM ${this.ctx.service.contractPay.tableName} cp LEFT JOIN ${this.ctx.service.contract.tableName} c ON cp.cid = c.id ` +
|
|
const paySql = `SELECT cp.*, c.c_code, c.name, c.party_b FROM ${this.ctx.service.contractPay.tableName} cp LEFT JOIN ${this.ctx.service.contract.tableName} c ON cp.cid = c.id ` +
|
|
|
` WHERE cp.cid IN(${ids.map(x => { return `'${x}'`}).join(', ')}) AND cp.pay_time >= ? AND cp.pay_time <= ?`;
|
|
` WHERE cp.cid IN(${ids.map(x => { return `'${x}'`}).join(', ')}) AND cp.pay_time >= ? AND cp.pay_time <= ?`;
|
|
|
const validPays = await this.db.query(paySql, [beginTime, endTime]);
|
|
const validPays = await this.db.query(paySql, [beginTime, endTime]);
|
|
|
- console.log(this.db.format(paySql, [beginTime, endTime]));
|
|
|
|
|
|
|
|
|
|
const insertDetails = [];
|
|
const insertDetails = [];
|
|
|
for (const pay of validPays) {
|
|
for (const pay of validPays) {
|
|
@@ -311,17 +310,17 @@ module.exports = app => {
|
|
|
const conn = await this.db.beginTransaction();
|
|
const conn = await this.db.beginTransaction();
|
|
|
try {
|
|
try {
|
|
|
await conn.delete(this.tableName, { stage_id: this.ctx.costStage.id, ledger_id: ledgerId });
|
|
await conn.delete(this.tableName, { stage_id: this.ctx.costStage.id, ledger_id: ledgerId });
|
|
|
- await conn.insert(this.tableName, insertDetails);
|
|
|
|
|
|
|
+ if (insertDetails.length > 0) await conn.insert(this.tableName, insertDetails);
|
|
|
await conn.update(this.ctx.service.costStageLedger.tableName, billsUpdate);
|
|
await conn.update(this.ctx.service.costStageLedger.tableName, billsUpdate);
|
|
|
await conn.commit();
|
|
await conn.commit();
|
|
|
} catch(err) {
|
|
} catch(err) {
|
|
|
await conn.rollback();
|
|
await conn.rollback();
|
|
|
throw err;
|
|
throw err;
|
|
|
}
|
|
}
|
|
|
- const addData = await this.getAllDataByCondition({
|
|
|
|
|
- where: { id: this.ctx.helper._.map(insertDetails, 'id') }
|
|
|
|
|
- });
|
|
|
|
|
- const ledgerData = await this.ctx.service.costStageLedger.getDataById(addData[0].ledger_id);
|
|
|
|
|
|
|
+ const addData = insertDetails.length > 0
|
|
|
|
|
+ ? await this.getAllDataByCondition({ where: { id: this.ctx.helper._.map(insertDetails, 'id') }})
|
|
|
|
|
+ : [];
|
|
|
|
|
+ const ledgerData = await this.ctx.service.costStageLedger.getDataById(ledgerId);
|
|
|
return { detail: { add: addData, del: detailDatas.map(x => { return x.id; }) }, ledger: ledgerData };
|
|
return { detail: { add: addData, del: detailDatas.map(x => { return x.id; }) }, ledger: ledgerData };
|
|
|
}
|
|
}
|
|
|
async _importContractByTypes(ledgerId, costId, types, months) {
|
|
async _importContractByTypes(ledgerId, costId, types, months) {
|