|
@@ -2,8 +2,10 @@ package com.fjhx.victoriatourist.service.jd.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.victoriatourist.entity.jd.dto.JdBackQualityDetailsDto;
|
|
|
import com.fjhx.victoriatourist.entity.jd.dto.JdBackQualityDetailsSelectDto;
|
|
@@ -77,7 +79,7 @@ public class JdBackQualityDetailsServiceImpl extends ServiceImpl<JdBackQualityDe
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
+ @DSTransactional
|
|
|
@Override
|
|
|
public void add(List<JdBackQualityDetailsDto> jdBackQualityDetailsDtoList) {
|
|
|
if(ObjectUtil.isEmpty(jdBackQualityDetailsDtoList)){
|
|
@@ -95,6 +97,20 @@ public class JdBackQualityDetailsServiceImpl extends ServiceImpl<JdBackQualityDe
|
|
|
//减少待质检数量
|
|
|
BigDecimal quality = jdBackQualityDetailsDto.getQualifiedQuantity().add(jdBackQualityDetailsDto.getDisqualificationQuantity());
|
|
|
JdBackQualityWait jdBackQualityWait = jdBackQualityWaitMap.get(jdBackQualityDetailsDto.getProductId());
|
|
|
+ if(ObjectUtil.isEmpty(jdBackQualityWait)){
|
|
|
+ ProductInfo productInfo = productInfoService.getById(jdBackQualityDetailsDto.getProductId());
|
|
|
+ if(ObjectUtil.isEmpty(productInfo)){
|
|
|
+ throw new ServiceException("产品不存在,产品id"+jdBackQualityDetailsDto.getProductId());
|
|
|
+ }
|
|
|
+ throw new ServiceException("待质检数据不存在,产品-"+productInfo.getName());
|
|
|
+ }
|
|
|
+ if(jdBackQualityWait.getQuantity().subtract(quality).compareTo(BigDecimal.ZERO)<0){
|
|
|
+ ProductInfo productInfo = productInfoService.getById(jdBackQualityDetailsDto.getProductId());
|
|
|
+ if(ObjectUtil.isEmpty(productInfo)){
|
|
|
+ throw new ServiceException("产品不存在,产品id"+jdBackQualityDetailsDto.getProductId());
|
|
|
+ }
|
|
|
+ throw new ServiceException("质检数量大于待质检数量请检查,产品id"+productInfo.getName());
|
|
|
+ }
|
|
|
// BigDecimal oldQuantity = jdBackQualityWait.getQuantity();
|
|
|
// jdBackQualityWait.setQuantity(oldQuantity.subtract(quality));
|
|
|
jdBackQualityWaitService.update(q -> q
|