浏览代码

更改bug

shiyue 1 年之前
父节点
当前提交
471a6e1c96

+ 8 - 0
energy-manage-service/src/main/java/com/energy/manage/service/controller/company/WindCompanyController.java

@@ -1,6 +1,7 @@
 package com.energy.manage.service.controller.company;
 
 
+import com.energy.manage.common.enums.TypeRelationEnum;
 import com.energy.manage.common.po.company.WindCompanyPO;
 import com.energy.manage.common.reponse.ResultResp;
 import com.energy.manage.service.config.annotations.UserLoginToken;
@@ -10,6 +11,7 @@ import com.energy.manage.service.domain.vo.company.WindCompanyPageVo;
 import com.energy.manage.service.domain.vo.company.WindCompanyVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldVo;
 import com.energy.manage.service.service.company.WindCompanyService;
+import com.energy.manage.service.service.system.SysOrganizationAuthService;
 import com.energy.manage.service.service.windfield.WindFieldService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -35,6 +37,9 @@ public class WindCompanyController extends BaseServiceController {
     @Autowired
     private WindFieldService windFieldService;
 
+    @Autowired
+    private SysOrganizationAuthService sysOrganizationAuthService;
+
 
     @UserLoginToken
     @PostMapping(value = "/addCompany")
@@ -63,6 +68,9 @@ public class WindCompanyController extends BaseServiceController {
         if (list.size() > 0) {
             return ResultResp.FAIL("项目公司有绑定风场不可删除!");
         }
+        if(!sysOrganizationAuthService.verifySysOrganizationAuthByType(dto.getCompanyCode(), TypeRelationEnum.COMPANY_NUMBER.getCode())){
+            return ResultResp.FAIL("企业有绑定数据权限不可删除!");
+        }
         boolean flg = windCompanyService.delCompany(dto);
         return flg ? ResultResp.SUCCESS() : ResultResp.FAIL();
     }

+ 8 - 0
energy-manage-service/src/main/java/com/energy/manage/service/controller/windfield/WindFieldController.java

@@ -2,6 +2,7 @@ package com.energy.manage.service.controller.windfield;
 
 
 import com.energy.manage.common.base.Page;
+import com.energy.manage.common.enums.TypeRelationEnum;
 import com.energy.manage.common.po.anemometertower.AnemometerTowerPO;
 import com.energy.manage.common.po.windfield.WindFieldPO;
 import com.energy.manage.common.reponse.ResultResp;
@@ -13,6 +14,7 @@ import com.energy.manage.service.domain.vo.windfield.WindFieldNameVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldPageVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldVo;
 import com.energy.manage.service.domain.vo.windrelation.WindRelationVo;
+import com.energy.manage.service.service.system.SysOrganizationAuthService;
 import com.energy.manage.service.service.windenginegroup.WindEngineGroupService;
 import com.energy.manage.service.service.windfield.WindFieldResourceService;
 import com.energy.manage.service.service.windfield.WindFieldService;
@@ -43,6 +45,9 @@ public class WindFieldController extends BaseServiceController {
     @Autowired
     private WindFieldResourceService windFieldResourceService;
 
+    @Autowired
+    private SysOrganizationAuthService sysOrganizationAuthService;
+
 
     @UserLoginToken
     @PostMapping(value = "/createWindField")
@@ -97,6 +102,9 @@ public class WindFieldController extends BaseServiceController {
         if (windEngineGroupService.getWindEngineGroupCountByField(windFieldCodeDto.getFieldCode()) > 0) {
             return ResultResp.FAIL("风场下有绑定风机,不可删除!");
         }
+        if(!sysOrganizationAuthService.verifySysOrganizationAuthByType(windFieldCodeDto.getFieldCode(), TypeRelationEnum.WIND_FIELD_NUMBER.getCode())){
+            return ResultResp.FAIL("风场有绑定数据权限不可删除!");
+        }
         boolean flg = windFieldService.delWindFieldById(windFieldCodeDto.getFieldCode());
         return flg ? ResultResp.SUCCESS() : ResultResp.FAIL();
     }

+ 9 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/system/SysOrganizationAuthService.java

@@ -20,4 +20,13 @@ public interface SysOrganizationAuthService {
      * @return
      */
     Map<String, List<SysOrganizationAuthPO>> queryCodeNunByRoleId(Integer roleId);
+
+
+    /**
+     * 通过code和类型查询数据是否存在
+     * @param codeName
+     * @param type
+     * @return
+     */
+    boolean verifySysOrganizationAuthByType(String codeName,String type);
 }

+ 19 - 4
energy-manage-service/src/main/java/com/energy/manage/service/service/system/impl/SysOrganizationAuthServiceImpl.java

@@ -1,11 +1,13 @@
 package com.energy.manage.service.service.system.impl;
 
 import com.energy.manage.common.enums.TypeRelationEnum;
+import com.energy.manage.common.po.powerwordcriterion.PowerWordCriterionPO;
 import com.energy.manage.common.po.system.SysOrganizationAuthPO;
 import com.energy.manage.service.mappers.system.SysOrganizationAuthMapper;
 import com.energy.manage.service.service.system.SysOrganizationAuthService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import tk.mybatis.mapper.entity.Example;
 
 import java.util.HashMap;
 import java.util.List;
@@ -14,6 +16,7 @@ import java.util.stream.Collectors;
 
 /**
  * 企业风场关系
+ *
  * @author chy
  * @date 2024/5/21 09:36
  * @desc
@@ -31,15 +34,27 @@ public class SysOrganizationAuthServiceImpl implements SysOrganizationAuthServic
 
     /**
      * 根据角色id获取风场编号列表
+     *
      * @return
      */
     @Override
-    public Map<String, List<SysOrganizationAuthPO>> queryCodeNunByRoleId(Integer roleId){
-        Map<String,List<SysOrganizationAuthPO>> returnMap = new HashMap<>();
+    public Map<String, List<SysOrganizationAuthPO>> queryCodeNunByRoleId(Integer roleId) {
+        Map<String, List<SysOrganizationAuthPO>> returnMap = new HashMap<>();
         List<SysOrganizationAuthPO> authPoList = sysOrganizationAuthMapper.selectByRoleId(roleId);
         authPoList.parallelStream().filter(po -> po.getCodeType().equals(TypeRelationEnum.WIND_FIELD_NUMBER.getCode()))
-                                                          .collect(Collectors.toList());
-        returnMap.put(FILE_CODE_LIST_KEY,authPoList);
+                .collect(Collectors.toList());
+        returnMap.put(FILE_CODE_LIST_KEY, authPoList);
         return returnMap;
     }
+
+    @Override
+    public boolean verifySysOrganizationAuthByType(String codeName, String type) {
+        Example queryExample = new Example(SysOrganizationAuthPO.class);
+        Example.Criteria criteria = queryExample.createCriteria();
+        criteria.andEqualTo("codeNumber", codeName);
+        criteria.andEqualTo("codeType", type);
+        return sysOrganizationAuthMapper.selectCountByExample(queryExample) > 0 ? false : true;
+    }
+
+
 }