diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyDocmubanController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyDocmubanController.java index 66f7766..5ad8803 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyDocmubanController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyDocmubanController.java @@ -1,9 +1,21 @@ package com.ruoyi.web.controller.system; -import java.util.List; -import java.util.Map; +import java.io.File; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.Neo4jUtil; +import com.ruoyi.system.domain.ZhyDoc; +import com.ruoyi.system.domain.ZhyDocRelation; +import com.ruoyi.system.domain.ZhyFileManage; +import com.ruoyi.system.mapper.Test1Mapper; +import com.ruoyi.system.mapper.ZhyDocRelationMapper; +import com.ruoyi.system.mapper.ZhyDocmubanMapper; +import org.neo4j.driver.v1.StatementResult; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -23,6 +35,7 @@ import com.ruoyi.system.service.IZhyDocmubanService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; + /** * 图谱模板Controller * @@ -33,9 +46,25 @@ import com.ruoyi.common.core.page.TableDataInfo; @RequestMapping("/system/docmuban") public class ZhyDocmubanController extends BaseController { + + + static String name="联合作战气象海洋影响评估与决策支撑体系"; + static String relation="相关"; @Autowired private IZhyDocmubanService zhyDocmubanService; + @Autowired + private ZhyDocmubanMapper zhyDocmubanMapper; + + @Autowired + private Test1Mapper test1Mapper; + + @Autowired + private ZhyDocRelationMapper zhyDocRelationMapper; + + @Autowired + Neo4jUtil neo4jUtil; + /** * 查询图谱模板列表 */ @@ -74,12 +103,2137 @@ public class ZhyDocmubanController extends BaseController /** * 新增图谱模板 */ - @PreAuthorize("@ss.hasPermi('system:docmuban:add')") + + //获取相关上级数据 + @PostMapping("/getParentList") + public AjaxResult getParentList(@RequestBody ZhyDocmuban zhyDocmuban){ + List list = new ArrayList<>(); + + + if(zhyDocmuban.getType().equals("作战")){ + ZhyDocmuban aa = new ZhyDocmuban(); + aa.setType("方向"); + list = zhyDocmubanMapper.selectZhyDocmubanList(aa); + } + if(zhyDocmuban.getType().equals("装备")){ + ZhyDocmuban aa = new ZhyDocmuban(); + aa.setType("作战"); + list = zhyDocmubanMapper.selectZhyDocmubanList(aa); + } + if(zhyDocmuban.getType().equals("环境")){ + ZhyDocmuban aa = new ZhyDocmuban(); + aa.setType("装备"); + list = zhyDocmubanMapper.selectZhyDocmubanList(aa); + } + + + + if(zhyDocmuban.getType().equals("模型库")){ + ZhyDocmuban aa = new ZhyDocmuban(); + aa.setType("业务系统"); + list = zhyDocmubanMapper.selectZhyDocmubanList(aa); + } + if(zhyDocmuban.getType().equals("规则库")){ + ZhyDocmuban aa = new ZhyDocmuban(); + aa.setType("模型库"); + list = zhyDocmubanMapper.selectZhyDocmubanList(aa); + } + if(zhyDocmuban.getType().equals("大类")){ + ZhyDocmuban aa = new ZhyDocmuban(); + aa.setType("规则库"); + list = zhyDocmubanMapper.selectZhyDocmubanList(aa); + } + if(zhyDocmuban.getType().equals("小类")){ + ZhyDocmuban aa = new ZhyDocmuban(); + aa.setType("大类"); + list = zhyDocmubanMapper.selectZhyDocmubanList(aa); + } + + + if(zhyDocmuban.getType().equals("指标")){ + ZhyDocmuban aa = new ZhyDocmuban(); + aa.setType("模型"); + list = zhyDocmubanMapper.selectZhyDocmubanList(aa); + } + + + return AjaxResult.success(list); + + } + + + @Log(title = "图谱模板", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody ZhyDocmuban zhyDocmuban) - { - return toAjax(zhyDocmubanService.insertZhyDocmuban(zhyDocmuban)); + public AjaxResult add(@RequestBody ZhyDocmuban zhyDocmuban) throws IOException { + + + List have = zhyDocmubanMapper.selectZhyDocmubanList(zhyDocmuban); + if (have.size() > 0) { + return AjaxResult.error("已经有这个数据了"); + } + List list = test1Mapper.getFileList(); + + int aa = zhyDocmubanMapper.insertZhyDocmuban(zhyDocmuban); + String url = saveFileWithStructure1(); + List nodeList=new ArrayList<>(); + if (aa == 1) { + //在这里处理 + //判断他的种类 + if (zhyDocmuban.getType().equals("方向")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(1l); + zhyDoc.setGroupId(0l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + + String cql = "create (doc: Doc{"; + + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + + + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + + } + if (zhyDocmuban.getType().equals("作战")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(2l); + zhyDoc.setGroupId(0l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + String cql = "create (doc: Doc{"; + + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + + + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + if (zhyDocmuban.getType().equals("装备")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(3l); + zhyDoc.setGroupId(0l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + if (zhyDocmuban.getType().equals("环境")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(4l); + zhyDoc.setGroupId(0l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + if (zhyDocmuban.getType().equals("业务系统")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(1l); + zhyDoc.setGroupId(1l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + + + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + if (zhyDocmuban.getType().equals("模型库")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(2l); + zhyDoc.setGroupId(1l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + if (zhyDocmuban.getType().equals("规则库")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(3l); + zhyDoc.setGroupId(1l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + + + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + if (zhyDocmuban.getType().equals("大类")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(4l); + zhyDoc.setGroupId(1l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + + + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + if (zhyDocmuban.getType().equals("小类")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(5l); + zhyDoc.setGroupId(1l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + + + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + + } + if (zhyDocmuban.getType().equals("模型")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(1l); + zhyDoc.setGroupId(2l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + + + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + if (zhyDocmuban.getType().equals("指标")) { + ZhyDoc zhyDoc = new ZhyDoc(); + zhyDoc.setDocTitle(zhyDocmuban.getText()); + zhyDoc.setDocLevel(2l); + zhyDoc.setGroupId(2l); + zhyDoc.setContent(zhyDocmuban.getContent()); + zhyDoc.setFileId(list.get(0).getId()); + zhyDoc.setDocUrl(url + "\\wordSplitter" + "\\" + zhyDoc.getDocTitle() + ".txt"); + if(zhyDocmuban.getParentId()!=null){ + ZhyDocmuban zz = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + ZhyDoc lz = test1Mapper.selectDocByTitle(zz.getText()); + zhyDoc.setDocParentId(lz.getId()); + int aaa = test1Mapper.insertDoc(zhyDoc); + + + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + + + + ZhyDocRelation zr = new ZhyDocRelation(); + zr.setRelationship(relation); + zr.setSource(lz.getId()); + zr.setTarget(zhyDoc.getId()); + zr.setSourceName(lz.getDocTitle()); + zr.setTargetName(zhyDoc.getDocTitle()); + zr.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zr); + + + //创建图谱 + String cqr = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + zr.getSource() + "' AND b.docId = '" + zr.getTarget() + "' CREATE (a)-[r:" + zr.getRelationship() + " { name: '" + zr.getRelationship() + "' }] -> (b) RETURN r"; + neo4jUtil.excuteCypherSql(cqr); + + zr.setIsgraph(1l); + zhyDocRelationMapper.updateZhyRelationship(zr); + } + else { + String cql = "create (doc: Doc{"; + List listNew = new ArrayList<>(); + if (zhyDoc.getId() != null) { + Map bb = new HashMap<>(); + bb.put("key", "docId"); + bb.put("value", String.valueOf(zhyDoc.getId())); + listNew.add(bb); + } + if (zhyDoc.getDocTitle() != null && !zhyDoc.getDocTitle().equals("")) { + Map bb = new HashMap<>(); + bb.put("key", "docTitle"); + bb.put("value", String.valueOf(zhyDoc.getDocTitle())); + listNew.add(bb); + } + if (zhyDoc.getDocLevel() != null) { + Map bb = new HashMap<>(); + if (zhyDoc.getDocLevel() == 1) { + bb.put("key", "docLeve"); + bb.put("value", "leve1"); + } + if (zhyDoc.getDocLevel() == 2) { + bb.put("key", "docLeve"); + bb.put("value", "leve2"); + } + if (zhyDoc.getDocLevel() == 3) { + bb.put("key", "docLeve"); + bb.put("value", "leve3"); + } + if (zhyDoc.getDocLevel() == 4) { + bb.put("key", "docLeve"); + bb.put("value", "leve4"); + } + if (zhyDoc.getDocLevel() == 5) { + bb.put("key", "docLeve"); + bb.put("value", "leve5"); + } + if (zhyDoc.getDocLevel() == 6) { + bb.put("key", "docLeve"); + bb.put("value", "leve6"); + } + listNew.add(bb); + } + if(zhyDoc.getDocParentId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "docParentId"); + bb.put("value", String.valueOf(zhyDoc.getDocParentId())); + listNew.add(bb); + } + if(zhyDoc.getGroupId()!=null){ + Map bb = new HashMap<>(); + bb.put("key", "groupId"); + bb.put("value", String.valueOf(zhyDoc.getGroupId())); + listNew.add(bb); + } + for (int a = 0; a < listNew.size(); a++) { + + + if (listNew.get(a).size() > 1) { + if (a == 0) { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } else if (a == (listNew.size() - 1)) { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'})"; + } else { + cql = cql + "," + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'"; + } + } else { + cql = cql + listNew.get(a).get("key") + ":'" + listNew.get(a).get("value") + "'}) return doc"; + } + + } + //创建节点图普 + neo4jUtil.excuteCypherSql(cql); + test1Mapper.updateGraphStatus(zhyDoc.getId()); + } + } + + } + + + + + //这是进行插入的 + return AjaxResult.success("成功"); + } + + + public String saveFileWithStructure1() throws IOException { + // 获取当前日期并格式化 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_HHmmss"); + String formattedDate = dateFormat.format(new Date()); + + // 定义基础目录 + File baseDir = new File("D:\\project\\gyx\\tupudata\\fileManager"); + // 如果基础目录不存在,则创建它(包括所有必需的父目录) + if (!baseDir.exists() && !baseDir.mkdirs()) { + throw new IOException("Failed to create base directory: " + baseDir.getAbsolutePath()); + } + + // 在基础目录下创建 'index' 目录 + File indexDir = new File(baseDir, "index"); + if (!indexDir.exists() && !indexDir.mkdir()) { + throw new IOException("Failed to create index directory: " + indexDir.getAbsolutePath()); + } + + // 使用指定的固定文件名 + String fileName = name+".docx"; + // 创建主子目录,名称为 文件名_时间戳 + File subDir = new File(baseDir, fileName + "_" + formattedDate); + if (!subDir.mkdir()) { + throw new IOException("Failed to create subdirectory: " + subDir.getAbsolutePath()); + } + + // 在主子目录内创建 'wordSplitter' 目录 + File wordSplitterDir = new File(subDir, "wordSplitter"); + if (!wordSplitterDir.mkdir()) { + throw new IOException("Failed to create wordSplitter directory: " + wordSplitterDir.getAbsolutePath()); + } + + // 注意:此方法不保存任何文件,因此不需要 try-catch 块来处理文件传输异常 + + // 返回成功创建的主子目录的路径 + return subDir.getPath(); } //新增测试 @@ -100,22 +2254,132 @@ public class ZhyDocmubanController extends BaseController /** * 修改图谱模板 */ - @PreAuthorize("@ss.hasPermi('system:docmuban:edit')") + @Log(title = "图谱模板", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ZhyDocmuban zhyDocmuban) { - return toAjax(zhyDocmubanService.updateZhyDocmuban(zhyDocmuban)); + + //判断都啥改了 + ZhyDocmuban old = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getId()); + ZhyDocmuban newb = zhyDocmubanMapper.selectZhyDocmubanById(zhyDocmuban.getParentId()); + + + ZhyDoc dd = test1Mapper.selectDocByTitle(zhyDocmuban.getText()); + Long pId = 0l; + + + if(zhyDocmuban.getParentId()!=null){ + if(zhyDocmuban.getParentId()!=old.getParentId()){ + //修改上级了,如果修改上级了就需要修改关系 + //查询我这的Doc再查询旧的Doc + + ZhyDoc oldP = test1Mapper.selectDocByIdId(dd.getDocParentId()); + ZhyDoc newP = test1Mapper.selectDocByTitle(newb.getText()); + pId = newP.getId(); + + //删除图谱关系 + String cqr = "MATCH (p1:Doc {docId: "+oldP.getId()+"})-[r]->(p2:Person {docId: "+dd.getId()+"}) DELETE r"; + StatementResult result = neo4jUtil.excuteCypherSql(cqr); + //创建图谱关系 + ZhyDocRelation zr = new ZhyDocRelation(); + String cqrNew = "MATCH (a:Doc),(b:Doc) WHERE a.docId = '" + newP.getId() + "' AND b.docId = '" + dd.getId() + "' CREATE (a)-[r:" + relation + " { name: '" + relation + "' }] -> (b) RETURN r"; + StatementResult resultNew = neo4jUtil.excuteCypherSql(cqrNew); + + + + //删除数据库的关系 + ZhyDocRelation or = new ZhyDocRelation(); + or.setSource(oldP.getId()); + or.setTarget(dd.getId()); + ZhyDocRelation zo = zhyDocRelationMapper.selectZhyRelationshipList(or).get(0); + int delete = zhyDocRelationMapper.deleteZhyRelationshipById(zo.getId()); + + + ZhyDocRelation zz = new ZhyDocRelation(); + zz.setRelationship(relation); + zz.setSource(newP.getId()); + zz.setTarget(dd.getId()); + zz.setSourceName(newP.getDocTitle()); + zz.setTargetName(dd.getDocTitle()); + zz.setCreateTime(new Date()); + zhyDocRelationMapper.insertZhyRelationship(zz); + + + dd.setDocParentId(pId); + + + } + } + + + //修改 + int bb = zhyDocmubanService.updateZhyDocmuban(zhyDocmuban); + + //修改这个Doc + dd.setDocTitle(zhyDocmuban.getText()); + + + int docUpdate = test1Mapper.updateDocById(dd); + + + + + + + + + //这是进行修改的 + return AjaxResult.success(); } /** * 删除图谱模板 */ - @PreAuthorize("@ss.hasPermi('system:docmuban:remove')") + @Log(title = "图谱模板", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { - return toAjax(zhyDocmubanService.deleteZhyDocmubanByIds(ids)); + + + //删除节点 + ZhyDocmuban zb = zhyDocmubanMapper.selectZhyDocmubanById(ids[0]); + ZhyDoc zz = test1Mapper.selectDocByTitle(zb.getText()); + + + //并且删除和他有关的关系 + test1Mapper.deleteTxtById(zz.getId()); + zhyDocmubanMapper.deleteZhyDocmubanById(zb.getId()); + + +// ZhyDocmuban fchild = new ZhyDocmuban(); +// fchild.setParentId(zb.getId()); +// List list = zhyDocmubanMapper.selectZhyDocmubanList(fchild); +// if(list.size()>0){ +// return AjaxResult.error("有相关下级节点"); +// } + + //删除指定的实体 + String cql = "MATCH (n:Doc{docId:'" + zz.getId() + "'}) DETACH delete n"; + System.out.println(cql); + StatementResult result1 = neo4jUtil.excuteCypherSql(cql); + + + //删除相关的关系 + ZhyDocRelation cc = new ZhyDocRelation(); + cc.setTarget(zz.getId()); + List llll = zhyDocRelationMapper.selectZhyRelationshipList(cc); + for (int i = 0; i < llll.size(); i++) { + int aa = zhyDocRelationMapper.deleteZhyRelationshipById(llll.get(i).getId()); + } + ZhyDocRelation cc1 = new ZhyDocRelation(); + cc1.setSource(zz.getId()); + List llll1 = zhyDocRelationMapper.selectZhyRelationshipList(cc1); + for (int i = 0; i < llll1.size(); i++) { + int aa = zhyDocRelationMapper.deleteZhyRelationshipById(llll1.get(i).getId()); + } + + return AjaxResult.success(); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/ZhyDocmuban.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/ZhyDocmuban.java index a890a80..a1d0d2d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/ZhyDocmuban.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/ZhyDocmuban.java @@ -38,7 +38,7 @@ public class ZhyDocmuban extends BaseEntity @Excel(name = "关系") private String relation; - @Excel(name = "关系") +// @Excel(name = "关系") 副文本 private String content; public String getContent() { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WordSplitter.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WordSplitter.java index 4a317d4..67aa134 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WordSplitter.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WordSplitter.java @@ -778,6 +778,7 @@ public class WordSplitter { System.out.println(fileName); fileName = fileName.replace("//","&"); String outputFilePath = outputFolder + "\\" +list.get(i).getDocLevel()+fileName + ".txt"; + all = list.get(i).getContent(); sb.append(all).append(System.lineSeparator()); writeToFile(sb.toString(), outputFilePath); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZhyDocmubanServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZhyDocmubanServiceImpl.java index b1729cf..9120651 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZhyDocmubanServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZhyDocmubanServiceImpl.java @@ -1,6 +1,11 @@ package com.ruoyi.system.service.impl; import java.util.List; + +import com.ruoyi.system.domain.ZhyDoc; +import com.ruoyi.system.domain.ZhyFileManage; +import com.ruoyi.system.mapper.Test1Mapper; +import com.ruoyi.system.mapper.ZhyDocRelationMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.ZhyDocmubanMapper; @@ -18,6 +23,12 @@ public class ZhyDocmubanServiceImpl implements IZhyDocmubanService { @Autowired private ZhyDocmubanMapper zhyDocmubanMapper; + @Autowired + private ZhyFileManageServiceImpl zhyFileManageServiceImpl; + @Autowired + private ZhyDocRelationMapper zhyDocRelationMapper; + @Autowired + private Test1Mapper test1Mapper; /** * 查询图谱模板 @@ -55,6 +66,9 @@ public class ZhyDocmubanServiceImpl implements IZhyDocmubanService return zhyDocmubanMapper.insertZhyDocmuban(zhyDocmuban); } + + + /** * 修改图谱模板 * diff --git a/ruoyi-ui/src/api/system/docmuban.js b/ruoyi-ui/src/api/system/docmuban.js index 55d0ca6..90bc297 100644 --- a/ruoyi-ui/src/api/system/docmuban.js +++ b/ruoyi-ui/src/api/system/docmuban.js @@ -9,6 +9,16 @@ export function listDocmuban(query) { }) } +export function getParentList(data) { + return request({ + url: '/system/docmuban/getParentList', + method: 'post', + data: data + }) +} + + + // 查询图谱模板详细 export function getDocmuban(id) { return request({ diff --git a/ruoyi-ui/src/views/system/docmuban/index.vue b/ruoyi-ui/src/views/system/docmuban/index.vue index feb7a40..7937f1b 100644 --- a/ruoyi-ui/src/views/system/docmuban/index.vue +++ b/ruoyi-ui/src/views/system/docmuban/index.vue @@ -20,7 +20,11 @@
-
方向
+
+
方向
+ 新增 +
+ @@ -43,7 +47,10 @@
-
作战
+
+
作战
+ 新增 +
@@ -66,7 +73,10 @@
-
装备
+
+
装备
+ 新增 +
@@ -89,7 +99,10 @@
-
环境
+
+
环境
+ 新增 +
@@ -286,29 +299,74 @@
+ + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +