瀏覽代碼

pms功能优化 设备分类属性列表

zhangcl 4 月之前
父節點
當前提交
6d60018644
共有 9 個文件被更改,包括 82 次插入6 次删除
  1. 26 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicecategorytemplate/IotDeviceCategoryTemplateController.java
  2. 23 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicecategorytemplate/vo/DeviceCategoryTemplateUpdateStatusReqVO.java
  3. 1 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicetemplateattrs/vo/IotDeviceTemplateAttrsPageReqVO.java
  4. 1 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicetemplateattrs/vo/IotDeviceTemplateAttrsRespVO.java
  5. 1 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicetemplateattrs/vo/IotDeviceTemplateAttrsSaveReqVO.java
  6. 9 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotdevicetemplateattrs/IotDeviceTemplateAttrsDO.java
  7. 3 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotdevicetemplateattrs/IotDeviceTemplateAttrsMapper.java
  8. 7 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotdevicecategorytemplate/IotDeviceCategoryTemplateService.java
  9. 11 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotdevicecategorytemplate/IotDeviceCategoryTemplateServiceImpl.java

+ 26 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicecategorytemplate/IotDeviceCategoryTemplateController.java

@@ -1,15 +1,21 @@
 package cn.iocoder.yudao.module.pms.controller.admin.iotdevicecategorytemplate;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.pms.controller.admin.iotdevicecategorytemplate.vo.DeviceCategoryTemplateUpdateStatusReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotdevicecategorytemplate.vo.IotDeviceCategoryTemplatePageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotdevicecategorytemplate.vo.IotDeviceCategoryTemplateRespVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotdevicecategorytemplate.vo.IotDeviceCategoryTemplateSaveReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotdevicetemplate.vo.DeviceTemplateUpdateStatusReqVO;
+import cn.iocoder.yudao.module.pms.convert.iotdevicecategorytemplate.IotDeviceCategoryTemplateConvert;
+import cn.iocoder.yudao.module.pms.dal.dataobject.IotProductClassifyDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicecategorytemplate.IotDeviceCategoryTemplateDO;
+import cn.iocoder.yudao.module.pms.service.IotProductClassifyService;
 import cn.iocoder.yudao.module.pms.service.iotdevicecategorytemplate.IotDeviceCategoryTemplateService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -23,9 +29,11 @@ import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
 
 import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
 
 @Tag(name = "管理后台 - 设备分类属性公用模板")
 @RestController
@@ -35,6 +43,8 @@ public class IotDeviceCategoryTemplateController {
 
     @Resource
     private IotDeviceCategoryTemplateService iotDeviceCategoryTemplateService;
+    @Resource
+    private IotProductClassifyService iotProductClassifyService;
 
     @PostMapping("/create")
     @Operation(summary = "创建设备分类属性公用模板")
@@ -51,6 +61,14 @@ public class IotDeviceCategoryTemplateController {
         return success(true);
     }
 
+    @PutMapping("/update-status")
+    @Operation(summary = "修改 设备分类属性模板 状态")
+    @PreAuthorize("@ss.hasPermission('pms:iot-device-category-template:update')")
+    public CommonResult<Boolean> updateDeviceCategoryTemplateStatus(@Valid @RequestBody DeviceCategoryTemplateUpdateStatusReqVO reqVO) {
+        iotDeviceCategoryTemplateService.updateDeviceCategoryTemplateStatus(reqVO.getId(), reqVO.getStatus());
+        return success(true);
+    }
+
     @DeleteMapping("/delete")
     @Operation(summary = "删除设备分类属性公用模板")
     @Parameter(name = "id", description = "编号", required = true)
@@ -74,7 +92,14 @@ public class IotDeviceCategoryTemplateController {
     @PreAuthorize("@ss.hasPermission('pms:iot-device-category-template:query')")
     public CommonResult<PageResult<IotDeviceCategoryTemplateRespVO>> getIotDeviceCategoryTemplatePage(@Valid IotDeviceCategoryTemplatePageReqVO pageReqVO) {
         PageResult<IotDeviceCategoryTemplateDO> pageResult = iotDeviceCategoryTemplateService.getIotDeviceCategoryTemplatePage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, IotDeviceCategoryTemplateRespVO.class));
+        if (CollUtil.isEmpty(pageResult.getList())) {
+            return success(new PageResult<>(pageResult.getTotal()));
+        }
+        // 拼接所属 设备分类 名称
+        Map<Long, IotProductClassifyDO> deviceCategoryMap = iotProductClassifyService.getIotProductClassifyMap(
+                convertList(pageResult.getList(), IotDeviceCategoryTemplateDO::getDeviceCategoryId));
+        return success(new PageResult<>(IotDeviceCategoryTemplateConvert.INSTANCE.convertList(pageResult.getList(), deviceCategoryMap),
+                pageResult.getTotal()));
     }
 
     @GetMapping("/export-excel")

+ 23 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicecategorytemplate/vo/DeviceCategoryTemplateUpdateStatusReqVO.java

@@ -0,0 +1,23 @@
+package cn.iocoder.yudao.module.pms.controller.admin.iotdevicecategorytemplate.vo;
+
+import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
+import cn.iocoder.yudao.framework.common.validation.InEnum;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Schema(description = "管理后台 - 设备分类属性模板 更新状态 Request VO")
+@Data
+public class DeviceCategoryTemplateUpdateStatusReqVO {
+
+    @Schema(description = "设备分类属性模板id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    @NotNull(message = "设备分类属性模板id不能为空")
+    private Long id;
+
+    @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "状态不能为空")
+    @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}")
+    private Integer status;
+
+}

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicetemplateattrs/vo/IotDeviceTemplateAttrsPageReqVO.java

@@ -24,7 +24,7 @@ public class IotDeviceTemplateAttrsPageReqVO extends PageParam {
     private Long deviceId;
 
     @Schema(description = "设备模板id", example = "32238")
-    private Long deviceTemplateId;
+    private Long templateId;
 
     @Schema(description = "属性名称", example = "李四")
     private String name;

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicetemplateattrs/vo/IotDeviceTemplateAttrsRespVO.java

@@ -19,7 +19,7 @@ public class IotDeviceTemplateAttrsRespVO {
 
     @Schema(description = "设备模板id", example = "32238")
     @ExcelProperty("设备模板id")
-    private Long deviceTemplateId;
+    private Long templateId;
 
     @Schema(description = "设备id", example = "32238")
     @ExcelProperty("设备id")

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotdevicetemplateattrs/vo/IotDeviceTemplateAttrsSaveReqVO.java

@@ -11,7 +11,7 @@ public class IotDeviceTemplateAttrsSaveReqVO {
     private Long id;
 
     @Schema(description = "设备模板id", example = "32238")
-    private Long deviceTemplateId;
+    private Long templateId;
 
     @Schema(description = "设备id", example = "32238")
     private Long deviceId;

+ 9 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotdevicetemplateattrs/IotDeviceTemplateAttrsDO.java

@@ -29,10 +29,18 @@ public class IotDeviceTemplateAttrsDO extends BaseDO {
      */
     @TableId
     private Long id;
+    /**
+     * 设备分类id
+     */
+    private Long deviceCategoryId;
+    /**
+     * 设备id
+     */
+    private Long deviceId;
     /**
      * 设备模板id
      */
-    private Long deviceTemplateId;
+    private Long templateId;
     /**
      * 属性名称
      */

+ 3 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotdevicetemplateattrs/IotDeviceTemplateAttrsMapper.java

@@ -17,7 +17,9 @@ public interface IotDeviceTemplateAttrsMapper extends BaseMapperX<IotDeviceTempl
 
     default PageResult<IotDeviceTemplateAttrsDO> selectPage(IotDeviceTemplateAttrsPageReqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<IotDeviceTemplateAttrsDO>()
-                .eqIfPresent(IotDeviceTemplateAttrsDO::getDeviceTemplateId, reqVO.getDeviceTemplateId())
+                .eqIfPresent(IotDeviceTemplateAttrsDO::getDeviceCategoryId, reqVO.getDeviceCategoryId())
+                .eqIfPresent(IotDeviceTemplateAttrsDO::getDeviceId, reqVO.getDeviceId())
+                .eqIfPresent(IotDeviceTemplateAttrsDO::getTemplateId, reqVO.getTemplateId())
                 .likeIfPresent(IotDeviceTemplateAttrsDO::getName, reqVO.getName())
                 .eqIfPresent(IotDeviceTemplateAttrsDO::getCode, reqVO.getCode())
                 .eqIfPresent(IotDeviceTemplateAttrsDO::getType, reqVO.getType())

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

@@ -52,4 +52,11 @@ public interface IotDeviceCategoryTemplateService {
      */
     PageResult<IotDeviceCategoryTemplateDO> getIotDeviceCategoryTemplatePage(IotDeviceCategoryTemplatePageReqVO pageReqVO);
 
+    /**
+     * 修改状态
+     *
+     * @param id     设备属性模板id
+     * @param status 状态
+     */
+    void updateDeviceCategoryTemplateStatus(Long id, Integer status);
 }

+ 11 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotdevicecategorytemplate/IotDeviceCategoryTemplateServiceImpl.java

@@ -68,4 +68,15 @@ public class IotDeviceCategoryTemplateServiceImpl implements IotDeviceCategoryTe
         return iotDeviceCategoryTemplateMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public void updateDeviceCategoryTemplateStatus(Long id, Integer status) {
+        // 校验 设备分类属性模板 存在
+        validateIotDeviceCategoryTemplateExists(id);
+        // 更新状态
+        IotDeviceCategoryTemplateDO updateObj = new IotDeviceCategoryTemplateDO();
+        updateObj.setId(id);
+        updateObj.setStatus(status);
+        iotDeviceCategoryTemplateMapper.updateById(updateObj);
+    }
+
 }