Merge remote-tracking branch 'origin/develop' into feature/ml
This commit is contained in:
commit
72d2867244
|
|
@ -38,7 +38,7 @@ public class TreeSelect {
|
|||
private String canceled;
|
||||
private boolean disabled;
|
||||
|
||||
private String cancelSql;
|
||||
private String showCanceled;
|
||||
|
||||
public List<TreeSelect> getChildren() {
|
||||
if (null != children) {
|
||||
|
|
@ -50,24 +50,24 @@ public class TreeSelect {
|
|||
String sql = "select id ,subcompanyname ,canceled from hrmsubcompany where " + getCancelSqlStr() + " and (supsubcomid is null or supsubcomid = 0) and companyid = ? order by showorder,id";
|
||||
rs.executeQuery(sql, key);
|
||||
while (rs.next()) {
|
||||
children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).canceled(rs.getString("canceled")).type(SUB_COMPANY).cancelSql(cancelSql).build());
|
||||
children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).canceled(rs.getString("canceled")).type(SUB_COMPANY).showCanceled(showCanceled).build());
|
||||
}
|
||||
} else if (SUB_COMPANY.equals(type)) {
|
||||
String sql = "select id ,subcompanyname ,canceled from hrmsubcompany where " + getCancelSqlStr() + " and supsubcomid = ? order by showorder,id";
|
||||
rs.executeQuery(sql, key);
|
||||
while (rs.next()) {
|
||||
children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).canceled(rs.getString("canceled")).type(SUB_COMPANY).cancelSql(cancelSql).build());
|
||||
children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).canceled(rs.getString("canceled")).type(SUB_COMPANY).showCanceled(showCanceled).build());
|
||||
}
|
||||
sql = "select id,departmentname ,canceled from hrmdepartment where " + getCancelSqlStr() + " and (supdepid is null or supdepid =0) and subcompanyid1 = ? order by showorder,id";
|
||||
rs.executeQuery(sql, key);
|
||||
while (rs.next()) {
|
||||
children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("departmentname")).canceled(rs.getString("canceled")).type(DEPARTMENT).cancelSql(cancelSql).build());
|
||||
children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("departmentname")).canceled(rs.getString("canceled")).type(DEPARTMENT).showCanceled(showCanceled).build());
|
||||
}
|
||||
} else if (DEPARTMENT.equals(type)) {
|
||||
String sql = "select id,departmentname ,canceled from hrmdepartment where " + getCancelSqlStr() + " and supdepid = ? order by showorder,id";
|
||||
rs.executeQuery(sql, key);
|
||||
while (rs.next()) {
|
||||
children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("departmentname")).canceled(rs.getString("canceled")).type(DEPARTMENT).cancelSql(cancelSql).build());
|
||||
children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("departmentname")).canceled(rs.getString("canceled")).type(DEPARTMENT).showCanceled(showCanceled).build());
|
||||
}
|
||||
}
|
||||
return CollectionUtils.isEmpty(children) ? null : children;
|
||||
|
|
@ -98,12 +98,12 @@ public class TreeSelect {
|
|||
return canceled;
|
||||
}
|
||||
|
||||
public String getCancelSql() {
|
||||
public String getShowCanceled() {
|
||||
return null;
|
||||
}
|
||||
|
||||
private String getCancelSqlStr() {
|
||||
if (StringUtils.isNotBlank(cancelSql) && "1".equals(cancelSql)) {
|
||||
if (StringUtils.isNotBlank(showCanceled) && "1".equals(showCanceled)) {
|
||||
return " 1=1 ";
|
||||
} else {
|
||||
return " (canceled is null or canceled != 1) ";
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ import weaver.conn.RecordSet;
|
|||
import weaver.conn.RecordSetTrans;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
import weaver.hrm.company.DepartmentComInfo;
|
||||
import weaver.hrm.company.SubCompanyComInfo;
|
||||
import weaver.hrm.resource.ResourceComInfo;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
|
@ -480,11 +482,14 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|||
rs.executeQuery("select id,companyname from hrmcompany");
|
||||
TreeSelect companyTree = null;
|
||||
List<String> expandedKeys = new ArrayList<>();
|
||||
String canceled = Util.null2String(params.get("canceled"));
|
||||
String showCanceled = Util.null2String(params.get("showCanceled"));
|
||||
String expandedKeyStr = Util.null2String(params.get("expandedKeys"));
|
||||
if(rs.next()){
|
||||
companyTree = TreeSelect.builder().key(rs.getString("id")).title(rs.getString("companyname")).type(TreeSelect.COMPANY).cancelSql(canceled).build();
|
||||
companyTree = TreeSelect.builder().key(rs.getString("id")).title(rs.getString("companyname")).type(TreeSelect.COMPANY).showCanceled(showCanceled).build();
|
||||
expandedKeys.add(companyTree.getKey());
|
||||
}
|
||||
// 所有需展开节点,同时需查询父级部门、分部ID
|
||||
addParentTreeId(expandedKeys, expandedKeyStr);
|
||||
Map<String, Object> result = new HashMap<>(3);
|
||||
result.put("movingTree", Collections.singletonList(companyTree));
|
||||
result.put("expandedKeys", expandedKeys);
|
||||
|
|
@ -498,9 +503,9 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|||
rs.executeQuery("select id,companyname from hrmcompany");
|
||||
TreeSelect companyTree = null;
|
||||
List<String> expandedKeys = new ArrayList<>();
|
||||
String canceled = Util.null2String(params.get("canceled"));
|
||||
String showCanceled = Util.null2String(params.get("showCanceled"));
|
||||
if(rs.next()){
|
||||
companyTree = TreeSelect.builder().key(rs.getString("id")).title(rs.getString("companyname")).type(TreeSelect.COMPANY).cancelSql(canceled).build();
|
||||
companyTree = TreeSelect.builder().key(rs.getString("id")).title(rs.getString("companyname")).type(TreeSelect.COMPANY).showCanceled(showCanceled).build();
|
||||
expandedKeys = companyTree.getChildren().stream().filter(item -> CollectionUtils.isNotEmpty(item.getChildren())).map(TreeSelect::getKey).collect(Collectors.toList());
|
||||
expandedKeys.add(companyTree.getKey());
|
||||
}
|
||||
|
|
@ -512,6 +517,47 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加树结构所有上级节点
|
||||
*
|
||||
* @param expandedKeys 完整的上级ID集合
|
||||
* @param expandedKeyStr 需要展开的树ID
|
||||
*/
|
||||
private void addParentTreeId(List<String> expandedKeys,String expandedKeyStr){
|
||||
if(StringUtils.isNotBlank(expandedKeyStr)) {
|
||||
String[] split = expandedKeyStr.split(",");
|
||||
for (String s : split) {
|
||||
try {
|
||||
// 上级分部ID
|
||||
String subcompanyid1 = new DepartmentComInfo().getSubcompanyid1(s);
|
||||
String allSupCompany = new SubCompanyComInfo().getAllSupCompany(subcompanyid1);
|
||||
String[] array = allSupCompany.split(",");
|
||||
for (String supCompany : array) {
|
||||
if (StringUtils.isBlank(supCompany)) {
|
||||
continue;
|
||||
}
|
||||
expandedKeys.add("s" + supCompany);
|
||||
}
|
||||
expandedKeys.add("s" + subcompanyid1);
|
||||
|
||||
// 上级部门ID
|
||||
String allSupDepartment = new DepartmentComInfo().getAllSupDepartment(s);
|
||||
array = allSupDepartment.split(",");
|
||||
for (String supDepartment : array) {
|
||||
if (StringUtils.isBlank(supDepartment)) {
|
||||
continue;
|
||||
}
|
||||
expandedKeys.add("d" + supDepartment);
|
||||
}
|
||||
|
||||
expandedKeys.add("d" + s);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 树节点是否禁用
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue