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.
124 lines
6.5 KiB
Java
124 lines
6.5 KiB
Java
package com.engine.service.ModeForm.impl;
|
|
|
|
import com.engine.service.entity.Result;
|
|
import com.engine.service.ModeForm.ModeFormService;
|
|
import weaver.conn.RecordSet;
|
|
import weaver.general.BaseBean;
|
|
import weaver.general.Util;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
public class ModeFormServiceImpl implements ModeFormService {
|
|
@Override
|
|
public Result getDepartmentFormField(Map<String, Object> paramMap) {
|
|
int level = Util.getIntValue((String) paramMap.get("level"),0);
|
|
int alllevel = Util.getIntValue((String)paramMap.get("alllevel"),0);
|
|
|
|
RecordSet recordSet = new RecordSet();
|
|
ArrayList<Map<String, String>> records = new ArrayList<>();
|
|
if (level == 1){ //点击分部
|
|
int id = Util.getIntValue((String) paramMap.get("id"), 0);
|
|
recordSet.executeQuery("select dept.id id , SUBCOMPANYID1 SUBCOMPANYID ,SUPDEPID, defined.FZXBSJB FZXBSJB,defined.SFYJZXYWBS SFYJZXYWBS from HRMDEPARTMENT dept " +
|
|
"left join hrmdepartmentdefined defined "+
|
|
"on dept.id = defined.DEPTID where dept.SUBCOMPANYID1 = ?",id);
|
|
while (recordSet.next()){
|
|
HashMap<String, String> record = new HashMap<>();
|
|
String deptid = Util.null2String(recordSet.getString("id"));
|
|
record.put("id",deptid);
|
|
//是否一级支行业务部室 0 是 1 否
|
|
String fzxbsjb = Util.null2String(recordSet.getString("FZXBSJB"));
|
|
record.put("fzxbsjb",fzxbsjb);
|
|
//分支行部室级别
|
|
String sfyjzxywbs = Util.null2String(recordSet.getString("SFYJZXYWBS"));
|
|
record.put("sfyjzxywbs",sfyjzxywbs);
|
|
String subcompanyid = Util.null2String(recordSet.getString("SUBCOMPANYID"));
|
|
record.put("subcompanyid",subcompanyid);
|
|
String supdepid = Util.null2String(recordSet.getString("SUPDEPID"));
|
|
record.put("supdepid",supdepid);
|
|
records.add(record);
|
|
}
|
|
return new Result(records,200);
|
|
}else if(level == 2 || level == 3 || level == 3){
|
|
int id = Util.getIntValue((String) paramMap.get("id"), 0);
|
|
recordSet.executeQuery("select dept.id id ,SUBCOMPANYID1 SUBCOMPANYID ,SUPDEPID, defined.FZXBSJB FZXBSJB,defined.SFYJZXYWBS SFYJZXYWBS from HRMDEPARTMENT dept " +
|
|
"left join hrmdepartmentdefined defined "+
|
|
"on dept.id = defined.DEPTID where dept.SUBCOMPANYID1 = (select SUBCOMPANYID1 from HRMDEPARTMENT where id = ? )",id);
|
|
while (recordSet.next()){
|
|
HashMap<String, String> record = new HashMap<>();
|
|
String deptid = Util.null2String(recordSet.getString("id"));
|
|
record.put("id",deptid);
|
|
//是否一级支行业务部室 0 是 1 否
|
|
String fzxbsjb = Util.null2String(recordSet.getString("FZXBSJB"));
|
|
record.put("fzxbsjb",fzxbsjb);
|
|
//分支行部室级别
|
|
String sfyjzxywbs = Util.null2String(recordSet.getString("SFYJZXYWBS"));
|
|
record.put("sfyjzxywbs",sfyjzxywbs);
|
|
String subcompanyid = Util.null2String(recordSet.getString("SUBCOMPANYID"));
|
|
record.put("subcompanyid",subcompanyid);
|
|
String supdepid = Util.null2String(recordSet.getString("SUPDEPID"));
|
|
record.put("supdepid",supdepid);
|
|
records.add(record);
|
|
}
|
|
return new Result(records,200);
|
|
}else if(alllevel ==1){
|
|
String types = Util.null2String(paramMap.get("types"));
|
|
String[] typeArr = null;
|
|
if (types.length() > 0){
|
|
typeArr = types.split(",");
|
|
}
|
|
ArrayList<String> deptList = new ArrayList<>();
|
|
ArrayList<String> subcomList = new ArrayList<>();
|
|
for (String type : typeArr) {
|
|
String[] item = type.split("\\|");
|
|
String itemType = item[0];
|
|
if ("subcom".equals(itemType)){
|
|
subcomList.add(item[1]);
|
|
}
|
|
if ("dept".equals(itemType)){
|
|
deptList.add(item[1]);
|
|
}
|
|
}
|
|
|
|
String a = String.join(",",subcomList);
|
|
String b = String.join(",",deptList);
|
|
String sql = "select distinct dept.id id ,SUBCOMPANYID1 SUBCOMPANYID ,SUPDEPID, defined.FZXBSJB FZXBSJB,defined.SFYJZXYWBS SFYJZXYWBS from HRMDEPARTMENT dept " +
|
|
"left join hrmdepartmentdefined defined "+
|
|
"on dept.id = defined.DEPTID where ";
|
|
if (subcomList.size() > 0){
|
|
sql = sql + "dept.SUBCOMPANYID1 in ("+a+")";
|
|
}
|
|
if(subcomList.size() > 0 && deptList.size() > 0){
|
|
sql = sql + " or ";
|
|
}
|
|
if (deptList.size() > 0){
|
|
sql = sql + " dept.SUBCOMPANYID1 in (select SUBCOMPANYID1 from HRMDEPARTMENT where id in ("+b+") )";
|
|
}
|
|
recordSet.executeQuery(sql);
|
|
new BaseBean().writeLog("select distinct dept.id id ,SUBCOMPANYID1 SUBCOMPANYID ,SUPDEPID, defined.FZXBSJB FZXBSJB,defined.SFYJZXYWBS SFYJZXYWBS from HRMDEPARTMENT dept " +
|
|
"left join hrmdepartmentdefined defined "+
|
|
"on dept.id = defined.DEPTID where dept.SUBCOMPANYID1 in ("+a+") or dept.SUPDEPID in (select SUBCOMPANYID1 from HRMDEPARTMENT where id in ("+b+") )");
|
|
while (recordSet.next()){
|
|
HashMap<String, String> record = new HashMap<>();
|
|
String deptid = Util.null2String(recordSet.getString("id"));
|
|
record.put("id",deptid);
|
|
//是否一级支行业务部室 0 是 1 否
|
|
String fzxbsjb = Util.null2String(recordSet.getString("FZXBSJB"));
|
|
record.put("fzxbsjb",fzxbsjb);
|
|
//分支行部室级别
|
|
String sfyjzxywbs = Util.null2String(recordSet.getString("SFYJZXYWBS"));
|
|
record.put("sfyjzxywbs",sfyjzxywbs);
|
|
String subcompanyid = Util.null2String(recordSet.getString("SUBCOMPANYID"));
|
|
record.put("subcompanyid",subcompanyid);
|
|
String supdepid = Util.null2String(recordSet.getString("SUPDEPID"));
|
|
record.put("supdepid",supdepid);
|
|
records.add(record);
|
|
}
|
|
new BaseBean().writeLog(records);
|
|
return new Result(records,200);
|
|
}
|
|
return new Result(null,500);
|
|
}
|
|
}
|