Преглед изворни кода

解决按目录查询不出的BUG

wukai пре 1 година
родитељ
комит
1d62f3793a

+ 14 - 18
lzga-modules/lzga-doc/src/main/java/com/jjt/doc/service/impl/DocInfoDirServiceImpl.java

@@ -1,11 +1,12 @@
 package com.jjt.doc.service.impl;
 
-import java.util.List;
-import org.springframework.stereotype.Service;
-import com.jjt.doc.mapper.DocInfoDirMapper;
 import com.jjt.doc.domain.DocInfoDir;
-import javax.annotation.Resource;
+import com.jjt.doc.mapper.DocInfoDirMapper;
 import com.jjt.doc.service.IDocInfoDirService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 文档目录关系Service业务层处理
@@ -14,8 +15,7 @@ import com.jjt.doc.service.IDocInfoDirService;
  * @date 2023-04-12
  */
 @Service
-public class DocInfoDirServiceImpl implements IDocInfoDirService
-{
+public class DocInfoDirServiceImpl implements IDocInfoDirService {
     @Resource
     private DocInfoDirMapper docInfoDirMapper;
 
@@ -26,8 +26,7 @@ public class DocInfoDirServiceImpl implements IDocInfoDirService
      * @return 文档目录关系
      */
     @Override
-    public DocInfoDir selectDocInfoDirByDocId(Long docId)
-    {
+    public DocInfoDir selectDocInfoDirByDocId(Long docId) {
         return docInfoDirMapper.selectDocInfoDirByDocId(docId);
     }
 
@@ -38,8 +37,7 @@ public class DocInfoDirServiceImpl implements IDocInfoDirService
      * @return 文档目录关系
      */
     @Override
-    public List<DocInfoDir> selectDocInfoDirList(DocInfoDir docInfoDir)
-    {
+    public List<DocInfoDir> selectDocInfoDirList(DocInfoDir docInfoDir) {
         return docInfoDirMapper.selectDocInfoDirList(docInfoDir);
     }
 
@@ -50,8 +48,9 @@ public class DocInfoDirServiceImpl implements IDocInfoDirService
      * @return 结果
      */
     @Override
-    public int insertDocInfoDir(DocInfoDir docInfoDir)
-    {
+    public int insertDocInfoDir(DocInfoDir docInfoDir) {
+        //先删除 再插入
+        docInfoDirMapper.deleteDocInfoDirByDocId(docInfoDir.getDocId());
         return docInfoDirMapper.insertDocInfoDir(docInfoDir);
     }
 
@@ -62,8 +61,7 @@ public class DocInfoDirServiceImpl implements IDocInfoDirService
      * @return 结果
      */
     @Override
-    public int updateDocInfoDir(DocInfoDir docInfoDir)
-    {
+    public int updateDocInfoDir(DocInfoDir docInfoDir) {
         return docInfoDirMapper.updateDocInfoDir(docInfoDir);
     }
 
@@ -74,8 +72,7 @@ public class DocInfoDirServiceImpl implements IDocInfoDirService
      * @return 结果
      */
     @Override
-    public int deleteDocInfoDirByDocIds(Long[] docIds)
-    {
+    public int deleteDocInfoDirByDocIds(Long[] docIds) {
         return docInfoDirMapper.deleteDocInfoDirByDocIds(docIds);
     }
 
@@ -86,8 +83,7 @@ public class DocInfoDirServiceImpl implements IDocInfoDirService
      * @return 结果
      */
     @Override
-    public int deleteDocInfoDirByDocId(Long docId)
-    {
+    public int deleteDocInfoDirByDocId(Long docId) {
         return docInfoDirMapper.deleteDocInfoDirByDocId(docId);
     }
 }

+ 19 - 14
lzga-modules/lzga-doc/src/main/java/com/jjt/doc/service/impl/DocInfoServiceImpl.java

@@ -1,35 +1,32 @@
 package com.jjt.doc.service.impl;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.*;
-import java.util.function.Function;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.jjt.common.core.constant.Constants;
 import com.jjt.common.core.utils.DateUtils;
 import com.jjt.common.core.utils.FileContentUtils;
 import com.jjt.common.core.utils.StringUtils;
-import com.jjt.common.core.utils.file.FileTypeUtils;
 import com.jjt.common.core.utils.uuid.Seq;
-import com.jjt.common.security.utils.SecurityUtils;
 import com.jjt.doc.config.EsConfig;
 import com.jjt.doc.domain.*;
 import com.jjt.doc.enums.DocOfType;
+import com.jjt.doc.mapper.DocInfoMapper;
 import com.jjt.doc.mapper.DocTagMapper;
 import com.jjt.doc.mapper.DocTagRelaMapper;
 import com.jjt.doc.service.*;
 import com.jjt.system.api.RemoteFileService;
-import org.apache.commons.io.FilenameUtils;
 import org.springframework.data.elasticsearch.NoSuchIndexException;
 import org.springframework.stereotype.Service;
-import com.jjt.doc.mapper.DocInfoMapper;
 
 import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
 
 /**
  * 文档基本信息Service业务层处理
@@ -78,6 +75,8 @@ public class DocInfoServiceImpl implements IDocInfoService {
     @Override
     public DocInfo selectDocInfoByDocInfo(DocInfo docInfo) {
         DocInfo doc = docInfoMapper.selectDocInfoByDocInfo(docInfo);
+        DocInfoDir infoDir = infoDirService.selectDocInfoDirByDocId(docInfo.getDocId());
+        doc.setDirId(infoDir.getDirId());
         doc.setTagList(tagMapper.selectDocTagList4docId(doc.getDocId()));
         return doc;
     }
@@ -218,6 +217,12 @@ public class DocInfoServiceImpl implements IDocInfoService {
      */
     @Override
     public int updateDocInfo(DocInfo docInfo) {
+        //插入文件与目录关系表
+        DocInfoDir infoDir = new DocInfoDir();
+        infoDir.setDirId(docInfo.getDirId());
+        infoDir.setDocId(docInfo.getDocId());
+        infoDir.setDocYear(docInfo.getCreateYear());
+        infoDirService.insertDocInfoDir(infoDir);
         insertDocTag(docInfo);
         return docInfoMapper.updateDocInfo(docInfo);
     }

+ 18 - 15
lzga-modules/lzga-doc/src/main/resources/mapper/doc/DocInfoDirMapper.xml

@@ -1,42 +1,43 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.jjt.doc.mapper.DocInfoDirMapper">
-    
+
     <resultMap type="DocInfoDir" id="DocInfoDirResult">
-        <result property="docId"    column="DOC_ID"    />
-        <result property="docYear"    column="DOC_YEAR"    />
-        <result property="dirId"    column="DIR_ID"    />
+        <result property="docId" column="DOC_ID"/>
+        <result property="docYear" column="DOC_YEAR"/>
+        <result property="dirId" column="DIR_ID"/>
     </resultMap>
 
     <sql id="selectDocInfoDirVo">
-        select DOC_ID, DOC_YEAR, DIR_ID from doc_info_dir
+        select DOC_ID, DOC_YEAR, DIR_ID
+        from doc_info_dir
     </sql>
 
     <select id="selectDocInfoDirList" parameterType="DocInfoDir" resultMap="DocInfoDirResult">
         <include refid="selectDocInfoDirVo"/>
-        <where>  
+        <where>
         </where>
     </select>
-    
+
     <select id="selectDocInfoDirByDocId" parameterType="Long" resultMap="DocInfoDirResult">
         <include refid="selectDocInfoDirVo"/>
         where DOC_ID = #{docId}
     </select>
-        
+
     <insert id="insertDocInfoDir" parameterType="DocInfoDir">
         insert into doc_info_dir
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="docId != null">DOC_ID,</if>
             <if test="docYear != null">DOC_YEAR,</if>
             <if test="dirId != null">DIR_ID,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="docId != null">#{docId},</if>
             <if test="docYear != null">#{docYear},</if>
             <if test="dirId != null">#{dirId},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateDocInfoDir" parameterType="DocInfoDir">
@@ -49,13 +50,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <delete id="deleteDocInfoDirByDocId" parameterType="Long">
-        delete from doc_info_dir where DOC_ID = #{docId}
+        delete
+        from doc_info_dir
+        where DOC_ID = #{docId}
     </delete>
 
     <delete id="deleteDocInfoDirByDocIds" parameterType="String">
-        delete from doc_info_dir where DOC_ID in 
+        delete from doc_info_dir where DOC_ID in
         <foreach item="docId" collection="array" open="(" separator="," close=")">
             #{docId}
         </foreach>
     </delete>
-</mapper>
+</mapper>