Browse Source

仓库维护、物料维护

home 2 years ago
parent
commit
0d2740aae5
40 changed files with 1221 additions and 0 deletions
  1. 10 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/constant/common/ConfigConstant.java
  2. 39 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/common/CommonConfig.java
  3. 111 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/material/Material.java
  4. 54 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/material/MaterialClassify.java
  5. 44 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/stock/StockArea.java
  6. 41 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/stock/StockHouse.java
  7. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/common/CommonConfigEx.java
  8. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/common/CommonConfigVo.java
  9. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/material/MaterialClassifyEx.java
  10. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/material/MaterialClassifyVo.java
  11. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/material/MaterialEx.java
  12. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/material/MaterialVo.java
  13. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/stock/StockAreaEx.java
  14. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/stock/StockAreaVo.java
  15. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/stock/StockHouseEx.java
  16. 17 0
      hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/stock/StockHouseVo.java
  17. 49 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/material/MaterialClassifyController.java
  18. 67 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/material/MaterialController.java
  19. 56 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/stock/StockAreaController.java
  20. 56 0
      hx-service/storage-restructure/src/main/java/com/fjhx/controller/stock/StockHouseController.java
  21. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/common/CommonConfigMapper.java
  22. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/common/CommonConfigMapper.xml
  23. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/material/MaterialClassifyMapper.java
  24. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/material/MaterialClassifyMapper.xml
  25. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/material/MaterialMapper.java
  26. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/material/MaterialMapper.xml
  27. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/stock/StockAreaMapper.java
  28. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/stock/StockAreaMapper.xml
  29. 16 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/stock/StockHouseMapper.java
  30. 5 0
      hx-service/storage-restructure/src/main/java/com/fjhx/mapper/stock/StockHouseMapper.xml
  31. 20 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/common/CommonConfigService.java
  32. 34 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/common/impl/CommonConfigServiceImpl.java
  33. 27 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/material/MaterialClassifyService.java
  34. 28 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/material/MaterialService.java
  35. 80 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/material/impl/MaterialClassifyServiceImpl.java
  36. 65 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/material/impl/MaterialServiceImpl.java
  37. 28 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/stock/StockAreaService.java
  38. 28 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/stock/StockHouseService.java
  39. 56 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/stock/impl/StockAreaServiceImpl.java
  40. 53 0
      hx-service/storage-restructure/src/main/java/com/fjhx/service/stock/impl/StockHouseServiceImpl.java

+ 10 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/constant/common/ConfigConstant.java

@@ -0,0 +1,10 @@
+package com.fjhx.constant.common;
+
+/**
+ * 配置key常量
+ */
+public interface ConfigConstant {
+
+    String DELAY_PERIOD = "delayPeriod";
+
+}

+ 39 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/common/CommonConfig.java

@@ -0,0 +1,39 @@
+package com.fjhx.entity.common;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 公共配置
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+public class CommonConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * key
+     */
+    private String configKey;
+
+    /**
+     * value
+     */
+    private String configValue;
+
+
+}

+ 111 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/material/Material.java

@@ -0,0 +1,111 @@
+package com.fjhx.entity.material;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.fjhx.base.StorageBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 物料
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Material extends StorageBaseEntity {
+
+
+    /**
+     * 物料名称
+     */
+    private String name;
+
+    /**
+     * 物料编码
+     */
+    private String code;
+
+    /**
+     * 克重
+     */
+    private BigDecimal unitWeight;
+
+    /**
+     * 单位
+     */
+    private String unit;
+
+    /**
+     * 门幅
+     */
+    private BigDecimal width;
+
+    /**
+     * 物料分类id
+     */
+    private Long materialClassifyId;
+
+    /**
+     * 安全库存
+     */
+    private BigDecimal safetyStock;
+
+    /**
+     * 定时任务自动生成申购单时间
+     */
+    private Date autoTaskTime;
+
+    /**
+     * 抽检⽐例
+     */
+    private BigDecimal checkRate;
+
+    /**
+     * 安全预警天数
+     */
+    private Integer safetyWarnDay;
+
+    /**
+     * 规格
+     */
+    private String spec;
+
+    /**
+     * 滞留周期(天)
+     */
+    private Integer delayPeriod;
+
+    /**
+     * 用途
+     */
+    private String purpose;
+
+    /**
+     * 工艺类型 (0直喷,1热转,2打纸,3墨水,4其他)
+     */
+    private Integer technologyType;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 54 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/material/MaterialClassify.java

@@ -0,0 +1,54 @@
+package com.fjhx.entity.material;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.fjhx.base.StorageBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 物料分类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MaterialClassify extends StorageBaseEntity {
+
+
+    /**
+     * 父级分类id
+     */
+    private Long parentId;
+
+    /**
+     * 父级分类id集合,用,拼接
+     */
+    private String parentIdSet;
+
+    /**
+     * 分类名称
+     */
+    private String name;
+
+    /**
+     * 分类编码
+     */
+    private String code;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 44 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/stock/StockArea.java

@@ -0,0 +1,44 @@
+package com.fjhx.entity.stock;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.fjhx.base.StorageBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 仓库分区
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class StockArea extends StorageBaseEntity {
+
+
+    /**
+     * 分区名称
+     */
+    private String name;
+
+    /**
+     * 仓库id
+     */
+    private Long stockHouseId;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 41 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/stock/StockHouse.java

@@ -0,0 +1,41 @@
+package com.fjhx.entity.stock;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.StorageBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 仓库
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class StockHouse extends StorageBaseEntity {
+
+
+    /**
+     * 仓库名称
+     */
+    private String name;
+
+    /**
+     * 出库描述
+     */
+    private String remark;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/common/CommonConfigEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.common;
+
+import com.fjhx.entity.common.CommonConfig;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 公共配置
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CommonConfigEx extends CommonConfig {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/common/CommonConfigVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.common;
+
+import com.fjhx.entity.common.CommonConfig;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 公共配置
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CommonConfigVo extends CommonConfig {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/material/MaterialClassifyEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.material;
+
+import com.fjhx.entity.material.MaterialClassify;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 物料分类
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MaterialClassifyEx extends MaterialClassify {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/material/MaterialClassifyVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.material;
+
+import com.fjhx.entity.material.MaterialClassify;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 物料分类
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MaterialClassifyVo extends MaterialClassify {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/material/MaterialEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.material;
+
+import com.fjhx.entity.material.Material;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 物料
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MaterialEx extends Material {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/material/MaterialVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.material;
+
+import com.fjhx.entity.material.Material;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 物料
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MaterialVo extends Material {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/stock/StockAreaEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.stock;
+
+import com.fjhx.entity.stock.StockArea;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 仓库分区
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class StockAreaEx extends StockArea {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/stock/StockAreaVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.stock;
+
+import com.fjhx.entity.stock.StockArea;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 仓库分区
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class StockAreaVo extends StockArea {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/stock/StockHouseEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.stock;
+
+import com.fjhx.entity.stock.StockHouse;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 仓库
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class StockHouseEx extends StockHouse {
+
+}

+ 17 - 0
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/params/stock/StockHouseVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.stock;
+
+import com.fjhx.entity.stock.StockHouse;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 仓库
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class StockHouseVo extends StockHouse {
+
+}

+ 49 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/material/MaterialClassifyController.java

@@ -0,0 +1,49 @@
+package com.fjhx.controller.material;
+
+import com.fjhx.params.material.MaterialClassifyVo;
+import com.fjhx.service.material.MaterialClassifyService;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料分类 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@RestController
+@RequestMapping("/materialClassify")
+public class MaterialClassifyController {
+
+    @Autowired
+    private MaterialClassifyService materialClassifyService;
+
+    @PostMapping("/tree")
+    public R tree() {
+        List<Map<String, Object>> result = materialClassifyService.tree();
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody MaterialClassifyVo materialClassifyVo) {
+        materialClassifyService.add(materialClassifyVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody MaterialClassifyVo materialClassifyVo) {
+        materialClassifyService.edit(materialClassifyVo);
+        return R.success();
+    }
+
+}
+

+ 67 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/material/MaterialController.java

@@ -0,0 +1,67 @@
+package com.fjhx.controller.material;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.material.Material;
+import com.fjhx.params.material.MaterialVo;
+import com.fjhx.service.material.MaterialService;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@RestController
+@RequestMapping("/material")
+public class MaterialController {
+
+    @Autowired
+    private MaterialService materialService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition) {
+        Page<Material> result = materialService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody MaterialVo materialVo) {
+        materialService.edit(materialVo);
+        return R.success();
+    }
+
+    /**
+     * 查看滞留周期
+     *
+     * @return
+     */
+    @PostMapping("/getDelayPeriod")
+    public R getDelayPeriod() {
+        String delayPeriod = materialService.getDelayPeriod();
+        return R.data(delayPeriod);
+    }
+
+    /**
+     * 设置滞留周期
+     *
+     * @return
+     */
+    @PostMapping("/setDelayPeriod")
+    public R setDelayPeriod(@RequestBody Map<String, Integer> condition) {
+        materialService.setDelayPeriod(condition);
+        return R.success();
+    }
+
+
+}
+

+ 56 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/stock/StockAreaController.java

@@ -0,0 +1,56 @@
+package com.fjhx.controller.stock;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.stock.StockArea;
+import com.fjhx.params.stock.StockAreaVo;
+import com.fjhx.service.stock.StockAreaService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 仓库分区 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@RestController
+@RequestMapping("/stockArea")
+public class StockAreaController {
+
+    @Autowired
+    private StockAreaService stockAreaService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<StockArea> result = stockAreaService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody StockAreaVo stockAreaVo){
+        stockAreaService.add(stockAreaVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody StockAreaVo stockAreaVo){
+        stockAreaService.edit(stockAreaVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody StockAreaVo stockAreaVo){
+        stockAreaService.delete(stockAreaVo);
+        return R.success();
+    }
+
+}
+

+ 56 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/controller/stock/StockHouseController.java

@@ -0,0 +1,56 @@
+package com.fjhx.controller.stock;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.stock.StockHouse;
+import com.fjhx.params.stock.StockHouseVo;
+import com.fjhx.service.stock.StockHouseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 仓库 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@RestController
+@RequestMapping("/stockHouse")
+public class StockHouseController {
+
+    @Autowired
+    private StockHouseService stockHouseService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, String> condition){
+        Page<StockHouse> result = stockHouseService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody StockHouseVo stockHouseVo){
+        stockHouseService.add(stockHouseVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody StockHouseVo stockHouseVo){
+        stockHouseService.edit(stockHouseVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody StockHouseVo stockHouseVo){
+        stockHouseService.delete(stockHouseVo);
+        return R.success();
+    }
+
+}
+

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/common/CommonConfigMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.common;
+
+import com.fjhx.entity.common.CommonConfig;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 公共配置 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface CommonConfigMapper extends BaseMapper<CommonConfig> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/common/CommonConfigMapper.xml

@@ -0,0 +1,5 @@
+<?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.fjhx.mapper.common.CommonConfigMapper">
+
+</mapper>

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/material/MaterialClassifyMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.material;
+
+import com.fjhx.entity.material.MaterialClassify;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 物料分类 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface MaterialClassifyMapper extends BaseMapper<MaterialClassify> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/material/MaterialClassifyMapper.xml

@@ -0,0 +1,5 @@
+<?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.fjhx.mapper.material.MaterialClassifyMapper">
+
+</mapper>

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/material/MaterialMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.material;
+
+import com.fjhx.entity.material.Material;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 物料 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface MaterialMapper extends BaseMapper<Material> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/material/MaterialMapper.xml

@@ -0,0 +1,5 @@
+<?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.fjhx.mapper.material.MaterialMapper">
+
+</mapper>

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/stock/StockAreaMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.stock;
+
+import com.fjhx.entity.stock.StockArea;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 仓库分区 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface StockAreaMapper extends BaseMapper<StockArea> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/stock/StockAreaMapper.xml

@@ -0,0 +1,5 @@
+<?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.fjhx.mapper.stock.StockAreaMapper">
+
+</mapper>

+ 16 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/stock/StockHouseMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.stock;
+
+import com.fjhx.entity.stock.StockHouse;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 仓库 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface StockHouseMapper extends BaseMapper<StockHouse> {
+
+}

+ 5 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/stock/StockHouseMapper.xml

@@ -0,0 +1,5 @@
+<?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.fjhx.mapper.stock.StockHouseMapper">
+
+</mapper>

+ 20 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/common/CommonConfigService.java

@@ -0,0 +1,20 @@
+package com.fjhx.service.common;
+
+import com.fjhx.base.StorageBaseService;
+import com.fjhx.entity.common.CommonConfig;
+
+/**
+ * <p>
+ * 公共配置 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface CommonConfigService extends StorageBaseService<CommonConfig> {
+
+    String getValue(String key);
+
+    void updateValue(String key, String value);
+
+}

+ 34 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/common/impl/CommonConfigServiceImpl.java

@@ -0,0 +1,34 @@
+package com.fjhx.service.common.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.common.CommonConfig;
+import com.fjhx.mapper.common.CommonConfigMapper;
+import com.fjhx.service.common.CommonConfigService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 公共配置 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Service
+public class CommonConfigServiceImpl extends ServiceImpl<CommonConfigMapper, CommonConfig> implements CommonConfigService {
+
+    @Override
+    public String getValue(String key) {
+        return getOne(Wrappers.<CommonConfig>lambdaQuery().eq(CommonConfig::getConfigKey, key))
+                .getConfigValue();
+    }
+
+    @Override
+    public void updateValue(String key, String value) {
+        update(Wrappers.<CommonConfig>lambdaUpdate()
+                .eq(CommonConfig::getConfigKey, key)
+                .set(CommonConfig::getConfigValue, value));
+    }
+
+}

+ 27 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/material/MaterialClassifyService.java

@@ -0,0 +1,27 @@
+package com.fjhx.service.material;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.material.MaterialClassify;
+import com.fjhx.params.material.MaterialClassifyVo;
+import com.fjhx.base.StorageBaseService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料分类 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface MaterialClassifyService extends StorageBaseService<MaterialClassify> {
+
+    List<Map<String,Object>> tree();
+
+    void add(MaterialClassifyVo materialClassifyVo);
+
+    void edit(MaterialClassifyVo materialClassifyVo);
+
+}

+ 28 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/material/MaterialService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.material;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.material.Material;
+import com.fjhx.params.material.MaterialVo;
+import com.fjhx.base.StorageBaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface MaterialService extends StorageBaseService<Material> {
+
+    Page<Material> getPage(Map<String, String> condition);
+
+    void edit(MaterialVo materialVo);
+
+    String getDelayPeriod();
+
+    void setDelayPeriod(Map<String, Integer> condition);
+
+}

+ 80 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/material/impl/MaterialClassifyServiceImpl.java

@@ -0,0 +1,80 @@
+package com.fjhx.service.material.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.material.MaterialClassify;
+import com.fjhx.mapper.material.MaterialClassifyMapper;
+import com.fjhx.params.material.MaterialClassifyVo;
+import com.fjhx.service.material.MaterialClassifyService;
+import com.fjhx.utils.Assert;
+import com.fjhx.utils.TreeUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料分类 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Service
+public class MaterialClassifyServiceImpl extends ServiceImpl<MaterialClassifyMapper, MaterialClassify> implements MaterialClassifyService {
+
+    @Override
+    public List<Map<String, Object>> tree() {
+        return TreeUtil.buildTreeObj(list());
+    }
+
+    @Override
+    public void add(MaterialClassifyVo materialClassifyVo) {
+        Long parentId = materialClassifyVo.getParentId();
+
+        peerNameAndCodeOnly(parentId, materialClassifyVo.getName(), materialClassifyVo.getCode(), null);
+
+        if (parentId == null) {
+            materialClassifyVo.setParentId(0L);
+        } else if (parentId != 0) {
+            MaterialClassify materialClassify = getById(parentId);
+
+            // 赋值父级id集合
+            String parentIdSet = materialClassify.getParentIdSet();
+            materialClassifyVo.setParentIdSet(
+                    (ObjectUtil.isEmpty(parentIdSet) ? "" : parentIdSet + ",") + parentId);
+
+            // 赋值物料编码
+            String code = materialClassify.getCode();
+            materialClassifyVo.setCode(code + materialClassifyVo.getCode());
+        }
+
+        save(materialClassifyVo);
+    }
+
+    @Override
+    public void edit(MaterialClassifyVo materialClassifyVo) {
+
+        peerNameAndCodeOnly(materialClassifyVo.getParentId(), materialClassifyVo.getName(),
+                materialClassifyVo.getCode(), materialClassifyVo.getId());
+
+        updateById(materialClassifyVo);
+    }
+
+    /**
+     * 保证同级名称和编码不重复
+     */
+    private void peerNameAndCodeOnly(Long parentId, String name, String code, Long excludeId) {
+
+        Integer count = lambdaQuery()
+                .eq(MaterialClassify::getParentId, parentId)
+                .and(q -> q.eq(MaterialClassify::getName, name).or().eq(MaterialClassify::getCode, code))
+                .ne(ObjectUtil.isNotEmpty(excludeId), MaterialClassify::getId, excludeId)
+                .count();
+
+        Assert.eqZero(count, "存在相同分类名称或编码");
+
+    }
+
+}

+ 65 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/material/impl/MaterialServiceImpl.java

@@ -0,0 +1,65 @@
+package com.fjhx.service.material.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.constant.common.ConfigConstant;
+import com.fjhx.entity.material.Material;
+import com.fjhx.mapper.material.MaterialMapper;
+import com.fjhx.params.material.MaterialVo;
+import com.fjhx.service.common.CommonConfigService;
+import com.fjhx.service.material.MaterialService;
+import com.fjhx.utils.WrapperUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 物料 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Service
+public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> implements MaterialService {
+
+    @Autowired
+    private CommonConfigService commonConfigService;
+
+    @Override
+    public Page<Material> getPage(Map<String, String> condition) {
+
+        QueryWrapper<Material> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .keyword("code", "name");
+
+        wrapper.orderByAsc("code");
+
+        return page(condition, wrapper);
+    }
+
+    @Override
+    public void edit(MaterialVo materialVo) {
+        updateById(materialVo);
+    }
+
+    @Override
+    public String getDelayPeriod() {
+        return commonConfigService.getValue(ConfigConstant.DELAY_PERIOD);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void setDelayPeriod(Map<String, Integer> condition) {
+        Integer value = condition.get("value");
+        commonConfigService.updateValue(ConfigConstant.DELAY_PERIOD, value + "");
+        update(Wrappers.<Material>lambdaUpdate().set(Material::getDelayPeriod, value));
+    }
+
+}

+ 28 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/stock/StockAreaService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.stock;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.stock.StockArea;
+import com.fjhx.params.stock.StockAreaVo;
+import com.fjhx.base.StorageBaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 仓库分区 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface StockAreaService extends StorageBaseService<StockArea> {
+
+    Page<StockArea> getPage(Map<String, String> condition);
+
+    void add(StockAreaVo stockAreaVo);
+
+    void edit(StockAreaVo stockAreaVo);
+
+    void delete(StockAreaVo stockAreaVo);
+
+}

+ 28 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/stock/StockHouseService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.stock;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.stock.StockHouse;
+import com.fjhx.params.stock.StockHouseVo;
+import com.fjhx.base.StorageBaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 仓库 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+public interface StockHouseService extends StorageBaseService<StockHouse> {
+
+    Page<StockHouse> getPage(Map<String, String> condition);
+
+    void add(StockHouseVo stockHouseVo);
+
+    void edit(StockHouseVo stockHouseVo);
+
+    void delete(StockHouseVo stockHouseVo);
+
+}

+ 56 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/stock/impl/StockAreaServiceImpl.java

@@ -0,0 +1,56 @@
+package com.fjhx.service.stock.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.stock.StockArea;
+import com.fjhx.mapper.stock.StockAreaMapper;
+import com.fjhx.params.stock.StockAreaVo;
+import com.fjhx.service.stock.StockAreaService;
+import com.fjhx.utils.WrapperUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 仓库分区 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Service
+public class StockAreaServiceImpl extends ServiceImpl<StockAreaMapper, StockArea> implements StockAreaService {
+
+    @Override
+    public Page<StockArea> getPage(Map<String, String> condition) {
+
+        QueryWrapper<StockArea> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .eq("stock_house_id", "stockHouseId", "仓库id不能为空")
+                .like("name", "keyword");
+
+        Page<StockArea> page = page(condition, wrapper);
+
+        return page;
+    }
+
+    @Override
+    public void add(StockAreaVo stockAreaVo) {
+        save(stockAreaVo);
+    }
+
+    @Override
+    public void edit(StockAreaVo stockAreaVo) {
+        updateById(stockAreaVo);
+    }
+
+    @Override
+    public void delete(StockAreaVo stockAreaVo) {
+        removeById(stockAreaVo.getId());
+    }
+
+}

+ 53 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/stock/impl/StockHouseServiceImpl.java

@@ -0,0 +1,53 @@
+package com.fjhx.service.stock.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.stock.StockHouse;
+import com.fjhx.mapper.stock.StockHouseMapper;
+import com.fjhx.params.stock.StockHouseVo;
+import com.fjhx.service.stock.StockHouseService;
+import com.fjhx.utils.WrapperUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 仓库 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-08-05
+ */
+@Service
+public class StockHouseServiceImpl extends ServiceImpl<StockHouseMapper, StockHouse> implements StockHouseService {
+
+    @Override
+    public Page<StockHouse> getPage(Map<String, String> condition) {
+
+        QueryWrapper<StockHouse> wrapper = Wrappers.query();
+
+        WrapperUtil.init(condition, wrapper)
+                .like("name", "keyword");
+
+        return page(condition, wrapper);
+    }
+
+    @Override
+    public void add(StockHouseVo stockHouseVo) {
+        save(stockHouseVo);
+    }
+
+    @Override
+    public void edit(StockHouseVo stockHouseVo) {
+        updateById(stockHouseVo);
+    }
+
+    @Override
+    public void delete(StockHouseVo stockHouseVo) {
+        removeById(stockHouseVo.getId());
+    }
+
+}