From 0838f85fa74b36638adf2621bc2f49a345982dec Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 03 九月 2025 17:21:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java    |   70 +++++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpSupplierWarehousingServiceImpl.java |   29 +++++
 ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsNextDto.java                     |   39 +++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/TErpSupplierWarehousingService.java          |    5 +
 ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsDto.java                         |   42 ++++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java      |   68 -------------
 6 files changed, 185 insertions(+), 68 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java
index 477f9a5..6cc76ad 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java
@@ -1,27 +1,8 @@
 package com.ruoyi.web.controller.api;
 
 
-import com.ruoyi.common.basic.PageInfo;
-import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.system.query.TErpGoodsQuery;
-import com.ruoyi.system.query.TErpGoodsWarehouseQuery;
-import com.ruoyi.system.service.TErpClinicWarehousingService;
-import com.ruoyi.system.service.TErpGoodsService;
-import com.ruoyi.system.service.TErpSupplierWarehousingService;
-import com.ruoyi.system.vo.TErpGoodsVO;
-import com.ruoyi.system.vo.TErpGoodsWarehouseLastVO;
-import com.ruoyi.system.vo.TErpGoodsWarehouseRecordLastVO;
-import com.ruoyi.system.vo.TErpGoodsWarehouseVO;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.util.List;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
@@ -33,52 +14,7 @@
  */
 @RestController
 @RequestMapping("/t-erp-clinic-warehousing")
-@Api(tags = "供应商库存管理")
 public class TErpClinicWarehousingController {
-
-
-
-
-    private final TErpSupplierWarehousingService erpSupplierWarehousingService;
-    private final TokenService tokenService;
-
-    @Autowired
-    public TErpClinicWarehousingController(TErpSupplierWarehousingService erpSupplierWarehousingService, TokenService tokenService) {
-        this.erpSupplierWarehousingService = erpSupplierWarehousingService;
-        this.tokenService = tokenService;
-    }
-
-
-
-    /**
-     * 获取erp问题上报管理列表
-     */
-    @ApiOperation(value = "供应商获取库存分页列表")
-    @PostMapping(value = "/pageList")
-    public R<PageInfo<TErpGoodsVO>> pageList(@RequestBody TErpGoodsQuery query) {
-        SysUser user = tokenService.getLoginUser().getUser();
-        return R.ok(erpSupplierWarehousingService.pageList(query,user));
-    }
-
-
-
-    @ApiOperation(value = "供应商库存详情")
-    @GetMapping(value = "/detail")
-    public R<List<TErpGoodsWarehouseLastVO>> detail(String id, String warehouseName) {
-        SysUser user = tokenService.getLoginUser().getUser();
-        return R.ok(erpSupplierWarehousingService.detail(id,warehouseName,user));
-    }
-
-
-    /**
-     * 获取erp问题上报管理列表
-     */
-    @ApiOperation(value = "供应商获取库存记录列表")
-    @PostMapping(value = "/pageWarehouseList")
-    public R<PageInfo<TErpGoodsWarehouseRecordLastVO>> pageWarehouseList(@RequestBody @Valid TErpGoodsWarehouseQuery query) {
-        SysUser user = tokenService.getLoginUser().getUser();
-        return R.ok(erpSupplierWarehousingService.pageWarehouseList(query,user));
-    }
 
 
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java
index 93e9a1f..b30f2b1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java
@@ -1,8 +1,24 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.system.dto.WarehousingGoodsDto;
+import com.ruoyi.system.query.TErpGoodsQuery;
+import com.ruoyi.system.query.TErpGoodsWarehouseQuery;
+import com.ruoyi.system.service.TErpSupplierWarehousingService;
+import com.ruoyi.system.vo.TErpGoodsVO;
+import com.ruoyi.system.vo.TErpGoodsWarehouseLastVO;
+import com.ruoyi.system.vo.TErpGoodsWarehouseRecordLastVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
 
 /**
  * <p>
@@ -14,7 +30,57 @@
  */
 @RestController
 @RequestMapping("/t-erp-supplier-warehousing")
+@Api(tags = "供应商库存管理")
 public class TErpSupplierWarehousingController {
 
+    private final TErpSupplierWarehousingService erpSupplierWarehousingService;
+    private final TokenService tokenService;
+
+    @Autowired
+    public TErpSupplierWarehousingController(TErpSupplierWarehousingService erpSupplierWarehousingService, TokenService tokenService) {
+        this.erpSupplierWarehousingService = erpSupplierWarehousingService;
+        this.tokenService = tokenService;
+    }
+
+
+
+    /**
+     * 获取erp问题上报管理列表
+     */
+    @ApiOperation(value = "供应商获取库存分页列表")
+    @PostMapping(value = "/pageList")
+    public R<PageInfo<TErpGoodsVO>> pageList(@RequestBody TErpGoodsQuery query) {
+        SysUser user = tokenService.getLoginUser().getUser();
+        return R.ok(erpSupplierWarehousingService.pageList(query,user));
+    }
+
+
+
+    @ApiOperation(value = "供应商库存详情")
+    @GetMapping(value = "/detail")
+    public R<List<TErpGoodsWarehouseLastVO>> detail(String id, String warehouseName) {
+        SysUser user = tokenService.getLoginUser().getUser();
+        return R.ok(erpSupplierWarehousingService.detail(id,warehouseName,user));
+    }
+
+
+    @ApiOperation(value = "供应商获取库存记录列表")
+    @PostMapping(value = "/pageWarehouseList")
+    public R<PageInfo<TErpGoodsWarehouseRecordLastVO>> pageWarehouseList(@RequestBody @Valid TErpGoodsWarehouseQuery query) {
+        SysUser user = tokenService.getLoginUser().getUser();
+        return R.ok(erpSupplierWarehousingService.pageWarehouseList(query,user));
+    }
+
+
+
+    @ApiOperation(value = "供应商库存入库")
+    @PostMapping(value = "/warehousingGoods")
+    public R<?> warehousingGoods(@RequestBody @Valid List<WarehousingGoodsDto> dtos) {
+        SysUser user = tokenService.getLoginUser().getUser();
+        erpSupplierWarehousingService.warehousingGoods(dtos,user);
+        return R.ok();
+    }
+
+
 }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsDto.java
new file mode 100644
index 0000000..382a318
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsDto.java
@@ -0,0 +1,42 @@
+package com.ruoyi.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@ApiModel(value = "商品入库dto")
+public class WarehousingGoodsDto {
+
+    @ApiModelProperty(value = "入库仓库id")
+    @NotBlank(message = "入库仓库id不能为空")
+    private String warehouseId;
+
+
+    @ApiModelProperty(value = "商品id")
+    @NotBlank(message = "商品id不能为空")
+    private String goodsId;
+
+    @ApiModelProperty(value = "入库数量")
+    @NotNull(message = "入库数量不能为空")
+    private Integer warehousingNum;
+
+    @ApiModelProperty(value = "总价")
+    @NotNull(message = "总价不能为空")
+    private BigDecimal totalPrice;
+
+    @ApiModelProperty(value = "单价")
+    @NotNull(message = "单价不能为空")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "商品入库二级dto")
+    private List<WarehousingGoodsNextDto> warehousingGoodsNextDtos;
+
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsNextDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsNextDto.java
new file mode 100644
index 0000000..0bdbb3c
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsNextDto.java
@@ -0,0 +1,39 @@
+package com.ruoyi.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Data
+@ApiModel(value = "商品入库二级dto")
+public class WarehousingGoodsNextDto {
+
+
+    @ApiModelProperty(value = "入库数量")
+    @NotNull(message = "入库数量不能为空")
+    private Integer warehousingNum;
+
+
+    @ApiModelProperty(value = "批次号")
+    @NotBlank(message = "批次号不能为空")
+    private String batchNumber;
+
+
+    @ApiModelProperty(value = "生产日期")
+    @NotNull(message = "生产日期不能为空")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "有效日期")
+    @NotNull(message = "有效日期不能为空")
+    private LocalDate expiryDate;
+
+
+
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpSupplierWarehousingService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpSupplierWarehousingService.java
index c114a75..7a6edc7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpSupplierWarehousingService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpSupplierWarehousingService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.dto.WarehousingGoodsDto;
 import com.ruoyi.system.model.TErpSupplierWarehousing;
 import com.ruoyi.system.query.TErpGoodsQuery;
 import com.ruoyi.system.query.TErpGoodsWarehouseQuery;
@@ -11,6 +12,7 @@
 import com.ruoyi.system.vo.TErpGoodsWarehouseRecordLastVO;
 import com.ruoyi.system.vo.TErpGoodsWarehouseVO;
 
+import javax.validation.Valid;
 import java.util.List;
 
 /**
@@ -28,4 +30,7 @@
     List<TErpGoodsWarehouseLastVO> detail(String id, String warehouseName, SysUser user);
 
     PageInfo<TErpGoodsWarehouseRecordLastVO> pageWarehouseList(TErpGoodsWarehouseQuery query, SysUser user);
+
+    void warehousingGoods(@Valid List<WarehousingGoodsDto> dtos, SysUser user);
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpSupplierWarehousingServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpSupplierWarehousingServiceImpl.java
index 2dde23d..0c2b4a6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpSupplierWarehousingServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpSupplierWarehousingServiceImpl.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.dto.WarehousingGoodsDto;
+import com.ruoyi.system.dto.WarehousingGoodsNextDto;
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.TErpGoodsQuery;
@@ -182,4 +184,31 @@
         pageInfo.setRecords( list);
         return pageInfo;
     }
+
+    @Override
+    public void warehousingGoods(List<WarehousingGoodsDto> dtos, SysUser user) {
+        for (WarehousingGoodsDto dto : dtos) {
+            TErpSupplierWarehousing tErpSupplierWarehousing = new TErpSupplierWarehousing();
+            tErpSupplierWarehousing.setSupplierId(user.getUserId().toString());
+            tErpSupplierWarehousing.setWarehouseId(dto.getWarehouseId());
+            tErpSupplierWarehousing.setGoodsId(dto.getGoodsId());
+            TErpGoods goods = erpGoodsMapper.selectById(dto.getGoodsId());
+            tErpSupplierWarehousing.setGoodsName(goods.getGoodsName());
+            tErpSupplierWarehousing.setGoodsCount(tErpSupplierWarehousing.getGoodsCount());
+            tErpSupplierWarehousing.setUnitAmount(tErpSupplierWarehousing.getUnitAmount());
+            tErpSupplierWarehousing.setTotalPrice(tErpSupplierWarehousing.getTotalPrice());
+            erpSupplierWarehousingMapper.insert(tErpSupplierWarehousing);
+            List<WarehousingGoodsNextDto> warehousingGoodsNextDtos = dto.getWarehousingGoodsNextDtos();
+            for (WarehousingGoodsNextDto warehousingGoodsNextDto : warehousingGoodsNextDtos) {
+                TErpSupplierWarehousingBatch tErpSupplierWarehousingBatch = new TErpSupplierWarehousingBatch();
+                tErpSupplierWarehousingBatch.setWarehousingId(tErpSupplierWarehousing.getId());
+                tErpSupplierWarehousingBatch.setWarehousingNumber(warehousingGoodsNextDto.getWarehousingNum());
+                tErpSupplierWarehousingBatch.setBatchNumber(warehousingGoodsNextDto.getBatchNumber());
+                tErpSupplierWarehousingBatch.setProductionDate(warehousingGoodsNextDto.getProductionDate().atStartOfDay());
+                tErpSupplierWarehousingBatch.setExpiryDate(warehousingGoodsNextDto.getExpiryDate().atStartOfDay());
+                erpSupplierWarehousingBatchMapper.insert(tErpSupplierWarehousingBatch);
+            }
+        }
+
+    }
 }

--
Gitblit v1.7.1