|
@@ -613,8 +613,6 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
// if(info!=null){
|
|
|
// resultTabs.forEach(tab->tab.setFileName(info.getName()));
|
|
|
// }
|
|
|
- // 使用自定义 Comparator 进行排序
|
|
|
- resultTabs.sort(new WbsTreeContractComparator());
|
|
|
if (Optional.ofNullable(wbsTreeContract.getIsUseSort()).orElse(0) == 0) {
|
|
|
//表单排序
|
|
|
if (resultTabs.size() > 0) {
|
|
@@ -623,18 +621,27 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
return this.sortTabs(resultTabsToCopy, "_PL_"); //频率表排序
|
|
|
}
|
|
|
}
|
|
|
+ // 使用自定义 Comparator 进行排序
|
|
|
+ resultTabs.sort(new WbsTreeContractComparator());
|
|
|
return resultTabs;
|
|
|
}
|
|
|
|
|
|
private void sortTabsByIsTypePrivatePid(List<AppWbsTreeContractVO> resultTabs) {
|
|
|
if(!resultTabs.isEmpty()){
|
|
|
+ StringBuilder ids=new StringBuilder("");
|
|
|
+ List<Integer>sorts1=new ArrayList<>();
|
|
|
+ List<Integer>sorts2=new ArrayList<>();
|
|
|
for (AppWbsTreeContractVO resultTab : resultTabs) {
|
|
|
- if(resultTab.getExcelId()!=null){
|
|
|
+ if(resultTab.getExcelId()==null){
|
|
|
continue;
|
|
|
}
|
|
|
+ //拿到质量检验表附表的pkeyId,以及sort
|
|
|
if(resultTab.getExcelId()==1777969831956520962L||resultTab.getExcelId()==1636534954773417986L||resultTab.getExcelId()==1626130998410768385L){
|
|
|
- continue;
|
|
|
+ ids.append(resultTab.getPKeyId()+",");
|
|
|
+ sorts2.add(resultTab.getSort());
|
|
|
+ continue;
|
|
|
}
|
|
|
+ //检验附表以外的排序有问题的表单修改
|
|
|
if(resultTab.getIsTypePrivatePid()!=null){
|
|
|
String sql="select IFNULL(sort,1000) from m_wbs_tree_private where p_key_id="+resultTab.getIsTypePrivatePid()+" and is_deleted=0";
|
|
|
Integer sort = jdbcTemplate.queryForObject(sql,Integer.class);
|
|
@@ -644,6 +651,26 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
jdbcTemplate.update(sql1);
|
|
|
}
|
|
|
}
|
|
|
+ //tableType=1 的表单sort
|
|
|
+ if(resultTab.getTableType()!=null&&resultTab.getTableType()==1){
|
|
|
+ sorts1.add(resultTab.getSort());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!sorts1.isEmpty()&&!sorts2.isEmpty()){
|
|
|
+ String idss = ids.substring(0, ids.length() - 1);
|
|
|
+ //tableType=1 的表单sort的最大值
|
|
|
+ Integer maxSort = Collections.max(sorts1);
|
|
|
+ //质量检验表附表 的sort的最小值
|
|
|
+ Integer minSort = Collections.min(sorts2);
|
|
|
+ if(maxSort>minSort){
|
|
|
+ resultTabs.forEach(r->{
|
|
|
+ if(idss.contains(r.getPKeyId()+"")){
|
|
|
+ r.setSort(maxSort);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ String sql2="update m_wbs_tree_contract set sort="+maxSort+" where p_key_id in ("+idss+")";
|
|
|
+ jdbcTemplate.update(sql2);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|