Commit 5d5d729c by 王昆

gsb

parent 4e8ca5d1
......@@ -20,10 +20,20 @@ class OrgDao extends Dao {
return await this.customQuery(sql.join(" "), params);
}
async all() {
return this.customQuery("SELECT * FROM uc_org WHERE deleted_at IS NULL");
async all(saas_id, attrs) {
attrs = attrs || "*";
var sql = [];
sql.push("SELECT");
sql.push(attrs);
sql.push("FROM uc_org");
sql.push("WHERE deleted_at IS NULL");
var params = {};
if(saas_id) {
sql.push("AND saas_id = :saas_id");
params.saas_id = saas_id;
}
return this.customQuery(sql.join(" "), params);
}
}
module.exports = OrgDao;
\ No newline at end of file
......@@ -72,7 +72,7 @@ class AuthService extends ServiceBase {
}
async tree(params) {
var all = await this.dao.all(params.saas_id, "id, pid, menuType, name, icon, path");
var all = await this.dao.all(params.saas_id, "id, orgname, path, pid");
var pmap = {};
for (var item of all) {
......
......@@ -55,7 +55,7 @@ class OrgService extends ServiceBase {
/**
* 根据ID查询该组织机构下的所有用户
*/
async apiFindUserByOrgId(params){
async apiFindUserByOrgId(params) {
try {
return this.findUserByOrgId(params.id);
} catch (error) {
......@@ -67,11 +67,11 @@ class OrgService extends ServiceBase {
* 根据ID查明细
* @param {*} params
*/
async apiQueryById(params){
async apiQueryById(params) {
try {
return await this.queryById(params)
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
......@@ -79,11 +79,11 @@ class OrgService extends ServiceBase {
* 根据Ip查明细
* @param {*} params
*/
async apiByPid(params){
async apiByPid(params) {
try {
return await this.byPid(params)
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
......@@ -91,11 +91,11 @@ class OrgService extends ServiceBase {
* 根据ID查明细
* @param {*} params
*/
async apiTree(params){
async apiTree(params) {
try {
return await this.tree(params)
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
......@@ -111,14 +111,24 @@ class OrgService extends ServiceBase {
var pid = Number(params.pid || 0);
params.orgname = this.trim(params.orgname);
params.saas_id = Number(params.saas_id || 0);
if(!params.saas_id){return system.getResult(-1,`saas_id不存在`)}
if(!params.orgname){return system.getResult(-1,`参数错误 组织名称不能为空`)}
let _orgByName = await this.findOne({orgname:params.orgname, saas_id: params.saas_id});
if(_orgByName){
return system.getResult(-1,`参数错误 组织名称已经存在`);
if (!params.saas_id) {
return system.getResult(-1, `saas_id不存在`)
}
if (!params.orgname) {
return system.getResult(-1, `参数错误 组织名称不能为空`)
}
let _orgByName = await this.findOne({
orgname: params.orgname,
saas_id: params.saas_id
});
if (_orgByName) {
return system.getResult(-1, `参数错误 组织名称已经存在`);
}
let path = "";
if(pid === 0){
if (pid === 0) {
// 验证是否存在其他权限
var exist = await this.findCount({
where: {
......@@ -130,18 +140,20 @@ class OrgService extends ServiceBase {
}
path = `/${params.orgname}`;
}else{
let _org = await this.findOne({id:pid});
if(!_org){
return system.getResult(-1,`参数错误 父节点不存在`);
} else {
let _org = await this.findOne({
id: pid
});
if (!_org) {
return system.getResult(-1, `参数错误 父节点不存在`);
}
path =`${_org.path}/${params.orgname}`;
path = `${_org.path}/${params.orgname}`;
}
params.path=path;
params.path = path;
let res = await this.dao.create(params);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
......@@ -179,20 +191,20 @@ class OrgService extends ServiceBase {
}
//检查组织机构下是否有用户
let _usersRes = await this.findUserByOrgId(params.id);
if(_usersRes.status===-1){
if (_usersRes.status === -1) {
return _usersRes;
}
if(_usersRes.data.length!=0){
return system.getResult(-1,`该组织机构不能删除`);
}
if (_usersRes.data.length != 0) {
return system.getResult(-1, `该组织机构不能删除`);
}
//检查父节点 下是否有子节点
let _orgChildren = await this.dao.model.findAll({
where:{
pid:this.trim(params.id)
where: {
pid: this.trim(params.id)
}
});
if(_orgChildren.length!=0){
return system.getResult(-1,`该组织机构不能删除`);
if (_orgChildren.length != 0) {
return system.getResult(-1, `该组织机构不能删除`);
}
//删除
let res = await _org.destroy();
......@@ -233,50 +245,52 @@ class OrgService extends ServiceBase {
}
}
async queryById(params){
if(!params.id){
async queryById(params) {
if (!params.id) {
return system.getResult(-1, `参数错误 ID不能为空`);
}
try {
let _org = await this.findOne({id:this.trim(params.id)});
let _org = await this.findOne({
id: this.trim(params.id)
});
return system.getResult(_org);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
/**
* 根据ID查询该组织机构下的所有用户
*/
async findUserByOrgId(id){
if(!Number(id)){
return system.getResult(-1,`参数错误 组织机构不能为空`);
async findUserByOrgId(id) {
if (!Number(id)) {
return system.getResult(-1, `参数错误 组织机构不能为空`);
}
try {
let res = await this.dao.findUserByOrgId(id);
let res = await this.dao.findUserByOrgId(id);
return system.getResult(res);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
async byPid(obj) {
try {
var list = await this.dao.findAll({
pid: obj.pid || 0,
});
return system.getResult(list);
return system.getResult(list);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
}
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
/**
* 结构树
*/
async tree() {
async tree(params) {
try {
var all = await this.dao.all();
var all = await this.dao.all(params.saas_id);
var pmap = {};
for (var item of all) {
var list = pmap[item.pid];
......@@ -286,14 +300,14 @@ class OrgService extends ServiceBase {
list.push(item);
pmap[item.pid] = list;
}
for(var item of all) {
for (var item of all) {
item.childs = pmap[item.id] || [];
}
return system.getResult(pmap[0]);
} catch (error) {
return system.getResult(-1,`系统错误 错误信息 ${error}`);
return system.getResult(-1, `系统错误 错误信息 ${error}`);
}
}
}
module.exports = OrgService;
\ No newline at end of file
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