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); } } } }