From 870c670197b6f704c6c14e5b8824f85d45849991 Mon Sep 17 00:00:00 2001 From: ljw <706814450@qq.com> Date: Tue, 3 Mar 2026 11:36:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=93=E5=BA=93=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wh/controller/WarehouseController.java | 5 +- .../dispose/wh/mapper/WarehouseMapper.java | 15 +++ .../wh/pojo/entity/WarehouseEntity.java | 26 ++++++ .../wh/pojo/param/AddWarehouseParam.java | 30 +++++- .../wh/pojo/result/WarehouseResult.java | 92 +++++++++++++++++++ .../dispose/wh/service/WarehouseService.java | 23 +++-- .../resources/mapper/wh/WarehouseMapper.xml | 49 ++++++++++ 7 files changed, 231 insertions(+), 9 deletions(-) create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/result/WarehouseResult.java create mode 100644 njzscloud-svr/src/main/resources/mapper/wh/WarehouseMapper.xml diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/controller/WarehouseController.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/controller/WarehouseController.java index 4d032e5..c5e2991 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/controller/WarehouseController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/controller/WarehouseController.java @@ -5,6 +5,7 @@ import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.dispose.wh.pojo.entity.WarehouseEntity; import com.njzscloud.dispose.wh.pojo.param.AddWarehouseParam; +import com.njzscloud.dispose.wh.pojo.result.WarehouseResult; import com.njzscloud.dispose.wh.service.WarehouseService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -55,7 +56,7 @@ public class WarehouseController { * 详情 */ @GetMapping("/detail") - public R detail(@RequestParam("id") Long id) { + public R detail(@RequestParam("id") Long id) { return R.success(warehouseService.detail(id)); } @@ -63,7 +64,7 @@ public class WarehouseController { * 分页查询 */ @GetMapping("/paging") - public R> paging(PageParam pageParam, WarehouseEntity warehouseEntity) { + public R> paging(PageParam pageParam, WarehouseEntity warehouseEntity) { return R.success(warehouseService.paging(pageParam, warehouseEntity)); } } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/mapper/WarehouseMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/mapper/WarehouseMapper.java index 8fd47c5..b58d372 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/mapper/WarehouseMapper.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/mapper/WarehouseMapper.java @@ -1,8 +1,13 @@ package com.njzscloud.dispose.wh.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njzscloud.dispose.wh.pojo.entity.WarehouseEntity; +import com.njzscloud.dispose.wh.pojo.result.WarehouseResult; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 仓库信息 @@ -10,4 +15,14 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface WarehouseMapper extends BaseMapper { + + /** + * 分页查询 + */ + IPage paging(Page page, @Param("ew") QueryWrapper ew); + + /** + * 详情查询 + */ + WarehouseResult detail(@Param("id") Long id); } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/entity/WarehouseEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/entity/WarehouseEntity.java index dd7ac6d..f73b086 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/entity/WarehouseEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/entity/WarehouseEntity.java @@ -1,11 +1,15 @@ package com.njzscloud.dispose.wh.pojo.entity; import com.baomidou.mybatisplus.annotation.*; +import com.njzscloud.common.core.ienum.DictItem; +import com.njzscloud.common.core.ienum.DictKey; +import com.njzscloud.common.mp.support.handler.j.DictItemTypeHandler; import lombok.Getter; import lombok.Setter; import lombok.ToString; import lombok.experimental.Accessors; +import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -29,11 +33,33 @@ public class WarehouseEntity { */ private String warehouseName; + /** + * 仓库类型;raw_material-原料库,finished_product-成品库 + */ + @DictKey("warehouse_type") + @TableField(typeHandler = DictItemTypeHandler.class) + private DictItem type; + + /** + * 所属站点 Id + */ + private Long stationId; + /** * 位置 */ private String location; + /** + * 最大容量,单位:m³ + */ + private BigDecimal maxCapacity; + + /** + * 备注 + */ + private String remark; + /** * 创建人 Id;sys_user.id */ diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/param/AddWarehouseParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/param/AddWarehouseParam.java index ae6f9fe..cd13b71 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/param/AddWarehouseParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/param/AddWarehouseParam.java @@ -1,12 +1,18 @@ package com.njzscloud.dispose.wh.pojo.param; +import com.baomidou.mybatisplus.annotation.TableField; +import com.njzscloud.common.core.ienum.DictItem; +import com.njzscloud.common.core.ienum.DictKey; +import com.njzscloud.common.mp.support.handler.j.DictItemTypeHandler; import lombok.Getter; import lombok.Setter; import lombok.ToString; import lombok.experimental.Accessors; +import java.math.BigDecimal; + /** - * 仓库信息 + * 仓库信息-新增参数 * @author ljw */ @Getter @@ -20,9 +26,31 @@ public class AddWarehouseParam { */ private String warehouseName; + /** + * 仓库类型;raw_material-原料库,finished_product-成品库 + */ + @DictKey("warehouse_type") + @TableField(typeHandler = DictItemTypeHandler.class) + private DictItem type; + + /** + * 所属站点 Id + */ + private Long stationId; + /** * 位置 */ private String location; + /** + * 最大容量,单位:m³ + */ + private BigDecimal maxCapacity; + + /** + * 备注 + */ + private String remark; + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/result/WarehouseResult.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/result/WarehouseResult.java new file mode 100644 index 0000000..1456502 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/pojo/result/WarehouseResult.java @@ -0,0 +1,92 @@ +package com.njzscloud.dispose.wh.pojo.result; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.njzscloud.common.core.ienum.DictItem; +import com.njzscloud.common.core.ienum.DictKey; +import com.njzscloud.common.mp.support.handler.j.DictItemTypeHandler; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 仓库信息-结果类 + * @author ljw + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class WarehouseResult { + + /** + * Id + */ + private Long id; + + /** + * 仓库名称 + */ + private String warehouseName; + + /** + * 仓库类型;raw_material-原料库,finished_product-成品库 + */ + @DictKey("warehouse_type") + @TableField(typeHandler = DictItemTypeHandler.class) + private DictItem type; + + /** + * 所属站点 Id + */ + private Long stationId; + + /** + * 站点名称 + */ + private String stationName; + + /** + * 位置 + */ + private String location; + + /** + * 最大容量,单位:m³ + */ + private BigDecimal maxCapacity; + + /** + * 备注 + */ + private String remark; + + /** + * 创建人 Id;sys_user.id + */ + private Long creatorId; + + /** + * 修改人 Id;sys_user.id + */ + private Long modifierId; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 修改时间 + */ + private LocalDateTime modifyTime; + + /** + * 是否删除;0-->未删除、1-->已删除 + */ + private Boolean deleted; + +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/WarehouseService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/WarehouseService.java index 8460a7e..5a10313 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/WarehouseService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/wh/service/WarehouseService.java @@ -2,13 +2,17 @@ package com.njzscloud.dispose.wh.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njzscloud.common.core.ienum.DictItem; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.dispose.wh.mapper.WarehouseMapper; import com.njzscloud.dispose.wh.pojo.entity.WarehouseEntity; import com.njzscloud.dispose.wh.pojo.param.AddWarehouseParam; +import com.njzscloud.dispose.wh.pojo.result.WarehouseResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -53,18 +57,25 @@ public class WarehouseService extends ServiceImpl paging(PageParam pageParam, WarehouseEntity warehouseEntity) { + public PageResult paging(PageParam pageParam, WarehouseEntity warehouseEntity) { String warehouseName = warehouseEntity.getWarehouseName(); - return PageResult.of(this.page(pageParam.toPage(), Wrappers.query(warehouseEntity) - .eq("deleted", Boolean.FALSE) - .like(StrUtil.isNotBlank(warehouseName), "warehouse_name", warehouseName))); + Long stationId = warehouseEntity.getStationId(); + DictItem type = warehouseEntity.getType(); + QueryWrapper ew = Wrappers.query() + .eq("ww.deleted", 0) + .like(StrUtil.isNotBlank(warehouseName), "ww.warehouse_name", warehouseName) + .eq(stationId != null, "ww.station_id", stationId) + .eq(type != null, "ww.type", type); + + IPage page = baseMapper.paging(pageParam.toPage(), ew); + return PageResult.of(page); } } diff --git a/njzscloud-svr/src/main/resources/mapper/wh/WarehouseMapper.xml b/njzscloud-svr/src/main/resources/mapper/wh/WarehouseMapper.xml new file mode 100644 index 0000000..d1ff338 --- /dev/null +++ b/njzscloud-svr/src/main/resources/mapper/wh/WarehouseMapper.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + SELECT ww.id AS id, + ww.warehouse_name AS warehouse_name, + ww.type AS type, + ww.station_id AS station_id, + cs.station_name AS station_name, + ww.location AS location, + ww.max_capacity AS max_capacity, + ww.remark AS remark, + ww.creator_id AS creator_id, + ww.modifier_id AS modifier_id, + ww.create_time AS create_time, + ww.modify_time AS modify_time, + ww.deleted AS deleted + FROM wh_warehouse ww + LEFT JOIN cst_station cs ON cs.id = ww.station_id + + + + + +