From 5f45eeb9f2d5cadcc710a46d58e7ad5455b3a4e6 Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 7 Jan 2025 16:18:19 +0800 Subject: [PATCH] =?UTF-8?q?update=20add=E5=B7=A5=E8=89=BA=E8=B7=AF?= =?UTF-8?q?=E7=BA=BF=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProdBaseRouteController.java | 117 +++++++++++++++ .../org/dromara/mes/domain/ProdBaseRoute.java | 51 +++++++ .../mes/domain/ProdBaseRouteProcess.java | 51 +++++++ .../mes/domain/bo/ProdBaseRouteBo.java | 54 +++++++ .../mes/domain/bo/ProdBaseRouteProcessBo.java | 51 +++++++ .../mes/domain/vo/ProdBaseRouteProcessVo.java | 62 ++++++++ .../mes/domain/vo/ProdBaseRouteVo.java | 101 +++++++++++++ .../mes/mapper/ProdBaseRouteMapper.java | 15 ++ .../mapper/ProdBaseRouteProcessMapper.java | 15 ++ .../service/IProdBaseRouteProcessService.java | 69 +++++++++ .../mes/service/IProdBaseRouteService.java | 69 +++++++++ .../impl/ProdBaseRouteProcessServiceImpl.java | 135 +++++++++++++++++ .../impl/ProdBaseRouteServiceImpl.java | 138 ++++++++++++++++++ .../mapper/mes/ProdBaseRouteMapper.xml | 7 + .../mapper/mes/ProdBaseRouteProcessMapper.xml | 7 + 15 files changed, 942 insertions(+) create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdBaseRouteController.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseRoute.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseRouteProcess.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseRouteBo.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseRouteProcessBo.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseRouteProcessVo.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseRouteVo.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdBaseRouteMapper.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdBaseRouteProcessMapper.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdBaseRouteProcessService.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdBaseRouteService.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseRouteProcessServiceImpl.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseRouteServiceImpl.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdBaseRouteMapper.xml create mode 100644 ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdBaseRouteProcessMapper.xml diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdBaseRouteController.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdBaseRouteController.java new file mode 100644 index 0000000..34bc8d3 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdBaseRouteController.java @@ -0,0 +1,117 @@ +package org.dromara.mes.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.mes.domain.vo.ProdBaseRouteVo; +import org.dromara.mes.domain.bo.ProdBaseRouteBo; +import org.dromara.mes.service.IProdBaseRouteService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 工艺路线 + * 前端访问路由地址为:/mes/baseRoute + * + * @author Yinq + * @date 2025-01-07 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/baseRoute") +public class ProdBaseRouteController extends BaseController { + + private final IProdBaseRouteService prodBaseRouteService; + + /** + * 查询工艺路线列表 + */ + @SaCheckPermission("mes:baseRoute:list") + @GetMapping("/list") + public TableDataInfo list(ProdBaseRouteBo bo, PageQuery pageQuery) { + return prodBaseRouteService.queryPageList(bo, pageQuery); + } + + /** + * 导出工艺路线列表 + */ + @SaCheckPermission("mes:baseRoute:export") + @Log(title = "工艺路线", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ProdBaseRouteBo bo, HttpServletResponse response) { + List list = prodBaseRouteService.queryList(bo); + ExcelUtil.exportExcel(list, "工艺路线", ProdBaseRouteVo.class, response); + } + + /** + * 获取工艺路线详细信息 + * + * @param routeId 主键 + */ + @SaCheckPermission("mes:baseRoute:query") + @GetMapping("/{routeId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long routeId) { + return R.ok(prodBaseRouteService.queryById(routeId)); + } + + /** + * 新增工艺路线 + */ + @SaCheckPermission("mes:baseRoute:add") + @Log(title = "工艺路线", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody ProdBaseRouteBo bo) { + return toAjax(prodBaseRouteService.insertByBo(bo)); + } + + /** + * 修改工艺路线 + */ + @SaCheckPermission("mes:baseRoute:edit") + @Log(title = "工艺路线", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody ProdBaseRouteBo bo) { + return toAjax(prodBaseRouteService.updateByBo(bo)); + } + + /** + * 删除工艺路线 + * + * @param routeIds 主键串 + */ + @SaCheckPermission("mes:baseRoute:remove") + @Log(title = "工艺路线", businessType = BusinessType.DELETE) + @DeleteMapping("/{routeIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] routeIds) { + return toAjax(prodBaseRouteService.deleteWithValidByIds(List.of(routeIds), true)); + } + + + /** + * 下拉框查询工艺路线列表 + */ + + @GetMapping("getProdBaseRouteList") + public R> getProdBaseRoutelist(ProdBaseRouteBo bo) { + List list = prodBaseRouteService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseRoute.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseRoute.java new file mode 100644 index 0000000..ae8d3ff --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseRoute.java @@ -0,0 +1,51 @@ +package org.dromara.mes.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 工艺路线对象 prod_base_route + * + * @author Yinq + * @date 2025-01-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("prod_base_route") +public class ProdBaseRoute extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 工艺路线ID + */ + @TableId(value = "route_id", type = IdType.AUTO) + private Long routeId; + + /** + * 工艺路线名称 + */ + private String routeName; + + /** + * 工艺路线说明 + */ + private String routeDesc; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseRouteProcess.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseRouteProcess.java new file mode 100644 index 0000000..7438391 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseRouteProcess.java @@ -0,0 +1,51 @@ +package org.dromara.mes.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 工艺路线组成信息对象 prod_base_route_process + * + * @author Yinq + * @date 2025-01-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("prod_base_route_process") +public class ProdBaseRouteProcess extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 工艺路线组成ID + */ + @TableId(value = "route_process_id", type = IdType.AUTO) + private Long routeProcessId; + + /** + * 工艺路线ID + */ + private Long routeId; + + /** + * 工序ID + */ + private Long processId; + + /** + * 工艺路线顺序 + */ + private Long processOrder; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseRouteBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseRouteBo.java new file mode 100644 index 0000000..49e91e6 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseRouteBo.java @@ -0,0 +1,54 @@ +package org.dromara.mes.domain.bo; + +import org.dromara.mes.domain.ProdBaseRoute; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +import java.util.List; + +/** + * 工艺路线业务对象 prod_base_route + * + * @author Yinq + * @date 2025-01-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ProdBaseRoute.class, reverseConvertGenerate = false) +public class ProdBaseRouteBo extends BaseEntity { + + /** + * 工艺路线ID + */ + private Long routeId; + + /** + * 工艺路线名称 + */ + @NotBlank(message = "工艺路线名称不能为空", groups = {AddGroup.class, EditGroup.class}) + private String routeName; + + /** + * 工艺路线说明 + */ + private String routeDesc; + + /** + * 激活标识(1是 0否) + */ + @NotBlank(message = "激活标识不能为空", groups = {AddGroup.class, EditGroup.class}) + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + private List routeProcessBoList; + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseRouteProcessBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseRouteProcessBo.java new file mode 100644 index 0000000..dde8caa --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseRouteProcessBo.java @@ -0,0 +1,51 @@ +package org.dromara.mes.domain.bo; + +import org.dromara.mes.domain.ProdBaseRouteProcess; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 工艺路线组成信息业务对象 prod_base_route_process + * + * @author Yinq + * @date 2025-01-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ProdBaseRouteProcess.class, reverseConvertGenerate = false) +public class ProdBaseRouteProcessBo extends BaseEntity { + + /** + * 工艺路线组成ID + */ + private Long routeProcessId; + + /** + * 工艺路线ID + */ + @NotNull(message = "工艺路线ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long routeId; + + /** + * 工序ID + */ + @NotNull(message = "工序ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long processId; + + /** + * 工艺路线顺序 + */ + private Long processOrder; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseRouteProcessVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseRouteProcessVo.java new file mode 100644 index 0000000..ef4c4a5 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseRouteProcessVo.java @@ -0,0 +1,62 @@ +package org.dromara.mes.domain.vo; + +import org.dromara.mes.domain.ProdBaseRouteProcess; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 工艺路线组成信息视图对象 prod_base_route_process + * + * @author Yinq + * @date 2025-01-07 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ProdBaseRouteProcess.class) +public class ProdBaseRouteProcessVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 工艺路线组成ID + */ + @ExcelProperty(value = "工艺路线组成ID") + private Long routeProcessId; + + /** + * 工艺路线ID + */ + @ExcelProperty(value = "工艺路线ID") + private Long routeId; + + /** + * 工序ID + */ + @ExcelProperty(value = "工序ID") + private Long processId; + + /** + * 工艺路线顺序 + */ + @ExcelProperty(value = "工艺路线顺序") + private Long processOrder; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseRouteVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseRouteVo.java new file mode 100644 index 0000000..3a3378d --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseRouteVo.java @@ -0,0 +1,101 @@ +package org.dromara.mes.domain.vo; + +import org.dromara.mes.domain.ProdBaseRoute; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +/** + * 工艺路线视图对象 prod_base_route + * + * @author Yinq + * @date 2025-01-07 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ProdBaseRoute.class) +public class ProdBaseRouteVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 工艺路线ID + */ + @ExcelProperty(value = "工艺路线ID") + private Long routeId; + + /** + * 租户编号 + */ + @ExcelProperty(value = "租户编号") + private String tenantId; + + /** + * 工艺路线名称 + */ + @ExcelProperty(value = "工艺路线名称") + private String routeName; + + /** + * 工艺路线说明 + */ + @ExcelProperty(value = "工艺路线说明") + private String routeDesc; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 创建部门 + */ + @ExcelProperty(value = "创建部门") + private Long createDept; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private Long createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ExcelProperty(value = "更新人") + private Long updateBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + + private List routeProcessVoList; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdBaseRouteMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdBaseRouteMapper.java new file mode 100644 index 0000000..a5e56d1 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdBaseRouteMapper.java @@ -0,0 +1,15 @@ +package org.dromara.mes.mapper; + +import org.dromara.mes.domain.ProdBaseRoute; +import org.dromara.mes.domain.vo.ProdBaseRouteVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 工艺路线Mapper接口 + * + * @author Yinq + * @date 2025-01-07 + */ +public interface ProdBaseRouteMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdBaseRouteProcessMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdBaseRouteProcessMapper.java new file mode 100644 index 0000000..a036c20 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdBaseRouteProcessMapper.java @@ -0,0 +1,15 @@ +package org.dromara.mes.mapper; + +import org.dromara.mes.domain.ProdBaseRouteProcess; +import org.dromara.mes.domain.vo.ProdBaseRouteProcessVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 工艺路线组成信息Mapper接口 + * + * @author Yinq + * @date 2025-01-07 + */ +public interface ProdBaseRouteProcessMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdBaseRouteProcessService.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdBaseRouteProcessService.java new file mode 100644 index 0000000..1cc49f7 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdBaseRouteProcessService.java @@ -0,0 +1,69 @@ +package org.dromara.mes.service; + +import org.dromara.mes.domain.ProdBaseRouteProcess; +import org.dromara.mes.domain.vo.ProdBaseRouteProcessVo; +import org.dromara.mes.domain.bo.ProdBaseRouteProcessBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 工艺路线组成信息Service接口 + * + * @author Yinq + * @date 2025-01-07 + */ +public interface IProdBaseRouteProcessService { + + /** + * 查询工艺路线组成信息 + * + * @param routeProcessId 主键 + * @return 工艺路线组成信息 + */ + ProdBaseRouteProcessVo queryById(Long routeProcessId); + + /** + * 分页查询工艺路线组成信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 工艺路线组成信息分页列表 + */ + TableDataInfo queryPageList(ProdBaseRouteProcessBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的工艺路线组成信息列表 + * + * @param bo 查询条件 + * @return 工艺路线组成信息列表 + */ + List queryList(ProdBaseRouteProcessBo bo); + + /** + * 新增工艺路线组成信息 + * + * @param bo 工艺路线组成信息 + * @return 是否新增成功 + */ + Boolean insertByBo(ProdBaseRouteProcessBo bo); + + /** + * 修改工艺路线组成信息 + * + * @param bo 工艺路线组成信息 + * @return 是否修改成功 + */ + Boolean updateByBo(ProdBaseRouteProcessBo bo); + + /** + * 校验并批量删除工艺路线组成信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdBaseRouteService.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdBaseRouteService.java new file mode 100644 index 0000000..c7824fb --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdBaseRouteService.java @@ -0,0 +1,69 @@ +package org.dromara.mes.service; + +import org.dromara.mes.domain.ProdBaseRoute; +import org.dromara.mes.domain.vo.ProdBaseRouteVo; +import org.dromara.mes.domain.bo.ProdBaseRouteBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 工艺路线Service接口 + * + * @author Yinq + * @date 2025-01-07 + */ +public interface IProdBaseRouteService { + + /** + * 查询工艺路线 + * + * @param routeId 主键 + * @return 工艺路线 + */ + ProdBaseRouteVo queryById(Long routeId); + + /** + * 分页查询工艺路线列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 工艺路线分页列表 + */ + TableDataInfo queryPageList(ProdBaseRouteBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的工艺路线列表 + * + * @param bo 查询条件 + * @return 工艺路线列表 + */ + List queryList(ProdBaseRouteBo bo); + + /** + * 新增工艺路线 + * + * @param bo 工艺路线 + * @return 是否新增成功 + */ + Boolean insertByBo(ProdBaseRouteBo bo); + + /** + * 修改工艺路线 + * + * @param bo 工艺路线 + * @return 是否修改成功 + */ + Boolean updateByBo(ProdBaseRouteBo bo); + + /** + * 校验并批量删除工艺路线信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseRouteProcessServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseRouteProcessServiceImpl.java new file mode 100644 index 0000000..c99fcd6 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseRouteProcessServiceImpl.java @@ -0,0 +1,135 @@ +package org.dromara.mes.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.mes.domain.bo.ProdBaseRouteProcessBo; +import org.dromara.mes.domain.vo.ProdBaseRouteProcessVo; +import org.dromara.mes.domain.ProdBaseRouteProcess; +import org.dromara.mes.mapper.ProdBaseRouteProcessMapper; +import org.dromara.mes.service.IProdBaseRouteProcessService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 工艺路线组成信息Service业务层处理 + * + * @author Yinq + * @date 2025-01-07 + */ +@RequiredArgsConstructor +@Service +public class ProdBaseRouteProcessServiceImpl implements IProdBaseRouteProcessService { + + private final ProdBaseRouteProcessMapper baseMapper; + + /** + * 查询工艺路线组成信息 + * + * @param routeProcessId 主键 + * @return 工艺路线组成信息 + */ + @Override + public ProdBaseRouteProcessVo queryById(Long routeProcessId){ + return baseMapper.selectVoById(routeProcessId); + } + + /** + * 分页查询工艺路线组成信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 工艺路线组成信息分页列表 + */ + @Override + public TableDataInfo queryPageList(ProdBaseRouteProcessBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的工艺路线组成信息列表 + * + * @param bo 查询条件 + * @return 工艺路线组成信息列表 + */ + @Override + public List queryList(ProdBaseRouteProcessBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(ProdBaseRouteProcessBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(ProdBaseRouteProcess.class) + .selectAll(ProdBaseRouteProcess.class) + .eq(bo.getRouteProcessId() != null, ProdBaseRouteProcess::getRouteProcessId, bo.getRouteProcessId()) + .eq(bo.getRouteId() != null, ProdBaseRouteProcess::getRouteId, bo.getRouteId()) + .eq(bo.getProcessId() != null, ProdBaseRouteProcess::getProcessId, bo.getProcessId()) + .eq(bo.getProcessOrder() != null, ProdBaseRouteProcess::getProcessOrder, bo.getProcessOrder()) + .orderByDesc(ProdBaseRouteProcess::getCreateTime); + return lqw; + } + + /** + * 新增工艺路线组成信息 + * + * @param bo 工艺路线组成信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(ProdBaseRouteProcessBo bo) { + ProdBaseRouteProcess add = MapstructUtils.convert(bo, ProdBaseRouteProcess.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setRouteProcessId(add.getRouteProcessId()); + } + return flag; + } + + /** + * 修改工艺路线组成信息 + * + * @param bo 工艺路线组成信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(ProdBaseRouteProcessBo bo) { + ProdBaseRouteProcess update = MapstructUtils.convert(bo, ProdBaseRouteProcess.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ProdBaseRouteProcess entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除工艺路线组成信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseRouteServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseRouteServiceImpl.java new file mode 100644 index 0000000..4a84aa3 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseRouteServiceImpl.java @@ -0,0 +1,138 @@ +package org.dromara.mes.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.mes.service.IProdBaseRouteProcessService; +import org.springframework.stereotype.Service; +import org.dromara.mes.domain.bo.ProdBaseRouteBo; +import org.dromara.mes.domain.vo.ProdBaseRouteVo; +import org.dromara.mes.domain.ProdBaseRoute; +import org.dromara.mes.mapper.ProdBaseRouteMapper; +import org.dromara.mes.service.IProdBaseRouteService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 工艺路线Service业务层处理 + * + * @author Yinq + * @date 2025-01-07 + */ +@RequiredArgsConstructor +@Service +public class ProdBaseRouteServiceImpl implements IProdBaseRouteService { + + private final ProdBaseRouteMapper routeMapper; + + private final IProdBaseRouteProcessService routeProcessService; + + /** + * 查询工艺路线 + * + * @param routeId 主键 + * @return 工艺路线 + */ + @Override + public ProdBaseRouteVo queryById(Long routeId){ + return routeMapper.selectVoById(routeId); + } + + /** + * 分页查询工艺路线列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 工艺路线分页列表 + */ + @Override + public TableDataInfo queryPageList(ProdBaseRouteBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = routeMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的工艺路线列表 + * + * @param bo 查询条件 + * @return 工艺路线列表 + */ + @Override + public List queryList(ProdBaseRouteBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return routeMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(ProdBaseRouteBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(ProdBaseRoute.class) + .selectAll(ProdBaseRoute.class) + .eq(bo.getRouteId() != null, ProdBaseRoute::getRouteId, bo.getRouteId()) + .like(StringUtils.isNotBlank(bo.getRouteName()), ProdBaseRoute::getRouteName, bo.getRouteName()) + .eq(StringUtils.isNotBlank(bo.getRouteDesc()), ProdBaseRoute::getRouteDesc, bo.getRouteDesc()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ProdBaseRoute::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(ProdBaseRoute::getCreateTime); + return lqw; + } + + /** + * 新增工艺路线 + * + * @param bo 工艺路线 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(ProdBaseRouteBo bo) { + ProdBaseRoute add = MapstructUtils.convert(bo, ProdBaseRoute.class); + validEntityBeforeSave(add); + boolean flag = routeMapper.insert(add) > 0; + if (flag) { + bo.setRouteId(add.getRouteId()); + } + return flag; + } + + /** + * 修改工艺路线 + * + * @param bo 工艺路线 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(ProdBaseRouteBo bo) { + ProdBaseRoute update = MapstructUtils.convert(bo, ProdBaseRoute.class); + validEntityBeforeSave(update); + return routeMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ProdBaseRoute entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除工艺路线信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return routeMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdBaseRouteMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdBaseRouteMapper.xml new file mode 100644 index 0000000..081f855 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdBaseRouteMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdBaseRouteProcessMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdBaseRouteProcessMapper.xml new file mode 100644 index 0000000..19a53b9 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdBaseRouteProcessMapper.xml @@ -0,0 +1,7 @@ + + + + +