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