lyhzzz 10 月之前
父節點
當前提交
27cb94388d

+ 2 - 1
src/main/java/com/fdkankan/fusion/entity/CaseInquestCriminal.java

@@ -246,6 +246,7 @@ public class CaseInquestCriminal implements Serializable {
     @TableField("update_time")
     private Date updateTime;
 
-
+    @TableField("num")
+    private String num;
 
 }

+ 3 - 0
src/main/java/com/fdkankan/fusion/service/ICaseInquestCriminalService.java

@@ -4,6 +4,7 @@ import com.deepoove.poi.XWPFTemplate;
 import com.fdkankan.fusion.entity.CaseInquest;
 import com.fdkankan.fusion.entity.CaseInquestCriminal;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.fusion.entity.XfyunImage;
 
 /**
  * <p>
@@ -20,4 +21,6 @@ public interface ICaseInquestCriminalService extends IService<CaseInquestCrimina
     void saveByParam(CaseInquestCriminal caseInquestCriminal);
 
     XWPFTemplate getWordByTemplate(CaseInquestCriminal caseInquestCriminal);
+
+    void updateByNum(String num, String xfyunResult);
 }

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/ICaseNumService.java

@@ -29,4 +29,6 @@ public interface ICaseNumService extends IService<CaseNumEntity> {
     List<CaseNumEntity> getByNum(String num);
 
     void deleteByNum(Integer caseId,List<String> num,Integer type);
+
+    List<CaseNumEntity> getNumByCaseId(Integer caseId);
 }

+ 63 - 16
src/main/java/com/fdkankan/fusion/service/impl/CaseInquestCriminalServiceImpl.java

@@ -1,25 +1,29 @@
 package com.fdkankan.fusion.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.data.TextRenderData;
 import com.deepoove.poi.data.style.Style;
 import com.fdkankan.fusion.common.ResultCode;
-import com.fdkankan.fusion.entity.CaseInquest;
-import com.fdkankan.fusion.entity.CaseInquestCriminal;
+import com.fdkankan.fusion.entity.*;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.mapper.ICaseInquestCriminalMapper;
 import com.fdkankan.fusion.response.CaseInquestCriminalVo;
 import com.fdkankan.fusion.response.CaseInquestVo;
 import com.fdkankan.fusion.response.WitnessVo;
-import com.fdkankan.fusion.service.ICaseInquestCriminalService;
+import com.fdkankan.fusion.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.poi.xwpf.usermodel.UnderlinePatterns;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.InputStream;
+import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -32,6 +36,18 @@ import java.io.InputStream;
 @Service
 public class CaseInquestCriminalServiceImpl extends ServiceImpl<ICaseInquestCriminalMapper, CaseInquestCriminal> implements ICaseInquestCriminalService {
 
+    @Autowired
+    ITmUserService tmUserService;
+    @Autowired
+    ICaseService caseService;
+    @Autowired
+    ITmDepartmentService tmDepartmentService;
+    @Autowired
+    ICaseNumService caseNumService;
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Autowired
+    IXfyunImageService xfyunImageService;
 
     @Override
     public CaseInquestCriminal getByCaseId(Integer caseId) {
@@ -50,19 +66,41 @@ public class CaseInquestCriminalServiceImpl extends ServiceImpl<ICaseInquestCrim
          * 8.单位             //部门名称
          */
         if(caseInquestCriminal == null){
-//            caseInquestCriminal = new CaseInquestCriminal();
-//            caseInquestCriminal.setCaseId(caseId);
-//            caseInquestCriminal.setDeptName();
-//            caseInquestCriminal.setTitle();
-//            caseInquestCriminal.setSendDept();
-//            caseInquestCriminal.setRecorder();
-//            caseInquestCriminal.setPainter();
-//            caseInquestCriminal.setPhotographer();
-//            caseInquestCriminal.setMakeTime();
-//            caseInquestCriminal.setReportDept();
-//            caseInquestCriminal.setInquestTime();
-//            caseInquestCriminal.setAddress();
-//            this.save(caseInquestCriminal);
+            if(StpUtil.isLogin()){
+                TmUser tmUser = tmUserService.getById(StpUtil.getLoginId().toString());
+                CaseEntity caseEntity = caseService.getById(caseId);
+                TmDepartment tmDepartment = tmDepartmentService.getById(caseEntity.getDeptId());
+
+                caseInquestCriminal = new CaseInquestCriminal();
+                caseInquestCriminal.setCaseId(caseId);
+                caseInquestCriminal.setDeptName(tmDepartment.getName());
+                caseInquestCriminal.setTitle(caseEntity.getCaseTitle());
+                caseInquestCriminal.setSendDept(tmDepartment.getName());
+                caseInquestCriminal.setRecorder(tmUser.getNickName());
+                caseInquestCriminal.setPainter(tmUser.getNickName());
+                caseInquestCriminal.setPhotographer(tmUser.getNickName());
+                caseInquestCriminal.setMakeTime(new Date());
+                caseInquestCriminal.setReportDept(tmDepartment.getName());
+                caseInquestCriminal.setAddress(caseEntity.getMapUrl());
+
+                List<CaseNumEntity> byCaseId = caseNumService.getNumByCaseId(caseId);
+                if(!byCaseId.isEmpty()){
+                    CaseNumEntity caseNumEntity = byCaseId.get(0);
+                    String num = caseNumEntity.getNum();
+                    ScenePlus scenePlus = scenePlusService.getByNum(num);
+                    if(scenePlus != null){
+                        caseInquestCriminal.setInquestTime(scenePlus.getCreateTime());
+                        caseInquestCriminal.setNum(num);
+                        XfyunImage xfyunImage = xfyunImageService.getByNum(num);
+                        if(xfyunImage!= null){
+                            caseInquestCriminal.setInquestSituation(xfyunImage.getXfyunAnswer());
+                        }else {
+                            xfyunImageService.saveByNum(num);
+                        }
+                    }
+                }
+                this.save(caseInquestCriminal);
+            }
         }
         return caseInquestCriminal;
     }
@@ -81,6 +119,15 @@ public class CaseInquestCriminalServiceImpl extends ServiceImpl<ICaseInquestCrim
     }
 
     @Override
+    public void updateByNum(String num, String xfyunResult) {
+        LambdaUpdateWrapper<CaseInquestCriminal> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CaseInquestCriminal::getNum,num);
+        wrapper.isNull(CaseInquestCriminal::getInquestSituation);
+        wrapper.set(CaseInquestCriminal::getInquestSituation,xfyunResult);
+        this.update(wrapper);
+    }
+
+    @Override
     public XWPFTemplate getWordByTemplate(CaseInquestCriminal caseInquest) {
 
         InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/inquest_criminal-template.docx");

+ 13 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseNumServiceImpl.java

@@ -9,6 +9,8 @@ import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.common.util.*;
 import com.fdkankan.fusion.entity.CaseNumEntity;
 import com.fdkankan.fusion.entity.Model;
+import com.fdkankan.fusion.entity.ScenePlus;
+import com.fdkankan.fusion.entity.XfyunImage;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.httpClient.client.FdKKClient;
 import com.fdkankan.fusion.mapper.ICaseNumMapper;
@@ -62,6 +64,8 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNumEntit
     ICaseTagPointService caseTagPointService;
     @Autowired
     SessionService sessionService;
+    @Autowired
+    ICaseInquestCriminalService caseInquestCriminalService;
 
     @Override
     public List<CaseNumEntity> getByCaseId(Integer caseId) {
@@ -70,6 +74,14 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNumEntit
         return this.list(wrapper);
     }
 
+    @Override
+    public List<CaseNumEntity> getNumByCaseId(Integer caseId) {
+        LambdaQueryWrapper<CaseNumEntity> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CaseNumEntity::getCaseId,caseId);
+        wrapper.ne(CaseNumEntity::getNumType,3);
+        wrapper.orderByAsc(CaseNumEntity::getId);
+        return this.list(wrapper);
+    }
 
     @Override
     public void addBatch(Integer caseId, List<SceneNumParam> sceneNumParam) {
@@ -127,6 +139,7 @@ public class CaseNumServiceImpl extends ServiceImpl<ICaseNumMapper, CaseNumEntit
 
         if(newCaseNums.size() >0){
             this.saveBatch(newCaseNums);
+            caseInquestCriminalService.getByCaseId(caseId);
         }
         if(modelList.size() >0){
             modelService.saveOrUpdateBatch(modelList);

+ 6 - 0
src/main/java/com/fdkankan/fusion/service/impl/XfyunImageServiceImpl.java

@@ -5,10 +5,12 @@ import com.fdkankan.fusion.common.FilePath;
 import com.fdkankan.fusion.common.ResultCode;
 import com.fdkankan.fusion.common.util.ShellUtil;
 import com.fdkankan.fusion.common.util.UploadToOssUtil;
+import com.fdkankan.fusion.entity.CaseInquestCriminal;
 import com.fdkankan.fusion.entity.XfyunConfig;
 import com.fdkankan.fusion.entity.XfyunImage;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.mapper.IXfyunImageMapper;
+import com.fdkankan.fusion.service.ICaseInquestCriminalService;
 import com.fdkankan.fusion.service.IXfyunConfigService;
 import com.fdkankan.fusion.service.IXfyunImageService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,6 +36,8 @@ public class XfyunImageServiceImpl extends ServiceImpl<IXfyunImageMapper, XfyunI
     IXfyunConfigService xfyunConfigService;
     @Autowired
     UploadToOssUtil uploadToOssUtil;
+    @Autowired
+    ICaseInquestCriminalService caseInquestCriminalService;
 
     @Override
     public XfyunImage getByNum(String num) {
@@ -78,6 +82,8 @@ public class XfyunImageServiceImpl extends ServiceImpl<IXfyunImageMapper, XfyunI
         xfyunImage.setImageUrl(imageOssPath);
         xfyunImage.setXfyunAnswer(xfyunResult);
         this.save(xfyunImage);
+
+        caseInquestCriminalService.updateByNum(num,xfyunResult);
     }
 
     public static void main(String[] args) {