ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionRkController.java
@@ -8,6 +8,7 @@ import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO; import com.ruoyi.management.domain.vo.VolumeProductionRkgInventoryVO; import com.ruoyi.management.domain.vo.getVolumeProductionRkgCodeVO; import com.ruoyi.management.domain.vo.gethuojRkVO; import com.ruoyi.management.service.SlVolumeProductionRkService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,6 +41,15 @@ return R.ok(slVolumeProductionRkService.getSlGoodsMaterialsSlVolumeProductionRkList(slGoodsMaterialsSlVolumeProductionRkDTO)); } @PostMapping("/gethuojRkList") @ApiOperation(value = "分页获取通过货架来获取当前批次入库的物资") public R<PageDTO<gethuojRkVO>> gethuojRkList(@RequestBody gethuojRkQuery gethuojRkQuery) { return R.ok(slVolumeProductionRkService.gethuojRkList(gethuojRkQuery)); } @PostMapping("/addSlVolumeProductionRk") @ApiOperation(value = "添加入库批次管理") public R addVolumeProductionRkgl(@RequestBody Map<String, List<SlVolumeProductionRkListDTO>> slVolumeProductionRkListDTO1) { ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/gethuojRkQuery.java
New file @@ -0,0 +1,20 @@ package com.ruoyi.management.domain.dto; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("通过货架拿入库物资的数据取对象") public class gethuojRkQuery extends BasePage { @ApiModelProperty("货架id") private Long goodsShelid; @ApiModelProperty("物资名称") private String goodsMaterialsName; } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/gethuojRkVO.java
New file @@ -0,0 +1,66 @@ package com.ruoyi.management.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @Data @ApiModel(value = "通过货架拿入库物资的数据对象", description = "通过货架拿入库物资的数据对象") public class gethuojRkVO { private Long id; @ApiModelProperty("物资名称") private String goodsMaterialsName; @ApiModelProperty("1 是非消耗,2是消耗 ") private Integer isConsume; @ApiModelProperty("货架名称") private String goodsShelfName; @ApiModelProperty("仓库层数 1代表一层,2代表两层,3代表三层") private Integer storeManagementNumber; @ApiModelProperty("在库存的") private Long repertoryZhai; @ApiModelProperty("入库数量") private Long rkNum; @ApiModelProperty("入库型号") private String rkModel; @ApiModelProperty("入库价格") private BigDecimal rkPice; @ApiModelProperty("供应商名称") private String supplierName; @ApiModelProperty("入管理主表id") private Long VolumeProductionRkglId; @ApiModelProperty("物资id") private Long materialsId; @ApiModelProperty("货架id") private Long shelfId; @ApiModelProperty("入库编号") private String rkNumber; @ApiModelProperty("仓库名称") private String storeManagementName; @ApiModelProperty("总价价格") private BigDecimal rkPiceSum; @ApiModelProperty("总数") private Long repertorySum; @ApiModelProperty("仓库ID") @TableField("management_id") private Long managementId; } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionRkService.java
@@ -6,6 +6,7 @@ import com.ruoyi.management.domain.dto.*; import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO; import com.ruoyi.management.domain.vo.getVolumeProductionRkgCodeVO; import com.ruoyi.management.domain.vo.gethuojRkVO; import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; @@ -35,4 +36,6 @@ PageDTO<ManagementimgVolumeProductionRkVO> getroductionRkList(umeProductionRkQuery meProductionRkQuery); PageDTO<gethuojRkVO> gethuojRkList(@RequestBody gethuojRkQuery gethuojRkQuery); } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java
@@ -9,6 +9,7 @@ import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO; import com.ruoyi.management.domain.vo.SlGoodsShelfVO; import com.ruoyi.management.domain.vo.getVolumeProductionRkgCodeVO; import com.ruoyi.management.domain.vo.gethuojRkVO; import com.ruoyi.management.mapper.*; import com.ruoyi.management.service.SlStoreManagementService; import com.ruoyi.management.service.SlVolumeProductionRkService; @@ -19,7 +20,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -47,6 +50,9 @@ @Resource private SysUserClient sysUserClient; @Resource private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; @@ -253,4 +259,59 @@ return SlGoodsShelfDTO; } @Override public PageDTO<gethuojRkVO> gethuojRkList(gethuojRkQuery gethuojRkQuery) { LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery(); if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){ wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,gethuojRkQuery.getGoodsMaterialsName()); } wrapper.eq( SlGoodsMaterials::getDelFlag,0); List<SlGoodsMaterials> page1 = slGoodsMaterialsMapper.selectList(wrapper); Set<Long> goodsSkuIdList = null; goodsSkuIdList = page1.stream().map(SlGoodsMaterials::getId) .collect(Collectors.toSet()); Page<SlVolumeProductionRk> page = new Page<>(gethuojRkQuery.getPageCurr(), gethuojRkQuery.getPageSize()); LambdaQueryWrapper<SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){ if (goodsSkuIdList.size()>0) { wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList); }else{ goodsSkuIdList=new HashSet<>(); goodsSkuIdList.add(0L); wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList); } } wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1); PageDTO<gethuojRkVO> SlGoodsShelfDTO = PageDTO.of(page2, gethuojRkVO.class); List<gethuojRkVO> list2 = SlGoodsShelfDTO.getList(); for(gethuojRkVO list:list2) { LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery(); wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId()); wrapper2.eq(ManagementGoodsMaterials::getManagementId,list.getManagementId()); wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0); ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2); list.setRkPiceSum(list.getRkPice().multiply(new BigDecimal(managementGoodsMaterials.getRepertorySum()))); list.setRepertorySum(managementGoodsMaterials.getRepertorySum()); SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId()); SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); list.setIsConsume(slGoodsMaterials.getIsConsume()); list.setSupplierName(data.getNickName()); SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); } return SlGoodsShelfDTO; } }