You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
4.4 KiB
Java
102 lines
4.4 KiB
Java
package com.customization.hrm.dept.impl;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.wbi.util.ParamUtil;
|
|
import com.wbi.util.StringUtil;
|
|
import com.weaverboot.frame.ioc.anno.classAnno.WeaIocReplaceComponent;
|
|
import com.weaverboot.frame.ioc.anno.methodAnno.WeaReplaceAfter;
|
|
import com.weaverboot.frame.ioc.handler.replace.weaReplaceParam.impl.WeaAfterReplaceParam;
|
|
import weaver.conn.RecordSet;
|
|
import weaver.general.BaseBean;
|
|
import weaver.general.Util;
|
|
import weaver.hrm.HrmUserVarify;
|
|
import weaver.hrm.User;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.util.*;
|
|
|
|
@WeaIocReplaceComponent
|
|
public class Proxy {
|
|
@WeaReplaceAfter(
|
|
value = "/api/hrm/base/getHrmSearchTree",
|
|
order = 1,
|
|
description = "qwer"
|
|
)
|
|
public String after(WeaAfterReplaceParam weaAfterReplaceParam) {
|
|
HttpServletRequest request = weaAfterReplaceParam.getRequest();
|
|
HttpServletResponse response = weaAfterReplaceParam.getResponse();
|
|
String data = weaAfterReplaceParam.getData();
|
|
Map paramMap = ParamUtil.request2Map(request);
|
|
String type = Util.null2String(paramMap.get("type"));
|
|
String id = Util.null2String(paramMap.get("id"));
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
int userID = user.getUID();
|
|
new BaseBean().writeLog("type===" + type);
|
|
if (!StringUtil.isBlank(type)){
|
|
Map<String, Object> result = extracted(paramMap, JSON.parseObject(data, Map.class),userID);
|
|
return JSON.toJSONString(result);
|
|
}else {
|
|
return data;
|
|
}
|
|
}
|
|
private Map<String, Object> extracted(Map<String, Object> params, Map<String, Object> result, int userID) {
|
|
try {
|
|
// Map<String, Object> resultNew = result;
|
|
String type = Util.null2String(params.get("type"));
|
|
String id = Util.null2String(params.get("id"));
|
|
RecordSet recordSet = new RecordSet();
|
|
ArrayList<String> idlist = new ArrayList<>();
|
|
Map<String,String> bmIdHrmMap = new HashMap<>();
|
|
|
|
if ("1".equals(type)) {
|
|
recordSet.executeQuery("select BM,KJRY,FB from uf_txlbxsbm where fb = ?",id);
|
|
while (recordSet.next()){
|
|
String bm = Util.null2String(recordSet.getString("BM"));
|
|
String kjry = Util.null2String(recordSet.getString("KJRY"));
|
|
// String fb = Util.null2String(recordSet.getString("FB"));
|
|
idlist.add(bm);
|
|
bmIdHrmMap.put(bm,kjry);
|
|
}
|
|
}
|
|
if ("2".equals(type)) {
|
|
recordSet.executeQuery("select BM,KJRY,FB from uf_txlbxsbm where SJBM = ?",id);
|
|
while (recordSet.next()){
|
|
String bm = Util.null2String(recordSet.getString("BM"));
|
|
String kjry = Util.null2String(recordSet.getString("KJRY"));
|
|
// String fb = Util.null2String(recordSet.getString("FB"));
|
|
idlist.add(bm);
|
|
bmIdHrmMap.put(bm,kjry);
|
|
}
|
|
|
|
}
|
|
List<Map<String,Object>> departmentList = (List<Map<String, Object>>)(result.get("datas"));
|
|
List<Map<String,Object>> departmentListNew = new ArrayList<>();
|
|
new BaseBean().writeLog(departmentList.toString());
|
|
new BaseBean().writeLog(idlist.toString());
|
|
new BaseBean().writeLog(bmIdHrmMap.toString());
|
|
for (Map<String, Object> department : departmentList){
|
|
String deptid = department.get("id").toString() ;
|
|
// deptid = deptid.substring(1, deptid.length());
|
|
if (!idlist.contains(deptid)){
|
|
departmentListNew.add(department);
|
|
}else {
|
|
String kjry = bmIdHrmMap.get(deptid);
|
|
List<String> kjrylist = Arrays.asList(kjry.split(","));
|
|
if (kjrylist.contains(userID+"")){
|
|
departmentListNew.add(department);
|
|
}
|
|
}
|
|
}
|
|
new BaseBean().writeLog(departmentListNew.toString());
|
|
result.put("datas",departmentListNew);
|
|
new BaseBean().writeLog(result.toString());
|
|
return result;
|
|
}catch (Exception e){
|
|
new BaseBean().writeLog(e.getMessage());
|
|
e.printStackTrace();
|
|
return result;
|
|
}
|
|
}
|
|
}
|