feat(pltcm): 添加工艺模型配置模块及核心功能

- 新增 klp-pltcm 模块到项目根目录
- 在 klp-admin 中添加对 klp-pltcm 的依赖引用
- 实现策略关联 (ModStrategy) 的完整CRUD功能
- 实现厚度分类 (ModThickClass) 的完整CRUD功能
- 实现宽度分类 (ModWidthClass) 的完整CRUD功能
- 实现屈服强度分类 (ModYieldStressClass) 的完整CRUD功能
- 实现比例表 (SchRatio) 的完整CRUD功能
- 添加相应的控制器、服务接口、实现类和数据传输对象
- 配置 MyBatis 映射文件和数据库实体类
- 提供 Excel 导出功能和分页查询支持
This commit is contained in:
2026-07-06 14:35:57 +08:00
parent a21e0059ef
commit e6eec3c459
43 changed files with 2184 additions and 0 deletions

View File

@@ -140,6 +140,12 @@
<artifactId>klp-pt</artifactId>
</dependency>
<!-- 工艺模型配置模块-->
<dependency>
<groupId>com.klp</groupId>
<artifactId>klp-pltcm</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

22
klp-pltcm/pom.xml Normal file
View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.klp</groupId>
<artifactId>klp-oa</artifactId>
<version>0.8.3</version>
</parent>
<artifactId>klp-pltcm</artifactId>
<name>klp-pltcm</name>
<description>工艺模型配置模块(厚度/宽度/屈服强度分类及比例策略)</description>
<dependencies>
<dependency>
<groupId>com.klp</groupId>
<artifactId>klp-common</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,99 @@
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.ModStrategyVo;
import com.klp.pltcm.domain.bo.ModStrategyBo;
import com.klp.pltcm.service.IModStrategyService;
import com.klp.common.core.page.TableDataInfo;
/**
* 策略关联
*
* @author klp
* @date 2026-07-06
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/pltcm/strategy")
public class ModStrategyController extends BaseController {
private final IModStrategyService iModStrategyService;
/**
* 查询策略关联列表
*/
@GetMapping("/list")
public TableDataInfo<ModStrategyVo> list(ModStrategyBo bo, PageQuery pageQuery) {
return iModStrategyService.queryPageList(bo, pageQuery);
}
/**
* 导出策略关联列表
*/
@Log(title = "策略关联", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ModStrategyBo bo, HttpServletResponse response) {
List<ModStrategyVo> list = iModStrategyService.queryList(bo);
ExcelUtil.exportExcel(list, "策略关联", ModStrategyVo.class, response);
}
/**
* 获取策略关联详细信息
*
* @param id 主键
*/
@GetMapping("/{id}")
public R<ModStrategyVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(iModStrategyService.queryById(id));
}
/**
* 新增策略关联
*/
@Log(title = "策略关联", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ModStrategyBo bo) {
return toAjax(iModStrategyService.insertByBo(bo));
}
/**
* 修改策略关联
*/
@Log(title = "策略关联", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ModStrategyBo bo) {
return toAjax(iModStrategyService.updateByBo(bo));
}
/**
* 删除策略关联
*
* @param ids 主键串
*/
@Log(title = "策略关联", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iModStrategyService.deleteWithValidByIds(Arrays.asList(ids), true));
}
}

View File

@@ -0,0 +1,99 @@
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.ModThickClassVo;
import com.klp.pltcm.domain.bo.ModThickClassBo;
import com.klp.pltcm.service.IModThickClassService;
import com.klp.common.core.page.TableDataInfo;
/**
* 厚度分类
*
* @author klp
* @date 2026-07-06
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/pltcm/thickClass")
public class ModThickClassController extends BaseController {
private final IModThickClassService iModThickClassService;
/**
* 查询厚度分类列表
*/
@GetMapping("/list")
public TableDataInfo<ModThickClassVo> list(ModThickClassBo bo, PageQuery pageQuery) {
return iModThickClassService.queryPageList(bo, pageQuery);
}
/**
* 导出厚度分类列表
*/
@Log(title = "厚度分类", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ModThickClassBo bo, HttpServletResponse response) {
List<ModThickClassVo> list = iModThickClassService.queryList(bo);
ExcelUtil.exportExcel(list, "厚度分类", ModThickClassVo.class, response);
}
/**
* 获取厚度分类详细信息
*
* @param classId 主键
*/
@GetMapping("/{classId}")
public R<ModThickClassVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long classId) {
return R.ok(iModThickClassService.queryById(classId));
}
/**
* 新增厚度分类
*/
@Log(title = "厚度分类", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ModThickClassBo bo) {
return toAjax(iModThickClassService.insertByBo(bo));
}
/**
* 修改厚度分类
*/
@Log(title = "厚度分类", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ModThickClassBo bo) {
return toAjax(iModThickClassService.updateByBo(bo));
}
/**
* 删除厚度分类
*
* @param classIds 主键串
*/
@Log(title = "厚度分类", businessType = BusinessType.DELETE)
@DeleteMapping("/{classIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] classIds) {
return toAjax(iModThickClassService.deleteWithValidByIds(Arrays.asList(classIds), true));
}
}

View File

@@ -0,0 +1,99 @@
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.ModWidthClassVo;
import com.klp.pltcm.domain.bo.ModWidthClassBo;
import com.klp.pltcm.service.IModWidthClassService;
import com.klp.common.core.page.TableDataInfo;
/**
* 宽度分类
*
* @author klp
* @date 2026-07-06
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/pltcm/widthClass")
public class ModWidthClassController extends BaseController {
private final IModWidthClassService iModWidthClassService;
/**
* 查询宽度分类列表
*/
@GetMapping("/list")
public TableDataInfo<ModWidthClassVo> list(ModWidthClassBo bo, PageQuery pageQuery) {
return iModWidthClassService.queryPageList(bo, pageQuery);
}
/**
* 导出宽度分类列表
*/
@Log(title = "宽度分类", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ModWidthClassBo bo, HttpServletResponse response) {
List<ModWidthClassVo> list = iModWidthClassService.queryList(bo);
ExcelUtil.exportExcel(list, "宽度分类", ModWidthClassVo.class, response);
}
/**
* 获取宽度分类详细信息
*
* @param classId 主键
*/
@GetMapping("/{classId}")
public R<ModWidthClassVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long classId) {
return R.ok(iModWidthClassService.queryById(classId));
}
/**
* 新增宽度分类
*/
@Log(title = "宽度分类", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ModWidthClassBo bo) {
return toAjax(iModWidthClassService.insertByBo(bo));
}
/**
* 修改宽度分类
*/
@Log(title = "宽度分类", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ModWidthClassBo bo) {
return toAjax(iModWidthClassService.updateByBo(bo));
}
/**
* 删除宽度分类
*
* @param classIds 主键串
*/
@Log(title = "宽度分类", businessType = BusinessType.DELETE)
@DeleteMapping("/{classIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] classIds) {
return toAjax(iModWidthClassService.deleteWithValidByIds(Arrays.asList(classIds), true));
}
}

View File

@@ -0,0 +1,99 @@
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.ModYieldStressClassVo;
import com.klp.pltcm.domain.bo.ModYieldStressClassBo;
import com.klp.pltcm.service.IModYieldStressClassService;
import com.klp.common.core.page.TableDataInfo;
/**
* 屈服强度分类
*
* @author klp
* @date 2026-07-06
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/pltcm/yieldStressClass")
public class ModYieldStressClassController extends BaseController {
private final IModYieldStressClassService iModYieldStressClassService;
/**
* 查询屈服强度分类列表
*/
@GetMapping("/list")
public TableDataInfo<ModYieldStressClassVo> list(ModYieldStressClassBo bo, PageQuery pageQuery) {
return iModYieldStressClassService.queryPageList(bo, pageQuery);
}
/**
* 导出屈服强度分类列表
*/
@Log(title = "屈服强度分类", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ModYieldStressClassBo bo, HttpServletResponse response) {
List<ModYieldStressClassVo> list = iModYieldStressClassService.queryList(bo);
ExcelUtil.exportExcel(list, "屈服强度分类", ModYieldStressClassVo.class, response);
}
/**
* 获取屈服强度分类详细信息
*
* @param classId 主键
*/
@GetMapping("/{classId}")
public R<ModYieldStressClassVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long classId) {
return R.ok(iModYieldStressClassService.queryById(classId));
}
/**
* 新增屈服强度分类
*/
@Log(title = "屈服强度分类", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ModYieldStressClassBo bo) {
return toAjax(iModYieldStressClassService.insertByBo(bo));
}
/**
* 修改屈服强度分类
*/
@Log(title = "屈服强度分类", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ModYieldStressClassBo bo) {
return toAjax(iModYieldStressClassService.updateByBo(bo));
}
/**
* 删除屈服强度分类
*
* @param classIds 主键串
*/
@Log(title = "屈服强度分类", businessType = BusinessType.DELETE)
@DeleteMapping("/{classIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] classIds) {
return toAjax(iModYieldStressClassService.deleteWithValidByIds(Arrays.asList(classIds), true));
}
}

View File

@@ -0,0 +1,99 @@
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.SchRatioVo;
import com.klp.pltcm.domain.bo.SchRatioBo;
import com.klp.pltcm.service.ISchRatioService;
import com.klp.common.core.page.TableDataInfo;
/**
* 比例表
*
* @author klp
* @date 2026-07-06
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/pltcm/ratio")
public class SchRatioController extends BaseController {
private final ISchRatioService iSchRatioService;
/**
* 查询比例列表
*/
@GetMapping("/list")
public TableDataInfo<SchRatioVo> list(SchRatioBo bo, PageQuery pageQuery) {
return iSchRatioService.queryPageList(bo, pageQuery);
}
/**
* 导出比例列表
*/
@Log(title = "比例表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SchRatioBo bo, HttpServletResponse response) {
List<SchRatioVo> list = iSchRatioService.queryList(bo);
ExcelUtil.exportExcel(list, "比例表", SchRatioVo.class, response);
}
/**
* 获取比例详细信息
*
* @param id 主键
*/
@GetMapping("/{id}")
public R<SchRatioVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(iSchRatioService.queryById(id));
}
/**
* 新增比例
*/
@Log(title = "比例表", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SchRatioBo bo) {
return toAjax(iSchRatioService.insertByBo(bo));
}
/**
* 修改比例
*/
@Log(title = "比例表", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SchRatioBo bo) {
return toAjax(iSchRatioService.updateByBo(bo));
}
/**
* 删除比例
*
* @param ids 主键串
*/
@Log(title = "比例表", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iSchRatioService.deleteWithValidByIds(Arrays.asList(ids), true));
}
}

View File

@@ -0,0 +1,47 @@
package com.klp.pltcm.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 策略关联表 mod_strategy
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mod_strategy")
public class ModStrategy extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 分类ID
*/
private Long classId;
/**
* 比例表ID
*/
private Long ratioTableid;
/**
* 策略ID
*/
private Long strategyId;
/**
* 删除标志(0正常 1删除)
*/
@TableLogic
private Long delFlag;
}

View File

@@ -0,0 +1,49 @@
package com.klp.pltcm.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 厚度分类 mod_thick_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mod_thick_class")
public class ModThickClass extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 分类ID
*/
@TableId(value = "class_id", type = IdType.INPUT)
private Long classId;
/**
* 边界值
*/
private Double border;
/**
* 描述
*/
private String description;
/**
* 录入日期
*/
private Date insDate;
/**
* 删除标志(0正常 1删除)
*/
@TableLogic
private Long delFlag;
}

View File

@@ -0,0 +1,49 @@
package com.klp.pltcm.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 宽度分类 mod_width_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mod_width_class")
public class ModWidthClass extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 分类ID
*/
@TableId(value = "class_id", type = IdType.INPUT)
private Long classId;
/**
* 边界值
*/
private Double border;
/**
* 描述
*/
private String description;
/**
* 录入日期
*/
private Date insDate;
/**
* 删除标志(0正常 1删除)
*/
@TableLogic
private Long delFlag;
}

View File

@@ -0,0 +1,49 @@
package com.klp.pltcm.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 屈服强度分类 mod_yield_stress_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mod_yield_stress_class")
public class ModYieldStressClass extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 分类ID
*/
@TableId(value = "class_id", type = IdType.INPUT)
private Long classId;
/**
* 边界值
*/
private Double border;
/**
* 描述
*/
private String description;
/**
* 录入日期
*/
private Date insDate;
/**
* 删除标志(0正常 1删除)
*/
@TableLogic
private Long delFlag;
}

View File

@@ -0,0 +1,114 @@
package com.klp.pltcm.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 比例表 sch_ratio
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sch_ratio")
public class SchRatio extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 比例索引
*/
private Long ratioIndex;
/**
* 比例表ID
*/
private Long ratioTableid;
/**
* 厚度ID
*/
private Long thickId;
/**
* 比例
*/
private Double ratio;
/**
* 标准0
*/
private Double stand0;
/**
* 标准1
*/
private Double stand1;
/**
* 标准2
*/
private Double stand2;
/**
* 标准3
*/
private Double stand3;
/**
* 标准4
*/
private Double stand4;
/**
* 标准5
*/
private Double stand5;
/**
* 标准6
*/
private Double stand6;
/**
* 标准7
*/
private Double stand7;
/**
* 标准8
*/
private Double stand8;
/**
* 标准9
*/
private Double stand9;
/**
* 录入日期
*/
private Date insDate;
/**
* 合计(STAND0-STAND9之和)
*/
private Double total;
/**
* 删除标志(0正常 1删除)
*/
@TableLogic
private Long delFlag;
}

View File

@@ -0,0 +1,36 @@
package com.klp.pltcm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 策略关联业务对象 mod_strategy
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ModStrategyBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 分类ID
*/
private Long classId;
/**
* 比例表ID
*/
private Long ratioTableid;
/**
* 策略ID
*/
private Long strategyId;
}

View File

@@ -0,0 +1,38 @@
package com.klp.pltcm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 厚度分类业务对象 mod_thick_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ModThickClassBo extends BaseEntity {
/**
* 分类ID
*/
private Long classId;
/**
* 边界值
*/
private Double border;
/**
* 描述
*/
private String description;
/**
* 录入日期
*/
private Date insDate;
}

View File

@@ -0,0 +1,38 @@
package com.klp.pltcm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 宽度分类业务对象 mod_width_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ModWidthClassBo extends BaseEntity {
/**
* 分类ID
*/
private Long classId;
/**
* 边界值
*/
private Double border;
/**
* 描述
*/
private String description;
/**
* 录入日期
*/
private Date insDate;
}

View File

@@ -0,0 +1,38 @@
package com.klp.pltcm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 屈服强度分类业务对象 mod_yield_stress_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ModYieldStressClassBo extends BaseEntity {
/**
* 分类ID
*/
private Long classId;
/**
* 边界值
*/
private Double border;
/**
* 描述
*/
private String description;
/**
* 录入日期
*/
private Date insDate;
}

View File

@@ -0,0 +1,103 @@
package com.klp.pltcm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 比例表业务对象 sch_ratio
*
* @author klp
* @date 2026-07-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class SchRatioBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 比例索引
*/
private Long ratioIndex;
/**
* 比例表ID
*/
private Long ratioTableid;
/**
* 厚度ID
*/
private Long thickId;
/**
* 比例
*/
private Double ratio;
/**
* 标准0
*/
private Double stand0;
/**
* 标准1
*/
private Double stand1;
/**
* 标准2
*/
private Double stand2;
/**
* 标准3
*/
private Double stand3;
/**
* 标准4
*/
private Double stand4;
/**
* 标准5
*/
private Double stand5;
/**
* 标准6
*/
private Double stand6;
/**
* 标准7
*/
private Double stand7;
/**
* 标准8
*/
private Double stand8;
/**
* 标准9
*/
private Double stand9;
/**
* 录入日期
*/
private Date insDate;
/**
* 合计
*/
private Double total;
}

View File

@@ -0,0 +1,38 @@
package com.klp.pltcm.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
/**
* 策略关联视图对象 mod_strategy
*
* @author klp
* @date 2026-07-06
*/
@Data
@ExcelIgnoreUnannotated
public class ModStrategyVo {
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "主键ID")
private Long id;
@ExcelProperty(value = "分类ID")
private Long classId;
@ExcelProperty(value = "比例表ID")
private Long ratioTableid;
@ExcelProperty(value = "策略ID")
private Long strategyId;
@ExcelProperty(value = "创建时间")
private Date createTime;
@ExcelProperty(value = "更新时间")
private Date updateTime;
}

View File

@@ -0,0 +1,38 @@
package com.klp.pltcm.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
/**
* 厚度分类视图对象 mod_thick_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@ExcelIgnoreUnannotated
public class ModThickClassVo {
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "分类ID")
private Long classId;
@ExcelProperty(value = "边界值")
private Double border;
@ExcelProperty(value = "描述")
private String description;
@ExcelProperty(value = "录入日期")
private Date insDate;
@ExcelProperty(value = "创建时间")
private Date createTime;
@ExcelProperty(value = "更新时间")
private Date updateTime;
}

View File

@@ -0,0 +1,38 @@
package com.klp.pltcm.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
/**
* 宽度分类视图对象 mod_width_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@ExcelIgnoreUnannotated
public class ModWidthClassVo {
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "分类ID")
private Long classId;
@ExcelProperty(value = "边界值")
private Double border;
@ExcelProperty(value = "描述")
private String description;
@ExcelProperty(value = "录入日期")
private Date insDate;
@ExcelProperty(value = "创建时间")
private Date createTime;
@ExcelProperty(value = "更新时间")
private Date updateTime;
}

View File

@@ -0,0 +1,38 @@
package com.klp.pltcm.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
/**
* 屈服强度分类视图对象 mod_yield_stress_class
*
* @author klp
* @date 2026-07-06
*/
@Data
@ExcelIgnoreUnannotated
public class ModYieldStressClassVo {
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "分类ID")
private Long classId;
@ExcelProperty(value = "边界值")
private Double border;
@ExcelProperty(value = "描述")
private String description;
@ExcelProperty(value = "录入日期")
private Date insDate;
@ExcelProperty(value = "创建时间")
private Date createTime;
@ExcelProperty(value = "更新时间")
private Date updateTime;
}

View File

@@ -0,0 +1,77 @@
package com.klp.pltcm.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
/**
* 比例表视图对象 sch_ratio
*
* @author klp
* @date 2026-07-06
*/
@Data
@ExcelIgnoreUnannotated
public class SchRatioVo {
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "主键ID")
private Long id;
@ExcelProperty(value = "比例索引")
private Long ratioIndex;
@ExcelProperty(value = "比例表ID")
private Long ratioTableid;
@ExcelProperty(value = "厚度ID")
private Long thickId;
@ExcelProperty(value = "比例")
private Double ratio;
@ExcelProperty(value = "标准0")
private Double stand0;
@ExcelProperty(value = "标准1")
private Double stand1;
@ExcelProperty(value = "标准2")
private Double stand2;
@ExcelProperty(value = "标准3")
private Double stand3;
@ExcelProperty(value = "标准4")
private Double stand4;
@ExcelProperty(value = "标准5")
private Double stand5;
@ExcelProperty(value = "标准6")
private Double stand6;
@ExcelProperty(value = "标准7")
private Double stand7;
@ExcelProperty(value = "标准8")
private Double stand8;
@ExcelProperty(value = "标准9")
private Double stand9;
@ExcelProperty(value = "录入日期")
private Date insDate;
@ExcelProperty(value = "合计")
private Double total;
@ExcelProperty(value = "创建时间")
private Date createTime;
@ExcelProperty(value = "更新时间")
private Date updateTime;
}

View File

@@ -0,0 +1,15 @@
package com.klp.pltcm.mapper;
import com.klp.pltcm.domain.ModStrategy;
import com.klp.pltcm.domain.vo.ModStrategyVo;
import com.klp.common.core.mapper.BaseMapperPlus;
/**
* 策略关联Mapper接口
*
* @author klp
* @date 2026-07-06
*/
public interface ModStrategyMapper extends BaseMapperPlus<ModStrategyMapper, ModStrategy, ModStrategyVo> {
}

View File

@@ -0,0 +1,15 @@
package com.klp.pltcm.mapper;
import com.klp.pltcm.domain.ModThickClass;
import com.klp.pltcm.domain.vo.ModThickClassVo;
import com.klp.common.core.mapper.BaseMapperPlus;
/**
* 厚度分类Mapper接口
*
* @author klp
* @date 2026-07-06
*/
public interface ModThickClassMapper extends BaseMapperPlus<ModThickClassMapper, ModThickClass, ModThickClassVo> {
}

View File

@@ -0,0 +1,15 @@
package com.klp.pltcm.mapper;
import com.klp.pltcm.domain.ModWidthClass;
import com.klp.pltcm.domain.vo.ModWidthClassVo;
import com.klp.common.core.mapper.BaseMapperPlus;
/**
* 宽度分类Mapper接口
*
* @author klp
* @date 2026-07-06
*/
public interface ModWidthClassMapper extends BaseMapperPlus<ModWidthClassMapper, ModWidthClass, ModWidthClassVo> {
}

View File

@@ -0,0 +1,15 @@
package com.klp.pltcm.mapper;
import com.klp.pltcm.domain.ModYieldStressClass;
import com.klp.pltcm.domain.vo.ModYieldStressClassVo;
import com.klp.common.core.mapper.BaseMapperPlus;
/**
* 屈服强度分类Mapper接口
*
* @author klp
* @date 2026-07-06
*/
public interface ModYieldStressClassMapper extends BaseMapperPlus<ModYieldStressClassMapper, ModYieldStressClass, ModYieldStressClassVo> {
}

View File

@@ -0,0 +1,15 @@
package com.klp.pltcm.mapper;
import com.klp.pltcm.domain.SchRatio;
import com.klp.pltcm.domain.vo.SchRatioVo;
import com.klp.common.core.mapper.BaseMapperPlus;
/**
* 比例表Mapper接口
*
* @author klp
* @date 2026-07-06
*/
public interface SchRatioMapper extends BaseMapperPlus<SchRatioMapper, SchRatio, SchRatioVo> {
}

View File

@@ -0,0 +1,49 @@
package com.klp.pltcm.service;
import com.klp.pltcm.domain.ModStrategy;
import com.klp.pltcm.domain.vo.ModStrategyVo;
import com.klp.pltcm.domain.bo.ModStrategyBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 策略关联Service接口
*
* @author klp
* @date 2026-07-06
*/
public interface IModStrategyService {
/**
* 查询策略关联
*/
ModStrategyVo queryById(Long id);
/**
* 查询策略关联列表
*/
TableDataInfo<ModStrategyVo> queryPageList(ModStrategyBo bo, PageQuery pageQuery);
/**
* 查询策略关联列表
*/
List<ModStrategyVo> queryList(ModStrategyBo bo);
/**
* 新增策略关联
*/
Boolean insertByBo(ModStrategyBo bo);
/**
* 修改策略关联
*/
Boolean updateByBo(ModStrategyBo bo);
/**
* 校验并批量删除策略关联信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.pltcm.service;
import com.klp.pltcm.domain.ModThickClass;
import com.klp.pltcm.domain.vo.ModThickClassVo;
import com.klp.pltcm.domain.bo.ModThickClassBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 厚度分类Service接口
*
* @author klp
* @date 2026-07-06
*/
public interface IModThickClassService {
/**
* 查询厚度分类
*/
ModThickClassVo queryById(Long classId);
/**
* 查询厚度分类列表
*/
TableDataInfo<ModThickClassVo> queryPageList(ModThickClassBo bo, PageQuery pageQuery);
/**
* 查询厚度分类列表
*/
List<ModThickClassVo> queryList(ModThickClassBo bo);
/**
* 新增厚度分类
*/
Boolean insertByBo(ModThickClassBo bo);
/**
* 修改厚度分类
*/
Boolean updateByBo(ModThickClassBo bo);
/**
* 校验并批量删除厚度分类信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.pltcm.service;
import com.klp.pltcm.domain.ModWidthClass;
import com.klp.pltcm.domain.vo.ModWidthClassVo;
import com.klp.pltcm.domain.bo.ModWidthClassBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 宽度分类Service接口
*
* @author klp
* @date 2026-07-06
*/
public interface IModWidthClassService {
/**
* 查询宽度分类
*/
ModWidthClassVo queryById(Long classId);
/**
* 查询宽度分类列表
*/
TableDataInfo<ModWidthClassVo> queryPageList(ModWidthClassBo bo, PageQuery pageQuery);
/**
* 查询宽度分类列表
*/
List<ModWidthClassVo> queryList(ModWidthClassBo bo);
/**
* 新增宽度分类
*/
Boolean insertByBo(ModWidthClassBo bo);
/**
* 修改宽度分类
*/
Boolean updateByBo(ModWidthClassBo bo);
/**
* 校验并批量删除宽度分类信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.pltcm.service;
import com.klp.pltcm.domain.ModYieldStressClass;
import com.klp.pltcm.domain.vo.ModYieldStressClassVo;
import com.klp.pltcm.domain.bo.ModYieldStressClassBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 屈服强度分类Service接口
*
* @author klp
* @date 2026-07-06
*/
public interface IModYieldStressClassService {
/**
* 查询屈服强度分类
*/
ModYieldStressClassVo queryById(Long classId);
/**
* 查询屈服强度分类列表
*/
TableDataInfo<ModYieldStressClassVo> queryPageList(ModYieldStressClassBo bo, PageQuery pageQuery);
/**
* 查询屈服强度分类列表
*/
List<ModYieldStressClassVo> queryList(ModYieldStressClassBo bo);
/**
* 新增屈服强度分类
*/
Boolean insertByBo(ModYieldStressClassBo bo);
/**
* 修改屈服强度分类
*/
Boolean updateByBo(ModYieldStressClassBo bo);
/**
* 校验并批量删除屈服强度分类信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.pltcm.service;
import com.klp.pltcm.domain.SchRatio;
import com.klp.pltcm.domain.vo.SchRatioVo;
import com.klp.pltcm.domain.bo.SchRatioBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 比例表Service接口
*
* @author klp
* @date 2026-07-06
*/
public interface ISchRatioService {
/**
* 查询比例
*/
SchRatioVo queryById(Long id);
/**
* 查询比例列表
*/
TableDataInfo<SchRatioVo> queryPageList(SchRatioBo bo, PageQuery pageQuery);
/**
* 查询比例列表
*/
List<SchRatioVo> queryList(SchRatioBo bo);
/**
* 新增比例
*/
Boolean insertByBo(SchRatioBo bo);
/**
* 修改比例
*/
Boolean updateByBo(SchRatioBo bo);
/**
* 校验并批量删除比例信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,83 @@
package com.klp.pltcm.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.pltcm.domain.bo.ModStrategyBo;
import com.klp.pltcm.domain.vo.ModStrategyVo;
import com.klp.pltcm.domain.ModStrategy;
import com.klp.pltcm.mapper.ModStrategyMapper;
import com.klp.pltcm.service.IModStrategyService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 策略关联Service业务层处理
*
* @author klp
* @date 2026-07-06
*/
@RequiredArgsConstructor
@Service
public class ModStrategyServiceImpl implements IModStrategyService {
private final ModStrategyMapper baseMapper;
@Override
public ModStrategyVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@Override
public TableDataInfo<ModStrategyVo> queryPageList(ModStrategyBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<ModStrategy> lqw = buildQueryWrapper(bo);
Page<ModStrategyVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public List<ModStrategyVo> queryList(ModStrategyBo bo) {
LambdaQueryWrapper<ModStrategy> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<ModStrategy> buildQueryWrapper(ModStrategyBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ModStrategy> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getClassId() != null, ModStrategy::getClassId, bo.getClassId());
lqw.eq(bo.getRatioTableid() != null, ModStrategy::getRatioTableid, bo.getRatioTableid());
lqw.eq(bo.getStrategyId() != null, ModStrategy::getStrategyId, bo.getStrategyId());
return lqw;
}
@Override
public Boolean insertByBo(ModStrategyBo bo) {
ModStrategy add = BeanUtil.toBean(bo, ModStrategy.class);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
@Override
public Boolean updateByBo(ModStrategyBo bo) {
ModStrategy update = BeanUtil.toBean(bo, ModStrategy.class);
return baseMapper.updateById(update) > 0;
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
// TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,85 @@
package com.klp.pltcm.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.pltcm.domain.bo.ModThickClassBo;
import com.klp.pltcm.domain.vo.ModThickClassVo;
import com.klp.pltcm.domain.ModThickClass;
import com.klp.pltcm.mapper.ModThickClassMapper;
import com.klp.pltcm.service.IModThickClassService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 厚度分类Service业务层处理
*
* @author klp
* @date 2026-07-06
*/
@RequiredArgsConstructor
@Service
public class ModThickClassServiceImpl implements IModThickClassService {
private final ModThickClassMapper baseMapper;
@Override
public ModThickClassVo queryById(Long classId) {
return baseMapper.selectVoById(classId);
}
@Override
public TableDataInfo<ModThickClassVo> queryPageList(ModThickClassBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<ModThickClass> lqw = buildQueryWrapper(bo);
Page<ModThickClassVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public List<ModThickClassVo> queryList(ModThickClassBo bo) {
LambdaQueryWrapper<ModThickClass> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<ModThickClass> buildQueryWrapper(ModThickClassBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ModThickClass> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getClassId() != null, ModThickClass::getClassId, bo.getClassId());
lqw.eq(bo.getBorder() != null, ModThickClass::getBorder, bo.getBorder());
lqw.like(StringUtils.isNotBlank(bo.getDescription()), ModThickClass::getDescription, bo.getDescription());
lqw.orderByAsc(ModThickClass::getClassId);
return lqw;
}
@Override
public Boolean insertByBo(ModThickClassBo bo) {
ModThickClass add = BeanUtil.toBean(bo, ModThickClass.class);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setClassId(add.getClassId());
}
return flag;
}
@Override
public Boolean updateByBo(ModThickClassBo bo) {
ModThickClass update = BeanUtil.toBean(bo, ModThickClass.class);
return baseMapper.updateById(update) > 0;
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
// TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,85 @@
package com.klp.pltcm.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.pltcm.domain.bo.ModWidthClassBo;
import com.klp.pltcm.domain.vo.ModWidthClassVo;
import com.klp.pltcm.domain.ModWidthClass;
import com.klp.pltcm.mapper.ModWidthClassMapper;
import com.klp.pltcm.service.IModWidthClassService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 宽度分类Service业务层处理
*
* @author klp
* @date 2026-07-06
*/
@RequiredArgsConstructor
@Service
public class ModWidthClassServiceImpl implements IModWidthClassService {
private final ModWidthClassMapper baseMapper;
@Override
public ModWidthClassVo queryById(Long classId) {
return baseMapper.selectVoById(classId);
}
@Override
public TableDataInfo<ModWidthClassVo> queryPageList(ModWidthClassBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<ModWidthClass> lqw = buildQueryWrapper(bo);
Page<ModWidthClassVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public List<ModWidthClassVo> queryList(ModWidthClassBo bo) {
LambdaQueryWrapper<ModWidthClass> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<ModWidthClass> buildQueryWrapper(ModWidthClassBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ModWidthClass> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getClassId() != null, ModWidthClass::getClassId, bo.getClassId());
lqw.eq(bo.getBorder() != null, ModWidthClass::getBorder, bo.getBorder());
lqw.like(StringUtils.isNotBlank(bo.getDescription()), ModWidthClass::getDescription, bo.getDescription());
lqw.orderByAsc(ModWidthClass::getClassId);
return lqw;
}
@Override
public Boolean insertByBo(ModWidthClassBo bo) {
ModWidthClass add = BeanUtil.toBean(bo, ModWidthClass.class);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setClassId(add.getClassId());
}
return flag;
}
@Override
public Boolean updateByBo(ModWidthClassBo bo) {
ModWidthClass update = BeanUtil.toBean(bo, ModWidthClass.class);
return baseMapper.updateById(update) > 0;
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
// TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,85 @@
package com.klp.pltcm.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.pltcm.domain.bo.ModYieldStressClassBo;
import com.klp.pltcm.domain.vo.ModYieldStressClassVo;
import com.klp.pltcm.domain.ModYieldStressClass;
import com.klp.pltcm.mapper.ModYieldStressClassMapper;
import com.klp.pltcm.service.IModYieldStressClassService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 屈服强度分类Service业务层处理
*
* @author klp
* @date 2026-07-06
*/
@RequiredArgsConstructor
@Service
public class ModYieldStressClassServiceImpl implements IModYieldStressClassService {
private final ModYieldStressClassMapper baseMapper;
@Override
public ModYieldStressClassVo queryById(Long classId) {
return baseMapper.selectVoById(classId);
}
@Override
public TableDataInfo<ModYieldStressClassVo> queryPageList(ModYieldStressClassBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<ModYieldStressClass> lqw = buildQueryWrapper(bo);
Page<ModYieldStressClassVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public List<ModYieldStressClassVo> queryList(ModYieldStressClassBo bo) {
LambdaQueryWrapper<ModYieldStressClass> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<ModYieldStressClass> buildQueryWrapper(ModYieldStressClassBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ModYieldStressClass> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getClassId() != null, ModYieldStressClass::getClassId, bo.getClassId());
lqw.eq(bo.getBorder() != null, ModYieldStressClass::getBorder, bo.getBorder());
lqw.like(StringUtils.isNotBlank(bo.getDescription()), ModYieldStressClass::getDescription, bo.getDescription());
lqw.orderByAsc(ModYieldStressClass::getClassId);
return lqw;
}
@Override
public Boolean insertByBo(ModYieldStressClassBo bo) {
ModYieldStressClass add = BeanUtil.toBean(bo, ModYieldStressClass.class);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setClassId(add.getClassId());
}
return flag;
}
@Override
public Boolean updateByBo(ModYieldStressClassBo bo) {
ModYieldStressClass update = BeanUtil.toBean(bo, ModYieldStressClass.class);
return baseMapper.updateById(update) > 0;
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
// TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,104 @@
package com.klp.pltcm.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.pltcm.domain.bo.SchRatioBo;
import com.klp.pltcm.domain.vo.SchRatioVo;
import com.klp.pltcm.domain.SchRatio;
import com.klp.pltcm.mapper.SchRatioMapper;
import com.klp.pltcm.service.ISchRatioService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 比例表Service业务层处理
*
* @author klp
* @date 2026-07-06
*/
@RequiredArgsConstructor
@Service
public class SchRatioServiceImpl implements ISchRatioService {
private final SchRatioMapper baseMapper;
@Override
public SchRatioVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@Override
public TableDataInfo<SchRatioVo> queryPageList(SchRatioBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SchRatio> lqw = buildQueryWrapper(bo);
Page<SchRatioVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public List<SchRatioVo> queryList(SchRatioBo bo) {
LambdaQueryWrapper<SchRatio> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<SchRatio> buildQueryWrapper(SchRatioBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SchRatio> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getRatioIndex() != null, SchRatio::getRatioIndex, bo.getRatioIndex());
lqw.eq(bo.getRatioTableid() != null, SchRatio::getRatioTableid, bo.getRatioTableid());
lqw.eq(bo.getThickId() != null, SchRatio::getThickId, bo.getThickId());
lqw.eq(bo.getRatio() != null, SchRatio::getRatio, bo.getRatio());
return lqw;
}
@Override
public Boolean insertByBo(SchRatioBo bo) {
SchRatio add = BeanUtil.toBean(bo, SchRatio.class);
// 替代Oracle触发器: 计算STAND0-STAND9的合计值
calculateTotal(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
@Override
public Boolean updateByBo(SchRatioBo bo) {
SchRatio update = BeanUtil.toBean(bo, SchRatio.class);
// 替代Oracle触发器: 计算STAND0-STAND9的合计值
calculateTotal(update);
return baseMapper.updateById(update) > 0;
}
/**
* 计算STAND0-STAND9之和 (替代Oracle触发器 TRG_BEF_SCH_RATIO)
*/
private void calculateTotal(SchRatio entity) {
double total = nvl(entity.getStand0()) + nvl(entity.getStand1())
+ nvl(entity.getStand2()) + nvl(entity.getStand3())
+ nvl(entity.getStand4()) + nvl(entity.getStand5())
+ nvl(entity.getStand6()) + nvl(entity.getStand7())
+ nvl(entity.getStand8()) + nvl(entity.getStand9());
entity.setTotal(total);
}
private double nvl(Double val) {
return val != null ? val : 0D;
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
// TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.pltcm.mapper.ModStrategyMapper">
<resultMap type="com.klp.pltcm.domain.ModStrategy" id="ModStrategyResult">
<result property="id" column="id"/>
<result property="classId" column="class_id"/>
<result property="ratioTableid" column="ratio_tableid"/>
<result property="strategyId" column="strategy_id"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.pltcm.mapper.ModThickClassMapper">
<resultMap type="com.klp.pltcm.domain.ModThickClass" id="ModThickClassResult">
<result property="classId" column="class_id"/>
<result property="border" column="border"/>
<result property="description" column="description"/>
<result property="insDate" column="ins_date"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.pltcm.mapper.ModWidthClassMapper">
<resultMap type="com.klp.pltcm.domain.ModWidthClass" id="ModWidthClassResult">
<result property="classId" column="class_id"/>
<result property="border" column="border"/>
<result property="description" column="description"/>
<result property="insDate" column="ins_date"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.pltcm.mapper.ModYieldStressClassMapper">
<resultMap type="com.klp.pltcm.domain.ModYieldStressClass" id="ModYieldStressClassResult">
<result property="classId" column="class_id"/>
<result property="border" column="border"/>
<result property="description" column="description"/>
<result property="insDate" column="ins_date"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.pltcm.mapper.SchRatioMapper">
<resultMap type="com.klp.pltcm.domain.SchRatio" id="SchRatioResult">
<result property="id" column="id"/>
<result property="ratioIndex" column="ratio_index"/>
<result property="ratioTableid" column="ratio_tableid"/>
<result property="thickId" column="thick_id"/>
<result property="ratio" column="ratio"/>
<result property="stand0" column="stand0"/>
<result property="stand1" column="stand1"/>
<result property="stand2" column="stand2"/>
<result property="stand3" column="stand3"/>
<result property="stand4" column="stand4"/>
<result property="stand5" column="stand5"/>
<result property="stand6" column="stand6"/>
<result property="stand7" column="stand7"/>
<result property="stand8" column="stand8"/>
<result property="stand9" column="stand9"/>
<result property="insDate" column="ins_date"/>
<result property="total" column="total"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
</mapper>

View File

@@ -450,6 +450,7 @@
<module>klp-cost</module>
<module>klp-flow</module>
<module>klp-pt</module>
<module>klp-pltcm</module>
</modules>
<packaging>pom</packaging>