diff --git a/src/com/engine/organization/mapper/extend/ExtendGroupMapper.xml b/src/com/engine/organization/mapper/extend/ExtendGroupMapper.xml
index 7da508c4..2aa5a5ad 100644
--- a/src/com/engine/organization/mapper/extend/ExtendGroupMapper.xml
+++ b/src/com/engine/organization/mapper/extend/ExtendGroupMapper.xml
@@ -40,12 +40,14 @@
and extend_type = #{extendType}
+ order by show_order
-
+
update jcl_field_extendgroup
group_name=#{name},
@@ -151,7 +156,7 @@
WHERE id = #{id} AND delete_type = 0
-
+
update jcl_field_extendgroup
delete_type=1,
@@ -159,7 +164,7 @@
WHERE id = #{id} AND delete_type = 0
-
+
update jcl_field_extendgroup
group_name=#{groupName},
diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java
index 6410d187..28f232f8 100644
--- a/src/com/engine/organization/service/impl/CompServiceImpl.java
+++ b/src/com/engine/organization/service/impl/CompServiceImpl.java
@@ -69,7 +69,7 @@ public class CompServiceImpl extends Service implements CompService {
/**
* 公司/分部主表title指定ID
*/
- private static final Long GROUP_ID = -1L;
+ private static final Long GROUP_ID = 1L;
private CompMapper getCompMapper() {
return MapperProxyFactory.getProxy(CompMapper.class);
@@ -243,7 +243,7 @@ public class CompServiceImpl extends Service implements CompService {
if (CollectionUtils.isNotEmpty(extendTitles)) {
for (ExtendTitlePO extendTitle : extendTitles) {
- addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, getExtService(user).getExtForm(user, EXTEND_TYPE + "", Integer.parseInt(groupId) >= 0 ? JCL_ORG_COMPEXT : JCL_ORG_COMP, viewAttr, id, extendTitle.getId() + "", "comp_no")));
+ addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_COMP : JCL_ORG_COMPEXT, viewAttr, id, extendTitle.getId() + "", "comp_no")));
}
}
diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java
index e5607405..798f3350 100644
--- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java
+++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java
@@ -80,7 +80,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
/**
* 部门主表title指定ID
*/
- private static final Long GROUP_ID = -2L;
+ private static final Long GROUP_ID = 2L;
private DepartmentMapper getDepartmentMapper() {
@@ -296,7 +296,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
List extendTitles = getExtendTitleMapper().getTitlesByGroupID(Long.parseLong(groupId));
if (CollectionUtils.isNotEmpty(extendTitles)) {
for (ExtendTitlePO extendTitle : extendTitles) {
- addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, getExtService(user).getExtForm(user, EXTEND_TYPE + "", Integer.parseInt(groupId) >= 0 ? JCL_ORG_DEPTEXT : JCL_ORG_DEPT, viewAttr, id, extendTitle.getId().toString(), "dept_no")));
+ addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_DEPT : JCL_ORG_DEPTEXT, viewAttr, id, extendTitle.getId().toString(), "dept_no")));
}
}
diff --git a/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java b/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java
index 03f67704..605fd9c8 100644
--- a/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java
+++ b/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java
@@ -32,6 +32,7 @@ import weaver.systeminfo.SystemEnv;
import weaver.workflow.field.BrowserComInfo;
import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@@ -427,33 +428,37 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
@Override
public void deleteTree(Long id) {
MapperProxyFactory.getProxy(ExtendGroupMapper.class).delete(id);
- //明细表删除字段信息 todo
-
+ //明细表删除字段信息、删除表结构
+ ExtendGroupPO extendGroupPO = getExtendGroupMapper().getGroupById(id);
+ List extendInfoList = getExtendInfoMapper().listFields(extendGroupPO.getExtendType().toString(), extendGroupPO.getId().toString(), ExtendGroupBO.getTableNameByGroupPO(extendGroupPO), "");
+ List ids = extendInfoList.stream().map(ExtendInfoPO::getId).collect(Collectors.toList());
+ // 删除数据
+ dropColumns(ids, extendGroupPO, extendInfoList);
}
@Override
public void saveTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
- List collect = MapperProxyFactory.getProxy(ExtendGroupMapper.class)
- .listGroupByPid(fieldTypeTreeParam.getParentId()).stream().map(ExtendGroupPO::getId).collect(Collectors.toList());
+ Set collect = MapperProxyFactory.getProxy(ExtendGroupMapper.class)
+ .listGroupByPid(fieldTypeTreeParam.getParentId()).stream().map(ExtendGroupPO::getId).collect(Collectors.toSet());
Integer extendType = moduleTypeEnum.getValue();
List extendGroupPOS = JSONArray.parseArray(fieldTypeTreeParam.getData(), ExtendGroupPO.class);
List collect1 = extendGroupPOS.stream().map(ExtendGroupPO::getId).collect(Collectors.toList());
- Set removeSet = new HashSet<>();
collect1.forEach(e -> {
- if (!collect.contains(e)) {
- removeSet.add(e);
+ if (collect.contains(e)) {
+ collect.remove(e);
}
});
- if (CollectionUtils.isNotEmpty(removeSet)) {
- MapperProxyFactory.getProxy(ExtendGroupMapper.class).batchDelete(removeSet);
+ if (CollectionUtils.isNotEmpty(collect)) {
+ MapperProxyFactory.getProxy(ExtendGroupMapper.class).batchDelete(collect);
}
- int showOrder = 0;
+ AtomicInteger showOrder = new AtomicInteger(0);
extendGroupPOS.forEach(e -> {
+ showOrder.getAndIncrement();
e.setExtendType(extendType);
e.setPid(fieldTypeTreeParam.getParentId());
- e.setShowOrder(showOrder + 1);
+ e.setShowOrder(showOrder.get());
e.setIsSystemDefault(1);
e.setCreator((long) user.getUID());
e.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
@@ -474,26 +479,37 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
public void deleteFieldDefined(ExtendFieldSearchParam param) {
Collection ids = param.getId();
Long groupType = param.getGroupType();
- ExtendGroupPO groupById = getExtendGroupMapper().getGroupById(groupType);
+ ExtendGroupPO extendGroupPO = getExtendGroupMapper().getGroupById(groupType);
List extendInfoList = getExtendInfoMapper().getExtendInfosByIds(ids);
+ dropColumns(ids, extendGroupPO, extendInfoList);
+
+ }
+
+ @Override
+ public void changeGroup(ExtendInfoChangeParam param) {
+
+ }
+
+ /**
+ * 删除数据及表结构
+ *
+ * @param ids
+ * @param extendGroupPO
+ * @param extendInfoList
+ */
+ private void dropColumns(Collection ids, ExtendGroupPO extendGroupPO, List extendInfoList) {
// 删除数据
getExtendInfoMapper().deleteExtendInfoByIds(ids);
// 删除表结构
for (ExtendInfoPO extendInfoPO : extendInfoList) {
getExtendInfoMapper().deleteTableColumn(extendInfoPO.getTableName(), extendInfoPO.getFieldName());
// 明细表浏览按钮,额外删除span字段
- if (null != groupById.getPid() && 3 == extendInfoPO.getControlType()) {
+ if (null != extendGroupPO.getPid() && 3 == extendInfoPO.getControlType()) {
getExtendInfoMapper().deleteTableColumn(extendInfoPO.getTableName(), extendInfoPO.getFieldName() + "span");
}
}
-
- }
-
- @Override
- public void changeGroup(ExtendInfoChangeParam param) {
-
}
private ExtendTitlePO buildExtendTitleType(ExtendGroupPO extendGroupPO, Integer max) {
diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java
index bbeb22c3..c6ce1991 100644
--- a/src/com/engine/organization/service/impl/JobServiceImpl.java
+++ b/src/com/engine/organization/service/impl/JobServiceImpl.java
@@ -97,7 +97,7 @@ public class JobServiceImpl extends Service implements JobService {
/**
* 岗位主表title指定ID
*/
- private static final Long GROUP_ID = -3L;
+ private static final Long GROUP_ID = 3L;
private JobMapper getJobMapper() {
return MapperProxyFactory.getProxy(JobMapper.class);
@@ -281,7 +281,7 @@ public class JobServiceImpl extends Service implements JobService {
List extendTitles = getExtendTitleMapper().getTitlesByGroupID(GROUP_ID);
if (CollectionUtils.isNotEmpty(extendTitles)) {
for (ExtendTitlePO extendTitle : extendTitles) {
- addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, getExtService(user).getExtForm(user, EXTEND_TYPE + "", Integer.parseInt(groupId) >= 0 ? JCL_ORG_JOBEXT : JCL_ORG_JOB, viewAttr, id, extendTitle.getId().toString(), "job_no")));
+ addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_JOB : JCL_ORG_JOBEXT, viewAttr, id, extendTitle.getId().toString(), "job_no")));
}
}
HashMap resultMap = new HashMap<>();