Browse Source

优化opc:增加删除和修改接口

hfxc226 2 years ago
parent
commit
4fcb7471e5

+ 4 - 4
platform-opc/src/main/java/com/platform/opc/servie/OpcInitService.java

@@ -70,10 +70,10 @@ public class OpcInitService {
     /**
      * 立即新增点位:在新增点位后,点击立即生效按钮,这个时间不能再执行上面的addItems()方法
      * 立即取消点位:在点位,点击取消采集按钮
-     * 每一分钟*
+     * 每10秒*
      */
-    /*@Scheduled(fixedDelay = 60000)
-    public void addItems() {
+    @Scheduled(fixedDelay = 10000)
+    public void addAndDelItems() {
         RedisUtils.setString(OpcDAClient.redis_opc_update_flag, "1");
 
         List<String> list = RedisUtils.getList(OpcDAClient.redis_opc_wait_add_list, 0, -1);
@@ -98,7 +98,7 @@ public class OpcInitService {
         RedisUtils.del(OpcDAClient.redis_opc_wait_remove_list);
 
         RedisUtils.del(OpcDAClient.redis_opc_update_flag);
-    }*/
+    }
 
     /**
      * 初始化加载所有点位信息

+ 5 - 2
platform-opc/src/main/java/com/platform/opc/util/OpcDAClient.java

@@ -31,9 +31,9 @@ public class OpcDAClient {
 
     public static String redis_opc_item_values = "redis_opc_item_values";
     public static String redis_opc_update_flag = "redis_opc_update_flag";
-    // 保存的是点位列表
+    // 待采集点位列表
     public static String redis_opc_wait_add_list = "redis_opc_wait_add_list";
-    // 保存的是点位列表
+    // 待撤销点位列表
     public static String redis_opc_wait_remove_list = "redis_opc_wait_remove_list";
     public static String host = "192.168.108.108";
     public static String user = "Administrator";
@@ -213,6 +213,7 @@ public class OpcDAClient {
                         List<RemoteOpc> list = entry.getValue();
                         for (RemoteOpc remoteOpc : list) {
                             group.removeItem(remoteOpc.getPositionNum());
+                            log.info("取消点位:" + remoteOpc.getPositionNum());
                         }
                         // 更新item数据
                         List<Item> items = itemArrList.get(entry.getKey() + "");
@@ -229,6 +230,8 @@ public class OpcDAClient {
                                 itemResults.add(item);
                             }
                         }
+                        log.info("取消前数量:" + items.size());
+                        log.info("取消后数量:" + itemResults.size());
                         itemArrList.put(entry.getKey() + "", itemResults);
                     }
                 }

+ 34 - 1
platform-rest/src/main/java/com/platform/rest/controller/remote/RemoteOpcController.java

@@ -3,6 +3,7 @@ package com.platform.rest.controller.remote;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.util.R;
+import com.platform.common.util.RedisUtils;
 import com.platform.common.validation.group.AddGroup;
 import com.platform.common.validation.group.UpdateGroup;
 import com.platform.dao.dto.remote.RemoteOpcDTO;
@@ -31,7 +32,10 @@ import java.util.List;
 @AllArgsConstructor
 @RequestMapping("/remote/opcs")
 public class RemoteOpcController {
-
+    // 待采集点位列表
+    private static String redis_opc_wait_add_list = "redis_opc_wait_add_list";
+    // 待撤销点位列表
+    private static String redis_opc_wait_remove_list = "redis_opc_wait_remove_list";
     private final RemoteOpcService remoteMeasureService;
 
     /**
@@ -83,6 +87,35 @@ public class RemoteOpcController {
         return new R<>();
     }
 
+
+    /**
+     * 点位加入采集分组
+     *
+     * @param positionNum
+     * @return R
+     */
+    @SysLog("点位加入采集分组")
+    @PutMapping("/group/add/{positionNum}")
+    @PreAuthorize("@pms.hasPermission('remote-opcs-edit')")
+    public R addGroup(@PathVariable("positionNum") String positionNum) {
+        RedisUtils.setListOne(redis_opc_wait_add_list, positionNum);
+        return new R<>("已加入待撤销列表,10秒后自动采集");
+    }
+
+    /**
+     * 点位撤销采集分组
+     *
+     * @param positionNum
+     * @return R
+     */
+    @SysLog("点位撤销采集分组")
+    @PutMapping("/group/del/{positionNum}")
+    @PreAuthorize("@pms.hasPermission('remote-opcs-edit')")
+    public R removeGroup(@PathVariable("positionNum") String positionNum) {
+        RedisUtils.setListOne(redis_opc_wait_remove_list, positionNum);
+        return new R<>("已加入待撤销列表,10秒后自动取消采集");
+    }
+
     /**
      * 批量记录
      *

+ 0 - 47
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoMeasureServiceImpl.java

@@ -1,82 +1,35 @@
 package com.platform.service.sb.impl;
 
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.date.DateUtil;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
-import com.platform.activiti.bean.ActObj;
-import com.platform.activiti.enums.ActApplyEnum;
 import com.platform.common.bean.AbstractPageResultBean;
-import com.platform.common.cache.ConfigCache;
-import com.platform.common.constant.CommonConstants;
-import com.platform.common.enums.DataFilterTypeEnum;
-import com.platform.common.enums.ResultCode;
 import com.platform.common.exception.BusinessException;
-import com.platform.common.model.UserInfo;
 import com.platform.common.util.*;
 import com.platform.dao.bean.MyPage;
 import com.platform.dao.bean.MyVOPage;
-import com.platform.dao.dto.check.CheckStandardDTO;
-import com.platform.dao.dto.part.PartInfoDTO;
 import com.platform.dao.dto.sb.SbInfoMeasureDTO;
-import com.platform.dao.dto.sb.SbModelSpareBomDTO;
-import com.platform.dao.dto.upms.SysDeptDTO;
-import com.platform.dao.dto.upms.SysUserDeptDTO;
-import com.platform.dao.dto.workplace.WorkplaceBacklogDTO;
-import com.platform.dao.dto.workplace.WorkplaceBacklogUserDTO;
-import com.platform.dao.entity.firm.FirmProducer;
-import com.platform.dao.entity.repair.RepairApplicationForm;
 import com.platform.dao.entity.sb.*;
 import com.platform.dao.entity.upms.SysDept;
 import com.platform.dao.entity.upms.SysFile;
 import com.platform.dao.entity.upms.SysUser;
-import com.platform.dao.entity.upms.SysUserDept;
 import com.platform.dao.enums.*;
-import com.platform.dao.mapper.firm.FirmProducerMapper;
-import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
 import com.platform.dao.mapper.sb.*;
 import com.platform.dao.mapper.upms.SysDeptMapper;
 import com.platform.dao.mapper.upms.SysFileMapper;
-import com.platform.dao.mapper.upms.SysUserDeptMapper;
 import com.platform.dao.mapper.upms.SysUserMapper;
-import com.platform.dao.mapper.workplace.WorkplaceBacklogUserMapper;
 import com.platform.dao.util.CustomExcelImportUtil;
-import com.platform.dao.util.MessageTemplateUtil;
-import com.platform.dao.util.UserUtil;
-import com.platform.dao.vo.SysUserDeptVO;
-import com.platform.dao.vo.SysUserVO;
-import com.platform.dao.vo.query.upms.SysDeptVO;
-import com.platform.dao.vo.sb.SbInfoScreenDetailVO;
-import com.platform.dao.vo.sb.SbInfoScreenVO;
 import com.platform.dao.vo.sb.SbInfoMeasureVO;
 import com.platform.service.base.impl.BaseServiceImpl;
-import com.platform.service.business.ActivitiBusinessService;
-import com.platform.service.check.CheckStandardService;
-import com.platform.service.event.WorkplaceBacklogEvent;
-import com.platform.service.part.PartInfoService;
 import com.platform.service.sb.SbInfoMeasureService;
-import com.platform.service.sb.SbModelSpareBomService;
-import com.platform.service.upms.SysDeptRelationService;
-import com.platform.service.upms.SysDeptService;
-import com.platform.service.upms.SysUserDeptService;
-import com.platform.service.util.CodeFileUtils;
-import com.platform.service.util.ExecuteSql;
-import com.platform.service.util.SysFileUtils;
 import lombok.AllArgsConstructor;
-import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * @Description 设备基础信息 service 实现类