|
|
|
@ -132,373 +132,374 @@ public class ZhyRelationshipController extends BaseController |
|
|
|
} /** |
|
|
|
* 新增文章关系 |
|
|
|
*/ |
|
|
|
//public AjaxResult add(@RequestBody ZhyDocRelation zhyRelationship) throws IOException {
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// List<ZhyDocRelation> relationships = new ArrayList<>();
|
|
|
|
//
|
|
|
|
// // 1. 演化博弈推演决策模型
|
|
|
|
// // 用于多智能体对抗下的策略演化,影响平台行为与安全
|
|
|
|
// add(relationships, "演化博弈推演决策模型", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "演化博弈推演决策模型", "导弹艇航行安全风险指数");
|
|
|
|
// add(relationships, "演化博弈推演决策模型", "驱逐舰航行安全风险指数");
|
|
|
|
// add(relationships, "演化博弈推演决策模型", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "演化博弈推演决策模型", "护卫舰航行安全风险指数");
|
|
|
|
// add(relationships, "演化博弈推演决策模型", "水面舰艇综合效能影响指数");
|
|
|
|
//
|
|
|
|
// // 2. 多属性群决策模型
|
|
|
|
// // 用于融合多专家/多传感器意见,评估武器系统效能
|
|
|
|
// add(relationships, "多属性群决策模型", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "多属性群决策模型", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "多属性群决策模型", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "多属性群决策模型", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "多属性群决策模型", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "多属性群决策模型", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "多属性群决策模型", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "多属性群决策模型", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "多属性群决策模型", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 3. 高维稀疏数据聚类与复杂目标识别模型
|
|
|
|
// // 用于雷达/声纳目标识别,影响探测效能与航行安全
|
|
|
|
// add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "导弹艇航行安全风险指数");
|
|
|
|
// add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "驱逐舰航行安全风险指数");
|
|
|
|
// add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "护卫舰航行安全风险指数");
|
|
|
|
//
|
|
|
|
// // 4. 自适应可排序无监督聚类区划模型
|
|
|
|
// // 用于海域动态分区,影响航行安全
|
|
|
|
// add(relationships, "自适应可排序无监督聚类区划模型", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "自适应可排序无监督聚类区划模型", "导弹艇航行安全风险指数");
|
|
|
|
// add(relationships, "自适应可排序无监督聚类区划模型", "驱逐舰航行安全风险指数");
|
|
|
|
// add(relationships, "自适应可排序无监督聚类区划模型", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "自适应可排序无监督聚类区划模型", "护卫舰航行安全风险指数");
|
|
|
|
//
|
|
|
|
// // 5. 贝叶斯推理综合决策模型
|
|
|
|
// // 用于动态更新风险概率,适用于所有不确定性评估
|
|
|
|
// add(relationships, "贝叶斯推理综合决策模型", "舰载机飞行安全风险指数");
|
|
|
|
// add(relationships, "贝叶斯推理综合决策模型", "舰载直升机起飞安全风险指数");
|
|
|
|
// add(relationships, "贝叶斯推理综合决策模型", "舰载直升机降落安全风险指数");
|
|
|
|
// add(relationships, "贝叶斯推理综合决策模型", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "贝叶斯推理综合决策模型", "导弹艇航行安全风险指数");
|
|
|
|
// add(relationships, "贝叶斯推理综合决策模型", "驱逐舰航行安全风险指数");
|
|
|
|
// add(relationships, "贝叶斯推理综合决策模型", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "贝叶斯推理综合决策模型", "护卫舰航行安全风险指数");
|
|
|
|
//
|
|
|
|
// // 6. 模糊综合评价方法
|
|
|
|
// // 用于处理模糊性语言评价,适用于所有“效能影响指数”
|
|
|
|
// add(relationships, "模糊综合评价方法", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "舰艇机动效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "模糊综合评价方法", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 7. 可拓综合评价方法
|
|
|
|
// // 用于解决矛盾评价问题,适用于武器系统效能评估
|
|
|
|
// add(relationships, "可拓综合评价方法", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "可拓综合评价方法", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "可拓综合评价方法", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "可拓综合评价方法", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "可拓综合评价方法", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "可拓综合评价方法", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "可拓综合评价方法", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "可拓综合评价方法", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "可拓综合评价方法", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 8. 灰色关联评估方法
|
|
|
|
// // 用于小样本下分析因素关联度,适用于效能评估
|
|
|
|
// add(relationships, "灰色关联评估方法", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "灰色关联评估方法", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "灰色关联评估方法", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "灰色关联评估方法", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "灰色关联评估方法", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "灰色关联评估方法", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "灰色关联评估方法", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "灰色关联评估方法", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "灰色关联评估方法", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 9. 最佳理想解逼近评估方法
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "最佳理想解逼近评估方法", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 10. 数据包络评估方法
|
|
|
|
// // 用于效率评估,适用于系统级效能
|
|
|
|
// add(relationships, "数据包络评估方法", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "数据包络评估方法", "舰艇声呐效能影响指数");
|
|
|
|
// add(relationships, "数据包络评估方法", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "数据包络评估方法", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 11. 云模型语义综合评估方法
|
|
|
|
// // 用于语言变量量化,适用于所有“效能影响指数”和“风险指数”
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "舰载直升机起飞安全风险指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "舰载直升机降落安全风险指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "云模型语义综合评估方法", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 12. 层次分析法
|
|
|
|
// // 用于确定权重,支撑所有指标的综合评估
|
|
|
|
// add(relationships, "层次分析法", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "层次分析法", "导弹艇航行安全风险指数");
|
|
|
|
// add(relationships, "层次分析法", "驱逐舰航行安全风险指数");
|
|
|
|
// add(relationships, "层次分析法", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "层次分析法", "护卫舰航行安全风险指数");
|
|
|
|
// add(relationships, "层次分析法", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "舰载机飞行安全风险指数");
|
|
|
|
// add(relationships, "层次分析法", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "舰载直升机起飞安全风险指数");
|
|
|
|
// add(relationships, "层次分析法", "舰载直升机降落安全风险指数");
|
|
|
|
// add(relationships, "层次分析法", "湿热指数");
|
|
|
|
// add(relationships, "层次分析法", "风寒指数");
|
|
|
|
// add(relationships, "层次分析法", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "舰艇机动效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "舰艇声呐效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "层次分析法", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 13. 湿热指数计算方法
|
|
|
|
// add(relationships, "湿热指数计算方法", "湿热指数");
|
|
|
|
//
|
|
|
|
// // 14. 风寒指数计算方法
|
|
|
|
// add(relationships, "风寒指数计算方法", "风寒指数");
|
|
|
|
//
|
|
|
|
// // 15. 小样本信息扩散模型
|
|
|
|
// // 用于增强小样本下的评估鲁棒性,适用于所有风险与效能指标
|
|
|
|
// add(relationships, "小样本信息扩散模型", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "小样本信息扩散模型", "导弹艇航行安全风险指数");
|
|
|
|
// add(relationships, "小样本信息扩散模型", "驱逐舰航行安全风险指数");
|
|
|
|
// add(relationships, "小样本信息扩散模型", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "小样本信息扩散模型", "护卫舰航行安全风险指数");
|
|
|
|
// add(relationships, "小样本信息扩散模型", "舰载机飞行安全风险指数");
|
|
|
|
// add(relationships, "小样本信息扩散模型", "舰载直升机起飞安全风险指数");
|
|
|
|
// add(relationships, "小样本信息扩散模型", "舰载直升机降落安全风险指数");
|
|
|
|
// add(relationships, "小样本信息扩散模型", "水面舰艇综合效能影响指数");
|
|
|
|
//
|
|
|
|
// // 16. 高维知识点集映射模型
|
|
|
|
// // 用于知识关联,支撑所有指标的语义理解
|
|
|
|
// add(relationships, "高维知识点集映射模型", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "导弹艇航行安全风险指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "驱逐舰航行安全风险指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "护卫舰航行安全风险指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰载机飞行安全风险指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰载雷达探测效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰载声纳探测效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰载直升机起飞安全风险指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰载直升机降落安全风险指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "湿热指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "风寒指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰艇机动效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "舰艇声呐效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "高维知识点集映射模型", "防空导弹效能影响指数");
|
|
|
|
//
|
|
|
|
// // 17. 舰船倾覆概率计算方法
|
|
|
|
// add(relationships, "舰船倾覆概率计算方法", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "舰船倾覆概率计算方法", "导弹艇航行安全风险指数");
|
|
|
|
// add(relationships, "舰船倾覆概率计算方法", "驱逐舰航行安全风险指数");
|
|
|
|
// add(relationships, "舰船倾覆概率计算方法", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "舰船倾覆概率计算方法", "护卫舰航行安全风险指数");
|
|
|
|
//
|
|
|
|
// // 18. 飞机颠簸计算方法
|
|
|
|
// add(relationships, "飞机颠簸计算方法", "舰载机飞行安全风险指数");
|
|
|
|
//
|
|
|
|
// // 19. 飞机积冰计算方法
|
|
|
|
// add(relationships, "飞机积冰计算方法", "舰载机飞行安全风险指数");
|
|
|
|
//
|
|
|
|
// // 20. 马尔科夫决策方法
|
|
|
|
// // 用于状态转移建模,影响航行与飞行安全
|
|
|
|
// add(relationships, "马尔科夫决策方法", "补给舰航行安全风险指数");
|
|
|
|
// add(relationships, "马尔科夫决策方法", "攻击型潜艇航行安全风险指数");
|
|
|
|
// add(relationships, "马尔科夫决策方法", "舰载机飞行安全风险指数");
|
|
|
|
// add(relationships, "马尔科夫决策方法", "水面舰艇综合效能影响指数");
|
|
|
|
//
|
|
|
|
// // 21. 效用分析决策方法
|
|
|
|
// // 用于方案优选,影响武器系统效能评估
|
|
|
|
// add(relationships, "效用分析决策方法", "舰炮打击效能影响指数");
|
|
|
|
// add(relationships, "效用分析决策方法", "舰射鱼雷打击效能影响指数");
|
|
|
|
// add(relationships, "效用分析决策方法", "舰载反舰导弹打击效能影响指数");
|
|
|
|
// add(relationships, "效用分析决策方法", "舰载防空导弹打击效能影响指数");
|
|
|
|
// add(relationships, "效用分析决策方法", "水面舰艇综合效能影响指数");
|
|
|
|
// add(relationships, "效用分析决策方法", "巡航导弹效能影响指数");
|
|
|
|
// add(relationships, "效用分析决策方法", "防空导弹效能影响指数");
|
|
|
|
//// 添加 大类 → 小类 关系
|
|
|
|
// add(relationships, "基础地理数据", "地形数据");
|
|
|
|
// add(relationships, "基础地理数据", "水文数据");
|
|
|
|
// add(relationships, "基础地理数据", "重要的岛屿港口");
|
|
|
|
//
|
|
|
|
// add(relationships, "气象观测数据", "实时气象数据");
|
|
|
|
// add(relationships, "气象观测数据", "历史气象数据");
|
|
|
|
//
|
|
|
|
// add(relationships, "海洋环境数据", "海洋水文数据");
|
|
|
|
// add(relationships, "海洋环境数据", "海洋气象数据");
|
|
|
|
//
|
|
|
|
// add(relationships, "战场环境数据", "电磁环境数据");
|
|
|
|
// add(relationships, "战场环境数据", "核生化数据");
|
|
|
|
//
|
|
|
|
// add(relationships, "装备性能数据", "武器系统参数");
|
|
|
|
// add(relationships, "装备性能数据", "平台机动数据");
|
|
|
|
//
|
|
|
|
// add(relationships, "作战任务数据", "任务规划数据");
|
|
|
|
// add(relationships, "作战任务数据", "兵力部署数据");
|
|
|
|
//
|
|
|
|
// add(relationships, "影响评估数据", "气象影响案例");
|
|
|
|
// add(relationships, "影响评估数据", "海洋影响案例");
|
|
|
|
//
|
|
|
|
// add(relationships, "决策规则数据", "军事规则库");
|
|
|
|
// add(relationships, "决策规则数据", "专家知识库");
|
|
|
|
//
|
|
|
|
// add(relationships, "实时动态数据", "卫星遥感数据");
|
|
|
|
// add(relationships, "实时动态数据", "无人平台数据");
|
|
|
|
// add(relationships, "实时动态数据", "民用设施数据");
|
|
|
|
// add(relationships, "实时动态数据", "人口密度数据");
|
|
|
|
//
|
|
|
|
// for(int j=0;j<relationships.size();j++){
|
|
|
|
// zhyRelationship=relationships.get(j);
|
|
|
|
// Long sid=test1Mapper.selectDocByTitle(zhyRelationship.getSourceName()).getId();
|
|
|
|
// Long tid=test1Mapper.selectDocByTitle(zhyRelationship.getTargetName()).getId();
|
|
|
|
// zhyRelationship.setTarget(tid);
|
|
|
|
// zhyRelationship.setSource(sid);
|
|
|
|
// zhyRelationship.setGroupId(2l);
|
|
|
|
// zhyRelationship.setFileList(new ArrayList<>());
|
|
|
|
// List<ZhyDoc> docs=test1Mapper.selectAllDoc1();
|
|
|
|
// if(zhyRelationship.getFileList().size()>0){
|
|
|
|
// for(int i=0;i<zhyRelationship.getFileList().size();i++){
|
|
|
|
// ZhyArticle article=new ZhyArticle();
|
|
|
|
// article.setName(removePdfSuffix(zhyRelationship.getFileList().get(i)));
|
|
|
|
// article.setSourceId(zhyRelationship.getSource());
|
|
|
|
// article.setTargetId(zhyRelationship.getTarget());
|
|
|
|
// article.setSourceName(zhyRelationship.getSourceName());
|
|
|
|
// article.setTagertName(zhyRelationship.getTargetName());
|
|
|
|
// article.setLocalUrl(ARTICLE_PDF_DIR+"/"+zhyRelationship.getFileList().get(i));
|
|
|
|
// articleService.insertZhyArticle(article);
|
|
|
|
// zhyRelationship.setArticleId(article.getId());
|
|
|
|
//
|
|
|
|
// zhyRelationship.setCreateTime(DateUtils.getNowDate());
|
|
|
|
// ZhyDoc vv = new ZhyDoc();
|
|
|
|
// vv.setId(zhyRelationship.getSource());
|
|
|
|
// ZhyDoc dd = test1Mapper.selectDocById(vv);
|
|
|
|
//
|
|
|
|
// if(dd==null){
|
|
|
|
// ZhyFileManage fileManage=test1Mapper.getFileById(docs.get(0).getFileId());
|
|
|
|
// zhyRelationship.setSourceName(fileManage.getFileName().replaceAll("(?i)\\.docx$", ""));
|
|
|
|
// }else{
|
|
|
|
// zhyRelationship.setSourceName(dd.getDocTitle());
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// vv.setId(zhyRelationship.getTarget());
|
|
|
|
// ZhyDoc dd2 = test1Mapper.selectDocById(vv);
|
|
|
|
// if(dd2==null){
|
|
|
|
// ZhyFileManage fileManage=test1Mapper.getFileById(docs.get(0).getFileId());
|
|
|
|
// zhyRelationship.setTargetName(fileManage.getFileName().replaceAll("(?i)\\.docx$", ""));
|
|
|
|
// }else{
|
|
|
|
// zhyRelationship.setTargetName(dd2.getDocTitle());
|
|
|
|
// }
|
|
|
|
// zhyRelationship.setTargetName(dd2.getDocTitle());
|
|
|
|
// zhyRelationship.setIsgraph(1l);
|
|
|
|
// zhyRelationship.setRelationship("相关");
|
|
|
|
// zhyRelationshipMapper.insertZhyRelationship(zhyRelationship);
|
|
|
|
// String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '"+zhyRelationship.getSource()+"' AND b.docId = '"+zhyRelationship.getTarget()+"'CREATE (a)-[r:"+zhyRelationship.getRelationship()+"{ name: '"+zhyRelationship.getRelationship()+ "', DbId: '"+zhyRelationship.getId()+"' }] -> (b) RETURN r";
|
|
|
|
// neo4jUtil.excuteCypherSql(cqr);
|
|
|
|
//
|
|
|
|
// List<String> ids = new ArrayList<>();
|
|
|
|
// ids.add(String.valueOf(zhyRelationship.getId()));
|
|
|
|
// ESDao esDao = new ESDao();
|
|
|
|
// esDao.id = article.getId().toString();
|
|
|
|
// esDao.DBid = article.getId().toString();
|
|
|
|
// esDao.type = "line";
|
|
|
|
// if(article.getLocalUrl()!=null){
|
|
|
|
// System.out.println("333333");
|
|
|
|
// try {
|
|
|
|
// String txt=article.getLocalUrl().replace("pdf", "txt");
|
|
|
|
// List<String> content = extractContentUntilSecondPage(txt);
|
|
|
|
// if (content != null) {
|
|
|
|
// // 打印结果
|
|
|
|
// for (String line : content) {
|
|
|
|
// System.out.println(line);
|
|
|
|
// }
|
|
|
|
// String result = String.join("", content);
|
|
|
|
// esDao.abstracts = result;
|
|
|
|
// } else {
|
|
|
|
// System.out.println("未找到相关内容或文件不存在。");
|
|
|
|
// esDao.abstracts = article.getName()+article.getKeywords()+article.getSummary();
|
|
|
|
// }
|
|
|
|
// } catch (IOException e) {
|
|
|
|
// e.printStackTrace();
|
|
|
|
// esDao.abstracts = article.getName()+article.getKeywords()+article.getSummary();
|
|
|
|
// }
|
|
|
|
// }else{
|
|
|
|
// esDao.abstracts = article.getName()+article.getKeywords()+article.getSummary();
|
|
|
|
// }
|
|
|
|
// esDao.data = ids.toString();
|
|
|
|
// esService.insertDocById("links",esDao);
|
|
|
|
// }
|
|
|
|
// }else{
|
|
|
|
// zhyRelationship.setCreateTime(DateUtils.getNowDate());
|
|
|
|
// ZhyDoc vv = new ZhyDoc();
|
|
|
|
// vv.setId(zhyRelationship.getSource());
|
|
|
|
// ZhyDoc dd = test1Mapper.selectDocById(vv);
|
|
|
|
// if(dd==null){
|
|
|
|
// ZhyFileManage fileManage=test1Mapper.getFileById(docs.get(0).getFileId());
|
|
|
|
// zhyRelationship.setSourceName(fileManage.getFileName().replaceAll("(?i)\\.docx$", ""));
|
|
|
|
// }else{
|
|
|
|
|
|
|
|
@GetMapping("/testadd") |
|
|
|
public AjaxResult add1122() throws IOException { |
|
|
|
ZhyDocRelation zhyRelationship = new ZhyDocRelation(); |
|
|
|
List<ZhyDocRelation> relationships = new ArrayList<>(); |
|
|
|
|
|
|
|
// 1. 演化博弈推演决策模型
|
|
|
|
// 用于多智能体对抗下的策略演化,影响平台行为与安全
|
|
|
|
add(relationships, "演化博弈推演决策模型", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "演化博弈推演决策模型", "导弹艇航行安全风险指数"); |
|
|
|
add(relationships, "演化博弈推演决策模型", "驱逐舰航行安全风险指数"); |
|
|
|
add(relationships, "演化博弈推演决策模型", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "演化博弈推演决策模型", "护卫舰航行安全风险指数"); |
|
|
|
add(relationships, "演化博弈推演决策模型", "水面舰艇综合效能影响指数"); |
|
|
|
|
|
|
|
// 2. 多属性群决策模型
|
|
|
|
// 用于融合多专家/多传感器意见,评估武器系统效能
|
|
|
|
add(relationships, "多属性群决策模型", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "多属性群决策模型", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "多属性群决策模型", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "多属性群决策模型", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "多属性群决策模型", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "多属性群决策模型", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "多属性群决策模型", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "多属性群决策模型", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "多属性群决策模型", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 3. 高维稀疏数据聚类与复杂目标识别模型
|
|
|
|
// 用于雷达/声纳目标识别,影响探测效能与航行安全
|
|
|
|
add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "导弹艇航行安全风险指数"); |
|
|
|
add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "驱逐舰航行安全风险指数"); |
|
|
|
add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "高维稀疏数据聚类与复杂目标识别模型", "护卫舰航行安全风险指数"); |
|
|
|
|
|
|
|
// 4. 自适应可排序无监督聚类区划模型
|
|
|
|
// 用于海域动态分区,影响航行安全
|
|
|
|
add(relationships, "自适应可排序无监督聚类区划模型", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "自适应可排序无监督聚类区划模型", "导弹艇航行安全风险指数"); |
|
|
|
add(relationships, "自适应可排序无监督聚类区划模型", "驱逐舰航行安全风险指数"); |
|
|
|
add(relationships, "自适应可排序无监督聚类区划模型", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "自适应可排序无监督聚类区划模型", "护卫舰航行安全风险指数"); |
|
|
|
|
|
|
|
// 5. 贝叶斯推理综合决策模型
|
|
|
|
// 用于动态更新风险概率,适用于所有不确定性评估
|
|
|
|
add(relationships, "贝叶斯推理综合决策模型", "舰载机飞行安全风险指数"); |
|
|
|
add(relationships, "贝叶斯推理综合决策模型", "舰载直升机起飞安全风险指数"); |
|
|
|
add(relationships, "贝叶斯推理综合决策模型", "舰载直升机降落安全风险指数"); |
|
|
|
add(relationships, "贝叶斯推理综合决策模型", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "贝叶斯推理综合决策模型", "导弹艇航行安全风险指数"); |
|
|
|
add(relationships, "贝叶斯推理综合决策模型", "驱逐舰航行安全风险指数"); |
|
|
|
add(relationships, "贝叶斯推理综合决策模型", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "贝叶斯推理综合决策模型", "护卫舰航行安全风险指数"); |
|
|
|
|
|
|
|
// 6. 模糊综合评价方法
|
|
|
|
// 用于处理模糊性语言评价,适用于所有“效能影响指数”
|
|
|
|
add(relationships, "模糊综合评价方法", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "舰艇机动效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "模糊综合评价方法", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 7. 可拓综合评价方法
|
|
|
|
// 用于解决矛盾评价问题,适用于武器系统效能评估
|
|
|
|
add(relationships, "可拓综合评价方法", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "可拓综合评价方法", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "可拓综合评价方法", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "可拓综合评价方法", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "可拓综合评价方法", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "可拓综合评价方法", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "可拓综合评价方法", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "可拓综合评价方法", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "可拓综合评价方法", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 8. 灰色关联评估方法
|
|
|
|
// 用于小样本下分析因素关联度,适用于效能评估
|
|
|
|
add(relationships, "灰色关联评估方法", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "灰色关联评估方法", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "灰色关联评估方法", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "灰色关联评估方法", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "灰色关联评估方法", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "灰色关联评估方法", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "灰色关联评估方法", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "灰色关联评估方法", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "灰色关联评估方法", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 9. 最佳理想解逼近评估方法
|
|
|
|
add(relationships, "最佳理想解逼近评估方法", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "最佳理想解逼近评估方法", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "最佳理想解逼近评估方法", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "最佳理想解逼近评估方法", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "最佳理想解逼近评估方法", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "最佳理想解逼近评估方法", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "最佳理想解逼近评估方法", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "最佳理想解逼近评估方法", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "最佳理想解逼近评估方法", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 10. 数据包络评估方法
|
|
|
|
// 用于效率评估,适用于系统级效能
|
|
|
|
add(relationships, "数据包络评估方法", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "数据包络评估方法", "舰艇声呐效能影响指数"); |
|
|
|
add(relationships, "数据包络评估方法", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "数据包络评估方法", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 11. 云模型语义综合评估方法
|
|
|
|
// 用于语言变量量化,适用于所有“效能影响指数”和“风险指数”
|
|
|
|
add(relationships, "云模型语义综合评估方法", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "舰载直升机起飞安全风险指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "舰载直升机降落安全风险指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "云模型语义综合评估方法", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 12. 层次分析法
|
|
|
|
// 用于确定权重,支撑所有指标的综合评估
|
|
|
|
add(relationships, "层次分析法", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "层次分析法", "导弹艇航行安全风险指数"); |
|
|
|
add(relationships, "层次分析法", "驱逐舰航行安全风险指数"); |
|
|
|
add(relationships, "层次分析法", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "层次分析法", "护卫舰航行安全风险指数"); |
|
|
|
add(relationships, "层次分析法", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "舰载机飞行安全风险指数"); |
|
|
|
add(relationships, "层次分析法", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "舰载直升机起飞安全风险指数"); |
|
|
|
add(relationships, "层次分析法", "舰载直升机降落安全风险指数"); |
|
|
|
add(relationships, "层次分析法", "湿热指数"); |
|
|
|
add(relationships, "层次分析法", "风寒指数"); |
|
|
|
add(relationships, "层次分析法", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "舰艇机动效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "舰艇声呐效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "层次分析法", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 13. 湿热指数计算方法
|
|
|
|
add(relationships, "湿热指数计算方法", "湿热指数"); |
|
|
|
|
|
|
|
// 14. 风寒指数计算方法
|
|
|
|
add(relationships, "风寒指数计算方法", "风寒指数"); |
|
|
|
|
|
|
|
// 15. 小样本信息扩散模型
|
|
|
|
// 用于增强小样本下的评估鲁棒性,适用于所有风险与效能指标
|
|
|
|
add(relationships, "小样本信息扩散模型", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "小样本信息扩散模型", "导弹艇航行安全风险指数"); |
|
|
|
add(relationships, "小样本信息扩散模型", "驱逐舰航行安全风险指数"); |
|
|
|
add(relationships, "小样本信息扩散模型", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "小样本信息扩散模型", "护卫舰航行安全风险指数"); |
|
|
|
add(relationships, "小样本信息扩散模型", "舰载机飞行安全风险指数"); |
|
|
|
add(relationships, "小样本信息扩散模型", "舰载直升机起飞安全风险指数"); |
|
|
|
add(relationships, "小样本信息扩散模型", "舰载直升机降落安全风险指数"); |
|
|
|
add(relationships, "小样本信息扩散模型", "水面舰艇综合效能影响指数"); |
|
|
|
|
|
|
|
// 16. 高维知识点集映射模型
|
|
|
|
// 用于知识关联,支撑所有指标的语义理解
|
|
|
|
add(relationships, "高维知识点集映射模型", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "导弹艇航行安全风险指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "驱逐舰航行安全风险指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "护卫舰航行安全风险指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰载机飞行安全风险指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰载雷达探测效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰载声纳探测效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰载直升机起飞安全风险指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰载直升机降落安全风险指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "湿热指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "风寒指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰艇机动效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "舰艇声呐效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "高维知识点集映射模型", "防空导弹效能影响指数"); |
|
|
|
|
|
|
|
// 17. 舰船倾覆概率计算方法
|
|
|
|
add(relationships, "舰船倾覆概率计算方法", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "舰船倾覆概率计算方法", "导弹艇航行安全风险指数"); |
|
|
|
add(relationships, "舰船倾覆概率计算方法", "驱逐舰航行安全风险指数"); |
|
|
|
add(relationships, "舰船倾覆概率计算方法", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "舰船倾覆概率计算方法", "护卫舰航行安全风险指数"); |
|
|
|
|
|
|
|
// 18. 飞机颠簸计算方法
|
|
|
|
add(relationships, "飞机颠簸计算方法", "舰载机飞行安全风险指数"); |
|
|
|
|
|
|
|
// 19. 飞机积冰计算方法
|
|
|
|
add(relationships, "飞机积冰计算方法", "舰载机飞行安全风险指数"); |
|
|
|
|
|
|
|
// 20. 马尔科夫决策方法
|
|
|
|
// 用于状态转移建模,影响航行与飞行安全
|
|
|
|
add(relationships, "马尔科夫决策方法", "补给舰航行安全风险指数"); |
|
|
|
add(relationships, "马尔科夫决策方法", "攻击型潜艇航行安全风险指数"); |
|
|
|
add(relationships, "马尔科夫决策方法", "舰载机飞行安全风险指数"); |
|
|
|
add(relationships, "马尔科夫决策方法", "水面舰艇综合效能影响指数"); |
|
|
|
|
|
|
|
// 21. 效用分析决策方法
|
|
|
|
// 用于方案优选,影响武器系统效能评估
|
|
|
|
add(relationships, "效用分析决策方法", "舰炮打击效能影响指数"); |
|
|
|
add(relationships, "效用分析决策方法", "舰射鱼雷打击效能影响指数"); |
|
|
|
add(relationships, "效用分析决策方法", "舰载反舰导弹打击效能影响指数"); |
|
|
|
add(relationships, "效用分析决策方法", "舰载防空导弹打击效能影响指数"); |
|
|
|
add(relationships, "效用分析决策方法", "水面舰艇综合效能影响指数"); |
|
|
|
add(relationships, "效用分析决策方法", "巡航导弹效能影响指数"); |
|
|
|
add(relationships, "效用分析决策方法", "防空导弹效能影响指数"); |
|
|
|
// 添加 大类 → 小类 关系
|
|
|
|
add(relationships, "基础地理数据", "地形数据"); |
|
|
|
add(relationships, "基础地理数据", "水文数据"); |
|
|
|
add(relationships, "基础地理数据", "重要的岛屿港口"); |
|
|
|
|
|
|
|
add(relationships, "气象观测数据", "实时气象数据"); |
|
|
|
add(relationships, "气象观测数据", "历史气象数据"); |
|
|
|
|
|
|
|
add(relationships, "海洋环境数据", "海洋水文数据"); |
|
|
|
add(relationships, "海洋环境数据", "海洋气象数据"); |
|
|
|
|
|
|
|
add(relationships, "战场环境数据", "电磁环境数据"); |
|
|
|
add(relationships, "战场环境数据", "核生化数据"); |
|
|
|
|
|
|
|
add(relationships, "装备性能数据", "武器系统参数"); |
|
|
|
add(relationships, "装备性能数据", "平台机动数据"); |
|
|
|
|
|
|
|
add(relationships, "作战任务数据", "任务规划数据"); |
|
|
|
add(relationships, "作战任务数据", "兵力部署数据"); |
|
|
|
|
|
|
|
add(relationships, "影响评估数据", "气象影响案例"); |
|
|
|
add(relationships, "影响评估数据", "海洋影响案例"); |
|
|
|
|
|
|
|
add(relationships, "决策规则数据", "军事规则库"); |
|
|
|
add(relationships, "决策规则数据", "专家知识库"); |
|
|
|
|
|
|
|
add(relationships, "实时动态数据", "卫星遥感数据"); |
|
|
|
add(relationships, "实时动态数据", "无人平台数据"); |
|
|
|
add(relationships, "实时动态数据", "民用设施数据"); |
|
|
|
add(relationships, "实时动态数据", "人口密度数据"); |
|
|
|
|
|
|
|
for(int j=0;j<relationships.size();j++){ |
|
|
|
zhyRelationship=relationships.get(j); |
|
|
|
Long sid=test1Mapper.selectDocByTitle(zhyRelationship.getSourceName()).getId(); |
|
|
|
Long tid=test1Mapper.selectDocByTitle(zhyRelationship.getTargetName()).getId(); |
|
|
|
zhyRelationship.setTarget(tid); |
|
|
|
zhyRelationship.setSource(sid); |
|
|
|
zhyRelationship.setGroupId(2l); |
|
|
|
zhyRelationship.setFileList(new ArrayList<>()); |
|
|
|
List<ZhyDoc> docs=test1Mapper.selectAllDoc1(); |
|
|
|
if(zhyRelationship.getFileList().size()>0){ |
|
|
|
for(int i=0;i<zhyRelationship.getFileList().size();i++){ |
|
|
|
ZhyArticle article=new ZhyArticle(); |
|
|
|
article.setName(removePdfSuffix(zhyRelationship.getFileList().get(i))); |
|
|
|
article.setSourceId(zhyRelationship.getSource()); |
|
|
|
article.setTargetId(zhyRelationship.getTarget()); |
|
|
|
article.setSourceName(zhyRelationship.getSourceName()); |
|
|
|
article.setTagertName(zhyRelationship.getTargetName()); |
|
|
|
article.setLocalUrl(ARTICLE_PDF_DIR+"/"+zhyRelationship.getFileList().get(i)); |
|
|
|
articleService.insertZhyArticle(article); |
|
|
|
zhyRelationship.setArticleId(article.getId()); |
|
|
|
|
|
|
|
zhyRelationship.setCreateTime(DateUtils.getNowDate()); |
|
|
|
ZhyDoc vv = new ZhyDoc(); |
|
|
|
vv.setId(zhyRelationship.getSource()); |
|
|
|
ZhyDoc dd = test1Mapper.selectDocById(vv); |
|
|
|
|
|
|
|
if(dd==null){ |
|
|
|
ZhyFileManage fileManage=test1Mapper.getFileById(docs.get(0).getFileId()); |
|
|
|
zhyRelationship.setSourceName(fileManage.getFileName().replaceAll("(?i)\\.docx$", "")); |
|
|
|
}else{ |
|
|
|
zhyRelationship.setSourceName(dd.getDocTitle()); |
|
|
|
} |
|
|
|
|
|
|
|
vv.setId(zhyRelationship.getTarget()); |
|
|
|
ZhyDoc dd2 = test1Mapper.selectDocById(vv); |
|
|
|
if(dd2==null){ |
|
|
|
ZhyFileManage fileManage=test1Mapper.getFileById(docs.get(0).getFileId()); |
|
|
|
zhyRelationship.setTargetName(fileManage.getFileName().replaceAll("(?i)\\.docx$", "")); |
|
|
|
}else{ |
|
|
|
zhyRelationship.setTargetName(dd2.getDocTitle()); |
|
|
|
} |
|
|
|
zhyRelationship.setTargetName(dd2.getDocTitle()); |
|
|
|
zhyRelationship.setIsgraph(1l); |
|
|
|
zhyRelationship.setRelationship("相关"); |
|
|
|
zhyRelationshipMapper.insertZhyRelationship(zhyRelationship); |
|
|
|
String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '"+zhyRelationship.getSource()+"' AND b.docId = '"+zhyRelationship.getTarget()+"'CREATE (a)-[r:"+zhyRelationship.getRelationship()+"{ name: '"+zhyRelationship.getRelationship()+ "', DbId: '"+zhyRelationship.getId()+"' }] -> (b) RETURN r"; |
|
|
|
neo4jUtil.excuteCypherSql(cqr); |
|
|
|
|
|
|
|
List<String> ids = new ArrayList<>(); |
|
|
|
ids.add(String.valueOf(zhyRelationship.getId())); |
|
|
|
ESDao esDao = new ESDao(); |
|
|
|
esDao.id = article.getId().toString(); |
|
|
|
esDao.DBid = article.getId().toString(); |
|
|
|
esDao.type = "line"; |
|
|
|
if(article.getLocalUrl()!=null){ |
|
|
|
System.out.println("333333"); |
|
|
|
try { |
|
|
|
String txt=article.getLocalUrl().replace("pdf", "txt"); |
|
|
|
List<String> content = extractContentUntilSecondPage(txt); |
|
|
|
if (content != null) { |
|
|
|
// 打印结果
|
|
|
|
for (String line : content) { |
|
|
|
System.out.println(line); |
|
|
|
} |
|
|
|
String result = String.join("", content); |
|
|
|
esDao.abstracts = result; |
|
|
|
} else { |
|
|
|
System.out.println("未找到相关内容或文件不存在。"); |
|
|
|
esDao.abstracts = article.getName()+article.getKeywords()+article.getSummary(); |
|
|
|
} |
|
|
|
} catch (IOException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
esDao.abstracts = article.getName()+article.getKeywords()+article.getSummary(); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
esDao.abstracts = article.getName()+article.getKeywords()+article.getSummary(); |
|
|
|
} |
|
|
|
esDao.data = ids.toString(); |
|
|
|
esService.insertDocById("links",esDao); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
zhyRelationship.setCreateTime(DateUtils.getNowDate()); |
|
|
|
ZhyDoc vv = new ZhyDoc(); |
|
|
|
vv.setId(zhyRelationship.getSource()); |
|
|
|
ZhyDoc dd = test1Mapper.selectDocById(vv); |
|
|
|
if(dd==null){ |
|
|
|
ZhyFileManage fileManage=test1Mapper.getFileById(docs.get(0).getFileId()); |
|
|
|
zhyRelationship.setSourceName(fileManage.getFileName().replaceAll("(?i)\\.docx$", "")); |
|
|
|
}else{ |
|
|
|
zhyRelationship.setSourceName(dd.getDocTitle()); |
|
|
|
} |
|
|
|
// zhyRelationship.setSourceName(dd.getDocTitle());
|
|
|
|
// }
|
|
|
|
//// zhyRelationship.setSourceName(dd.getDocTitle());
|
|
|
|
// vv.setId(zhyRelationship.getTarget());
|
|
|
|
// ZhyDoc dd2 = test1Mapper.selectDocById(vv);
|
|
|
|
// zhyRelationship.setTargetName(dd2.getDocTitle());
|
|
|
|
// zhyRelationship.setIsgraph(1l);
|
|
|
|
// zhyRelationship.setRelationship("相关");
|
|
|
|
// zhyRelationshipMapper.insertZhyRelationship(zhyRelationship);
|
|
|
|
// String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '"+zhyRelationship.getSource()+"' AND b.docId = '"+zhyRelationship.getTarget()+"'CREATE (a)-[r:"+zhyRelationship.getRelationship()+"{ name: '"+zhyRelationship.getRelationship()+ "', DbId: '"+zhyRelationship.getId()+"' }] -> (b) RETURN r";
|
|
|
|
// neo4jUtil.excuteCypherSql(cqr);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// return toAjax(1);
|
|
|
|
//}
|
|
|
|
// @PreAuthorize("@ss.hasPermi('system:relationship:add')")
|
|
|
|
vv.setId(zhyRelationship.getTarget()); |
|
|
|
ZhyDoc dd2 = test1Mapper.selectDocById(vv); |
|
|
|
zhyRelationship.setTargetName(dd2.getDocTitle()); |
|
|
|
zhyRelationship.setIsgraph(1l); |
|
|
|
zhyRelationship.setRelationship("相关"); |
|
|
|
zhyRelationshipMapper.insertZhyRelationship(zhyRelationship); |
|
|
|
String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '"+zhyRelationship.getSource()+"' AND b.docId = '"+zhyRelationship.getTarget()+"'CREATE (a)-[r:"+zhyRelationship.getRelationship()+"{ name: '"+zhyRelationship.getRelationship()+ "', DbId: '"+zhyRelationship.getId()+"' }] -> (b) RETURN r"; |
|
|
|
neo4jUtil.excuteCypherSql(cqr); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return toAjax(1); |
|
|
|
} |
|
|
|
@PreAuthorize("@ss.hasPermi('system:relationship:add')") |
|
|
|
@Log(title = "文章关系", businessType = BusinessType.INSERT) |
|
|
|
@PostMapping |
|
|
|
public AjaxResult add(@RequestBody ZhyDocRelation zhyRelationship) throws IOException { |
|
|
|
|