|
|
|
@ -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<ExtendInfoPO> extendInfoList = getExtendInfoMapper().listFields(extendGroupPO.getExtendType().toString(), extendGroupPO.getId().toString(), ExtendGroupBO.getTableNameByGroupPO(extendGroupPO), "");
|
|
|
|
|
List<Long> ids = extendInfoList.stream().map(ExtendInfoPO::getId).collect(Collectors.toList());
|
|
|
|
|
// 删除数据
|
|
|
|
|
dropColumns(ids, extendGroupPO, extendInfoList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void saveTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
|
|
|
|
|
List<Long> collect = MapperProxyFactory.getProxy(ExtendGroupMapper.class)
|
|
|
|
|
.listGroupByPid(fieldTypeTreeParam.getParentId()).stream().map(ExtendGroupPO::getId).collect(Collectors.toList());
|
|
|
|
|
Set<Long> collect = MapperProxyFactory.getProxy(ExtendGroupMapper.class)
|
|
|
|
|
.listGroupByPid(fieldTypeTreeParam.getParentId()).stream().map(ExtendGroupPO::getId).collect(Collectors.toSet());
|
|
|
|
|
Integer extendType = moduleTypeEnum.getValue();
|
|
|
|
|
List<ExtendGroupPO> extendGroupPOS = JSONArray.parseArray(fieldTypeTreeParam.getData(), ExtendGroupPO.class);
|
|
|
|
|
|
|
|
|
|
List<Long> collect1 = extendGroupPOS.stream().map(ExtendGroupPO::getId).collect(Collectors.toList());
|
|
|
|
|
Set<Long> 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<Long> ids = param.getId();
|
|
|
|
|
Long groupType = param.getGroupType();
|
|
|
|
|
ExtendGroupPO groupById = getExtendGroupMapper().getGroupById(groupType);
|
|
|
|
|
ExtendGroupPO extendGroupPO = getExtendGroupMapper().getGroupById(groupType);
|
|
|
|
|
|
|
|
|
|
List<ExtendInfoPO> extendInfoList = getExtendInfoMapper().getExtendInfosByIds(ids);
|
|
|
|
|
dropColumns(ids, extendGroupPO, extendInfoList);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void changeGroup(ExtendInfoChangeParam param) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除数据及表结构
|
|
|
|
|
*
|
|
|
|
|
* @param ids
|
|
|
|
|
* @param extendGroupPO
|
|
|
|
|
* @param extendInfoList
|
|
|
|
|
*/
|
|
|
|
|
private void dropColumns(Collection<Long> ids, ExtendGroupPO extendGroupPO, List<ExtendInfoPO> 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) {
|
|
|
|
|