diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyInfoController.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyInfoController.java new file mode 100644 index 00000000..af69b5ed --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyInfoController.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.ProdTechnologyInfoVo; +import org.dromara.mes.domain.bo.ProdTechnologyInfoBo; +import org.dromara.mes.service.IProdTechnologyInfoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 工序工艺信息 + * 前端访问路由地址为:/mes/technologyInfo + * + * @author Yinq + * @date 2025-01-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/technologyInfo") +public class ProdTechnologyInfoController extends BaseController { + + private final IProdTechnologyInfoService prodTechnologyInfoService; + + /** + * 查询工序工艺信息列表 + */ + @SaCheckPermission("mes:technologyInfo:list") + @GetMapping("/list") + public TableDataInfo list(ProdTechnologyInfoBo bo, PageQuery pageQuery) { + return prodTechnologyInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出工序工艺信息列表 + */ + @SaCheckPermission("mes:technologyInfo:export") + @Log(title = "工序工艺信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ProdTechnologyInfoBo bo, HttpServletResponse response) { + List list = prodTechnologyInfoService.queryList(bo); + ExcelUtil.exportExcel(list, "工序工艺信息", ProdTechnologyInfoVo.class, response); + } + + /** + * 获取工序工艺信息详细信息 + * + * @param technologyId 主键 + */ + @SaCheckPermission("mes:technologyInfo:query") + @GetMapping("/{technologyId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long technologyId) { + return R.ok(prodTechnologyInfoService.queryById(technologyId)); + } + + /** + * 新增工序工艺信息 + */ + @SaCheckPermission("mes:technologyInfo:add") + @Log(title = "工序工艺信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody ProdTechnologyInfoBo bo) { + return toAjax(prodTechnologyInfoService.insertByBo(bo)); + } + + /** + * 修改工序工艺信息 + */ + @SaCheckPermission("mes:technologyInfo:edit") + @Log(title = "工序工艺信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody ProdTechnologyInfoBo bo) { + return toAjax(prodTechnologyInfoService.updateByBo(bo)); + } + + /** + * 删除工序工艺信息 + * + * @param technologyIds 主键串 + */ + @SaCheckPermission("mes:technologyInfo:remove") + @Log(title = "工序工艺信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{technologyIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] technologyIds) { + return toAjax(prodTechnologyInfoService.deleteWithValidByIds(List.of(technologyIds), true)); + } + + + /** + * 下拉框查询工序工艺信息列表 + */ + + @GetMapping("getProdTechnologyInfoList") + public R> getProdTechnologyInfolist(ProdTechnologyInfoBo bo) { + List list = prodTechnologyInfoService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyStepInfoController.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyStepInfoController.java new file mode 100644 index 00000000..256469e5 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyStepInfoController.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.ProdTechnologyStepInfoVo; +import org.dromara.mes.domain.bo.ProdTechnologyStepInfoBo; +import org.dromara.mes.service.IProdTechnologyStepInfoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 工艺步序信息 + * 前端访问路由地址为:/mes/technologyStepInfo + * + * @author Yinq + * @date 2025-01-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/technologyStepInfo") +public class ProdTechnologyStepInfoController extends BaseController { + + private final IProdTechnologyStepInfoService prodTechnologyStepInfoService; + + /** + * 查询工艺步序信息列表 + */ + @SaCheckPermission("mes:technologyStepInfo:list") + @GetMapping("/list") + public TableDataInfo list(ProdTechnologyStepInfoBo bo, PageQuery pageQuery) { + return prodTechnologyStepInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出工艺步序信息列表 + */ + @SaCheckPermission("mes:technologyStepInfo:export") + @Log(title = "工艺步序信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ProdTechnologyStepInfoBo bo, HttpServletResponse response) { + List list = prodTechnologyStepInfoService.queryList(bo); + ExcelUtil.exportExcel(list, "工艺步序信息", ProdTechnologyStepInfoVo.class, response); + } + + /** + * 获取工艺步序信息详细信息 + * + * @param stepId 主键 + */ + @SaCheckPermission("mes:technologyStepInfo:query") + @GetMapping("/{stepId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long stepId) { + return R.ok(prodTechnologyStepInfoService.queryById(stepId)); + } + + /** + * 新增工艺步序信息 + */ + @SaCheckPermission("mes:technologyStepInfo:add") + @Log(title = "工艺步序信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody ProdTechnologyStepInfoBo bo) { + return toAjax(prodTechnologyStepInfoService.insertByBo(bo)); + } + + /** + * 修改工艺步序信息 + */ + @SaCheckPermission("mes:technologyStepInfo:edit") + @Log(title = "工艺步序信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody ProdTechnologyStepInfoBo bo) { + return toAjax(prodTechnologyStepInfoService.updateByBo(bo)); + } + + /** + * 删除工艺步序信息 + * + * @param stepIds 主键串 + */ + @SaCheckPermission("mes:technologyStepInfo:remove") + @Log(title = "工艺步序信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{stepIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] stepIds) { + return toAjax(prodTechnologyStepInfoService.deleteWithValidByIds(List.of(stepIds), true)); + } + + + /** + * 下拉框查询工艺步序信息列表 + */ + + @GetMapping("getProdTechnologyStepInfoList") + public R> getProdTechnologyStepInfolist(ProdTechnologyStepInfoBo bo) { + List list = prodTechnologyStepInfoService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdTechnologyInfo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdTechnologyInfo.java new file mode 100644 index 00000000..7f05d3d8 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdTechnologyInfo.java @@ -0,0 +1,75 @@ +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_technology_info + * + * @author Yinq + * @date 2025-01-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("prod_technology_info") +public class ProdTechnologyInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "technology_id", type = IdType.AUTO) + private Long technologyId; + + /** + * 工序ID + */ + private Long processId; + + /** + * 物料ID + */ + private Long materialId; + + /** + * 机台类型(1类一 2类二) + */ + private String machineType; + + /** + * 工艺类型(1量产 2限产) + */ + private String technologyType; + + /** + * 工艺版本 + */ + private String technologyVersion; + + /** + * 硫化标准时间(秒) + */ + private Long standardTime; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + @TableField(exist = false) + private String processName; + + @TableField(exist = false) + private String materialName; +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdTechnologyStepInfo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdTechnologyStepInfo.java new file mode 100644 index 00000000..7dc59033 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdTechnologyStepInfo.java @@ -0,0 +1,71 @@ +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_technology_step_info + * + * @author Yinq + * @date 2025-01-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("prod_technology_step_info") +public class ProdTechnologyStepInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "step_id", type = IdType.AUTO) + private Long stepId; + + /** + * 工艺ID + */ + private Long technologyId; + + /** + * 步序编号 + */ + private Long stepCode; + + /** + * 步序名称 + */ + private String stepName; + + /** + * 步序时间(秒) + */ + private Long stepTime; + + /** + * 步序参数 + */ + private String stepParameter; + + /** + * 阀门状态 + */ + private String valueState; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyInfoBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyInfoBo.java new file mode 100644 index 00000000..415897ad --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyInfoBo.java @@ -0,0 +1,71 @@ +package org.dromara.mes.domain.bo; + +import org.dromara.mes.domain.ProdTechnologyInfo; +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_technology_info + * + * @author Yinq + * @date 2025-01-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ProdTechnologyInfo.class, reverseConvertGenerate = false) +public class ProdTechnologyInfoBo extends BaseEntity { + + /** + * 主键标识 + */ + private Long technologyId; + + /** + * 工序ID + */ + @NotNull(message = "工序ID不能为空", groups = {AddGroup.class, EditGroup.class}) + private Long processId; + + /** + * 物料ID + */ + @NotNull(message = "物料ID不能为空", groups = {AddGroup.class, EditGroup.class}) + private Long materialId; + + /** + * 机台类型(1类一 2类二) + */ + private String machineType; + + /** + * 工艺类型(1量产 2限产) + */ + private String technologyType; + + /** + * 工艺版本 + */ + private String technologyVersion; + + /** + * 硫化标准时间(秒) + */ + private Long standardTime; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyStepInfoBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyStepInfoBo.java new file mode 100644 index 00000000..3a23f93a --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyStepInfoBo.java @@ -0,0 +1,72 @@ +package org.dromara.mes.domain.bo; + +import org.dromara.mes.domain.ProdTechnologyStepInfo; +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_technology_step_info + * + * @author Yinq + * @date 2025-01-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ProdTechnologyStepInfo.class, reverseConvertGenerate = false) +public class ProdTechnologyStepInfoBo extends BaseEntity { + + /** + * 主键标识 + */ + private Long stepId; + + /** + * 工艺ID + */ + @NotNull(message = "工艺ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long technologyId; + + /** + * 步序编号 + */ + @NotNull(message = "步序编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long stepCode; + + /** + * 步序名称 + */ + @NotBlank(message = "步序名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String stepName; + + /** + * 步序时间(秒) + */ + private Long stepTime; + + /** + * 步序参数 + */ + private String stepParameter; + + /** + * 阀门状态 + */ + private String valueState; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyInfoVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyInfoVo.java new file mode 100644 index 00000000..34cd4f31 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyInfoVo.java @@ -0,0 +1,93 @@ +package org.dromara.mes.domain.vo; + +import org.dromara.mes.domain.ProdTechnologyInfo; +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_technology_info + * + * @author Yinq + * @date 2025-01-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ProdTechnologyInfo.class) +public class ProdTechnologyInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private Long technologyId; + + /** + * 工序ID + */ + @ExcelProperty(value = "工序ID") + private Long processId; + + /** + * 物料ID + */ + @ExcelProperty(value = "物料ID") + private Long materialId; + + /** + * 机台类型(1类一 2类二) + */ + @ExcelProperty(value = "机台类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_machine_type") + private String machineType; + + /** + * 工艺类型(1量产 2限产) + */ + @ExcelProperty(value = "工艺类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_technology_type") + private String technologyType; + + /** + * 工艺版本 + */ + @ExcelProperty(value = "工艺版本") + private String technologyVersion; + + /** + * 硫化标准时间(秒) + */ + @ExcelProperty(value = "硫化标准时间", converter = ExcelDictConvert.class) + private Long standardTime; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + @ExcelProperty(value = "工序名称") + private String processName; + + @ExcelProperty(value = "物料名称") + private String materialName; +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyStepInfoVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyStepInfoVo.java new file mode 100644 index 00000000..ed0fd366 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyStepInfoVo.java @@ -0,0 +1,87 @@ +package org.dromara.mes.domain.vo; + +import org.dromara.mes.domain.ProdTechnologyStepInfo; +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_technology_step_info + * + * @author Yinq + * @date 2025-01-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ProdTechnologyStepInfo.class) +public class ProdTechnologyStepInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private Long stepId; + + /** + * 工艺ID + */ + @ExcelProperty(value = "工艺ID") + private Long technologyId; + + /** + * 步序编号 + */ + @ExcelProperty(value = "步序编号") + private Long stepCode; + + /** + * 步序名称 + */ + @ExcelProperty(value = "步序名称") + private String stepName; + + /** + * 步序时间(秒) + */ + @ExcelProperty(value = "步序时间", converter = ExcelDictConvert.class) + private Long stepTime; + + /** + * 步序参数 + */ + @ExcelProperty(value = "步序参数") + private String stepParameter; + + /** + * 阀门状态 + */ + @ExcelProperty(value = "阀门状态") + private String valueState; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdTechnologyInfoMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdTechnologyInfoMapper.java new file mode 100644 index 00000000..934732d3 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdTechnologyInfoMapper.java @@ -0,0 +1,15 @@ +package org.dromara.mes.mapper; + +import org.dromara.mes.domain.ProdTechnologyInfo; +import org.dromara.mes.domain.vo.ProdTechnologyInfoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 工序工艺信息Mapper接口 + * + * @author Yinq + * @date 2025-01-21 + */ +public interface ProdTechnologyInfoMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdTechnologyStepInfoMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdTechnologyStepInfoMapper.java new file mode 100644 index 00000000..b2d9f0b2 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdTechnologyStepInfoMapper.java @@ -0,0 +1,15 @@ +package org.dromara.mes.mapper; + +import org.dromara.mes.domain.ProdTechnologyStepInfo; +import org.dromara.mes.domain.vo.ProdTechnologyStepInfoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 工艺步序信息Mapper接口 + * + * @author Yinq + * @date 2025-01-21 + */ +public interface ProdTechnologyStepInfoMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyInfoService.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyInfoService.java new file mode 100644 index 00000000..310ae099 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyInfoService.java @@ -0,0 +1,69 @@ +package org.dromara.mes.service; + +import org.dromara.mes.domain.ProdTechnologyInfo; +import org.dromara.mes.domain.vo.ProdTechnologyInfoVo; +import org.dromara.mes.domain.bo.ProdTechnologyInfoBo; +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-21 + */ +public interface IProdTechnologyInfoService { + + /** + * 查询工序工艺信息 + * + * @param technologyId 主键 + * @return 工序工艺信息 + */ + ProdTechnologyInfoVo queryById(Long technologyId); + + /** + * 分页查询工序工艺信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 工序工艺信息分页列表 + */ + TableDataInfo queryPageList(ProdTechnologyInfoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的工序工艺信息列表 + * + * @param bo 查询条件 + * @return 工序工艺信息列表 + */ + List queryList(ProdTechnologyInfoBo bo); + + /** + * 新增工序工艺信息 + * + * @param bo 工序工艺信息 + * @return 是否新增成功 + */ + Boolean insertByBo(ProdTechnologyInfoBo bo); + + /** + * 修改工序工艺信息 + * + * @param bo 工序工艺信息 + * @return 是否修改成功 + */ + Boolean updateByBo(ProdTechnologyInfoBo 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/IProdTechnologyStepInfoService.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyStepInfoService.java new file mode 100644 index 00000000..ed14a614 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyStepInfoService.java @@ -0,0 +1,69 @@ +package org.dromara.mes.service; + +import org.dromara.mes.domain.ProdTechnologyStepInfo; +import org.dromara.mes.domain.vo.ProdTechnologyStepInfoVo; +import org.dromara.mes.domain.bo.ProdTechnologyStepInfoBo; +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-21 + */ +public interface IProdTechnologyStepInfoService { + + /** + * 查询工艺步序信息 + * + * @param stepId 主键 + * @return 工艺步序信息 + */ + ProdTechnologyStepInfoVo queryById(Long stepId); + + /** + * 分页查询工艺步序信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 工艺步序信息分页列表 + */ + TableDataInfo queryPageList(ProdTechnologyStepInfoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的工艺步序信息列表 + * + * @param bo 查询条件 + * @return 工艺步序信息列表 + */ + List queryList(ProdTechnologyStepInfoBo bo); + + /** + * 新增工艺步序信息 + * + * @param bo 工艺步序信息 + * @return 是否新增成功 + */ + Boolean insertByBo(ProdTechnologyStepInfoBo bo); + + /** + * 修改工艺步序信息 + * + * @param bo 工艺步序信息 + * @return 是否修改成功 + */ + Boolean updateByBo(ProdTechnologyStepInfoBo 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/ProdPlanInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdPlanInfoServiceImpl.java index 3028d1bf..e2491eae 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdPlanInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdPlanInfoServiceImpl.java @@ -58,7 +58,12 @@ public class ProdPlanInfoServiceImpl implements IProdPlanInfoService { public TableDataInfo queryPageList(ProdPlanInfoBo bo, PageQuery pageQuery) { MPJLambdaWrapper lqw = buildQueryWrapper(bo); Long workshopId = bo.getWorkshopId(); - String tableName = DatabaseConstants.TABLE_NAME_PROD_PLAN_INFO_PREFIX + "_" + workshopId; + String tableName = null; + if (StringUtils.isNull(workshopId)){ + tableName = DatabaseConstants.TABLE_NAME_PROD_PLAN_INFO_PREFIX; + } else { + tableName = DatabaseConstants.TABLE_NAME_PROD_PLAN_INFO_PREFIX + "_" + workshopId; + } Page result = baseMapper.selectProdPlanInfoList(pageQuery.build(), tableName, lqw); return TableDataInfo.build(result); } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyInfoServiceImpl.java new file mode 100644 index 00000000..85c9ae5b --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyInfoServiceImpl.java @@ -0,0 +1,149 @@ +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.domain.BaseMaterialInfo; +import org.dromara.mes.domain.ProdBaseProcessInfo; +import org.springframework.stereotype.Service; +import org.dromara.mes.domain.bo.ProdTechnologyInfoBo; +import org.dromara.mes.domain.vo.ProdTechnologyInfoVo; +import org.dromara.mes.domain.ProdTechnologyInfo; +import org.dromara.mes.mapper.ProdTechnologyInfoMapper; +import org.dromara.mes.service.IProdTechnologyInfoService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 工序工艺信息Service业务层处理 + * + * @author Yinq + * @date 2025-01-21 + */ +@RequiredArgsConstructor +@Service +public class ProdTechnologyInfoServiceImpl implements IProdTechnologyInfoService { + + private final ProdTechnologyInfoMapper baseMapper; + + /** + * 查询工序工艺信息 + * + * @param technologyId 主键 + * @return 工序工艺信息 + */ + @Override + public ProdTechnologyInfoVo queryById(Long technologyId) { + ProdTechnologyInfoBo bo = new ProdTechnologyInfoBo(); + bo.setTechnologyId(technologyId); + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + List voList = baseMapper.selectVoList(lqw); + return voList.get(0); + } + + /** + * 分页查询工序工艺信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 工序工艺信息分页列表 + */ + @Override + public TableDataInfo queryPageList(ProdTechnologyInfoBo 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(ProdTechnologyInfoBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(ProdTechnologyInfoBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(ProdTechnologyInfo.class) + .selectAll(ProdTechnologyInfo.class) + .select(ProdBaseProcessInfo::getProcessName) + .select(BaseMaterialInfo::getMaterialName) + .leftJoin(ProdBaseProcessInfo.class, ProdBaseProcessInfo::getProcessId, ProdTechnologyInfo::getProcessId) + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, ProdTechnologyInfo::getMaterialId) + .eq(bo.getTechnologyId() != null, ProdTechnologyInfo::getTechnologyId, bo.getTechnologyId()) + .eq(bo.getProcessId() != null, ProdTechnologyInfo::getProcessId, bo.getProcessId()) + .eq(bo.getMaterialId() != null, ProdTechnologyInfo::getMaterialId, bo.getMaterialId()) + .eq(StringUtils.isNotBlank(bo.getMachineType()), ProdTechnologyInfo::getMachineType, bo.getMachineType()) + .eq(StringUtils.isNotBlank(bo.getTechnologyType()), ProdTechnologyInfo::getTechnologyType, bo.getTechnologyType()) + .eq(StringUtils.isNotBlank(bo.getTechnologyVersion()), ProdTechnologyInfo::getTechnologyVersion, bo.getTechnologyVersion()) + .eq(bo.getStandardTime() != null, ProdTechnologyInfo::getStandardTime, bo.getStandardTime()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ProdTechnologyInfo::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(ProdTechnologyInfo::getCreateTime); + return lqw; + } + + /** + * 新增工序工艺信息 + * + * @param bo 工序工艺信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(ProdTechnologyInfoBo bo) { + ProdTechnologyInfo add = MapstructUtils.convert(bo, ProdTechnologyInfo.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setTechnologyId(add.getTechnologyId()); + } + return flag; + } + + /** + * 修改工序工艺信息 + * + * @param bo 工序工艺信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(ProdTechnologyInfoBo bo) { + ProdTechnologyInfo update = MapstructUtils.convert(bo, ProdTechnologyInfo.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ProdTechnologyInfo 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/ProdTechnologyStepInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyStepInfoServiceImpl.java new file mode 100644 index 00000000..e9a22f71 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyStepInfoServiceImpl.java @@ -0,0 +1,139 @@ +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.ProdTechnologyStepInfoBo; +import org.dromara.mes.domain.vo.ProdTechnologyStepInfoVo; +import org.dromara.mes.domain.ProdTechnologyStepInfo; +import org.dromara.mes.mapper.ProdTechnologyStepInfoMapper; +import org.dromara.mes.service.IProdTechnologyStepInfoService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 工艺步序信息Service业务层处理 + * + * @author Yinq + * @date 2025-01-21 + */ +@RequiredArgsConstructor +@Service +public class ProdTechnologyStepInfoServiceImpl implements IProdTechnologyStepInfoService { + + private final ProdTechnologyStepInfoMapper baseMapper; + + /** + * 查询工艺步序信息 + * + * @param stepId 主键 + * @return 工艺步序信息 + */ + @Override + public ProdTechnologyStepInfoVo queryById(Long stepId){ + return baseMapper.selectVoById(stepId); + } + + /** + * 分页查询工艺步序信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 工艺步序信息分页列表 + */ + @Override + public TableDataInfo queryPageList(ProdTechnologyStepInfoBo 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(ProdTechnologyStepInfoBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(ProdTechnologyStepInfoBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(ProdTechnologyStepInfo.class) + .selectAll(ProdTechnologyStepInfo.class) + .eq(bo.getStepId() != null, ProdTechnologyStepInfo::getStepId, bo.getStepId()) + .eq(bo.getTechnologyId() != null, ProdTechnologyStepInfo::getTechnologyId, bo.getTechnologyId()) + .eq(bo.getStepCode() != null, ProdTechnologyStepInfo::getStepCode, bo.getStepCode()) + .like(StringUtils.isNotBlank(bo.getStepName()), ProdTechnologyStepInfo::getStepName, bo.getStepName()) + .eq(bo.getStepTime() != null, ProdTechnologyStepInfo::getStepTime, bo.getStepTime()) + .eq(StringUtils.isNotBlank(bo.getStepParameter()), ProdTechnologyStepInfo::getStepParameter, bo.getStepParameter()) + .eq(StringUtils.isNotBlank(bo.getValueState()), ProdTechnologyStepInfo::getValueState, bo.getValueState()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ProdTechnologyStepInfo::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(ProdTechnologyStepInfo::getCreateTime); + return lqw; + } + + /** + * 新增工艺步序信息 + * + * @param bo 工艺步序信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(ProdTechnologyStepInfoBo bo) { + ProdTechnologyStepInfo add = MapstructUtils.convert(bo, ProdTechnologyStepInfo.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setStepId(add.getStepId()); + } + return flag; + } + + /** + * 修改工艺步序信息 + * + * @param bo 工艺步序信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(ProdTechnologyStepInfoBo bo) { + ProdTechnologyStepInfo update = MapstructUtils.convert(bo, ProdTechnologyStepInfo.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ProdTechnologyStepInfo 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/resources/mapper/mes/ProdPlanInfoMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdPlanInfoMapper.xml index 7a4284b4..6ff9373f 100644 --- a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdPlanInfoMapper.xml +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdPlanInfoMapper.xml @@ -93,7 +93,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdTechnologyInfoMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdTechnologyInfoMapper.xml new file mode 100644 index 00000000..16571bbf --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdTechnologyInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdTechnologyStepInfoMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdTechnologyStepInfoMapper.xml new file mode 100644 index 00000000..6f25a560 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdTechnologyStepInfoMapper.xml @@ -0,0 +1,7 @@ + + + + +