深圳市京贵投资有限公司(签约) 后端文件初始化

深圳市京贵投资有限公司
Chengliang 4 months ago
parent 46f1c9fde1
commit 2dcf46b579

@ -0,0 +1,13 @@
package com.api.gainway.web;
import javax.ws.rs.Path;
/**
* @Author liang.cheng
* @Date 2024/12/11 2:18 PM
* @Description:
* @Version 1.0
*/
@Path("/gainway/basicResource")
public class BasicResourceTableAction extends com.engine.gainway.web.BasicResourceTableAction {
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,111 @@
package com.api.hrm.util;
import com.engine.common.service.HrmCommonService;
import com.engine.common.service.impl.HrmCommonServiceImpl;
import com.engine.hrm.biz.HrmSanyuanAdminBiz;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.appdetach.AppDetachComInfo;
import weaver.hrm.moduledetach.ManageDetachComInfo;
import weaver.hrm.resource.ResourceComInfo;
import java.util.StringJoiner;
public class HrmReportDetachUtil extends BaseBean {
private char flag = Util.getSeparator();
private String rightStr = "HrmResourceAdd:Add";
public String getDetachSqlWhere(int userId, String alias){
String sqlWhere = "";
String manageDetachSqlWhere = this.getManageDetachSqlWhere(userId, alias);
String appDetachSqlWhere = "";
AppDetachComInfo appDetachComInfo = new AppDetachComInfo();
try {
appDetachSqlWhere = appDetachComInfo.getScopeSqlByHrmResourceSearch("" + userId, true, "resource_" + alias);
} catch (Exception e){
writeLog("获取应用分权SQL片段异常");
writeLog(e);
}
if (StringUtils.isNotBlank(manageDetachSqlWhere) && StringUtils.isNotBlank(appDetachSqlWhere)){
sqlWhere = manageDetachSqlWhere + " and " + appDetachSqlWhere;
} else if (StringUtils.isNotBlank(manageDetachSqlWhere) && StringUtils.isBlank(appDetachSqlWhere)){
sqlWhere = manageDetachSqlWhere;
} else if (StringUtils.isBlank(manageDetachSqlWhere) && StringUtils.isNotBlank(appDetachSqlWhere)){
sqlWhere = appDetachSqlWhere;
}
writeLog("分权sqlwhere" + sqlWhere);
return sqlWhere;
}
private String getManageDetachSqlWhere(int userId, String alias){
String sqlWhere = "";
try {
ManageDetachComInfo manageDetachComInfo = new ManageDetachComInfo();
ResourceComInfo resourceComInfo = new ResourceComInfo();
RecordSet recordSet = new RecordSet();
// 是否开启了管理分权
if (manageDetachComInfo.isUseManageDetach()){
// 是否启用了人力资源管理分权
if (manageDetachComInfo.isUseHrmManageDetach()){
// 系统管理员和大三员可以看所有机构
boolean canView = HrmSanyuanAdminBiz.canViewAllSubCompany(userId);
if (userId == 1 || canView){
return sqlWhere;
}
StringJoiner stringJoiner = new StringJoiner(",");
writeLog("启用人力资源管理分权");
recordSet.executeProc("HrmRoleSR_SeByURId", "" + userId + flag + rightStr);
while (recordSet.next()) {
if (recordSet.getInt("rightlevel") > -1) {
stringJoiner.add(String.valueOf(recordSet.getInt("subcompanyid")));
} else if (recordSet.getInt("rightlevel") == -1) {
stringJoiner.add(String.valueOf(-1 * recordSet.getInt("subcompanyid")));
}
}
String subCompanyIds = stringJoiner.toString();
if (subCompanyIds.length() == 0){
// 没有机构权限,查看不了任何分部
sqlWhere = " 1= 2";
} else {
sqlWhere = alias + ".subcompanyid1 in (" + subCompanyIds + ")";
}
} else {
writeLog("未启用人力资源管理分权");
if (resourceComInfo.isAdmin("" + userId)){
return sqlWhere;
}
HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
int roleLevel = hrmCommonService.getMaxRoleLevel(userId, rightStr);
if (roleLevel < 0){
sqlWhere = " 1=2 ";
} else if (roleLevel == 0){
// 成员级别为部门
String departmentId = resourceComInfo.getDepartmentID("" + userId);
sqlWhere = alias + ".departmentid = " + departmentId;
} else if (roleLevel == 1){
// 成员级别为分部
String subCompanyId = resourceComInfo.getSubCompanyID("" + userId);
sqlWhere = alias + ".subcompanyid1 = " + subCompanyId;
}
}
}
} catch (Exception e){
writeLog("获取管理分权SQL片段异常");
writeLog(e);
}
return sqlWhere;
}
}

@ -0,0 +1,21 @@
package com.engine.gainway.service;
import java.util.Map;
/**
* @Author liang.cheng
* @Date 2024/12/11 2:27 PM
* @Description: TODO
* @Version 1.0
*/
public interface BasicResourceTableService {
/**
* @Description:
* @Author: liang.cheng
* @Date: 2024/12/11 2:39 PM
* @param: [params]
* @return: java.util.Map<java.lang.String,java.lang.Object>
*/
Map<String, Object> linkTable(Map<String, Object> params);
}

@ -0,0 +1,20 @@
package com.engine.gainway.service.impl;
import com.engine.core.impl.Service;
import com.engine.gainway.service.BasicResourceTableService;
import java.util.Map;
/**
* @Author liang.cheng
* @Date 2024/12/11 2:27 PM
* @Description: TODO
* @Version 1.0
*/
public class BasicResourceTableServiceImpl extends Service implements BasicResourceTableService {
@Override
public Map<String, Object> linkTable(Map<String, Object> params) {
return null;
}
}

@ -0,0 +1,50 @@
package com.engine.gainway.web;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.gainway.service.BasicResourceTableService;
import com.engine.gainway.service.impl.BasicResourceTableServiceImpl;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
/**
* @Author liang.cheng
* @Date 2024/12/11 2:25 PM
* @Description: TODO
* @Version 1.0
*/
public class BasicResourceTableAction {
private BasicResourceTableService getService(User user) {
return ServiceUtil.getService(BasicResourceTableServiceImpl.class, user);
}
@GET
@Path("/linkTable")
@Produces(MediaType.TEXT_PLAIN)
public String linkTable(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String, Object> data = new HashMap<>(8);
try {
User user = HrmUserVarify.getUser(request, response);
data.put("datas",getService(user).linkTable(ParamUtil.request2Map(request)));
data.put("api_status", true);
} catch (Exception e) {
data.put("api_status", false);
data.put("msg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(data, SerializerFeature.DisableCircularReferenceDetect);
}
}
Loading…
Cancel
Save