ソースを参照

[insert] 项目初始化

miajio 1 ヶ月 前
コミット
33d0a2f53c
60 ファイル変更2325 行追加31 行削除
  1. 3 3
      warehouse-admin-data/pom.xml
  2. 30 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/bo/AdminUserDeviceBo.java
  3. 34 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/bo/AdminUserRoleBo.java
  4. 92 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/bo/BaseBo.java
  5. 25 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/bo/BasePageBo.java
  6. 38 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/menu/BoolEnum.java
  7. 30 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/menu/DeleteEnum.java
  8. 29 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/vo/OperatorChainNameAware.java
  9. 20 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/vo/OperatorNameByChain.java
  10. 26 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/config/MybatisPlusConfig.java
  11. 0 14
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/data/Test.java
  12. 128 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/AggregationPickDetail.java
  13. 123 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/AggregationPickInfo.java
  14. 50 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/AggregationPickLink.java
  15. 146 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/PickingOrderDetail.java
  16. 146 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/PickingOrderInfo.java
  17. 134 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/ReplenishOrderDetail.java
  18. 152 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/ReplenishOrderInfo.java
  19. 16 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/AggregationPickDetailMapper.java
  20. 16 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/AggregationPickInfoMapper.java
  21. 16 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/AggregationPickLinkMapper.java
  22. 16 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/PickingOrderDetailMapper.java
  23. 16 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/PickingOrderInfoMapper.java
  24. 16 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/ReplenishOrderDetailMapper.java
  25. 16 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/ReplenishOrderInfoMapper.java
  26. 31 0
      warehouse-admin-data/src/main/resources/mapper/replenish/AggregationPickDetailMapper.xml
  27. 30 0
      warehouse-admin-data/src/main/resources/mapper/replenish/AggregationPickInfoMapper.xml
  28. 18 0
      warehouse-admin-data/src/main/resources/mapper/replenish/AggregationPickLinkMapper.xml
  29. 34 0
      warehouse-admin-data/src/main/resources/mapper/replenish/PickingOrderDetailMapper.xml
  30. 34 0
      warehouse-admin-data/src/main/resources/mapper/replenish/PickingOrderInfoMapper.xml
  31. 32 0
      warehouse-admin-data/src/main/resources/mapper/replenish/ReplenishOrderDetailMapper.xml
  32. 35 0
      warehouse-admin-data/src/main/resources/mapper/replenish/ReplenishOrderInfoMapper.xml
  33. 159 0
      warehouse-admin-data/src/main/test/com/supplychain/CodeGenerator.java
  34. 0 14
      warehouse-admin-event/src/main/java/com/yr/warehouse/admin/event/Test.java
  35. 16 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/AggregationPickDetailService.java
  36. 16 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/AggregationPickInfoService.java
  37. 16 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/AggregationPickLinkService.java
  38. 16 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/PickingOrderDetailService.java
  39. 16 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/PickingOrderInfoService.java
  40. 16 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/ReplenishOrderDetailService.java
  41. 16 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/ReplenishOrderInfoService.java
  42. 20 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/AggregationPickDetailServiceImpl.java
  43. 20 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/AggregationPickInfoServiceImpl.java
  44. 20 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/AggregationPickLinkServiceImpl.java
  45. 20 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/PickingOrderDetailServiceImpl.java
  46. 20 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/PickingOrderInfoServiceImpl.java
  47. 20 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/ReplenishOrderDetailServiceImpl.java
  48. 20 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/ReplenishOrderInfoServiceImpl.java
  49. 12 0
      warehouse-admin-web/pom.xml
  50. 59 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/BaseController.java
  51. 9 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/BuildUserInfo.java
  52. 35 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/OssController.java
  53. 41 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/Debounce.java
  54. 56 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/DebounceAspect.java
  55. 13 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/DebounceClass.java
  56. 18 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/DebounceParam.java
  57. 78 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/DebounceParamGenerator.java
  58. 14 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/deprecated/DeprecatedApi.java
  59. 18 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/deprecated/DeprecatedApiAspect.java
  60. 29 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/mapstruct/AdminUserInfoMapstruct.java

+ 3 - 3
warehouse-admin-data/pom.xml

@@ -36,9 +36,9 @@
         </dependency>
 
         <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>8.0.18</version>
+            <groupId>com.mysql</groupId>
+            <artifactId>mysql-connector-j</artifactId>
+            <version>8.2.0</version>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 30 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/bo/AdminUserDeviceBo.java

@@ -0,0 +1,30 @@
+/**
+ * 湖南有人网络有限公司
+ **/
+package com.yr.warehouse.admin.common.bo;
+
+import lombok.Data;
+
+/**
+ * @ClassName AdminUserDevice
+ * @Description: 类描述
+ * @Author: pete
+ * @CreateDate: 2024/4/23 16:19
+ * @Version: 1.0
+ */
+@Data
+public class AdminUserDeviceBo {
+
+    /**
+     * 设备id
+     */
+    private Long deviceId;
+    /**
+     * 设备编号
+     */
+    private String deviceNumber;
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+}

+ 34 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/bo/AdminUserRoleBo.java

@@ -0,0 +1,34 @@
+/**
+ * 湖南有人网络有限公司
+ **/
+package com.yr.warehouse.admin.common.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 用户资源信息
+ *
+ * @ClassName SourceContex
+ * @Description: 类描述
+ * @Author: pete
+ * @CreateDate: 2024/4/22 19:18
+ * @Version: 1.0
+ */
+@Data
+public class AdminUserRoleBo implements Serializable {
+    /**
+     * 角色id
+     */
+    private Long roleId;
+    /**
+     * 角色编码
+     */
+    private String roleCode;
+    /**
+     * 角色名称
+     */
+    private String roleName;
+
+}

+ 92 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/bo/BaseBo.java

@@ -0,0 +1,92 @@
+/**
+ * 湖南有人网络有限公司
+ **/
+package com.yr.warehouse.admin.common.bo;
+
+import lombok.Data;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @ClassName BaseBo
+ * @Description: 类描述
+ * @Author: pete
+ * @CreateDate: 2024/4/25 10:54
+ * @Version: 1.0
+ */
+@Data
+public class BaseBo {
+    /**
+     * 用户uid
+     */
+    private Long uid;
+    /**
+     * 用户名称
+     */
+    private String username;
+    /**
+     * 运营商id
+     */
+    private Long adminOperatorId;
+    /**
+     * 运营商id链
+     */
+    private String adminOperatorChain;
+    /**
+     * 部门id
+     */
+    private Long adminDepartmentId;
+    /**
+     * 部门链
+     */
+    private String adminDepartmentChain;
+    /**
+     * 用户角色标识
+     */
+    private List<String> roleCodeSet;
+    /**
+     * 用户角色
+     */
+    private List<AdminUserRoleBo> roleList;
+    /**
+     * 当前资源限制数据等级:ONESELF:仅自己|DEPARTMENT_SELF:本部门|DEPARTMENT:部门及以下|ALL:所有
+     */
+    private String limitLevel;
+    /**
+     * 当前登录用户绑定设备
+     */
+    private List<AdminUserDeviceBo> userDeviceList;
+    /**
+     * 用户域:ADMIN:管理员|EMPLOYEE:员工|CUSTOMER:客户
+     */
+    private String userDomain;
+
+    public boolean authChildren() {
+        return Objects.equals(this.limitLevel, "DEPARTMENT") || Objects.equals(this.limitLevel, "ALL");
+    }
+
+    public boolean isAdminUser() {
+        return Objects.equals(this.userDomain, "ADMIN");
+    }
+
+    public boolean isSuperUser() {
+        return adminOperatorChain != null && !adminOperatorChain.contains("-");
+    }
+
+    public Long getCreateUid() {
+        return uid;
+    }
+
+    public String getCreateName() {
+        return username;
+    }
+
+    public Long getModifyUid() {
+        return uid;
+    }
+
+    public String getModifyName() {
+        return username;
+    }
+}

+ 25 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/bo/BasePageBo.java

@@ -0,0 +1,25 @@
+/**
+ * 湖南有人网络有限公司
+ **/
+package com.yr.warehouse.admin.common.bo;
+
+import lombok.Data;
+
+/**
+ * @ClassName BaseBo
+ * @Description: 类描述
+ * @Author: pete
+ * @CreateDate: 2024/4/25 10:54
+ * @Version: 1.0
+ */
+@Data
+public class BasePageBo extends BaseBo {
+    /**
+     * 当前页
+     */
+    private Integer pageNum;
+    /**
+     * 每页显示条数
+     */
+    private Integer pageSize;
+}

+ 38 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/menu/BoolEnum.java

@@ -0,0 +1,38 @@
+package com.yr.warehouse.admin.common.menu;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@AllArgsConstructor
+@Getter
+public enum BoolEnum {
+
+    YES(true, 1, "是"),
+    NO(false, 0, "否");
+
+    private final boolean value;
+
+    private final Integer code;
+
+    private final String desc;
+
+    public static boolean getBoolByName(String name) {
+        for (BoolEnum item : BoolEnum.values()) {
+            if (item.name().equals(name)) {
+                return item.value;
+            }
+        }
+        return false;
+    }
+
+    public static BoolEnum getByCode(Integer code) {
+        for (BoolEnum item : BoolEnum.values()) {
+            if (item.getCode().equals(code)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+
+}

+ 30 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/menu/DeleteEnum.java

@@ -0,0 +1,30 @@
+package com.yr.warehouse.admin.common.menu;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 删除枚举
+ */
+@Getter
+@AllArgsConstructor
+public enum DeleteEnum {
+
+    NORMAL("正常"),
+    DELETE("删除");
+
+    private final String desc;
+
+    public static DeleteEnum getByCode(String code) {
+        for (DeleteEnum value : DeleteEnum.values()) {
+            if (value.name().equals(code)) {
+                return value;
+            }
+        }
+        return null;
+    }
+
+    public static boolean isDelete(String status) {
+        return DELETE.name().equals(status);
+    }
+}

+ 29 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/vo/OperatorChainNameAware.java

@@ -0,0 +1,29 @@
+/**
+ * 湖南有人网络有限公司
+ **/
+package com.yr.warehouse.admin.common.vo;
+
+/**
+ * @ClassName Aware
+ * @Description: 类描述
+ * @Author: pete
+ * @CreateDate: 2024/4/25 17:33
+ * @Version: 1.0
+ */
+public interface OperatorChainNameAware {
+
+    /**
+     * 获取运营商链
+     *
+     * @return
+     */
+    String getOperatorChain();
+
+    /**
+     * 设置运营商链名称
+     *
+     * @param operatorChainName
+     */
+    void setOperatorChainName(String operatorChainName);
+
+}

+ 20 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/common/vo/OperatorNameByChain.java

@@ -0,0 +1,20 @@
+package com.yr.warehouse.admin.common.vo;
+
+import java.util.Objects;
+
+public class OperatorNameByChain {
+
+    /**
+     * 基于运营商名称链获取运营商名称
+     */
+    public static String getOperatorNameByChain(String operatorName, String operatorChainName) {
+        if (Objects.nonNull(operatorName)) {
+            return operatorName;
+        } else if (Objects.nonNull(operatorChainName)){
+            String  [] chainNames = operatorChainName.split(">>");
+            return chainNames.length > 0 ? chainNames[chainNames.length - 1] : null;
+        }
+        return null;
+    }
+
+}

+ 26 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/config/MybatisPlusConfig.java

@@ -0,0 +1,26 @@
+package com.yr.warehouse.admin.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.mybatis.spring.annotation.MapperScans;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@MapperScans({
+        @MapperScan("com.yr.warehouse.admin.**.mapper")
+})
+public class MybatisPlusConfig {
+
+    /**
+     * 添加分页插件
+     */
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));//如果配置多个插件,切记分页最后添加
+        return interceptor;
+    }
+}

+ 0 - 14
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/data/Test.java

@@ -1,14 +0,0 @@
-/**
- * 湖南有人网络有限公司
- **/
-package com.yr.warehouse.admin.data;
-
-/**
- * @ClassName Test
- * @Description: 类描述
- * @Author: pete
- * @CreateDate: 2025/9/12 15:54	
- * @Version: 1.0
- */
-public class Test {
-}

+ 128 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/AggregationPickDetail.java

@@ -0,0 +1,128 @@
+package com.yr.warehouse.admin.replenish.entity;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 拣货单汇总单子表
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:14
+ */
+@Getter
+@Setter
+@TableName("yr_aggregation_pick_detail")
+public class AggregationPickDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 自增长 id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 订单编号
+     */
+    @TableField("order_number")
+    private String orderNumber;
+
+    /**
+     * 商品id
+     */
+    @TableField("goods_id")
+    private Integer goodsId;
+
+    /**
+     * 拣货数
+     */
+    @TableField("picking_number")
+    private Integer pickingNumber;
+
+    /**
+     * 拣货件数
+     */
+    @TableField("picking_pieces")
+    private Integer pickingPieces;
+
+    /**
+     * 实际拣货数
+     */
+    @TableField("real_picking_number")
+    private Integer realPickingNumber;
+
+    /**
+     * 实际拣货件数
+     */
+    @TableField("real_picking_pieces")
+    private Integer realPickingPieces;
+
+    /**
+     * 状态: UN_PICK 未拣货 PICK 拣货中 UN_REPLENISH 未补货 REPLENISH_ING 补货中 REPLENISH_END 补货完成
+     */
+    @TableField("status")
+    private String status;
+
+    /**
+     * 多给个数
+     */
+    @TableField("more_number")
+    private Integer moreNumber;
+
+    /**
+     * 原拣货拣货数(件数*规格+多给的实际原总拣货数)
+     */
+    @TableField("old_all_picking_number")
+    private Integer oldAllPickingNumber;
+
+    /**
+     * 每件个数
+     */
+    @TableField("pieces_number")
+    private Integer piecesNumber;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    /**
+     * 创建人uid
+     */
+    @TableField("create_uid")
+    private Long createUid;
+
+    /**
+     * 创建人名称
+     */
+    @TableField("create_name")
+    private String createName;
+
+    /**
+     * 修改时间
+     */
+    @TableField("modify_time")
+    private LocalDateTime modifyTime;
+
+    /**
+     * 修改人uid
+     */
+    @TableField("modify_uid")
+    private Long modifyUid;
+
+    /**
+     * 修改人名称
+     */
+    @TableField("modify_name")
+    private String modifyName;
+}

+ 123 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/AggregationPickInfo.java

@@ -0,0 +1,123 @@
+package com.yr.warehouse.admin.replenish.entity;
+
+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 java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 拣货单汇总单主表
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Getter
+@Setter
+@TableName("yr_aggregation_pick_info")
+public class AggregationPickInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 自增长id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 订单编号
+     */
+    @TableField("order_number")
+    private String orderNumber;
+
+    /**
+     * 仓库id
+     */
+    @TableField("warehouse_info_id")
+    private Long warehouseInfoId;
+
+    /**
+     * 区域员工关系id
+     */
+    @TableField("area_staff_id")
+    private Long areaStaffId;
+
+    /**
+     * 补货员账号id
+     */
+    @TableField("replenish_account_id")
+    private Long replenishAccountId;
+
+    /**
+     * 拣货员
+     */
+    @TableField("picking_user")
+    private String pickingUser;
+
+    /**
+     * 拣货完成时间
+     */
+    @TableField("picking_time")
+    private LocalDateTime pickingTime;
+
+    /**
+     * 汇总单类型: AUTO 自动 CUSTOM 手动 MERGE 合并
+     */
+    @TableField("aggregation_type")
+    private String aggregationType;
+
+    /**
+     * 状态: UN_PICK 未拣货 PICK 拣货中 UN_REPLENISH 未补货 REPLENISH_ING 补货中 REPLENISH_END 补货完成 CANCEL 正常已取消 OUT_CANCEL 已出库取消
+     */
+    @TableField("status")
+    private String status;
+
+    /**
+     * 运行时间,yyyy-MM-dd
+     */
+    @TableField("run_time")
+    private LocalDate runTime;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    /**
+     * 创建人uid
+     */
+    @TableField("create_uid")
+    private Long createUid;
+
+    /**
+     * 创建人名称
+     */
+    @TableField("create_name")
+    private String createName;
+
+    /**
+     * 修改时间
+     */
+    @TableField("modify_time")
+    private LocalDateTime modifyTime;
+
+    /**
+     * 修改人uid
+     */
+    @TableField("modify_uid")
+    private Long modifyUid;
+
+    /**
+     * 修改人名称
+     */
+    @TableField("modify_name")
+    private String modifyName;
+}

+ 50 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/AggregationPickLink.java

@@ -0,0 +1,50 @@
+package com.yr.warehouse.admin.replenish.entity;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 汇总单拣货单关联表
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Getter
+@Setter
+@TableName("yr_aggregation_pick_link")
+public class AggregationPickLink implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 自增长id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 汇总单单号
+     */
+    @TableField("aggregation_order_number")
+    private String aggregationOrderNumber;
+
+    /**
+     * 拣货单单号
+     */
+    @TableField("picking_order_number")
+    private String pickingOrderNumber;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private LocalDateTime createTime;
+}

+ 146 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/PickingOrderDetail.java

@@ -0,0 +1,146 @@
+package com.yr.warehouse.admin.replenish.entity;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 拣货单详情表
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Getter
+@Setter
+@TableName("yr_picking_order_detail")
+public class PickingOrderDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 自增长id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 拣货单单号
+     */
+    @TableField("order_number")
+    private String orderNumber;
+
+    /**
+     * 拣货数
+     */
+    @TableField("picking_number")
+    private Integer pickingNumber;
+
+    /**
+     * 设备货道id
+     */
+    @TableField("cargo_way_id")
+    private Long cargoWayId;
+
+    /**
+     * 商品id
+     */
+    @TableField("goods_id")
+    private Integer goodsId;
+
+    /**
+     * 货道容量
+     */
+    @TableField("cargo_way_limit_number")
+    private Integer cargoWayLimitNumber;
+
+    /**
+     * 货道当时的库存
+     */
+    @TableField("cargo_way_stock_number")
+    private Integer cargoWayStockNumber;
+
+    /**
+     * 货道拣货状态 0: 未拣货 1:拣货中 2:拣货完成
+     */
+    @TableField("cargo_way_picking_status")
+    private Integer cargoWayPickingStatus;
+
+    /**
+     * 是否换货
+     */
+    @TableField("is_replace")
+    private Integer isReplace;
+
+    /**
+     * 换品方式:DOWN:原商品下架|HOLD:原商品保留
+     */
+    @TableField("way")
+    private String way;
+
+    /**
+     * 是否需要汇总: 0 不需要 1 需要
+     */
+    @TableField("is_aggregation")
+    private Integer isAggregation;
+
+    /**
+     * 是否有仓库库存
+     */
+    @TableField("has_warehouse_stock")
+    private Boolean hasWarehouseStock;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    /**
+     * 创建用户名称
+     */
+    @TableField("create_name")
+    private String createName;
+
+    /**
+     * 创建用户id
+     */
+    @TableField("create_uid")
+    private Long createUid;
+
+    /**
+     * 修改时间
+     */
+    @TableField("modify_time")
+    private LocalDateTime modifyTime;
+
+    /**
+     * 修改人uid
+     */
+    @TableField("modify_uid")
+    private Long modifyUid;
+
+    /**
+     * 修改人名称
+     */
+    @TableField("modify_name")
+    private String modifyName;
+
+    /**
+     * 仓库当时的库存
+     */
+    @TableField("warehouse_inventory")
+    private Long warehouseInventory;
+
+    /**
+     * 库位名称
+     */
+    @TableField("location_numbers")
+    private String locationNumbers;
+}

+ 146 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/PickingOrderInfo.java

@@ -0,0 +1,146 @@
+package com.yr.warehouse.admin.replenish.entity;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 拣货单主表
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Getter
+@Setter
+@TableName("yr_picking_order_info")
+public class PickingOrderInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 自增长id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 运营商id
+     */
+    @TableField("operator_id")
+    private Long operatorId;
+
+    /**
+     * 运营商id链
+     */
+    @TableField("operator_chain")
+    private String operatorChain;
+
+    /**
+     * 拣货单单号
+     */
+    @TableField("order_number")
+    private String orderNumber;
+
+    /**
+     * 父拣货单单号
+     */
+    @TableField("parent_order_number")
+    private String parentOrderNumber;
+
+    /**
+     * 补货计划编号
+     */
+    @TableField("line_plan_number")
+    private String linePlanNumber;
+
+    /**
+     * 仓库id
+     */
+    @TableField("warehouse_info_id")
+    private Long warehouseInfoId;
+
+    /**
+     * 运营商设备id
+     */
+    @TableField("device_id")
+    private Long deviceId;
+
+    /**
+     * 区域员工关系id
+     */
+    @TableField("area_staff_id")
+    private Long areaStaffId;
+
+    /**
+     * 拣货员
+     */
+    @TableField("picking_user")
+    private String pickingUser;
+
+    /**
+     * 箱数
+     */
+    @TableField("box_num")
+    private Integer boxNum;
+
+    /**
+     * 拣货单类型 0: 常规 1: 增补(基于容量 - (常规拣货单拣货数 + 库存)) 2: 多补(重新计算拣货数据)
+     */
+    @TableField("picking_type")
+    private Integer pickingType;
+
+    /**
+     * 拣货单状态 0: 未拣货 1:拣货中 2:拣货完成 3:未出库删除 4:出库删除
+     */
+    @TableField("picking_status")
+    private Integer pickingStatus;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    /**
+     * 创建用户名称
+     */
+    @TableField("create_name")
+    private String createName;
+
+    /**
+     * 创建用户id
+     */
+    @TableField("create_uid")
+    private Long createUid;
+
+    /**
+     * 修改时间
+     */
+    @TableField("modify_time")
+    private LocalDateTime modifyTime;
+
+    /**
+     * 修改人uid
+     */
+    @TableField("modify_uid")
+    private Long modifyUid;
+
+    /**
+     * 修改人名称
+     */
+    @TableField("modify_name")
+    private String modifyName;
+
+    /**
+     * 是否允许临期商品
+     */
+    @TableField("advent_sale")
+    private Boolean adventSale;
+}

+ 134 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/ReplenishOrderDetail.java

@@ -0,0 +1,134 @@
+package com.yr.warehouse.admin.replenish.entity;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 补货单详情表
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Getter
+@Setter
+@TableName("yr_replenish_order_detail")
+public class ReplenishOrderDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 自增长id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 拣货单单号
+     */
+    @TableField("order_number")
+    private String orderNumber;
+
+    /**
+     * 拣货数
+     */
+    @TableField("picking_number")
+    private Integer pickingNumber;
+
+    /**
+     * 实际补货数
+     */
+    @TableField("real_picking_number")
+    private Integer realPickingNumber;
+
+    /**
+     * 设备货道id
+     */
+    @TableField("cargo_way_id")
+    private Long cargoWayId;
+
+    /**
+     * 商品id
+     */
+    @TableField("goods_id")
+    private Integer goodsId;
+
+    /**
+     * 货道容量
+     */
+    @TableField("cargo_way_limit_number")
+    private Integer cargoWayLimitNumber;
+
+    /**
+     * 货道当时的库存
+     */
+    @TableField("cargo_way_stock_number")
+    private Integer cargoWayStockNumber;
+
+    /**
+     * 是否换货 0:否 1:是
+     */
+    @TableField("is_replace")
+    private Integer isReplace;
+
+    /**
+     * 换品方式:DOWN:原商品下架|HOLD:原商品保留
+     */
+    @TableField("way")
+    private String way;
+
+    /**
+     * 是否聚合商品 0:否 1:是
+     */
+    @TableField("is_aggregation")
+    private Integer isAggregation;
+
+    /**
+     * 货道补货状态 0: 未补货 1:补货中 2:补货完成
+     */
+    @TableField("cargo_way_replenish_status")
+    private Integer cargoWayReplenishStatus;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    /**
+     * 创建人uid
+     */
+    @TableField("create_uid")
+    private Long createUid;
+
+    /**
+     * 创建人名称
+     */
+    @TableField("create_name")
+    private String createName;
+
+    /**
+     * 修改时间
+     */
+    @TableField("modify_time")
+    private LocalDateTime modifyTime;
+
+    /**
+     * 修改人uid
+     */
+    @TableField("modify_uid")
+    private Long modifyUid;
+
+    /**
+     * 修改人名称
+     */
+    @TableField("modify_name")
+    private String modifyName;
+}

+ 152 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/entity/ReplenishOrderInfo.java

@@ -0,0 +1,152 @@
+package com.yr.warehouse.admin.replenish.entity;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 补货单主表
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Getter
+@Setter
+@TableName("yr_replenish_order_info")
+public class ReplenishOrderInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 自增长id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 运营商id
+     */
+    @TableField("operator_id")
+    private Long operatorId;
+
+    /**
+     * 运营商id链
+     */
+    @TableField("operator_chain")
+    private String operatorChain;
+
+    /**
+     * 拣货单单号
+     */
+    @TableField("order_number")
+    private String orderNumber;
+
+    /**
+     * 父拣货单单号
+     */
+    @TableField("parent_order_number")
+    private String parentOrderNumber;
+
+    /**
+     * 仓库id
+     */
+    @TableField("warehouse_info_id")
+    private Long warehouseInfoId;
+
+    /**
+     * 运营商设备id
+     */
+    @TableField("device_id")
+    private Long deviceId;
+
+    /**
+     * 区域员工关系id
+     */
+    @TableField("area_staff_id")
+    private Long areaStaffId;
+
+    /**
+     * 补货员账号id
+     */
+    @TableField("replenish_account_id")
+    private Long replenishAccountId;
+
+    /**
+     * 补货员名称
+     */
+    @TableField("replenish_user_name")
+    private String replenishUserName;
+
+    /**
+     * 补货员id
+     */
+    @TableField("replenish_user_id")
+    private Long replenishUserId;
+
+    /**
+     * 补货时间
+     */
+    @TableField("replenish_time")
+    private LocalDateTime replenishTime;
+
+    /**
+     * 拣货单类型 0: 常规 1: 增补(基于容量 - (常规拣货单拣货数 + 库存)) 2: 多补(重新计算拣货数据) 3: 库存盘点
+     */
+    @TableField("replenish_type")
+    private Integer replenishType;
+
+    /**
+     * 补货单状态 0: 未补货 1:补货中 2:补货完成  3:未出库删除 4:出库删除
+     */
+    @TableField("replenish_status")
+    private Integer replenishStatus;
+
+    /**
+     * 补货图片
+     */
+    @TableField("file_urls")
+    private String fileUrls;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    /**
+     * 创建人uid
+     */
+    @TableField("create_uid")
+    private Long createUid;
+
+    /**
+     * 创建人名称
+     */
+    @TableField("create_name")
+    private String createName;
+
+    /**
+     * 修改时间
+     */
+    @TableField("modify_time")
+    private LocalDateTime modifyTime;
+
+    /**
+     * 修改人uid
+     */
+    @TableField("modify_uid")
+    private Long modifyUid;
+
+    /**
+     * 修改人名称
+     */
+    @TableField("modify_name")
+    private String modifyName;
+}

+ 16 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/AggregationPickDetailMapper.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.replenish.mapper;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拣货单汇总单子表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:14
+ */
+public interface AggregationPickDetailMapper extends BaseMapper<AggregationPickDetail> {
+
+}

+ 16 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/AggregationPickInfoMapper.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.replenish.mapper;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拣货单汇总单主表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface AggregationPickInfoMapper extends BaseMapper<AggregationPickInfo> {
+
+}

+ 16 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/AggregationPickLinkMapper.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.replenish.mapper;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickLink;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 汇总单拣货单关联表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface AggregationPickLinkMapper extends BaseMapper<AggregationPickLink> {
+
+}

+ 16 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/PickingOrderDetailMapper.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.replenish.mapper;
+
+import com.yr.warehouse.admin.replenish.entity.PickingOrderDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拣货单详情表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface PickingOrderDetailMapper extends BaseMapper<PickingOrderDetail> {
+
+}

+ 16 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/PickingOrderInfoMapper.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.replenish.mapper;
+
+import com.yr.warehouse.admin.replenish.entity.PickingOrderInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 拣货单主表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface PickingOrderInfoMapper extends BaseMapper<PickingOrderInfo> {
+
+}

+ 16 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/ReplenishOrderDetailMapper.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.replenish.mapper;
+
+import com.yr.warehouse.admin.replenish.entity.ReplenishOrderDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 补货单详情表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface ReplenishOrderDetailMapper extends BaseMapper<ReplenishOrderDetail> {
+
+}

+ 16 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/replenish/mapper/ReplenishOrderInfoMapper.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.replenish.mapper;
+
+import com.yr.warehouse.admin.replenish.entity.ReplenishOrderInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 补货单主表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface ReplenishOrderInfoMapper extends BaseMapper<ReplenishOrderInfo> {
+
+}

+ 31 - 0
warehouse-admin-data/src/main/resources/mapper/replenish/AggregationPickDetailMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yr.warehouse.admin.replenish.mapper.AggregationPickDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.yr.warehouse.admin.replenish.entity.AggregationPickDetail">
+        <id column="id" property="id" />
+        <result column="order_number" property="orderNumber" />
+        <result column="goods_id" property="goodsId" />
+        <result column="picking_number" property="pickingNumber" />
+        <result column="picking_pieces" property="pickingPieces" />
+        <result column="real_picking_number" property="realPickingNumber" />
+        <result column="real_picking_pieces" property="realPickingPieces" />
+        <result column="status" property="status" />
+        <result column="more_number" property="moreNumber" />
+        <result column="old_all_picking_number" property="oldAllPickingNumber" />
+        <result column="pieces_number" property="piecesNumber" />
+        <result column="create_time" property="createTime" />
+        <result column="create_uid" property="createUid" />
+        <result column="create_name" property="createName" />
+        <result column="modify_time" property="modifyTime" />
+        <result column="modify_uid" property="modifyUid" />
+        <result column="modify_name" property="modifyName" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, order_number, goods_id, picking_number, picking_pieces, real_picking_number, real_picking_pieces, status, more_number, old_all_picking_number, pieces_number, create_time, create_uid, create_name, modify_time, modify_uid, modify_name
+    </sql>
+
+</mapper>

+ 30 - 0
warehouse-admin-data/src/main/resources/mapper/replenish/AggregationPickInfoMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yr.warehouse.admin.replenish.mapper.AggregationPickInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.yr.warehouse.admin.replenish.entity.AggregationPickInfo">
+        <id column="id" property="id" />
+        <result column="order_number" property="orderNumber" />
+        <result column="warehouse_info_id" property="warehouseInfoId" />
+        <result column="area_staff_id" property="areaStaffId" />
+        <result column="replenish_account_id" property="replenishAccountId" />
+        <result column="picking_user" property="pickingUser" />
+        <result column="picking_time" property="pickingTime" />
+        <result column="aggregation_type" property="aggregationType" />
+        <result column="status" property="status" />
+        <result column="run_time" property="runTime" />
+        <result column="create_time" property="createTime" />
+        <result column="create_uid" property="createUid" />
+        <result column="create_name" property="createName" />
+        <result column="modify_time" property="modifyTime" />
+        <result column="modify_uid" property="modifyUid" />
+        <result column="modify_name" property="modifyName" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, order_number, warehouse_info_id, area_staff_id, replenish_account_id, picking_user, picking_time, aggregation_type, status, run_time, create_time, create_uid, create_name, modify_time, modify_uid, modify_name
+    </sql>
+
+</mapper>

+ 18 - 0
warehouse-admin-data/src/main/resources/mapper/replenish/AggregationPickLinkMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yr.warehouse.admin.replenish.mapper.AggregationPickLinkMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.yr.warehouse.admin.replenish.entity.AggregationPickLink">
+        <id column="id" property="id" />
+        <result column="aggregation_order_number" property="aggregationOrderNumber" />
+        <result column="picking_order_number" property="pickingOrderNumber" />
+        <result column="create_time" property="createTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, aggregation_order_number, picking_order_number, create_time
+    </sql>
+
+</mapper>

+ 34 - 0
warehouse-admin-data/src/main/resources/mapper/replenish/PickingOrderDetailMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yr.warehouse.admin.replenish.mapper.PickingOrderDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.yr.warehouse.admin.replenish.entity.PickingOrderDetail">
+        <id column="id" property="id" />
+        <result column="order_number" property="orderNumber" />
+        <result column="picking_number" property="pickingNumber" />
+        <result column="cargo_way_id" property="cargoWayId" />
+        <result column="goods_id" property="goodsId" />
+        <result column="cargo_way_limit_number" property="cargoWayLimitNumber" />
+        <result column="cargo_way_stock_number" property="cargoWayStockNumber" />
+        <result column="cargo_way_picking_status" property="cargoWayPickingStatus" />
+        <result column="is_replace" property="isReplace" />
+        <result column="way" property="way" />
+        <result column="is_aggregation" property="isAggregation" />
+        <result column="has_warehouse_stock" property="hasWarehouseStock" />
+        <result column="create_time" property="createTime" />
+        <result column="create_name" property="createName" />
+        <result column="create_uid" property="createUid" />
+        <result column="modify_time" property="modifyTime" />
+        <result column="modify_uid" property="modifyUid" />
+        <result column="modify_name" property="modifyName" />
+        <result column="warehouse_inventory" property="warehouseInventory" />
+        <result column="location_numbers" property="locationNumbers" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, order_number, picking_number, cargo_way_id, goods_id, cargo_way_limit_number, cargo_way_stock_number, cargo_way_picking_status, is_replace, way, is_aggregation, has_warehouse_stock, create_time, create_name, create_uid, modify_time, modify_uid, modify_name, warehouse_inventory, location_numbers
+    </sql>
+
+</mapper>

+ 34 - 0
warehouse-admin-data/src/main/resources/mapper/replenish/PickingOrderInfoMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yr.warehouse.admin.replenish.mapper.PickingOrderInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.yr.warehouse.admin.replenish.entity.PickingOrderInfo">
+        <id column="id" property="id" />
+        <result column="operator_id" property="operatorId" />
+        <result column="operator_chain" property="operatorChain" />
+        <result column="order_number" property="orderNumber" />
+        <result column="parent_order_number" property="parentOrderNumber" />
+        <result column="line_plan_number" property="linePlanNumber" />
+        <result column="warehouse_info_id" property="warehouseInfoId" />
+        <result column="device_id" property="deviceId" />
+        <result column="area_staff_id" property="areaStaffId" />
+        <result column="picking_user" property="pickingUser" />
+        <result column="box_num" property="boxNum" />
+        <result column="picking_type" property="pickingType" />
+        <result column="picking_status" property="pickingStatus" />
+        <result column="create_time" property="createTime" />
+        <result column="create_name" property="createName" />
+        <result column="create_uid" property="createUid" />
+        <result column="modify_time" property="modifyTime" />
+        <result column="modify_uid" property="modifyUid" />
+        <result column="modify_name" property="modifyName" />
+        <result column="advent_sale" property="adventSale" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, operator_id, operator_chain, order_number, parent_order_number, line_plan_number, warehouse_info_id, device_id, area_staff_id, picking_user, box_num, picking_type, picking_status, create_time, create_name, create_uid, modify_time, modify_uid, modify_name, advent_sale
+    </sql>
+
+</mapper>

+ 32 - 0
warehouse-admin-data/src/main/resources/mapper/replenish/ReplenishOrderDetailMapper.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yr.warehouse.admin.replenish.mapper.ReplenishOrderDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.yr.warehouse.admin.replenish.entity.ReplenishOrderDetail">
+        <id column="id" property="id" />
+        <result column="order_number" property="orderNumber" />
+        <result column="picking_number" property="pickingNumber" />
+        <result column="real_picking_number" property="realPickingNumber" />
+        <result column="cargo_way_id" property="cargoWayId" />
+        <result column="goods_id" property="goodsId" />
+        <result column="cargo_way_limit_number" property="cargoWayLimitNumber" />
+        <result column="cargo_way_stock_number" property="cargoWayStockNumber" />
+        <result column="is_replace" property="isReplace" />
+        <result column="way" property="way" />
+        <result column="is_aggregation" property="isAggregation" />
+        <result column="cargo_way_replenish_status" property="cargoWayReplenishStatus" />
+        <result column="create_time" property="createTime" />
+        <result column="create_uid" property="createUid" />
+        <result column="create_name" property="createName" />
+        <result column="modify_time" property="modifyTime" />
+        <result column="modify_uid" property="modifyUid" />
+        <result column="modify_name" property="modifyName" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, order_number, picking_number, real_picking_number, cargo_way_id, goods_id, cargo_way_limit_number, cargo_way_stock_number, is_replace, way, is_aggregation, cargo_way_replenish_status, create_time, create_uid, create_name, modify_time, modify_uid, modify_name
+    </sql>
+
+</mapper>

+ 35 - 0
warehouse-admin-data/src/main/resources/mapper/replenish/ReplenishOrderInfoMapper.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yr.warehouse.admin.replenish.mapper.ReplenishOrderInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.yr.warehouse.admin.replenish.entity.ReplenishOrderInfo">
+        <id column="id" property="id" />
+        <result column="operator_id" property="operatorId" />
+        <result column="operator_chain" property="operatorChain" />
+        <result column="order_number" property="orderNumber" />
+        <result column="parent_order_number" property="parentOrderNumber" />
+        <result column="warehouse_info_id" property="warehouseInfoId" />
+        <result column="device_id" property="deviceId" />
+        <result column="area_staff_id" property="areaStaffId" />
+        <result column="replenish_account_id" property="replenishAccountId" />
+        <result column="replenish_user_name" property="replenishUserName" />
+        <result column="replenish_user_id" property="replenishUserId" />
+        <result column="replenish_time" property="replenishTime" />
+        <result column="replenish_type" property="replenishType" />
+        <result column="replenish_status" property="replenishStatus" />
+        <result column="file_urls" property="fileUrls" />
+        <result column="create_time" property="createTime" />
+        <result column="create_uid" property="createUid" />
+        <result column="create_name" property="createName" />
+        <result column="modify_time" property="modifyTime" />
+        <result column="modify_uid" property="modifyUid" />
+        <result column="modify_name" property="modifyName" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, operator_id, operator_chain, order_number, parent_order_number, warehouse_info_id, device_id, area_staff_id, replenish_account_id, replenish_user_name, replenish_user_id, replenish_time, replenish_type, replenish_status, file_urls, create_time, create_uid, create_name, modify_time, modify_uid, modify_name
+    </sql>
+
+</mapper>

+ 159 - 0
warehouse-admin-data/src/main/test/com/supplychain/CodeGenerator.java

@@ -0,0 +1,159 @@
+package com.supplychain;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
+import com.baomidou.mybatisplus.generator.config.rules.DateType;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 代码生成工具类
+ */
+public class CodeGenerator {
+
+    /**
+     * 数据库链接地址
+     */
+    private static final String URL = "jdbc:mysql://47.109.193.147:3306/basic_library?socketTimeout=60000&connectTimeout=30000&serverTimeZone=UTC&useUnicode=true&characterEncoding=UTF-8";
+    // private static final String URL = "jdbc:mysql://47.109.64.210:3306/intelligence?socketTimeout=60000&connectTimeout=30000&serverTimeZone=UTC&useUnicode=true&characterEncoding=UTF-8";
+
+    /**
+     * 用户名
+     */
+    private static final String USERNAME = "dms_root";
+    //private static final String USERNAME = "root";
+
+
+    /**
+     * 密码
+     */
+    private static final String PASSWORD = "CsYr&Test159";
+    // private static final String PASSWORD = "yr159";
+
+    /**
+     * 作者
+     */
+    private static final String AUTHOR = "";
+
+    /**
+     * 表名的前缀,从表生成代码时会去掉前缀
+     */
+    private static final String TABLE_PREFIX = "yr";
+
+    /**
+     * 模块名
+     */
+    //private static final String MODULE_NAME = "";
+
+    /**
+     * 需要生成的表名,必填
+     */
+    private static final List<String> TABLES = List.of("yr_picking_order_info", "yr_picking_order_detail", "yr_replenish_order_info", "yr_replenish_order_detail",
+            "yr_aggregation_pick_info", "yr_aggregation_pick_link", "yr_aggregation_pick_detail"
+            );
+
+
+    public static void main(String[] args) {
+        if (TABLES.isEmpty()) {
+            System.out.println("请输入需要生成的表名!");
+            return;
+        }
+
+        String projectPath = System.getProperty("user.dir");
+
+        //全局配置
+        GlobalConfig config = new GlobalConfig.Builder()
+                .author(AUTHOR)                                      //作者
+                .outputDir(projectPath + "/warehouse-admin-data/src/main/java/")          //生成文件输出路径(写到java目录)
+                //.enableSwagger()                                  //开启swagger
+                .commentDate("yyyy-MM-dd HH:mm:ss")                 //注释日期格式
+                .dateType(DateType.TIME_PACK)                       //设置时间对应类型
+                .disableOpenDir()                                   //生成后不要打开目录
+                .build();
+
+        //包名配置
+        PackageConfig packageConfig = new PackageConfig.Builder()
+                .parent("com.yr.warehouse.admin.replenish.data")                      //父包名
+                //.moduleName(moduleName)           //模块名
+                //.controller("controller")       //controller包名
+                //.service("service.sys")           //service接口包名
+                .service("service")
+                .serviceImpl("service.impl")         //service实现类包名
+                .entity("entity")               //实体类包名
+                .mapper("mapper")               //mapper包名
+                .xml("mapper")                  //mapper对应的xml包名
+                .pathInfo(Collections.singletonMap(OutputFile.mapper.xml, projectPath + "/warehouse-admin-data/src/main/resources/mapper/replenish"))                  //mapper对应的xml路径
+                .build();
+
+        //策略配置
+        StrategyConfig strategyConfig = new StrategyConfig.Builder()
+                .addTablePrefix(TABLE_PREFIX)                       //需要抵消的表前缀
+                .addInclude(TABLES)                                 //设置生成需要映射的表名
+                //.enableCapitalMode()                              //策略开启⼤写命名
+
+                .serviceBuilder()                                   //构建Service层
+                .formatServiceFileName("%sService")
+                .enableFileOverride()                               //覆盖文件(需谨慎使用)
+                .formatServiceImplFileName("%sServiceImpl")             //业务层接口实现类命名
+                // .superServiceImplClass(BaseService.class)           //service公共父类
+
+                .entityBuilder()                                    //构建实体类
+                .enableFileOverride()                               //覆盖文件(需谨慎使用)
+                .formatFileName("%s")
+                // .superClass(BaseEntity.class)                       //entity公共父类
+                .columnNaming(NamingStrategy.underline_to_camel)    //字段名驼峰命名
+                .naming(NamingStrategy.underline_to_camel)          //表名驼峰命名
+
+                .enableLombok()                                     //添加lombock的getter、setter注解
+                //.enableChainModel()                               //启动链式写法@Accessors(chain = true)
+                //.enableColumnConstant()                           //启动属性转常量功能@FieldNameConstants
+                //.logicDeleteColumnName("deleted")                 //逻辑删除字段,标记@TableLogic
+                .enableTableFieldAnnotation()                       //启动字段注解
+                //.addTableFills(tableFillList)                     //属性值填充策略
+
+                //.controllerBuilder()                                //构建Controller类
+                //.enableFileOverride()                               //覆盖文件(需谨慎使用)
+                //.enableHyphenStyle()                                //映射路径使用连字符格式,而不是驼峰
+                //.formatFileName("%sController")                     //Controller类命名
+                // .superClass(BaseController.class)                   //Controller 类继承 BaseController
+                //.enableRestStyle()                                  //标记@RestController注解
+
+                .mapperBuilder()                                    //构建mapper接口类
+                //.enableFileOverride()                               //覆盖文件(需谨慎使用)
+                .enableBaseResultMap()                              //生成基本的resultMap
+                .formatMapperFileName("%sMapper")                   //Mapper接口类明名
+                .superClass(BaseMapper.class)                       //Mapper接口类集成 BaseMapper
+                //.enableMapperAnnotation()                         //标记@Mapper注解
+                .formatXmlFileName("%sMapper")                      //Mapper.xml命名
+                .enableBaseColumnList()                             //生成基本的SQL片段
+
+                .build();
+
+        //数据源配置
+        DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig.Builder(URL, USERNAME, PASSWORD);
+        //数据库类型转换器
+        dataSourceConfigBuilder.typeConvert(new MySqlTypeConvert() {
+            /*@Override
+            public IColumnType processTypeConvert(GlobalConfig globalConfig, String tableField) {
+                if (tableField.toLowerCase().contains("date") || tableField.toLowerCase().contains("timestamp") || tableField.toLowerCase().contains("datetime")) {
+                    return DbColumnType.STRING;
+                }
+                return super.processTypeConvert(globalConfig, tableField);
+            }*/
+        });
+
+        //创建代码生成器对象,加载配置
+        AutoGenerator autoGenerator = new AutoGenerator(dataSourceConfigBuilder.build());
+        autoGenerator.global(config);
+        autoGenerator.packageInfo(packageConfig);
+        autoGenerator.strategy(strategyConfig);
+
+        //执行
+        autoGenerator.execute();
+        System.out.println("========================================  相关代码生成完毕  =====================================");
+    }
+}

+ 0 - 14
warehouse-admin-event/src/main/java/com/yr/warehouse/admin/event/Test.java

@@ -1,14 +0,0 @@
-/**
- * 湖南有人网络有限公司
- **/
-package com.yr.warehouse.admin.event;
-
-/**
- * @ClassName Test
- * @Description: 类描述
- * @Author: pete
- * @CreateDate: 2025/9/12 17:16	
- * @Version: 1.0
- */
-public class Test {
-}

+ 16 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/AggregationPickDetailService.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.server.replenish.service;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拣货单汇总单子表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:14
+ */
+public interface AggregationPickDetailService extends IService<AggregationPickDetail> {
+
+}

+ 16 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/AggregationPickInfoService.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.server.replenish.service;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拣货单汇总单主表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface AggregationPickInfoService extends IService<AggregationPickInfo> {
+
+}

+ 16 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/AggregationPickLinkService.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.server.replenish.service;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickLink;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 汇总单拣货单关联表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface AggregationPickLinkService extends IService<AggregationPickLink> {
+
+}

+ 16 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/PickingOrderDetailService.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.server.replenish.service;
+
+import com.yr.warehouse.admin.replenish.entity.PickingOrderDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拣货单详情表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface PickingOrderDetailService extends IService<PickingOrderDetail> {
+
+}

+ 16 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/PickingOrderInfoService.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.server.replenish.service;
+
+import com.yr.warehouse.admin.replenish.entity.PickingOrderInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 拣货单主表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface PickingOrderInfoService extends IService<PickingOrderInfo> {
+
+}

+ 16 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/ReplenishOrderDetailService.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.server.replenish.service;
+
+import com.yr.warehouse.admin.replenish.entity.ReplenishOrderDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 补货单详情表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface ReplenishOrderDetailService extends IService<ReplenishOrderDetail> {
+
+}

+ 16 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/ReplenishOrderInfoService.java

@@ -0,0 +1,16 @@
+package com.yr.warehouse.admin.server.replenish.service;
+
+import com.yr.warehouse.admin.replenish.entity.ReplenishOrderInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 补货单主表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+public interface ReplenishOrderInfoService extends IService<ReplenishOrderInfo> {
+
+}

+ 20 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/AggregationPickDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.yr.warehouse.admin.server.replenish.service.impl;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickDetail;
+import com.yr.warehouse.admin.replenish.mapper.AggregationPickDetailMapper;
+import com.yr.warehouse.admin.server.replenish.service.AggregationPickDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拣货单汇总单子表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:14
+ */
+@Service
+public class AggregationPickDetailServiceImpl extends ServiceImpl<AggregationPickDetailMapper, AggregationPickDetail> implements AggregationPickDetailService {
+
+}

+ 20 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/AggregationPickInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.yr.warehouse.admin.server.replenish.service.impl;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickInfo;
+import com.yr.warehouse.admin.replenish.mapper.AggregationPickInfoMapper;
+import com.yr.warehouse.admin.server.replenish.service.AggregationPickInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拣货单汇总单主表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Service
+public class AggregationPickInfoServiceImpl extends ServiceImpl<AggregationPickInfoMapper, AggregationPickInfo> implements AggregationPickInfoService {
+
+}

+ 20 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/AggregationPickLinkServiceImpl.java

@@ -0,0 +1,20 @@
+package com.yr.warehouse.admin.server.replenish.service.impl;
+
+import com.yr.warehouse.admin.replenish.entity.AggregationPickLink;
+import com.yr.warehouse.admin.replenish.mapper.AggregationPickLinkMapper;
+import com.yr.warehouse.admin.server.replenish.service.AggregationPickLinkService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 汇总单拣货单关联表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Service
+public class AggregationPickLinkServiceImpl extends ServiceImpl<AggregationPickLinkMapper, AggregationPickLink> implements AggregationPickLinkService {
+
+}

+ 20 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/PickingOrderDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.yr.warehouse.admin.server.replenish.service.impl;
+
+import com.yr.warehouse.admin.replenish.entity.PickingOrderDetail;
+import com.yr.warehouse.admin.replenish.mapper.PickingOrderDetailMapper;
+import com.yr.warehouse.admin.server.replenish.service.PickingOrderDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拣货单详情表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Service
+public class PickingOrderDetailServiceImpl extends ServiceImpl<PickingOrderDetailMapper, PickingOrderDetail> implements PickingOrderDetailService {
+
+}

+ 20 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/PickingOrderInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.yr.warehouse.admin.server.replenish.service.impl;
+
+import com.yr.warehouse.admin.replenish.entity.PickingOrderInfo;
+import com.yr.warehouse.admin.replenish.mapper.PickingOrderInfoMapper;
+import com.yr.warehouse.admin.server.replenish.service.PickingOrderInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 拣货单主表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Service
+public class PickingOrderInfoServiceImpl extends ServiceImpl<PickingOrderInfoMapper, PickingOrderInfo> implements PickingOrderInfoService {
+
+}

+ 20 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/ReplenishOrderDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.yr.warehouse.admin.server.replenish.service.impl;
+
+import com.yr.warehouse.admin.replenish.entity.ReplenishOrderDetail;
+import com.yr.warehouse.admin.replenish.mapper.ReplenishOrderDetailMapper;
+import com.yr.warehouse.admin.server.replenish.service.ReplenishOrderDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 补货单详情表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Service
+public class ReplenishOrderDetailServiceImpl extends ServiceImpl<ReplenishOrderDetailMapper, ReplenishOrderDetail> implements ReplenishOrderDetailService {
+
+}

+ 20 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/server/replenish/service/impl/ReplenishOrderInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.yr.warehouse.admin.server.replenish.service.impl;
+
+import com.yr.warehouse.admin.replenish.entity.ReplenishOrderInfo;
+import com.yr.warehouse.admin.replenish.mapper.ReplenishOrderInfoMapper;
+import com.yr.warehouse.admin.server.replenish.service.ReplenishOrderInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 补货单主表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-12-01 15:48:15
+ */
+@Service
+public class ReplenishOrderInfoServiceImpl extends ServiceImpl<ReplenishOrderInfoMapper, ReplenishOrderInfo> implements ReplenishOrderInfoService {
+
+}

+ 12 - 0
warehouse-admin-web/pom.xml

@@ -12,6 +12,18 @@
     <packaging>jar</packaging>
 
     <dependencies>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.aliyun.oss</groupId>
+            <artifactId>aliyun-sdk-oss</artifactId>
+            <version>3.17.4</version>
+        </dependency>
+
         <!-- springboot -->
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 59 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/BaseController.java

@@ -0,0 +1,59 @@
+package com.yr.warehouse.admin.web.common;
+
+import com.yr.bluecat.common.entity.exception.MessageException;
+import com.yr.prism.auth.core.enums.AuthCodeEnum;
+import com.yr.prism.auth.core.user.AdminUserInfo;
+import com.yr.prism.auth.core.user.AdminUserRole;
+import com.yr.warehouse.admin.common.bo.BaseBo;
+import com.yr.warehouse.admin.web.common.mapstruct.AdminUserInfoMapstruct;
+import jakarta.servlet.http.HttpServletRequest;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 基础服务内核
+ */
+@RestController
+public class BaseController {
+
+    protected void buildUserInfo(BaseBo bo, AdminUserInfo adminUserInfo) {
+        bo.setUid(adminUserInfo.getUid());
+        bo.setUsername(adminUserInfo.getUsername());
+        bo.setAdminOperatorId(adminUserInfo.getOperatorId());
+        bo.setAdminOperatorChain(adminUserInfo.getOperatorChain());
+        bo.setAdminDepartmentId(adminUserInfo.getDepartmentId());
+        bo.setAdminDepartmentChain(adminUserInfo.getDepartmentChain());
+        bo.setLimitLevel(adminUserInfo.getLimitLevel());
+        bo.setUserDomain(adminUserInfo.getUserDomain());
+        bo.setUserDeviceList(AdminUserInfoMapstruct.MAPSTRUCT.toAdminUserDeviceBoList(adminUserInfo.getUserDeviceList()));
+        bo.setRoleList(AdminUserInfoMapstruct.MAPSTRUCT.toAdminUserRoleBoList(adminUserInfo.getRoleList()));
+        if (!CollectionUtils.isEmpty(adminUserInfo.getRoleList())) {
+            bo.setRoleCodeSet(adminUserInfo.getRoleList().stream().map(AdminUserRole::getRoleCode).toList());
+        }
+    }
+
+
+    protected String getToken(HttpServletRequest request) {
+        String authorization = request.getHeader("Authorization");
+        if (!StringUtils.hasLength(authorization)) {
+            authorization = request.getParameter("Authorization");
+            if (!StringUtils.hasLength(authorization)) {
+                throw new MessageException(AuthCodeEnum.AUTHORIZATION_IS_NULL);
+            }
+        }
+        return authorization;
+    }
+
+    protected Long getDeviceId(HttpServletRequest request) {
+        String deviceId = request.getHeader("deviceId");
+        if (!StringUtils.hasLength(deviceId)) {
+            deviceId = request.getParameter("deviceId");
+            if (!StringUtils.hasLength(deviceId)) {
+                throw new MessageException("不正确请求方式");
+            }
+        }
+        return Long.parseLong(deviceId);
+    }
+
+}

+ 9 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/BuildUserInfo.java

@@ -0,0 +1,9 @@
+package com.yr.warehouse.admin.web.common;
+
+import com.yr.prism.auth.core.user.AdminUserInfo;
+import com.yr.warehouse.admin.common.bo.BaseBo;
+
+public interface BuildUserInfo {
+
+    void build(BaseBo bo, AdminUserInfo adminUserInfo);
+}

+ 35 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/OssController.java

@@ -0,0 +1,35 @@
+package com.yr.warehouse.admin.web.common;
+
+import com.yr.bluecat.common.entity.response.Result;
+import com.yr.bluecat.common.utils.oss.AliOSS;
+import com.yr.bluecat.common.utils.oss.model.StsToken;
+import com.yr.prism.auth.core.annotation.IgnorePermission;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 运维中心-设备通用接口
+ *
+ * @author pengtao
+ * @since 2024-06-01 14:08:37
+ */
+@Slf4j
+@RestController
+@RequestMapping("/oss/common/")
+public class OssController extends BaseController {
+    @Resource
+    private AliOSS aliOSS;
+
+    @IgnorePermission
+    @GetMapping("/sts/token/get")
+    public Result<StsToken> getStsToken(@RequestParam Long deviceId) {
+        StsToken stsToken = aliOSS.getStsToken();
+        return Result.success(stsToken);
+    }
+
+}

+ 41 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/Debounce.java

@@ -0,0 +1,41 @@
+package com.yr.warehouse.admin.web.common.debounce;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 防抖注解
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Debounce {
+
+    /**
+     * 默认10秒
+     * 重复内容默认十秒超时
+     */
+    int timeout() default 10;
+
+    /**
+     * 时间单位, 默认秒
+     */
+    TimeUnit timeUnit() default TimeUnit.SECONDS;
+
+    /**
+     * 缓存key前缀
+     */
+    String keyPrefix() default "DEBOUNCE";
+
+    /**
+     * 缓存key分隔符
+     */
+    String delimiter() default ":";
+
+    /**
+     * 提示信息
+     */
+    String message() default "请勿重复提交";
+}

+ 56 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/DebounceAspect.java

@@ -0,0 +1,56 @@
+package com.yr.warehouse.admin.web.common.debounce;
+
+import com.yr.bluecat.common.entity.exception.MessageException;
+import com.yr.bluecat.common.redis.RedisComponent;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.annotation.Order;
+import org.springframework.util.StringUtils;
+
+import java.lang.reflect.Method;
+
+/**
+ * 防抖切面
+ */
+@Aspect
+@Configuration
+@Order(2)
+@Slf4j
+public class DebounceAspect {
+
+    private RedisComponent redisComponent;
+
+    @Autowired
+    public DebounceAspect(RedisComponent redisComponent) {
+        this.redisComponent = redisComponent;
+    }
+
+    @Around("execution(public * * (..)) && @annotation(Debounce)")
+    public Object interceptor(ProceedingJoinPoint joinPoint) {
+        MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
+        Method method = methodSignature.getMethod();
+        Debounce debounce = method.getAnnotation(Debounce.class);
+        if (!StringUtils.hasText(debounce.keyPrefix())) {
+            throw new RuntimeException("请指定防抖缓存key前缀");
+        }
+
+        final String lockKey = DebounceParamGenerator.generate(joinPoint);
+        boolean lock = redisComponent.lock(lockKey, "1", debounce.timeout(), debounce.timeUnit());
+        if (!lock) {
+            log.warn("防抖处理,请勿重复提交");
+            throw new MessageException(debounce.message());
+        }
+        try {
+            return joinPoint.proceed();
+        } catch (Throwable e) {
+            log.info("防抖处理异常",  e);
+            throw new MessageException(e.getMessage());
+        }
+    }
+
+}

+ 13 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/DebounceClass.java

@@ -0,0 +1,13 @@
+package com.yr.warehouse.admin.web.common.debounce;
+
+import java.lang.annotation.*;
+
+/**
+ * 防抖类注解
+ */
+@Target({ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Inherited
+public @interface DebounceClass {
+}

+ 18 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/DebounceParam.java

@@ -0,0 +1,18 @@
+package com.yr.warehouse.admin.web.common.debounce;
+
+import java.lang.annotation.*;
+
+/**
+ * 防抖参数注解
+ */
+@Target({ElementType.PARAMETER, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Inherited
+public @interface DebounceParam {
+
+    String fieldName() default "";
+
+    boolean check() default true;
+
+}

+ 78 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/debounce/DebounceParamGenerator.java

@@ -0,0 +1,78 @@
+package com.yr.warehouse.admin.web.common.debounce;
+
+
+import com.alibaba.fastjson2.JSONObject;
+import com.yr.bluecat.common.entity.exception.MessageException;
+import com.yr.bluecat.common.entity.utils.MD5Util;
+import com.yr.bluecat.common.entity.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.reflect.MethodSignature;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Parameter;
+import java.util.Map;
+import java.util.TreeMap;
+
+/**
+ * 防抖Key生成器
+ */
+@Slf4j
+public class DebounceParamGenerator {
+
+    /**
+     * 生成防抖Key
+     * @param joinPoint 切点
+     * @return 防抖Key
+     */
+    public static String generate(ProceedingJoinPoint joinPoint) {
+        MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
+        Method method = methodSignature.getMethod();
+        Debounce debounce = method.getAnnotation(Debounce.class);
+        final Object[] args = joinPoint.getArgs();
+        final Parameter[] parameters = method.getParameters();
+
+        if (args == null || args.length == 0) {
+            return debounce.keyPrefix();
+        }
+
+        Map<String, Object> paramMap = new TreeMap<>();
+
+        for (int i = 0; i < parameters.length; i++) {
+            final Object arg = args[i];
+            Class<?> parameterType = parameters[i].getType();
+            final DebounceClass debounceClass = parameterType.getAnnotation(DebounceClass.class);
+            if (debounceClass != null) {
+                Map<String, Object> debounceParamMap = new TreeMap<>();
+                final Field [] fields = arg.getClass().getDeclaredFields();
+
+                for(Field field : fields) {
+                    // 判断是否存在防抖参数
+                    DebounceParam debounceField = field.getAnnotation(DebounceParam.class);
+                    if (debounceField == null || !debounceField.check()) {
+                        continue;
+                    }
+                    field.setAccessible(true);
+                    // 获取字段值
+                    try {
+                        if (StringUtils.isNotBlank(debounceField.fieldName())) {
+                            debounceParamMap.put(debounceField.fieldName(), field.get(args[i]));
+                        } else {
+                            debounceParamMap.put(field.getName(), field.get(args[i]));
+                        }
+                    } catch (IllegalAccessException e) {
+                        throw new MessageException("获取字段值内容错误");
+                    }
+                }
+                paramMap.put(parameters[i].getName(), debounceParamMap);
+                continue;
+            }
+            paramMap.put(parameters[i].getName(), arg);
+        }
+        // 字符串转MD5
+        String key = MD5Util.getMd5Str(JSONObject.toJSONString(paramMap));
+        return debounce.keyPrefix() + debounce.delimiter() + key;
+    }
+
+}

+ 14 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/deprecated/DeprecatedApi.java

@@ -0,0 +1,14 @@
+package com.yr.warehouse.admin.web.common.deprecated;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DeprecatedApi {
+
+    String message() default "接口已废弃";
+
+}

+ 18 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/deprecated/DeprecatedApiAspect.java

@@ -0,0 +1,18 @@
+package com.yr.warehouse.admin.web.common.deprecated;
+
+import com.yr.bluecat.common.entity.exception.MessageException;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+
+@Aspect
+@Component
+public class DeprecatedApiAspect {
+
+    @Around("@annotation(deprecatedApi)")
+    public Object around(ProceedingJoinPoint pjp, DeprecatedApi deprecatedApi) {
+        throw new MessageException(deprecatedApi.message());
+    }
+
+}

+ 29 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/common/mapstruct/AdminUserInfoMapstruct.java

@@ -0,0 +1,29 @@
+/**
+ * 湖南有人网络有限公司
+ **/
+package com.yr.warehouse.admin.web.common.mapstruct;
+
+import com.yr.prism.auth.core.user.AdminUserDevice;
+import com.yr.prism.auth.core.user.AdminUserRole;
+import com.yr.warehouse.admin.common.bo.AdminUserDeviceBo;
+import com.yr.warehouse.admin.common.bo.AdminUserRoleBo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @ClassName AdminUserInfoMapstruct
+ * @Description: 类描述
+ * @Author: pete
+ * @CreateDate: 2024/4/25 11:03
+ * @Version: 1.0
+ */
+@Mapper
+public interface AdminUserInfoMapstruct {
+    AdminUserInfoMapstruct MAPSTRUCT = Mappers.getMapper(AdminUserInfoMapstruct.class);
+
+    List<AdminUserDeviceBo> toAdminUserDeviceBoList(List<AdminUserDevice> userDeviceList);
+
+    List<AdminUserRoleBo> toAdminUserRoleBoList(List<AdminUserRole> roleList);
+}