Browse Source

京东订单接收问题处理

yzc 2 years ago
parent
commit
c9fbc1b97b

+ 2 - 2
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/abnormal/impl/AbnormalDetailsServiceImpl.java

@@ -42,7 +42,7 @@ public class AbnormalDetailsServiceImpl extends ServiceImpl<AbnormalDetailsMappe
     @Override
     public Page<AbnormalDetailsVo> getPage(AbnormalDetailsSelectDto dto) {
         IWrapper<AbnormalDetails> wrapper = getWrapper();
-        wrapper.eq("ad",AbnormalDetails::getAbnormalInfoId, dto.getAbnormalInfoId());
+        wrapper.eq("ad", AbnormalDetails::getAbnormalInfoId, dto.getAbnormalInfoId());
         wrapper.orderByDesc("ad", AbnormalDetails::getId);
         Page<AbnormalDetailsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         //赋值跟进用户名
@@ -65,7 +65,7 @@ public class AbnormalDetailsServiceImpl extends ServiceImpl<AbnormalDetailsMappe
         AbnormalInfo abnormalInfo = new AbnormalInfo();
         abnormalInfo.setId(abnormalInfoId);
         abnormalInfo.setLinkCode(CodeEnum.ABNORMAL.getCode());
-        abnormalInfo.setStatus(status);
+        abnormalInfo.setStatus(status == 1 ? 2 : 1);//如果跟进记录为已处理修改异常状态为已处理要不然跟进中
         abnormalInfo.setHandleUser(abnormalDetailsDto.getHandleUser());
         abnormalInfo.setHandleTime(abnormalDetailsDto.getHandleTime());
         abnormalInfoService.updateById(abnormalInfo);

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

@@ -74,8 +74,10 @@ public class JdBackQualityWaitServiceImpl extends ServiceImpl<JdBackQualityWaitM
     @Override
     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<JdBackQualityDetailsDto> jdBackQualityDetailsDtos = BeanUtil.copyToList(read, JdBackQualityDetailsDto.class);
+//        jdBackQualityDetailsService.add(jdBackQualityDetailsDtos);
         return read;
     }
 

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

@@ -318,11 +318,15 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     @Override
     public void receive(StockTransferDto stockTransferDto) {
         StockTransfer stockTransfer = stockTransferService.getById(stockTransferDto.getId());
+        //修改调仓状态
+        stockTransfer.setInStatus(2);//修改为已接收
+        stockTransfer.setInUserId(SecurityUtils.getUserId());//赋值接收人
+        stockTransfer.setInTime(new Date());//赋值接收时间
+
         //明细
         List<Stock> stockList = new ArrayList<>();
         List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
         if(ObjectUtil.isNotEmpty(stockTransferDetailsList)) {
-            stockTransferDetailsService.updateBatchById(stockTransferDetailsList);
             //获取数据库中的数据
             List<Long> ids = stockTransferDetailsList.stream().map(StockTransferDetails::getId).collect(Collectors.toList());
             List<StockTransferDetails> oldstockTransferDetailsList = stockTransferDetailsService.listByIds(ids);
@@ -337,10 +341,18 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
 
                 //调仓接收数量与发出数量不一致
                 StockTransferDetails oldstockTransferDetails = oldstockTransferDetailsMap.get(stockTransferDetails.getId());
-                if (stockTransferDetails.getInQuantity() != oldstockTransferDetails.getOutQuantity()) {
+                if (stockTransferDetails.getInQuantity().compareTo(oldstockTransferDetails.getOutQuantity())!=0) {
                     abnormalFlag =1;
+                }
+
+                //计算已入库数量
+                BigDecimal inCount = oldstockTransferDetails.getInQuantity().add(stockTransferDetails.getInQuantity());
+                if (inCount.compareTo(oldstockTransferDetails.getOutQuantity())!=0 ) {
                     stockTransfer.setInStatus(1);//设置为部分接收
                 }
+                stockTransferDetails.setInQuantity(inCount);
+
+
             }
             if(abnormalFlag ==1){
                 AbnormalInfo abnormalInfo = new AbnormalInfo();
@@ -348,23 +360,13 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
                 abnormalInfo.setType(30);
                 abnormalInfo.setLinkId(stockTransfer.getId());
                 abnormalInfo.setLinkCode(stockTransfer.getCode());
-                abnormalInfo.setTitle("调仓接收数量与发出数量不一致");
+                abnormalInfo.setTitle("京东订单接收数量与发出数量不一致");
                 abnormalInfoService.save(abnormalInfo);
             }
         }
-        //修改调仓状态
-        stockTransfer.setInStatus(2);//修改为已接收
-        stockTransfer.setInUserId(SecurityUtils.getUserId());//赋值接收人
-        stockTransfer.setInTime(new Date());//赋值接收时间
-        List<StockTransferDetails> stockTransferDetails = stockTransferDetailsService.list(q -> q.eq(StockTransferDetails::getStockTransferId, stockTransfer.getId()));
-        for (StockTransferDetails stockTransferDetail : stockTransferDetails) {
-            if(stockTransferDetail.getOutQuantity().compareTo(stockTransferDetail.getInQuantity())!=0){
-                stockTransfer.setInStatus(1);//部分接收
-                break;
-            }
-        }
 
         stockTransferService.updateById(stockTransfer);
+        stockTransferDetailsService.updateBatchById(stockTransferDetailsList);
         //创建入库记录
         StockJournal stockJournal = new StockJournal();
         stockJournal.setOpType(1);
@@ -394,7 +396,6 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
             //保存出入库记录明细
             stockJournalDetailsService.saveBatch(stockJournalDetailsList);
             stockJournalDetailsService.saveBatch(stockJournalDetailsList1);
-
         }
     }
 

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

@@ -29,6 +29,7 @@ import com.fjhx.wms.service.stock.StockJournalDetailsService;
 import com.fjhx.wms.service.stock.StockJournalService;
 import com.fjhx.wms.service.stock.StockService;
 import com.fjhx.wms.service.warehouse.WarehouseService;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.function.Function;
@@ -142,6 +144,9 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
     public void receive(StockTransferDto stockTransferDto) {
         StockTransfer stockTransfer = getById(stockTransferDto.getId());
         stockTransfer.setInStatus(2);//修改为已接收
+        stockTransfer.setInUserId(SecurityUtils.getUserId());//赋值接收人
+        stockTransfer.setInTime(new Date());//赋值接收时间
+
         //明细
         List<Stock> stockList = new ArrayList<>();
         List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
@@ -160,13 +165,16 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
 
                 //调仓接收数量与发出数量不一致
                 StockTransferDetails oldstockTransferDetails = oldstockTransferDetailsMap.get(stockTransferDetails.getId());
+                if (stockTransferDetails.getInQuantity().compareTo(oldstockTransferDetails.getOutQuantity())!=0) {
+                    abnormalFlag =1;
+                }
+
                 //计算已入库数量
                 BigDecimal inCount = oldstockTransferDetails.getInQuantity().add(stockTransferDetails.getInQuantity());
-                stockTransferDetails.setInQuantity(inCount);
-                if (inCount != oldstockTransferDetails.getOutQuantity()) {
-                    abnormalFlag =1;
+                if (inCount.compareTo(oldstockTransferDetails.getOutQuantity())!=0 ) {
                     stockTransfer.setInStatus(1);//设置为部分接收
                 }
+                stockTransferDetails.setInQuantity(inCount);
             }
             if(abnormalFlag ==1){
                 AbnormalInfo abnormalInfo = new AbnormalInfo();