123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date 2021/7/20
- * @version
- */
- module.exports = app => {
- class SumLoadHistory extends app.BaseService {
- /**
- * 构造函数
- *
- * @param {Object} ctx - egg全局变量
- * @return {void}
- */
- constructor(ctx) {
- super(ctx);
- this.tableName = 'sum_load_history';
- }
- async getHistroy(tid, lid, type) {
- const his = await this.db.select(this.tableName, {
- where: { tid, lid, type },
- orders: [['load_time', 'desc']],
- limit: 1,
- offset: 0,
- });
- const result = his.length > 0 ? his[0] : null;
- if (result && result.tenders) result.tenders = JSON.parse(result.tenders);
- if (result && result.errors) result.errors = JSON.parse(result.errors);
- return result;
- }
- async getLedgerHistory(tid, lid) {
- return await this.getHistroy(tid, lid, 'ledger');
- }
- async getReviseHistory(tid, lid) {
- return await this.getHistroy(tid, lid, 'revise');
- }
- async getStageHistory(tid, lid) {
- return await this.getHistroy(tid, lid, 'stage');
- }
- async saveLedgerHistory(tid, lid, tenders, errors) {
- const data = {
- tid, lid, type: 'ledger',
- load_time: new Date(), uid: this.ctx.session.sessionUser.accountId,
- tenders: JSON.stringify(tenders), errors: errors ? JSON.stringify(errors) : '',
- };
- await this.db.insert(this.tableName, data);
- data.tenders = tenders;
- data.errors = errors;
- return data;
- }
- async saveReviseHistory(tid, rid, lid, tenders, errors) {
- const data = {
- tid, lid, type: 'revise', rid,
- load_time: new Date(), uid: this.ctx.session.sessionUser.accountId,
- tenders: JSON.stringify(tenders), errors: errors ? JSON.stringify(errors) : '',
- };
- await this.db.insert(this.tableName, data);
- data.tenders = tenders;
- data.errors = errors;
- return data;
- }
- async saveStageHistory(tid, sid, lid, tenders, errors, cover) {
- const data = {
- tid, lid, type: 'stage', sid,
- load_time: new Date(), uid: this.ctx.session.sessionUser.accountId,
- tenders: JSON.stringify(tenders), errors: errors ? JSON.stringify(errors) : '',
- cover: cover,
- };
- await this.db.insert(this.tableName, data);
- data.tenders = tenders;
- data.errors = errors;
- return data;
- }
- async getReviseLastestData(rid) {
- const sql = 'SELECT * FROM ' + this.tableName +
- ' WHERE id in ( SELECT top 1 id FROM ' + this.tableName + ' WHERE rid = ? order by load_time desc)';
- const data = await this.db.query(sql, [rid]);
- if (data.tenders) data.tenders = JSON.parse(data.tenders);
- if (data.errors) data.errors = JSON.parse(data.errors);
- return data;
- }
- async getStageLastestData(sid) {
- const sql = 'SELECT * FROM ' + this.tableName +
- ' WHERE id in ( SELECT top 1 id FROM ' + this.tableName + ' WHERE sid = ? order by load_time desc)';
- const data = await this.db.query(sql, [sid]);
- if (data.tenders) data.tenders = JSON.parse(data.tenders);
- if (data.errors) data.errors = JSON.parse(data.errors);
- return data;
- }
- }
- return SumLoadHistory;
- };
|