diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseDeviceCategoryController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseDeviceCategoryController.java new file mode 100644 index 00000000..8d60d1d3 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseDeviceCategoryController.java @@ -0,0 +1,118 @@ +package org.dromara.dms.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +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.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.dms.domain.bo.BaseDeviceCategoryBo; +import org.dromara.dms.domain.vo.BaseDeviceCategoryVo; +import org.dromara.dms.service.IBaseDeviceCategoryService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设备大类信息 + * 前端访问路由地址为:/dms/baseDeviceCategory + * + * @author xins + * @date 2025-02-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/baseDeviceCategory") +public class BaseDeviceCategoryController extends BaseController { + + private final IBaseDeviceCategoryService baseDeviceCategoryService; + + /** + * 查询设备大类信息列表 + */ + @SaCheckPermission("dms:baseDeviceCategory:list") + @GetMapping("/list") + public TableDataInfo list(BaseDeviceCategoryBo bo, PageQuery pageQuery) { + return baseDeviceCategoryService.queryPageList(bo, pageQuery); + } + + /** + * 导出设备大类信息列表 + */ + @SaCheckPermission("dms:baseDeviceCategory:export") + @Log(title = "设备大类信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BaseDeviceCategoryBo bo, HttpServletResponse response) { + List list = baseDeviceCategoryService.queryList(bo); + ExcelUtil.exportExcel(list, "设备大类信息", BaseDeviceCategoryVo.class, response); + } + + /** + * 获取设备大类信息详细信息 + * + * @param deviceCategoryId 主键 + */ + @SaCheckPermission("dms:baseDeviceCategory:query") + @GetMapping("/{deviceCategoryId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long deviceCategoryId) { + return R.ok(baseDeviceCategoryService.queryById(deviceCategoryId)); + } + + /** + * 新增设备大类信息 + */ +/* @SaCheckPermission("dms:baseDeviceCategory:add") + @Log(title = "设备大类信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BaseDeviceCategoryBo bo) { + return toAjax(baseDeviceCategoryService.insertByBo(bo)); + }*/ + + /** + * 修改设备大类信息 + */ +/* @SaCheckPermission("dms:baseDeviceCategory:edit") + @Log(title = "设备大类信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BaseDeviceCategoryBo bo) { + return toAjax(baseDeviceCategoryService.updateByBo(bo)); + }*/ + + /** + * 删除设备大类信息 + * + * @param deviceCategoryIds 主键串 + */ +/* @SaCheckPermission("dms:baseDeviceCategory:remove") + @Log(title = "设备大类信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{deviceCategoryIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] deviceCategoryIds) { + return toAjax(baseDeviceCategoryService.deleteWithValidByIds(List.of(deviceCategoryIds), true)); + }*/ + + + /** + * 下拉框查询设备大类信息列表 + */ + + @GetMapping("/getBaseDeviceCategoryList") + public R> getBaseDeviceCategoryList(BaseDeviceCategoryBo bo) { + List list = baseDeviceCategoryService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseDeviceTypeController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseDeviceTypeController.java new file mode 100644 index 00000000..82b40a22 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/BaseDeviceTypeController.java @@ -0,0 +1,118 @@ +package org.dromara.dms.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +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.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.dms.domain.bo.BaseDeviceTypeBo; +import org.dromara.dms.domain.vo.BaseDeviceTypeVo; +import org.dromara.dms.service.IBaseDeviceTypeService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设备类型信息 + * 前端访问路由地址为:/dms/baseDeviceType + * + * @author xins + * @date 2025-02-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/baseDeviceType") +public class BaseDeviceTypeController extends BaseController { + + private final IBaseDeviceTypeService baseDeviceTypeService; + + /** + * 查询设备类型信息列表 + */ + @SaCheckPermission("dms:baseDeviceType:list") + @GetMapping("/list") + public TableDataInfo list(BaseDeviceTypeBo bo, PageQuery pageQuery) { + return baseDeviceTypeService.queryPageList(bo, pageQuery); + } + + /** + * 导出设备类型信息列表 + */ + @SaCheckPermission("dms:baseDeviceType:export") + @Log(title = "设备类型信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BaseDeviceTypeBo bo, HttpServletResponse response) { + List list = baseDeviceTypeService.queryList(bo); + ExcelUtil.exportExcel(list, "设备类型信息", BaseDeviceTypeVo.class, response); + } + + /** + * 获取设备类型信息详细信息 + * + * @param deviceTypeId 主键 + */ + @SaCheckPermission("dms:baseDeviceType:query") + @GetMapping("/{deviceTypeId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long deviceTypeId) { + return R.ok(baseDeviceTypeService.queryById(deviceTypeId)); + } + + /** + * 新增设备类型信息 + */ +/* @SaCheckPermission("dms:baseDeviceType:add") + @Log(title = "设备类型信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BaseDeviceTypeBo bo) { + return toAjax(baseDeviceTypeService.insertByBo(bo)); + }*/ + + /** + * 修改设备类型信息 + */ +/* @SaCheckPermission("dms:baseDeviceType:edit") + @Log(title = "设备类型信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BaseDeviceTypeBo bo) { + return toAjax(baseDeviceTypeService.updateByBo(bo)); + }*/ + + /** + * 删除设备类型信息 + * + * @param deviceTypeIds 主键串 + */ +/* @SaCheckPermission("dms:baseDeviceType:remove") + @Log(title = "设备类型信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{deviceTypeIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] deviceTypeIds) { + return toAjax(baseDeviceTypeService.deleteWithValidByIds(List.of(deviceTypeIds), true)); + }*/ + + + /** + * 下拉框查询设备类型信息列表 + */ + + @GetMapping("/getBaseDeviceTypeList") + public R> getBaseDeviceTypeList(BaseDeviceTypeBo bo) { + List list = baseDeviceTypeService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseDeviceCategory.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseDeviceCategory.java new file mode 100644 index 00000000..30ad2101 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseDeviceCategory.java @@ -0,0 +1,53 @@ +package org.dromara.dms.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 设备大类信息对象 base_device_category + * + * @author xins + * @date 2025-02-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_device_category") +public class BaseDeviceCategory extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 大类ID + */ + @TableId(value = "device_category_id", type = IdType.AUTO) + private Long deviceCategoryId; + + /** + * 大类编号 + */ + private String deviceCategoryCode; + + /** + * 大类名称 + */ + private String deviceCategoryName; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseDeviceType.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseDeviceType.java new file mode 100644 index 00000000..1e5adc0b --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseDeviceType.java @@ -0,0 +1,75 @@ +package org.dromara.dms.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 设备类型信息对象 base_device_type + * + * @author xins + * @date 2025-02-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_device_type") +public class BaseDeviceType extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 物料类型ID + */ + @TableId(value = "device_type_id", type = IdType.AUTO) + private Long deviceTypeId; + + /** + * 父级标识 + */ + private Long parentId; + + /** + * 设备类型编号 + */ + private String deviceTypeCode; + + /** + * 设备类型名称 + */ + private String deviceTypeName; + + /** + * 祖级列表 + */ + private String ancestors; + + /** + * 设备大类ID(大类ID(关联base_category表category_type为2的)) + */ + private Long deviceCategoryId; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + /** + * 设备大类名称 + */ + @TableField(exist = false) + private String deviceCategoryName;//join映射字段 + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseDeviceCategoryBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseDeviceCategoryBo.java new file mode 100644 index 00000000..74f83fcd --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseDeviceCategoryBo.java @@ -0,0 +1,54 @@ +package org.dromara.dms.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.dms.domain.BaseDeviceCategory; + +/** + * 设备大类信息业务对象 base_device_category + * + * @author xins + * @date 2025-02-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BaseDeviceCategory.class, reverseConvertGenerate = false) +public class BaseDeviceCategoryBo extends BaseEntity { + + /** + * 大类ID + */ +// @NotNull(message = "大类ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long deviceCategoryId; + + /** + * 大类编号 + */ + @NotBlank(message = "大类编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String deviceCategoryCode; + + /** + * 大类名称 + */ + @NotBlank(message = "大类名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String deviceCategoryName; + + /** + * 激活标识(1是 0否) + */ + @NotBlank(message = "激活标识(1是 0否)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String activeFlag; + + /** + * 备注 + */ +/* @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseDeviceTypeBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseDeviceTypeBo.java new file mode 100644 index 00000000..13dfe631 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseDeviceTypeBo.java @@ -0,0 +1,73 @@ +package org.dromara.dms.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.dms.domain.BaseDeviceType; + +/** + * 设备类型信息业务对象 base_device_type + * + * @author xins + * @date 2025-02-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BaseDeviceType.class, reverseConvertGenerate = false) +public class BaseDeviceTypeBo extends BaseEntity { + + /** + * 物料类型ID + */ +/* @NotNull(message = "物料类型ID不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private Long deviceTypeId; + + /** + * 父级标识 + */ +/* @NotNull(message = "父级标识不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private Long parentId; + + /** + * 设备类型编号 + */ +/* @NotBlank(message = "设备类型编号不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private String deviceTypeCode; + + /** + * 设备类型名称 + */ +/* @NotBlank(message = "设备类型名称不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private String deviceTypeName; + + /** + * 祖级列表 + */ +/* @NotBlank(message = "祖级列表不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private String ancestors; + + /** + * 设备大类ID(大类ID(关联base_category表category_type为2的)) + */ +/* @NotNull(message = "设备大类不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private Long deviceCategoryId; + + /** + * 激活标识(1是 0否) + */ +/* @NotBlank(message = "激活标识不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private String activeFlag; + + /** + * 备注 + */ +/* @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })*/ + private String remark; + + /** + * 设备大类名称 + */ + private String deviceCategoryName;//join映射字段 + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseDeviceCategoryVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseDeviceCategoryVo.java new file mode 100644 index 00000000..9eb87792 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseDeviceCategoryVo.java @@ -0,0 +1,61 @@ +package org.dromara.dms.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.dms.domain.BaseDeviceCategory; + +import java.io.Serial; +import java.io.Serializable; + + +/** + * 设备大类信息视图对象 base_device_category + * + * @author xins + * @date 2025-02-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BaseDeviceCategory.class) +public class BaseDeviceCategoryVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 大类ID + */ + @ExcelProperty(value = "大类ID") + private Long deviceCategoryId; + + /** + * 大类编号 + */ + @ExcelProperty(value = "大类编号") + private String deviceCategoryCode; + + /** + * 大类名称 + */ + @ExcelProperty(value = "大类名称") + private String deviceCategoryName; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=是,0=否") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseDeviceTypeVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseDeviceTypeVo.java new file mode 100644 index 00000000..0bed3a34 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseDeviceTypeVo.java @@ -0,0 +1,84 @@ +package org.dromara.dms.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.dms.domain.BaseDeviceType; + +import java.io.Serial; +import java.io.Serializable; + + +/** + * 设备类型信息视图对象 base_device_type + * + * @author xins + * @date 2025-02-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BaseDeviceType.class) +public class BaseDeviceTypeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 物料类型ID + */ + @ExcelProperty(value = "物料类型ID") + private Long deviceTypeId; + + /** + * 父级标识 + */ + @ExcelProperty(value = "父级标识") + private Long parentId; + + /** + * 设备类型编号 + */ + @ExcelProperty(value = "设备类型编号") + private String deviceTypeCode; + + /** + * 设备类型名称 + */ + @ExcelProperty(value = "设备类型名称") + private String deviceTypeName; + + /** + * 祖级列表 + */ + @ExcelProperty(value = "祖级列表") + private String ancestors; + + /** + * 设备大类ID(大类ID(关联base_category表category_type为2的)) + */ + @ExcelProperty(value = "设备大类ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "大=类ID(关联base_category表category_type为2的") + private Long deviceCategoryId; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=是,0=否") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 设备大类名称 + */ + @ExcelProperty(value = "设备大类名称") + private String deviceCategoryName;//join映射字段 +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseDeviceCategoryMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseDeviceCategoryMapper.java new file mode 100644 index 00000000..cf6a68d4 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseDeviceCategoryMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.dms.domain.BaseDeviceCategory; +import org.dromara.dms.domain.vo.BaseDeviceCategoryVo; + +/** + * 设备大类信息Mapper接口 + * + * @author xins + * @date 2025-02-21 + */ +public interface BaseDeviceCategoryMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseDeviceTypeMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseDeviceTypeMapper.java new file mode 100644 index 00000000..ab641b4b --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/BaseDeviceTypeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.dms.domain.BaseDeviceType; +import org.dromara.dms.domain.vo.BaseDeviceTypeVo; + +/** + * 设备类型信息Mapper接口 + * + * @author xins + * @date 2025-02-21 + */ +public interface BaseDeviceTypeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseDeviceCategoryService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseDeviceCategoryService.java new file mode 100644 index 00000000..de22819d --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseDeviceCategoryService.java @@ -0,0 +1,68 @@ +package org.dromara.dms.service; + +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.dms.domain.bo.BaseDeviceCategoryBo; +import org.dromara.dms.domain.vo.BaseDeviceCategoryVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设备大类信息Service接口 + * + * @author xins + * @date 2025-02-21 + */ +public interface IBaseDeviceCategoryService { + + /** + * 查询设备大类信息 + * + * @param deviceCategoryId 主键 + * @return 设备大类信息 + */ + BaseDeviceCategoryVo queryById(Long deviceCategoryId); + + /** + * 分页查询设备大类信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备大类信息分页列表 + */ + TableDataInfo queryPageList(BaseDeviceCategoryBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的设备大类信息列表 + * + * @param bo 查询条件 + * @return 设备大类信息列表 + */ + List queryList(BaseDeviceCategoryBo bo); + + /** + * 新增设备大类信息 + * + * @param bo 设备大类信息 + * @return 是否新增成功 + */ +/* Boolean insertByBo(BaseDeviceCategoryBo bo);*/ + + /** + * 修改设备大类信息 + * + * @param bo 设备大类信息 + * @return 是否修改成功 + */ +/* Boolean updateByBo(BaseDeviceCategoryBo bo);*/ + + /** + * 校验并批量删除设备大类信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ +/* Boolean deleteWithValidByIds(Collection ids, Boolean isValid);*/ +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseDeviceTypeService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseDeviceTypeService.java new file mode 100644 index 00000000..a8832486 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IBaseDeviceTypeService.java @@ -0,0 +1,68 @@ +package org.dromara.dms.service; + +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.dms.domain.bo.BaseDeviceTypeBo; +import org.dromara.dms.domain.vo.BaseDeviceTypeVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设备类型信息Service接口 + * + * @author xins + * @date 2025-02-21 + */ +public interface IBaseDeviceTypeService { + + /** + * 查询设备类型信息 + * + * @param deviceTypeId 主键 + * @return 设备类型信息 + */ + BaseDeviceTypeVo queryById(Long deviceTypeId); + + /** + * 分页查询设备类型信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备类型信息分页列表 + */ + TableDataInfo queryPageList(BaseDeviceTypeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的设备类型信息列表 + * + * @param bo 查询条件 + * @return 设备类型信息列表 + */ + List queryList(BaseDeviceTypeBo bo); + + /** + * 新增设备类型信息 + * + * @param bo 设备类型信息 + * @return 是否新增成功 + */ +// Boolean insertByBo(BaseDeviceTypeBo bo); + + /** + * 修改设备类型信息 + * + * @param bo 设备类型信息 + * @return 是否修改成功 + */ +// Boolean updateByBo(BaseDeviceTypeBo bo); + + /** + * 校验并批量删除设备类型信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ +// Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseDeviceCategoryServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseDeviceCategoryServiceImpl.java new file mode 100644 index 00000000..785b2c49 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseDeviceCategoryServiceImpl.java @@ -0,0 +1,164 @@ +package org.dromara.dms.service.impl; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.dms.domain.BaseDeviceCategory; +import org.dromara.dms.domain.bo.BaseDeviceCategoryBo; +import org.dromara.dms.domain.vo.BaseDeviceCategoryVo; +import org.dromara.dms.mapper.BaseDeviceCategoryMapper; +import org.dromara.dms.service.IBaseDeviceCategoryService; +import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 设备大类信息Service业务层处理 + * + * @author xins + * @date 2025-02-21 + */ +@RequiredArgsConstructor +@Service +public class BaseDeviceCategoryServiceImpl implements IBaseDeviceCategoryService { + + private final BaseDeviceCategoryMapper baseMapper; + + /** + * 查询设备大类信息 + * + * @param deviceCategoryId 主键 + * @return 设备大类信息 + */ + @Override + public BaseDeviceCategoryVo queryById(Long deviceCategoryId){ + return baseMapper.selectVoById(deviceCategoryId); + } + + /** + * 分页查询设备大类信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备大类信息分页列表 + */ + @Override + public TableDataInfo queryPageList(BaseDeviceCategoryBo 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(BaseDeviceCategoryBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(BaseDeviceCategoryBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseDeviceCategory.class) + .selectAll(BaseDeviceCategory.class) + .eq(bo.getDeviceCategoryId() != null, BaseDeviceCategory::getDeviceCategoryId, bo.getDeviceCategoryId()) + .eq(StringUtils.isNotBlank(bo.getDeviceCategoryCode()), BaseDeviceCategory::getDeviceCategoryCode, bo.getDeviceCategoryCode()) + .like(StringUtils.isNotBlank(bo.getDeviceCategoryName()), BaseDeviceCategory::getDeviceCategoryName, bo.getDeviceCategoryName()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), BaseDeviceCategory::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(BaseDeviceCategory::getCreateTime); + return lqw; + } + + /** + * 新增设备大类信息 + * + * @param bo 设备大类信息 + * @return 是否新增成功 + */ + @Override +/* public Boolean insertByBo(BaseDeviceCategoryBo bo) { + BaseDeviceCategory add = MapstructUtils.convert(bo, BaseDeviceCategory.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDeviceCategoryId(add.getDeviceCategoryId()); + } + return flag; + }*/ + + /** + * 修改设备大类信息 + * + * @param bo 设备大类信息 + * @return 是否修改成功 + */ +/* @Override + public Boolean updateByBo(BaseDeviceCategoryBo bo) { + BaseDeviceCategory update = MapstructUtils.convert(bo, BaseDeviceCategory.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + }*/ + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BaseDeviceCategory entity){ + //TODO 做一些数据校验,如唯一约束 + + //编号校验 + if (StringUtils.isNotNull(entity.getDeviceCategoryCode())){ + BaseDeviceCategoryBo query = new BaseDeviceCategoryBo(); + query.setDeviceCategoryCode(entity.getDeviceCategoryCode()); + MPJLambdaWrapper lqw = buildQueryWrapper(query); + BaseDeviceCategory detail = baseMapper.selectOne(lqw); + if ( !ObjectUtils.isEmpty(detail) + && !detail.getDeviceCategoryId().equals(entity.getDeviceCategoryId())){ + throw new ServiceException("编号已存在"); + } + } + + //名称校验 + if (StringUtils.isNotNull(entity.getDeviceCategoryName())){ + BaseDeviceCategoryBo query = new BaseDeviceCategoryBo(); + query.setDeviceCategoryName(entity.getDeviceCategoryName()); + MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseDeviceCategory.class) + .selectAll(BaseDeviceCategory.class) + .eq(StringUtils.isNotBlank(query.getDeviceCategoryName()),BaseDeviceCategory::getDeviceCategoryName, query.getDeviceCategoryName()); + BaseDeviceCategory detail = baseMapper.selectOne(lqw); + if ( !ObjectUtils.isEmpty(detail) + && !detail.getDeviceCategoryId().equals(entity.getDeviceCategoryId())){ + throw new ServiceException("名称已存在"); + } + } + + } + + /** + * 校验并批量删除设备大类信息信息 + * + * @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-dms/src/main/java/org/dromara/dms/service/impl/BaseDeviceTypeServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseDeviceTypeServiceImpl.java new file mode 100644 index 00000000..7cc201db --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseDeviceTypeServiceImpl.java @@ -0,0 +1,155 @@ +package org.dromara.dms.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.ObjectUtils; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.dms.domain.BaseDeviceCategory; +import org.dromara.dms.domain.BaseDeviceType; +import org.dromara.dms.domain.bo.BaseDeviceTypeBo; +import org.dromara.dms.domain.vo.BaseDeviceTypeVo; +import org.dromara.dms.mapper.BaseDeviceTypeMapper; +import org.dromara.dms.service.IBaseDeviceTypeService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 设备类型信息Service业务层处理 + * + * @author xins + * @date 2025-02-21 + */ +@RequiredArgsConstructor +@Service +public class BaseDeviceTypeServiceImpl implements IBaseDeviceTypeService { + + private final BaseDeviceTypeMapper baseMapper; + + /** + * 查询设备类型信息 + * + * @param deviceTypeId 主键 + * @return 设备类型信息 + */ + @Override + public BaseDeviceTypeVo queryById(Long deviceTypeId){ + return baseMapper.selectVoById(deviceTypeId); + } + + /** + * 分页查询设备类型信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备类型信息分页列表 + */ + @Override + public TableDataInfo queryPageList(BaseDeviceTypeBo 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(BaseDeviceTypeBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(BaseDeviceTypeBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseDeviceType.class) + .selectAll(BaseDeviceType.class) + + // 关联查询设备大类信息 + .select(BaseDeviceCategory::getDeviceCategoryName) + .leftJoin(BaseDeviceCategory.class,BaseDeviceCategory::getDeviceCategoryId,BaseDeviceType::getDeviceCategoryId) + + .eq(bo.getDeviceTypeId() != null, BaseDeviceType::getDeviceTypeId, bo.getDeviceTypeId()) + .eq(bo.getParentId() != null, BaseDeviceType::getParentId, bo.getParentId()) + .eq(StringUtils.isNotBlank(bo.getDeviceTypeCode()), BaseDeviceType::getDeviceTypeCode, bo.getDeviceTypeCode()) + .like(StringUtils.isNotBlank(bo.getDeviceTypeName()), BaseDeviceType::getDeviceTypeName, bo.getDeviceTypeName()) + .eq(StringUtils.isNotBlank(bo.getAncestors()), BaseDeviceType::getAncestors, bo.getAncestors()) + .eq(bo.getDeviceCategoryId() != null, BaseDeviceType::getDeviceCategoryId, bo.getDeviceCategoryId()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), BaseDeviceType::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(BaseDeviceType::getCreateTime); + return lqw; + } + + /** + * 新增设备类型信息 + * + * @param bo 设备类型信息 + * @return 是否新增成功 + */ +/* + @Override + public Boolean insertByBo(BaseDeviceTypeBo bo) { + BaseDeviceType add = MapstructUtils.convert(bo, BaseDeviceType.class); + validEntityBeforeSave(add); + //获取父节点信息 + BaseDeviceTypeVo query = baseMapper.selectVoById(bo.getParentId()); + if (ObjectUtils.isNotEmpty(query)) { + //若父节点不为空,则将父节点的ancestors拼接父节点id拼接成ancestors + add.setAncestors(query.getAncestors() + "," + bo.getParentId()); + }else{ + //若父节点为空,则ancestors仅有父节点id + add.setAncestors(bo.getParentId().toString()); + } + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDeviceTypeId(add.getDeviceTypeId()); + } + return flag; + } +*/ + + /** + * 修改设备类型信息 + * + * @param bo 设备类型信息 + * @return 是否修改成功 + */ +/* @Override + public Boolean updateByBo(BaseDeviceTypeBo bo) { + BaseDeviceType update = MapstructUtils.convert(bo, BaseDeviceType.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + }*/ + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BaseDeviceType 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-dms/src/main/resources/mapper/BaseDeviceCategoryMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/BaseDeviceCategoryMapper.xml new file mode 100644 index 00000000..b39cbc1a --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/BaseDeviceCategoryMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/BaseDeviceTypeMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/BaseDeviceTypeMapper.xml new file mode 100644 index 00000000..ca6a3289 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/BaseDeviceTypeMapper.xml @@ -0,0 +1,7 @@ + + + + +