车车 2 месяцев назад
Родитель
Сommit
c768ca2a88

+ 2 - 12
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsMotorController.java

@@ -1,8 +1,5 @@
 package com.ktg.iscs.controller;
 
-import cn.hutool.core.convert.Convert;
-import cn.hutool.core.lang.Assert;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ktg.common.annotation.Log;
 import com.ktg.common.core.controller.BaseController;
@@ -19,7 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -73,11 +69,7 @@ public class IsMotorController extends BaseController
     @PostMapping("/updateIsMotor")
     public CommonResult<Boolean> updateIsMotor(@RequestBody @Parameter(name = "isMotor", description = "修改数据类,放到body") IsMotor isMotor)
     {
-        return CommonResult.success(isMotorService.update(Wrappers.<IsMotor>lambdaUpdate()
-                .eq(IsMotor::getMotorId, isMotor.getMotorId())
-                .set(IsMotor::getMotorName, isMotor.getMotorName())
-                .set(isMotor.getPointId() != null, IsMotor::getPointId, isMotor.getPointId())
-                .set(isMotor.getPointId() == null, IsMotor::getPointId, null)));
+        return CommonResult.success(isMotorService.updateIsMotor(isMotor));
     }
 
     @ApiOperation("删除电机")
@@ -86,9 +78,7 @@ public class IsMotorController extends BaseController
 	@PostMapping("/deleteIsMotorByMotorIds")
     public CommonResult<Boolean> deleteIsMotorByMotorIds(String motorIds)
     {
-        Assert.notBlank(motorIds, "请选择需要删除的数据!");
-        Long[] longIds = Convert.toLongArray(motorIds);
-        return CommonResult.success(isMotorService.removeBatchByIds(Arrays.asList(longIds)));
+        return CommonResult.success(isMotorService.deleteIsMotorByMotorIds(motorIds));
     }
 
     @ApiOperation("查询电机-list")

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/IsMotor.java

@@ -41,6 +41,9 @@ public class IsMotor extends BaseBean
     @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
     private String delFlag;
 
+    @ApiModelProperty(value = "状态(0-关闭 1-开启)")
+    private String status;
+
     @ApiModelProperty(value = "x")
     @TableField(exist = false)
     private String x;

+ 0 - 3
ktg-iscs/src/main/java/com/ktg/iscs/domain/dto/motor/MotorMoveDTO.java

@@ -19,9 +19,6 @@ public class MotorMoveDTO extends BaseBean
 {
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty(value = "地图ID")
-    private Long mapId;
-
     @ApiModelProperty(value = "移动的电机")
     private List<MotorMoveDetailDTO> moveList;
 

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/dto/motor/MotorMoveDetailDTO.java

@@ -18,6 +18,9 @@ public class MotorMoveDetailDTO extends BaseBean
 {
     private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty(value = "地图ID")
+    private Long mapId;
+
     @ApiModelProperty(value = "电机id")
     private Long entityId;
 

+ 4 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsMotorService.java

@@ -21,4 +21,8 @@ public interface IIsMotorService extends IService<IsMotor> {
 
     Boolean updateIsMotorMove(MotorMoveDTO dto);
 
+    Boolean deleteIsMotorByMotorIds(String motorIds);
+
+    Boolean updateIsMotor(IsMotor isMotor);
+
 }

+ 10 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsIsolationPointServiceImpl.java

@@ -44,6 +44,8 @@ public class IsIsolationPointServiceImpl extends ServiceImpl<IsIsolationPointMap
     @Autowired
     private IIsMapPointService iIsMapPointService;
     @Autowired
+    private IIsMotorService isMotorService;
+    @Autowired
     private RedisCache redisCache;
 
     /**
@@ -194,6 +196,14 @@ public class IsIsolationPointServiceImpl extends ServiceImpl<IsIsolationPointMap
                     .and(item -> item.eq(IsMapPoint::getMapType, "2")
                             .or().eq(IsMapPoint::getMapType, "3"))
                     .eq(IsMapPoint::getEntityId, longId));
+            // 先查询隔离点关联的电机数据,在删除
+            List<IsMotor> list = isMotorService.list(Wrappers.<IsMotor>lambdaQuery()
+                    .eq(IsMotor::getPointId, longId));
+            if (!list.isEmpty()) {
+                iIsMapPointService.remove(Wrappers.<IsMapPoint>lambdaQuery()
+                        .eq(IsMapPoint::getMapType, "4")
+                        .in(IsMapPoint::getEntityId, list.stream().map(IsMotor::getMotorId).collect(Collectors.toList())));
+            }
         }
 
     }

+ 40 - 2
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMotorServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ktg.iscs.service.impl;
 
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -17,7 +18,9 @@ import com.ktg.iscs.service.IIsMapPointService;
 import com.ktg.iscs.service.IIsMotorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -65,11 +68,13 @@ public class IsMotorServiceImpl extends ServiceImpl<IsMotorMapper, IsMotor> impl
                             .eq(IsMapPoint::getMapId, lotoStation.getMotorMapId())
                             .in(IsMapPoint::getEntityId, motorList.stream().map(IsMotor::getMotorId).collect(Collectors.toList())));
                     for (IsMotor isMotor : motorList) {
+                        List<IsIsolationPoint> collect = points.stream().filter(o -> o.getPointId().equals(isMotor.getPointId())).collect(Collectors.toList());
                         for (IsMapPoint mapPoint : mapPoints) {
                             if (isMotor.getMotorId().equals(mapPoint.getEntityId())) {
                                 isMotor.setX(mapPoint.getX());
                                 isMotor.setY(mapPoint.getY());
                                 isMotor.setMapPointId(mapPoint.getId());
+                                isMotor.setPointName(collect.isEmpty() ? null : collect.get(0).getPointName());
                             }
                         }
                     }
@@ -79,11 +84,13 @@ public class IsMotorServiceImpl extends ServiceImpl<IsMotorMapper, IsMotor> impl
         return motorList;
     }
 
+    @Transactional
     @Override
     public Boolean updateIsMotorMove(MotorMoveDTO dto) {
-        if (dto.getMapId() != null && !dto.getMoveList().isEmpty()) {
+        if (!dto.getMoveList().isEmpty()) {
             Date date = new Date();
             for (MotorMoveDetailDTO motorMoveDetailDTO : dto.getMoveList()) {
+                Assert.notNull(motorMoveDetailDTO.getMapId(), "地图主键不能为空");
                 if (motorMoveDetailDTO.getMapPointId() != null) {
                     isMapPointService.update(Wrappers.<IsMapPoint>lambdaUpdate()
                             .eq(IsMapPoint::getId, motorMoveDetailDTO.getMapPointId())
@@ -92,7 +99,7 @@ public class IsMotorServiceImpl extends ServiceImpl<IsMotorMapper, IsMotor> impl
                             .set(IsMapPoint::getUpdateTime, date));
                 } else {
                     IsMapPoint isMapPoint = new IsMapPoint();
-                    isMapPoint.setMapId(dto.getMapId());
+                    isMapPoint.setMapId(motorMoveDetailDTO.getMapId());
                     isMapPoint.setMapType("4");
                     isMapPoint.setEntityId(motorMoveDetailDTO.getEntityId());
                     isMapPoint.setX(motorMoveDetailDTO.getX());
@@ -104,4 +111,35 @@ public class IsMotorServiceImpl extends ServiceImpl<IsMotorMapper, IsMotor> impl
         return true;
     }
 
+    @Transactional
+    @Override
+    public Boolean deleteIsMotorByMotorIds(String motorIds) {
+        Assert.notBlank(motorIds, "请选择需要删除的数据!");
+        Long[] longIds = Convert.toLongArray(motorIds);
+        removeBatchByIds(Arrays.asList(longIds));
+        // 需要删除is_map_point中的相关数据
+        isMapPointService.remove(Wrappers.<IsMapPoint>lambdaQuery()
+                .eq(IsMapPoint::getMapType, "4")
+                .in(IsMapPoint::getEntityId, Arrays.asList(longIds)));
+        return true;
+    }
+
+    @Transactional
+    @Override
+    public Boolean updateIsMotor(IsMotor isMotor) {
+        IsMotor byId = getById(isMotor.getMotorId());
+        Assert.isTrue(byId != null, "该电机数据不存在!");
+        update(Wrappers.<IsMotor>lambdaUpdate()
+                .eq(IsMotor::getMotorId, isMotor.getMotorId())
+                .set(IsMotor::getMotorName, isMotor.getMotorName())
+                .set(IsMotor::getPointId, isMotor.getPointId() != null ? isMotor.getPointId() : null));
+        // 开始执行删除is_map_point数据
+        if (!byId.getPointId().equals(isMotor.getPointId()) || isMotor.getPointId() == null) {
+            isMapPointService.remove(Wrappers.<IsMapPoint>lambdaQuery()
+                    .eq(IsMapPoint::getMapType, "4")
+                    .eq(IsMapPoint::getEntityId, byId.getMotorId()));
+        }
+        return true;
+    }
+
 }

+ 9 - 7
ktg-iscs/src/main/resources/mapper/IsMotorMapper.xml

@@ -6,14 +6,16 @@
 
     <select id="getIsMotorPage" resultType="com.ktg.iscs.domain.IsMotor">
         select
-            m.*, i.point_name
+        m.*, i.point_name
         from is_motor m left join is_isolation_point i on i.point_id = m.point_id
-        <if test="isMotor.motorName != null and isMotor.motorName != ''">
-            and m.motor_name like concat('%',#{isMotor.motorName},'%')
-        </if>
-        <if test="isMotor.pointId != null">
-            and m.point_id = #{isMotor.pointId}
-        </if>
+        <where>
+            <if test="isMotor.motorName != null and isMotor.motorName != ''">
+                and m.motor_name like concat('%',#{isMotor.motorName},'%')
+            </if>
+            <if test="isMotor.pointId != null">
+                and m.point_id = #{isMotor.pointId}
+            </if>
+        </where>
         order by m.motor_id desc
     </select>
 </mapper>