瀏覽代碼

冗余代码优化

yzc 2 年之前
父節點
當前提交
59c077a9c7

+ 1 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/purchase/PurchaseBackController.java

@@ -60,7 +60,7 @@ public class PurchaseBackController {
     }
 
     /**
-     * 采购退货待出库出库
+     * 采购退货待出库 批量
      */
     @PostMapping("/backOuts")
     public void backOuts(@RequestBody StockWaitDto stockWaitDto) {

+ 53 - 45
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/purchase/impl/PurchaseBackServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.utils.Assert;
 import com.fjhx.purchase.entity.purchase.po.Purchase;
 import com.fjhx.purchase.service.purchase.PurchaseService;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsDetails;
@@ -37,7 +38,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 
@@ -130,51 +131,58 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
     @Override
     @DSTransactional
     public void backOut(StockWaitDetailsDto stockWaitDetailsDto) {
-        //修改待出入库状态
-        stockWaitDetailsService.changeStockWaitStatus(stockWaitDetailsDto);
+//        //修改待出入库状态
+//        stockWaitDetailsService.changeStockWaitStatus(stockWaitDetailsDto);
+//        StockWaitDetails stockWaitDetails = stockWaitDetailsService.getById(stockWaitDetailsDto.getId());
+//        StockWait byId = stockWaitService.getById(stockWaitDetails.getStockWaitId());
+//        //创建出入库记录
+//        StockJournal stockJournal = new StockJournal();
+//        stockJournal.setOpType(byId.getType());
+//        //退货出库
+//        stockJournal.setType(JournalType.BACK_OUT.getDetailType());
+//
+//        DynamicDataSourceContextHolder.push(SourceConstant.WMS);
+//        stockJournal.setCode(CodeEnum.SOUT_CODE.getCode());
+//        DynamicDataSourceContextHolder.poll();
+//
+//        stockJournal.setWarehouseId(stockWaitDetailsDto.getWarehouseId());
+//        stockJournal.setBusinessId(byId.getId());
+//        //保存出入库记录
+//        stockJournalService.save(stockJournal);
+//        //操作库存
+//        Stock stock = new Stock();
+//        stock.setQuantity(stockWaitDetailsDto.getQuantity());
+//        stock.setProductId(stockWaitDetails.getProductId());
+//        //退货出库出次品库存
+//        List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), 4, Arrays.asList(stock), stockWaitDetailsDto.getWarehouseId());
+//        //保存出入库明细
+//        stockJournalDetailsService.saveBatch(stockJournalDetailsList);
+//
+//        //创建物流数据
+//        LogisticsInfos logisticsInfos = new LogisticsInfos();
+//        logisticsInfos.setBusinessId(byId.getId());
+//        logisticsInfos.setBusinessCode(byId.getBusinessCode());
+//        logisticsInfos.setBusinessType(5);//采购退货
+//        logisticsInfos.setLogisticsCompanyCode(stockWaitDetailsDto.getLogisticsCompanyCode());
+//        logisticsInfos.setCode(stockWaitDetailsDto.getLogisticsCode());
+//        logisticsInfos.setWarehouseId(stockWaitDetailsDto.getWarehouseId());
+//        logisticsInfos.setIsKd100(0);
+//        logisticsInfosService.save(logisticsInfos);
+//
+//        LogisticsDetails logisticsDetails = new LogisticsDetails();
+//        logisticsDetails.setLogisticsInfoId(logisticsInfos.getId());
+//        logisticsDetails.setLogisticsInfoCode(logisticsInfos.getCode());
+//        logisticsDetails.setBusinessDetailsId(stockWaitDetailsDto.getId());
+//        logisticsDetails.setReceiptQuantity(stockWaitDetailsDto.getQuantity());
+//        logisticsDetailsService.save(logisticsDetails);
+
+        //优化
         StockWaitDetails stockWaitDetails = stockWaitDetailsService.getById(stockWaitDetailsDto.getId());
-        StockWait byId = stockWaitService.getById(stockWaitDetails.getStockWaitId());
-        //创建出入库记录
-        StockJournal stockJournal = new StockJournal();
-        stockJournal.setOpType(byId.getType());
-        //退货出库
-        stockJournal.setType(JournalType.BACK_OUT.getDetailType());
-
-        DynamicDataSourceContextHolder.push(SourceConstant.WMS);
-        stockJournal.setCode(CodeEnum.SOUT_CODE.getCode());
-        DynamicDataSourceContextHolder.poll();
-
-        stockJournal.setWarehouseId(stockWaitDetailsDto.getWarehouseId());
-        stockJournal.setBusinessId(byId.getId());
-        //保存出入库记录
-        stockJournalService.save(stockJournal);
-        //操作库存
-        Stock stock = new Stock();
-        stock.setQuantity(stockWaitDetailsDto.getQuantity());
-        stock.setProductId(stockWaitDetails.getProductId());
-        //退货出库出次品库存
-        List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), 4, Arrays.asList(stock), stockWaitDetailsDto.getWarehouseId());
-        //保存出入库明细
-        stockJournalDetailsService.saveBatch(stockJournalDetailsList);
-
-
-        //创建物流数据
-        LogisticsInfos logisticsInfos = new LogisticsInfos();
-        logisticsInfos.setBusinessId(byId.getId());
-        logisticsInfos.setBusinessCode(byId.getBusinessCode());
-        logisticsInfos.setBusinessType(5);//采购退货
-        logisticsInfos.setLogisticsCompanyCode(stockWaitDetailsDto.getLogisticsCompanyCode());
-        logisticsInfos.setCode(stockWaitDetailsDto.getLogisticsCode());
-        logisticsInfos.setWarehouseId(stockWaitDetailsDto.getWarehouseId());
-        logisticsInfos.setIsKd100(0);
-        logisticsInfosService.save(logisticsInfos);
-
-        LogisticsDetails logisticsDetails = new LogisticsDetails();
-        logisticsDetails.setLogisticsInfoId(logisticsInfos.getId());
-        logisticsDetails.setLogisticsInfoCode(logisticsInfos.getCode());
-        logisticsDetails.setBusinessDetailsId(stockWaitDetailsDto.getId());
-        logisticsDetails.setReceiptQuantity(stockWaitDetailsDto.getQuantity());
-        logisticsDetailsService.save(logisticsDetails);
+        Assert.notEmpty(stockWaitDetails, "查询不到待出库明细信息");
+        StockWaitDto stockWaitDto = BeanUtil.copyProperties(stockWaitDetailsDto, StockWaitDto.class);
+        stockWaitDto.setId(stockWaitDetails.getStockWaitId());
+        stockWaitDto.setStockWaitDetailsList(Collections.singletonList(BeanUtil.copyProperties(stockWaitDetailsDto, StockWaitDetails.class)));
+        backOuts(stockWaitDto);
     }
 
     @DSTransactional

+ 61 - 53
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitDetailsServiceImpl.java

@@ -5,24 +5,25 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.utils.Assert;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDetailsSelectDto;
-import com.fjhx.wms.entity.stock.emums.StockWaitType;
-import com.fjhx.wms.entity.stock.po.*;
+import com.fjhx.wms.entity.stock.dto.StockWaitDto;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import com.fjhx.wms.entity.stock.vo.StockWaitDetailsVo;
 import com.fjhx.wms.mapper.stock.StockWaitDetailsMapper;
-import com.fjhx.wms.service.WmsService;
-import com.fjhx.wms.service.stock.*;
-import com.fjhx.wms.utils.CodeEnum;
+import com.fjhx.wms.service.stock.StockWaitDetailsService;
+import com.fjhx.wms.service.stock.StockWaitService;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 
@@ -40,16 +41,16 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
     private ProductInfoService productInfoService;
     @Autowired
     private StockWaitService stockWaitService;
-    @Autowired
-    private StockJournalService stockJournalService;
-    @Autowired
-    private StockJournalDetailsService stockJournalDetailsService;
-    @Autowired
-    private StockService stockService;
-    @Autowired
-    private WmsService wmsService;
-    @Autowired
-    private StockFrozenService stockFrozenService;
+//    @Autowired
+//    private StockJournalService stockJournalService;
+//    @Autowired
+//    private StockJournalDetailsService stockJournalDetailsService;
+//    @Autowired
+//    private StockService stockService;
+//    @Autowired
+//    private WmsService wmsService;
+//    @Autowired
+//    private StockFrozenService stockFrozenService;
 
     @Override
     public Page<StockWaitDetailsVo> getPage(StockWaitDetailsSelectDto dto) {
@@ -92,7 +93,6 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
         }
         result.setBusinessType(stockWait.getBusinessType());
         result.setBusinessCode(stockWait.getBusinessCode());
-        ;
         ProductInfo byId = productInfoService.getById(StockWaitDetails.getProductId());
         if (ObjectUtil.isEmpty(byId)) {
             throw new ServiceException("无法查询到产品信息,产品id" + StockWaitDetails.getProductId());
@@ -104,42 +104,50 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
     @Override
     @DSTransactional
     public void add(StockWaitDetailsDto stockWaitDetailsDto) {
-        //修改待出库状态
-        changeStockWaitStatus(stockWaitDetailsDto);
-        StockWaitDetails stockWaitDetails = getById(stockWaitDetailsDto.getId());
-        StockWait byId = stockWaitService.getById(stockWaitDetails.getStockWaitId());
-        Integer businessType = byId.getBusinessType();
-
-        if (StockWaitType.SALE_ORDER_OUT.getDetailType().equals(businessType)) {
-            //销售订单出库
-            wmsService.outbound(stockWaitDetailsDto);
-        }
-        if (StockWaitType.PRODUCTION_TASK_OUT.getDetailType().equals(businessType)) {
-            //生产任务待出库
-            //减少冻结库存
-            StockFrozen stockFrozen = stockFrozenService.getOne(q -> q.eq(StockFrozen::getProductId, stockWaitDetails.getProductId()));
-            BigDecimal subtract = stockFrozen.getFrozenQuantity().subtract(stockWaitDetailsDto.getQuantity());
-            stockFrozen.setFrozenQuantity(subtract);
-            stockFrozenService.updateById(stockFrozen);
-        }
+//        //修改待出库状态
+//        changeStockWaitStatus(stockWaitDetailsDto);
+//        StockWaitDetails stockWaitDetails = getById(stockWaitDetailsDto.getId());
+//        StockWait byId = stockWaitService.getById(stockWaitDetails.getStockWaitId());
+//        Integer businessType = byId.getBusinessType();
+//
+//        if (StockWaitType.SALE_ORDER_OUT.getDetailType().equals(businessType)) {
+//            //销售订单出库
+//            wmsService.outbound(stockWaitDetailsDto);
+//        }
+//        if (StockWaitType.PRODUCTION_TASK_OUT.getDetailType().equals(businessType)) {
+//            //生产任务待出库
+//            //减少冻结库存
+//            StockFrozen stockFrozen = stockFrozenService.getOne(q -> q.eq(StockFrozen::getProductId, stockWaitDetails.getProductId()));
+//            BigDecimal subtract = stockFrozen.getFrozenQuantity().subtract(stockWaitDetailsDto.getQuantity());
+//            stockFrozen.setFrozenQuantity(subtract);
+//            stockFrozenService.updateById(stockFrozen);
+//        }
+//
+//        //创建出入库记录
+//        StockJournal stockJournal = new StockJournal();
+//        stockJournal.setOpType(byId.getType());
+//        //根据待入库业务类型创建待出入库记录
+//        stockJournal.setType(stockWaitService.getStockJournalType(businessType));
+//        stockJournal.setCode(byId.getType() == 1 ? CodeEnum.SIN_CODE.getCode() : CodeEnum.SOUT_CODE.getCode());
+//        stockJournal.setWarehouseId(stockWaitDetailsDto.getWarehouseId());
+//        stockJournal.setBusinessId(byId.getId());
+//        //保存出入库记录
+//        stockJournalService.save(stockJournal);
+//        //操作库存
+//        Stock stock = new Stock();
+//        stock.setQuantity(stockWaitDetailsDto.getQuantity());
+//        stock.setProductId(stockWaitDetails.getProductId());
+//        List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), byId.getType(), Arrays.asList(stock), stockWaitDetailsDto.getWarehouseId());
+//        //保存出入库明细
+//        stockJournalDetailsService.saveBatch(stockJournalDetailsList);
 
-        //创建出入库记录
-        StockJournal stockJournal = new StockJournal();
-        stockJournal.setOpType(byId.getType());
-        //根据待入库业务类型创建待出入库记录
-        stockJournal.setType(stockWaitService.getStockJournalType(businessType));
-        stockJournal.setCode(byId.getType() == 1 ? CodeEnum.SIN_CODE.getCode() : CodeEnum.SOUT_CODE.getCode());
-        stockJournal.setWarehouseId(stockWaitDetailsDto.getWarehouseId());
-        stockJournal.setBusinessId(byId.getId());
-        //保存出入库记录
-        stockJournalService.save(stockJournal);
-        //操作库存
-        Stock stock = new Stock();
-        stock.setQuantity(stockWaitDetailsDto.getQuantity());
-        stock.setProductId(stockWaitDetails.getProductId());
-        List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), byId.getType(), Arrays.asList(stock), stockWaitDetailsDto.getWarehouseId());
-        //保存出入库明细
-        stockJournalDetailsService.saveBatch(stockJournalDetailsList);
+        //优化
+        StockWaitDetails stockWaitDetails = this.getById(stockWaitDetailsDto.getId());
+        Assert.notEmpty(stockWaitDetails, "查询不到待出库明细信息");
+        StockWaitDto stockWaitDto = BeanUtil.copyProperties(stockWaitDetailsDto, StockWaitDto.class);
+        stockWaitDto.setId(stockWaitDetails.getStockWaitId());
+        stockWaitDto.setStockWaitDetailsList(Collections.singletonList(BeanUtil.copyProperties(stockWaitDetailsDto, StockWaitDetails.class)));
+        stockWaitService.addByWdly(stockWaitDto);
     }
 
 
@@ -161,7 +169,7 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
         }
         updateById(stockWaitDetails);
         //更新待出库记录状态
-        Integer statusFlag = 0;
+        int statusFlag = 0;
         List<StockWaitDetails> stockWaitDetailsList = list(q -> q.eq(StockWaitDetails::getStockWaitId, stockWaitDetails.getStockWaitId()));
         for (StockWaitDetails waitDetails : stockWaitDetailsList) {
             //计算已经完全出库的数量

+ 3 - 5
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -136,7 +136,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
             }
             JSONObject json = JSONObject.parseObject(victoriatouristJson);
             json.put("receiptWarehouseName", warehousesMap.get(json.getLong("receiptWarehouseId")));
-            stockWaitVo.setVictoriatouristJson(JSONObject.toJSONString(json,JSONWriter.Feature.WriteLongAsString));
+            stockWaitVo.setVictoriatouristJson(JSONObject.toJSONString(json, JSONWriter.Feature.WriteLongAsString));
         }
 
         return page;
@@ -210,7 +210,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         List<StockWaitDetails> stockWaitDetailss = stockWaitDetailsService.listByIds(dids);
 
         //已经完全入库数量统计
-        Integer statusFlag = 0;
+        int statusFlag = 0;
         for (StockWaitDetails stockWaitDetail : stockWaitDetailss) {
             StockWaitDetails temp = stockWaitDetailsMap.get(stockWaitDetail.getId());
             //更新已入库数量
@@ -233,7 +233,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         String victoriatouristJson = stockWait.getVictoriatouristJson();
         JSONObject json = ObjectUtil.isNotEmpty(victoriatouristJson) ? JSONObject.parseObject(victoriatouristJson) : new JSONObject();
         json.put("receiptWarehouseId", stockWaitDto.getWarehouseId());
-        stockWait.setVictoriatouristJson(JSONObject.toJSONString(json,JSONWriter.Feature.WriteLongAsString));
+        stockWait.setVictoriatouristJson(JSONObject.toJSONString(json, JSONWriter.Feature.WriteLongAsString));
         updateById(stockWait);
 
         //操作库存
@@ -310,8 +310,6 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
 
     /**
      * 根据待出入库业务类型获取对应的出入库记录类型
-     *
-     * @return
      */
     @Override
     public Integer getStockJournalType(int businessType) {