Sfoglia il codice sorgente

添加 批量组合
添加 产品拆分
添加 物流信息修改

yzc 2 anni fa
parent
commit
15f23cb76f

+ 9 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/controller/logistics/LogisticsInfoController.java

@@ -125,5 +125,14 @@ public class LogisticsInfoController {
         return R.success(result);
     }
 
+    /**
+     * 修改物流信息
+     */
+    @PostMapping(value = "/editLogistics")
+    public R editLogistics(@RequestBody DataInfoPageVo dataInfoPageVo) {
+        logisticsInfoService.editLogistics(dataInfoPageVo);
+        return R.success();
+    }
+
 }
 

+ 18 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/controller/stock/StockCombinationController.java

@@ -58,6 +58,24 @@ public class StockCombinationController {
     }
 
     /**
+     * 批量添加组合
+     */
+    @PostMapping("/add_batch")
+    public R addBatch(@Validated @RequestBody List<StockCombination> stockCombinations) {
+        stockCombinationService.addBatch(stockCombinations);
+        return R.success();
+    }
+
+    /**
+     * 拆分组合
+     */
+    @PostMapping("/split")
+    public R split(@Validated @RequestBody StockCombination stockCombination) {
+        stockCombinationService.split(stockCombination);
+        return R.success();
+    }
+
+    /**
      * 获取可组合数量
      */
     @PostMapping("/getQuantityByWarehouseId")

+ 4 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/logistics/LogisticsInfoService.java

@@ -9,6 +9,8 @@ import com.fjhx.params.logistics.DeliverDetailsVo;
 import com.fjhx.params.logistics.LogisticsInfoVo;
 import com.fjhx.params.stock.InStockAdd;
 import com.fjhx.uitl.kd100.KD100Result;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 import java.util.Map;
@@ -97,4 +99,6 @@ public interface LogisticsInfoService extends BaseService<LogisticsInfo> {
      */
     KD100Result getLogistics(Long id);
 
+     void editLogistics(DataInfoPageVo dataInfoPageVo);
+
 }

+ 11 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/logistics/impl/LogisticsInfoServiceImpl.java

@@ -1,6 +1,8 @@
 package com.fjhx.service.logistics.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -447,4 +449,13 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
         return KD100Util.queryTrack(logisticsInfo.getLogisticsCompanyCode(), logisticsInfo.getCode());
     }
 
+    @Override
+    public void editLogistics(DataInfoPageVo dataInfoPageVo) {
+        UpdateWrapper updateWrapper = new UpdateWrapper();
+        updateWrapper.set("code",dataInfoPageVo.getCode());
+        updateWrapper.set("logistics_company_code",dataInfoPageVo.getLogisticsCompanyCode());
+        updateWrapper.eq("id",dataInfoPageVo.getId());
+        update(updateWrapper);
+    }
+
 }

+ 9 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/StockCombinationService.java

@@ -6,6 +6,11 @@ import com.fjhx.entity.stock.StockCombination;
 import com.fjhx.params.stock.GetQuantityByWarehouseIdDto;
 import com.fjhx.params.stock.StockCombinationPageDto;
 import com.fjhx.params.stock.StockCombinationPageVo;
+import org.springblade.core.tool.api.R;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
 
 /**
  * <p>
@@ -21,6 +26,10 @@ public interface StockCombinationService extends BaseService<StockCombination> {
 
     void add(StockCombination stockCombination);
 
+    void addBatch(List<StockCombination> stockCombinations);
+
+    void split(StockCombination stockCombination);
+
     int getQuantityByWarehouseId(GetQuantityByWarehouseIdDto getQuantityByWarehouseIdDto);
 
 }

+ 51 - 4
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockCombinationServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fjhx.service.stock.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -19,16 +20,16 @@ import com.fjhx.utils.Assert;
 import com.fjhx.utils.UserClientUtil;
 import com.fjhx.utils.wrapperUtil.IWrapper;
 import com.fjhx.utils.wrapperUtil.KeywordData;
+import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -98,6 +99,52 @@ public class StockCombinationServiceImpl extends ServiceImpl<StockCombinationMap
 
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void addBatch(List<StockCombination> stockCombinations){
+        for (StockCombination stockCombination : stockCombinations){
+            add(stockCombination);
+        }
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void split(StockCombination stockCombination) {
+        // 查询组合包涵产品id以和所需数量
+        List<ProductCombination> productCombinationList = getCombinationListByProductId(stockCombination.getProductId());
+        List<StockChangeDetailsDto> stockChangeDetailsDtoList = new ArrayList<>();
+        for(ProductCombination productCombination:productCombinationList){
+            //设置包含产品id和数量(赋值变更明细)
+            StockChangeDetailsDto stockChangeDetailsDto = new StockChangeDetailsDto();
+            stockChangeDetailsDto.setGoodsId(productCombination.getLinkProductId());
+            //计算要入库的数量 包含产品所需的数量*要拆分组合的数量
+            stockChangeDetailsDto.setChangeQuantity(productCombination.getLinkQuantity().multiply(BigDecimal.valueOf(stockCombination.getCombinationQuantity())));
+            stockChangeDetailsDtoList.add(stockChangeDetailsDto);
+        }
+        //将包含产品入库
+        // 赋值库存变更参数
+        StockChangeDto stockChangeDto0 = new StockChangeDto();
+        stockChangeDto0.setDefaultBusinessId(IdWorker.getId());
+        stockChangeDto0.setDefaultWarehouseId(stockCombination.getSourceWarehouseId());
+        stockChangeDto0.setTypeEnum(InTypeEnum.COMBINATION);
+        stockChangeDto0.setChangeDetailsList(stockChangeDetailsDtoList);
+        // 保存变更明细
+        stockService.changeQuantity(stockChangeDto0);
+
+        //将产品组合出库
+        StockChangeDetailsDto stockChangeDetailsDto = new StockChangeDetailsDto();
+        stockChangeDetailsDto.setGoodsId(stockCombination.getProductId());
+        stockChangeDetailsDto.setChangeQuantity(BigDecimal.valueOf(stockCombination.getCombinationQuantity()));
+        // 赋值库存变更参数
+        StockChangeDto stockChangeDto = new StockChangeDto();
+        stockChangeDto.setDefaultBusinessId(IdWorker.getId());
+        stockChangeDto.setDefaultWarehouseId(stockCombination.getCombinationWarehouseId());
+        stockChangeDto.setTypeEnum(OutTypeEnum.COMBINATION);
+        stockChangeDto.setChangeDetailsList(Collections.singletonList(stockChangeDetailsDto));
+        // 保存变更明细
+        stockService.changeQuantity(stockChangeDto);
+    }
+
     @Override
     public int getQuantityByWarehouseId(GetQuantityByWarehouseIdDto dto) {