|
@@ -902,7 +902,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
|
|
|
@Override
|
|
|
public boolean syncNodeParam(String projectId, String pKeyId) {
|
|
|
- // projectId = null;//暂不执行
|
|
|
+ // projectId = null;//暂不执行
|
|
|
if (StringUtils.isNotEmpty(projectId) && StringUtils.isNotEmpty(pKeyId)) {
|
|
|
ProjectInfo projectInfo = projectInfoMapper.selectById(projectId);
|
|
|
//当前选择同步的节点信息
|
|
@@ -920,21 +920,21 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
|
|
|
List<WbsTreePrivate> selectNodeAndChildNodes = Optional.ofNullable(this.getChildNodes(selectNodeNow)).orElse(new ArrayList<>());
|
|
|
selectNodeAndChildNodes.add(selectNodeNow);
|
|
|
- List<Long> sourceNodeIds = jdbcTemplate.queryForList("select p_key_id from m_wbs_tree_private where id in("+selectNodeAndChildNodes.stream().map(WbsTreePrivate::getId).map(Object::toString).collect(Collectors.joining(","))+") and is_deleted=0 and project_id ="+sourceRootNode.getProjectId(),Long.class);
|
|
|
+ List<Long> sourceNodeIds = jdbcTemplate.queryForList("select p_key_id from m_wbs_tree_private where id in(" + selectNodeAndChildNodes.stream().map(WbsTreePrivate::getId).map(Object::toString).collect(Collectors.joining(",")) + ") and is_deleted=0 and project_id =" + sourceRootNode.getProjectId(), Long.class);
|
|
|
List<Long> distNodeIds = selectNodeAndChildNodes.stream().map(WbsTreePrivate::getPKeyId).collect(Collectors.toList());
|
|
|
List<Map<String, Object>> sourceListMap = this.jdbcTemplate.queryForList("select a.id,a.name ,a.k,a.v,a.remark,a.node_id nodeId ,b.id privateId,a.update_time updateTime " +
|
|
|
- "from m_wbs_param a join m_wbs_tree_private b on a.node_id = b.p_key_id where b.project_id in(?) and b.p_key_id in("+sourceNodeIds.stream().map(Object::toString).collect(Collectors.joining(","))+") and a.is_deleted=0 and a.type=1 ", Long.parseLong(sourceRootNode.getProjectId()));
|
|
|
+ "from m_wbs_param a join m_wbs_tree_private b on a.node_id = b.p_key_id where b.project_id in(?) and b.p_key_id in(" + sourceNodeIds.stream().map(Object::toString).collect(Collectors.joining(",")) + ") and a.is_deleted=0 and a.type=1 ", Long.parseLong(sourceRootNode.getProjectId()));
|
|
|
List<Map<String, Object>> distListMap = this.jdbcTemplate.queryForList("select a.id,a.name,a.k,a.v,a.remark,a.node_id nodeId ,b.id privateId,a.update_time updateTime " +
|
|
|
- "from m_wbs_param a join m_wbs_tree_private b on a.node_id = b.p_key_id where b.project_id in(?) and b.p_key_id in("+distNodeIds.stream().map(Object::toString).collect(Collectors.joining(","))+") and a.is_deleted=0 and a.type=1 ", Long.parseLong(projectId));
|
|
|
+ "from m_wbs_param a join m_wbs_tree_private b on a.node_id = b.p_key_id where b.project_id in(?) and b.p_key_id in(" + distNodeIds.stream().map(Object::toString).collect(Collectors.joining(",")) + ") and a.is_deleted=0 and a.type=1 ", Long.parseLong(projectId));
|
|
|
|
|
|
/*存在多个同名参数;保留日期最新那个参数*/
|
|
|
- BinaryOperator<Map<String,Object>> mapBinaryOperator= (m1, m2) -> {
|
|
|
- LocalDateTime sldt = ((Timestamp)m1.get("updateTime")).toLocalDateTime();
|
|
|
- LocalDateTime tldt = ((Timestamp)m2.get("updateTime")).toLocalDateTime();
|
|
|
- return sldt.isAfter(tldt)?m1:m2;
|
|
|
+ BinaryOperator<Map<String, Object>> mapBinaryOperator = (m1, m2) -> {
|
|
|
+ LocalDateTime sldt = ((Timestamp) m1.get("updateTime")).toLocalDateTime();
|
|
|
+ LocalDateTime tldt = ((Timestamp) m2.get("updateTime")).toLocalDateTime();
|
|
|
+ return sldt.isAfter(tldt) ? m1 : m2;
|
|
|
};
|
|
|
- Map<String, Map<String, Object>> sourceMap = sourceListMap.stream().collect(Collectors.toMap(m -> m.get("privateId").toString() + m.get("k"), m -> m,mapBinaryOperator));
|
|
|
- Map<String, Map<String, Object>> distMap = distListMap.stream().collect(Collectors.toMap(m -> m.get("privateId").toString() + m.get("k"), m -> m,mapBinaryOperator));
|
|
|
+ Map<String, Map<String, Object>> sourceMap = sourceListMap.stream().collect(Collectors.toMap(m -> m.get("privateId").toString() + m.get("k"), m -> m, mapBinaryOperator));
|
|
|
+ Map<String, Map<String, Object>> distMap = distListMap.stream().collect(Collectors.toMap(m -> m.get("privateId").toString() + m.get("k"), m -> m, mapBinaryOperator));
|
|
|
/*比较的结果*/
|
|
|
Map<String, Map<String, Object>> updateMap = new HashMap<>();
|
|
|
Map<String, Map<String, Object>> insertMap = new HashMap<>();
|
|
@@ -944,8 +944,8 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
Map<String, Object> u = distMap.get(k);
|
|
|
String t = Func.toStr(u.get("v"));
|
|
|
if (!s.equals(t)) {
|
|
|
- LocalDateTime sldt = ((Timestamp)v.get("updateTime")).toLocalDateTime();
|
|
|
- LocalDateTime tldt = ((Timestamp)u.get("updateTime")).toLocalDateTime();
|
|
|
+ LocalDateTime sldt = ((Timestamp) v.get("updateTime")).toLocalDateTime();
|
|
|
+ LocalDateTime tldt = ((Timestamp) u.get("updateTime")).toLocalDateTime();
|
|
|
/*假如内容不一样,且模版最后更新时间更晚,则覆盖*/
|
|
|
if (sldt.isAfter(tldt)) {
|
|
|
u.put("v", s);
|
|
@@ -969,7 +969,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
}
|
|
|
List<WbsParam> insertList = new ArrayList<>();
|
|
|
if (!insertMap.isEmpty()) {
|
|
|
- List<WbsTreePrivate> targetList = Optional.ofNullable(this.list(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId,projectId).in(WbsTreePrivate::getId, insertMap.values().stream().map(m -> m.get("privateId")).collect(Collectors.toList())))).orElse(new ArrayList<>());
|
|
|
+ List<WbsTreePrivate> targetList = Optional.ofNullable(this.list(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, projectId).in(WbsTreePrivate::getId, insertMap.values().stream().map(m -> m.get("privateId")).collect(Collectors.toList())))).orElse(new ArrayList<>());
|
|
|
targetList.forEach(e -> {
|
|
|
Map<String, Object> kmp = insertMap.get(e.getId().toString());
|
|
|
if (kmp != null) {
|
|
@@ -1008,26 +1008,26 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
"select c.e_name as name ,c.id,a.p_key_id pKeyId from m_wbs_tree_private a " +
|
|
|
"inner join m_wbs_tree_private b on (a.id=b.parent_id and a.wbs_id=b.wbs_id) " +
|
|
|
"inner join m_wbs_form_element c on b.init_table_id=c.f_id " +
|
|
|
- "where b.project_id=" + projectId + " and a.p_key_id in("+String.join(",",nodeIds)+") and b.is_deleted=0 and c.is_deleted=0 ");
|
|
|
+ "where b.project_id=" + projectId + " and a.p_key_id in(" + String.join(",", nodeIds) + ") and b.is_deleted=0 and c.is_deleted=0 ");
|
|
|
|
|
|
Map<String, List<Map<String, Object>>> groupElementNode = listMaps.stream().collect(Collectors.groupingBy(e -> Func.toStr(e.get("pKeyId"))));
|
|
|
List<ElementFormulaMapping> insertEfm = new ArrayList<>();
|
|
|
insertList.forEach(p -> {
|
|
|
List<Map<String, Object>> elementMap = groupElementNode.get(p.getNodeId().toString());
|
|
|
Formula formula = insertFormulaMap.get(p.getId());
|
|
|
- if(Func.isNotEmpty(elementMap)) {
|
|
|
- elementMap.forEach(m -> {
|
|
|
- if (com.mixsmart.utils.StringUtils.handleNull(m.get("name")).contains(p.getName())) {
|
|
|
- /*匹配名称,且该元素没有绑定任何节点参数公式*/
|
|
|
- ElementFormulaMapping efm = new ElementFormulaMapping();
|
|
|
- efm.setScope(FormulaBean.PARAM);
|
|
|
- efm.setParamId(p.getId());
|
|
|
- efm.setElementId(Long.parseLong(m.get("id").toString()));
|
|
|
- efm.setFormulaId(formula.getId());
|
|
|
- insertEfm.add(efm);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
+ if (Func.isNotEmpty(elementMap)) {
|
|
|
+ elementMap.forEach(m -> {
|
|
|
+ if (com.mixsmart.utils.StringUtils.handleNull(m.get("name")).contains(p.getName())) {
|
|
|
+ /*匹配名称,且该元素没有绑定任何节点参数公式*/
|
|
|
+ ElementFormulaMapping efm = new ElementFormulaMapping();
|
|
|
+ efm.setScope(FormulaBean.PARAM);
|
|
|
+ efm.setParamId(p.getId());
|
|
|
+ efm.setElementId(Long.parseLong(m.get("id").toString()));
|
|
|
+ efm.setFormulaId(formula.getId());
|
|
|
+ insertEfm.add(efm);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
if (insertFormulaMap.size() > 0) {
|
|
|
this.formulaService.saveBatch(insertFormulaMap.values(), 1000);
|
|
@@ -1044,8 +1044,6 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
@Override
|
|
|
public R<String> syncPrivateProjectFormula(Long projectId, Long pKeyId) {
|
|
|
if (projectId != null && pKeyId != null) {
|
|
@@ -1625,7 +1623,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
@Async
|
|
|
@Override
|
|
|
public void batchResetHtmlUrl(List<WbsTreePrivate> wbsTreePrivateList) throws IOException, InterruptedException {
|
|
|
- Thread.sleep(10000L);
|
|
|
+ //Thread.sleep(10000L);
|
|
|
if (wbsTreePrivateList != null) {
|
|
|
//存在htmlUrl才重新保存
|
|
|
wbsTreePrivateList = wbsTreePrivateList.stream().filter(wtp -> StringUtils.isNotBlank(wtp.getHtmlUrl())).collect(Collectors.toList());
|
|
@@ -1634,12 +1632,12 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
for (WbsTreePrivate tree : wbsTreePrivateList) {
|
|
|
String[] split = tree.getHtmlUrl().split("/");
|
|
|
File file_in = ResourceUtil.getFile(tree.getHtmlUrl());
|
|
|
-// File file_in = ResourceUtil.getFile("C:\\Users\\泓创研发01\\Desktop\\privateUrl\\"+split[split.length-1]);
|
|
|
- if (!file_in.exists() || file_in == null || file_in.length() == 0) {
|
|
|
+ //File file_in = ResourceUtil.getFile("C:\\Users\\泓创研发01\\Desktop\\privateUrl\\"+split[split.length-1]);
|
|
|
+ if (!file_in.exists() || file_in.length() == 0) {
|
|
|
continue;
|
|
|
}
|
|
|
String htmlUrl = file_path + "/privateUrlCopy/" + split[split.length - 1];
|
|
|
-// String htmlUrl = "C:\\Users\\泓创研发01\\Desktop\\privateUrlCopy\\" + split[split.length-1];
|
|
|
+ //String htmlUrl = "C:\\Users\\泓创研发01\\Desktop\\privateUrlCopy\\" + split[split.length-1];
|
|
|
File file_out = ResourceUtil.getFile(htmlUrl);
|
|
|
FileUtil.copy(file_in, file_out);
|
|
|
tree.setHtmlUrl(htmlUrl);
|
|
@@ -1650,7 +1648,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
for (List<WbsTreePrivate> list : splitList) {
|
|
|
baseMapper.updateBatchByPKeyId(list);
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else if (wbsTreePrivateList.size() > 0) {
|
|
|
baseMapper.updateBatchByPKeyId(wbsTreePrivateList);
|
|
|
}
|
|
|
}
|
|
@@ -2167,14 +2165,14 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
}
|
|
|
doc.select("Col").remove();
|
|
|
/*Echart*/
|
|
|
- chart(table,wbsTreePrivate);
|
|
|
+ chart(table, wbsTreePrivate);
|
|
|
if (fileInputStream != null) {
|
|
|
fileInputStream.close();
|
|
|
}
|
|
|
return R.data(table + "");
|
|
|
}
|
|
|
|
|
|
- private void chart(Element table,WbsTreePrivate wtp){
|
|
|
+ private void chart(Element table, WbsTreePrivate wtp) {
|
|
|
try {
|
|
|
List<Map<String, Object>> configList = this.jdbcTemplate.queryForList("select d.rely ,b.e_key ekey from m_wbs_tree_private a join m_wbs_form_element b on a.init_table_id=b.f_id join m_element_formula_mapping c on b.id=c.element_id join m_formula d on c.formula_id=d.id where p_key_id=" + wtp.getPKeyId() + " and b.is_deleted=0 and d.formula like 'FC.chart%' limit 1");
|
|
|
if (Func.isNotEmpty(configList)) {
|
|
@@ -2187,13 +2185,13 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
String keyname = inputElement.attr("keyname");
|
|
|
Element echartElement = new Element("hc-echart");
|
|
|
echartElement.attr(":option", "formData." + keyname)
|
|
|
- .attr("keyname", keyname)
|
|
|
- .attr(":ref","(el) => setChartRefs(el, '"+wtp.getPKeyId()+"' , '"+keyname+"')");
|
|
|
+ .attr("keyname", keyname)
|
|
|
+ .attr(":ref", "(el) => setChartRefs(el, '" + wtp.getPKeyId() + "' , '" + keyname + "')");
|
|
|
inputElement.replaceWith(echartElement);
|
|
|
table.select("el-input[keyname^=" + ky + "__").forEach(e -> e.attr("@blur", "getRegularExpression($event,'','请输入字符串',22,1, 'chart', 1, 0)"));
|
|
|
table.select("el-input[keyname^=" + kx + "__").forEach(e -> e.attr("@blur", "getRegularExpression($event,'','请输入字符串',22,1, 'chart', 0, 1)"));
|
|
|
}
|
|
|
- }catch (Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|