diff --git a/pom.xml b/pom.xml index 975291fe..ddabfa66 100644 --- a/pom.xml +++ b/pom.xml @@ -69,10 +69,10 @@ - dev + wangh-dev - dev + wangh-dev 127.0.0.1:8848 DEFAULT_GROUP DEFAULT_GROUP diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index 0088af3d..e53bf146 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -15,6 +15,7 @@ ruoyi-resource ruoyi-workflow ruoyi-oa + ruoyi-wms ruoyi-modules diff --git a/ruoyi-modules/ruoyi-wms/Dockerfile b/ruoyi-modules/ruoyi-wms/Dockerfile new file mode 100644 index 00000000..4b1eac36 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/Dockerfile @@ -0,0 +1,27 @@ +# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/ +FROM bellsoft/liberica-openjdk-rocky:17.0.16-cds +#FROM bellsoft/liberica-openjdk-rocky:21.0.8-cds +#FROM findepi/graalvm:java17-native + +LABEL maintainer="Lion Li" + +RUN mkdir -p /ruoyi/system/logs \ + /ruoyi/system/temp \ + /ruoyi/skywalking/agent + +WORKDIR /ruoyi/system + +ENV SERVER_PORT=9201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="" + +EXPOSE ${SERVER_PORT} + +ADD ./target/ruoyi-system.jar ./app.jar + +SHELL ["/bin/bash", "-c"] + +ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \ + #-Dskywalking.agent.service_name=ruoyi-system \ + #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \ + -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \ + -jar app.jar + diff --git a/ruoyi-modules/ruoyi-wms/pom.xml b/ruoyi-modules/ruoyi-wms/pom.xml new file mode 100644 index 00000000..fc33ca3c --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/pom.xml @@ -0,0 +1,128 @@ + + + + org.dromara + ruoyi-modules + ${revision} + + 4.0.0 + + ruoyi-wms + + + ruoyi-wms系统模块 + + + + + + org.dromara + ruoyi-common-nacos + + + + + org.dromara + ruoyi-common-log + + + + org.dromara + ruoyi-common-service-impl + + + + org.dromara + ruoyi-common-doc + + + + org.dromara + ruoyi-common-web + + + + org.dromara + ruoyi-common-mybatis + + + + org.dromara + ruoyi-common-dubbo + + + + org.dromara + ruoyi-common-seata + + + + org.dromara + ruoyi-common-idempotent + + + + org.dromara + ruoyi-common-tenant + + + + org.dromara + ruoyi-common-security + + + + org.dromara + ruoyi-common-translation + + + + org.dromara + ruoyi-common-sensitive + + + + org.dromara + ruoyi-common-encrypt + + + + + org.dromara + ruoyi-api-system + + + + org.dromara + ruoyi-api-resource + + + + + org.dromara + ruoyi-api-workflow + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + + + repackage + + + + + + + + diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/RuoYiWmsApplication.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/RuoYiWmsApplication.java new file mode 100644 index 00000000..375087e8 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/RuoYiWmsApplication.java @@ -0,0 +1,22 @@ +package org.dromara.wms; + +import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup; + +/** + * WMS模块 + * + * @author ruoyi + */ +@EnableDubbo +@SpringBootApplication +public class RuoYiWmsApplication { + public static void main(String[] args) { + SpringApplication application = new SpringApplication(RuoYiWmsApplication.class); + application.setApplicationStartup(new BufferingApplicationStartup(2048)); + application.run(args); + System.out.println("(♥◠‿◠)ノ゙ WMS模块启动成功 ლ(´ڡ`ლ)゙ "); + } +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsBaseLocationController.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsBaseLocationController.java new file mode 100644 index 00000000..e10cca3e --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsBaseLocationController.java @@ -0,0 +1,128 @@ +package org.dromara.wms.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.wms.domain.vo.WmsBaseLocationVo; +import org.dromara.wms.domain.bo.WmsBaseLocationBo; +import org.dromara.wms.service.IWmsBaseLocationService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 库位信息 + * 前端访问路由地址为:/wms/baseLocation + * + * @author Yinq + * @date 2025-10-24 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/baseLocation") +public class WmsBaseLocationController extends BaseController { + + private final IWmsBaseLocationService wmsBaseLocationService; + + /** + * 查询库位信息列表 + */ + @SaCheckPermission("wms:baseLocation:list") + @GetMapping("/list") + public TableDataInfo list(WmsBaseLocationBo bo, PageQuery pageQuery) { + return wmsBaseLocationService.queryPageList(bo, pageQuery); + } + + /** + * 导出库位信息列表 + */ + @SaCheckPermission("wms:baseLocation:export") + @Log(title = "库位信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsBaseLocationBo bo, HttpServletResponse response) { + List list = wmsBaseLocationService.queryList(bo); + ExcelUtil.exportExcel(list, "库位信息", WmsBaseLocationVo.class, response); + } + + /** + * 获取库位信息详细信息 + * + * @param locationId 主键 + */ + @SaCheckPermission("wms:baseLocation:query") + @GetMapping("/{locationId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("locationId") Long locationId) { + return R.ok(wmsBaseLocationService.queryById(locationId)); + } + + /** + * 新增库位信息 + */ + @SaCheckPermission("wms:baseLocation:add") + @Log(title = "库位信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsBaseLocationBo bo) { + WmsBaseLocationBo bo1 = new WmsBaseLocationBo(); + bo1.setLocationCode(bo.getLocationCode()); + List list = wmsBaseLocationService.queryList(bo1); + if (!list.isEmpty()) { + return R.fail("库位编码已存在"); + } + return toAjax(wmsBaseLocationService.insertByBo(bo)); + } + + /** + * 修改库位信息 + */ + @SaCheckPermission("wms:baseLocation:edit") + @Log(title = "库位信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsBaseLocationBo bo) { + WmsBaseLocationBo bo1 = new WmsBaseLocationBo(); + bo1.setLocationCode(bo.getLocationCode()); + List list = wmsBaseLocationService.queryList(bo1); + if (!list.isEmpty() && !list.get(0).getLocationId().equals(bo.getLocationId())) { + return R.fail("库位编码已存在"); + } + return toAjax(wmsBaseLocationService.updateByBo(bo)); + } + + /** + * 删除库位信息 + * + * @param locationIds 主键串 + */ + @SaCheckPermission("wms:baseLocation:remove") + @Log(title = "库位信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{locationIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("locationIds") Long[] locationIds) { + return toAjax(wmsBaseLocationService.deleteWithValidByIds(List.of(locationIds), true)); + } + + /** + * 下拉框查询库位信息列表 + */ + @GetMapping("/getWmsBaseLocationList") + public R> getWmsBaseLocationList(WmsBaseLocationBo bo) { + List list = wmsBaseLocationService.queryList(bo); + return R.ok(list); + } + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsWarehouseInfoController.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsWarehouseInfoController.java new file mode 100644 index 00000000..3bb1edd9 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsWarehouseInfoController.java @@ -0,0 +1,123 @@ +package org.dromara.wms.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.wms.domain.vo.WmsWarehouseInfoVo; +import org.dromara.wms.domain.bo.WmsWarehouseInfoBo; +import org.dromara.wms.service.IWmsWarehouseInfoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 仓库信息 + * 前端访问路由地址为:/wms/warehouseInfo + * + * @author Yinq + * @date 2025-10-24 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/warehouseInfo") +public class WmsWarehouseInfoController extends BaseController { + + private final IWmsWarehouseInfoService wmsWarehouseInfoService; + + /** + * 查询仓库信息列表 + */ + @SaCheckPermission("wms:warehouseInfo:list") + @GetMapping("/list") + public TableDataInfo list(WmsWarehouseInfoBo bo, PageQuery pageQuery) { + return wmsWarehouseInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出仓库信息列表 + */ + @SaCheckPermission("wms:warehouseInfo:export") + @Log(title = "仓库信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsWarehouseInfoBo bo, HttpServletResponse response) { + List list = wmsWarehouseInfoService.queryList(bo); + ExcelUtil.exportExcel(list, "仓库信息", WmsWarehouseInfoVo.class, response); + } + + /** + * 获取仓库信息详细信息 + * + * @param warehouseId 主键 + */ + @SaCheckPermission("wms:warehouseInfo:query") + @GetMapping("/{warehouseId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("warehouseId") Long warehouseId) { + return R.ok(wmsWarehouseInfoService.queryById(warehouseId)); + } + + /** + * 新增仓库信息 + */ + @SaCheckPermission("wms:warehouseInfo:add") + @Log(title = "仓库信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsWarehouseInfoBo bo) { + WmsWarehouseInfoBo bo1 = new WmsWarehouseInfoBo(); + bo1.setWarehouseCode(bo.getWarehouseCode()); + List list = wmsWarehouseInfoService.queryList(bo1); + if (!list.isEmpty()) { + return R.fail("仓库编码已存在"); + } + + return toAjax(wmsWarehouseInfoService.insertByBo(bo)); + } + + /** + * 修改仓库信息 + */ + @SaCheckPermission("wms:warehouseInfo:edit") + @Log(title = "仓库信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsWarehouseInfoBo bo) { + return toAjax(wmsWarehouseInfoService.updateByBo(bo)); + } + + /** + * 删除仓库信息 + * + * @param warehouseIds 主键串 + */ + @SaCheckPermission("wms:warehouseInfo:remove") + @Log(title = "仓库信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{warehouseIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("warehouseIds") Long[] warehouseIds) { + return toAjax(wmsWarehouseInfoService.deleteWithValidByIds(List.of(warehouseIds), true)); + } + + /** + * 下拉框查询仓库信息列表 + */ + @GetMapping("/getWmsWarehouseInfoList") + public R> getWmsWarehouseInfoList(WmsWarehouseInfoBo bo) { + List list = wmsWarehouseInfoService.queryList(bo); + return R.ok(list); + } + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/SysDept.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/SysDept.java new file mode 100644 index 00000000..2d32b176 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/SysDept.java @@ -0,0 +1,93 @@ +package org.dromara.wms.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + + +/** + * 部门表 sys_dept + * + * @author Lion Li + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("sys_dept") +public class SysDept extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 部门ID + */ + @TableId(value = "dept_id") + private Long deptId; + + /** + * 父部门ID + */ + private Long parentId; + + /** + * 部门名称 + */ + private String deptName; + + /** + * 部门类别编码 + */ + private String deptCategory; + + /** + * 显示顺序 + */ + private Integer orderNum; + + /** + * 负责人 + */ + private Long leader; + + /** + * 联系电话 + */ + private String phone; + + /** + * 邮箱 + */ + private String email; + + /** + * 部门状态:0正常,1停用 + */ + private String status; + + /** + * 删除标志(0代表存在 1代表删除) + */ + @TableLogic + private String delFlag; + + /** + * 祖级列表 + */ + private String ancestors; + + /** + * 子菜单 + */ + @TableField(exist = false) + private List children = new ArrayList<>(); + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsBaseLocation.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsBaseLocation.java new file mode 100644 index 00000000..3a61b73b --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsBaseLocation.java @@ -0,0 +1,60 @@ +package org.dromara.wms.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; + +/** + * 库位信息对象 wms_base_location + * + * @author Yinq + * @date 2025-10-24 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_base_location") +public class WmsBaseLocation extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 库位ID + */ + @TableId(value = "location_id", type = IdType.AUTO) + private Long locationId; + + /** + * 所属仓库 + */ + private Long warehouseId; + + /** + * 库位编码 + */ + private String locationCode; + + /** + * 库位状态(1启用 0禁用) + */ + private String activeFlag; + + @TableField(exist = false) + /** + * 仓库编码 + */ + private String warehouseCode; + @TableField(exist = false) + /** + * 仓库名称 + */ + private String warehouseName; + + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsWarehouseInfo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsWarehouseInfo.java new file mode 100644 index 00000000..87e1a42b --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsWarehouseInfo.java @@ -0,0 +1,77 @@ +package org.dromara.wms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 仓库信息对象 wms_warehouse_info + * + * @author Yinq + * @date 2025-10-24 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_warehouse_info") +public class WmsWarehouseInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 仓库ID + */ + @TableId(value = "warehouse_id", type = IdType.AUTO) + private Long warehouseId; + + /** + * 仓库编码 + */ + private String warehouseCode; + + /** + * 仓库名称 + */ + private String warehouseName; + + /** + * 仓库类型(1原材料 8样品 9成品) + */ + private String warehouseType; + + /** + * 所属部门ID + */ + private Long deptId; + + /** + * 仓库负责人 + */ + private String warehouseManager; + + /** + * 备注 + */ + private String remark; + + /** + * 仓库状态(1启用 0禁用) + */ + private String activeFlag; + + /** + * 删除标志(0代表存在 1代表删除) + */ + @TableLogic + private String delFlag; + + @TableField(exist = false) + /** + * 部门名称 + */ + private String deptName; + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsBaseLocationBo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsBaseLocationBo.java new file mode 100644 index 00000000..9f83894d --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsBaseLocationBo.java @@ -0,0 +1,53 @@ +package org.dromara.wms.domain.bo; + +import org.dromara.wms.domain.WmsBaseLocation; +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.*; + +/** + * 库位信息业务对象 wms_base_location + * + * @author Yinq + * @date 2025-10-24 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = WmsBaseLocation.class, reverseConvertGenerate = false) +public class WmsBaseLocationBo extends BaseEntity { + + /** + * 库位ID + */ + @NotNull(message = "库位ID不能为空", groups = { EditGroup.class }) + private Long locationId; + + /** + * 所属仓库 + */ + private Long warehouseId; + + /** + * 库位编码 + */ + private String locationCode; + + /** + * 库位状态(1启用 0禁用) + */ + private String activeFlag; + /** + * 仓库编码 + */ + private String warehouseCode; + + /** + * 仓库名称 + */ + private String warehouseName; + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsWarehouseInfoBo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsWarehouseInfoBo.java new file mode 100644 index 00000000..180b4340 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsWarehouseInfoBo.java @@ -0,0 +1,60 @@ +package org.dromara.wms.domain.bo; + +import org.dromara.wms.domain.WmsWarehouseInfo; +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.*; + +/** + * 仓库信息业务对象 wms_warehouse_info + * + * @author Yinq + * @date 2025-10-24 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = WmsWarehouseInfo.class, reverseConvertGenerate = false) +public class WmsWarehouseInfoBo extends BaseEntity { + + private Long warehouseId; + /** + * 仓库编码 + */ + private String warehouseCode; + + /** + * 仓库名称 + */ + private String warehouseName; + + /** + * 仓库类型(1原材料 8样品 9成品) + */ + private String warehouseType; + + /** + * 所属部门ID + */ + private Long deptId; + + /** + * 仓库负责人 + */ + private String warehouseManager; + + /** + * 备注 + */ + private String remark; + + /** + * 仓库状态(1启用 0禁用) + */ + private String activeFlag; + + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseLocationVo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseLocationVo.java new file mode 100644 index 00000000..d1f2aef8 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseLocationVo.java @@ -0,0 +1,81 @@ +package org.dromara.wms.domain.vo; + +import org.dromara.wms.domain.WmsBaseLocation; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.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; + + + +/** + * 库位信息视图对象 wms_base_location + * + * @author Yinq + * @date 2025-10-24 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = WmsBaseLocation.class) +public class WmsBaseLocationVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 库位ID + */ + @ExcelProperty(value = "库位ID") + private Long locationId; + + /** + * 所属仓库 + */ + @ExcelProperty(value = "所属仓库") + private Long warehouseId; + + /** + * 租户编号 + */ + @ExcelProperty(value = "租户编号") + private String tenantId; + + /** + * 库位编码 + */ + @ExcelProperty(value = "库位编码") + private String locationCode; + + /** + * 库位状态(1启用 0禁用) + */ + @ExcelProperty(value = "库位状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "use_state") + private String activeFlag; + + /** + * 创建部门 + */ + @ExcelProperty(value = "创建部门") + private Long createDept; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsWarehouseInfoVo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsWarehouseInfoVo.java new file mode 100644 index 00000000..4349432c --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsWarehouseInfoVo.java @@ -0,0 +1,126 @@ +package org.dromara.wms.domain.vo; + +import org.dromara.wms.domain.WmsWarehouseInfo; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.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; + + + +/** + * 仓库信息视图对象 wms_warehouse_info + * + * @author Yinq + * @date 2025-10-24 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = WmsWarehouseInfo.class) +public class WmsWarehouseInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 仓库ID + */ + @ExcelProperty(value = "仓库ID") + private Long warehouseId; + + /** + * 租户编号 + */ + @ExcelProperty(value = "租户编号") + private String tenantId; + + /** + * 仓库编码 + */ + @ExcelProperty(value = "仓库编码") + private String warehouseCode; + + /** + * 仓库名称 + */ + @ExcelProperty(value = "仓库名称") + private String warehouseName; + + /** + * 仓库类型(1原材料 8样品 9成品) + */ + @ExcelProperty(value = "仓库类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=原材料,8=样品,9=成品") + private String warehouseType; + + /** + * 所属部门ID + */ + @ExcelProperty(value = "所属部门ID") + private Long deptId; + + /** + * 仓库负责人 + */ + @ExcelProperty(value = "仓库负责人") + private String warehouseManager; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 仓库状态(1启用 0禁用) + */ + @ExcelProperty(value = "仓库状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 删除标志(0代表存在 1代表删除) + */ + @ExcelProperty(value = "删除标志", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String delFlag; + + /** + * 创建部门 + */ + @ExcelProperty(value = "创建部门") + private Long createDept; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private Long createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ExcelProperty(value = "更新人") + private Long updateBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + + private String deptName; + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/SysDeptMapper.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/SysDeptMapper.java new file mode 100644 index 00000000..c13dc855 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/SysDeptMapper.java @@ -0,0 +1,7 @@ +package org.dromara.wms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.dromara.wms.domain.SysDept; + +public interface SysDeptMapper extends BaseMapper { +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsBaseLocationMapper.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsBaseLocationMapper.java new file mode 100644 index 00000000..7079e4ec --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsBaseLocationMapper.java @@ -0,0 +1,37 @@ +package org.dromara.wms.mapper; + +import java.util.List; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.dromara.wms.domain.WmsBaseLocation; +import org.dromara.wms.domain.vo.WmsBaseLocationVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 库位信息Mapper接口 + * + * @author Yinq + * @date 2025-10-24 + */ +public interface WmsBaseLocationMapper extends BaseMapperPlus { + + /** + * 查询库位信息列表 + * + * @param page 分页 + * @param queryWrapper 条件 + * @return 库位信息集合 + */ + public Page selectCustomWmsBaseLocationVoList(@Param("page") Page page, @Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + + /** + * 查询库位信息列表 + * + * @param queryWrapper 条件 + * @return 库位信息集合 + */ + public List selectCustomWmsBaseLocationVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsWarehouseInfoMapper.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsWarehouseInfoMapper.java new file mode 100644 index 00000000..a97f7012 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsWarehouseInfoMapper.java @@ -0,0 +1,39 @@ +package org.dromara.wms.mapper; + +import java.util.List; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.dromara.wms.domain.WmsWarehouseInfo; +import org.dromara.wms.domain.vo.WmsWarehouseInfoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.springframework.stereotype.Repository; + +/** + * 仓库信息Mapper接口 + * + * @author Yinq + * @date 2025-10-24 + */ +@Repository +public interface WmsWarehouseInfoMapper extends BaseMapperPlus { + + /** + * 查询仓库信息列表 + * + * @param page 分页 + * @param queryWrapper 条件 + * @return 仓库信息集合 + */ + public Page selectCustomWmsWarehouseInfoVoList(@Param("page") Page page, @Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + + /** + * 查询仓库信息列表 + * + * @param queryWrapper 条件 + * @return 仓库信息集合 + */ + public List selectCustomWmsWarehouseInfoVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsBaseLocationService.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsBaseLocationService.java new file mode 100644 index 00000000..73f38f07 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsBaseLocationService.java @@ -0,0 +1,69 @@ +package org.dromara.wms.service; + +import org.dromara.wms.domain.WmsBaseLocation; +import org.dromara.wms.domain.vo.WmsBaseLocationVo; +import org.dromara.wms.domain.bo.WmsBaseLocationBo; +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-10-24 + */ +public interface IWmsBaseLocationService { + + /** + * 查询库位信息 + * + * @param locationId 主键 + * @return 库位信息 + */ + WmsBaseLocationVo queryById(Long locationId); + + /** + * 分页查询库位信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 库位信息分页列表 + */ + TableDataInfo queryPageList(WmsBaseLocationBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的库位信息列表 + * + * @param bo 查询条件 + * @return 库位信息列表 + */ + List queryList(WmsBaseLocationBo bo); + + /** + * 新增库位信息 + * + * @param bo 库位信息 + * @return 是否新增成功 + */ + Boolean insertByBo(WmsBaseLocationBo bo); + + /** + * 修改库位信息 + * + * @param bo 库位信息 + * @return 是否修改成功 + */ + Boolean updateByBo(WmsBaseLocationBo bo); + + /** + * 校验并批量删除库位信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsWarehouseInfoService.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsWarehouseInfoService.java new file mode 100644 index 00000000..54fbb51d --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsWarehouseInfoService.java @@ -0,0 +1,69 @@ +package org.dromara.wms.service; + +import org.dromara.wms.domain.WmsWarehouseInfo; +import org.dromara.wms.domain.vo.WmsWarehouseInfoVo; +import org.dromara.wms.domain.bo.WmsWarehouseInfoBo; +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-10-24 + */ +public interface IWmsWarehouseInfoService { + + /** + * 查询仓库信息 + * + * @param warehouseId 主键 + * @return 仓库信息 + */ + WmsWarehouseInfoVo queryById(Long warehouseId); + + /** + * 分页查询仓库信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 仓库信息分页列表 + */ + TableDataInfo queryPageList(WmsWarehouseInfoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的仓库信息列表 + * + * @param bo 查询条件 + * @return 仓库信息列表 + */ + List queryList(WmsWarehouseInfoBo bo); + + /** + * 新增仓库信息 + * + * @param bo 仓库信息 + * @return 是否新增成功 + */ + Boolean insertByBo(WmsWarehouseInfoBo bo); + + /** + * 修改仓库信息 + * + * @param bo 仓库信息 + * @return 是否修改成功 + */ + Boolean updateByBo(WmsWarehouseInfoBo bo); + + /** + * 校验并批量删除仓库信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java new file mode 100644 index 00000000..a41d34d7 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java @@ -0,0 +1,137 @@ +package org.dromara.wms.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.wms.domain.WmsWarehouseInfo; +import org.springframework.stereotype.Service; +import org.dromara.wms.domain.bo.WmsBaseLocationBo; +import org.dromara.wms.domain.vo.WmsBaseLocationVo; +import org.dromara.wms.domain.WmsBaseLocation; +import org.dromara.wms.mapper.WmsBaseLocationMapper; +import org.dromara.wms.service.IWmsBaseLocationService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 库位信息Service业务层处理 + * + * @author Yinq + * @date 2025-10-24 + */ +@RequiredArgsConstructor +@Service +public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService { + + private final WmsBaseLocationMapper baseMapper; + + /** + * 查询库位信息 + * + * @param locationId 主键 + * @return 库位信息 + */ + @Override + public WmsBaseLocationVo queryById(Long locationId){ + return baseMapper.selectVoById(locationId); + } + + /** + * 分页查询库位信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 库位信息分页列表 + */ + @Override + public TableDataInfo queryPageList(WmsBaseLocationBo 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(WmsBaseLocationBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(WmsBaseLocationBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsBaseLocation.class) + .selectAll(WmsBaseLocation.class) + .eq(bo.getWarehouseId() != null, WmsBaseLocation::getWarehouseId, bo.getWarehouseId()) + .eq(StringUtils.isNotBlank(bo.getLocationCode()), WmsBaseLocation::getLocationCode, bo.getLocationCode()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), WmsBaseLocation::getActiveFlag, bo.getActiveFlag()) + .leftJoin(WmsWarehouseInfo.class, WmsWarehouseInfo::getWarehouseId, WmsBaseLocation::getWarehouseId) + .select(WmsWarehouseInfo::getWarehouseCode,WmsWarehouseInfo::getWarehouseName) +; + return lqw; + } + + /** + * 新增库位信息 + * + * @param bo 库位信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(WmsBaseLocationBo bo) { + WmsBaseLocation add = MapstructUtils.convert(bo, WmsBaseLocation.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setLocationId(add.getLocationId()); + } + return flag; + } + + /** + * 修改库位信息 + * + * @param bo 库位信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(WmsBaseLocationBo bo) { + WmsBaseLocation update = MapstructUtils.convert(bo, WmsBaseLocation.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsBaseLocation 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/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsWarehouseInfoServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsWarehouseInfoServiceImpl.java new file mode 100644 index 00000000..a3b6eb5f --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsWarehouseInfoServiceImpl.java @@ -0,0 +1,129 @@ +package org.dromara.wms.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.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.wms.domain.SysDept; +import org.dromara.wms.domain.WmsWarehouseInfo; +import org.dromara.wms.domain.bo.WmsWarehouseInfoBo; +import org.dromara.wms.domain.vo.WmsWarehouseInfoVo; +import org.dromara.wms.mapper.WmsWarehouseInfoMapper; +import org.dromara.wms.service.IWmsWarehouseInfoService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 仓库信息Service业务层处理 + * + * @author Yinq + * @date 2025-10-24 + */ +@RequiredArgsConstructor +@Service +public class WmsWarehouseInfoServiceImpl implements IWmsWarehouseInfoService { + + private final WmsWarehouseInfoMapper baseMapper; + + /** + * 查询仓库信息 + * + * @param warehouseId 主键 + * @return 仓库信息 + */ + @Override + public WmsWarehouseInfoVo queryById(Long warehouseId) { + return baseMapper.selectVoById(warehouseId); + } + + /** + * 分页查询仓库信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 仓库信息分页列表 + */ + @Override + public TableDataInfo queryPageList(WmsWarehouseInfoBo 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(WmsWarehouseInfoBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(WmsWarehouseInfoBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsWarehouseInfo.class) + .selectAll(WmsWarehouseInfo.class) + .like(StringUtils.isNotBlank(bo.getWarehouseName()), WmsWarehouseInfo::getWarehouseName, bo.getWarehouseName()) + .eq(StringUtils.isNotBlank(bo.getWarehouseType()), WmsWarehouseInfo::getWarehouseType, bo.getWarehouseType()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), WmsWarehouseInfo::getActiveFlag, bo.getActiveFlag()) + .leftJoin(SysDept.class, SysDept::getDeptId, WmsWarehouseInfo::getDeptId) + .select(SysDept::getDeptName); + return lqw; + } + + /** + * 新增仓库信息 + * + * @param bo 仓库信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(WmsWarehouseInfoBo bo) { + WmsWarehouseInfo add = MapstructUtils.convert(bo, WmsWarehouseInfo.class); + + boolean flag = baseMapper.insert(add) > 0; + // if (flag) { + // bo.setWarehouseId(add.getWarehouseId()); + // } + return flag; + } + + /** + * 修改仓库信息 + * + * @param bo 仓库信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(WmsWarehouseInfoBo bo) { + WmsWarehouseInfo update = MapstructUtils.convert(bo, WmsWarehouseInfo.class); + return baseMapper.updateById(update) > 0; + } + + + + /** + * 校验并批量删除仓库信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + /*if (isValid) { + + }*/ + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/resources/application.yml b/ruoyi-modules/ruoyi-wms/src/main/resources/application.yml new file mode 100644 index 00000000..3a58c840 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/resources/application.yml @@ -0,0 +1,34 @@ +# Tomcat +server: + port: 9200 + +# Spring +spring: + application: + # 应用名称 + name: ruoyi-wms + profiles: + # 环境配置 + active: @profiles.active@ + +--- # nacos 配置 +spring: + cloud: + nacos: + # nacos 服务地址 + server-addr: @nacos.server@ + username: @nacos.username@ + password: @nacos.password@ + discovery: + # 注册组 + group: @nacos.discovery.group@ + namespace: ${spring.profiles.active} + config: + # 配置组 + group: @nacos.config.group@ + namespace: ${spring.profiles.active} + config: + import: + - optional:nacos:application-common.yml + - optional:nacos:datasource.yml + - optional:nacos:${spring.application.name}.yml diff --git a/ruoyi-modules/ruoyi-wms/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-wms/src/main/resources/banner.txt new file mode 100644 index 00000000..fbd45f53 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/resources/banner.txt @@ -0,0 +1,10 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + _ _ + (_) | | + _ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___ +| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \ +| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | | +|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_| + __/ | __/ | + |___/ |___/ \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-wms/src/main/resources/logback-plus.xml b/ruoyi-modules/ruoyi-wms/src/main/resources/logback-plus.xml new file mode 100644 index 00000000..00d30896 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/resources/logback-plus.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + ${console.log.pattern} + utf-8 + + + + + + + + + + + + + + + diff --git a/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/package-info.md b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/package-info.md new file mode 100644 index 00000000..c938b1e5 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/package-info.md @@ -0,0 +1,3 @@ +java包使用 `.` 分割 resource 目录使用 `/` 分割 +
+此文件目的 防止文件夹粘连找不到 `xml` 文件 \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsBaseLocationMapper.xml b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsBaseLocationMapper.xml new file mode 100644 index 00000000..3f009637 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsBaseLocationMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsWarehouseInfoMapper.xml b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsWarehouseInfoMapper.xml new file mode 100644 index 00000000..ac2655a7 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsWarehouseInfoMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/script/config/nacos/ruoyi-wms.yml b/script/config/nacos/ruoyi-wms.yml new file mode 100644 index 00000000..81550294 --- /dev/null +++ b/script/config/nacos/ruoyi-wms.yml @@ -0,0 +1,25 @@ +spring: + datasource: + dynamic: + # 设置默认的数据源或者数据源组,默认值即为 master + primary: master + datasource: + # 主库数据源 + master: + type: ${spring.datasource.type} + driver-class-name: com.mysql.cj.jdbc.Driver + url: ${datasource.system-master.url} + username: ${datasource.system-master.username} + password: ${datasource.system-master.password} +# oracle: +# type: ${spring.datasource.type} +# driverClassName: oracle.jdbc.OracleDriver +# url: ${datasource.system-oracle.url} +# username: ${datasource.system-oracle.username} +# password: ${datasource.system-oracle.password} +# postgres: +# type: ${spring.datasource.type} +# driverClassName: org.postgresql.Driver +# url: ${datasource.system-postgres.url} +# username: ${datasource.system-postgres.username} +# password: ${datasource.system-postgres.password}