feat(pltcm): 新增设备启用状态管理功能

- 创建 ModDeviceEnable 实体类定义设备启用状态数据结构
- 实现 IModDeviceEnableService 接口及 ModDeviceEnableServiceImpl 业务逻辑
- 添加 ModDeviceEnableController 提供 REST API 接口支持增删改查操作
- 配置 ModDeviceEnableMapper 和 MyBatis XML 映射文件
- 定义 ModDeviceEnableBo 和 ModDeviceEnableVo 数据传输对象
- 集成 Excel 导出功能支持设备数据批量导出
- 实现分页查询、条件筛选和排序功能
This commit is contained in:
2026-07-06 17:34:25 +08:00
parent e42eac9115
commit 038e8544a0
8 changed files with 283 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
package com.klp.pltcm.controller;
import java.util.List;
import java.util.Arrays;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.annotation.Log;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.pltcm.domain.vo.ModDeviceEnableVo;
import com.klp.pltcm.domain.bo.ModDeviceEnableBo;
import com.klp.pltcm.service.IModDeviceEnableService;
import com.klp.common.core.page.TableDataInfo;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/pltcm/deviceEnable")
public class ModDeviceEnableController extends BaseController {
private final IModDeviceEnableService iModDeviceEnableService;
@GetMapping("/list")
public TableDataInfo<ModDeviceEnableVo> list(ModDeviceEnableBo bo, PageQuery pageQuery) {
return iModDeviceEnableService.queryPageList(bo, pageQuery);
}
@Log(title = "设备启用状态", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ModDeviceEnableBo bo, HttpServletResponse response) {
List<ModDeviceEnableVo> list = iModDeviceEnableService.queryList(bo);
ExcelUtil.exportExcel(list, "设备启用状态", ModDeviceEnableVo.class, response);
}
@GetMapping("/{id}")
public R<ModDeviceEnableVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) {
return R.ok(iModDeviceEnableService.queryById(id));
}
@Log(title = "设备启用状态", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ModDeviceEnableBo bo) {
return toAjax(iModDeviceEnableService.insertByBo(bo));
}
@Log(title = "设备启用状态", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ModDeviceEnableBo bo) {
return toAjax(iModDeviceEnableService.updateByBo(bo));
}
@Log(title = "设备启用状态", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) {
return toAjax(iModDeviceEnableService.deleteWithValidByIds(Arrays.asList(ids), true));
}
}