Selaa lähdekoodia

pms 线上运营会议 查询关闭的部门 设备利用率必填性校验

zhangcl 9 tuntia sitten
vanhempi
commit
b96f8da7e4

+ 9 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotoperationmeeting/IotOperationMeetingController.java

@@ -92,6 +92,15 @@ public class IotOperationMeetingController {
         return success(buildMeetingResp(iotOperationMeeting));
     }
 
+    @GetMapping("/mandatoryOrNot")
+    @Operation(summary = "查询当前登录人所在公司是否需要设置 设备利用率 必填")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('pms:iot-operation-meeting:query')")
+    public CommonResult<IotOperationMeetingRespVO> mandatoryOrNot() {
+        IotOperationMeetingRespVO iotOperationMeeting = iotOperationMeetingService.mandatoryOrNot();
+        return success(iotOperationMeeting);
+    }
+
     @GetMapping("/previousWorkPlan")
     @Operation(summary = "填报运营会议明细时查询上期填写的工作计划")
     @PreAuthorize("@ss.hasPermission('pms:iot-operation-meeting:query')")

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotoperationmeeting/vo/IotOperationMeetingRespVO.java

@@ -118,4 +118,6 @@ public class IotOperationMeetingRespVO {
     @Schema(description = "运营会明细", example = "...")
     private List<IotOperationMeetingDetailRespVO> details;
 
+    @Schema(description = "设备利用率 是否需要必填", example = "true必填 false非必填")
+    private boolean mandatory;
 }

+ 7 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotoperationmeeting/IotOperationMeetingService.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.pms.service.iotoperationmeeting;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeeting.vo.IotOperationMeetingPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeeting.vo.IotOperationMeetingRespVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeeting.vo.IotOperationMeetingSaveBatchVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeeting.vo.IotOperationMeetingSaveReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeetingdetail.vo.IotOperationMeetingDetailPageReqVO;
@@ -73,4 +74,10 @@ public interface IotOperationMeetingService {
      * 填报运营会议明细时查询上期填写的工作计划
      */
     IotOperationMeetingDetailRespVO previousWorkPlan(IotOperationMeetingDetailPageReqVO pageReqVO);
+
+    /**
+     * 设备利用率是否需要必填
+     * @return
+     */
+    IotOperationMeetingRespVO mandatoryOrNot();
 }

+ 18 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotoperationmeeting/IotOperationMeetingServiceImpl.java

@@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeeting.vo.IotOperationMeetingPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeeting.vo.IotOperationMeetingRespVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeeting.vo.IotOperationMeetingSaveBatchVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeeting.vo.IotOperationMeetingSaveReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotoperationmeetingdetail.vo.IotOperationMeetingDetailPageReqVO;
@@ -253,4 +254,21 @@ public class IotOperationMeetingServiceImpl implements IotOperationMeetingServic
                 .orElse(null);
     }
 
+    @Override
+    public IotOperationMeetingRespVO mandatoryOrNot() {
+        IotOperationMeetingRespVO resp = new IotOperationMeetingRespVO();
+        // 当前登录人所属公司的 email 字段 如果等于 NODEVICE 则不必填
+        Long loginUserDeptId = SecurityFrameworkUtils.getLoginUserDeptId();
+        DeptDO dept = deptservice.getDept(loginUserDeptId);
+        if (ObjUtil.isEmpty(dept)) {
+            throw exception(DEPT_NOT_FOUND);
+        }
+        if ("NODEVICE@keruioil.com".equals(dept.getEmail())) {
+            resp.setMandatory(false);
+        } else {
+            resp.setMandatory(true);
+        }
+        return resp;
+    }
+
 }

+ 8 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.java

@@ -102,6 +102,14 @@ public class DeptController {
         return success(BeanUtils.toBean(list, DeptSimpleRespVO.class));
     }
 
+    @GetMapping(value = {"/includeDisabledCompanies", "/includeDisabledCompanies"})
+    @Operation(summary = "包含关闭的部门 线上运营会议", description = "包含关闭的部门 线上运营会议")
+    @PermitAll
+    public CommonResult<List<DeptSimpleRespVO>> includeDisabledCompanies() {
+        List<DeptDO> list = deptService.getDeptList(new DeptListReqVO());
+        return success(BeanUtils.toBean(list, DeptSimpleRespVO.class));
+    }
+
     @GetMapping("/specifiedSimpleDepts")
     @Operation(summary = "获取指定部门精简信息列表", description = "只包含被开启的部门,主要用于前端的下拉选项")
     @PermitAll