JensionDzero 1 жил өмнө
parent
commit
0f41856a72

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/EquipmentController.java

@@ -41,7 +41,9 @@ public class EquipmentController {
      */
     @PostMapping("/addEquipment")
     public R addEquipment(@RequestBody @Validated(value = {AddGroup.class}) EquipmentVo equipmentVo){
-        equipmentService.addEquipment(equipmentVo);
+        Integer integer = equipmentService.addEquipment(equipmentVo);
+        if (integer == 0)
+            R.ok("添加失败,设备编号已存在");
         return R.ok();
     }
 

+ 5 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/DlUser.java

@@ -25,6 +25,8 @@ public class DlUser {
     private String startEquipmentId;
     @TableField("start_equipment_name")
     private String startEquipmentName;
+    @TableField("start_equipment_code")
+    private String startEquipmentCode;
     @TableField("start_time")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonSerialize(using = LocalDateTimeSerializer.class)
@@ -34,6 +36,9 @@ public class DlUser {
     private String endEquipmentId;
     @TableField("end_equipment_name")
     private String endEquipmentName;
+
+    @TableField("end_equipment_code")
+    private String endEquipmentCode;
     @TableField("end_time")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonSerialize(using = LocalDateTimeSerializer.class)

+ 2 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Equipment.java

@@ -19,6 +19,8 @@ public class Equipment {
     private String equipmentId;
     @TableField("equipment_name")
     private String equipmentName;
+    @TableField("equipment_code")
+    private String equipmentCode;
     @TableField("addr_info")
     private String addrInfo;
     @TableField("addr_code")

+ 3 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Statistics.java

@@ -31,6 +31,9 @@ public class Statistics {
     @TableField("equipment_name")
     private String equipmentName;
 
+    @TableField("equipment_code")
+    private String equipmentCode;
+
     @TableField("addr_info")
     private String addrInfo;
 

+ 4 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/EquipmentVo.java

@@ -17,6 +17,10 @@ public class EquipmentVo {
     private String equipmentId;
     @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String equipmentName;
+
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
+    private String equipmentCode;
+
     @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String addrInfo;
     @NotBlank(groups = {AddGroup.class, EditGroup.class})

+ 1 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/EquipmentService.java

@@ -14,7 +14,7 @@ import java.util.HashMap;
 import java.util.List;
 
 public interface EquipmentService {
-    void addEquipment(EquipmentVo equipmentVo);
+    Integer addEquipment(EquipmentVo equipmentVo);
 
     void updateEquipment(EquipmentVo equipmentVo);
 

+ 82 - 21
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/EquipmentServiceImpl.java

@@ -6,19 +6,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import com.ruoyi.demo.entity.Equipment;
-import com.ruoyi.demo.entity.Plan;
-import com.ruoyi.demo.entity.PlanItem;
-import com.ruoyi.demo.entity.Store;
+import com.ruoyi.demo.entity.*;
 import com.ruoyi.demo.entity.bo.EquipmentBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
 import com.ruoyi.demo.entity.bo.PlanItemBo;
 import com.ruoyi.demo.entity.vo.EquipmentVo;
 import com.ruoyi.demo.entity.vo.PlanItemVo;
 import com.ruoyi.demo.enums.EquipmentStateEnum;
-import com.ruoyi.demo.mapper.EquipmentMapper;
-import com.ruoyi.demo.mapper.PlanItemMapper;
-import com.ruoyi.demo.mapper.PlanMapper;
+import com.ruoyi.demo.mapper.*;
 import com.ruoyi.demo.service.EquipmentService;
 import com.ruoyi.demo.utils.InitMapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.*;
+import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 
 @Service
@@ -44,6 +40,17 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     @Autowired
     PlanMapper planMapper;
+
+    @Autowired
+    StatisticsMapper statisticsMapper;
+
+    @Autowired
+    DlUserMapper dlUserMapper;
+
+    @Autowired
+    PlanPushStatisticsMapper planPushStatisticsMapper;
+
+
     @Autowired
     @Qualifier("equipmentStateMap")
     HashMap<Integer,String> equipmentStateMap;
@@ -51,14 +58,23 @@ public class EquipmentServiceImpl implements EquipmentService {
     @Autowired
     @Qualifier("equipmentOnStateMap")
     HashMap<Integer,String> equipmentOnStateMap;
+
     @Override
-    public void addEquipment(EquipmentVo equipmentVo) {
-        Equipment equipment = new Equipment(equipmentVo);
-        //1.新增地区码映射
-        equipment.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(equipment.getAddrCode()));
-        //2.新增创建时间
-        equipment.setEnterTime(LocalDateTime.now(ZoneId.of("Asia/Shanghai")));
-        equipmentMapper.insert(equipment);
+    public Integer addEquipment(EquipmentVo equipmentVo) {
+        //判断是否已经存在设备Code
+        QueryWrapper<Equipment> equipmentCode = new QueryWrapper<>();
+        equipmentCode.eq("equipment_code", equipmentVo.getEquipmentCode());
+        Long aLong = equipmentMapper.selectCount(equipmentCode);
+
+        if (aLong == 0){
+            Equipment equipment = new Equipment(equipmentVo);
+            //1.新增地区码映射
+            equipment.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(equipment.getAddrCode()));
+            //2.新增创建时间
+            equipment.setEnterTime(LocalDateTime.now(ZoneId.of("Asia/Shanghai")));
+            return equipmentMapper.insert(equipment);
+        }
+        return 0;
     }
 
     @Override
@@ -70,6 +86,7 @@ public class EquipmentServiceImpl implements EquipmentService {
         UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
         updateWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
         updateWrapper.set("equipment_name",equipmentVo.getEquipmentName())
+            .set("equipment_code",equipmentVo.getEquipmentCode())
             .set("annotation",equipmentVo.getAnnotation())
             .set("addr_info",equipmentVo.getAddrInfo())
             .set("addr_code",equipmentVo.getAddrCode())
@@ -84,13 +101,55 @@ public class EquipmentServiceImpl implements EquipmentService {
         equipmentMapper.update(null,updateWrapper);
 
         //修改冗余字段
-        UpdateWrapper<PlanItem> updateWrapper1 = new UpdateWrapper<>();
-        updateWrapper1.eq("equipment_id",equipmentVo.getEquipmentId());
-        updateWrapper1.set("equipment_name",equipmentVo.getEquipmentName())
-            .set("addr_info",equipmentVo.getAddrInfo())
-            .set("addr_code",equipmentVo.getAddrCode())
-            .set("addr_code_info",equipmentVo.getAddrCode());
-        planItemMapper.update(null,updateWrapper1);
+        CompletableFuture<Void> future1 = CompletableFuture.runAsync(()->{
+            UpdateWrapper<PlanItem> updateWrapper1 = new UpdateWrapper<>();
+            updateWrapper1.eq("equipment_id",equipmentVo.getEquipmentId());
+            updateWrapper1.set("equipment_name",equipmentVo.getEquipmentName())
+                .set("equipment_code",equipmentVo.getEquipmentCode())
+                .set("addr_info",equipmentVo.getAddrInfo())
+                .set("addr_code",equipmentVo.getAddrCode())
+                .set("addr_code_info",equipmentVo.getAddrCode());
+            planItemMapper.update(null,updateWrapper1);
+        });
+
+
+        CompletableFuture<Void> future2 = CompletableFuture.runAsync(()->{
+            UpdateWrapper<Statistics> updateWrapper2 = new UpdateWrapper<>();
+            updateWrapper2.eq("equipment_id",equipmentVo.getEquipmentId());
+            updateWrapper2.set("equipment_name",equipmentVo.getEquipmentName())
+                .set("equipment_code",equipmentVo.getEquipmentCode());
+            statisticsMapper.update(null,updateWrapper2);
+        });
+
+
+
+        CompletableFuture<Void> future3 = CompletableFuture.runAsync(()->{
+            UpdateWrapper<DlUser> updateWrapper3 = new UpdateWrapper<>();
+            updateWrapper3.eq("start_equipment_id",equipmentVo.getEquipmentId());
+            updateWrapper3.set("start_equipment_name",equipmentVo.getEquipmentName())
+                .set("start_equipment_code",equipmentVo.getEquipmentCode());
+            dlUserMapper.update(null,updateWrapper3);
+        });
+
+
+        CompletableFuture<Void> future4 = CompletableFuture.runAsync(()->{
+            UpdateWrapper<DlUser> updateWrapper4 = new UpdateWrapper<>();
+            updateWrapper4.eq("end_equipment_id",equipmentVo.getEquipmentId());
+            updateWrapper4.set("end_equipment_name",equipmentVo.getEquipmentName())
+                .set("end_equipment_code",equipmentVo.getEquipmentCode());
+            dlUserMapper.update(null,updateWrapper4);
+        });
+
+
+        CompletableFuture<Void> future5 = CompletableFuture.runAsync(()->{
+            UpdateWrapper<PlanPushStatistics> updateWrapper5 = new UpdateWrapper<>();
+            updateWrapper5.eq("equipment_id",equipmentVo.getEquipmentId());
+            updateWrapper5.set("equipment_name",equipmentVo.getEquipmentName())
+                .set("equipment_code",equipmentVo.getEquipmentCode());
+            planPushStatisticsMapper.update(null,updateWrapper5);
+        });
+
+        CompletableFuture.allOf(future1,future2,future3,future4,future5);
     }
 
     @Override
@@ -133,6 +192,7 @@ public class EquipmentServiceImpl implements EquipmentService {
             queryWrapper.and(queryWrapper1 -> {
                 queryWrapper1.likeRight("equipment_id",equipmentVo.getSearchText());
                 queryWrapper1.or().like("equipment_name",equipmentVo.getSearchText());
+                queryWrapper1.or().like("equipment_code",equipmentVo.getSearchText());
             });
         }
 
@@ -211,6 +271,7 @@ public class EquipmentServiceImpl implements EquipmentService {
         if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
             queryWrapper.likeRight("equipment_id",equipmentVo.getSearchText());
             queryWrapper.or().like("equipment_name",equipmentVo.getSearchText());
+            queryWrapper.or().like("equipment_code",equipmentVo.getSearchText());
             queryWrapper.or().like("maintain_name",equipmentVo.getSearchText());
             queryWrapper.or().likeRight("maintain_telephone",equipmentVo.getSearchText());
         }