| | |
| | | import com.ruoyi.system.domain.*; |
| | | import com.ruoyi.system.dto.TOrderSaleDTO; |
| | | import com.ruoyi.system.dto.TOrderStockDTO; |
| | | import com.ruoyi.system.mapper.TDataGeneratorMapper; |
| | | import com.ruoyi.system.mapper.TOrderSaleGoodsMapper; |
| | | import com.ruoyi.system.mapper.TOrderSaleMapper; |
| | | import com.ruoyi.system.mapper.TOrderStockMapper; |
| | | import com.ruoyi.system.mapper.*; |
| | | import com.ruoyi.system.query.TDataGeneratorQuery; |
| | | import com.ruoyi.system.query.TDataGeneratorStockQuery; |
| | | import com.ruoyi.system.query.TOrderStockQuery; |
| | |
| | | private TStockDataSetService stockDataSetService; |
| | | @Autowired |
| | | private TDataGeneratorMapper dataGeneratorMapper; |
| | | @Autowired |
| | | private TGoodsService goodsService; |
| | | @Override |
| | | public void add(TOrderStockDTO dto) { |
| | | // 进货单号 |
| | |
| | | dto.setIsCover(0); |
| | | } |
| | | this.save(dto); |
| | | List<TGoods> goods = goodsService.list(Wrappers.lambdaQuery(TGoods.class)); |
| | | List<TGoods> goodsUpdateList = new ArrayList<>(); |
| | | // 添加商品 |
| | | orderStockGoods.forEach(orderSaleGoods1 -> { |
| | | orderSaleGoods1.setId(null); |
| | | orderSaleGoods1.setOrderId(dto.getId()); |
| | | for (TGoods good : goods) { |
| | | if(good.getGoodsNum().equals(orderSaleGoods1.getGoodsNum())){ |
| | | good.setInventory(orderSaleGoods1.getStockCount()+good.getInventory()); |
| | | goodsUpdateList.add(good); |
| | | }else { |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | goodsService.updateBatchById(goodsUpdateList); |
| | | tOrderStockGoodsService.saveBatch(orderStockGoods); |
| | | } |
| | | |
| | |
| | | |
| | | @Override |
| | | public PageInfo<TOrderStockVO> pageList(TOrderStockQuery query) { |
| | | if(Objects.nonNull(query.getStartTime()) && Objects.nonNull(query.getEndTime())){ |
| | | if(Objects.isNull(query.getStartTime()) && Objects.isNull(query.getEndTime())){ |
| | | // 判断时间 |
| | | if(Objects.nonNull(query.getTimeType())){ |
| | | LocalDateTime startTime = null; |
| | |
| | | List<TOrderStockGoods> collect = orderStockGoods.stream().filter(orderSaleGoods -> orderSaleGoods.getOrderId().equals(orderStockVO.getId())).collect(Collectors.toList()); |
| | | if(!CollectionUtils.isEmpty(collect)){ |
| | | orderStockVO.setOrderStockGoods(collect); |
| | | orderStockVO.setOrderStockCount(collect.size()); |
| | | orderStockVO.setTotalPrice(collect.stream().map(TOrderStockGoods::getCostPrice).reduce(BigDecimal::add).get()); |
| | | int sum = collect.stream().mapToInt(TOrderStockGoods::getStockCount).sum(); |
| | | orderStockVO.setOrderStockCount(sum); |
| | | BigDecimal money = BigDecimal.ZERO; |
| | | for (TOrderStockGoods tOrderStockGoods : collect) { |
| | | money = money.add(tOrderStockGoods.getThisCostPrice().multiply(new BigDecimal(tOrderStockGoods.getStockCount()))); |
| | | } |
| | | orderStockVO.setTotalPrice(money); |
| | | } |
| | | }); |
| | | } |