diff --git a/app/service/contract.js b/app/service/contract.js index 7aca041..f8bdc5a 100644 --- a/app/service/contract.js +++ b/app/service/contract.js @@ -3,7 +3,6 @@ const Service = require('egg').Service; const objExclude = require('../util/common').objExclude; const objToQuery = require('../util/common').objToQuery; -const moment = require('moment'); class ContractService extends Service { async count() { @@ -11,22 +10,18 @@ class ContractService extends Service { return result; } async add(data) { - const value = data; - value.create_time = moment().format('YYYY-MM-DD HH:mm:ss'); - const result = await this.app.mysql.insert('contract', value); + const result = await this.app.mysql.insert('contract', data); return result; } async update(data) { - const value = data; - value.update_time = moment().format('YYYY-MM-DD HH:mm:ss'); - const result = await this.app.mysql.update('contract', value); + const result = await this.app.mysql.update('contract', data); return result; } async find(id) { // const user = await this.app.mysql.get('contract', { id }); const user = await this.app.mysql.query(` - select id, customer_id, number, value, product, invoice, date_format(invoice_time, '%Y-%m-%d') as invoice_time, - method, date_format(method_time, '%Y-%m-%d') as method_time, other_expenses, remark, type, create_time, update_time + select id, customer_id, number, name, value, product, invoice, date_format(invoice_time, '%Y-%m-%d') as invoice_time, + method, date_format(method_time, '%Y-%m-%d') as method_time, other_expenses, remark, type from contract where id = ? `, [ id ]); const result = user && user.length > 0 ? user[0] : {}; diff --git a/app/service/project.js b/app/service/project.js index 7cc2f6c..d111858 100644 --- a/app/service/project.js +++ b/app/service/project.js @@ -2,6 +2,7 @@ const Service = require('egg').Service; const objExclude = require('../util/common').objExclude; +const moment = require('moment'); class ProjectService extends Service { async count() { @@ -9,11 +10,20 @@ class ProjectService extends Service { return result; } async add(data) { - const result = await this.app.mysql.insert('project', data); + const value = data; + value.create_time = moment().format('YYYY-MM-DD HH:mm:ss'); + const todayCountResult = await this.app.mysql.query('select count(*) as count from project where create_time like ?', [ `%${moment().format('YYYY-MM-DD')}%` ]); + const todayCount = todayCountResult && todayCountResult.length > 0 ? todayCountResult[0].count : 0; + const count = Number(todayCount) + 1; + const number = `SF${moment().format('YYYYMMDD')}${count > 9 ? count : `0${count}`}`; + value.number = number; + const result = await this.app.mysql.insert('project', value); return result; } async update(data) { - const result = await this.app.mysql.update('project', data); + const value = data; + value.update_time = moment().format('YYYY-MM-DD HH:mm:ss'); + const result = await this.app.mysql.update('project', value); return result; } async find(id) { diff --git a/app/service/statistic.js b/app/service/statistic.js index e412db3..e6e13ea 100644 --- a/app/service/statistic.js +++ b/app/service/statistic.js @@ -17,6 +17,22 @@ class StatisticService extends Service { `); return result && result.length > 0 ? result[0] : {}; } + async projectAnalysis() { + const result = await this.app.mysql.query(` + select + project.number, + project.name, + s_contract.value as s_value, + s_contract.other_expenses as s_other_expenses, + s_contract.invoice as s_invoice, + p_contract.value as p_value, + p_contract.other_expenses as p_other_expenses, + p_contract.invoice as p_invoice + from project, contract as s_contract, contract as p_contract + where project.sale_contract_id = s_contract.id and project.purchase_contract_id = p_contract.id + `); + return result; + } } module.exports = StatisticService; -- libgit2 0.21.0