浏览代码

待入库

yzc 2 年之前
父节点
当前提交
f14441cb07

+ 1 - 1
hx-purchase/src/main/java/com/fjhx/purchase/controller/arrival/ArrivalController.java

@@ -56,7 +56,7 @@ public class ArrivalController {
     /**
      * 到货新增 维多利亚
      */
-    @PostMapping("/addBywdly")
+    @PostMapping("/addByWdly")
     public void addByWdly(@RequestBody Arrival arrival) {
         arrivalService.addByWdly(arrival);
     }

+ 3 - 1
hx-purchase/src/main/java/com/fjhx/purchase/service/WdlyService.java

@@ -1,6 +1,8 @@
 package com.fjhx.purchase.service;
 
 public interface WdlyService {
-    /**修改发货记录为到货*/
+    /**
+     * 修改发货记录为到货
+     */
     void updateDeliverGoodsStatus(Long id);
 }

+ 30 - 16
hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/impl/ArrivalServiceImpl.java

@@ -5,7 +5,9 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
@@ -61,6 +63,8 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
     @Autowired
     private StockWaitDetailsService stockWaitDetailsService;
 
+    @Autowired
+    private WdlyService wdlyService;
 
     @Override
     public Page<ArrivalVo> getPage(ArrivalSelectDto dto) {
@@ -128,20 +132,23 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
     @GlobalTransactional
     @Override
     public void addByWdly(Arrival arrival) {
+
         arrival.setCode(CodeEnum.ARRIVAL.getCode());
         this.save(arrival);
+
         //修改采购状态
         Purchase purchase = new Purchase();
         purchase.setArrivalStatus(arrival.getArrivalStatus());
         purchase.setId(arrival.getPurchaseId());
         purchaseService.updateById(purchase);
+
         //创建待入库记录
         String victoriatouristJson = arrival.getVictoriatouristJson();
         JSONObject json = JSONObject.parseObject(victoriatouristJson);
         //修改发货记录的状态为到货
         Long deliverGoodsId = json.getLong("deliverGoodsId");
-        WdlyService wdly = SpringUtil.getBean(WdlyService.class);
-        wdly.updateDeliverGoodsStatus(deliverGoodsId);
+        wdlyService.updateDeliverGoodsStatus(deliverGoodsId);
+
         //----------
         StockWait stockWait = new StockWait();
         stockWait.setType(1);//入库
@@ -151,23 +158,30 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
         stockWait.setBusinessId(arrival.getId());
         stockWait.setVictoriatouristJson(victoriatouristJson);
         stockWaitService.save(stockWait);
+
         //取出到货明细
         List<ArrivalDetail> arrivalDetailList = arrival.getArrivalDetailList();
-        if (CollectionUtils.isNotEmpty(arrivalDetailList)) {
-            List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
-            for (ArrivalDetail d : arrivalDetailList) {
-                d.setArrivalId(arrival.getId());
-                StockWaitDetails stockWaitDetails = new StockWaitDetails();
-                stockWaitDetails.setStockWaitId(stockWait.getId());
-                //业务明细id设置成到货明细id
-                stockWaitDetails.setBusinessDetailsId(d.getId());
-                stockWaitDetails.setProductId(d.getBussinessId());
-                stockWaitDetails.setQuantity(d.getCount());
-                stockWaitDetailsList.add(stockWaitDetails);
-            }
-            arrivalDetailService.saveBatch(arrivalDetailList);
-            stockWaitDetailsService.saveBatch(stockWaitDetailsList);
+        if (CollectionUtils.isEmpty(arrivalDetailList)) {
+            return;
+        }
+
+        List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
+        for (ArrivalDetail d : arrivalDetailList) {
+            Long id= IdWorker.getId();
+            d.setId(id);
+            d.setArrivalId(arrival.getId());
+            StockWaitDetails stockWaitDetails = new StockWaitDetails();
+            stockWaitDetails.setStockWaitId(stockWait.getId());
+            //业务明细id设置成到货明细id
+            stockWaitDetails.setBusinessDetailsId(d.getId());
+            stockWaitDetails.setProductId(d.getBussinessId());
+            stockWaitDetails.setQuantity(d.getCount());
+            stockWaitDetailsList.add(stockWaitDetails);
         }
+        arrivalDetailService.saveBatch(arrivalDetailList);
+        DynamicDataSourceContextHolder.push(SourceConstant.WMS);
+        stockWaitDetailsService.saveBatch(stockWaitDetailsList);
+        DynamicDataSourceContextHolder.poll();
     }
 
     @Override

+ 2 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/WdlyServiceImpl.java

@@ -7,7 +7,9 @@ import com.fjhx.victoriatourist.entity.deliver.po.DeliverGoods;
 import com.fjhx.victoriatourist.service.deliver.DeliverGoodsService;
 import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
+@Service
 public class WdlyServiceImpl implements WdlyService {
     /**更新发货记录的状态为到货*/
     @Override

+ 3 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/deliver/impl/DeliverGoodsServiceImpl.java

@@ -66,6 +66,9 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
         //获取采购明细列表
         //赋值产品信息
         List<Long> pdids = deliverGoodsDetailsVos.stream().map(DeliverGoodsDetails::getPurchaseDetailId).collect(Collectors.toList());
+        if(ObjectUtil.isEmpty(pdids)){
+            return deliverGoodsDetailsVos;
+        }
         List<PurchaseDetail> purchaseDetailList = purchaseDetailService.listByIds(pdids);
         Map<Long, Long> goodidmap = purchaseDetailList.stream().collect(Collectors.toMap(PurchaseDetail::getId, PurchaseDetail::getBussinessId));
         List<Long> goodids = purchaseDetailList.stream().map(PurchaseDetail::getBussinessId).collect(Collectors.toList());

+ 8 - 0
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockWaitController.java

@@ -37,6 +37,14 @@ public class StockWaitController {
     }
 
     /**
+     * 待出入库分页 维多利亚
+     */
+    @PostMapping("/pageByWdly")
+    public Page<StockWaitVo> pageByWdly(@RequestBody StockWaitSelectDto dto) {
+        return stockWaitService.getPageByWdly(dto);
+    }
+
+    /**
      * 待出入库明细
      */
     @PostMapping("/detail")

+ 3 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockWaitVo.java

@@ -27,4 +27,7 @@ public class StockWaitVo extends StockWait {
      */
     private List<StockWaitDetailsVo> stockWaitDetailsList;
 
+    /**操作人名称*/
+    private String operatorName;
+
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockWaitService.java

@@ -24,6 +24,11 @@ public interface StockWaitService extends BaseService<StockWait> {
     Page<StockWaitVo> getPage(StockWaitSelectDto dto);
 
     /**
+     * 待出入库分页 维多利亚
+     */
+    Page<StockWaitVo> getPageByWdly(StockWaitSelectDto dto);
+
+    /**
      * 待出入库明细
      */
     StockWaitVo detail(Long id);

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -17,6 +17,7 @@ import com.fjhx.wms.mapper.stock.StockWaitMapper;
 import com.fjhx.wms.service.stock.*;
 import com.obs.services.internal.ServiceException;
 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;
@@ -76,6 +77,22 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
     }
 
     @Override
+    public Page<StockWaitVo> getPageByWdly(StockWaitSelectDto dto) {
+        IWrapper<StockWait> wrapper = getWrapper();
+        wrapper.orderByDesc("sw", StockWait::getId);
+        //过滤入库/出库
+        wrapper.eq(StockWait::getType, dto.getType());
+        wrapper.eq(StockWait::getBusinessCode, dto.getKeyword());
+        Page<StockWaitVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+
+        List<StockWaitVo> records = page.getRecords();
+        //赋值操作人
+        UserUtil.assignmentNickName(records,StockWaitVo::getCreateUser,StockWaitVo::setOperatorName);
+
+        return page;
+    }
+
+    @Override
     public StockWaitVo detail(Long id) {
         StockWait stockWait = this.getById(id);
         StockWaitVo result = BeanUtil.toBean(stockWait, StockWaitVo.class);