feat(pocket): 新增历史与停机管理功能- 在服务接口中增加insertByBo、updateByBo和deleteWithValidByIds方法

- 控制器中实现新增、修改、删除及详情查询接口- 使用@Log注解记录操作日志,支持防重复提交
- 实现数据校验逻辑,确保实体保存前的合法性
- 支持通过主键批量删除历史与停机信息
- 引入BeanUtil工具类简化BO到实体的转换过程
This commit is contained in:
JR
2025-10-30 10:49:56 +08:00
parent e9f3288bd0
commit 2338940b7e
6 changed files with 223 additions and 0 deletions

View File

@@ -1,5 +1,11 @@
package com.klp.pocket.controller;
import com.klp.common.annotation.Log;
import com.klp.common.annotation.RepeatSubmit;
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 lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
@@ -10,6 +16,11 @@ import com.klp.pocket.domain.bo.Klptcm1ProPlantStateHistoryBo;
import com.klp.pocket.service.IKlptcm1ProPlantStateHistoryService;
import com.klp.common.core.page.TableDataInfo;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.Date;
/**
* 历史
*
@@ -32,4 +43,46 @@ public class Klptcm1ProPlantStateHistoryController extends BaseController {
return iKlptcm1ProPlantStateHistoryService.queryPageList(bo, pageQuery);
}
/**
* 获取历史详细信息
*
* @param INSDATE 主键
*/
@GetMapping("/{INSDATE}")
public R<Klptcm1ProPlantStateHistoryVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Date INSDATE) {
return R.ok(iKlptcm1ProPlantStateHistoryService.queryById(INSDATE));
}
/**
* 新增历史
*/
@Log(title = "历史", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody Klptcm1ProPlantStateHistoryBo bo) {
return toAjax(iKlptcm1ProPlantStateHistoryService.insertByBo(bo));
}
/**
* 修改历史
*/
@Log(title = "历史", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody Klptcm1ProPlantStateHistoryBo bo) {
return toAjax(iKlptcm1ProPlantStateHistoryService.updateByBo(bo));
}
/**
* 删除历史
*
* @param INSDATEs 主键串
*/
@Log(title = "历史", businessType = BusinessType.DELETE)
@DeleteMapping("/{INSDATEs}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Date[] INSDATEs) {
return toAjax(iKlptcm1ProPlantStateHistoryService.deleteWithValidByIds(Arrays.asList(INSDATEs), true));
}
}

View File

@@ -1,5 +1,11 @@
package com.klp.pocket.controller;
import com.klp.common.annotation.Log;
import com.klp.common.annotation.RepeatSubmit;
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 lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
@@ -10,6 +16,10 @@ import com.klp.pocket.domain.bo.Klptcm1ProStoppageBo;
import com.klp.pocket.service.IKlptcm1ProStoppageService;
import com.klp.common.core.page.TableDataInfo;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 停机
*
@@ -32,4 +42,46 @@ public class Klptcm1ProStoppageController extends BaseController {
return iKlptcm1ProStoppageService.queryPageList(bo, pageQuery);
}
/**
* 获取停机详细信息
*
* @param STOPID 主键
*/
@GetMapping("/{STOPID}")
public R<Klptcm1ProStoppageVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long STOPID) {
return R.ok(iKlptcm1ProStoppageService.queryById(STOPID));
}
/**
* 新增停机
*/
@Log(title = "停机", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody Klptcm1ProStoppageBo bo) {
return toAjax(iKlptcm1ProStoppageService.insertByBo(bo));
}
/**
* 修改停机
*/
@Log(title = "停机", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody Klptcm1ProStoppageBo bo) {
return toAjax(iKlptcm1ProStoppageService.updateByBo(bo));
}
/**
* 删除停机
*
* @param STOPIDs 主键串
*/
@Log(title = "停机", businessType = BusinessType.DELETE)
@DeleteMapping("/{STOPIDs}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] STOPIDs) {
return toAjax(iKlptcm1ProStoppageService.deleteWithValidByIds(Arrays.asList(STOPIDs), true));
}
}