浏览代码

泛化删除

wangzhiqiang 2 年之前
父节点
当前提交
e75c02d298

+ 12 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneGeneralTemplateController.java

@@ -144,9 +144,19 @@ public class SceneGeneralTemplateController {
     @PostMapping("/deleteSceneGeneralTemplateById")
     @ResponseBody
     public ResponseBodyVO<String> deleteSceneGeneralTemplateById(@RequestBody SceneGeneralTemplatePO po) {
-        return sceneGeneralTemplateService.deleteSceneGeneralTemplateById(po);
+       sceneGeneralTemplateService.deleteSceneGeneralTemplateById(po);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
 
     }
+    //批量删除泛化模板
+    @PostMapping("/deleteSceneGeneralTemplateByIds")
+    @ResponseBody
+    public ResponseBodyVO<String> deleteSceneGeneralTemplateByIds(@RequestBody List<SceneGeneralTemplatePO> list) {
+        for (SceneGeneralTemplatePO po: list) {
+            sceneGeneralTemplateService.deleteSceneGeneralTemplateById(po);
+        }
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+    }
 
     //查看泛化实例详情页面
 
@@ -264,7 +274,7 @@ public class SceneGeneralTemplateController {
 
         }
 
-        sceneGeneralTemplateService.saveSceneGeneralTemplateNew(file, version,sceneImportPO);
+        sceneImportPO= sceneGeneralTemplateService.saveSceneGeneralTemplateNew(file, version,sceneImportPO);
        sceneImportService.updateInfo(sceneImportPO);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
 

+ 6 - 7
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneGeneralTemplateService.java

@@ -12,10 +12,7 @@ import api.common.pojo.po.scene.SystemScenePackageSublistPO;
 import api.common.pojo.po.system.SceneImportPO;
 import api.common.pojo.vo.scene.SceneGeneralTemplateMbVO;
 import api.common.pojo.vo.scene.SceneGeneralTemplateVO;
-import api.common.util.JsonUtil;
-import api.common.util.ObjectUtil;
-import api.common.util.StringUtil;
-import api.common.util.TimeUtil;
+import api.common.util.*;
 import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.log.service.LogService;
 import com.css.simulation.resource.scene.mapper.SceneGeneralTemplateMapper;
@@ -160,6 +157,7 @@ public class SceneGeneralTemplateService {
             List<SceneGeneralTemplatePO> list = new ArrayList<>();
             List<String> fileNameAll = new ArrayList<>();
             //遍历每个Sheet
+            List<String> sceneNames = new ArrayList<>();
             for (int s = 0; s < sheetCount; s++) {
                 Sheet sheet = workbook.getSheetAt(s);
                 String sheetName = sheet.getSheetName();  //文件Sheet的名称
@@ -216,6 +214,7 @@ public class SceneGeneralTemplateService {
                         po.setFileName(sheetName);
                         po.setVersion(version);
                         fileNameAll.add(sheetName);
+                        sceneNames.add(po.getSceneId());
                         list.add(po);
                     }
                 }
@@ -226,9 +225,9 @@ public class SceneGeneralTemplateService {
                 po.setFileNameAll(fileNameAll);
                 mapper.deleteSceneGeneralTemplateAll(po);
                 mapper.saveSceneGeneralTemplateAll(list);
-
                 sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_4);
                 sceneImportPO.setSuccessNum(list.size());
+                sceneImportPO.setSceneNames(CollectionUtil.listToSequence(sceneNames));
                 return sceneImportPO;
             }
             sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
@@ -347,7 +346,7 @@ public class SceneGeneralTemplateService {
     }
 
 
-    public ResponseBodyVO<String> deleteSceneGeneralTemplateById(SceneGeneralTemplatePO po) {
+    public void deleteSceneGeneralTemplateById(SceneGeneralTemplatePO po) {
         po.setModifyUserId(AuthUtil.getCurrentUserId());
         po.setModifyTime(TimeUtil.getNowForMysql());
 
@@ -387,7 +386,7 @@ public class SceneGeneralTemplateService {
         map.put("sceneName", po.getSceneId());
         map.put("type", DictConstants.SCENE_GENERAL);
         logService.logSceneDelete(LogConstants.SYS_LOG_SCENE_DELETE, map);
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+
     }
 
     /**

+ 3 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/system/mapper/SceneImportMapper.java

@@ -20,8 +20,10 @@ public interface SceneImportMapper {
     void update(SceneImportPO po);
 
     void updateStatus(SceneImportPO po);
+    SceneImportPO updateInfo(SceneImportPO po);
 
-    void updateInfo(SceneImportPO po);
+    SceneImportPO querySceneImportByTaskId(String id);
+    void deleteImportTask(SceneImportPO po);
 
     @Delete("")
     void deleteSceneByTaskId(String taskId);

+ 19 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/SceneImportService.java

@@ -3,6 +3,7 @@ package com.css.simulation.resource.system.service;
 import api.common.pojo.constants.DictConstants;
 import api.common.pojo.constants.LogConstants;
 import api.common.pojo.param.system.SceneImportPageParam;
+import api.common.pojo.po.scene.SceneGeneralTemplatePO;
 import api.common.pojo.po.system.SceneImportPO;
 import api.common.util.ObjectUtil;
 import api.common.util.StringUtil;
@@ -11,12 +12,14 @@ import com.css.simulation.resource.common.utils.AuthUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.common.utils.PoUtil;
 import com.css.simulation.resource.log.service.LogService;
+import com.css.simulation.resource.scene.service.SceneGeneralTemplateService;
 import com.css.simulation.resource.system.mapper.SceneImportMapper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -30,6 +33,8 @@ public class SceneImportService {
     LogService logService;
     @Resource
     SceneImportMapper sceneImportMapper;
+    @Resource
+    SceneGeneralTemplateService sceneGeneralTemplateService;
 
     public SceneImportPO saveTask(SceneImportPO po) {
         // 名称校验
@@ -90,12 +95,17 @@ public class SceneImportService {
 
     public void deleteTask(String taskId) {
         //1 根据任务 id 查询场景类型
-        String sceneType = sceneImportMapper.selectSceneTypeByTaskId(taskId);
-        SceneImportPO sceneImportPO = new SceneImportPO();
+       // String sceneType = sceneImportMapper.selectSceneTypeByTaskId(taskId);
+        //根据任务id查询类型和场景ids
+        SceneImportPO  sceneImportPO=sceneImportMapper.querySceneImportByTaskId(taskId);
         sceneImportPO.setId(taskId);
         sceneImportPO.setModifyTime(TimeUtil.getNowForMysql());
         sceneImportPO.setModifyUserId(AuthUtil.getCreateUserId());
-
+        //获取场景类型
+        String sceneType=sceneImportPO.getSceneType();
+        //获取场景id的list集合
+        String sceneNames=sceneImportPO.getSceneNames();
+        List<String> listIds= Arrays.asList(sceneNames.split(","));
         //2 根据任务id删除相关联的所有同名任务
         if (DictConstants.SCENE_NATURAL.equals(sceneType)) {
             sceneImportMapper.deleteNaturalByTaskId(sceneImportPO);
@@ -105,6 +115,12 @@ public class SceneImportService {
             sceneImportMapper.deleteAccidentByTaskId(sceneImportPO);
         } else if (DictConstants.SCENE_GENERAL.equals(sceneType)) {
 //            sceneImportMapper.deleteNaturalByTaskId(sceneImportPO);
+            sceneImportMapper.deleteImportTask(sceneImportPO);
+            SceneGeneralTemplatePO po=new SceneGeneralTemplatePO();
+            for (String id: listIds) {
+               po.setSceneId(id);
+                sceneGeneralTemplateService.deleteSceneGeneralTemplateById(po);
+            }
         } else {
             throw new RuntimeException("场景类型错误:" + sceneType);
         }

+ 1 - 0
simulation-resource-server/src/main/resources/mapper/scene/ScenePackageMapper.xml

@@ -208,6 +208,7 @@
         <set>
             <if test="isUnavailable != null and isUnavailable!=''">
                 is_unavailable = #{isUnavailable,jdbcType=VARCHAR},
+                scene_num=scene_num-1,
             </if>
             <if test="modifyUserId != null and modifyUserId!=''">
                 modify_user_id = #{modifyUserId},

+ 1 - 0
simulation-resource-server/src/main/resources/mapper/scene/ScenePackageSublistMapper.xml

@@ -125,6 +125,7 @@
             </if>
             <if test="sceneFhId != null and sceneFhId!=''">
                 scene_generalization_ids=replace(replace(replace(scene_generalization_ids, concat(#{sceneFhId}, ','), ''), concat(',', #{sceneFhId}), ''),#{sceneFhId}, ''),
+                scene_num='0',
             </if>
             <if test="modifyUserId != null and modifyUserId!=''">
                 modify_user_id = #{modifyUserId,jdbcType=VARCHAR},

+ 16 - 0
simulation-resource-server/src/main/resources/mapper/system/SceneImportMapper.xml

@@ -10,6 +10,13 @@
         and name = #{name,jdbcType=VARCHAR}
         and id &lt;&gt; #{id,jdbcType=VARCHAR}
     </select>
+    <select id="querySceneImportByTaskId" parameterType="java.lang.String" resultType="api.common.pojo.po.system.SceneImportPO">
+        select
+      scene_type,scene_names
+        from scene_import_task
+        where is_deleted = '0'
+        and id =#{id}
+    </select>
 
     <insert id="insert" parameterType="api.common.pojo.po.system.SceneImportPO">
         INSERT INTO scene_import_task (
@@ -97,4 +104,13 @@
         </if>
         order by create_time desc
     </select>
+
+
+    <update id="deleteImportTask" parameterType="api.common.pojo.po.system.SceneImportPO">
+        update scene_import_task set
+           is_deleted = '1',
+          modify_time = #{modifyTime,jdbcType=TIMESTAMP},
+          modify_user_id = #{modifyUserId,jdbcType=VARCHAR}
+        where is_deleted = '0' and id = #{id,jdbcType=VARCHAR}
+    </update>
 </mapper>