|
@@ -38,4 +38,37 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
return page.setRecords(baseMapper.selectArchiveTreeContractPage(page, archiveTreeContract));
|
|
return page.setRecords(baseMapper.selectArchiveTreeContractPage(page, archiveTreeContract));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public boolean saveArchiveAutoRule(Integer archiveAutoType, String nodeIds) {
|
|
|
|
+ //项目级不需要考虑是否为wbs节点,已经同步出来了都属于归档树节点,直接按归档树节点处理
|
|
|
|
+
|
|
|
|
+ //步骤1保存选择节点的立卷规则。
|
|
|
|
+ String[] ids = nodeIds.split(",");
|
|
|
|
+
|
|
|
|
+ Long archiveAutoNodeId=null;
|
|
|
|
+
|
|
|
|
+ //分类并卷规则的需要生成个随机数,作为同一个分类赋值archiveAutoNodeId
|
|
|
|
+ if(archiveAutoType==2){
|
|
|
|
+ double ran=(Math.random()*100000000) + 1;
|
|
|
|
+ archiveAutoNodeId=Long.parseLong(System.currentTimeMillis()+""+ran);
|
|
|
|
+ }
|
|
|
|
+ for(String nodeId:ids){
|
|
|
|
+ long nodeIdLong = Long.parseLong(nodeId);
|
|
|
|
+ ArchiveTreeContract archiveTreeContract = baseMapper.selectById(nodeIdLong);
|
|
|
|
+ archiveTreeContract.setArchiveAutoSelect(1);
|
|
|
|
+ archiveTreeContract.setArchiveAutoType(archiveAutoType);
|
|
|
|
+ if(archiveAutoType==2){
|
|
|
|
+ //分类并卷规则 提交都是一个分类类型
|
|
|
|
+ archiveTreeContract.setArchiveAutoNodeId(archiveAutoNodeId);
|
|
|
|
+ }else{
|
|
|
|
+ //最高并卷规则 选择节点的ID
|
|
|
|
+ archiveTreeContract.setArchiveAutoNodeId(nodeIdLong);
|
|
|
|
+ }
|
|
|
|
+ baseMapper.updateById(archiveTreeContract);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //TODO 步骤2保存选择节点下所有子节点的立卷规则。注意立卷规则优先级覆盖原则。(单独组卷>分类并卷>最高并卷)
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|