|
@@ -9,9 +9,9 @@ import com.fjhx.constants.StatusConstant;
|
|
import com.fjhx.entity.jd.JdBack;
|
|
import com.fjhx.entity.jd.JdBack;
|
|
import com.fjhx.entity.jd.JdBackDetails;
|
|
import com.fjhx.entity.jd.JdBackDetails;
|
|
import com.fjhx.entity.logistics.LogisticsInfo;
|
|
import com.fjhx.entity.logistics.LogisticsInfo;
|
|
-import com.fjhx.entity.order.OrderInfo;
|
|
|
|
import com.fjhx.entity.product.ProductInfo;
|
|
import com.fjhx.entity.product.ProductInfo;
|
|
import com.fjhx.entity.quality.QualityInfo;
|
|
import com.fjhx.entity.quality.QualityInfo;
|
|
|
|
+import com.fjhx.entity.stock.Stock;
|
|
import com.fjhx.enums.stock.QualityStatusEnum;
|
|
import com.fjhx.enums.stock.QualityStatusEnum;
|
|
import com.fjhx.mapper.jd.JdBackMapper;
|
|
import com.fjhx.mapper.jd.JdBackMapper;
|
|
import com.fjhx.params.jd.JdBackEx;
|
|
import com.fjhx.params.jd.JdBackEx;
|
|
@@ -22,8 +22,10 @@ import com.fjhx.service.jd.JdBackService;
|
|
import com.fjhx.service.logistics.LogisticsInfoService;
|
|
import com.fjhx.service.logistics.LogisticsInfoService;
|
|
import com.fjhx.service.product.ProductInfoService;
|
|
import com.fjhx.service.product.ProductInfoService;
|
|
import com.fjhx.service.quality.QualityInfoService;
|
|
import com.fjhx.service.quality.QualityInfoService;
|
|
|
|
+import com.fjhx.service.stock.StockService;
|
|
import com.fjhx.service.warehouse.WarehouseService;
|
|
import com.fjhx.service.warehouse.WarehouseService;
|
|
import com.fjhx.uitl.code.CodeEnum;
|
|
import com.fjhx.uitl.code.CodeEnum;
|
|
|
|
+import com.fjhx.utils.Assert;
|
|
import org.springblade.core.excel.util.ExcelUtil;
|
|
import org.springblade.core.excel.util.ExcelUtil;
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -31,6 +33,7 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -63,9 +66,32 @@ public class JdBackServiceImpl extends ServiceImpl<JdBackMapper, JdBack> impleme
|
|
@Autowired
|
|
@Autowired
|
|
private LogisticsInfoService logisticsInfoService;
|
|
private LogisticsInfoService logisticsInfoService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ StockService stockService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void add(JdBackVo jdBackVo) {
|
|
public void add(JdBackVo jdBackVo) {
|
|
- save(jdBackVo);
|
|
|
|
|
|
+ //根据物流id查询退货商品列表
|
|
|
|
+ List<ProductInfo> productInfos = baseMapper.getProductInfoByLogisticsInfoId(jdBackVo.getLogisticsId());
|
|
|
|
+ List<Long> productInfoIds = productInfos.stream().map(ProductInfo::getId).distinct().collect(Collectors.toList());
|
|
|
|
+ //根据商品id和仓库id查出所有商品库存信息
|
|
|
|
+ Stock stock = stockService.getOne(q -> q.eq(Stock::getGoodsId, productInfoIds.get(0)).eq(Stock::getWarehouseId, jdBackVo.getWarehouseId()));
|
|
|
|
+ if(ObjectUtil.isEmpty(stock)){
|
|
|
|
+ stock=new Stock();
|
|
|
|
+ stock.setGoodsId(productInfos.get(0).getId());
|
|
|
|
+ stock.setQuantity(stock.getQuantity());
|
|
|
|
+ stock.setDefectiveQuantity(BigDecimal.ZERO);
|
|
|
|
+ stock.setWarehouseId(jdBackVo.getWarehouseId());
|
|
|
|
+ stockService.save(stock);
|
|
|
|
+ }else {
|
|
|
|
+ //增加库存
|
|
|
|
+ stock.setQuantity(stock.getQuantity().add(BigDecimal.ONE));
|
|
|
|
+ stockService.updateById(stock);
|
|
|
|
+ }
|
|
|
|
+ //更新入库状态
|
|
|
|
+ LogisticsInfo logisticsInfo = logisticsInfoService.getById(jdBackVo.getLogisticsId());
|
|
|
|
+ logisticsInfo.setInStockStatus(30);
|
|
|
|
+ logisticsInfoService.updateById(logisticsInfo);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|