|
@@ -550,12 +550,12 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
List<String> idList2 = new ArrayList<>();
|
|
List<String> idList2 = new ArrayList<>();
|
|
|
|
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
- //当前公有引用ids
|
|
|
|
|
|
+ //当前公有引用
|
|
List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId()).eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId()).eq(WbsTreePrivate::getType, 1));
|
|
List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId()).eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId()).eq(WbsTreePrivate::getType, 1));
|
|
List<String> collect = wbsTreePrivates.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
List<String> collect = wbsTreePrivates.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
idList2.addAll(collect);
|
|
idList2.addAll(collect);
|
|
} else if (pawDTO.getReferenceType().equals("private")) {
|
|
} else if (pawDTO.getReferenceType().equals("private")) {
|
|
- //当前私有引用ids
|
|
|
|
|
|
+ //当前私有引用
|
|
List<WbsTreePrivate> wbsTreePrivates2 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getWbsId, pawDTO.getPrimaryKeyId()).eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId()).eq(WbsTreePrivate::getType, 1));
|
|
List<WbsTreePrivate> wbsTreePrivates2 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getWbsId, pawDTO.getPrimaryKeyId()).eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId()).eq(WbsTreePrivate::getType, 1));
|
|
List<String> collect = wbsTreePrivates2.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
List<String> collect = wbsTreePrivates2.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
idList2.addAll(collect);
|
|
idList2.addAll(collect);
|
|
@@ -564,14 +564,13 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
List<String> saveIds = idList1.stream().filter(f -> !idList2.contains(f)).collect(Collectors.toList());
|
|
List<String> saveIds = idList1.stream().filter(f -> !idList2.contains(f)).collect(Collectors.toList());
|
|
List<String> delIds = idList2.stream().filter(f -> !idList1.contains(f)).collect(Collectors.toList());
|
|
List<String> delIds = idList2.stream().filter(f -> !idList1.contains(f)).collect(Collectors.toList());
|
|
|
|
|
|
- //1.同步私有电签默认信息
|
|
|
|
|
|
+ //TODO -------同步私有电签默认信息--------
|
|
if (saveIds.size() == 0 && delIds.size() == 0) {
|
|
if (saveIds.size() == 0 && delIds.size() == 0) {
|
|
if (pawDTO.getReferenceType().equals("private")) {
|
|
if (pawDTO.getReferenceType().equals("private")) {
|
|
-
|
|
|
|
- //新增独立表单库数据
|
|
|
|
|
|
+ //新增独立表单
|
|
this.insertDLTabAsync(pawDTO);
|
|
this.insertDLTabAsync(pawDTO);
|
|
|
|
|
|
- //获取私有引用项目的wbs树的所有节点、元素表、独立表(type=10)
|
|
|
|
|
|
+ /*//获取私有引用项目的wbs树的所有节点、元素表、独立表(type=10)
|
|
WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getPKeyId, pawDTO.getPrimaryKeyId()));
|
|
WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getPKeyId, pawDTO.getPrimaryKeyId()));
|
|
List<WbsTreePrivate> wbsTreePrivateAllOld = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
List<WbsTreePrivate> wbsTreePrivateAllOld = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
.eq(WbsTreePrivate::getProjectId, Long.parseLong(wbsTreePrivate.getProjectId()))
|
|
.eq(WbsTreePrivate::getProjectId, Long.parseLong(wbsTreePrivate.getProjectId()))
|
|
@@ -588,11 +587,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
List<WbsTreePrivate> wbsTreePrivateNowTables = wbsTreePrivatesAllNow.stream().filter(f -> f.getType() == 2 || f.getType() == 10).collect(Collectors.toList());
|
|
List<WbsTreePrivate> wbsTreePrivateNowTables = wbsTreePrivatesAllNow.stream().filter(f -> f.getType() == 2 || f.getType() == 10).collect(Collectors.toList());
|
|
|
|
|
|
//同步私有-电签匹配数据、默认信息数据
|
|
//同步私有-电签匹配数据、默认信息数据
|
|
- this.insertTextDictInfoAsync(WbsTreePrivateTables, wbsTreePrivateNowTables);
|
|
|
|
|
|
+ this.insertTextDictInfoAsync(WbsTreePrivateTables, wbsTreePrivateNowTables);*/
|
|
}
|
|
}
|
|
|
|
|
|
} else {
|
|
} else {
|
|
- //2.删除
|
|
|
|
|
|
+ //TODO ------------删除------------
|
|
if (delIds.size() > 0) {
|
|
if (delIds.size() > 0) {
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
List<Long> ids1 = delIds.stream().map(Long::parseLong).collect(Collectors.toList());
|
|
List<Long> ids1 = delIds.stream().map(Long::parseLong).collect(Collectors.toList());
|
|
@@ -652,26 +651,22 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- //3.新增
|
|
|
|
|
|
+ //TODO ------------新增------------
|
|
if (saveIds.size() > 0) {
|
|
if (saveIds.size() > 0) {
|
|
if (saveIds.size() >= 1000) {
|
|
if (saveIds.size() >= 1000) {
|
|
- //加锁
|
|
|
|
String redisValue = bladeRedis.get("submit-wbs-project:" + pawDTO.getProjectId());
|
|
String redisValue = bladeRedis.get("submit-wbs-project:" + pawDTO.getProjectId());
|
|
if (StringUtils.isNotEmpty(redisValue) && redisValue.equals("1")) {
|
|
if (StringUtils.isNotEmpty(redisValue) && redisValue.equals("1")) {
|
|
throw new ServiceException("请勿重复提交,请60秒后再尝试");
|
|
throw new ServiceException("请勿重复提交,请60秒后再尝试");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- //公有-数据初始化节点
|
|
|
|
|
|
+ //构造入参集合
|
|
List<WbsTreePrivate> insertData1 = new ArrayList<>();
|
|
List<WbsTreePrivate> insertData1 = new ArrayList<>();
|
|
- //私有-数据初始化节点
|
|
|
|
List<WbsTreePrivate> insertData2 = new ArrayList<>();
|
|
List<WbsTreePrivate> insertData2 = new ArrayList<>();
|
|
- //私有-电签匹配数据、默认信息数据
|
|
|
|
- List<TextdictInfo> insertData3 = new ArrayList<>();
|
|
|
|
|
|
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
List<WbsTree> addListData = new ArrayList<>();
|
|
List<WbsTree> addListData = new ArrayList<>();
|
|
- //获取当前wbs树下所有节点、表信息
|
|
|
|
|
|
+ //获取当前树下所有节点、表信息
|
|
List<WbsTree> treesAll = baseMapper.selectList(Wrappers.<WbsTree>lambdaQuery().eq(WbsTree::getWbsId, pawDTO.getWbsId()).eq(WbsTree::getStatus, 1));
|
|
List<WbsTree> treesAll = baseMapper.selectList(Wrappers.<WbsTree>lambdaQuery().eq(WbsTree::getWbsId, pawDTO.getWbsId()).eq(WbsTree::getStatus, 1));
|
|
for (WbsTree wbsTree : treesAll) {
|
|
for (WbsTree wbsTree : treesAll) {
|
|
for (String id : saveIds) {
|
|
for (String id : saveIds) {
|
|
@@ -698,29 +693,19 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
} else if (pawDTO.getReferenceType().equals("private")) {
|
|
} else if (pawDTO.getReferenceType().equals("private")) {
|
|
List<WbsTreePrivate> addListData = new ArrayList<>();
|
|
List<WbsTreePrivate> addListData = new ArrayList<>();
|
|
|
|
|
|
- //私有引用-电签匹配数据、默认信息数据
|
|
|
|
- Map<Long, List<TextdictInfo>> textDictInfoData = new HashMap<>();
|
|
|
|
-
|
|
|
|
- //查询出当前wbs树下所有节点、表信息(type=10独立表)
|
|
|
|
|
|
+ //获取当前树下所有节点、表信息(type=10独立表)
|
|
List<WbsTreePrivate> wbsTreePrivatesNodeAndTab = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery()
|
|
List<WbsTreePrivate> wbsTreePrivatesNodeAndTab = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery()
|
|
.eq(WbsTreePrivate::getStatus, 1)
|
|
.eq(WbsTreePrivate::getStatus, 1)
|
|
.eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId())
|
|
.eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId())
|
|
.eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
|
|
.eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
|
|
.and(obj -> obj.eq(WbsTreePrivate::getType, 1).or().eq(WbsTreePrivate::getType,2))
|
|
.and(obj -> obj.eq(WbsTreePrivate::getType, 1).or().eq(WbsTreePrivate::getType,2))
|
|
);
|
|
);
|
|
-
|
|
|
|
List<WbsTreePrivate> wbsTreePrivatesTableDLOld = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId()).eq(WbsTreePrivate::getType, 10).eq(WbsTreePrivate::getStatus, 1).eq(WbsTreePrivate::getParentId, -10).isNull(WbsTreePrivate::getWbsId));
|
|
List<WbsTreePrivate> wbsTreePrivatesTableDLOld = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId()).eq(WbsTreePrivate::getType, 10).eq(WbsTreePrivate::getStatus, 1).eq(WbsTreePrivate::getParentId, -10).isNull(WbsTreePrivate::getWbsId));
|
|
wbsTreePrivatesNodeAndTab.addAll(wbsTreePrivatesTableDLOld);
|
|
wbsTreePrivatesNodeAndTab.addAll(wbsTreePrivatesTableDLOld);
|
|
|
|
|
|
//获取当前项目下的所有独立表
|
|
//获取当前项目下的所有独立表
|
|
List<WbsTreePrivate> wbsTreePrivatesTableDL = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId()).eq(WbsTreePrivate::getType, 10).eq(WbsTreePrivate::getParentId, -10).eq(WbsTreePrivate::getStatus, 1));
|
|
List<WbsTreePrivate> wbsTreePrivatesTableDL = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId()).eq(WbsTreePrivate::getType, 10).eq(WbsTreePrivate::getParentId, -10).eq(WbsTreePrivate::getStatus, 1));
|
|
|
|
|
|
- //查询对应电签位置配置信息的pKeyIds
|
|
|
|
- List<Long> pIdsDL = wbsTreePrivatesNodeAndTab.stream().filter(f -> f.getType().equals(10) || f.getType().equals(2)).collect(Collectors.toList()).stream().map(WbsTreePrivate::getPKeyId).collect(Collectors.toList());
|
|
|
|
- String pKeyIds = StringUtils.join(pIdsDL, ",");
|
|
|
|
- String sql = "select `id`,`name`,`type`,tab_id,col_key,sig_role_id,is_deleted,sig_role_name,col_name,pyzbx,pyzby from m_textdict_info where tab_id in (" + pKeyIds + ") and is_deleted = 0";
|
|
|
|
- List<TextdictInfo> textDictInfosAll = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(TextdictInfo.class));
|
|
|
|
-
|
|
|
|
for (WbsTreePrivate wbsTreePrivate : wbsTreePrivatesNodeAndTab) {
|
|
for (WbsTreePrivate wbsTreePrivate : wbsTreePrivatesNodeAndTab) {
|
|
if (wbsTreePrivate.getType() == 1 || wbsTreePrivate.getType() == 2) {
|
|
if (wbsTreePrivate.getType() == 1 || wbsTreePrivate.getType() == 2) {
|
|
for (String id : saveIds) {
|
|
for (String id : saveIds) {
|
|
@@ -729,13 +714,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
} else if (Long.parseLong(id) == (wbsTreePrivate.getParentId()) && wbsTreePrivate.getType() == 2) {
|
|
} else if (Long.parseLong(id) == (wbsTreePrivate.getParentId()) && wbsTreePrivate.getType() == 2) {
|
|
addListData.add(wbsTreePrivate);
|
|
addListData.add(wbsTreePrivate);
|
|
-
|
|
|
|
- //根据元素表pKeyId,获取电签位置匹配信息、编辑默认信息
|
|
|
|
- List<TextdictInfo> textDictInfos = textDictInfosAll.stream().filter(f -> ObjectUtils.isNotEmpty(f.getTabId())
|
|
|
|
- && f.getTabId().equals(String.valueOf(wbsTreePrivate.getPKeyId()))).collect(Collectors.toList());
|
|
|
|
- if (textDictInfos.size() > 0) {
|
|
|
|
- textDictInfoData.put(wbsTreePrivate.getPKeyId(), textDictInfos);
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -745,13 +723,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
List<WbsTreePrivate> collect = wbsTreePrivatesTableDL.stream().filter(f -> f.getId().equals(wbsTreePrivate.getId())).collect(Collectors.toList());
|
|
List<WbsTreePrivate> collect = wbsTreePrivatesTableDL.stream().filter(f -> f.getId().equals(wbsTreePrivate.getId())).collect(Collectors.toList());
|
|
if (collect.size() == 0) {
|
|
if (collect.size() == 0) {
|
|
addListData.add(wbsTreePrivate);
|
|
addListData.add(wbsTreePrivate);
|
|
-
|
|
|
|
- //根据元素表pKeyId,获取电签位置匹配信息、编辑默认信息
|
|
|
|
- List<TextdictInfo> textDictInfos = textDictInfosAll.stream().filter(f -> ObjectUtils.isNotEmpty(f.getTabId())
|
|
|
|
- && f.getTabId().equals(String.valueOf(wbsTreePrivate.getPKeyId()))).collect(Collectors.toList());
|
|
|
|
- if (textDictInfos.size() > 0) {
|
|
|
|
- textDictInfoData.put(wbsTreePrivate.getPKeyId(), textDictInfos);
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -777,23 +748,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
|
|
wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
|
|
}
|
|
}
|
|
insertData2.add(wbsTreePrivate);
|
|
insertData2.add(wbsTreePrivate);
|
|
-
|
|
|
|
- //电签
|
|
|
|
- if (wbsTreePrivate.getType() == 2 || (wbsTreePrivate.getType() == 10 && wbsTreePrivate.getParentId() == -10)) { //type=10,parentId=-10 独立库引用元素库
|
|
|
|
- if (textDictInfoData.size() > 0) {
|
|
|
|
- textDictInfoData.forEach((k, v) -> {
|
|
|
|
- if (tree.getPKeyId().equals(k)) {
|
|
|
|
- for (TextdictInfo textdictInfo : v) {
|
|
|
|
- TextdictInfo obj = BeanUtil.copyProperties(textdictInfo, TextdictInfo.class);
|
|
|
|
- assert obj != null;
|
|
|
|
- obj.setTabId(String.valueOf(wbsTreePrivate.getPKeyId()));
|
|
|
|
- obj.setId(SnowFlakeUtil.getId());
|
|
|
|
- insertData3.add(obj);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -813,9 +767,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
this.insertBatch(insertData2, 1000);
|
|
this.insertBatch(insertData2, 1000);
|
|
|
|
|
|
- //电签
|
|
|
|
- textDictInfoService.insertBatch(insertData3, 1000);
|
|
|
|
-
|
|
|
|
if (pawDTO.getWbsType() == 1) {
|
|
if (pawDTO.getWbsType() == 1) {
|
|
projectInfoMapper.updateTemplateInfoQuality(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
|
|
projectInfoMapper.updateTemplateInfoQuality(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
|
|
}
|
|
}
|
|
@@ -824,7 +775,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (saveIds.size() >= 1000) {
|
|
if (saveIds.size() >= 1000) {
|
|
- //解锁
|
|
|
|
bladeRedis.set("submit-wbs-project:" + pawDTO.getProjectId(), "1");
|
|
bladeRedis.set("submit-wbs-project:" + pawDTO.getProjectId(), "1");
|
|
bladeRedis.expire("submit-wbs-project:" + pawDTO.getProjectId(), 60);
|
|
bladeRedis.expire("submit-wbs-project:" + pawDTO.getProjectId(), 60);
|
|
}
|
|
}
|