Selaa lähdekoodia

待入库页面合并
京东订单接收

yzc 2 vuotta sitten
vanhempi
commit
032687d9e3

+ 3 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/jd/JdBackVo.java

@@ -14,4 +14,7 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = true)
 public class JdBackVo extends JdBack {
 
+    /**物流id*/
+    private String logisticsId;
+
 }

+ 14 - 2
hx-service/victoriatourist/src/main/java/com/fjhx/controller/jd/NewJdBackController.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.base.BaseSelectDto;
 import com.fjhx.entity.jd.JdBack;
 import com.fjhx.entity.jd.JdBackDetails;
+import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.entity.quality.QualityInfo;
 import com.fjhx.params.jd.JdBackEx;
 import com.fjhx.params.jd.JdBackPageDto;
+import com.fjhx.params.jd.JdBackVo;
 import com.fjhx.service.jd.JdBackDetailsService;
 import com.fjhx.service.jd.JdBackService;
 import org.springblade.core.tool.api.R;
@@ -52,13 +54,23 @@ public class NewJdBackController {
         return R.success(list);
     }
 
-    /**京东退货质检*/
+    /**
+     * 京东退货质检
+     */
     @PostMapping("/quality")
-    public R quality(@RequestBody QualityInfo qualityInfo){
+    public R quality(@RequestBody QualityInfo qualityInfo) {
         jdBackDetailsService.quality(qualityInfo);
         return R.success();
     }
 
+    /**
+     * 京东退货入库
+     */
+    @PostMapping("/add")
+    public R add(@RequestBody JdBackVo jdBackVo) {
+        jdBackService.add(jdBackVo);
+        return R.success();
+    }
 
 }
 

+ 6 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/jd/JdBackMapper.java

@@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.entity.jd.JdBack;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.entity.logistics.LogisticsInfo;
+import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.params.jd.JdBackEx;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 京东退货 Mapper 接口
@@ -19,4 +23,6 @@ public interface JdBackMapper extends BaseMapper<JdBack> {
 
     Page<JdBackEx> getPage(@Param("page") Page<Object> page, @Param("ew") QueryWrapper<Object> wrapper1);
 
+    List<ProductInfo> getProductInfoByLogisticsInfoId(@Param("LogisticsInfoId") String LogisticsInfoId);
+
 }

+ 10 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/jd/JdBackMapper.xml

@@ -19,5 +19,15 @@
                  join quality_info qi on qi.logistics_info_id = jb.id
             ${ew.customSqlSegment}
     </select>
+    <select id="getProductInfoByLogisticsInfoId" resultType="com.fjhx.entity.product.ProductInfo">
+        SELECT
+            product_info.id
+        FROM
+            logistics_info
+                JOIN jd_back_details ON jd_back_details.jd_back_id = logistics_info.business_id
+                join product_info on jd_back_details.product_code = product_info.`code`
+        WHERE
+            logistics_info.id = #{LogisticsInfoId}
+    </select>
 
 </mapper>

+ 6 - 2
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/logistics/LogisticsInfoMapper.xml

@@ -65,7 +65,9 @@
             logistics_info.id,
             jd_back.create_user,
             jd_back.update_time,
-            logistics_info.in_stock_status
+            logistics_info.in_stock_status,
+            logistics_info.business_id,
+            warehouse.id warehouseId
         FROM
             jd_back
                 JOIN warehouse ON jd_back.warehouse_id = warehouse.id
@@ -83,7 +85,9 @@
             logistics_info.id,
             purchase.create_user,
             purchase.update_time,
-            logistics_info.in_stock_status
+            logistics_info.in_stock_status,
+            logistics_info.business_id,
+            warehouse.id warehouseId
         FROM
             apply_purchase
                 JOIN warehouse ON apply_purchase.receipt_warehouse_id = warehouse.id

+ 3 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/jd/JdBackService.java

@@ -3,11 +3,14 @@ package com.fjhx.service.jd;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.base.BaseService;
 import com.fjhx.entity.jd.JdBack;
+import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.params.jd.JdBackEx;
 import com.fjhx.params.jd.JdBackPageDto;
 import com.fjhx.params.jd.JdBackVo;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+
 /**
  * <p>
  * 京东退货 服务类

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

@@ -9,9 +9,9 @@ import com.fjhx.constants.StatusConstant;
 import com.fjhx.entity.jd.JdBack;
 import com.fjhx.entity.jd.JdBackDetails;
 import com.fjhx.entity.logistics.LogisticsInfo;
-import com.fjhx.entity.order.OrderInfo;
 import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.entity.quality.QualityInfo;
+import com.fjhx.entity.stock.Stock;
 import com.fjhx.enums.stock.QualityStatusEnum;
 import com.fjhx.mapper.jd.JdBackMapper;
 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.product.ProductInfoService;
 import com.fjhx.service.quality.QualityInfoService;
+import com.fjhx.service.stock.StockService;
 import com.fjhx.service.warehouse.WarehouseService;
 import com.fjhx.uitl.code.CodeEnum;
+import com.fjhx.utils.Assert;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.log.exception.ServiceException;
 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.web.multipart.MultipartFile;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -63,9 +66,32 @@ public class JdBackServiceImpl extends ServiceImpl<JdBackMapper, JdBack> impleme
     @Autowired
     private LogisticsInfoService logisticsInfoService;
 
+    @Autowired
+    StockService stockService;
+
     @Override
     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

+ 16 - 5
hx-service/victoriatourist/src/main/java/com/fjhx/service/logistics/impl/LogisticsInfoServiceImpl.java

@@ -11,8 +11,10 @@ import com.fjhx.base.Condition;
 import com.fjhx.constants.StatusConstant;
 import com.fjhx.constants.logistics.LogisticsConstant;
 import com.fjhx.entity.apply.ApplyPurchase;
+import com.fjhx.entity.customer.CustomerInfo;
 import com.fjhx.entity.logistics.LogisticsDetails;
 import com.fjhx.entity.logistics.LogisticsInfo;
+import com.fjhx.entity.order.OrderInfo;
 import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.entity.purchase.Purchase;
 import com.fjhx.entity.purchase.PurchaseBack;
@@ -473,7 +475,7 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
     }
 
     @Override
-    public void addLogistics(LogisticsInfoVo entity){
+    public void addLogistics(LogisticsInfoVo entity) {
         save(entity);
         LogisticsDetails logisticsDetails = new LogisticsDetails();
         logisticsDetails.setLogisticsInfoId(entity.getId());
@@ -482,11 +484,20 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
     }
 
     @Override
-    public Page<LogisticsInfoEx> issuePage(Condition condition){
+    public Page<LogisticsInfoEx> issuePage(Condition condition) {
         IWrapper<Object> wrapper = IWrapper.getWrapper(condition);
-        wrapper.ne("in_stock_status",30);
-        wrapper.eq(ObjectUtil.isNotEmpty(condition.get("type")),"logistics_info.business_type",condition.get("type"));
-        return baseMapper.issuePage(condition.getPage(), wrapper);
+        wrapper.ne("in_stock_status", 30);
+        wrapper.eq(ObjectUtil.isNotEmpty(condition.get("type")), "logistics_info.business_type", condition.get("type"));
+        wrapper.like("logistics_info.`code`", condition.get("keyword"));
+
+        Page<LogisticsInfoEx> page = baseMapper.issuePage(condition.getPage(), wrapper);
+
+        List<LogisticsInfoEx> records = page.getRecords();
+        Map<Long, String> userNameMap = UserClientUtil.getUserNameMap(records, LogisticsInfoEx::getCreateUser);
+        for (LogisticsInfoEx logisticsInfo : records) {
+            logisticsInfo.setPurchaseName(userNameMap.get(logisticsInfo.getCreateUser()));
+        }
+        return page;
     }
 
 }

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

@@ -56,6 +56,12 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         wrapper.eq("st", StockTransfer::getInStatus);
         wrapper.keyword(new KeywordData("pi", ProductInfo::getName), new KeywordData("pi", ProductInfo::getCode));
         wrapper.orderByDesc("st", StockTransfer::getId);
+        //根据type判断是京东订单数据还是调参数据
+        if ("1".equals(condition.get("type"))) {
+            wrapper.isNull("st.jd_order_info_id");
+        } else {
+            wrapper.isNotNull("st.jd_order_info_id");
+        }
 
         Page<Map<String, Object>> page = baseMapper.getPage(condition.getPage(), wrapper);
         List<Map<String, Object>> records = page.getRecords();
@@ -141,7 +147,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         stockChangeDto.setChangeDetailsList(Collections.singletonList(changeProduct));
 
         //调仓接收数量与发出数量不一致
-        if(stockTransfer.getInQuantity()!=stockTransfer.getOutQuantity()){
+        if (stockTransfer.getInQuantity() != stockTransfer.getOutQuantity()) {
             AbnormalInfo abnormalInfo = new AbnormalInfo();
             abnormalInfo.setId(IdWorker.getId());
             abnormalInfo.setType(30);