From 38743a12c71357068473f1f3d5e3622c384329d4 Mon Sep 17 00:00:00 2001 From: zq111100 <405327340@qq.com> Date: Mon, 8 Sep 2025 17:46:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bseMngt/mtrl/MtrlClsController.java | 48 ++++++++++++++ .../bseMngt/mtrl/vo/MtrlClsListReqVO.java | 35 +++++++++++ .../bseMngt/mtrl/vo/MtrlClsRespVO.java | 43 +++++++++++++ .../bseMngt/mtrl/vo/MtrlClsSaveReqVO.java | 33 ++++++++++ .../dataobject/bseMngt/mtrl/MtrlClsDO.java | 62 +++++++++++++++++++ .../dal/mysql/bseMngt/mtrl/MtrlClsMapper.java | 32 ++++++++++ .../service/bseMngt/mtrl/MtrlClsService.java | 33 ++++++++++ .../bseMngt/mtrl/MtrlClsServiceImpl.java | 46 ++++++++++++++ 8 files changed, 332 insertions(+) create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsListReqVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsRespVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsSaveReqVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlClsMapper.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsService.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java new file mode 100644 index 00000000..bac4d1f7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsListReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsRespVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlClsDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl.MtrlClsService; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + + + +@Tag(name = "管理后台 - 物料分类") +@RestController +@RequestMapping("/lgst/mtrl-cls") +@Validated +public class MtrlClsController implements BusinessControllerMarker { + + + @Resource + private MtrlClsService mtrlClsService; + + @GetMapping("/list") + @Operation(summary = "获得物料分类列表") + @PreAuthorize("@ss.hasPermission('lgst:mtrl-cls:query')") + public CommonResult> getMtrlClsList(@Valid MtrlClsListReqVO listReqVO) { + List list = mtrlClsService.getMtrlClsList(listReqVO); + return success(BeanUtils.toBean(list, MtrlClsRespVO.class)); + } + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsListReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsListReqVO.java new file mode 100644 index 00000000..5b9f171c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsListReqVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料分类列表 Request VO") +@Data +public class MtrlClsListReqVO { + + @Schema(description = "父级ID", example = "26586") + private Long parentId; + + @Schema(description = "分类编码") + private String code; + + @Schema(description = "分类名称", example = "赵六") + private String name; + + @Schema(description = "分类级别-用于类别层级(大/中/小类)") + private Long level; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsRespVO.java new file mode 100644 index 00000000..062acd8b --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsRespVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 物料分类 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MtrlClsRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6122") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "父级ID", example = "26586") + @ExcelProperty("父级ID") + private Long parentId; + + @Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("分类编码") + private String code; + + @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @ExcelProperty("分类名称") + private String name; + + @Schema(description = "分类级别-用于类别层级(大/中/小类)") + @ExcelProperty("分类级别-用于类别层级(大/中/小类)") + private Long level; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsSaveReqVO.java new file mode 100644 index 00000000..164de0b0 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsSaveReqVO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 物料分类新增/修改 Request VO") +@Data +public class MtrlClsSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6122") + private Long id; + + @Schema(description = "父级ID", example = "26586") + private Long parentId; + + @Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "分类编码不能为空") + private String code; + + @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @NotEmpty(message = "分类名称不能为空") + private String name; + + @Schema(description = "分类级别-用于类别层级(大/中/小类)") + private Long level; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "备注不能为空") + private String remark; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java new file mode 100644 index 00000000..6d4f964c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 物料分类 DO +* +* @author 后台管理 +*/ +@TableName("mtrl_cls") +@KeySequence("mtrl_cls_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MtrlClsDO extends BusinessBaseDO { + +public static final Long PARENT_ID_ROOT = 0L; + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 父级ID + */ + @TableField("PRN_ID") + private Long parentId; + /** + * 分类编码 + */ + @TableField("CD") + private String code; + /** + * 分类名称 + */ + @TableField("NAME") + private String name; + /** + * 分类级别-用于类别层级(大/中/小类) + */ + @TableField("LVL") + private Long level; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlClsMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlClsMapper.java new file mode 100644 index 00000000..9432a5ba --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlClsMapper.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsListReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlClsDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 物料分类 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface MtrlClsMapper extends BaseMapperX { + + default List selectList(MtrlClsListReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(MtrlClsDO::getParentId, reqVO.getParentId()) + .eqIfPresent(MtrlClsDO::getCode, reqVO.getCode()) + .likeIfPresent(MtrlClsDO::getName, reqVO.getName()) + .eqIfPresent(MtrlClsDO::getLevel, reqVO.getLevel()) + .eqIfPresent(MtrlClsDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(MtrlClsDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MtrlClsDO::getId)); + } + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsService.java new file mode 100644 index 00000000..dc012134 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsService.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; + +import java.util.*; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsListReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlClsDO; + +/** + * 物料分类 Service 接口 + * + * @author 后台管理 + */ +public interface MtrlClsService { + + + + /** + * 获得物料分类 + * + * @param id 编号 + * @return 物料分类 + */ + MtrlClsDO getMtrlCls(Long id); + + /** + * 获得物料分类列表 + * + * @param listReqVO 查询条件 + * @return 物料分类列表 + */ + List getMtrlClsList(MtrlClsListReqVO listReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java new file mode 100644 index 00000000..8a4fee09 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsListReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlClsDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl.MtrlClsMapper; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; + +/** + * 物料分类 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class MtrlClsServiceImpl implements MtrlClsService { + + @Resource + private MtrlClsMapper mtrlClsMapper; + + @Override + public MtrlClsDO getMtrlCls(Long id) { + return mtrlClsMapper.selectById(id); + } + + @Override + public List getMtrlClsList(MtrlClsListReqVO listReqVO) { + return mtrlClsMapper.selectList(listReqVO); + } + +} \ No newline at end of file