diff --git a/klp-pt/src/main/java/com/klp/pt/controller/PtProductSurfaceSpecController.java b/klp-pt/src/main/java/com/klp/pt/controller/PtProductSurfaceSpecController.java new file mode 100644 index 000000000..177134c6c --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/controller/PtProductSurfaceSpecController.java @@ -0,0 +1,99 @@ +package com.klp.pt.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.pt.domain.vo.PtProductSurfaceSpecVo; +import com.klp.pt.domain.bo.PtProductSurfaceSpecBo; +import com.klp.pt.service.IPtProductSurfaceSpecService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 产品面质量明细 + * + * @author klp + * @date 2026-07-02 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/pt/productSurfaceSpec") +public class PtProductSurfaceSpecController extends BaseController { + + private final IPtProductSurfaceSpecService iPtProductSurfaceSpecService; + + /** + * 查询产品面质量明细列表 + */ + @GetMapping("/list") + public TableDataInfo list(PtProductSurfaceSpecBo bo, PageQuery pageQuery) { + return iPtProductSurfaceSpecService.queryPageList(bo, pageQuery); + } + + /** + * 导出产品面质量明细列表 + */ + @Log(title = "产品面质量明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(PtProductSurfaceSpecBo bo, HttpServletResponse response) { + List list = iPtProductSurfaceSpecService.queryList(bo); + ExcelUtil.exportExcel(list, "产品面质量明细", PtProductSurfaceSpecVo.class, response); + } + + /** + * 获取产品面质量明细详细信息 + * + * @param surfaceId 主键 + */ + @GetMapping("/{surfaceId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long surfaceId) { + return R.ok(iPtProductSurfaceSpecService.queryById(surfaceId)); + } + + /** + * 新增产品面质量明细 + */ + @Log(title = "产品面质量明细", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody PtProductSurfaceSpecBo bo) { + return toAjax(iPtProductSurfaceSpecService.insertByBo(bo)); + } + + /** + * 修改产品面质量明细 + */ + @Log(title = "产品面质量明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody PtProductSurfaceSpecBo bo) { + return toAjax(iPtProductSurfaceSpecService.updateByBo(bo)); + } + + /** + * 删除产品面质量明细 + * + * @param surfaceIds 主键串 + */ + @Log(title = "产品面质量明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{surfaceIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] surfaceIds) { + return toAjax(iPtProductSurfaceSpecService.deleteWithValidByIds(Arrays.asList(surfaceIds), true)); + } +} diff --git a/klp-pt/src/main/java/com/klp/pt/controller/PtProductToleranceController.java b/klp-pt/src/main/java/com/klp/pt/controller/PtProductToleranceController.java new file mode 100644 index 000000000..c45a70796 --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/controller/PtProductToleranceController.java @@ -0,0 +1,100 @@ +package com.klp.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.domain.vo.PtProductToleranceVo; +import com.klp.domain.bo.PtProductToleranceBo; +import com.klp.service.IPtProductToleranceService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 产品尺寸公差明细 + * + * @author klp + * @date 2026-07-02 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/productTolerance") +public class PtProductToleranceController extends BaseController { + + private final IPtProductToleranceService iPtProductToleranceService; + + /** + * 查询产品尺寸公差明细列表 + */ + @GetMapping("/list") + public TableDataInfo list(PtProductToleranceBo bo, PageQuery pageQuery) { + return iPtProductToleranceService.queryPageList(bo, pageQuery); + } + + /** + * 导出产品尺寸公差明细列表 + */ + @Log(title = "产品尺寸公差明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(PtProductToleranceBo bo, HttpServletResponse response) { + List list = iPtProductToleranceService.queryList(bo); + ExcelUtil.exportExcel(list, "产品尺寸公差明细", PtProductToleranceVo.class, response); + } + + /** + * 获取产品尺寸公差明细详细信息 + * + * @param toleranceId 主键 + */ + @GetMapping("/{toleranceId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long toleranceId) { + return R.ok(iPtProductToleranceService.queryById(toleranceId)); + } + + /** + * 新增产品尺寸公差明细 + */ + @Log(title = "产品尺寸公差明细", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody PtProductToleranceBo bo) { + return toAjax(iPtProductToleranceService.insertByBo(bo)); + } + + /** + * 修改产品尺寸公差明细 + */ + @Log(title = "产品尺寸公差明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody PtProductToleranceBo bo) { + return toAjax(iPtProductToleranceService.updateByBo(bo)); + } + + /** + * 删除产品尺寸公差明细 + * + * @param toleranceIds 主键串 + */ + @Log(title = "产品尺寸公差明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{toleranceIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] toleranceIds) { + return toAjax(iPtProductToleranceService.deleteWithValidByIds(Arrays.asList(toleranceIds), true)); + } +} + diff --git a/klp-pt/src/main/java/com/klp/pt/domain/PtProductSurfaceSpec.java b/klp-pt/src/main/java/com/klp/pt/domain/PtProductSurfaceSpec.java new file mode 100644 index 000000000..6e3190d42 --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/domain/PtProductSurfaceSpec.java @@ -0,0 +1,70 @@ +package com.klp.pt.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 产品面质量明细对象 pt_product_surface_spec + * + * @author klp + * @date 2026-07-02 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("pt_product_surface_spec") +public class PtProductSurfaceSpec extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * + */ + @TableId(value = "surface_id") + private Long surfaceId; + /** + * 关联产品标准ID + */ + private Long standardId; + /** + * FB/FC/FD + */ + private String surfaceQualityGrade; + /** + * + */ + private BigDecimal roughnessRaMin; + /** + * + */ + private BigDecimal roughnessRaMax; + /** + * 干/轻油/重油 + */ + private String oilingType; + /** + * + */ + private BigDecimal oilingWeightMin; + /** + * + */ + private BigDecimal oilingWeightMax; + /** + * 允许/禁止缺陷 + */ + private String defectDesc; + /** + * + */ + private String remark; + /** + * + */ + @TableLogic + private Long delFlag; + +} diff --git a/klp-pt/src/main/java/com/klp/pt/domain/PtProductTolerance.java b/klp-pt/src/main/java/com/klp/pt/domain/PtProductTolerance.java new file mode 100644 index 000000000..e52493e34 --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/domain/PtProductTolerance.java @@ -0,0 +1,86 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 产品尺寸公差明细对象 pt_product_tolerance + * + * @author klp + * @date 2026-07-02 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("pt_product_tolerance") +public class PtProductTolerance extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * + */ + @TableId(value = "tolerance_id") + private Long toleranceId; + /** + * 关联产品标准ID + */ + private Long standardId; + /** + * THICKNESS/WIDTH/FLATNESS + */ + private String toleranceType; + /** + * 普通/精密 + */ + private String toleranceGrade; + /** + * + */ + private BigDecimal applicableThickMin; + /** + * + */ + private BigDecimal applicableThickMax; + /** + * + */ + private BigDecimal applicableWidthMin; + /** + * + */ + private BigDecimal applicableWidthMax; + /** + * 上偏差 + */ + private BigDecimal toleranceValuePlus; + /** + * 下偏差 + */ + private BigDecimal toleranceValueMinus; + /** + * + */ + private String toleranceUnit; + /** + * + */ + private String measurementStandard; + /** + * + */ + private Long sortOrder; + /** + * + */ + private String remark; + /** + * + */ + @TableLogic + private Long delFlag; + +} diff --git a/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductStandardBo.java b/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductStandardBo.java index 9a9672e26..169be687a 100644 --- a/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductStandardBo.java +++ b/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductStandardBo.java @@ -68,11 +68,13 @@ public class PtProductStandardBo extends BaseEntity { /** * 生效日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date effectiveDate; /** * 失效日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date expireDate; /** diff --git a/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductSurfaceSpecBo.java b/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductSurfaceSpecBo.java new file mode 100644 index 000000000..f4d8618a5 --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductSurfaceSpecBo.java @@ -0,0 +1,72 @@ +package com.klp.pt.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 产品面质量明细业务对象 pt_product_surface_spec + * + * @author klp + * @date 2026-07-02 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class PtProductSurfaceSpecBo extends BaseEntity { + + /** + * + */ + private Long surfaceId; + + /** + * 关联产品标准ID + */ + private Long standardId; + + /** + * FB/FC/FD + */ + private String surfaceQualityGrade; + + /** + * + */ + private BigDecimal roughnessRaMin; + + /** + * + */ + private BigDecimal roughnessRaMax; + + /** + * 干/轻油/重油 + */ + private String oilingType; + + /** + * + */ + private BigDecimal oilingWeightMin; + + /** + * + */ + private BigDecimal oilingWeightMax; + + /** + * 允许/禁止缺陷 + */ + private String defectDesc; + + /** + * + */ + private String remark; + + +} diff --git a/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductToleranceBo.java b/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductToleranceBo.java new file mode 100644 index 000000000..854a5da01 --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/domain/bo/PtProductToleranceBo.java @@ -0,0 +1,93 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 产品尺寸公差明细业务对象 pt_product_tolerance + * + * @author klp + * @date 2026-07-02 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class PtProductToleranceBo extends BaseEntity { + + /** + * + */ + private Long toleranceId; + + /** + * 关联产品标准ID + */ + private Long standardId; + + /** + * THICKNESS/WIDTH/FLATNESS + */ + private String toleranceType; + + /** + * 普通/精密 + */ + private String toleranceGrade; + + /** + * + */ + private BigDecimal applicableThickMin; + + /** + * + */ + private BigDecimal applicableThickMax; + + /** + * + */ + private BigDecimal applicableWidthMin; + + /** + * + */ + private BigDecimal applicableWidthMax; + + /** + * 上偏差 + */ + private BigDecimal toleranceValuePlus; + + /** + * 下偏差 + */ + private BigDecimal toleranceValueMinus; + + /** + * + */ + private String toleranceUnit; + + /** + * + */ + private String measurementStandard; + + /** + * + */ + private Long sortOrder; + + /** + * + */ + private String remark; + + +} + diff --git a/klp-pt/src/main/java/com/klp/pt/domain/vo/PtProductSurfaceSpecVo.java b/klp-pt/src/main/java/com/klp/pt/domain/vo/PtProductSurfaceSpecVo.java new file mode 100644 index 000000000..93dac1243 --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/domain/vo/PtProductSurfaceSpecVo.java @@ -0,0 +1,84 @@ +package com.klp.pt.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 产品面质量明细视图对象 pt_product_surface_spec + * + * @author klp + * @date 2026-07-02 + */ +@Data +@ExcelIgnoreUnannotated +public class PtProductSurfaceSpecVo { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long surfaceId; + + /** + * 关联产品标准ID + */ + @ExcelProperty(value = "关联产品标准ID") + private Long standardId; + + /** + * FB/FC/FD + */ + @ExcelProperty(value = "FB/FC/FD") + private String surfaceQualityGrade; + + /** + * + */ + @ExcelProperty(value = "") + private BigDecimal roughnessRaMin; + + /** + * + */ + @ExcelProperty(value = "") + private BigDecimal roughnessRaMax; + + /** + * 干/轻油/重油 + */ + @ExcelProperty(value = "干/轻油/重油") + private String oilingType; + + /** + * + */ + @ExcelProperty(value = "") + private BigDecimal oilingWeightMin; + + /** + * + */ + @ExcelProperty(value = "") + private BigDecimal oilingWeightMax; + + /** + * 允许/禁止缺陷 + */ + @ExcelProperty(value = "允许/禁止缺陷") + private String defectDesc; + + /** + * + */ + @ExcelProperty(value = "") + private String remark; + + +} diff --git a/klp-pt/src/main/java/com/klp/pt/domain/vo/PtProductToleranceVo.java b/klp-pt/src/main/java/com/klp/pt/domain/vo/PtProductToleranceVo.java new file mode 100644 index 000000000..cdb472bbc --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/domain/vo/PtProductToleranceVo.java @@ -0,0 +1,108 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 产品尺寸公差明细视图对象 pt_product_tolerance + * + * @author klp + * @date 2026-07-02 + */ +@Data +@ExcelIgnoreUnannotated +public class PtProductToleranceVo { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long toleranceId; + + /** + * 关联产品标准ID + */ + @ExcelProperty(value = "关联产品标准ID") + private Long standardId; + + /** + * THICKNESS/WIDTH/FLATNESS + */ + @ExcelProperty(value = "THICKNESS/WIDTH/FLATNESS") + private String toleranceType; + + /** + * 普通/精密 + */ + @ExcelProperty(value = "普通/精密") + private String toleranceGrade; + + /** + * + */ + @ExcelProperty(value = "") + private BigDecimal applicableThickMin; + + /** + * + */ + @ExcelProperty(value = "") + private BigDecimal applicableThickMax; + + /** + * + */ + @ExcelProperty(value = "") + private BigDecimal applicableWidthMin; + + /** + * + */ + @ExcelProperty(value = "") + private BigDecimal applicableWidthMax; + + /** + * 上偏差 + */ + @ExcelProperty(value = "上偏差") + private BigDecimal toleranceValuePlus; + + /** + * 下偏差 + */ + @ExcelProperty(value = "下偏差") + private BigDecimal toleranceValueMinus; + + /** + * + */ + @ExcelProperty(value = "") + private String toleranceUnit; + + /** + * + */ + @ExcelProperty(value = "") + private String measurementStandard; + + /** + * + */ + @ExcelProperty(value = "") + private Long sortOrder; + + /** + * + */ + @ExcelProperty(value = "") + private String remark; + + +} diff --git a/klp-pt/src/main/java/com/klp/pt/mapper/PtProductSurfaceSpecMapper.java b/klp-pt/src/main/java/com/klp/pt/mapper/PtProductSurfaceSpecMapper.java new file mode 100644 index 000000000..f19a2678b --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/mapper/PtProductSurfaceSpecMapper.java @@ -0,0 +1,15 @@ +package com.klp.pt.mapper; + +import com.klp.pt.domain.PtProductSurfaceSpec; +import com.klp.pt.domain.vo.PtProductSurfaceSpecVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 产品面质量明细Mapper接口 + * + * @author klp + * @date 2026-07-02 + */ +public interface PtProductSurfaceSpecMapper extends BaseMapperPlus { + +} diff --git a/klp-pt/src/main/java/com/klp/pt/mapper/PtProductToleranceMapper.java b/klp-pt/src/main/java/com/klp/pt/mapper/PtProductToleranceMapper.java new file mode 100644 index 000000000..7425f1a9a --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/mapper/PtProductToleranceMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.PtProductTolerance; +import com.klp.domain.vo.PtProductToleranceVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 产品尺寸公差明细Mapper接口 + * + * @author klp + * @date 2026-07-02 + */ +public interface PtProductToleranceMapper extends BaseMapperPlus { + +} diff --git a/klp-pt/src/main/java/com/klp/pt/service/IPtProductSurfaceSpecService.java b/klp-pt/src/main/java/com/klp/pt/service/IPtProductSurfaceSpecService.java new file mode 100644 index 000000000..91dda1fb0 --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/service/IPtProductSurfaceSpecService.java @@ -0,0 +1,50 @@ +package com.klp.pt.service; + +import com.klp.pt.domain.PtProductSurfaceSpec; +import com.klp.pt.domain.vo.PtProductSurfaceSpecVo; +import com.klp.pt.domain.bo.PtProductSurfaceSpecBo; +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-02 + */ +public interface IPtProductSurfaceSpecService { + + /** + * 查询产品面质量明细 + */ + PtProductSurfaceSpecVo queryById(Long surfaceId); + + /** + * 查询产品面质量明细列表 + */ + TableDataInfo queryPageList(PtProductSurfaceSpecBo bo, PageQuery pageQuery); + + /** + * 查询产品面质量明细列表 + */ + List queryList(PtProductSurfaceSpecBo bo); + + /** + * 新增产品面质量明细 + */ + Boolean insertByBo(PtProductSurfaceSpecBo bo); + + /** + * 修改产品面质量明细 + */ + Boolean updateByBo(PtProductSurfaceSpecBo bo); + + /** + * 校验并批量删除产品面质量明细信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} + diff --git a/klp-pt/src/main/java/com/klp/pt/service/IPtProductToleranceService.java b/klp-pt/src/main/java/com/klp/pt/service/IPtProductToleranceService.java new file mode 100644 index 000000000..e2605d15d --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/service/IPtProductToleranceService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.PtProductTolerance; +import com.klp.domain.vo.PtProductToleranceVo; +import com.klp.domain.bo.PtProductToleranceBo; +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-02 + */ +public interface IPtProductToleranceService { + + /** + * 查询产品尺寸公差明细 + */ + PtProductToleranceVo queryById(Long toleranceId); + + /** + * 查询产品尺寸公差明细列表 + */ + TableDataInfo queryPageList(PtProductToleranceBo bo, PageQuery pageQuery); + + /** + * 查询产品尺寸公差明细列表 + */ + List queryList(PtProductToleranceBo bo); + + /** + * 新增产品尺寸公差明细 + */ + Boolean insertByBo(PtProductToleranceBo bo); + + /** + * 修改产品尺寸公差明细 + */ + Boolean updateByBo(PtProductToleranceBo bo); + + /** + * 校验并批量删除产品尺寸公差明细信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-pt/src/main/java/com/klp/pt/service/impl/PtProductSurfaceSpecServiceImpl.java b/klp-pt/src/main/java/com/klp/pt/service/impl/PtProductSurfaceSpecServiceImpl.java new file mode 100644 index 000000000..614316d4f --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/service/impl/PtProductSurfaceSpecServiceImpl.java @@ -0,0 +1,116 @@ +package com.klp.pt.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +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.pt.domain.bo.PtProductSurfaceSpecBo; +import com.klp.pt.domain.vo.PtProductSurfaceSpecVo; +import com.klp.pt.domain.PtProductSurfaceSpec; +import com.klp.pt.mapper.PtProductSurfaceSpecMapper; +import com.klp.pt.service.IPtProductSurfaceSpecService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 产品面质量明细Service业务层处理 + * + * @author klp + * @date 2026-07-02 + */ +@RequiredArgsConstructor +@Service +public class PtProductSurfaceSpecServiceImpl implements IPtProductSurfaceSpecService { + + private final PtProductSurfaceSpecMapper baseMapper; + + /** + * 查询产品面质量明细 + */ + @Override + public PtProductSurfaceSpecVo queryById(Long surfaceId){ + return baseMapper.selectVoById(surfaceId); + } + + /** + * 查询产品面质量明细列表 + */ + @Override + public TableDataInfo queryPageList(PtProductSurfaceSpecBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询产品面质量明细列表 + */ + @Override + public List queryList(PtProductSurfaceSpecBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(PtProductSurfaceSpecBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getStandardId() != null, PtProductSurfaceSpec::getStandardId, bo.getStandardId()); + lqw.eq(StringUtils.isNotBlank(bo.getSurfaceQualityGrade()), PtProductSurfaceSpec::getSurfaceQualityGrade, bo.getSurfaceQualityGrade()); + lqw.eq(bo.getRoughnessRaMin() != null, PtProductSurfaceSpec::getRoughnessRaMin, bo.getRoughnessRaMin()); + lqw.eq(bo.getRoughnessRaMax() != null, PtProductSurfaceSpec::getRoughnessRaMax, bo.getRoughnessRaMax()); + lqw.eq(StringUtils.isNotBlank(bo.getOilingType()), PtProductSurfaceSpec::getOilingType, bo.getOilingType()); + lqw.eq(bo.getOilingWeightMin() != null, PtProductSurfaceSpec::getOilingWeightMin, bo.getOilingWeightMin()); + lqw.eq(bo.getOilingWeightMax() != null, PtProductSurfaceSpec::getOilingWeightMax, bo.getOilingWeightMax()); + lqw.eq(StringUtils.isNotBlank(bo.getDefectDesc()), PtProductSurfaceSpec::getDefectDesc, bo.getDefectDesc()); + return lqw; + } + + /** + * 新增产品面质量明细 + */ + @Override + public Boolean insertByBo(PtProductSurfaceSpecBo bo) { + PtProductSurfaceSpec add = BeanUtil.toBean(bo, PtProductSurfaceSpec.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setSurfaceId(add.getSurfaceId()); + } + return flag; + } + + /** + * 修改产品面质量明细 + */ + @Override + public Boolean updateByBo(PtProductSurfaceSpecBo bo) { + PtProductSurfaceSpec update = BeanUtil.toBean(bo, PtProductSurfaceSpec.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(PtProductSurfaceSpec entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除产品面质量明细 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-pt/src/main/java/com/klp/pt/service/impl/PtProductToleranceServiceImpl.java b/klp-pt/src/main/java/com/klp/pt/service/impl/PtProductToleranceServiceImpl.java new file mode 100644 index 000000000..dded8985f --- /dev/null +++ b/klp-pt/src/main/java/com/klp/pt/service/impl/PtProductToleranceServiceImpl.java @@ -0,0 +1,121 @@ +package com.klp.pt.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +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.domain.bo.PtProductToleranceBo; +import com.klp.domain.vo.PtProductToleranceVo; +import com.klp.domain.PtProductTolerance; +import com.klp.mapper.PtProductToleranceMapper; +import com.klp.service.IPtProductToleranceService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 产品尺寸公差明细Service业务层处理 + * + * @author klp + * @date 2026-07-02 + */ +@RequiredArgsConstructor +@Service +public class PtProductToleranceServiceImpl implements IPtProductToleranceService { + + private final PtProductToleranceMapper baseMapper; + + /** + * 查询产品尺寸公差明细 + */ + @Override + public PtProductToleranceVo queryById(Long toleranceId){ + return baseMapper.selectVoById(toleranceId); + } + + /** + * 查询产品尺寸公差明细列表 + */ + @Override + public TableDataInfo queryPageList(PtProductToleranceBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询产品尺寸公差明细列表 + */ + @Override + public List queryList(PtProductToleranceBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(PtProductToleranceBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getStandardId() != null, PtProductTolerance::getStandardId, bo.getStandardId()); + lqw.eq(StringUtils.isNotBlank(bo.getToleranceType()), PtProductTolerance::getToleranceType, bo.getToleranceType()); + lqw.eq(StringUtils.isNotBlank(bo.getToleranceGrade()), PtProductTolerance::getToleranceGrade, bo.getToleranceGrade()); + lqw.eq(bo.getApplicableThickMin() != null, PtProductTolerance::getApplicableThickMin, bo.getApplicableThickMin()); + lqw.eq(bo.getApplicableThickMax() != null, PtProductTolerance::getApplicableThickMax, bo.getApplicableThickMax()); + lqw.eq(bo.getApplicableWidthMin() != null, PtProductTolerance::getApplicableWidthMin, bo.getApplicableWidthMin()); + lqw.eq(bo.getApplicableWidthMax() != null, PtProductTolerance::getApplicableWidthMax, bo.getApplicableWidthMax()); + lqw.eq(bo.getToleranceValuePlus() != null, PtProductTolerance::getToleranceValuePlus, bo.getToleranceValuePlus()); + lqw.eq(bo.getToleranceValueMinus() != null, PtProductTolerance::getToleranceValueMinus, bo.getToleranceValueMinus()); + lqw.eq(StringUtils.isNotBlank(bo.getToleranceUnit()), PtProductTolerance::getToleranceUnit, bo.getToleranceUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getMeasurementStandard()), PtProductTolerance::getMeasurementStandard, bo.getMeasurementStandard()); + lqw.eq(bo.getSortOrder() != null, PtProductTolerance::getSortOrder, bo.getSortOrder()); + return lqw; + } + + /** + * 新增产品尺寸公差明细 + */ + @Override + public Boolean insertByBo(PtProductToleranceBo bo) { + PtProductTolerance add = BeanUtil.toBean(bo, PtProductTolerance.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setToleranceId(add.getToleranceId()); + } + return flag; + } + + /** + * 修改产品尺寸公差明细 + */ + @Override + public Boolean updateByBo(PtProductToleranceBo bo) { + PtProductTolerance update = BeanUtil.toBean(bo, PtProductTolerance.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(PtProductTolerance entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除产品尺寸公差明细 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} + diff --git a/klp-pt/src/main/resources/mapper/pt/PtProductSurfaceSpecMapper.xml b/klp-pt/src/main/resources/mapper/pt/PtProductSurfaceSpecMapper.xml new file mode 100644 index 000000000..de3d92ef0 --- /dev/null +++ b/klp-pt/src/main/resources/mapper/pt/PtProductSurfaceSpecMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-pt/src/main/resources/mapper/pt/PtProductToleranceMapper.xml b/klp-pt/src/main/resources/mapper/pt/PtProductToleranceMapper.xml new file mode 100644 index 000000000..9ae5d3732 --- /dev/null +++ b/klp-pt/src/main/resources/mapper/pt/PtProductToleranceMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-ui/src/api/pt/process.js b/klp-ui/src/api/pt/process.js new file mode 100644 index 000000000..b707d2563 --- /dev/null +++ b/klp-ui/src/api/pt/process.js @@ -0,0 +1,35 @@ +import request from '@/utils/request' + +// ==================== 工艺主表 ==================== +export function listProcesse(query) { + return request({ url: '/pt/processe/list', method: 'get', params: query }) +} +export function getProcesse(processId) { + return request({ url: '/pt/processe/' + processId, method: 'get' }) +} +export function addProcesse(data) { + return request({ url: '/pt/processe', method: 'post', data }) +} +export function updateProcesse(data) { + return request({ url: '/pt/processe', method: 'put', data }) +} +export function delProcesse(processIds) { + return request({ url: '/pt/processe/' + processIds, method: 'delete' }) +} + +// ==================== 工序参数明细 ==================== +export function listProcessStepParam(query) { + return request({ url: '/pt/processStepParam/list', method: 'get', params: query }) +} +export function getProcessStepParam(paramId) { + return request({ url: '/pt/processStepParam/' + paramId, method: 'get' }) +} +export function addProcessStepParam(data) { + return request({ url: '/pt/processStepParam', method: 'post', data }) +} +export function updateProcessStepParam(data) { + return request({ url: '/pt/processStepParam', method: 'put', data }) +} +export function delProcessStepParam(paramIds) { + return request({ url: '/pt/processStepParam/' + paramIds, method: 'delete' }) +} diff --git a/klp-ui/src/api/pt/standard.js b/klp-ui/src/api/pt/standard.js new file mode 100644 index 000000000..c662fd9d4 --- /dev/null +++ b/klp-ui/src/api/pt/standard.js @@ -0,0 +1,154 @@ +import request from '@/utils/request' + +// ==================== 产品标准主表 ==================== +export function listProductStandard(query) { + return request({ url: '/pt/productStandard/list', method: 'get', params: query }) +} +export function getProductStandard(standardId) { + return request({ url: '/pt/productStandard/' + standardId, method: 'get' }) +} +export function addProductStandard(data) { + return request({ url: '/pt/productStandard', method: 'post', data }) +} +export function updateProductStandard(data) { + return request({ url: '/pt/productStandard', method: 'put', data }) +} +export function delProductStandard(standardIds) { + return request({ url: '/pt/productStandard/' + standardIds, method: 'delete' }) +} + +// ==================== 产品用途 ==================== +export function listProductApplication(query) { + return request({ url: '/pt/productApplication/list', method: 'get', params: query }) +} +export function getProductApplication(applicationId) { + return request({ url: '/pt/productApplication/' + applicationId, method: 'get' }) +} +export function addProductApplication(data) { + return request({ url: '/pt/productApplication', method: 'post', data }) +} +export function updateProductApplication(data) { + return request({ url: '/pt/productApplication', method: 'put', data }) +} +export function delProductApplication(applicationIds) { + return request({ url: '/pt/productApplication/' + applicationIds, method: 'delete' }) +} + +// ==================== 化学成分 ==================== +export function listProductChemicalComposition(query) { + return request({ url: '/pt/productChemicalComposition/list', method: 'get', params: query }) +} +export function getProductChemicalComposition(compositionId) { + return request({ url: '/pt/productChemicalComposition/' + compositionId, method: 'get' }) +} +export function addProductChemicalComposition(data) { + return request({ url: '/pt/productChemicalComposition', method: 'post', data }) +} +export function updateProductChemicalComposition(data) { + return request({ url: '/pt/productChemicalComposition', method: 'put', data }) +} +export function delProductChemicalComposition(compositionIds) { + return request({ url: '/pt/productChemicalComposition/' + compositionIds, method: 'delete' }) +} + +// ==================== 镀层规格 ==================== +export function listProductCoatingSpec(query) { + return request({ url: '/pt/productCoatingSpec/list', method: 'get', params: query }) +} +export function getProductCoatingSpec(coatingId) { + return request({ url: '/pt/productCoatingSpec/' + coatingId, method: 'get' }) +} +export function addProductCoatingSpec(data) { + return request({ url: '/pt/productCoatingSpec', method: 'post', data }) +} +export function updateProductCoatingSpec(data) { + return request({ url: '/pt/productCoatingSpec', method: 'put', data }) +} +export function delProductCoatingSpec(coatingIds) { + return request({ url: '/pt/productCoatingSpec/' + coatingIds, method: 'delete' }) +} + +// ==================== 尺寸规格 ==================== +export function listProductDimension(query) { + return request({ url: '/pt/productDimension/list', method: 'get', params: query }) +} +export function getProductDimension(dimensionId) { + return request({ url: '/pt/productDimension/' + dimensionId, method: 'get' }) +} +export function addProductDimension(data) { + return request({ url: '/pt/productDimension', method: 'post', data }) +} +export function updateProductDimension(data) { + return request({ url: '/pt/productDimension', method: 'put', data }) +} +export function delProductDimension(dimensionIds) { + return request({ url: '/pt/productDimension/' + dimensionIds, method: 'delete' }) +} + +// ==================== 物理性能 ==================== +export function listProductPhysicalProperty(query) { + return request({ url: '/pt/productPhysicalProperty/list', method: 'get', params: query }) +} +export function getProductPhysicalProperty(propertyId) { + return request({ url: '/pt/productPhysicalProperty/' + propertyId, method: 'get' }) +} +export function addProductPhysicalProperty(data) { + return request({ url: '/pt/productPhysicalProperty', method: 'post', data }) +} +export function updateProductPhysicalProperty(data) { + return request({ url: '/pt/productPhysicalProperty', method: 'put', data }) +} +export function delProductPhysicalProperty(propertyIds) { + return request({ url: '/pt/productPhysicalProperty/' + propertyIds, method: 'delete' }) +} + +// ==================== 参考标准 ==================== +export function listProductRefStandard(query) { + return request({ url: '/pt/productRefStandard/list', method: 'get', params: query }) +} +export function getProductRefStandard(refId) { + return request({ url: '/pt/productRefStandard/' + refId, method: 'get' }) +} +export function addProductRefStandard(data) { + return request({ url: '/pt/productRefStandard', method: 'post', data }) +} +export function updateProductRefStandard(data) { + return request({ url: '/pt/productRefStandard', method: 'put', data }) +} +export function delProductRefStandard(refIds) { + return request({ url: '/pt/productRefStandard/' + refIds, method: 'delete' }) +} + +// ==================== 尺寸公差 ==================== +export function listProductTolerance(query) { + return request({ url: '/klp/productTolerance/list', method: 'get', params: query }) +} +export function getProductTolerance(toleranceId) { + return request({ url: '/klp/productTolerance/' + toleranceId, method: 'get' }) +} +export function addProductTolerance(data) { + return request({ url: '/klp/productTolerance', method: 'post', data }) +} +export function updateProductTolerance(data) { + return request({ url: '/klp/productTolerance', method: 'put', data }) +} +export function delProductTolerance(toleranceIds) { + return request({ url: '/klp/productTolerance/' + toleranceIds, method: 'delete' }) +} + +// ==================== 表面质量 ==================== +export function listProductSurfaceSpec(query) { + return request({ url: '/pt/productSurfaceSpec/list', method: 'get', params: query }) +} +export function getProductSurfaceSpec(surfaceId) { + return request({ url: '/pt/productSurfaceSpec/' + surfaceId, method: 'get' }) +} +export function addProductSurfaceSpec(data) { + return request({ url: '/pt/productSurfaceSpec', method: 'post', data }) +} +export function updateProductSurfaceSpec(data) { + return request({ url: '/pt/productSurfaceSpec', method: 'put', data }) +} +export function delProductSurfaceSpec(surfaceIds) { + return request({ url: '/pt/productSurfaceSpec/' + surfaceIds, method: 'delete' }) +} diff --git a/klp-ui/src/views/pt/processe/index.vue b/klp-ui/src/views/pt/processe/index.vue new file mode 100644 index 000000000..a6863d75c --- /dev/null +++ b/klp-ui/src/views/pt/processe/index.vue @@ -0,0 +1,675 @@ + + + + + diff --git a/klp-ui/src/views/pt/product/index.vue b/klp-ui/src/views/pt/product/index.vue new file mode 100644 index 000000000..e69de29bb diff --git a/klp-ui/src/views/pt/standard/index.vue b/klp-ui/src/views/pt/standard/index.vue new file mode 100644 index 000000000..802950210 --- /dev/null +++ b/klp-ui/src/views/pt/standard/index.vue @@ -0,0 +1,1319 @@ + + + + +