Răsfoiți Sursa

问题处理

yzc 2 ani în urmă
părinte
comite
93363f0b08

+ 12 - 10
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdBackQualityDetailsServiceImpl.java

@@ -21,7 +21,6 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -49,6 +48,9 @@ public class JdBackQualityDetailsServiceImpl extends ServiceImpl<JdBackQualityDe
     public Page<JdBackQualityDetailsVo> getPage(JdBackQualityDetailsSelectDto dto) {
         IWrapper<JdBackQualityDetails> wrapper = getWrapper();
         wrapper.orderByDesc("jbqd", JdBackQualityDetails::getId);
+        if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
+            wrapper.and(q -> q.like(JdBackQualityDetails::getCode, dto.getKeyword()));
+        }
         Page<JdBackQualityDetailsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<JdBackQualityDetailsVo> records = page.getRecords();
         //赋值产品信息
@@ -82,7 +84,7 @@ public class JdBackQualityDetailsServiceImpl extends ServiceImpl<JdBackQualityDe
     @DSTransactional
     @Override
     public void add(List<JdBackQualityDetailsDto> jdBackQualityDetailsDtoList) {
-        if(ObjectUtil.isEmpty(jdBackQualityDetailsDtoList)){
+        if (ObjectUtil.isEmpty(jdBackQualityDetailsDtoList)) {
             throw new ServiceException("质检列表不能为空");
         }
         String code = CodeEnum.JD_BACK_QUALITY.getCode();
@@ -97,19 +99,19 @@ public class JdBackQualityDetailsServiceImpl extends ServiceImpl<JdBackQualityDe
             //减少待质检数量
             BigDecimal quality = jdBackQualityDetailsDto.getQualifiedQuantity().add(jdBackQualityDetailsDto.getDisqualificationQuantity());
             JdBackQualityWait jdBackQualityWait = jdBackQualityWaitMap.get(jdBackQualityDetailsDto.getProductId());
-            if(ObjectUtil.isEmpty(jdBackQualityWait)){
+            if (ObjectUtil.isEmpty(jdBackQualityWait)) {
                 ProductInfo productInfo = productInfoService.getById(jdBackQualityDetailsDto.getProductId());
-                if(ObjectUtil.isEmpty(productInfo)){
-                    throw new ServiceException("产品不存在,产品id"+jdBackQualityDetailsDto.getProductId());
+                if (ObjectUtil.isEmpty(productInfo)) {
+                    throw new ServiceException("产品不存在,产品id" + jdBackQualityDetailsDto.getProductId());
                 }
-                throw new ServiceException("待质检数据不存在,产品-"+productInfo.getName());
+                throw new ServiceException("待质检数据不存在,产品-" + productInfo.getName());
             }
-            if(jdBackQualityWait.getQuantity().subtract(quality).compareTo(BigDecimal.ZERO)<0){
+            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());
+                if (ObjectUtil.isEmpty(productInfo)) {
+                    throw new ServiceException("产品不存在,产品id" + jdBackQualityDetailsDto.getProductId());
                 }
-                throw new ServiceException("质检数量大于待质检数量请检查,产品id"+productInfo.getName());
+                throw new ServiceException("质检数量大于待质检数量请检查,产品id" + productInfo.getName());
             }
 //            BigDecimal oldQuantity = jdBackQualityWait.getQuantity();
 //            jdBackQualityWait.setQuantity(oldQuantity.subtract(quality));

+ 9 - 9
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdBackQualityWaitServiceImpl.java

@@ -6,10 +6,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.item.util.excel.util.ExcelUtil;
 import com.fjhx.victoriatourist.entity.jd.bo.JdBackQualityWaitExcelBo;
-import com.fjhx.victoriatourist.entity.jd.dto.JdBackQualityDetailsDto;
 import com.fjhx.victoriatourist.entity.jd.dto.JdBackQualityWaitSelectDto;
 import com.fjhx.victoriatourist.entity.jd.po.JdBackQualityWait;
-import com.fjhx.victoriatourist.entity.jd.vo.JdBackQualityDetailsVo;
 import com.fjhx.victoriatourist.entity.jd.vo.JdBackQualityWaitVo;
 import com.fjhx.victoriatourist.mapper.jd.JdBackQualityWaitMapper;
 import com.fjhx.victoriatourist.service.jd.JdBackQualityDetailsService;
@@ -28,7 +26,7 @@ import java.util.List;
  * 京东退货待质检 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-04-19
  */
 @Service
@@ -41,6 +39,7 @@ public class JdBackQualityWaitServiceImpl extends ServiceImpl<JdBackQualityWaitM
     @Override
     public Page<JdBackQualityWaitVo> getPage(JdBackQualityWaitSelectDto dto) {
         IWrapper<JdBackQualityWait> wrapper = getWrapper();
+        wrapper.ne(JdBackQualityWait::getQuantity, 0);
         wrapper.orderByDesc("jbqw", JdBackQualityWait::getId);
         Page<JdBackQualityWaitVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         //赋值产品信息
@@ -55,7 +54,7 @@ public class JdBackQualityWaitServiceImpl extends ServiceImpl<JdBackQualityWaitM
     }
 
     @Override
-    public void exportExcel(HttpServletResponse httpServletResponse){
+    public void exportExcel(HttpServletResponse httpServletResponse) {
         List<JdBackQualityWait> list = list();
         List<JdBackQualityWaitVo> jdBackQualityWaitVos = BeanUtil.copyToList(list, JdBackQualityWaitVo.class);
         //赋值产品信息
@@ -72,12 +71,13 @@ public class JdBackQualityWaitServiceImpl extends ServiceImpl<JdBackQualityWaitM
     }
 
     @Override
-    public List<JdBackQualityWaitExcelBo> importExcel(MultipartFile file){
+    public List<JdBackQualityWaitExcelBo> importExcel(MultipartFile file) {
         List<JdBackQualityWaitExcelBo> read = ExcelUtil.read(file, JdBackQualityWaitExcelBo.class);
-
-        //数据操作交给前端
-//        List<JdBackQualityDetailsDto> jdBackQualityDetailsDtos = BeanUtil.copyToList(read, JdBackQualityDetailsDto.class);
-//        jdBackQualityDetailsService.add(jdBackQualityDetailsDtos);
+        //重新赋值待质检数量
+        List<JdBackQualityWaitVo> jdBackQualityWaitVos = BeanUtil.copyToList(read, JdBackQualityWaitVo.class);
+        this.attributeAssign(jdBackQualityWaitVos, JdBackQualityWaitVo::getProductId, (item, qualityWait) -> {
+            item.setQuantity(qualityWait.getQuantity());
+        });
         return read;
     }
 

+ 2 - 2
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -301,8 +301,8 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
 
             //创建出库数据
             Stock stock = new Stock();
-            stock.setProductId(stockTransferDetails.getProductId());
-            stock.setQuantity(stockTransferDetails.getInQuantity());
+            stock.setProductId(jdOrderDetails.getProductId());
+            stock.setQuantity(jdOrderDetails.getQuantity());
             stockList.add(stock);
         }
         stockTransferDetailsService.saveBatch(stockTransferDetailsList);

+ 10 - 4
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/order/impl/OrderInfoServiceImpl.java

@@ -68,7 +68,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
 //            //默认销售订单
 //            wrapper.in("oi", OrderInfo::getType, 1, 2);
 //        } else {
-            wrapper.eq("oi", OrderInfo::getType, dto.getType());
+        wrapper.eq("oi", OrderInfo::getType, dto.getType());
 //        }
         wrapper.eq("oi", OrderInfo::getStatus, dto.getStatus());//根据状态过滤
         wrapper.orderByDesc("oi", OrderInfo::getId);
@@ -178,6 +178,12 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     @Override
     public void edit(OrderInfoDto orderInfoDto) {
         this.updateById(orderInfoDto);
+        if (orderInfoDto.getStatus() == 3 || orderInfoDto.getStatus() == 2) {
+            List<StockWait> list = stockWaitService.list(q -> q.eq(StockWait::getBusinessId, orderInfoDto.getId()));
+            for (StockWait stockWait : list) {
+                stockWait.setStatus(2);
+            }
+        }
     }
 
     @Override
@@ -202,16 +208,16 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         List<OrderDetails> orderDetailsList = orderDetailsService.list(q -> q.eq(OrderDetails::getOrderId, orderDetails.getOrderId()));
         for (OrderDetails details : orderDetailsList) {
             //统计已经完全出库的条数
-            if(details.getNotIssuedQuantity().compareTo(BigDecimal.ZERO)==0){
+            if (details.getNotIssuedQuantity().compareTo(BigDecimal.ZERO) == 0) {
                 statusFlag++;
             }
         }
         OrderInfo orderInfo = getById(orderDetails.getOrderId());
-        if(statusFlag == orderDetailsList.size()){
+        if (statusFlag == orderDetailsList.size()) {
             //完全出库
             orderInfo.setStatus(2);//订单状态 1进行中 2已完成 3已取消
             orderInfo.setIssueStatus(3);//出库状态 1未出库 2进行中 3已出库
-        }else{
+        } else {
             //部分出库
             orderInfo.setStatus(1);//订单状态 1进行中 2已完成 3已取消
             orderInfo.setIssueStatus(2);//出库状态 1未出库 2进行中 3已出库

+ 2 - 2
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/stock/impl/StockTransferServiceImpl.java

@@ -113,7 +113,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         return result;
     }
 
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional
     @Override
     public void add(StockTransferDto stockTransferDto) {
         Assert.notEmpty(stockTransferDto.getOutWarehouseId(), "出库仓库不能为空");
@@ -129,7 +129,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
             Stock stock = new Stock();
             stock.setProductId(stockTransferDetails.getProductId());
-            stock.setQuantity(stockTransferDetails.getInQuantity());
+            stock.setQuantity(stockTransferDetails.getOutQuantity());
             stockList.add(stock);
 
             stockTransferDetails.setStockTransferId(stockTransferDto.getId());