lyhzzz 1 year ago
parent
commit
1b1138fd47

+ 0 - 4
src/main/java/com/fdkankan/fusion/controller/SceneController.java

@@ -99,8 +99,4 @@ public class SceneController extends BaseController{
         }
     }
 
-    @PostMapping("/uploadObj")
-    public ResultData uploadObj(@RequestParam(required = false) MultipartFile file) throws Exception {
-        return ResultData.ok(sceneService.uploadObj(file,getUserName()));
-    }
 }

+ 23 - 10
src/main/java/com/fdkankan/fusion/controller/TestController.java

@@ -1,12 +1,10 @@
 package com.fdkankan.fusion.controller;
 
 import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.deepoove.poi.XWPFTemplate;
-import com.deepoove.poi.data.RowRenderData;
-import com.deepoove.poi.data.Rows;
-import com.deepoove.poi.data.TableRenderData;
-import com.deepoove.poi.data.Tables;
+import com.deepoove.poi.data.*;
 import com.deepoove.poi.util.PoitlIOUtils;
 import com.dtflys.forest.annotation.Post;
 import com.fdkankan.fusion.common.ResultCode;
@@ -14,10 +12,13 @@ import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.common.util.ShellUtil;
 import com.fdkankan.fusion.entity.*;
 import com.fdkankan.fusion.exception.BusinessException;
+import com.fdkankan.fusion.response.CaseInquestVo;
+import com.fdkankan.fusion.response.WitnessVo;
 import com.fdkankan.fusion.service.*;
 import com.fdkankan.redis.util.RedisUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Case;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import sun.java2d.pipe.SpanIterator;
@@ -29,6 +30,7 @@ import java.io.BufferedOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ThreadPoolExecutor;
 
@@ -135,12 +137,23 @@ public class TestController {
         InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/inquest-template.docx");
         // 渲染模板
 
-        RowRenderData row0 = Rows.of("姓名", "学历").textColor("FFFFFF")
-                .bgColor("4472C4").center().create();
-        RowRenderData row1 = Rows.create("李四", "博士");
-        TableRenderData tableRenderData = Tables.create(row0, row1);
-        //caseInquest.setTableRenderData(tableRenderData);
-        XWPFTemplate template = XWPFTemplate.compile(inputStream).render(caseInquest);
+        CaseInquestVo vo = new CaseInquestVo();
+        BeanUtils.copyProperties(caseInquest,vo);
+
+
+        String info = "证人或当事人(签名):%s  %s年 %s月 %s日身份证件号码:%s\n"
+                +"   单位或住址:%s\n";
+        StringBuilder msg = new StringBuilder();
+        for (Object object : vo.getWitnessInfo()) {
+            JSONObject obj = (JSONObject) object;
+            WitnessVo witnessVo = JSONObject.toJavaObject(obj,WitnessVo.class);
+            String format = String.format(info, witnessVo.getName(), witnessVo.getYear(), witnessVo.getMonth(), witnessVo.getDay(), witnessVo.getId(), witnessVo.getAddress());
+            msg.append(format);
+        }
+        TextRenderData text = new TextRenderData("000000",msg.toString());
+        vo.setText(text);
+
+        XWPFTemplate template = XWPFTemplate.compile(inputStream).render(vo);
 
         // 设置响应头,指定文件类型和内容长度
         res.setContentType("application/octet-stream");

+ 116 - 0
src/main/java/com/fdkankan/fusion/response/CaseInquestVo.java

@@ -0,0 +1,116 @@
+package com.fdkankan.fusion.response;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.deepoove.poi.data.TableRenderData;
+import com.deepoove.poi.data.TextRenderData;
+import com.fdkankan.fusion.typehandle.JsonArrayTypeHandler;
+import com.fdkankan.fusion.typehandle.JsonObjTypeHandler;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class CaseInquestVo {
+
+    private Integer id;
+
+    private Integer caseId;
+
+    /**
+     * 勘验次数
+     */
+    private Integer count;
+
+    /**
+     * 勘验开始时间
+     */
+    private JSONObject startTime;
+
+    /**
+     * 勘验结束时间
+     */
+    private JSONObject endTime;
+
+    /**
+     * 勘验地点
+     */
+    private String address;
+
+    /**
+     * 勘验人员信息
+     */
+    private String userInfo;
+
+    /**
+     * 勘验气象条件
+     */
+    private String weather;
+
+    /**
+     * 勘验情况
+     */
+    private String situation;
+
+    /**
+     * 环境勘验
+     */
+    private String environment;
+
+    /**
+     * 初步勘验
+     */
+    private String firstInquest;
+
+    /**
+     * 细项勘验
+     */
+    private String carefulInquest;
+
+    /**
+     * 专项勘验
+     */
+    private String specialInquest;
+
+    /**
+     * 提取物品描述
+     */
+    private String itemDescription;
+
+    /**
+     * 现场拍照制图描述
+     */
+    private String imgDescription;
+
+    /**
+     * 负责人
+     */
+    private String leader;
+
+    /**
+     * 记录人
+     */
+    private String recorder;
+
+    /**
+     * 勘验人
+     */
+    private String inspector;
+
+    /**
+     * 证人信息数组
+     */
+    private JSONArray witnessInfo;
+
+    private Integer tbStatus;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+    private TextRenderData text;
+}

+ 15 - 0
src/main/java/com/fdkankan/fusion/response/WitnessVo.java

@@ -0,0 +1,15 @@
+package com.fdkankan.fusion.response;
+
+import lombok.Data;
+
+@Data
+public class WitnessVo {
+    //[{"name":"","year":"","month":"","day":"","id":""},{"name":"","year":"","month":"","day":"","id":""}]
+
+    private String name;
+    private String year;
+    private String month;
+    private String day;
+    private String id;
+    private String address;
+}

+ 0 - 1
src/main/java/com/fdkankan/fusion/service/ISceneService.java

@@ -24,5 +24,4 @@ public interface ISceneService {
 
     void copyScene(ScenePram param);
 
-    Object uploadObj(MultipartFile file, String userName);
 }

+ 7 - 5
src/main/java/com/fdkankan/fusion/service/impl/SceneService.java

@@ -5,7 +5,11 @@ import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.fusion.common.FilePath;
 import com.fdkankan.fusion.common.ResultCode;
+import com.fdkankan.fusion.common.util.FileWriterUtil;
+import com.fdkankan.fusion.common.util.RedisKeyUtil;
+import com.fdkankan.fusion.common.util.ShellUtil;
 import com.fdkankan.fusion.entity.*;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.common.PageInfo;
@@ -19,6 +23,7 @@ import com.fdkankan.fusion.request.ScenePram;
 import com.fdkankan.fusion.response.SceneProEntityVo;
 import com.fdkankan.fusion.response.SceneVo;
 import com.fdkankan.fusion.service.*;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,11 +31,13 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.File;
 import java.security.Security;
 import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
+@Slf4j
 public class SceneService implements ISceneService {
 
     @Resource
@@ -311,9 +318,4 @@ public class SceneService implements ISceneService {
         fdService.copyScene(param.getNum());
     }
 
-    @Override
-    public Object uploadObj(MultipartFile file, String userName) {
-
-        return null;
-    }
 }

+ 2 - 2
src/main/java/com/fdkankan/fusion/service/impl/ThreadService.java

@@ -113,7 +113,7 @@ public class ThreadService {
             String b3dmPath = objPathFile.getPath().replace(FilePath.LOCAL_BASE_PATH,"fusion/");
             if(name.contains(".osgb")){
                 model.setModelDateType("osgb");
-                model.setModelType("osgb");
+                model.setModelType("b3dm");
 
                 redisUtil.set(RedisKeyUtil.modelUpload+model.getModelId(),"60");
                 String localPath = OBJToGLBUtil.OsgbToB3dm(objPathFile);
@@ -143,7 +143,7 @@ public class ThreadService {
                 model.setModelType("laz");
                 redisUtil.set(RedisKeyUtil.modelUpload+model.getModelId(),"65");
                 ShellUtil.yunUpload(objPathFile.getPath(),objPathFile.getPath().replace(FilePath.LOCAL_BASE_PATH,"fusion/"));
-                model.setModelGlbUrl((JSONArray.toJSONString(Arrays.asList(queryPath +  objPathFile.getPath().replace(FilePath.LOCAL_BASE_PATH,"fusion/") + "/cloud.js"))));
+                model.setModelGlbUrl((JSONArray.toJSONString(Arrays.asList(queryPath +  objPathFile.getPath().replace(FilePath.LOCAL_BASE_PATH,"fusion/") ))));
             }
 
             setCreateStatus(model,1);

BIN
src/main/resources/template/inquest-template.docx