Browse Source

鱼骨图文件保存至系统库

sucheng 1 year ago
parent
commit
baf6ff0119

+ 2 - 0
cx-question/cx-question-common/src/main/java/com/rongwei/bscommon/sys/dao/SrmIssuesListDao.java

@@ -5,6 +5,7 @@ import com.rongwei.bsentity.vo.SrmActionPlanVo;
 import com.rongwei.bsentity.domin.SrmIssuesListDo;
 import com.rongwei.bsentity.vo.SrmFormCountVo;
 import com.rongwei.rwcommon.base.BaseDao;
+import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -43,4 +44,5 @@ public interface SrmIssuesListDao extends BaseDao<SrmIssuesListDo> {
 
     List<SrmIssuesListDo> getListByMesId(@Param("mesIds")List<String> mesIds);
 
+    void insertFile(@Param("model") SysFileItemDo sysFileItemDo);
 }

+ 37 - 3
cx-question/cx-question-common/src/main/java/com/rongwei/bscommon/sys/service/impl/SrmIssuesListServiceImpl.java

@@ -1,11 +1,15 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.SrmIssuesListDao;
 import com.rongwei.bscommon.sys.service.SrmIssuesListService;
 import com.rongwei.bsentity.domin.SrmIssuesListDo;
 import com.rongwei.commonservice.service.SysConfigService;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
+import com.rongwei.safecommon.utils.CXCommonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import sun.misc.BASE64Decoder;
@@ -35,11 +39,13 @@ public class SrmIssuesListServiceImpl extends ServiceImpl<SrmIssuesListDao, SrmI
     public void saveFishBoneImg(SrmIssuesListDo srmIssuesListDo) throws IOException {
         if(srmIssuesListDo.getCauseanalysisimg() != null){
             String imgUrl = this.base64ImgSave(srmIssuesListDo.getCauseanalysisimg());
-            srmIssuesListDo.setCauseanalysisimg(imgUrl);
+            srmIssuesListDo.setCauseanalysisimg(imgUrl.split("@_@")[0]);
+            srmIssuesListDo.setCauseanalysisimgurl(imgUrl.split("@_@")[1]);
         }
         if(srmIssuesListDo.getUndetectedanalysisimg() != null){
             String imgUrl = this.base64ImgSave(srmIssuesListDo.getUndetectedanalysisimg());
-            srmIssuesListDo.setUndetectedanalysisimg(imgUrl);
+            srmIssuesListDo.setUndetectedanalysisimg(imgUrl.split("@_@")[0]);
+            srmIssuesListDo.setUndetectedanalysisimgurl(imgUrl.split("@_@")[1]);
         }
         this.updateById(srmIssuesListDo);
     }
@@ -49,7 +55,8 @@ public class SrmIssuesListServiceImpl extends ServiceImpl<SrmIssuesListDao, SrmI
         imgContent = imgContent.replace("data:image/png;base64,","");
         // 获取存储文件路径
         String fileRootPath = sysConfigService.getContentByConfigCode("fileRootPath");
-        String imgPath = fileRootPath + File.separator + "mindImg" + File.separator + SecurityUtil.getUUID() + ".png";
+        String fileName = SecurityUtil.getUUID() + ".png";
+        String imgPath = fileRootPath + File.separator + "mindImg" + File.separator + fileName;
         // 写入文件内容
         File file = new File(imgPath);
         if (!file.getParentFile().exists()) {
@@ -59,6 +66,33 @@ public class SrmIssuesListServiceImpl extends ServiceImpl<SrmIssuesListDao, SrmI
         FileOutputStream out = new FileOutputStream(imgPath);
         out.write(buffer);
         out.close();
+
+        //成功存储图片后,将文件存入系统文件中(sys_file_item),组装返回图片字段
+        SysUserVo currentUser = CXCommonUtils.getCurrentUser();
+        SysFileItemDo sysFileItemDo = new SysFileItemDo();
+        sysFileItemDo.setId(SecurityUtil.getUUID());
+        sysFileItemDo.setFilename(fileName);
+        //文件大小
+        sysFileItemDo.setFilesize(file.length());
+        sysFileItemDo.setFiletype("png");
+        sysFileItemDo.setStoragetype("1");
+        sysFileItemDo.setFilefolderid("83968772af5042f4b09168e1ee74eac8");
+        sysFileItemDo.setRelationid("83968772af5042f4b09168e1ee74eac8");
+        sysFileItemDo.setFullpath(imgPath);
+        sysFileItemDo.setUrlpath("/files/mindImg/"+fileName);
+        sysFileItemDo.setExtends1("files");
+        sysFileItemDo.setDeleted("0");
+        sysFileItemDo.setCreatedate(DateUtil.date());
+        sysFileItemDo.setCreateuserid(currentUser.getId());
+        sysFileItemDo.setModifydate(DateUtil.date());
+        sysFileItemDo.setModifyuserid(currentUser.getId());
+        sysFileItemDo.setCreateusername(currentUser.getName());
+        sysFileItemDo.setModifyusername(currentUser.getName());
+        this.baseMapper.insertFile(sysFileItemDo);
+        //打包文件名称和ID
+        String imgUrl = fileName + "-;-" + sysFileItemDo.getId();
+        imgPath = imgPath + "@_@" + imgUrl;
+
         return imgPath;
     }
 

+ 10 - 0
cx-question/cx-question-entity/src/main/java/com/rongwei/bsentity/domin/SrmIssuesListDo.java

@@ -259,5 +259,15 @@ public class SrmIssuesListDo extends BaseDo implements Serializable {
      */
     private Date TASKSPASUBMISSIONTIME;
 
+    /**
+     * 原因分析鱼骨图图片(图片名称+"-;-"+图片ID)
+     */
+    private String causeanalysisimgurl;
+
+    /**
+     * 未检测分析鱼骨图图片(图片名称+"-;-"+图片ID)
+     */
+    private String undetectedanalysisimgurl;
+
     private static final long serialVersionUID = 1L;
 }

+ 55 - 0
cx-question/cx-question-entity/src/main/resources/mybatis/SrmIssuesListDao.xml

@@ -63,6 +63,61 @@
     DEPPSRESPERSON, LEADER, PROCESSINSTID, PROCESSINSTSTATUS, SPAUSERID, ISCLOSEWF, CLOSECAUSE, 
     PSSPAUSERIDS, CAUSEANALYSISIMG, UNDETECTEDANALYSISIMG
   </sql>
+    <insert id="insertFile">
+        INSERT INTO `sys_file_item` (
+	`ID`,
+	`FILENAME`,
+	`FILESIZE`,
+	`FILETYPE`,
+	`STORAGETYPE`,
+	`FILEFOLDERID`,
+	`RELATIONID`,
+	`PATH`,
+	`FULLPATH`,
+	`URLPATH`,
+	`MD5`,
+	`EXTENDS1`,
+	`EXTENDS2`,
+	`EXTENDS3`,
+	`TENANTID`,
+	`ROPTION`,
+	`DELETED`,
+	`REMARK`,
+	`CREATEDATE`,
+	`CREATEUSERID`,
+	`MODIFYDATE`,
+	`MODIFYUSERID`,
+	`CREATEUSERNAME`,
+	`MODIFYUSERNAME`
+)
+VALUES
+	(
+		#{model.id},
+		#{model.filename},
+		#{model.filesize},
+		#{model.filetype},
+		#{model.storagetype},
+		#{model.filefolderid},
+		#{model.relationid},
+		NULL,
+		#{model.fullpath},
+		#{model.urlpath},
+		NULL,
+		#{model.extends1},
+		NULL,
+		NULL,
+		NULL,
+		NULL,
+		#{model.deleted},
+		NULL,
+		#{model.createdate},
+		#{model.createuserid},
+		#{model.modifydate},
+		#{model.modifyuserid},
+		#{model.createusername},
+	    #{model.modifyusername}
+	)
+    </insert>
 
     <select id="getProblemByTaskRun" resultType="com.rongwei.bsentity.domin.SrmIssuesListDo">
         SELECT