liujie
2025-09-03 2712f2602444fb9208984f8b839e5b823b94e5a2
供应商erp库存
4个文件已修改
2个文件已添加
253 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsDto.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsNextDto.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TErpSupplierWarehousingService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpSupplierWarehousingServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));
    }
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();
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsDto.java
New file
@@ -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;
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/WarehousingGoodsNextDto.java
New file
@@ -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;
}
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);
}
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);
            }
        }
    }
}