Commit 304c5a50 by zhaoxiqing

gsb

parent 896e84ea
...@@ -4,73 +4,13 @@ const md5 = require("MD5"); ...@@ -4,73 +4,13 @@ const md5 = require("MD5");
const logCtl = system.getObject("web.oplogCtl"); const logCtl = system.getObject("web.oplogCtl");
class EcontractApi { class EcontractApi {
constructor() { constructor() {
this.userSve = system.getObject("service.userSve");
this.departmentSve = system.getObject("service.departmentSve");
this.esettleSve = system.getObject("service.esettleSve"); this.esettleSve = system.getObject("service.esettleSve");
this.busistatSve = system.getObject("service.busistatSve");
this.etemplatebusiSve = system.getObject("service.etemplatebusiSve");
this.restClient = system.getObject("util.restClient"); this.restClient = system.getObject("util.restClient");
this.redisClient = system.getObject("util.redisClient"); this.redisClient = system.getObject("util.redisClient");
this.outTradeNoKey = 'bpo_outtradeno'; this.outTradeNoKey = 'bpo_outtradeno';
} }
async syncUserDepartment(pobj) {
let map1 = await this.etemplatebusiSve.findOwnerBusiIdMap(1) || {};
let map2 = await this.etemplatebusiSve.findOwnerBusiIdMap(2) || {};
let keys1 = Object.keys(map1);
let keys2 = Object.keys(map2);
let keys3 = keys1.concat(keys2);
let userMap = await this.userSve.findMapByIds(keys3);
let departmentDic = await this.departmentSve.mapDict();
await this.updateStatDepartment(map1, userMap, departmentDic);
await this.updateStatDepartment(map2, userMap, departmentDic);
return system.getResult2(1);
}
async updateStatDepartment(map, userMap, departmentDic) {
for (let k in map) {
let busiIds = map[k] || [];
if (busiIds.length == 0) {
continue;
}
let user = userMap["id_" + k] || {};
let department = departmentDic[user.department_id || 0] || {};
await this.busistatSve.updateDepartmentName({
busiIds: busiIds,
user_name: user.nickName || "",
user_id: Number(k),
user_department_name: department.name || "",
});
}
}
async syncDepartmentStat(pobj) {
// 获取30天内数据
let t1 = new Date().getTime();
for (let i = 0; i < 30; i++) {
try {
let day = moment().subtract(30 - i, 'days').format('YYYY-MM-DD');
await this.syncDay({day: day});
} catch (e) {
console.log(e.stack);
}
}
let t2 = new Date().getTime();
console.log(t2 - t1, "------------------");
await this.syncUserDepartment();
return system.getResult2(1);
}
async syncDay(pobj) {
let day = pobj.day;
let dayNum = Number(day.replace(new RegExp("-", 'g'), ""));
let list = await this.esettleSve.busiStatByDay(day);
console.log(list);
await this.busistatSve.syncDayData(dayNum, list);
}
async settleCommission(obj, req) { async settleCommission(obj, req) {
this.esettleSve.settleCommission(obj.begin, obj.end); this.esettleSve.settleCommission(obj.begin, obj.end);
} }
......
...@@ -19,10 +19,10 @@ class BusistatCtl extends CtlBase { ...@@ -19,10 +19,10 @@ class BusistatCtl extends CtlBase {
return system.getResult2(list); return system.getResult2(list);
} }
async signList(queryobj, qobj, req) { async departmentList(queryobj, qobj, req) {
var params = qobj.search; var params = qobj.search;
try { try {
var page = await this.service.signPage(params); var page = await this.service.departmentList(params);
return system.getResult2(page); return system.getResult2(page);
} catch (e) { } catch (e) {
console.log(e); console.log(e);
...@@ -30,12 +30,12 @@ class BusistatCtl extends CtlBase { ...@@ -30,12 +30,12 @@ class BusistatCtl extends CtlBase {
} }
} }
async signExport(pobj, req, res) { async departmentExport(pobj, req, res) {
var params = JSON.parse(pobj.search); var params = JSON.parse(pobj.search);
try { try {
params.currentPage = 1; params.currentPage = 1;
params.pageSize = 60000; params.pageSize = 60000;
var page = await this.service.signPage(params); var page = await this.service.departmentList(params);
var csvobj = { var csvobj = {
fileName: "发薪统计-" + moment().format("YYYYMMDD") + ".csv", fileName: "发薪统计-" + moment().format("YYYYMMDD") + ".csv",
rows: page.rows, rows: page.rows,
......
...@@ -23,6 +23,40 @@ class BusistatDao extends Dao { ...@@ -23,6 +23,40 @@ class BusistatDao extends Dao {
let sql = "UPDATE `c_busi_stat` SET user_name = :user_name, user_id=:user_id, user_department_name= :user_department_name WHERE busi_id IN (:busiIds)"; let sql = "UPDATE `c_busi_stat` SET user_name = :user_name, user_id=:user_id, user_department_name= :user_department_name WHERE busi_id IN (:busiIds)";
return await this.customExecAddOrPutSql(sql, {replacements: params}); return await this.customExecAddOrPutSql(sql, {replacements: params});
} }
async departmentList(params){
var currentPage = Number(params.currentPage || 0);
var pageSize = Number(params.pageSize || 10);
var countsql = "SELECT COUNT(DISTINCT busi_id) AS num FROM `c_busi_stat` " + "WHERE 1 = 1 "
var listsql = "SELECT busi_name,user_name,user_department_name,SUM(times) AS times,SUM(amt) AS amt,SUM(actual_amt) AS actual_amt,SUM(deduct_amt) AS deduct_amt,SUM(income_tax) AS income_tax,SUM(service_tax) AS service_tax,SUM(added_value_tax) AS added_value_taxFROM `c_busi_stat` WHERE 1 = 1 \n"
if (params.busi_name) {
countsql = countsql+" AND busi_name LIKE :busi_name";
listsql = listsql+ " AND busi_name LIKE :busi_name"
}
if (params.user_department_name) {
countsql = countsql+" AND user_department_name = :user_department_name"
listsql = listsql+ " AND user_department_name = :user_department_name"
}
if(params.begin) {
countsql = countsql + " AND created_at >= :begin ";
listsql = listsql+ " AND stat_day >= :begin"
}
if(params.end) {
countsql = countsql + " AND created_at <= :end ";
listsql = listsql+ " AND stat_day <= :end"
}
console.log(countsql)
console.log(listsql)
var count = await this.customQuery(countsql, {busi_name:params.busi_name,user_department_name:params.user_department_name,begin:params.begin,end:params.end});
if(count[0].num == 0 ){
}
}
} }
module.exports = BusistatDao; module.exports = BusistatDao;
...@@ -17,34 +17,8 @@ class BusistatService extends ServiceBase { ...@@ -17,34 +17,8 @@ class BusistatService extends ServiceBase {
return await this.dao.updateDepartmentName(params); return await this.dao.updateDepartmentName(params);
} }
async signPage(params) { async departmentList(params) {
var currentPage = Number(params.currentPage || 0); return await this.dao.departmentList(params);
var pageSize = Number(params.pageSize || 10);
var where = {};
if (params.busi_name) {
where.busi_name = {
[this.db.Op.like]: "%" + params.busi_name + "%"
};
}
if (params.user_department_name) {
where.user_department_name = params.user_department_name;
}
var orderby = [
["id", 'desc']
];
var page = await this.getPageList(currentPage, pageSize, where, orderby);
if (page && page.rows) {
for(var row of page.rows) {
this.handleDate(row, ["created_at" , "updated_at"]);
}
// await this.setCompany(page.rows);
// await this.setMain(page.rows);
}
return page;
} }
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div style="float:left;width: 400px;"> <div style="float:left;width: 400px;">
<span style="color:2F2F2F;font-size: 14px; float:left;" >统计日期: </span> <span style="color:2F2F2F;font-size: 14px; float:left;" >统计日期: </span>
<el-date-picker <el-date-picker
v-model="search.applyBegin" v-model="search.begin"
type="date" type="date"
placeholder="开始时间" placeholder="开始时间"
style="width:140px;height: 36px;float:left;" style="width:140px;height: 36px;float:left;"
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
default-value=""> default-value="">
</el-date-picker> </el-date-picker>
<el-date-picker <el-date-picker
v-model="search.applyEnd" v-model="search.end"
type="date" type="date"
style="width:140px;height: 36px;margin-left: 16px;float:left;" style="width:140px;height: 36px;margin-left: 16px;float:left;"
placeholder="结束时间" placeholder="结束时间"
......
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
getList() { getList() {
var self = this; var self = this;
var params = this.getParams(); var params = this.getParams();
this.$root.postReq("/web/busistatCtl/signList", { this.$root.postReq("/web/busistatCtl/departmentList", {
search: params search: params
}).then(function (d) { }).then(function (d) {
if (d.status == 0) { if (d.status == 0) {
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
}); });
}, },
exportList() { exportList() {
window.open("/web/busistatCtl/signExport" + this.getExportParams()); window.open("/web/busistatCtl/departmentExport" + this.getExportParams());
}, },
getParams() { getParams() {
var params = {}; var params = {};
......
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