|
@@ -1203,5 +1203,54 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
return periodNode;
|
|
return periodNode;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 刷新配置节点的组卷给则
|
|
|
|
+ * @param archiveTreeContracts
|
|
|
|
+ */
|
|
|
|
+ private void updateArchiveContractAutoRule(List<ArchiveTreeContract> archiveTreeContracts) {
|
|
|
|
+ for (ArchiveTreeContract ar: archiveTreeContracts) {
|
|
|
|
+ updateArchiveContractAutoRule(ar.getArchiveAutoType(),ar);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * @param archiveAutoType
|
|
|
|
+ * @param ar
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private Boolean updateArchiveContractAutoRule(Integer archiveAutoType, ArchiveTreeContract ar) {
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+ ar.setArchiveAutoType(archiveAutoType);
|
|
|
|
+ if(archiveAutoType==2){
|
|
|
|
+ //客户级的group用19位,在同步的时候方便判断是值是客户级还是项目级
|
|
|
|
+ double v = Math.random();
|
|
|
|
+ if (v < 0.1) {
|
|
|
|
+ v = v + 0.1;
|
|
|
|
+ }
|
|
|
|
+ v = v * 1000000;
|
|
|
|
+ long ran = (long) v;
|
|
|
|
+ Long contractGroupId = Long.parseLong(System.currentTimeMillis() + "" + ran);
|
|
|
|
+ ar.setArchiveAutoGroupId(contractGroupId);
|
|
|
|
+ ar.setArchiveAutoGroupSelect(1);
|
|
|
|
+ }
|
|
|
|
+ if (archiveAutoType == 1) {
|
|
|
|
+ //最高并卷规则 选择节点的ID
|
|
|
|
+ ar.setArchiveAutoNodeId(ar.getId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ boolean b = this.updateById(ar);
|
|
|
|
+ //更新下级节点为同一规则
|
|
|
|
+
|
|
|
|
+ this.updateAllSonNodeIdsForArchiveAutoRule(ar);
|
|
|
|
+
|
|
|
|
+ return true;
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|