luowei 1 سال پیش
والد
کامیت
faacf3c90e

+ 3 - 0
project_data/sql/0.0.5/soc/soc.sql

@@ -121,3 +121,6 @@ INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_cla
 VALUES (6, '中心业务库', '6', 'monitor_org', null, 'default', 'N', '0',  null, now(), null, now(), null);
 INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark)
 VALUES (10, '监控中心', '10', 'monitor_org', null, 'default', 'N', '0',  null, now(), null, now(), null);
+delete  from `sys_menu` where  id=01719892877586239490;
+INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `platform_type`, `icon`, `image_path`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
+VALUES (01719892877586239490, '外包履职评价统计表', 1719287834364436482, 2, 'evaluateTable', 'evaluateTable/index', NULL, 1, 1, 'C', '0', '0', 'core:evaluateTask:statistics', '1', 'chart', NULL, '超级管理员', '2023-09-21 10:37:52', '超级管理员', '2023-09-22 09:42:43', '');

+ 22 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteNfcBindService.java

@@ -0,0 +1,22 @@
+package com.xunmei.system.api;
+
+import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.constant.ServiceNameConstants;
+import com.xunmei.system.api.factory.RemoteNfcBindFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+/**
+ * @author :LuoWei
+ * @date : 2023/12/15
+ */
+@FeignClient(contextId = "remoteNfcBindService", value = ServiceNameConstants.SYSTEM_SERVICE)
+public interface RemoteNfcBindService {
+    @GetMapping("/bind/selectNfcByCode")
+    List<Long> selectNfcByCode(@RequestParam("code") String code, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+}

+ 22 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteNfcBindFallbackFactory.java

@@ -0,0 +1,22 @@
+package com.xunmei.system.api.factory;
+
+import com.xunmei.system.api.RemoteNfcBindService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * @author :LuoWei
+ * @date : 2023/12/15
+ */
+@Component
+public class RemoteNfcBindFallbackFactory implements FallbackFactory<RemoteNfcBindService> {
+    private static final Logger log = LoggerFactory.getLogger(RemoteNfcBindFallbackFactory.class);
+    @Override
+    public RemoteNfcBindService create(Throwable cause) {
+        log.error("nfc服务调用失败:{}", cause.getMessage());
+        return null;
+    }
+}

+ 11 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationServiceImpl.java

@@ -5,6 +5,7 @@ import com.alibaba.nacos.common.utils.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.utils.DateUtils;
@@ -18,6 +19,7 @@ import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationService;
 import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationVO;
 import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
+import com.xunmei.system.api.RemoteNfcBindService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -43,6 +45,8 @@ public class CoreMonitoringTaskRegistrationServiceImpl extends ServiceImpl<CoreM
     private CoreMonitoringRetrievalTaskMapper coreMonitoringRetrievalTaskMapper;//任务
     @Autowired
     private CoreMonitoringTaskMonitorInfoMapper coreMonitoringTaskMonitorInfoMapper;//项目
+    @Autowired
+    private RemoteNfcBindService remoteNfcBindService;
 
     /**
      * 查询【请填写功能名称】
@@ -79,6 +83,13 @@ public class CoreMonitoringTaskRegistrationServiceImpl extends ServiceImpl<CoreM
      */
     @Override
     public int insertCoreMonitoringTaskRegistration(CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
+        //如果进来的NFC不是本机构和不是设备间就不让扫
+        if (StringUtils.isNotEmpty(coreMonitoringTaskRegistration.getStartNfc())) {
+            List<Long> longs = remoteNfcBindService.selectNfcByCode(coreMonitoringTaskRegistration.getStartNfc(), SecurityConstants.INNER);
+            if (!longs.contains(SecurityUtils.getUserId())) {
+                throw new ServiceException("请扫描本机构NFC");
+            }
+        }
         //jiaoyan
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.eq("task_id", coreMonitoringTaskRegistration.getTaskId());

+ 0 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/evaluate/controller/CoreEvaluatePlanController.java

@@ -55,7 +55,6 @@ public class CoreEvaluatePlanController extends BaseController {
     }
 
     @ApiOperation(value = "查询CoreEvaluatePlan列表全部")
-    @RequiresPermissions("core:evaluatePlan:list")
     @GetMapping("/allList")
     public List<CoreEvaluatePlan> allList() {
         return coreEvaluatePlanService.allList();

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/evaluate/controller/CoreEvaluateTaskController.java

@@ -108,7 +108,7 @@ public class CoreEvaluateTaskController extends BaseController {
     }
 
     @ApiOperation(value = "统计")
-    @RequiresPermissions("core:evaluateTask:list")
+    @RequiresPermissions("core:evaluateTask:statistics")
     @GetMapping("/statistics")
     public AjaxResult statistics(EvaluateTaskStatisticsDTO evaluateTaskStatisticsDTO) {
         AjaxResult ajaxResult = AjaxResult.success();

+ 9 - 8
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysNfcBindController.java

@@ -3,20 +3,14 @@ package com.xunmei.system.controller;
 import java.util.List;
 
 import com.xunmei.common.core.utils.StringUtils;
+import com.xunmei.common.security.annotation.InnerAuth;
 import com.xunmei.system.api.domain.SysArea;
 import com.xunmei.system.domain.SysAreaCheck;
 import com.xunmei.system.dto.SysNfcBindDTO;
 import com.xunmei.system.service.ISysAreaCheckService;
 import com.xunmei.system.service.ISysAreaService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import com.xunmei.common.log.annotation.Log;
 import com.xunmei.common.log.enums.BusinessType;
 import com.xunmei.common.security.annotation.RequiresPermissions;
@@ -70,6 +64,13 @@ public class SysNfcBindController extends BaseController {
         return ajax;
     }
 
+    @ApiOperation("传入机构和NFC的code看看有没有设备间")
+    @InnerAuth
+    @GetMapping("/selectNfcByCode")
+    List<Long> selectNfcByCode(@RequestParam String code) {
+        return sysNfcBindService.check(code);
+    }
+
     /**
      * 获取【请填写功能名称】详细信息
      */

+ 1 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysNfcBindMapper.java

@@ -44,7 +44,7 @@ public interface SysNfcBindMapper extends BaseMapper<SysNfcBind> {
     Page<SysNfcBind> selectNFCPage(Page<SysNfcBind> page, @Param("info") SysNfcBindDTO info);
 
     SysNfcBind selectSysNfcBindByCode(String code);
-
+    List<Long> selectSysNfcBindByCodeAndOrgId(String code);
     /**
      * 修改区域名称
      *

+ 9 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysNfcBindService.java

@@ -26,6 +26,15 @@ public interface ISysNfcBindService extends IService<SysNfcBind> {
     SysNfcBind selectSysNfcBindByCode(String code);
 
     /**
+     * 监控调阅用的NFC检查
+     *
+     * @param orgId
+     * @param code
+     * @return
+     */
+    List<Long> check(String code);
+
+    /**
      * 查询【NFC管理】列表
      *
      * @param sysNfcBind 【NFC管理】

+ 6 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysNfcBindServiceImpl.java

@@ -102,6 +102,12 @@ public class SysNfcBindServiceImpl extends ServiceImpl<SysNfcBindMapper, SysNfcB
         return sysNfcBindMapper.selectSysNfcBindByCode(code);
     }
 
+    @Override
+    public List<Long> check(String code) {
+        List<Long> longs = sysNfcBindMapper.selectSysNfcBindByCodeAndOrgId(code);
+        return longs;
+    }
+
     /**
      * 查询【请填写功能名称】列表
      *

+ 10 - 0
soc-modules/soc-modules-system/src/main/resources/mapper/system/SysNfcBindMapper.xml

@@ -131,6 +131,16 @@
         WHERE del_flag = 0
           AND code = #{code}
     </select>
+    <select id="selectSysNfcBindByCodeAndOrgId" resultType="java.lang.Long">
+        SELECT
+            org_id
+        FROM
+            sys_nfc_bind
+        WHERE
+            area_name = '设备间'
+          AND `code` = #{code}
+    </select>
+
 
     <insert id="insertSysNfcBind" parameterType="com.xunmei.system.domain.SysNfcBind">
         insert into sys_nfc_bind