Commit c9933661 by 王昆

gsb

parent d365ac50
......@@ -43,6 +43,49 @@ class electroniccontractDao extends Dao {
}
return result;
}
async countByIdNo(params) {
let sql = [];
sql.push("SELECT COUNT(DISTINCT id_no) AS num FROM electronic_contract_info WHERE 1 = 1 ");
this.setSqlParams(params, sql);
let rs = await this.customQuery(sql.join(" "), params);
if(rs && rs.length > 0) {
return rs[0].num || 0;
}
return 0;
}
async listByIdNo(params) {
let sql = [];
sql.push("SELECT * FROM electronic_contract_info WHERE 1 = 1 ");
this.setSqlParams(params, sql);
sql.push("GROUP BY id_no");
sql.push("ORDER BY id DESC");
sql.push("LIMIT :startRow, :pageSize");
return await this.customQuery(sql.join(" "), params);
}
setSqlParams(params, sql) {
if (params.company_name) {
sql.push("AND company_name = :company_name");
}
if(params.sign_body){
sql.push("AND sign_body = :sign_body");
}
if(params.id_no) {
sql.push("AND id_no = :id_no");
}
if (params.signBegin) {
sql.push("AND id_no >= :signBegin");
}
if (params.signEnd) {
sql.push("AND id_no <= :signEnd");
}
}
}
module.exports = electroniccontractDao;
\ No newline at end of file
......@@ -38,31 +38,21 @@ class ElectronicContractService extends ServiceBase {
}
async signPageGroup(params) {
var currentPage = Number(params.currentPage || 0);
var pageSize = Number(params.pageSize || 10);
var where = {};
if (params.company_name) {
where.company_name = {
[this.db.Op.like]: "%" + params.company_name + "%"
};
}
if(params.sign_body){
where.sign_body = params.sign_body;
params.currentPage = Number(params.currentPage || 1);
params.pageSize = Number(params.pageSize || 10);
params.company_name = this.trim(params.company_name);
params.sign_body = this.trim(params.sign_body);
params.id_no = this.trim(params.id_no);
let total = await this.dao.countByIdNo(params);
if (total == 0) {
return {count : 0, rows: []}
}
var id_no = this.trim(params.id_no);
if(id_no) {
where.id_no = id_no;
}
this.addWhereTime(where, 'completed_date', params.signBegin, params.signEnd, true);
var orderby = [
["id", 'desc']
];
var attributes = [`id`, `company_name`, `name`, `id_no`, `phone_no`, `bank_no`, `completed_date`, `file_url`, `sign_body`];
var page = await this.getPageList(currentPage, pageSize, where, orderby, attributes);
params.startRow = (params.currentPage - 1) * params.pageSize;
return page;
let list = await this.dao.listByIdNo(params);
return {count: total, rows: list};
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment